public override void Updata() { if (this.frame % 5 == 0) { this.bright = !this.bright; } if (this.bright) { this.PanelBright(); } if (this.frame == this.time) { this.hitting = true; this.flag = false; if (!this.parent.panel[this.position.X, this.position.Y].Hole) { this.parent.panel[this.position.X, this.position.Y].state = Panel.PANEL._crack; } if (this.InArea && !this.StandPanel.Hole) { this.sound.PlaySE(SoundEffect.bombmiddle); switch (this.type) { case CanonBomb.TYPE.single: this.parent.effects.Add(new Bomber(this.sound, this.parent, this.position.X, this.position.Y, Bomber.BOMBERTYPE.flashbomber, 2)); this.ShakeStart(2, 5); break; case CanonBomb.TYPE.closs: this.parent.effects.Add(new Bomber(this.sound, this.parent, this.position.X, this.position.Y, Bomber.BOMBERTYPE.bomber, 2)); AttackBase a1 = this.StateCopy(new BombAttack(this.sound, this.parent, this.position.X - 1, this.position.Y, this.union, this.power, 1, this.element)); if (this.cluster) { a1.invincibility = false; } this.parent.attacks.Add(this.StateCopy(a1)); this.parent.effects.Add(new Bomber(this.sound, this.parent, this.position.X - 1, this.position.Y, Bomber.BOMBERTYPE.bomber, 2)); AttackBase a2 = this.StateCopy(this.StateCopy(new BombAttack(this.sound, this.parent, this.position.X, this.position.Y - 1, this.union, this.power, 1, this.element))); if (this.cluster) { a2.invincibility = false; } this.parent.attacks.Add(this.StateCopy(a2)); this.parent.effects.Add(new Bomber(this.sound, this.parent, this.position.X, this.position.Y - 1, Bomber.BOMBERTYPE.bomber, 2)); AttackBase a3 = this.StateCopy(new BombAttack(this.sound, this.parent, this.position.X + 1, this.position.Y, this.union, this.power, 1, this.element)); if (this.cluster) { a3.invincibility = false; } this.parent.attacks.Add(this.StateCopy(a3)); this.parent.effects.Add(new Bomber(this.sound, this.parent, this.position.X + 1, this.position.Y, Bomber.BOMBERTYPE.bomber, 2)); AttackBase a4 = this.StateCopy(new BombAttack(this.sound, this.parent, this.position.X, this.position.Y + 1, this.union, this.power, 1, this.element)); if (this.cluster) { a4.invincibility = false; } this.parent.attacks.Add(this.StateCopy(a4)); this.parent.effects.Add(new Bomber(this.sound, this.parent, this.position.X, this.position.Y + 1, Bomber.BOMBERTYPE.bomber, 2)); break; case CanonBomb.TYPE.big: this.parent.effects.Add(new Bomber(this.sound, this.parent, this.position.X, this.position.Y, Bomber.BOMBERTYPE.bomber, 2)); AttackBase a5 = this.StateCopy(new BombAttack(this.sound, this.parent, this.position.X - 1, this.position.Y, this.union, this.power, 1, this.element)); if (this.cluster) { a5.invincibility = false; } this.parent.attacks.Add(this.StateCopy(a5)); this.parent.effects.Add(new Bomber(this.sound, this.parent, this.position.X - 1, this.position.Y, Bomber.BOMBERTYPE.bomber, 2)); AttackBase a6 = this.StateCopy(new BombAttack(this.sound, this.parent, this.position.X, this.position.Y - 1, this.union, this.power, 1, this.element)); if (this.cluster) { a6.invincibility = false; } this.parent.attacks.Add(this.StateCopy(a6)); this.parent.effects.Add(new Bomber(this.sound, this.parent, this.position.X, this.position.Y - 1, Bomber.BOMBERTYPE.bomber, 2)); AttackBase a7 = this.StateCopy(new BombAttack(this.sound, this.parent, this.position.X + 1, this.position.Y, this.union, this.power, 1, this.element)); if (this.cluster) { a7.invincibility = false; } this.parent.attacks.Add(this.StateCopy(a7)); this.parent.effects.Add(new Bomber(this.sound, this.parent, this.position.X + 1, this.position.Y, Bomber.BOMBERTYPE.bomber, 2)); AttackBase a8 = this.StateCopy(new BombAttack(this.sound, this.parent, this.position.X, this.position.Y + 1, this.union, this.power, 1, this.element)); if (this.cluster) { a8.invincibility = false; } this.parent.attacks.Add(this.StateCopy(a8)); this.parent.effects.Add(new Bomber(this.sound, this.parent, this.position.X, this.position.Y + 1, Bomber.BOMBERTYPE.bomber, 2)); AttackBase a9 = this.StateCopy(new BombAttack(this.sound, this.parent, this.position.X - 1, this.position.Y - 1, this.union, this.power, 1, this.element)); if (this.cluster) { a9.invincibility = false; } this.parent.attacks.Add(this.StateCopy(a9)); this.parent.effects.Add(new Bomber(this.sound, this.parent, this.position.X - 1, this.position.Y - 1, Bomber.BOMBERTYPE.bomber, 2)); AttackBase a10 = this.StateCopy(new BombAttack(this.sound, this.parent, this.position.X + 1, this.position.Y - 1, this.union, this.power, 1, this.element)); if (this.cluster) { a10.invincibility = false; } this.parent.attacks.Add(this.StateCopy(a10)); this.parent.effects.Add(new Bomber(this.sound, this.parent, this.position.X + 1, this.position.Y - 1, Bomber.BOMBERTYPE.bomber, 2)); AttackBase a11 = this.StateCopy(new BombAttack(this.sound, this.parent, this.position.X + 1, this.position.Y + 1, this.union, this.power, 1, this.element)); if (this.cluster) { a11.invincibility = false; } this.parent.attacks.Add(this.StateCopy(a11)); this.parent.effects.Add(new Bomber(this.sound, this.parent, this.position.X + 1, this.position.Y + 1, Bomber.BOMBERTYPE.bomber, 2)); AttackBase a12 = this.StateCopy(new BombAttack(this.sound, this.parent, this.position.X - 1, this.position.Y + 1, this.union, this.power, 1, this.element)); if (this.cluster) { a12.invincibility = false; } this.parent.attacks.Add(this.StateCopy(a12)); this.parent.effects.Add(new Bomber(this.sound, this.parent, this.position.X - 1, this.position.Y + 1, Bomber.BOMBERTYPE.bomber, 2)); break; } } } else { this.positionDirect.X -= this.movex; this.positionDirect.Y -= this.movey; this.plusy += this.speedy; this.speedy -= this.plusing; if (positionDirect.X < 0.0 || positionDirect.X > 240.0) { this.flag = false; } } this.FlameControl(); }