Esempio n. 1
0
        protected override void update_phase_1()
        {
            base.update_phase_1();
            switch (Segment)
            {
            case 0:
                Battler_1_Sprite.class_change_start();
                darken();
                Segment = 1;
                break;

            case 1:
                if (Battler_1_Sprite.duration <= 1 && Battler_1_Sprite.spell_effect_duration <= 1)
                {
                    OldClass = Battler_1.actor.class_id;
                    OldLevel = Battler_1.actor.level;
                    Battler_1.actor.promotion_class_id = Global.game_system.Class_Change_To;
                    var battler1Data = new BattlerSpriteData(Battler_1);
                    Battler_1_Sprite = new Battler_Sprite(battler1Data, !Reverse, Distance, Reverse);
                    Battler_1_Sprite.start_battle();
                    Battler_1_Sprite.loc = Battler_1_Loc = new Vector2((!Reverse ? 184 + (Distance == 1 ? 0 : 56) :
                                                                        136 - (Distance == 1 ? 0 : 56)) +
                                                                       (Distance > 2 ? (Reverse ? -270 : 270) : 0), 176);
                    Battler_1_Sprite.reset_pose();
                    Battler_1_Sprite.update_animation_position();
                    Battler_1_Sprite.visible = true;
                    Battler_1_Sprite.class_change_end();
                    Battler_1_Sprite.stereoscopic = Config.BATTLE_BATTLERS_DEPTH;
                    Segment = 2;
                }
                break;

            case 2:
                if (Battler_1_Sprite.duration >= 163)
                {
                    brighten();
                }
                if (Battler_1_Sprite.duration <= 1 && Battler_1_Sprite.spell_effect_duration <= 1)
                {
                    Segment = 3;
                }
                break;

            case 3:
                switch (Timer)
                {
                case 104:
                    Phase   = 2;
                    Segment = 0;
                    Timer   = 0;
                    break;

                default:
                    Timer++;
                    break;
                }
                break;
            }
            // Updates screen flash
            Battler_1_Sprite.update_flash();
            update_spell_flash(Battler_1_Sprite);
        }