public void ProcessDrawnDamageCard(EventArgs e) { AssignedDamageDiceroll.CancelHitsSpecial(1); AssignedDamageDiceroll.RemoveAllFailures(); if (Combat.CurrentCriticalHitCard.IsFaceup) { if (OnFaceupCritCardReadyToBeDealt != null) { OnFaceupCritCardReadyToBeDealt(this, Combat.CurrentCriticalHitCard); } if (OnFaceupCritCardReadyToBeDealtGlobal != null) { OnFaceupCritCardReadyToBeDealtGlobal(this, Combat.CurrentCriticalHitCard, e); } Triggers.RegisterTrigger(new Trigger { Name = "Information about faceup damage card", TriggerOwner = this.Owner.PlayerNo, TriggerType = TriggerTypes.OnFaceupCritCardReadyToBeDealtUI, EventHandler = InformCrit.LoadAndShow }); Triggers.ResolveTriggers(TriggerTypes.OnFaceupCritCardReadyToBeDealt, SufferFaceupDamageCard); } else { CallOnDamageCardIsDealt(delegate { Damage.DealDrawnCard(Triggers.FinishTrigger); }); } }