public override void Execute(IBattle battle) { var enemy = battle.Units.Values.FirstOrDefault(x => x.UserName != Unit); var unit = battle.Units[Unit]; var pureUnitChar = battle.PureCharacteristics[Unit]; RestoreBaseDefenceSettings(unit, pureUnitChar); ApplyDefence(unit, pureUnitChar); var damage = CalculateDamage(unit, enemy); var log = ApplyDamage(enemy, damage); battle.AddLog(log); }
public virtual void Execute(IBattle battle) { var enemy = battle.Units.Values.FirstOrDefault(x => x.UserName != Unit); var unit = battle.Units[Unit]; int attack = -(new Random().Next(unit.Characteristics.Damage_min, unit.Characteristics.Damage_max)); enemy.Characteristics.Health += attack; var effects = new Dictionary <string, int>(); effects.Add("HP", attack); battle.AddLog(new ActionLog() { ActionName = "Simple atack", AffectedUser = enemy.UserName, Effects = effects, SourceUser = Unit }); }