This is, essentially, a list of all the complicated or non-intuitive spells in the game and a detailed description of their behavior. The Draw Guide and the Recursion Guide are essentially required reading for understanding many of these spells.
Greek Letter Spells
All of the Greek Letter Spells are Recursive spells, and are subject to the limitations that the recursion limit imposes. They each copy spells in slightly different ways!
Gamma calls the last spell in the deck, or if the deck is empty, it calls the last spell in the hand. Very simple.
Alpha calls the first spell in the discard, or if the discard is empty, it calls the first spell in the hand. Somewhat simple, but it can have unexpected interactions with effects that move things to the discard prematurely. For instance, D10 > Spark Bolt > Alpha will have the Alpha casting Spark Bolt instead of D10, because Spark Bolt is prematurely sent to the discard by D10.
Tau memorizes the top two spells of the deck, then calls them. Very simple, no special cases.
Phi and Sigma
Phi and Sigma first save the current cast delay, recharge time, and mana on the wand. Then, they scan through the discard, then the hand, then the deck, calling all spells of the appropriate type. Then, the saved cast delay, recharge time, and mana are restored, before Phi or Sigma's own cast delay is applied. This allows the casting of projectiles or static projectiles without regard for their cast delay or recharge time. The mana storage functionality does nothing, since I don't think there's a way for the calling of projectiles or static projectiles to affect mana, but it's there.
Phi and Sigma both set the draw_disabled flag to True before casting their spells, and set it to False when finished. This means that trigger spells called by Phi or a Delayed Spellcast called by Sigma will not draw any cards and not therefore not cast anything when they otherwise would.
Strangely, Sigma draws a spell at the end of its execution, after having set draw_disabled to False. This means it does not play nicely with Divide spells. See the guide on Divide spells for more info.
Mu behaves almost exactly the same as Phi and Sigma, but it's worth some further discussion. It shares the functionality of saving and restoring cast delay, recharge time, and mana, and it draws a spell at the end of its execution, just like Sigma. The fact that it saves and restores mana is remarkable in this case, though, simply because of the existence of Mana to Damage. Mu can save the current mana, cast Mana to Damage, then restore the initial mana value, then do it all again on the next go around.
Mu also sets the draw_disabled flag to True before calling spells and False afterwards, before drawing a single spell of its own. As with Sigma, this means it does not play well Divide spells. See the Divide guide for more info.
Omega scans through the discard, hand, and deck, calling every spell. Draw is disabled before casting every spell and re-enabled afterwards. If a spell, like Mu or Sigma, overrides the draw_disabled flag and draws a spell on its own, Omega cannot stop it from doing so.
Omega will never cast Wand Refresh, and will never cast a recursive spell if it is currently in the hand. As such, Omega will not cast itself if it is in the hand, but will do so if it is in the discard or deck.
Modifications to the discard, hand, and deck during the evaluation of Omega will be immediately reflected. Examples:
- If Mu is in the discard, Omega will call it, and then it will draw a spell. Suppose that spell is a Divide, so it adds a card to the discard after it finishes evaluating. Omega will then, on its same pass through the discard, cast that spell that has been newly added.
- If spells are removed from the deck while Omega is scanning through it, strange things happen. The way Omega actually works is that first it calls the first spell in the deck, and then it calls the second spell in the deck, and then it calls the third, and so on. If a spell changes from being the second spell in the deck to being the first spell in the deck during the evaluation of the initial first spell in the deck, it will never be called.
- For instance: Gamma > Spark Bolt > Refresh > D10 > Omega will only cast 11 Spark Bolts, because Omega never casts itself for a second time. First Gamma calls Omega, which calls Spark bolt and then D10. At that point, D10 is the third card in the deck, and Omega the fourth. D10 calls 10 Spark Bolts and then discards it, moving D10 to be the second spell in the deck and omega to be the third. Then, when Omega has finished calling D10, it tries to call the fourth spell in the deck, but there is none, so it finishes. in this way, Omega has slipped through the cracks. This effect can also be replicated with draw, such as with Mu or Sigma, or with any other spell that causes discards, like Add Trigger or the Requirement spells.
Wand Refresh is one of the most important spells, but it's got a lot of particularities.
Wand Refresh's effect is to move all spells in the hand and deck to the discard and then remake the deck by moving the discard back to the deck and ordering it properly. This allows refreshing the deck without recharging the wand, but there is a limit. If Wand Refresh is cast for a second time without finishing the wand's cast, it will simply move all spells to the discard and do nothing else, forcing the wand to recharge normally after all other active spells have finished their evaluation. Additionally, when refresh is cast for the first time, it makes wrapping impossible until the next cast of the wand.
Wand refresh, by virtue of moving spells from the hand directly to the discard, circumvents the normal procedure for spell transference. Normally, a mechanism performs this move from the hand to the discard when appropriate, and it also does some other things. Notably, the default discard mechanism is the thing that removes charges from spells, so if you discard cards with refresh instead of the normal way, uses are not deducted. This also has a strange effect on Always Cast spells, discussed in the dedicated section below (TODO).Discarded always-cast spells will stack each time you cast wand refresh.
Wand refresh also has a strange property that can remove all recharge time on a wand. The way it works is that if refresh is cast once, but not twice, within a single cast of the wand, then the wand will not actually apply recharge time. This can be achieved in multiple ways, but the goal is the same: never cast refresh twice in a single cast of the wand, because that will instantly force the wand to recharge. There is a danger with this method, though: if you continue using the wand without ever letting it recharge, then the recharge time will stack up if you are using spells that increase it. Then, if you ever fail to cast refresh (if you run out of mana, for instance), all of that recharge time will be applied at once, potentially leading to an utterly massive recharge time before you can use the wand again. This can be avoided by placing an Add Mana before the refresh so it always has enough mana, no matter what.
A last strange property of refresh is that if it is cast alone, or with only modifiers (like add mana) in the same cast block, then cast delay will not be applied. This is not particularly useful most of the time, but it might be.
The description for this spell is not very useful. Spell Duplication scans through the hand and calls every spell that isn't a Spell Duplication, and then it draws 1 spell itself. The draw_disabled flag is untouched, so draw generally works for called spells.
The spell memorizes how large the hand is when it starts, and only casts that many spells from the hand. Thus, Spell Duplication won't call any spells that are drawn during its evaluation.
Spells to Power
Add Trigger Spells
Add Trigger (and related spells, like Add Timer, which share the same logic) are deceptively powerful spells, and also probably the most complicated spells in the game. Divides might be more complicated, but either way, it's close. These spells could maybe use its own guide with examples and such, but if you're reading this, I haven't written it yet, so you're stuck with the below. I'll refer to Add Trigger in the following, but all of the spells work the same way except for the obvious difference in their result.
When Add Trigger is cast, it scans through the deck, inspecting every spell and trying to find something that it can add a trigger to. That is, it searches for a spell of type Projectile, Static Projectile, Material, or Utility. IT doesn't make much sense to apply a trigger to some of those things, like a material or a Wand Refresh, for instance, which is Utility, but that's how it is.
In the course of looking for a spell of those four types, it may pass over a bunch of other spells. It invariably discards all of those spells. For instance, Add Trigger > D10 > D10 > Spark Bolt will only cast a single Spark Bolt with Trigger - D10 is of type Other, and thus uis simply discarded while Add Trigger looks for a target.
If the spell that is discarded in this process is a modifier, that modifier is also called before it is discarded. For instance, Add Trigger > Homing > Piercing > Spark Bolt > Digging Bolt will cast a homing, piercing spark bolt that casts digging bolts on trigger. The catch is that you don't end up paying the mana cost for those modifiers, because they were called and discarded instead of drawn. This ability to call many modifiers for a mere 10 mana can be very powerful.
Take care with your cast delay and recharge time, though; Add Trigger does not mitigate the delays that the modifiers that it calls impose. You'll have to use a chainsaw and a wand refresh to get rid of those, or do it some other way.
Then, after Add Trigger has found its target and discarded everything before it, it checks if there is a "related projectile" for the spell. This will always be the case for a Projectile, Static Projectile, or Material, but is not always the case for a Utility spell. If there is no related projectile, then Add Trigger's evaluation simply ends. This is also what happens if there was no target in the deck. In either case, all spells before the end of the wand or the Utility spell with no "related projectile" are discarded and potentially called, and then nothing else happens. For instance, Double Spell > Spark Bolt > Add Trigger > Piercing > Homing > Wand Refresh will cast a homing piercing spark bolt on the first click, and then Wand Refresh on the second. And if Wand Refresh was gone, then the same projectile would be produced either way.
So what happens if there is a target with a related projectile and thus execution does not end? That depends on whether or not there's another valid target in the deck, strangely. At this point, after Add Trigger has chosen its target, it scans through the rest of the deck to check whether there's another spell of type Projectile, Static Projectile, Material, or Utility. If there isn't, then the target spell is called and then discarded, and there is no adding of the trigger, You just get a normal projectile, for whatever reason. The projectile applies its cast delay, but does not cost any mana, as is customary for a called spell.
However, if there is a valid target left in the deck, Add Trigger works properly. In this case, the original target is discarded without being called. Instead, Add Trigger directly makes a trigger projectile using the target's related projectile and then adds it to the cast state. This means that the target projectile does not apply any cast delay or recharge time since it is never called, nor does it cost any mana. However, Add Trigger manually reduces the uses remaining of the projectile, so that is still a concern.
If there are multiple projectiles emitted by the target spell, as is the case with Triplicate Bolt, then each of those three bolts gain a trigger. Each of them create a separate cast state and draw one from the deck, one after the other. This is a rather unique property.
And that's all! Easy, right?
Do note that since Add Trigger discards spells, it will impact the behavior of your wand if it wraps. If you have too much draw, you'll draw the modifiers and projectile that you discarded with Add Trigger and end up paying their full cost for a second copy. This discard property can also be used intentionally for some creative wand design, if one has the proclivity.
Thanks for reading! Hopefully this knowledge helps you make some crazy-looking wands. Playing around with the bizarre behaviors of these spells to get useful results is really fun, and I hope you enjoy fiddling around and making new creations.
Written by Zoldort