public bool Apply(EventType type, IEntity sender, object eventData)
        {
            var data = eventData as AttackEventData;

            var defenceEventData = new DefenceEventData {
                ForAttack = data, DefenceType = "Dodge"
            };

            if (!_systemContainer.EventSystem.Try(EventType.Defence, data.Defender, defenceEventData))
            {
                data.SuccessfulDefenceType = "Dodge";
            }

            return(true);
        }
 protected abstract void IncreaseTiltForSucessfulDefence(TiltFighter tiltFighter, decimal defenceRoll, DefenceEventData eventData);
 protected override void IncreaseTiltForSucessfulDefence(TiltFighter tiltFighter, decimal defenceRoll, DefenceEventData eventData)
 {
     tiltFighter.Tilt.Add((int)defenceRoll);
 }
        protected override void IncreaseTiltForSucessfulDefence(TiltFighter tiltFighter, decimal defenceRoll, DefenceEventData eventData)
        {
            var tiltAdded = 15;

            tiltAdded += (int)eventData.ForAttack.Damage / 10;

            tiltFighter.Tilt.Add(tiltAdded);
        }