Trigger Updates with Frostheart

Hey All! Corey Burkhart back with a rules update that we’ll be rolling out with the release of Frostheart! Over the life of HEX, we’ve adjusted some rules to give you the best play experience. Our goal is always to be clear, consistent, and intuitive wherever possible. Today we are going to talk about a rule that has gone through a ton of iterations and improvements—the trigger system.

Triggers are powers that are caused by some other event or timing. Some examples of a trigger power are parts of a card’s textbox where the sentence leads off with the word “At” or “When.” These words often either denote a timing (At end of turn, At the start of your turn, etc) or they denote something happening (When this attacks, when you draw a card, etc). Today, we’re cleaning up some of the complexities and awkwardness caused by multiple layered triggers. Simply put, we’re streamlining how some triggers resolve when multiples happen at the same time.

In HEX, we have two trigger types: targeted and untargeted triggers. Targeted triggers are the triggers that demand you choose a target for them. These triggers are then put on the chain where both players have a chance to respond. A targeted trigger is any trigger that involves the word “target.” Some examples of this are Daughter of the Poet and Spirit Oracle. Untargeted triggers are triggers that just happen without any opportunity to respond. They’re added to the chain behind the scenes, but both players pass priority automatically to smooth gameplay. An untargeted trigger is any trigger that doesn’t use the word “target.” Some examples of this are Hallowed Radiance and Righteous Paladin. Untargeted triggers just happen, so you can concentrate on having fun. It would get tedious very quickly if you had to pass priority every single time anything happened in HEX. So while untargeted triggers are important, we found that they could get confusing when layered together with targeted triggers. As such, we decided to improve the system as a whole.

What are we cleaning up?

So, what’s happening you might ask? We’re changing the way untargeted triggers resolve when they are added to the chain. Living in a digital client, we want everything to be very clear and very clean. The current system is falling short on that goal.

In the current engine, because everything uses the chain, it’s possible for there to be targeted triggers trying to resolve with untargeted triggers in between, thereby creating awkward and unintuitive scenarios. If you’ve ever played a Dark Heart of Nulzann together with Bloodspinner Zorath, you may have noticed that sometimes you are able to sacrifice the Dreadling that is created by Dread Banner and sometimes you are forced to sacrifice the Banner before the Dreadling is put into play. This is in part because the chain cares about *when* something happens—the first item on the chain is the last to resolve. It is something that every HEX player learns very quickly, and normally this ordering is quite intuitive for targeted triggers.

In the case of an untargeted trigger, however, things get more complicated. Let’s say you have two Underworld Officers on the board. They each have a “When this attacks” untargeted trigger. “Declaring attackers” is a singular event that triggers both troop’s triggers, so how does the engine determine which Underworld Officer gets buffed first? Remember, untargeted triggers use the chain, and the chain requires that triggers come off and on in sequence. There’s no such thing as something happening “at the same time.” Therefore, the engine relies on a concept called time stamp order to resolve these kind of conflicts.

Time stamp order means that the moment something enters the trigger zone (usually in play), the engine remembers that order. The oldest thing is always added to the chain first, meaning that it’s the last to resolve. In the case of our two Underworld Officers, we can see that the newest officer will be buffed first since its trigger will be added to the chain last.

In most cases—like with the Underworld Officers above—this ordering is completely irrelevant to a player as there are no decisions to be made. However, there are some occasions where a targeted trigger will layer between untargeted triggers, resulting in complex scenarios where you don’t really know what’s happening or why. This leads to some funky things happening and, most importantly, instances where a player must make a decision without easy access to what will happen next.

We’re cleaning this up by separating triggers by their trigger type. In our new system, all untargeted triggers will resolve before targeted triggers. You can no longer have a targeted trigger on the chain with five untargeted triggers waiting to resolve after it. This is important because now information is frontloaded. All the stuff a player can’t interact with will happen first, then players can safely decide their targets without wondering what will happen next.

For an example of this change in action, let’s take a look at Quash Ridge Tusker and Protectorate Defender with the Major Diamond of the Ardent. Tusker has a targeted trigger and Protectorate Defender has an untargeted trigger from the gem. Now, when both attack, rather than relying on time-stamp order like we would have previously, we will ALWAYS resolve the untargeted trigger before selecting targets. Thus, the Protectorate Defender’s gem power will activate, readying both cards and giving them +1[ATK]/+1[DEF]. Then, you’ll be prompted to select a target for the Tuskar trigger. The result is that the untargeted gem trigger will ALWAYS provide a stat bonus to your troops before something targeted like Tusker will grant its attack bonus to another troop.

Let’s try another example:

You have a troop with both “Deathcry – Summon a Blightblossom” and “Deathcry – Target troop you control gets +1[ATK].” The Deathcry power that creates a Blightblossom is untargeted. The +1[ATK] is targeted. Untargeted triggers always resolve first, therefore you will always be able to target your Blightblossom with the +1[ATK] if you wish, resulting in a 2/1.

To summarize, triggers are added to the chain in the following order:

Turn player’s untargeted triggers in time-stamp order (eldest added first). Non-turn player’s untargeted triggers in time-stamp order (eldest added first). Turn player’s targeted triggers in time-stamp order (eldest added first).* Non-turn player’s targeted triggers in time-stamp order (eldest added first).*

*Theses triggers are not moved to the chain until all untargeted triggers have resolved from the chain.

Thus, the resolution order is:

Non-turn player’s untargeted triggers in time-stamp order (eldest resolved last). Turn player’s untargeted triggers in time-stamp order (eldest resolved last).

The game will resolve all of these triggers, then prompt players to select targets for their targeted triggers in the order specified above in “adding triggers to the chain.”

Non-turn player’s targeted triggers in time-stamp order (eldest resolved last). Turn player’s targeted triggers in time-stamp order (eldest resolved last).

The other major fix here is that we are cleaning up some bugs with trigger order that happened in some obscure places. There were some errors on live where a series of targeted and untargeted triggers would cause the chain order to be flipped around, such that the first item on the chain was the eldest thing in time stamp order (correct) and the last item on the chain was the newest (also correct), but everything in between was inverted. This has been fixed. Now, those of you who are used to playing with Dark Heart of Nulzann shouldn’t see weird timing anymore when there are four or more triggers going on the chain at the start of the turn.

Ultimately, though the changes today are quite minor, I think you will be pleased with the results. These tweaks clean up a complex system and help you, the player, always be able to figure out the results of your own actions. We want to make sure every part of HEX is approachable and explainable, and the changes today really go a long way in keeping what’s going on in a game of HEX on the screen and not some mystery behind the scenes.

If you have questions regarding this change, please feel free to ask them in our forums. I’ll get to them throughout the day!

~Corey Burkhart

Got any questions? Want to chat with other players? Then discuss this article in our Forums! You can also follow us on Twitter and Facebook, or enjoy regular streams on our official Twitch channel.