public ElekiFangSub(IAudioEngine s, SceneBattle p, bool up, ElekiFang ef) : base(s, p, ef.position.X, ef.position.Y + (up ? -1 : 1)) { this.ef = ef; this.up = up; if (this.position.X < 0) { this.position.X = 0; } if (this.position.X > 5) { this.position.X = 5; } if (this.position.Y < 0) { this.position.Y = 0; this.downprint = true; } if (this.position.Y <= 2) { return; } this.position.Y = 2; this.upprint = true; }
public override void Action(CharacterBase character, SceneBattle battle) { 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 < 16) { character.animationpoint = new Point(6, 0); } else if (character.waittime < 21) { character.animationpoint = new Point(5, 0); } else if (character.waittime == 40) { base.Action(character, battle); } if (character.waittime != 16) { return; } this.sound.PlaySE(SoundEffect.thunder); int num = this.power + this.pluspower; ElekiFang elekiFang = new ElekiFang(this.sound, battle, character.position.X + this.UnionRebirth(character.union), character.position.Y, character.union, this.Power(character), 1, this.element, false); elekiFang.BadStatusSet(CharacterBase.BADSTATUS.paralyze, 180); character.parent.attacks.Add(this.Paralyze(elekiFang)); }
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 < 10) { if (this.frame > 20) { this.frame = 0; this.sound.PlaySE(SoundEffect.thunder); AttackBase a = new ElekiFang(this.sound, battle, character.union == Panel.COLOR.red ? 2 : 3, 1, character.union, this.Power(character), 2, this.element, this.count % 2 == 0); a.knock = true; battle.attacks.Add(this.Paralyze(a)); ++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); } } } } }
protected override void Moving() { this.neutlal = this.motion == RayJune.MOTION.neutral; switch (this.motion) { case RayJune.MOTION.neutral: if (this.moveflame) { this.animationpoint = this.AnimeNeutral(this.frame); if (this.frame >= 4) { this.frame = 0; ++this.roopneutral; if (this.roopneutral >= 2 && this.parent.nowscene != SceneBattle.BATTLESCENE.end) { this.roopneutral = 0; if (this.roopmove >= this.moveroop && !this.badstatus[4]) { this.speed = 4; this.motion = RayJune.MOTION.attack; this.counterTiming = true; } else { this.motion = RayJune.MOTION.move; } } } break; } break; case RayJune.MOTION.move: ++this.roopmove; this.motion = RayJune.MOTION.neutral; this.MoveRandom(false, false); if (this.position == this.positionre) { this.motion = RayJune.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 RayJune.MOTION.attack: this.animationpoint = this.AnimeAttack(this.frame); if (this.moveflame) { if (this.frame == 1) { this.parent.attacks.Add(new Dummy(this.sound, this.parent, this.position.X + this.UnionRebirth, this.position.Y - 1, this.union, new Point(6, 0), 20, true)); this.parent.attacks.Add(new Dummy(this.sound, this.parent, this.position.X + this.UnionRebirth, this.position.Y, this.union, new Point(0, 0), 20, true)); this.parent.attacks.Add(new Dummy(this.sound, this.parent, this.position.X + this.UnionRebirth, this.position.Y + 1, this.union, new Point(6, 0), 20, true)); } if (this.frame == 11) { this.sound.PlaySE(SoundEffect.thunder); ElekiFang elekiFang = new ElekiFang(this.sound, this.parent, this.position.X + this.UnionRebirth, this.position.Y, this.union, this.Power, 1, this.element, false); elekiFang.positionDirect.Y += 10f; this.parent.attacks.Add(elekiFang); this.counterTiming = false; } if (this.version == 0) { int num = 6; if (this.frame == 11 + num) { this.sound.PlaySE(SoundEffect.thunder); ElekiFang elekiFang = new ElekiFang(this.sound, this.parent, this.position.X + this.UnionRebirth, this.position.Y, this.union, this.Power, 1, this.element, true); elekiFang.positionDirect.Y += 10f; this.parent.attacks.Add(elekiFang); } if (this.frame == 11 + num * 2) { this.sound.PlaySE(SoundEffect.thunder); ElekiFang elekiFang = new ElekiFang(this.sound, this.parent, this.position.X + this.UnionRebirth, this.position.Y, this.union, this.Power, 1, this.element, false); elekiFang.positionDirect.Y += 10f; this.parent.attacks.Add(elekiFang); } if (this.frame == 11 + num * 3) { this.sound.PlaySE(SoundEffect.thunder); ElekiFang elekiFang = new ElekiFang(this.sound, this.parent, this.position.X + this.UnionRebirth, this.position.Y, this.union, this.Power, 1, this.element, true); elekiFang.positionDirect.Y += 10f; this.parent.attacks.Add(elekiFang); } if (this.frame == 11 + num * 4) { this.sound.PlaySE(SoundEffect.thunder); ElekiFang elekiFang = new ElekiFang(this.sound, this.parent, this.position.X + this.UnionRebirth, this.position.Y, this.union, this.Power, 1, this.element, false); elekiFang.positionDirect.Y += 10f; this.parent.attacks.Add(elekiFang); } if (this.frame == 11 + num * 5) { this.sound.PlaySE(SoundEffect.thunder); ElekiFang elekiFang = new ElekiFang(this.sound, this.parent, this.position.X + this.UnionRebirth, this.position.Y, this.union, this.Power, 1, this.element, true); elekiFang.positionDirect.Y += 10f; this.parent.attacks.Add(elekiFang); } if (this.frame == 11 + num * 6) { this.sound.PlaySE(SoundEffect.thunder); ElekiFang elekiFang = new ElekiFang(this.sound, this.parent, this.position.X + this.UnionRebirth, this.position.Y, this.union, this.Power, 1, this.element, false); elekiFang.positionDirect.Y += 10f; this.parent.attacks.Add(elekiFang); } if (this.frame == 11 + num * 5) { this.frame = 0; this.roopmove = 0; this.roopneutral = 0; this.speed = 6; this.motion = RayJune.MOTION.neutral; } } if (this.frame >= 30 && this.version > 0) { this.frame = 0; this.roopmove = 0; this.roopneutral = 0; this.speed = this.nspeed; this.motion = RayJune.MOTION.move; } break; } break; } this.FlameControl(); this.MoveAftar(); }