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); }