public void AttemptPlayCardFromHand(AbstractCard logicalCard, AbstractBattleUnit target, QueueingType queueingType = QueueingType.TO_BACK ) { QueuedActions.DelayedActionWithCustomTrigger("Attempt play card from hand: " + logicalCard.Name, () => { IsCurrentActionFinished = true; if (logicalCard != null) { if (!logicalCard.CanPlay(target).Playable) { Shout(logicalCard.Owner, logicalCard.CanPlay(target).ReasonUnplayable); } else { RunCardEvocationSpecialEffects(logicalCard, target); logicalCard.PlayCardFromHandIfAble_Action(target); } } else { throw new System.Exception("Could not deploy card! None selected."); } CheckIsBattleOver(); }, queueingType); }