public virtual AttackResult TakeHit(AttackType attackType, int attackerAbility)
        {
            if (attackType == AttackType.Ranged)
            {
                attackerAbility -= AccuracyDefence;
            }

            var hits = DiceRoller.RollAtLeast(DiceShape.D10, Math.Max(Agility - attackerAbility, 2), 3);

            return((AttackResult)hits);
        }