Epic: How Cards Technically Resolve


I was writing all of this out to explain the Lesson Learned targeting Ancient Chant interaction for my rating/explanation of all cards in Dark Draft. Frequent readers won’t be surprised to hear that I went I bit overboard. Since it got a bit longer than I was expecting and I didn’t like the formatting, I decided to make it a stand alone article.

Everything that follows is precisely how cards resolve in Epic. In the vast majority of situations, you do not need to know/understand this to play Epic.


Trigger Formatting
Triggering Condition → Trigger

When the Triggering Condition is met, the Trigger is added to a heap of Triggers waiting to resolve. As soon as the current game action finishes resolving, the heap of Triggers resolves. For example,

  1. I spend 1 gold to play White Knight from hand while I have Noble Unicorn in play.
  2. Noble Unicorn’s “Ally → Draw a card” trigger is added to a heap.
  3. White Knight enters play.
  4. Tribute → Draw a card” and “Loyalty 2 → Blitz” get added to the same heap as Noble Unicorn’s trigger.
  5. The heap containing “Ally → Draw a card,”Tribute → Draw a card,” and “Loyalty 2 → Blitz” resolves.
  6. I choose to resolve “Tribute → Draw a card” first.
  7. I draw a card: Ceasefire.
  8. Then I choose to resolve “Ally → Draw a card” next.
  9. I draw a card: Gold Dragon.
  10. Then I resolve “Loyalty 2 → Blitz” last.
  11. I reveal the Ceasefire and Gold Dragon I just drew to give White Knight blitz.

    Examples of a few triggers
  • Tribute → Draw a card.
  • Ally → Deal 4 damage to target champion. (ally-trigger)
  • When this card leaves your discard pile → Draw a card.
  • When you recall this card → Lose 1 health.

Playing a Card Overview + Triggers

When you play a card, any triggers that happen when that card is played, ally-triggers for instance, are added to a heap. All of these triggers resolve in the order of the controller’s choice, after the card finishes resolving.

While resolving a heap of triggers, if any additional triggers happen, these new triggers are added to a new heap. This new heap is resolved after the current heap finishes resolving. For multiple example of this, check out my Recycle Interactions article.

If both players have triggers that would resolve at the same time, either the current player or the player with the initiative resolves all of their triggers first, followed by the other player resolving all of their triggers.
(WWG was still deciding between the current player or the player with the initiative last I checked. [rare edge case])

Playing a Champion

For champions, after relevant triggers are added to the heap, you simply put the champion into play. Then, you put any of the champion’s triggers (loyalty or tribute) into the heap as well. Finally, resolve triggers in that heap in whatever order you would like.

Playing an Event

For events, after relevant triggers are added to the heap, the card enters the Supplemental Zone and fully resolves the entirety of its text. If more triggers happen during the resolution of the event, add them to the heap waiting to resolve. Once the entirety of the event’s text is resolved, the event leaves the Supplemental Zone and enters the discard pile. Finally, resolve triggers in the heap waiting to resolve in whatever order you would like.

Lesson Learned Targeting Ancient Chant

So, when Lesson Learned is played, it enters the Supplemental Zone.

  1. Resolving its text instructs the player to play an event from their discard pile without paying its cost. Ancient Chant is chosen and will resolve completely before the rest of Lesson Learned finishes resolving.
  2. Ancient Chant is therefore removed from the discard pile, causing Ancient Chant‘s “When this card leaves your discard pile → Draw a card” trigger to be added to a new heap, and Ancient Chant enters the Supplemental Zone to resolve
  3. Ancient Chant draws 2 cards (2 cards drawn)
  4. Since Ancient Chant is finished resolving, it leaves the Supplemental Zone and enters the discard pile
  5. Lesson Learned then finishes resolving, banishing Ancient Chant first, causing a second Ancient Chant “When this card leaves your discard pile → Draw a card” trigger to be added to the current heap waiting to resolve
  6. Then Lesson Learned banishes itself, so it can’t go to the discard pile after resolving
  7. Now that Lesson Learned is finished resolving, and no other triggers happened, the heap it created resolves. Since only one player has triggers in that heap, that player resolves their 2 triggers in an order of their choice
    Trigger 1: Ancient Chant‘s “When this card leaves your discard pile → Draw a card.”
    Trigger 2: Ancient Chant‘s “When this card leaves your discard pile → Draw a card.”
  8. The player chooses to resolve trigger 2 first, drawing a card (3 cards drawn), then trigger 1 second, drawing a card (4 cards drawn)

Continued with Greater Complexity

In the above example, if the Lesson Learned player had a Psionic Assault in their discard pile, expended Blue Dragon in play, and expended Keeper of Secrets in play, all of their ally triggers would be added to the heap at step 1.

For further narrative purposes, also assume the opponent is at 10 health with Guilt Demon and Thundarus in play, you (the Lesson Learned player) have 3 health with Flame Strike in your deck, only Time Bender and Knight of Shadows in hand, and only Psionic Assault and Memory Spirit in your discard pile.

Aside from adding the triggers at step 1, everything else stays the same until step 8. Below are the new steps:

  1. The heap now contains 5 triggers
    Trigger 1: Ancient Chant‘s “When this card leaves your discard pile → Draw a card.”
    Trigger 2: Ancient Chant‘s “When this card leaves your discard pile → Draw a card.”
    Trigger 3: Psionic Assault‘s ally → Recall
    Trigger 4: Blue Dragon‘s ally → Deal 2 damage to a target
    Trigger 5: Keeper of Secrets‘ ally → Recycle
  2. Currently, you are dead on board to either your opponent’s Guilt Demon or Thundarus. Thankfully, you can use your Blue Dragon trigger to break the Guilt Demon, and you can recall your Psionic Assault to give you loyalty to bounce your opponent’s Thundarus on their turn. On the other hand, if you draw your Flame Strike, you could target your opponent with your Blue Dragon trigger making Flame Strike lethal. Therefore, before resolving your Blue Dragon trigger, you decide to resolve your Ancient Chant triggers.
  3. Resolving Trigger 1, you draw a White Knight, does not help your situation at all
  4. Resolving Trigger 2, you draw a Helion’s Fury, since you now have 2 Sage cards in hand (Knight of Shadows and Helion’s Fury) to trigger Time Bender‘s Loyalty 2 → blitz ability, you do not need to return Psionic Assault to hand
  5. Going for lethal, you decide to resolve Trigger 5 next, recycling your Memory Spirit and your no longer needed Psionic Assault. Luckily, you draw your Flame Strike
  6. Next you resolve Trigger 4, dealing 2 damage to your opponent, bringing them into Flame Strike range
  7. Finally, you resolve Trigger 3, although since Psionic Assault is no longer in your discard pile (and has become a new game object after the zone change), it is not returned to your hand


As I said, for the vast majority of games, knowing precisely how cards resolve isn’t important. Most of the time, triggers just happen immediately after they trigger, and usually only 1 or 2 triggers happen at the same time.

3 thoughts on “Epic: How Cards Technically Resolve”

  1. Just stumbled across this because I was searching for information on a particular card’s timing.

    Good information on the stack order (or lack there of) for triggers. In have been playing Uber the assumption that triggers happen in the order with on the cards, starting with the card being played and then moving to ally abilities etc in whatever order. Now that I’ve read your, I’ll have to reexamine done or my previous assumptions.

    1. Glad this was helpful. If it didn’t answer the specific question you had a particular card’s timing, let me know and I can probably answer it.

      As a side note, I love how these triggers resolve with the new card: Krieg, Dark One’s Chosen. For example, you can play Zannos Corpse Lord while you have Krieg in play, resolve Zannos’ trigger first, then resolve Krieg’s and have multiple blitzing 3/3 zombies. This also works when you have Krieg in play and then play a 1-cost Evil event that triggers both Krieg’s ally ability and Necrovirus’ discard pile ally trigger (resolving Necrovirus’ trigger first).

      (On the flip side, playing The Risen to trigger Necrovirus from your discard pile will not give the Necrovirus zombies +1/+1 and blitz because they enter play after The Risen fully resolves.)

Leave a Reply

Your email address will not be published. Required fields are marked *