protected override void Moving() { if (this.moveflame) { this.positionre = this.position; switch (this.motion) { case Gelpark.MOTION.guard: this.animationpoint.X = 0; bool flag1 = false; if (this.version == 0) { flag1 = true; } else { foreach (CharacterBase characterBase in this.parent.AllChara()) { if (characterBase.union == this.UnionEnemy && characterBase.position.Y == this.position.Y) { flag1 = true; break; } } } if (flag1) { this.motion = Gelpark.MOTION.wake; this.frame = 0; break; } break; case Gelpark.MOTION.wake: this.animationpoint.X = this.AnimeWake(this.frame).X; if (this.frame == 2) { this.guard = CharacterBase.GUARD.none; } if (this.frame >= 3) { this.motion = Gelpark.MOTION.wait; this.frame = 0; break; } break; case Gelpark.MOTION.wait: this.animationpoint.X = this.AnimeWait(this.frame).X; bool flag2 = false; if (this.frame >= 10) { this.frame = 0; } foreach (CharacterBase characterBase in this.parent.AllChara()) { if (characterBase.union == this.UnionEnemy && characterBase.position.Y == this.position.Y) { flag2 = true; break; } } --this.waitingtime; if (!flag2 && this.version > 0) { this.waitingtime = this.waitlimit; this.motion = Gelpark.MOTION.close; this.frame = 0; break; } if (this.waitingtime <= 0) { this.waitingtime = this.waitlimit; this.motion = Gelpark.MOTION.attack1; this.frame = 0; break; } break; case Gelpark.MOTION.close: this.animationpoint.X = this.AnimeDown(this.frame).X; if (this.frame == 2) { this.guard = CharacterBase.GUARD.guard; } if (this.frame >= 3) { this.motion = Gelpark.MOTION.guard; this.frame = 0; break; } break; case Gelpark.MOTION.attack1: this.animationpoint.X = this.AnimeAttack1(this.frame).X; Point point = new Point(); switch (this.frame) { case 3: this.guard = CharacterBase.GUARD.guard; break; case 5: this.counterTiming = true; break; case 12: if (this.version == 0) { if (this.version == 0) { this.speed = 10; } this.sound.PlaySE(SoundEffect.beamlong); this.jb = new JusticeBeam(this.sound, this.parent, this.position.X + this.UnionRebirth, this.position.Y, this.union, this.Power, 2); this.jb.positionDirect.Y += 6f; this.parent.attacks.Add(jb); break; } this.sound.PlaySE(SoundEffect.beam); Beam beam = new Beam(this.sound, this.parent, this.position.X + this.UnionRebirth, this.position.Y, this.union, this.Power, 2, false); beam.positionDirect.Y += 16f; this.parent.attacks.Add(beam); break; case 14: if (this.version == 0) { point.X = this.union == Panel.COLOR.red ? 2 : 3; point.Y = 1; JusticeRing justiceRing = new JusticeRing(this.sound, this.parent, point.X, point.Y, this.union, this.Power, this.element); justiceRing.positionDirect.Y += 6f; this.parent.attacks.Add(justiceRing); break; } break; case 16: if (this.version == 0) { point.X = this.union == Panel.COLOR.red ? 4 : 1; point.Y = 1; JusticeRing justiceRing = new JusticeRing(this.sound, this.parent, point.X, point.Y, this.union, this.Power, this.element); justiceRing.positionDirect.Y += 6f; this.parent.attacks.Add(justiceRing); break; } break; case 18: if (this.version == 0) { point.X = this.union == Panel.COLOR.red ? 3 : 2; point.Y = 1; JusticeRing justiceRing = new JusticeRing(this.sound, this.parent, point.X, point.Y, this.union, this.Power, this.element); justiceRing.positionDirect.Y += 6f; this.parent.attacks.Add(justiceRing); break; } break; case 20: if (this.version == 0) { point.X = this.union == Panel.COLOR.red ? 5 : 0; point.Y = 1; JusticeRing justiceRing = new JusticeRing(this.sound, this.parent, point.X, point.Y, this.union, this.Power, this.element); justiceRing.positionDirect.Y += 6f; this.parent.attacks.Add(justiceRing); } if (this.version == 0) { this.jb.end = true; this.speed = 4; } this.motion = Gelpark.MOTION.attack2; this.frame = 0; this.counterTiming = false; break; } break; case Gelpark.MOTION.attack2: this.animationpoint.X = this.AnimeAttack2(this.frame).X; if (this.frame == 2) { this.guard = CharacterBase.GUARD.guard; } if (this.frame >= 3) { this.motion = Gelpark.MOTION.guard; this.frame = 0; break; } break; } } this.MoveAftar(); this.FlameControl(); }
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 ? 1 : 4, 2); } 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 num = 30; if (character.waittime == 44) { this.sound.PlaySE(SoundEffect.pikin); } if (character.waittime == 44 + num) { battle.effects.Add(new Charge(this.sound, battle, this.position.X, this.position.Y)); } if (character.waittime > 44 + num + 50) { this.FlameControl(1); if (this.count < 6) { if (this.frame > 20) { Point point = new Point(); switch (this.count) { case 0: this.sound.PlaySE(SoundEffect.beamlong); point.X = character.union == Panel.COLOR.red ? 2 : 3; point.Y = 1; this.beam = new JusticeBeam(this.sound, battle, point.X, point.Y, character.union, this.Power(character), 0); battle.attacks.Add(this.Paralyze(beam)); break; case 1: point.X = character.union == Panel.COLOR.red ? 2 : 3; point.Y = 1; AttackBase a1 = new JusticeRing(this.sound, battle, point.X, point.Y, character.union, this.Power(character), this.element); battle.attacks.Add(this.Paralyze(a1)); break; case 2: point.X = character.union == Panel.COLOR.red ? 4 : 1; point.Y = 1; AttackBase a2 = new JusticeRing(this.sound, battle, point.X, point.Y, character.union, this.Power(character), this.element); battle.attacks.Add(this.Paralyze(a2)); break; case 3: point.X = character.union == Panel.COLOR.red ? 3 : 2; point.Y = 1; AttackBase a3 = new JusticeRing(this.sound, battle, point.X, point.Y, character.union, this.Power(character), this.element); battle.attacks.Add(this.Paralyze(a3)); break; case 4: point.X = character.union == Panel.COLOR.red ? 5 : 0; point.Y = 1; AttackBase a4 = new JusticeRing(this.sound, battle, point.X, point.Y, character.union, this.Power(character), this.element); battle.attacks.Add(this.Paralyze(a4)); break; case 5: this.beam.end = true; break; } this.frame = 0; ++this.count; } } else if (this.frame > 60) { switch (this.frame) { case 61: 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); } } } } }