SC2Mapster Wiki
Advertisement

Introduction[ | ]

Validators are boolean conditions that can be applied to any effect. They are also used as conditions for autocasting abilities, as well as determine effect to execute in switch effects and for Actor Events. Validators control whether an effect runs based on the all the validators for the effect returning true.

Validators placed in the first effect of an ability (Like abilites of type Effect - Instant, or Effect - Target) are known as Root Validators. Validators normally will simply cause the effect to fail, but root validators will prevent the use of the ability instead of just failing to run the effect.

Common Fields[ | ]

All the following fields are found in all validators

Find[ | ]

Tells if the validators has to find the said result, or the opposite. This inverts the result, a bit like Combine Negate field does.

  • For example, a unit type can be a Marine. If you want it to be anything BUT a marine, uncheck "Find", which will mean that Marines are forbidden by this validator.
  • Take note that on some validators, the word "Enabled" is used instead, for the same function. This can be seen on Unit State validators.

Ignore if Channeled[ | ]

Flag to ignore the validator while channeling. This can apply to persistent effects and behaviors which can be channeled.

Which Unit / Unit / Location / Impact Location / Impact Unit[ | ]

Usually the main unit concerned by the validator.

Other Unit[ | ]

As far as it has been tested, this field implies that the "Unit" has to be doing or not the validated action, equal to this field.

  • Usually set to None, mainly useless for most validators.
  • DOES NOT indicates at which location the Unit is doing the validated action. Ex: A "Unit Weapon Firing", validating "Unit" target location, with "Caster Unit" location set on "Other Unit" has nothing to do with the target unit attacking caster.

Rather, this means: with the "Find" enabled, the Target unit will validated true if doing the same action as the Caster, if both are firing or not firing their weapons. In this very situation, the validator was not checking if any weapon was firing, but rather, both doing the same action, related to weapon firing/or not. Not using "Other Unit" makes the validator back to normal, only checking if the weapon fires or not (according to Find field) at the "Unit" location. When 2 units are compared, the Find field will rather indicate if the result must be equal or not for both.

However, this statement is oddly false in a particular case: Unit in Weapon Range for example, will identify the "Other Unit" as the target to be in range of the "Unit" location. The subtility in this very case is that each of the "Unit" and "Other Unit" are in range of each others, relative to the "Unit" location at which the weapon range is tested or rather, both are in range of the weapon, which makes them have their common situation result as "validated true" (would this fail if the weapon had a minimum range? to be confirmed). One has to guess that some validators, such as Unit Compare Order Queue have their proper "Target Location" location field AND a "Other Unit" field apart, which is a good clue for understand it. There is also Unit Compare Order Target Range, such as the Zealot's Charge Minimum Trigger Distance (validator) that seems to omit this rule.

Result - Failure[ | ]

The error message that is displayed when the validator fails as part of Root Validation.

  • Some premade types of results have some unusual effects:
    1. "OK" message, which causes the validator to be ignored (returns true forever). This is also particular for Function Validators, which Result: Fallback field uses it to pass the validator in case of a fallback.
    2. "Not Supported" blocks the effect, but, even up to the ability/weapon. For example, a weapon first's effect which is validated by that, returning false, will cause the unit to move to the attack target (instead of attacking it), ignoring the attack ability.
    3. Using the default "Error" message and setting a cutom text, that is well checked in the box, doesn't show up properly. The "Error" message will always appear anyway.

Validators: Sub Types (Classes)[ | ]

Advertisement