Requirements are sets of conditions that you can set to restrict the use or visibility of an ability, behavior, validator or command card button, these conditions include but are not limited to behaviors being set, abilities being enabled and upgrades being researched.
Requirements can be constructed as a tree or as an expression, for beginners the tree view is recommended.
Requirement nodes under the Use branch of the requirement tree must return true for abilities to be used even if not visible in the command card, for behaviors to be enabled and for Player Requirement validators to return true
Requirement nodes under the Show branch of the requirement tree must return true for abilities with a Restricted button state to appear in the command card.
Often used by Research abilities to hide upgrade buttons once queued.
Note that abilities can still be used by triggers and Issue Order effects even if they are not visible so it is advisable to also disable use of the ability via a duplicate requirement branch under Use.
Type: The type of node the specific node has been set to
Alias: The name of the ability/behavior/unit/upgrade to be queried
Can use Tech Alias values to refer to groups of units but needs to be entered in under Expression view
State: The status of the alias subject required for the node to count it
Completed: Counts the number of the alias active on the map at the current time
Completed at Unit: Counts the number of the alias active on the map at the current time belonging to the unit querying with this requirement
In Progress: Counts the number of the alias active on the map but are not yet completed
In Progress at Unit: Counts the number of the alias active on the map but are not yet completed belonging to the unit querying with this requirement
In Progress or Better: Counts the number of the alias active on the map but are not yet completed and those that are
In Progress or Better at Unit: Counts the number of the alias active on the map but are not yet completed and those that are belonging to the unit querying with this requirement
Kills: Counts the number of the alias killed by the player
Killed: Counts the number of units killed by the alias belonging to the player
Peak: Counts the maximum number of the alias that was owned by the player even if that number is no longer being reached
Queued: Counts the number of the alias queued but not yet completed
Queued at Unit: Counts the number of the alias queued but not yet completed belonging to the unit querying with this requirement
Queued or Better: Counts the number of the alias queued but not yet completed and those that are
Queued or Better at Unit: Counts the number of the alias queued but not yet completed and those that are belonging to the unit querying with this requirement
Queued Or Better Or Revivable: When counting tech units, this will include reviving and revivable heroes. This is very useful when implementing hero training restrictions. For example, if you have the restriction, “You cannot train more than 3 heroes”, you probably don’t want to only count living heroes.
Total: Counts the combined number of the alias to have existed under control of the player
Value: Numerical value or slot integer to be counted
There is a problematic when using "Completed at unit". As it is unclear if this is a bug or intented by Blizzard, using the Completed at unit will work different in some cases:
Using only X Behavior Completed at unit will cause the requirement to return true if the behavior is "present" on the unit or not. This means, even if disabled, the requirement will return true.
Using an operator ""Equals" or ""Greater" or "Less" or etc., with X Behavior Completed at unit and a constant, will determine the amount of active stacks of the behavior. This means that a stack requires the behavior to be enabled in order to be considered "active". Another way to put it, is that this will cause the behavior to be true if enabled (if using for example the "Greater or Equals than" Constant 1),
New nodes can be added by right clicking the Use folder, the Show folder or a previous node that you want to place the new node under and clicking the Add Requirement Node button. Some node types have limits as to how many nodes you can have under them.
Logic and maths nodes work by comparing the upper node to the lower node.
Start the requirement with And, Or and Not nodes followed by comparative logic nodes. Under the comparative logic nodes use maths nodes to apply weighting to the values of your terminal nodes. Use the terminal nodes to count what you want the requirement to count and use constants to compare against or add weighting as needed
There is no subtraction node so you need to add the amount you would have subtracted to the other side of the logic function (a+c=b is the same as a=b-c)
This page was last edited on 27 February 2021, at 17:57.
Content is available under CC BY-NC-SA 3.0 unless otherwise noted. Game content and materials are trademarks and copyrights of their respective publisher and its licensors. All rights reserved.
This site is a part of Fandom, Inc. and is not affiliated with the game publisher.