Exemplo n.º 1
0
 public override void Action(CharacterBase character, SceneBattle battle)
 {
     if (character.waittime == 2)
     {
         character.animationpoint = new Point(5, 0);
         this.count = 1;
     }
     if ((character.waittime - 6) % 9 == 0)
     {
         character.animationpoint = new Point(6, 0);
     }
     if ((character.waittime - 11) % 9 == 0)
     {
         character.animationpoint = new Point(5, 0);
     }
     if (character.waittime == 6 || character.waittime == 15 || character.waittime == 24)
     {
         character.animationpoint = new Point(6, 0);
         this.sound.PlaySE(SoundEffect.fire);
         AttackBase a = new ElementFire(this.sound, character.parent, character.position.X + this.count * this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character), 6, this.element, true, 0);
         a.positionDirect.X -= 48 * this.UnionRebirth(character.union);
         a.breaking          = true;
         a.invincibility     = false;
         character.parent.attacks.Add(this.Paralyze(a));
         ++this.count;
     }
     if (character.waittime != 56)
     {
         return;
     }
     character.animationpoint = new Point(0, 0);
     base.Action(character, battle);
 }
Exemplo n.º 2
0
 public override void Action()
 {
     this.player.animationpoint = this.MoveAnimation(this.player.waittime);
     if (this.player.waittime == 1)
     {
         this.count = 1;
     }
     if (this.player.waittime == 16 || this.player.waittime == 25 || this.player.waittime == 34)
     {
         this.sound.PlaySE(SoundEffect.fire);
         AttackBase attackBase = new ElementFire(this.sound, this.player.parent, this.player.position.X + this.count * this.player.UnionRebirth, this.player.position.Y, this.player.union, this.Power, 6, this.player.Element, false, 0);
         attackBase.positionDirect.X -= 48 * this.player.UnionRebirth;
         attackBase.canCounter        = false;
         this.player.parent.attacks.Add(attackBase);
         ++this.count;
     }
     if (this.player.waittime != 66)
     {
         return;
     }
     this.count = 1;
     this.End();
     this.player.animationpoint = new Point(0, 0);
     this.player.motion         = Player.PLAYERMOTION._neutral;
 }
Exemplo n.º 3
0
 //CTがかかるが全体攻撃
 void Start()
 {
     phaseCost              = 1;
     stockCost              = 1;
     animationDur           = 210;
     targetType             = 'e';
     selectType             = TargetType.ALL;
     elementalAff           = new ElementFire(Element.FIRE);
     effectObj              = (GameObject)Resources.Load("Skills/Iska_S2");
     parameters.attackPower = 1.2f;
     spriteData             = new SpriteData("21");
 }
Exemplo n.º 4
0
 //CT最長、威力最大の単体必殺技
 void Start()
 {
     phaseCost              = 3;
     cutIn                  = 2;
     stockCost              = 3;
     animationDur           = 550;   //550;
     targetType             = 'e';
     selectType             = TargetType.ALL;
     elementalAff           = new ElementFire(Element.FIRE);
     effectObj              = (GameObject)Resources.Load("Skills/Iska_SP");
     ultimate               = true;
     parameters.attackPower = 2.3f;
 }
Exemplo n.º 5
0
        protected override void Moving()
        {
            if (!this.dammyInit)
            {
                this.dammyInit     = true;
                this.dammyEnemy[0] = new DammyEnemy(this.sound, this.parent, this.UnionRebirth, 0, this, true);
                this.dammyEnemy[1] = new DammyEnemy(this.sound, this.parent, -1 * this.UnionRebirth, 0, this, false);
                this.parent.enemys.Add(this.dammyEnemy[0]);
                this.parent.enemys.Add(this.dammyEnemy[1]);
                this.dammyEnemy[0].nohit  = true;
                this.dammyEnemy[0].noslip = true;
                this.dammyEnemy[1].noslip = true;
            }
            this.neutlal = this.motion == Juraigon.MOTION.neutral;
            if (this.moveflame)
            {
                this.positionre = this.position;
                switch (this.motion)
                {
                case Juraigon.MOTION.neutral:
                    this.animationpoint = this.AnimeNeutral(this.frame);
                    if (this.frame >= 7)
                    {
                        this.frame = 0;
                        ++this.roopneutral;
                        if (this.roopneutral >= 2 && !this.badstatus[4] && this.parent.nowscene != SceneBattle.BATTLESCENE.end)
                        {
                            this.frame         = 0;
                            this.counterTiming = true;
                            if (this.version > 0)
                            {
                                this.motion = Juraigon.MOTION.attack;
                            }
                            else
                            {
                                int num = this.Random.Next(3);
                                this.speed = 3;
                                switch (num)
                                {
                                case 0:
                                    this.motion = Juraigon.MOTION.attack;
                                    break;

                                case 1:
                                    this.breathMode = true;
                                    this.sound.PlaySE(SoundEffect.dragonVoice);
                                    this.motion = Juraigon.MOTION.attack3;
                                    break;

                                case 2:
                                    this.motion = Juraigon.MOTION.attack4;
                                    break;
                                }
                            }
                        }
                        else
                        {
                            ++this.roop;
                        }
                        this.frame = 0;
                        break;
                    }
                    break;

                case Juraigon.MOTION.move:
                    this.animationpoint = this.AnimeNeutral(this.frame);
                    this.MoveRandom(false, this.breathMode);
                    if (this.position == this.positionre)
                    {
                        this.frame       = 0;
                        this.roopneutral = 0;
                    }
                    else
                    {
                        this.parent.effects.Add(new MoveEnemy(this.sound, this.parent, this.position.X, this.position.Y));
                        this.position = this.positionre;
                        this.PositionDirectSet();
                        this.frame       = 0;
                        this.roopneutral = 0;
                    }
                    this.motion = !this.breathMode ? Juraigon.MOTION.neutral : Juraigon.MOTION.attack3;
                    break;

                case Juraigon.MOTION.attack:
                    this.animationpoint.X = this.AnimeAttack1(this.frame).X;
                    if (this.frame == 4)
                    {
                        this.frame         = 0;
                        this.speed         = 4;
                        this.guard         = CharacterBase.GUARD.none;
                        this.counterTiming = false;
                        this.motion        = Juraigon.MOTION.attack2;
                        break;
                    }
                    break;

                case Juraigon.MOTION.attack2:
                    this.animationpoint.X = this.AnimeAttack2(this.frame % 2).X;
                    int num1 = 8;
                    this.wideBreathTicks++;
                    switch (this.wideBreathTicks)
                    {
                    case 1:
                        this.counterTiming           = false;
                        this.dammyEnemy[0].nohit     = false;
                        this.dammyEnemy[0].effecting = false;
                        break;

                    case 8:
                        this.sound.PlaySE(SoundEffect.quake);
                        var attackBase1 = new ElementFire(this.sound, this.parent, this.position.X + 2 * this.UnionRebirth, this.position.Y, this.union, this.Power, 18, this.element, false, 1);
                        attackBase1.positionDirect.Y += num1;
                        this.parent.attacks.Add(attackBase1);
                        this.fireBreath.Add(attackBase1);
                        break;

                    case 11:
                        this.sound.PlaySE(SoundEffect.quake);
                        int num2        = 3;
                        var attackBase2 = new ElementFire(this.sound, this.parent, this.position.X + num2 * this.UnionRebirth, this.position.Y - 1, this.union, this.Power, 18, this.element, false, 1);

                        attackBase2.positionDirect.Y += num1;
                        this.parent.attacks.Add(attackBase2);
                        var attackBase3 = new ElementFire(this.sound, this.parent, this.position.X + num2 * this.UnionRebirth, this.position.Y, this.union, this.Power, 18, this.element, false, 1);
                        attackBase3.positionDirect.Y += num1;
                        this.parent.attacks.Add(attackBase3);
                        var attackBase4 = new ElementFire(this.sound, this.parent, this.position.X + num2 * this.UnionRebirth, this.position.Y + 1, this.union, this.Power, 18, this.element, false, 1);
                        attackBase4.positionDirect.Y += num1;
                        this.parent.attacks.Add(attackBase4);
                        this.fireBreath.Add(attackBase2);
                        this.fireBreath.Add(attackBase3);
                        this.fireBreath.Add(attackBase4);
                        break;

                    case 14:
                        this.sound.PlaySE(SoundEffect.quake);
                        int num3        = 4;
                        var attackBase5 = new ElementFire(this.sound, this.parent, this.position.X + num3 * this.UnionRebirth, this.position.Y - 1, this.union, this.Power, 18, this.element, false, 1);
                        attackBase5.positionDirect.Y += num1;
                        this.parent.attacks.Add(attackBase5);
                        var attackBase6 = new ElementFire(this.sound, this.parent, this.position.X + num3 * this.UnionRebirth, this.position.Y, this.union, this.Power, 18, this.element, false, 1);
                        attackBase6.positionDirect.Y += num1;
                        this.parent.attacks.Add(attackBase6);
                        var attackBase7 = new ElementFire(this.sound, this.parent, this.position.X + num3 * this.UnionRebirth, this.position.Y + 1, this.union, this.Power, 18, this.element, false, 1);
                        attackBase7.positionDirect.Y += num1;
                        this.parent.attacks.Add(attackBase7);
                        this.fireBreath.Add(attackBase5);
                        this.fireBreath.Add(attackBase6);
                        this.fireBreath.Add(attackBase7);
                        break;
                    }
                    if (this.frame >= 60)
                    {
                        this.wideBreathTicks         = 0;
                        this.frame                   = 0;
                        this.dammyEnemy[0].nohit     = true;
                        this.dammyEnemy[0].effecting = true;
                        this.motion                  = Juraigon.MOTION.move;
                        this.speed                   = this.nspeed;
                        this.fireBreath.Clear();
                        this.waittime = 0;
                    }
                    break;

                case Juraigon.MOTION.attack3:
                    Point point1;
                    if (this.frame < 6)
                    {
                        ref Point local = ref this.animationpoint;
                        point1 = this.AnimeAttack3(this.frame);
                        int x = point1.X;
                        local.X = x;
                    }
                    else
                    {
                        this.animationpoint.X = this.AnimeAttack2(this.frame % 2).X;
                    }
                    switch (this.frame)
                    {
                    case 4:
                        this.counterTiming           = false;
                        this.dammyEnemy[0].nohit     = false;
                        this.dammyEnemy[0].effecting = false;
                        break;

                    case 12:
                        point1 = this.RandomTarget();
                        int        x1          = point1.X;
                        int        num4        = 2;
                        int        num5        = 8;
                        AttackBase attackBase8 = new FireBreath(this.sound, this.parent, this.position.X + num4 * this.UnionRebirth, this.position.Y, this.union, this.Power, 2, this.element, x1);
                        attackBase8.positionDirect.Y += num5;
                        this.parent.attacks.Add(attackBase8);
                        break;

                    case 16:
                        if (this.breathCount < 3)
                        {
                            this.frame = 0;
                            this.dammyEnemy[0].nohit     = true;
                            this.dammyEnemy[0].effecting = true;
                            ++this.breathCount;
                            this.motion = Juraigon.MOTION.move;
                            break;
                        }
                        break;

                    case 40:
                        this.motion = Juraigon.MOTION.move;
                        this.frame  = 0;
                        this.dammyEnemy[0].nohit     = true;
                        this.dammyEnemy[0].effecting = true;
                        this.breathCount             = 0;
                        this.breathMode = false;
                        break;
                    }
                    break;
Exemplo n.º 6
0
        protected override void Moving()
        {
            this.neutlal = this.Motion == NaviBase.MOTION.neutral;
            if (this.noneBurnerCount >= 6 && this.burner.Count < 2)
            {
                Point       point       = this.RandomPanel(this.union);
                StandBurner standBurner = new StandBurner(this.sound, this.parent, point.X, point.Y, this.powers[3], this.union);
                this.burner.Add(standBurner);
                this.parent.objects.Add(standBurner);
                if (this.burner.Count >= 2)
                {
                    this.noneBurnerCount = 0;
                }
            }
            this.burner.RemoveAll(b => !b.flag);
            switch (this.Motion)
            {
            case NaviBase.MOTION.neutral:
                if (this.moveflame)
                {
                    ++this.waittime;
                }
                if (this.moveflame)
                {
                    this.animationpoint = this.AnimeNeutral(this.waittime);
                    if (this.waittime >= 4)
                    {
                        this.waittime = 0;
                        ++this.roopneutral;
                        if (this.roopneutral >= 1 && this.parent.nowscene != SceneBattle.BATTLESCENE.end)
                        {
                            this.roopneutral = 0;
                            if (this.roopmove > this.moveroop && !this.badstatus[4])
                            {
                                ++this.atackroop;
                                this.roopmove = 0;
                                this.speed    = this.nspeed / 2;
                                int index = this.Random.Next(3);
                                this.attack    = (PyroMan.ATTACK)index;
                                this.powerPlus = this.powers[index];
                                this.waittime  = 0;
                                if (this.burner.Count < 2)
                                {
                                    ++this.noneBurnerCount;
                                }
                                this.Motion        = NaviBase.MOTION.attack;
                                this.counterTiming = true;
                            }
                            else
                            {
                                this.waittime = 0;
                                this.Motion   = NaviBase.MOTION.move;
                            }
                        }
                    }
                    break;
                }
                break;

            case NaviBase.MOTION.attack:
                if (this.moveflame)
                {
                    ++this.waittime;
                }
                if (this.moveflame)
                {
                    switch (this.attack)
                    {
                    case PyroMan.ATTACK.pyroBlaze:
                        if (!this.mothion2)
                        {
                            this.animationpoint = this.AnimeBreath1(this.waittime);
                            switch (this.waittime)
                            {
                            case 1:
                                this.counterTiming = false;
                                break;

                            case 5:
                                this.counterTiming = true;
                                break;

                            case 7:
                                this.x = 0;
                                ++this.x;
                                this.counterTiming = false;
                                this.mothion2      = true;
                                this.waittime      = 0;
                                break;
                            }
                        }
                        else
                        {
                            this.animationpoint = this.AnimeBreath2(this.waittime);
                            int num = 0;
                            switch (this.waittime)
                            {
                            case 1:
                                this.sound.PlaySE(SoundEffect.fire);
                                ElementFire elementFire1 = new ElementFire(this.sound, this.parent, this.position.X + this.x * this.UnionRebirth(this.union), 0, this.union, this.Power, 0, ChipBase.ELEMENT.heat, false, 1);
                                elementFire1.positionDirect.Y += num;
                                this.parent.attacks.Add(elementFire1);
                                ElementFire elementFire2 = new ElementFire(this.sound, this.parent, this.position.X + this.x * this.UnionRebirth(this.union), 1, this.union, this.Power, 0, ChipBase.ELEMENT.heat, false, 1);
                                elementFire2.positionDirect.Y += num;
                                this.parent.attacks.Add(elementFire2);
                                this.parent.attacks.Add(new ElementFire(this.sound, this.parent, this.position.X + this.x * this.UnionRebirth(this.union), 2, this.union, this.Power, 0, ChipBase.ELEMENT.heat, false, 1));
                                break;

                            case 8:
                                ++this.x;
                                if (this.position.X + this.x * this.UnionRebirth(this.union) < 0 || this.position.X + this.x * this.UnionRebirth(this.union) > 5)
                                {
                                    this.Motion   = NaviBase.MOTION.move;
                                    this.frame    = 0;
                                    this.waittime = 0;
                                    this.mothion2 = false;
                                    this.speed    = this.nspeed;
                                }
                                this.waittime = 0;
                                break;
                            }
                            break;
                        }
                        break;

                    case PyroMan.ATTACK.frameShooter:
                        this.animationpoint = this.AnimeArm(this.waittime);
                        switch (this.waittime)
                        {
                        case 5:
                            this.counterTiming = false;
                            break;

                        case 10:
                            this.parent.attacks.Add(new FireBreath(this.sound, this.parent, this.position.X + this.UnionRebirth(this.union), this.position.Y, this.union, this.Power, 2, this.element, this.RandomTarget().X));
                            break;

                        case 20:
                            this.counterTiming = false;
                            this.roopneutral   = 0;
                            this.waittime      = 0;
                            if (this.speed < 5)
                            {
                                this.speed = 5;
                            }
                            this.Motion = NaviBase.MOTION.neutral;
                            this.speed  = this.nspeed;
                            break;
                        }
                        break;

                    case PyroMan.ATTACK.footBurner:
                        this.animationpoint = this.AnimeFoot(this.waittime);
                        switch (this.waittime)
                        {
                        case 5:
                            this.counterTiming = false;
                            this.posi.Clear();
                            break;

                        case 11:
                            for (int index = 0; index < 3; ++index)
                            {
                                Point point = this.RandomPanel(this.UnionEnemy);
                                this.posi.Add(point);
                                this.parent.attacks.Add(new Dummy(this.sound, this.parent, point.X, point.Y, this.union, new Point(), 30, true));
                            }
                            break;

                        case 26:
                            this.sound.PlaySE(SoundEffect.quake);
                            Point point1;
                            for (int index = 0; index < this.posi.Count; ++index)
                            {
                                IAudioEngine sound  = this.sound;
                                SceneBattle  parent = this.parent;
                                point1 = this.posi[index];
                                int x = point1.X;
                                point1 = this.posi[index];
                                int y       = point1.Y;
                                int union   = (int)this.union;
                                int power   = this.Power;
                                int element = (int)this.element;
                                this.parent.attacks.Add(new Tower(sound, parent, x, y, (Panel.COLOR)union, power, 999, (ChipBase.ELEMENT)element)
                                {
                                    make = true
                                });
                            }
                            this.posi.Clear();
                            for (int index = 0; index < 3; ++index)
                            {
                                Point point2 = this.RandomPanel(this.UnionEnemy);
                                this.posi.Add(point2);
                                List <AttackBase> attacks = this.parent.attacks;
                                IAudioEngine      sound   = this.sound;
                                SceneBattle       parent  = this.parent;
                                int x     = point2.X;
                                int y     = point2.Y;
                                int union = (int)this.union;
                                point1 = new Point();
                                Point hitrange = point1;
                                Dummy dummy    = new Dummy(sound, parent, x, y, (Panel.COLOR)union, hitrange, 30, true);
                                attacks.Add(dummy);
                            }
                            break;

                        case 41:
                            this.sound.PlaySE(SoundEffect.quake);
                            Point point3;
                            for (int index = 0; index < this.posi.Count; ++index)
                            {
                                IAudioEngine sound  = this.sound;
                                SceneBattle  parent = this.parent;
                                point3 = this.posi[index];
                                int x = point3.X;
                                point3 = this.posi[index];
                                int y       = point3.Y;
                                int union   = (int)this.union;
                                int power   = this.Power;
                                int element = (int)this.element;
                                this.parent.attacks.Add(new Tower(sound, parent, x, y, (Panel.COLOR)union, power, 999, (ChipBase.ELEMENT)element)
                                {
                                    make = true
                                });
                            }
                            this.posi.Clear();
                            for (int index = 0; index < 3; ++index)
                            {
                                Point point2 = this.RandomPanel(this.UnionEnemy);
                                this.posi.Add(point2);
                                List <AttackBase> attacks = this.parent.attacks;
                                IAudioEngine      sound   = this.sound;
                                SceneBattle       parent  = this.parent;
                                int x     = point2.X;
                                int y     = point2.Y;
                                int union = (int)this.union;
                                point3 = new Point();
                                Point hitrange = point3;
                                Dummy dummy    = new Dummy(sound, parent, x, y, (Panel.COLOR)union, hitrange, 30, true);
                                attacks.Add(dummy);
                            }
                            break;

                        case 56:
                            this.sound.PlaySE(SoundEffect.quake);
                            for (int index = 0; index < this.posi.Count; ++index)
                            {
                                IAudioEngine sound  = this.sound;
                                SceneBattle  parent = this.parent;
                                Point        point2 = this.posi[index];
                                int          x      = point2.X;
                                point2 = this.posi[index];
                                int y       = point2.Y;
                                int union   = (int)this.union;
                                int power   = this.Power;
                                int element = (int)this.element;
                                this.parent.attacks.Add(new Tower(sound, parent, x, y, (Panel.COLOR)union, power, 999, (ChipBase.ELEMENT)element)
                                {
                                    make = true
                                });
                            }
                            this.posi.Clear();
                            break;

                        case 71:
                            this.counterTiming = false;
                            this.roopneutral   = 0;
                            this.waittime      = 0;
                            this.Motion        = NaviBase.MOTION.move;
                            this.speed         = this.nspeed;
                            break;
                        }
                        break;
                    }
                    break;
                }
                break;

            case NaviBase.MOTION.move:
                if (this.moveflame)
                {
                    ++this.waittime;
                }
                ++this.roopmove;
                this.animationpoint = this.AnimeNeutral(this.waittime);
                this.Motion         = NaviBase.MOTION.neutral;
                this.MoveRandom(false, false);
                if (this.position == this.positionre)
                {
                    this.Motion      = NaviBase.MOTION.neutral;
                    this.frame       = 0;
                    this.roopneutral = 0;
                    break;
                }
                this.parent.effects.Add(new MoveEnemy(this.sound, this.parent, this.position.X, this.position.Y));
                this.position = this.positionre;
                this.PositionDirectSet();
                this.frame       = 0;
                this.roopneutral = 0;
                break;

            case NaviBase.MOTION.knockback:
                switch (this.waittime)
                {
                case 2:
                    this.NockMotion();
                    this.counterTiming = false;
                    this.mothion2      = false;
                    this.effecting     = false;
                    this.PositionDirectSet();
                    break;

                case 3:
                    this.NockMotion();
                    break;

                case 15:
                    this.animationpoint = new Point(5, 0);
                    this.PositionDirectSet();
                    break;

                case 21:
                    this.animationpoint = new Point(0, 0);
                    this.waittime       = 0;
                    this.Motion         = NaviBase.MOTION.move;
                    break;
                }
                if (this.waittime >= 2 && this.waittime <= 6)
                {
                    this.positionDirect.X -= this.UnionRebirth(this.union);
                }
                ++this.waittime;
                break;
            }
            this.FlameControl();
            this.MoveAftar();
        }
Exemplo n.º 7
0
        protected override void Moving()
        {
            this.neutlal = this.Motion == NaviBase.MOTION.neutral;
            switch (this.Motion)
            {
            case NaviBase.MOTION.neutral:
                if (this.moveflame)
                {
                    ++this.waittime;
                }
                if (this.moveflame && (this.waittime >= 16 / version || this.spark))
                {
                    this.waittime = 0;
                    ++this.roopneutral;
                    this.animationpoint = this.AnimeNeutral(this.waittime);
                    if (this.roopneutral >= 1 && this.parent.nowscene != SceneBattle.BATTLESCENE.end)
                    {
                        this.roopneutral = 0;
                        if (this.roopmove > this.moveroop && !this.badstatus[4])
                        {
                            this.frame    = 0;
                            this.roopmove = 0;
                            ++this.attackroop;
                            this.waittime = 0;
                            this.ready    = false;
                            if (this.spark)
                            {
                                this.attack = SpannerMan.ATTACK.SparkArm;
                                this.speed  = this.nspeed;
                            }
                            else
                            {
                                this.attack = (SpannerMan.ATTACK) this.pattern[this.action];
                            }
                            this.powerPlus = this.powers[this.pattern[this.action]];
                            ++this.action;
                            if (this.action >= this.pattern.Length)
                            {
                                this.action = 0;
                            }
                            this.Motion        = NaviBase.MOTION.attack;
                            this.counterTiming = true;
                        }
                        else
                        {
                            this.frame    = 0;
                            this.waittime = 0;
                            this.roopmove = this.moveroop + 1;
                            this.Motion   = NaviBase.MOTION.move;
                        }
                    }
                    break;
                }
                break;

            case NaviBase.MOTION.attack:
                switch (this.attack)
                {
                case SpannerMan.ATTACK.SpannerThrow:
                    if (this.moveflame)
                    {
                        ++this.waittime;
                    }
                    if (this.moveflame)
                    {
                        this.animationpoint = this.AnimeThrow(this.waittime);
                        switch (this.frame)
                        {
                        case 4:
                            this.counterTiming = false;
                            this.sound.PlaySE(SoundEffect.knife);
                            SpinSpanner spinSpanner = new SpinSpanner(this.sound, this.parent, this.position.X + this.UnionRebirth(this.union), this.position.Y, this.Power, this.union)
                            {
                                Hp = version * 10
                            };
                            this.spanners.Add(spinSpanner);
                            this.parent.objects.Add(spinSpanner);
                            break;

                        case 14:
                            this.motion   = NaviBase.MOTION.move;
                            this.waittime = 0;
                            this.frame    = 0;
                            break;
                        }
                        break;
                    }
                    break;

                case SpannerMan.ATTACK.MetalImpact:
                    if (this.moveflame)
                    {
                        ++this.waittime;
                    }
                    if (this.moveflame)
                    {
                        this.animationpoint = this.AnimeImpact(this.waittime);
                        switch (this.frame)
                        {
                        case 8:
                            this.counterTiming = false;
                            if (!this.parent.panel[this.position.X + this.UnionRebirth(this.union), this.position.Y].Hole)
                            {
                                this.sound.PlaySE(SoundEffect.quake);
                                if (!this.clack)
                                {
                                    Point point = this.RandomPanel(this.UnionEnemy);
                                    this.parent.panel[point.X, point.Y].Crack();
                                    if (this.version >= 3)
                                    {
                                        this.clack = true;
                                    }
                                }
                                else
                                {
                                    this.clack = false;
                                }
                                this.ShakeStart(1, 80);
                                int s = 1;
                                switch (this.version)
                                {
                                case 1:
                                case 2:
                                    s = 3;
                                    break;

                                case 3:
                                    s = 2;
                                    break;
                                }
                                this.parent.attacks.Add(new WaveAttsck(this.sound, this.parent, this.position.X + this.UnionRebirth(this.union), this.position.Y, this.union, this.Power, s, 0, this.element));
                                break;
                            }
                            break;

                        case 20:
                            this.motion   = NaviBase.MOTION.move;
                            this.waittime = 0;
                            this.frame    = 0;
                            break;
                        }
                    }
                    break;

                case SpannerMan.ATTACK.SparkArm:
                    if (this.moveflame)
                    {
                        ++this.waittime;
                    }
                    if (this.moveflame)
                    {
                        this.animationpoint = this.AnimeSpark(this.waittime);
                        switch (this.waittime)
                        {
                        case 7:
                            this.counterTiming = false;
                            this.Sound.PlaySE(SoundEffect.thunder);
                            AttackBase attackBase = new BombAttack(this.sound, this.parent, this.position.X + this.UnionRebirth(this.union), this.position.Y, this.union, this.Power, 1, 1, ChipBase.ELEMENT.eleki);
                            attackBase.badstatus[3]     = true;
                            attackBase.badstatustime[3] = 120;
                            attackBase.invincibility    = false;
                            this.parent.attacks.Add(attackBase);
                            break;

                        case 9:
                            this.Sound.PlaySE(SoundEffect.thunder);
                            break;

                        case 11:
                            this.attack    = (SpannerMan.ATTACK) this.pattern[this.action];
                            this.powerPlus = this.powers[this.pattern[this.action]];
                            ++this.action;
                            if (this.action >= this.pattern.Length)
                            {
                                this.action = 0;
                            }
                            this.Motion        = NaviBase.MOTION.attack;
                            this.counterTiming = true;
                            this.waittime      = 0;
                            this.frame         = 0;
                            break;
                        }
                        break;
                    }
                    break;

                case SpannerMan.ATTACK.BurnerBlast:
                    if (this.moveflame)
                    {
                        ++this.waittime;
                    }
                    if (this.moveflame)
                    {
                        if (!this.ready)
                        {
                            this.animationpoint = this.AnimeBurner1(this.waittime);
                            if (this.frame == 1)
                            {
                                this.speed = this.nspeed + 2;
                                this.parent.attacks.Add(new Dummy(this.sound, this.parent, this.position.X + 2 * this.UnionRebirth(this.union), this.position.Y, this.union, new Point(), 80, true));
                                this.parent.attacks.Add(new Dummy(this.sound, this.parent, this.position.X + 3 * this.UnionRebirth(this.union), this.position.Y, this.union, new Point(), 80, true));
                                this.parent.attacks.Add(new Dummy(this.sound, this.parent, this.position.X + 3 * this.UnionRebirth(this.union), this.position.Y - 1, this.union, new Point(), 80, true));
                                this.parent.attacks.Add(new Dummy(this.sound, this.parent, this.position.X + 3 * this.UnionRebirth(this.union), this.position.Y + 1, this.union, new Point(), 80, true));
                                this.parent.attacks.Add(new Dummy(this.sound, this.parent, this.position.X + 4 * this.UnionRebirth(this.union), this.position.Y, this.union, new Point(), 80, true));
                                this.parent.attacks.Add(new Dummy(this.sound, this.parent, this.position.X + 4 * this.UnionRebirth(this.union), this.position.Y - 1, this.union, new Point(), 80, true));
                                this.parent.attacks.Add(new Dummy(this.sound, this.parent, this.position.X + 4 * this.UnionRebirth(this.union), this.position.Y + 1, this.union, new Point(), 80, true));
                            }
                            if (this.frame >= 8)
                            {
                                this.ready         = true;
                                this.counterTiming = false;
                                this.frame         = 0;
                            }
                        }
                        else
                        {
                            this.animationpoint = this.AnimeBurner2(this.frame % 2);
                            int num1 = 0;
                            int roop = 9;
                            switch (this.frame)
                            {
                            case 1:
                                this.sound.PlaySE(SoundEffect.quake);
                                AttackBase attackBase1 = new ElementFire(this.sound, this.parent, this.position.X + 2 * this.UnionRebirth(this.union), this.position.Y, this.union, this.Power, roop, ChipBase.ELEMENT.heat, false, 1);
                                attackBase1.positionDirect.Y += num1;
                                this.parent.attacks.Add(attackBase1);
                                break;

                            case 4:
                                this.sound.PlaySE(SoundEffect.quake);
                                int        num2        = 3;
                                AttackBase attackBase2 = new ElementFire(this.sound, this.parent, this.position.X + num2 * this.UnionRebirth(this.union), this.position.Y - 1, this.union, this.Power, roop, ChipBase.ELEMENT.heat, false, 1);
                                attackBase2.positionDirect.Y += num1;
                                this.parent.attacks.Add(attackBase2);
                                AttackBase attackBase3 = new ElementFire(this.sound, this.parent, this.position.X + num2 * this.UnionRebirth(this.union), this.position.Y, this.union, this.Power, roop, ChipBase.ELEMENT.heat, false, 1);
                                attackBase3.positionDirect.Y += num1;
                                this.parent.attacks.Add(attackBase3);
                                AttackBase attackBase4 = new ElementFire(this.sound, this.parent, this.position.X + num2 * this.UnionRebirth(this.union), this.position.Y + 1, this.union, this.Power, roop, ChipBase.ELEMENT.heat, false, 1);
                                attackBase4.positionDirect.Y += num1;
                                this.parent.attacks.Add(attackBase4);
                                break;

                            case 7:
                                this.sound.PlaySE(SoundEffect.quake);
                                int        num3        = 4;
                                AttackBase attackBase5 = new ElementFire(this.sound, this.parent, this.position.X + num3 * this.UnionRebirth(this.union), this.position.Y - 1, this.union, this.Power, roop, ChipBase.ELEMENT.heat, false, 1);
                                attackBase5.positionDirect.Y += num1;
                                this.parent.attacks.Add(attackBase5);
                                AttackBase attackBase6 = new ElementFire(this.sound, this.parent, this.position.X + num3 * this.UnionRebirth(this.union), this.position.Y, this.union, this.Power, roop, ChipBase.ELEMENT.heat, false, 1);
                                attackBase6.positionDirect.Y += num1;
                                this.parent.attacks.Add(attackBase6);
                                AttackBase attackBase7 = new ElementFire(this.sound, this.parent, this.position.X + num3 * this.UnionRebirth(this.union), this.position.Y + 1, this.union, this.Power, roop, ChipBase.ELEMENT.heat, false, 1);
                                attackBase7.positionDirect.Y += num1;
                                this.parent.attacks.Add(attackBase7);
                                break;

                            case 26:
                                this.ready    = false;
                                this.motion   = NaviBase.MOTION.move;
                                this.waittime = 0;
                                this.frame    = 0;
                                this.speed    = this.nspeed;
                                break;
                            }
                        }
                        break;
                    }
                    break;
                }
                break;

            case NaviBase.MOTION.move:
                this.animationpoint = this.AnimeMove(this.waittime);
                if (this.moveflame)
                {
                    switch (this.waittime)
                    {
                    case 0:
                        bool flag = false;
                        if (!this.spark)
                        {
                            foreach (CharacterBase characterBase in this.parent.AllChara())
                            {
                                if (characterBase.union == this.UnionEnemy && characterBase.position.X == Eriabash.SteelX(this, this.parent))
                                {
                                    flag               = true;
                                    this.positionre    = characterBase.position;
                                    this.positionre.X -= this.UnionRebirth(this.union);
                                    break;
                                }
                            }
                        }
                        else
                        {
                            this.spark = false;
                        }
                        if (flag && this.Canmove(this.positionre, this.number))
                        {
                            this.spark    = true;
                            this.roopmove = this.moveroop + 1;
                            this.speed    = 2;
                        }
                        else
                        {
                            this.MoveRandom(false, false);
                        }
                        if (this.position == this.positionre)
                        {
                            this.Motion      = NaviBase.MOTION.neutral;
                            this.frame       = 0;
                            this.roopneutral = 0;
                            ++this.roopmove;
                            break;
                        }
                        break;

                    case 4:
                        this.position = this.positionre;
                        this.PositionDirectSet();
                        break;

                    case 7:
                        this.Motion      = NaviBase.MOTION.neutral;
                        this.frame       = 0;
                        this.roopneutral = 0;
                        ++this.roopmove;
                        break;
                    }
                    ++this.waittime;
                    break;
                }
                break;

            case NaviBase.MOTION.knockback:
                switch (this.waittime)
                {
                case 2:
                    this.rebirth     = this.union == Panel.COLOR.red;
                    this.ready       = false;
                    this.attackCount = 0;
                    this.speed       = this.nspeed;
                    this.effecting   = false;
                    this.NockMotion();
                    this.counterTiming = false;
                    this.effecting     = false;
                    this.PositionDirectSet();
                    break;

                case 3:
                    this.NockMotion();
                    break;

                case 15:
                    this.animationpoint = new Point(17, 0);
                    this.PositionDirectSet();
                    break;

                case 21:
                    this.animationpoint = new Point(0, 0);
                    this.waittime       = 0;
                    this.Motion         = NaviBase.MOTION.neutral;
                    break;
                }
                if (this.waittime >= 2 && this.waittime <= 6)
                {
                    this.positionDirect.X -= this.UnionRebirth(this.union);
                }
                ++this.waittime;
                break;
            }
            this.spanners.RemoveAll(s => !s.flag);
            if (this.effecting)
            {
                this.AttackMake(this.Power, 0, 0);
            }
            this.FlameControl();
            this.MoveAftar();
        }
Exemplo n.º 8
0
        public override void Action(CharacterBase character, SceneBattle battle)
        {
            if (this.screen == null)
            {
                this.screen = new ScreenBlack(this.sound, battle, new Vector2(), new Point(), this.element, 0, false);
                battle.effects.Add(screen);
                this.position = new Point(character.union == Panel.COLOR.red ? 0 : 5, 2);
                int[] numArray = new int[6];
                foreach (CharacterBase characterBase in battle.AllChara())
                {
                    if (characterBase.union == character.UnionEnemy)
                    {
                        switch (characterBase.element)
                        {
                        case ChipBase.ELEMENT.heat:
                            ++numArray[1];
                            ++numArray[5];
                            break;

                        case ChipBase.ELEMENT.aqua:
                            ++numArray[3];
                            ++numArray[4];
                            break;

                        case ChipBase.ELEMENT.eleki:
                            ++numArray[2];
                            ++numArray[5];
                            break;

                        case ChipBase.ELEMENT.leaf:
                            ++numArray[0];
                            ++numArray[4];
                            break;

                        case ChipBase.ELEMENT.poison:
                            ++numArray[0];
                            ++numArray[3];
                            break;

                        case ChipBase.ELEMENT.earth:
                            ++numArray[1];
                            ++numArray[2];
                            break;
                        }
                    }
                }
                int num = 1;
                for (int index = 0; index < numArray.Length; ++index)
                {
                    if (numArray[index] >= num)
                    {
                        switch (index)
                        {
                        case 0:
                            this.element = ChipBase.ELEMENT.heat;
                            break;

                        case 1:
                            this.element = ChipBase.ELEMENT.aqua;
                            break;

                        case 2:
                            this.element = ChipBase.ELEMENT.leaf;
                            break;

                        case 3:
                            this.element = ChipBase.ELEMENT.eleki;
                            break;

                        case 4:
                            this.element = ChipBase.ELEMENT.poison;
                            break;

                        case 5:
                            this.element = ChipBase.ELEMENT.earth;
                            break;
                        }
                        num = numArray[index];
                    }
                }
            }
            if (!this.BlackOut(character, battle, this.name, this.Power(character).ToString()))
            {
                return;
            }
            switch (character.waittime)
            {
            case 1:
                character.animationpoint.X = 1;
                break;

            case 3:
                character.animationpoint.X = 2;
                break;

            case 5:
                character.animationpoint.X = 3;
                break;

            case 7:
                character.animationpoint.X = -1;
                break;
            }
            if (character.waittime % 2 == 0)
            {
                this.eye = !this.eye;
            }
            int num1 = 30;

            if (character.waittime == 44)
            {
                this.sound.PlaySE(SoundEffect.pikin);
            }
            if (character.waittime == 44 + num1)
            {
                battle.effects.Add(new Charge(this.sound, battle, this.position.X, this.position.Y));
            }
            if (character.waittime > 44 + num1 + 50)
            {
                this.open = true;
                this.FlameControl(1);
                if (this.count < 3)
                {
                    if (this.frame > 8)
                    {
                        this.frame = 0;
                        this.sound.PlaySE(SoundEffect.quake);
                        this.ShakeStart(8);
                        Point point = new Point();
                        switch (this.count)
                        {
                        case 0:
                            point.X = character.union == Panel.COLOR.red ? 2 : 4;
                            point.Y = 1;
                            ElementFire elementFire1 = new ElementFire(this.sound, character.parent, point.X, point.Y, character.union, this.Power(character), 6, this.element, false, 1);
                            battle.attacks.Add(this.Paralyze(elementFire1));
                            break;

                        case 1:
                            point.X = character.union == Panel.COLOR.red ? 3 : 3;
                            point.Y = 0;
                            ElementFire elementFire2 = new ElementFire(this.sound, character.parent, point.X, point.Y, character.union, this.Power(character), 6, this.element, false, 1);
                            battle.attacks.Add(this.Paralyze(elementFire2));
                            point.Y = 1;
                            ElementFire elementFire3 = new ElementFire(this.sound, character.parent, point.X, point.Y, character.union, this.Power(character), 6, this.element, false, 1);
                            battle.attacks.Add(this.Paralyze(elementFire3));
                            point.Y = 2;
                            ElementFire elementFire4 = new ElementFire(this.sound, character.parent, point.X, point.Y, character.union, this.Power(character), 6, this.element, false, 1);
                            battle.attacks.Add(this.Paralyze(elementFire4));
                            break;

                        default:
                            point.X = character.union == Panel.COLOR.red ? 4 : 2;
                            point.Y = 0;
                            ElementFire elementFire5 = new ElementFire(this.sound, character.parent, point.X, point.Y, character.union, this.Power(character), 6, this.element, false, 1);
                            battle.attacks.Add(this.Paralyze(elementFire5));
                            point.Y = 1;
                            ElementFire elementFire6 = new ElementFire(this.sound, character.parent, point.X, point.Y, character.union, this.Power(character), 6, this.element, false, 1);
                            battle.attacks.Add(this.Paralyze(elementFire6));
                            point.Y = 2;
                            ElementFire elementFire7 = new ElementFire(this.sound, character.parent, point.X, point.Y, character.union, this.Power(character), 6, this.element, false, 1);
                            battle.attacks.Add(this.Paralyze(elementFire7));
                            break;
                        }
                        ++this.count;
                    }
                }
                else if (this.frame > 60)
                {
                    switch (this.frame)
                    {
                    case 61:
                        this.ShakeEnd();
                        character.animationpoint.X = 3;
                        break;

                    case 63:
                        character.animationpoint.X = 2;
                        break;

                    case 65:
                        character.animationpoint.X = 1;
                        break;

                    case 67:
                        character.animationpoint.X = 0;
                        break;
                    }
                    if (this.frame > 80)
                    {
                        if (!this.screen.end)
                        {
                            this.screen.end = true;
                        }
                        if (this.BlackOutEnd(character, battle))
                        {
                            base.Action(character, battle);
                        }
                    }
                }
            }
        }
Exemplo n.º 9
0
 public override void Action(CharacterBase character, SceneBattle battle)
 {
     if (!this.fire)
     {
         if (character.waittime < 5)
         {
             character.animationpoint = new Point(4, 0);
         }
         else if (character.waittime < 15)
         {
             character.animationpoint = new Point(5, 0);
         }
         else if (character.waittime < 28)
         {
             character.animationpoint = new Point(6, 0);
             if (character.waittime < 17)
             {
                 character.positionDirect.X -= (character.waittime - 15) * this.UnionRebirth(character.union);
             }
         }
         else if (character.waittime < 33)
         {
             character.animationpoint = new Point(5, 0);
             character.PositionDirectSet();
         }
         else if (character.waittime == 33)
         {
             base.Action(character, battle);
         }
         if (character.waittime == 18)
         {
             this.fire                = true;
             character.waittime       = 0;
             character.animationpoint = new Point(5, 0);
         }
     }
     else
     {
         if (character.waittime == 2)
         {
             character.animationpoint = new Point(5, 0);
             this.count = 1;
         }
         if ((character.waittime - 6) % 9 == 0)
         {
             character.animationpoint = new Point(6, 0);
         }
         if ((character.waittime - 11) % 9 == 0)
         {
             character.animationpoint = new Point(5, 0);
         }
         if (character.waittime == 6 || character.waittime == 15 || character.waittime == 24)
         {
             character.animationpoint = new Point(6, 0);
             this.sound.PlaySE(SoundEffect.quake);
             AttackBase a1 = new ElementFire(this.sound, character.parent, character.position.X + this.count * this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character), 6, this.element, false, 1);
             a1.positionDirect.X += 16 * this.UnionRebirth(character.union);
             a1.invincibility     = true;
             character.parent.attacks.Add(this.Paralyze(a1));
             if (character.waittime > 6)
             {
                 AttackBase a2 = new ElementFire(this.sound, character.parent, character.position.X + this.count * this.UnionRebirth(character.union), character.position.Y - 1, character.union, this.Power(character), 6, this.element, false, 1);
                 a2.positionDirect.X += 16 * this.UnionRebirth(character.union);
                 a2.invincibility     = true;
                 character.parent.attacks.Add(this.Paralyze(a2));
                 AttackBase a3 = new ElementFire(this.sound, character.parent, character.position.X + this.count * this.UnionRebirth(character.union), character.position.Y + 1, character.union, this.Power(character), 6, this.element, false, 1);
                 a3.positionDirect.X += 16 * this.UnionRebirth(character.union);
                 a3.invincibility     = true;
                 character.parent.attacks.Add(this.Paralyze(a3));
             }
             ++this.count;
         }
         if (character.waittime == 56)
         {
             character.animationpoint = new Point(0, 0);
             base.Action(character, battle);
         }
     }
     if (character.waittime != 20)
     {
         return;
     }
     int num = this.power + this.pluspower;
 }
Exemplo n.º 10
0
        public override void Updata()
        {
            if (this.moveflame)
            {
                switch (this.motion)
                {
                case StandBurner.MOTION.up:
                    --this.animationpoint.X;
                    switch (this.animationpoint.X)
                    {
                    case 0:
                        this.motion = StandBurner.MOTION.fire;
                        this.frame  = 0;
                        this.speed  = 4;
                        break;

                    case 6:
                        this.nohit = false;
                        break;
                    }
                    break;

                case StandBurner.MOTION.fire:
                    switch (this.frame)
                    {
                    case 1:
                        this.parent.attacks.Add(new Dummy(this.sound, this.parent, this.position.X + this.UnionRebirth, this.position.Y, this.union, new Point(2, 0), 60, true));
                        break;

                    case 12:
                        this.sound.PlaySE(SoundEffect.fire);
                        AttackBase attackBase1 = new ElementFire(this.sound, this.parent, this.position.X + this.UnionRebirth, this.position.Y, this.union, this.hitPower, 18, ChipBase.ELEMENT.heat, false, 0);
                        attackBase1.positionDirect.X -= 48 * this.UnionRebirth;
                        attackBase1.positionDirect.Y += 2f;
                        this.parent.attacks.Add(attackBase1);
                        break;

                    case 15:
                        this.sound.PlaySE(SoundEffect.fire);
                        AttackBase attackBase2 = new ElementFire(this.sound, this.parent, this.position.X + 2 * this.UnionRebirth, this.position.Y, this.union, this.hitPower, 18, ChipBase.ELEMENT.heat, false, 0);
                        attackBase2.positionDirect.X -= 48 * this.UnionRebirth;
                        attackBase2.positionDirect.Y += 2f;
                        this.parent.attacks.Add(attackBase2);
                        break;

                    case 18:
                        this.sound.PlaySE(SoundEffect.fire);
                        AttackBase attackBase3 = new ElementFire(this.sound, this.parent, this.position.X + 3 * this.UnionRebirth, this.position.Y, this.union, this.hitPower, 18, ChipBase.ELEMENT.heat, false, 0);
                        attackBase3.positionDirect.X -= 48 * this.UnionRebirth;
                        attackBase3.positionDirect.Y += 2f;
                        this.parent.attacks.Add(attackBase3);
                        break;

                    case 100:
                        this.motion = StandBurner.MOTION.down;
                        this.frame  = 0;
                        this.speed  = 2;
                        break;
                    }
                    break;

                case StandBurner.MOTION.down:
                    ++this.animationpoint.X;
                    switch (this.animationpoint.X)
                    {
                    case 6:
                        this.nohit = true;
                        break;

                    case 12:
                        this.MoveRandom(false, false);
                        this.position = this.positionre;
                        this.PositionDirectSet();
                        this.motion = StandBurner.MOTION.up;
                        this.frame  = 0;
                        break;
                    }
                    break;
                }
            }
            this.FlameControl(this.speed);
            base.Updata();
        }
Exemplo n.º 11
0
        protected override void Moving()
        {
            this.neutlal = this.motion == FireCat.MOTION.neutral;
            switch (this.motion)
            {
            case FireCat.MOTION.neutral:
                if (this.moveflame)
                {
                    if (this.roopmove < this.moveroop / 2)
                    {
                        this.animationpoint = this.AnimeNeutral(this.frame);
                    }
                    else
                    {
                        this.animationpoint = this.AnimeNeutral2(this.frame);
                    }
                    if (this.frame >= 6)
                    {
                        this.frame = 0;
                        ++this.roopneutral;
                        if (this.roopneutral >= 2 && this.parent.nowscene != SceneBattle.BATTLESCENE.end)
                        {
                            this.roopneutral = 0;
                            this.motion      = FireCat.MOTION.move;
                        }
                    }
                    break;
                }
                break;

            case FireCat.MOTION.move:
                ++this.roopmove;
                if (this.roopmove >= this.moveroop && !this.badstatus[4])
                {
                    this.attackcount   = 1;
                    this.speed         = 3;
                    this.motion        = FireCat.MOTION.attack;
                    this.counterTiming = true;
                }
                else
                {
                    this.motion = FireCat.MOTION.neutral;
                }
                this.MoveRandom(false, false);
                if (this.position == this.positionre)
                {
                    this.frame       = 0;
                    this.roopneutral = 0;
                    break;
                }
                this.parent.effects.Add(new MoveEnemy(this.sound, this.parent, this.position.X, this.position.Y));
                this.position = this.positionre;
                this.PositionDirectSet();
                this.frame       = 0;
                this.roopneutral = 0;
                break;

            case FireCat.MOTION.attack:
                if (this.moveflame)
                {
                    this.animationpoint.X = this.attackanimation ? 9 : 8;
                    this.attackanimation  = !this.attackanimation;
                    if (this.frame == 12 || this.frame == 15 || this.frame == 18)
                    {
                        this.counterTiming = false;
                        this.sound.PlaySE(SoundEffect.fire);
                        if (this.version == 0)
                        {
                            AttackBase attackBase1 = new ElementFire(this.sound, this.parent, this.position.X + this.attackcount * this.UnionRebirth, this.position.Y, this.union, this.Power, 4, this.element, false, 1);
                            attackBase1.positionDirect.Y += 16f;
                            attackBase1.breaking          = true;
                            this.parent.attacks.Add(attackBase1);
                            if (this.frame >= 15)
                            {
                                AttackBase attackBase2 = new ElementFire(this.sound, this.parent, this.position.X + this.attackcount * this.UnionRebirth, this.position.Y - 1, this.union, this.Power, 4, this.element, false, 1);
                                attackBase2.positionDirect.Y += 16f;
                                attackBase2.breaking          = true;
                                this.parent.attacks.Add(attackBase2);
                                AttackBase attackBase3 = new ElementFire(this.sound, this.parent, this.position.X + this.attackcount * this.UnionRebirth, this.position.Y + 1, this.union, this.Power, 4, this.element, false, 1);
                                attackBase3.positionDirect.Y += 16f;
                                attackBase3.breaking          = true;
                                this.parent.attacks.Add(attackBase3);
                            }
                        }
                        else
                        {
                            AttackBase attackBase = new ElementFire(this.sound, this.parent, this.position.X + this.attackcount * this.UnionRebirth, this.position.Y, this.union, this.Power, 18, this.element, false, 0);
                            attackBase.positionDirect.X -= 48 * this.UnionRebirth;
                            attackBase.positionDirect.Y += 16f;
                            attackBase.breaking          = true;
                            this.parent.attacks.Add(attackBase);
                        }
                        ++this.attackcount;
                    }
                    if (this.frame == 6)
                    {
                        this.counterTiming = true;
                        int num = this.union == Panel.COLOR.blue ? this.position.X - 1 : this.position.X + 1;
                    }
                    if (this.frame >= 45)
                    {
                        this.frame       = 0;
                        this.roopmove    = 0;
                        this.roopneutral = 0;
                        this.speed       = this.nspeed;
                        this.motion      = FireCat.MOTION.neutral;
                    }
                    break;
                }
                break;
            }
            this.FlameControl();
            this.MoveAftar();
        }