Beispiel #1
0
        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);
        }
Beispiel #2
0
        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
            });
        }