public ReportChange Attacks(Affectable other) { var damage = Mechanics.DamageFormula(this, other); ApplyDamage(damage); ReportChange changes = new ReportChange { Initiator = this, Activity = ActivityType.ATTACKS, Recepient = other, HitPointChange = damage, //for now... TimeCoolingChange = Cooldown }; changes.AttacksDoneChange = 1; if (other.IsDead) { changes.VitalStatusChangedToDead = true; } return(changes); }