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); }); } }
private static void CalculateAttackResults() { Combat.Defender.CallCombatCompareResults(); DiceRollAttack.RemoveAllFailures(); Combat.Defender.CallAfterNeutralizeResults(CheckAttackHit); }
private static void CalculateAttackResults() { DiceRollAttack.RemoveAllFailures(); if (DiceRollAttack.Successes > 0) { AttackHit(); } else { AfterShotIsPerformed(); } }
public static void CalculateAttackResults(Ship.GenericShip attacker, Ship.GenericShip defender) { DiceRollAttack.CancelHits(DiceRollDefence.Successes); DiceRollAttack.RemoveAllFailures(); if (DiceRollAttack.Successes > 0) { Attacker.CallOnAttackHitAsAttacker(); Defender.CallOnAttackHitAsDefender(); Triggers.ResolveTriggers(TriggerTypes.OnAttackHit, delegate { ResolveCombatDamage(SufferDamage); }); } else { SufferDamage(); } }
private static void CalculateAttackResults() { DiceRollAttack.RemoveAllFailures(); if (DiceRollAttack.Successes > 0) { AttackHit(); } else { if (Attacker.AttackIsAlwaysConsideredHit) { Messages.ShowInfo("Attack is considered a Hit"); AttackHit(); } else { AfterShotIsPerformed(); } } }
public static void CalculateAttackResults(Ship.GenericShip attacker, Ship.GenericShip defender) { DiceRollAttack.CancelHits(DiceRollDefence.Successes); DiceRollAttack.RemoveAllFailures(); if (DiceRollAttack.Successes > 0) { defender.AssignedDamageDiceroll = DiceRollAttack; foreach (var dice in DiceRollAttack.DiceList) { Triggers.RegisterTrigger(new Trigger() { Name = "Suffer damage", TriggerType = TriggerTypes.OnDamageIsDealt, TriggerOwner = defender.Owner.PlayerNo, EventHandler = defender.SufferDamage, Skippable = true }); } } SufferDamage(); }