Пример #1
0
        public override void Action(CharacterBase character, SceneBattle battle)
        {
            if (character.waittime == 3)
            {
                this.sound.PlaySE(SoundEffect.sword);
            }
            character.animationpoint = CharacterAnimation.SworsAnimation(character.waittime);
            if (character.waittime >= 30)
            {
                base.Action(character, battle);
            }
            if (character.waittime != 10)
            {
                return;
            }
            int  num  = this.power + this.pluspower;
            bool flag = false;

            if (character is Player && ((Player)character).style == Player.STYLE.shinobi)
            {
                flag = true;
            }
            FighterSword fighterSword = new FighterSword(this.sound, character.parent, character.position.X + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character), 3, this.element);

            fighterSword.breaking = true;
            character.parent.attacks.Add(this.Paralyze(fighterSword, character));
        }
Пример #2
0
        public override void Action(CharacterBase character, SceneBattle battle)
        {
            if (!this.BlackOut(character, battle, this.name, this.Power(character).ToString()))
            {
                return;
            }
            if (character is Player)
            {
                Player player = (Player)character;
                if (this.nowmotion == 0 && this.frame < 3 && (Input.IsPush(Button._A) && this.command == 0) && this.commandTime < 60)
                {
                    this.CommandInput("上下左右B", player);
                    if (this.CommandCheck("下左上右下"))
                    {
                        this.command = 4;
                    }
                    else if (this.CommandCheck("左B右B"))
                    {
                        this.command = 5;
                    }
                }
            }
            if (this.moveflame)
            {
                switch (this.nowmotion)
                {
                case 0:
                    this.animePoint.X = this.AnimeMove(this.frame).X;
                    switch (this.frame)
                    {
                    case 1:
                        character.animationpoint.X = -1;
                        this.xPosition             = character.position.X;
                        this.sound.PlaySE(SoundEffect.warp);
                        break;

                    case 2:
                        if (character is Player && (Input.IsPush(Button._A) && this.command == 0 && this.commandTime < 60))
                        {
                            this.frame = 1;
                            break;
                        }
                        break;

                    case 3:
                        if (this.CommandCheck("下左上右下"))
                        {
                            this.sound.PlaySE(SoundEffect.CommandSuccess);
                            this.command = 4;
                        }
                        else if (this.CommandCheck("左B右B"))
                        {
                            this.sound.PlaySE(SoundEffect.CommandSuccess);
                            this.command = 5;
                        }
                        if (this.command == 5)
                        {
                            this.xPosition = character.position.X;
                            ++this.nowmotion;
                            this.frame = 0;
                            break;
                        }
                        break;

                    case 5:
                        this.xPosition = this.TargetX(character, battle);
                        if (this.xPosition < 0)
                        {
                            this.xPosition = 0;
                        }
                        if (this.xPosition > 5)
                        {
                            this.xPosition = 5;
                            break;
                        }
                        break;

                    case 9:
                        ++this.nowmotion;
                        this.frame = 0;
                        break;
                    }
                    break;

                case 1:
                    this.animePoint.X = this.AnimeSlash1(this.frame).X;
                    switch (this.frame)
                    {
                    case 5:
                        if (character is Player && this.command == 0)
                        {
                            Player player = (Player)character;
                            if (Input.IsPush(Button.Right))
                            {
                                this.sound.PlaySE(SoundEffect.CommandSuccess);
                                this.command = 1;
                            }
                            else if (Input.IsPush(Button.Up))
                            {
                                this.sound.PlaySE(SoundEffect.CommandSuccess);
                                this.command = 2;
                            }
                            else if (Input.IsPush(Button.Left))
                            {
                                this.sound.PlaySE(SoundEffect.CommandSuccess);
                                this.command = 3;
                            }
                            break;
                        }
                        break;

                    case 6:
                        this.sound.PlaySE(SoundEffect.sword);
                        AttackBase a1 = new SwordAttack(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character), 4, this.element, false, false);
                        switch (this.command)
                        {
                        case 1:
                            a1 = new FighterSword(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character), 4, this.element);
                            break;

                        case 2:
                            a1 = new SwordAttack(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character), 4, this.element, false, false);
                            break;

                        case 3:
                            a1 = new SwordCloss(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character) / 2, 4, this.element, false);
                            break;

                        case 4:
                            a1 = new Halberd(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character), 4, this.element, false);
                            break;

                        case 5:
                            a1 = new SonicBoom(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character), 8, this.element, false);
                            break;
                        }
                        a1.invincibility = false;
                        battle.attacks.Add(this.Paralyze(a1));
                        break;

                    case 10:
                        ++this.nowmotion;
                        this.frame = 0;
                        break;
                    }
                    break;

                case 2:
                    this.animePoint.X = this.AnimeSlash2(this.frame).X;
                    switch (this.frame)
                    {
                    case 6:
                        this.sound.PlaySE(SoundEffect.sword);
                        AttackBase a2 = new SwordAttack(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character), 4, this.element, false, false);
                        switch (this.command)
                        {
                        case 1:
                            a2 = new FighterSword(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character), 4, this.element);
                            break;

                        case 2:
                            a2 = new SwordAttack(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character), 4, this.element, false, false);
                            break;

                        case 3:
                            a2 = new SwordCloss(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character) / 2, 4, this.element, false);
                            break;

                        case 4:
                            a2 = new Halberd(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character), 4, this.element, false);
                            break;

                        case 5:
                            a2 = new SonicBoom(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character), 8, this.element, false);
                            break;
                        }
                        a2.invincibility = false;
                        battle.attacks.Add(this.Paralyze(a2));
                        break;

                    case 10:
                        ++this.nowmotion;
                        this.frame = 0;
                        break;
                    }
                    break;

                case 3:
                    this.animePoint.X = this.AnimeSlash3(this.frame).X;
                    switch (this.frame)
                    {
                    case 6:
                        this.sound.PlaySE(SoundEffect.sword);
                        AttackBase a3 = new SwordCloss(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character) / 2, 4, this.element, false);
                        switch (this.command)
                        {
                        case 1:
                            a3 = new FighterSword(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character), 4, this.element);
                            break;

                        case 2:
                            a3 = new SwordAttack(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character), 4, this.element, false, false);
                            break;

                        case 3:
                            a3 = new SwordCloss(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character) / 2, 4, this.element, false);
                            break;

                        case 4:
                            a3 = new Halberd(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character), 4, this.element, false);
                            break;

                        case 5:
                            a3 = new SonicBoom(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character), 8, this.element, false);
                            break;
                        }
                        a3.invincibility = false;
                        battle.attacks.Add(this.Paralyze(a3));
                        break;

                    case 10:
                        ++this.nowmotion;
                        this.frame = 0;
                        break;
                    }
                    break;

                case 4:
                    this.animePoint.X = this.AnimeSlash2(this.frame).X;
                    switch (this.frame)
                    {
                    case 6:
                        this.sound.PlaySE(SoundEffect.sword);
                        AttackBase a4 = new Halberd(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character), 4, this.element, false);
                        switch (this.command)
                        {
                        case 1:
                            a4 = new FighterSword(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character), 4, this.element);
                            break;

                        case 2:
                            a4 = new SwordAttack(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character), 4, this.element, false, false);
                            break;

                        case 3:
                            a4 = new SwordCloss(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character) / 2, 4, this.element, false);
                            break;

                        case 4:
                            a4 = new Halberd(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character), 4, this.element, false);
                            break;

                        case 5:
                            a4 = new SonicBoom(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character), 8, this.element, false);
                            break;
                        }
                        a4.invincibility = false;
                        battle.attacks.Add(this.Paralyze(a4));
                        break;

                    case 10:
                        ++this.nowmotion;
                        this.frame = 0;
                        break;
                    }
                    break;

                case 5:
                    this.animePoint.X = this.AnimeSlash1(this.frame).X;
                    switch (this.frame)
                    {
                    case 6:
                        this.sound.PlaySE(SoundEffect.sword);
                        AttackBase a5 = new SonicBoom(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character), 8, this.element, true);
                        switch (this.command)
                        {
                        case 1:
                            a5 = new FighterSword(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character), 4, this.element);
                            break;

                        case 2:
                            a5 = new SwordAttack(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character), 4, this.element, false, false);
                            break;

                        case 3:
                            a5 = new SwordCloss(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character) / 2, 4, this.element, false);
                            break;

                        case 4:
                            a5 = new Halberd(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character), 4, this.element, false);
                            break;

                        case 5:
                            a5 = new SonicBoom(this.sound, battle, this.xPosition + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character), 8, this.element, false);
                            break;
                        }
                        a5.invincibility = true;
                        battle.attacks.Add(this.Paralyze(a5));
                        break;

                    case 30:
                        character.parent.effects.Add(new MoveEnemy(this.sound, character.parent, this.xPosition, character.position.Y));
                        this.end = true;
                        ++this.nowmotion;
                        this.frame = 0;
                        break;
                    }
                    break;
                }
            }
            if (this.end && this.BlackOutEnd(character, battle))
            {
                base.Action(character, battle);
            }
            this.FlameControl(2);
        }
Пример #3
0
        public override void Action(CharacterBase character, SceneBattle battle)
        {
            if (!this.BlackOut(character, battle, this.name, this.Power(character).ToString()))
            {
                return;
            }
            if (this.end)
            {
                this.animePoint.X = -1;
                if (this.BlackOutEnd(character, battle))
                {
                    base.Action(character, battle);
                }
            }
            else if (this.targetNow < 0)
            {
                if (this.moveflame)
                {
                    this.animePoint = this.Anime(this.frame);
                    switch (this.frame)
                    {
                    case 1:
                        this.beast = true;
                        this.posi  = character.position;
                        character.animationpoint.X = -1;
                        break;

                    case 10:
                        battle.effects.Add(new Charge(this.sound, battle, character.position.X, character.position.Y + 1));
                        break;

                    case 26:
                        this.targetNow = 1;
                        this.frame     = 0;
                        break;
                    }
                }
            }
            else
            {
                switch (this.targetNow)
                {
                case 1:
                    this.animePoint = this.AnimeWideBO(this.frame);
                    if (this.moveflame)
                    {
                        switch (this.frame)
                        {
                        case 2:
                            this.ShakeStart(8, 8);
                            this.sound.PlaySE(SoundEffect.shotwave);
                            this.sound.PlaySE(SoundEffect.breakObject);
                            AttackBase a = new SwordAttack(this.sound, battle, this.posi.X + 2 * this.UnionRebirth(character.union), this.posi.Y, character.union, this.Power(character), 3, this.element, false, false);
                            battle.attacks.Add(this.Paralyze(a));
                            break;

                        case 6:
                            this.frame = 0;
                            ++this.targetNow;
                            break;
                        }
                        break;
                    }
                    break;

                case 2:
                    this.animePoint = this.AnimeLongBO(this.frame);
                    if (this.moveflame)
                    {
                        switch (this.frame)
                        {
                        case 2:
                            this.ShakeStart(8, 8);
                            this.sound.PlaySE(SoundEffect.shotwave);
                            this.sound.PlaySE(SoundEffect.breakObject);
                            AttackBase a = new FighterSword(this.sound, battle, this.posi.X + this.UnionRebirth(character.union), this.posi.Y, character.union, this.Power(character), 3, this.element);
                            battle.attacks.Add(this.Paralyze(a));
                            break;

                        case 12:
                            this.frame = 0;
                            ++this.targetNow;
                            break;
                        }
                        break;
                    }
                    break;

                case 3:
                    this.end = true;
                    break;
                }
            }
            this.FlameControl(3);
        }