public static void CancelHitsByDefenceDice() { if (SkipAttackDiceRollsAndHit) { return; } int crits = DiceRollAttack.CriticalSuccesses; DiceRollAttack.CancelHitsByDefence(DiceRollDefence.Successes); if (crits > DiceRollAttack.CriticalSuccesses) { Attacker.CallOnAtLeastOneCritWasCancelledByDefender(); Triggers.ResolveTriggers( TriggerTypes.OnAtLeastOneCritWasCancelledByDefender, delegate { CalculateAttackResults(); }); } else { CalculateAttackResults(); } }