Example #1
0
        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); });
            }
        }