public virtual bool HitEvent(ObjectBase o) { if ((o.union != this.union || o.unionhit) && !o.invincibility && !this.throughObject) { int num = 1; if (o.standbarrier) { num *= 2; } if (o.guard == CharacterBase.GUARD.armar) { num *= 2; } this.damage = this.DamageMath(o) / num; o.hit = true; this.hitflag[o.position.X, o.position.Y] = true; if (this.BarierCheck(o, this.damage)) { if (this.damage == 0) { return(true); } this.sound.PlaySE(SoundEffect.damageenemy); if (this.breaking && o.guard != CharacterBase.GUARD.guard && !o.slipping) { o.Hp = 0; } else if (o.guard != CharacterBase.GUARD.noDamage) { o.Hp -= this.damage; } o.whitetime = 4; this.hitflag[o.position.X, o.position.Y] = true; if (this.parent.blackOut) { if (o.Hp > 0) { o.ShakeSingleStart(2, 32); } else { this.sound.PlaySE(SoundEffect.clincher); } } o.Dameged(this); return(true); } } return(false); }