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); }
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; }
//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"); }
//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; }
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;
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(); }
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(); }
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); } } } } }
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; }
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(); }
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(); }