Line + in a Function Validator opens up a window that allows you to create a system of Validators that function similar to if-then-else. This system allows you to dynamically change how the Function Validator reacts based upon which Validator in the list passes first. These are currently being used by the Tactical AI Data tab in determining how the AI plays.
It is important to understand how Validators are considered "passed." A Validator can enable or disable Find. When disabled, if the target doesn't meet the conditions, it is considered passed. Thus if you were looking for a specific unit and it didn't find it, the Validator would allow whatever you validated to happen. When enabled, the opposite is true. If the target doesn't meet the conditions, the Validator disallows whatever you validated from happening.
Index:
Determines the order in which lines of Validators are checked. Standard top to bottom.
Break:
Stops the Function Validator once a line with this is enabled. Useful for testing long lists.
Failure:
If the listed Validator passes (finds what it's looking for, failure or success) the Function Validator returns failure. All following lines are ignored.
Ignored:
If the listed Validator passes (finds what it's looking for, failure or success) the Function Validator returns ignored. This is similar to returning failure, but does not display the error messages associated with failure. All following lines are ignored.
Return:
The Function Validator returns whatever the listed Validator returns (failure or success). All following lines are ignored.
This is typically used with Test as a way to replace the Function Validator under certain conditions.
Success:
If the listed Validator passes (finds what it's looking for, failure or success) the Function Validator returns success. All following lines are ignored.
Test:
If the listed Validator does not pass (finds what it's looking for, failure or success) the Validator in the same line (Failure/Return/Success) is skipped.
This allows you to check for a specific "something" on whatever is being validated. This can be used to put multiple units in the same list by using Test to check for each unit or even to make the validated target have a different list for variable "somethings."
Determines who sees the Alert and thus who can press spacebar or click on the Alert Icon.
Primary Actions +:
Determines what happens when a player presses spacebar or left-clicks on the Alert Icon. Enable View to center the screen when interacting with the Alert.
Secondary Actions +:
Determines what happens when a player right-clicks on the Alert Icon. Enable View to center the screen when interacting with the Alert.
The Token Fields at the top of the list on the right allow you to quickly link Effects to their respective Events. They use Bogus Effects as default values that you replace with your desired Effects. Think of them as "Cause and Effect" values.
You will usually only use the Attack Token or the Launch Token and Impact Token. You should never "need" to use all three together.
Attack Token:
"Effect without a Cause"
The Effect that triggers the Impact Model or Impact Map + in one-step Effect-Chains.
Example: Marine's Effect - Damage from weapon.
Launch Token:
"Cause and Effect"
The Effect that triggers the Launch Model or Launch Assets + at the beginning of an Effect-Chain segment.
Example: Marauder's Effect - Launch Missile from weapon launch.
Example: Mutalisk's Effect - Launch Missile at each weapon bounce.
Impact Token:
"Cause and Effect"
The Effect that triggers the Impact Model or Impact Map + at the end of an Effect-Chain segment.
Example: Marauder's Effect - Damage from weapon impact.
Example: Mutalisk's Effect - Damage at each weapon bounce.
Events +
The names refer to the order they appear on the list.
1st Default (Impact) Effect:
Effect.Bogus.Start - At Caster | From Effect Tree Descendant - Action Impact
Creates the Impact Model or Impact Map +. Bogus is replaced with the Impact Token's value.
2nd/3rd Default (Splash) Effects:
Effect.SplashDamage.Start - At Caster | From Effect Tree Descendant - Action DamageEffect.SplashDamage.Start - At Source | From Effect Tree Descendant - Action Damage
Creates the Damage Model or Damage Map +. This is only used if the Effect - Damage from the Attack Token or Impact Token has splash built into it.
4th Default (Attack) Effect:
Effect.Bogus.Start - At Caster - Create
Creates the Impact Model or Impact Map +. Bogus is replaced with the Attack Token's value.
5th Default (Launch) Effect:
Effect.Bogus.Start - At Caster - Create
Creates the Launch Model or Launch Assets +. Bogus is replaced with the Launch Token's value.
This is most commonly caused by a problem in the Art - Missile field. Specifically, the custom radial button is selected instead of the actor radial button.
Actor Radial Button:
This is the one you want to use. Find the appropriate Missile Actor on the list and this "should" correct the issue.
Alias Radial Button:
I don't recommend using this. Aliases are typically used to select a range of data objects as in the case of _Missile or _Unit. Great for various types of attachments. Not so great for selecting the Missile Actor.
System Radial Button:
I don't recommend using this either. Most of the values on the list will cause problems as the product derived from whatever value you choose is highly likely to pick an Actor that isn't compatible.
Reference Radial Button:
Another option you should avoid. As with the previous two, this looks for an Actor by reference based on the chosen value rather than using a specific Actor.
Custom Radial Button:
I honestly couldn't tell you what this does. If you're using this, chances are your Action Actor is broken.
It is important to note that these fields reference Actors and NOT Models. Thus if you use these fields you must pick Actors that create Models. A Site Operation Actor wouldn't work in these fields despite being allowed to pick them.
Launch Assets +, Impact Map + and Damage Map + skip Actors and use Models directly. They require less work but restrict customization.
Art - Beam:
Links the Beam Actor that will be created for the Action Actor.
Example: Colossus beams.
Art - Container Model:
Links the Model Actor that will be used in the place of Launch Assets + when the Unit that creates it is garrisoned.
Example: firing from a Bunker.
Art - Impact Model:
Links the Model Actor that will be used in the place of Impact Map +.
Example: explosion from impact.
Art - Impact Model Reaction:
Links a Model Actor that will be created in addition to the Impact Model or Impact Map +. This is only created if the target reacts to the attacker. Thus this usually only shows up when attacking enemy players while not showing up when attacking yourself or allies.
Example: adding effects when attacking enemies without requiring a Switch or Validator.
Art - Launch Model:
Links the Model Actor that will be used in the place of Launch Assets +.
Example: muzzle flash on a Marine's weapon.
Art - Missile:
Links the Missile Actor that will be created for the Action Actor.
Example: Marauder missiles.
Art - Shield Flash Type:
Determines how the target's shields will respond.
Facer: triggers shield ripples facing the attacker. Header: triggers shield ripples facing the attacker and angled upwards. Full: triggers full sphere shield ripples. None: doesn't trigger shield ripples.
Art - Shield Ripple Scale Factor:
Determines the magnitude of shield ripples.
Combat - Damage Model:
Links the Model Actor that will be used in the place of Damage Map +.
Example: blood splats from splash damage.
Combat - Damage Model Reaction:
Links a Model Actor that will be created in addition to the Damage Model or Damage Map +. This is only created if the target reacts to the attacker. Thus this usually only shows up when attacking enemy players while not showing up when attacking yourself or allies.
Example: adding effects for splash damage to enemies without requiring a Switch or Validator.
Unit Actor
Art - Model: the Model shown when not overridden by the exceptions below.
Art - Model (Build): the Model shown while under construction
Art - Model (Editor): the Model shown after being placed in the editor.
Art - Model (Placement): the Model shown when being placed in the editor and in-game.
Art - Model (Portrait): the Model shown in the portrait window.
Combat - Death Actor Model: the Model used for death.
This thread exists for the sole purpose of answering questions that are too complex for a single sentence answer yet specific enough not to warrant a full blown tutorial. If you have questions that you can't find the answers to, this is a good place to ask them.
Your question should be something specific like "How do I make a mana shield?" or "How do I make units spawn on a timer?" Questions that can be answered with a short tutorial you complete in 5-10mins. Vague questions like "How do movers/morphs/dialogs" work will be directed to the Tutorial Section
IMPORTANT:Be sure to let us know what method you would prefer such as Data vs Triggers.
[DATA] Validators - "How do Function Validators work?"
(Return to Index)
Validators Tab
Line + in a Function Validator opens up a window that allows you to create a system of Validators that function similar to if-then-else. This system allows you to dynamically change how the Function Validator reacts based upon which Validator in the list passes first. These are currently being used by the Tactical AI Data tab in determining how the AI plays.
In Coding Terms
In Layman's Terms
It is important to understand how Validators are considered "passed." A Validator can enable or disable Find. When disabled, if the target doesn't meet the conditions, it is considered passed. Thus if you were looking for a specific unit and it didn't find it, the Validator would allow whatever you validated to happen. When enabled, the opposite is true. If the target doesn't meet the conditions, the Validator disallows whatever you validated from happening.
Index:
Determines the order in which lines of Validators are checked. Standard top to bottom.
Break:
Stops the Function Validator once a line with this is enabled. Useful for testing long lists.
Failure:
If the listed Validator passes (finds what it's looking for, failure or success) the Function Validator returns failure. All following lines are ignored.
Ignored:
If the listed Validator passes (finds what it's looking for, failure or success) the Function Validator returns ignored. This is similar to returning failure, but does not display the error messages associated with failure. All following lines are ignored.
Return:
The Function Validator returns whatever the listed Validator returns (failure or success). All following lines are ignored.
This is typically used with Test as a way to replace the Function Validator under certain conditions.
Success:
If the listed Validator passes (finds what it's looking for, failure or success) the Function Validator returns success. All following lines are ignored.
Test:
If the listed Validator does not pass (finds what it's looking for, failure or success) the Validator in the same line (Failure/Return/Success) is skipped.
This allows you to check for a specific "something" on whatever is being validated. This can be used to put multiple units in the same list by using Test to check for each unit or even to make the validated target have a different list for variable "somethings."
(Return to Index)
[DATA] Alerts - "How do I center the screen on an Alert with spacebar?"
(Return to Index)
Alerts Tab
Display +:
Determines who sees the Alert and thus who can press spacebar or click on the Alert Icon.
Primary Actions +:
Determines what happens when a player presses spacebar or left-clicks on the Alert Icon. Enable View to center the screen when interacting with the Alert.
Secondary Actions +:
Determines what happens when a player right-clicks on the Alert Icon. Enable View to center the screen when interacting with the Alert.
(Return to Index)
[DATA] Actors - "What are the Bogus Effects in an Actor's Events?"
[DATA] Actors - "Why do Action Actors reference splash damage?"
(Return to Index)
Action Actor
The Token Fields at the top of the list on the right allow you to quickly link Effects to their respective Events. They use Bogus Effects as default values that you replace with your desired Effects. Think of them as "Cause and Effect" values.
You will usually only use the Attack Token or the Launch Token and Impact Token. You should never "need" to use all three together.
Attack Token:
"Effect without a Cause"
The Effect that triggers the Impact Model or Impact Map + in one-step Effect-Chains.
Example: Marine's Effect - Damage from weapon.
Launch Token:
"Cause and Effect"
The Effect that triggers the Launch Model or Launch Assets + at the beginning of an Effect-Chain segment.
Example: Marauder's Effect - Launch Missile from weapon launch.
Example: Mutalisk's Effect - Launch Missile at each weapon bounce.
Impact Token:
"Cause and Effect"
The Effect that triggers the Impact Model or Impact Map + at the end of an Effect-Chain segment.
Example: Marauder's Effect - Damage from weapon impact.
Example: Mutalisk's Effect - Damage at each weapon bounce.
Events +
The names refer to the order they appear on the list.
1st Default (Impact) Effect:
Effect.Bogus.Start - At Caster | From Effect Tree Descendant - Action Impact
Creates the Impact Model or Impact Map +. Bogus is replaced with the Impact Token's value.
2nd/3rd Default (Splash) Effects:
Effect.SplashDamage.Start - At Caster | From Effect Tree Descendant - Action Damage Effect.SplashDamage.Start - At Source | From Effect Tree Descendant - Action Damage
Creates the Damage Model or Damage Map +. This is only used if the Effect - Damage from the Attack Token or Impact Token has splash built into it.
4th Default (Attack) Effect:
Effect.Bogus.Start - At Caster - Create
Creates the Impact Model or Impact Map +. Bogus is replaced with the Attack Token's value.
5th Default (Launch) Effect:
Effect.Bogus.Start - At Caster - Create
Creates the Launch Model or Launch Assets +. Bogus is replaced with the Launch Token's value.
(Return to Index)
[DATA] Actors - "Why is my Missile firing from the Unit's Origin?"
(Return to Index)
Action Actor
This is most commonly caused by a problem in the Art - Missile field. Specifically, the custom radial button is selected instead of the actor radial button.
Actor Radial Button:
This is the one you want to use. Find the appropriate Missile Actor on the list and this "should" correct the issue.
Alias Radial Button:
I don't recommend using this. Aliases are typically used to select a range of data objects as in the case of _Missile or _Unit. Great for various types of attachments. Not so great for selecting the Missile Actor.
System Radial Button:
I don't recommend using this either. Most of the values on the list will cause problems as the product derived from whatever value you choose is highly likely to pick an Actor that isn't compatible.
Reference Radial Button:
Another option you should avoid. As with the previous two, this looks for an Actor by reference based on the chosen value rather than using a specific Actor.
Custom Radial Button:
I honestly couldn't tell you what this does. If you're using this, chances are your Action Actor is broken.
(Return to Index)
[DATA] Actors - "What are all of the Art - [NAME] fields for?"
[DATA] Actors - "What does Model Reaction do in Impact Map +?"
(Return to Index)
Action Actor
It is important to note that these fields reference Actors and NOT Models. Thus if you use these fields you must pick Actors that create Models. A Site Operation Actor wouldn't work in these fields despite being allowed to pick them.
Launch Assets +, Impact Map + and Damage Map + skip Actors and use Models directly. They require less work but restrict customization.
Art - Beam:
Links the Beam Actor that will be created for the Action Actor.
Example: Colossus beams.
Art - Container Model:
Links the Model Actor that will be used in the place of Launch Assets + when the Unit that creates it is garrisoned.
Example: firing from a Bunker.
Art - Impact Model:
Links the Model Actor that will be used in the place of Impact Map +.
Example: explosion from impact.
Art - Impact Model Reaction:
Links a Model Actor that will be created in addition to the Impact Model or Impact Map +. This is only created if the target reacts to the attacker. Thus this usually only shows up when attacking enemy players while not showing up when attacking yourself or allies.
Example: adding effects when attacking enemies without requiring a Switch or Validator.
Art - Launch Model:
Links the Model Actor that will be used in the place of Launch Assets +.
Example: muzzle flash on a Marine's weapon.
Art - Missile:
Links the Missile Actor that will be created for the Action Actor.
Example: Marauder missiles.
Art - Shield Flash Type:
Determines how the target's shields will respond.
Facer: triggers shield ripples facing the attacker.
Header: triggers shield ripples facing the attacker and angled upwards.
Full: triggers full sphere shield ripples.
None: doesn't trigger shield ripples.
Art - Shield Ripple Scale Factor:
Determines the magnitude of shield ripples.
Combat - Damage Model:
Links the Model Actor that will be used in the place of Damage Map +.
Example: blood splats from splash damage.
Combat - Damage Model Reaction:
Links a Model Actor that will be created in addition to the Damage Model or Damage Map +. This is only created if the target reacts to the attacker. Thus this usually only shows up when attacking enemy players while not showing up when attacking yourself or allies.
Example: adding effects for splash damage to enemies without requiring a Switch or Validator.
Unit Actor
Art - Model: the Model shown when not overridden by the exceptions below.
Art - Model (Build): the Model shown while under construction
Art - Model (Editor): the Model shown after being placed in the editor.
Art - Model (Placement): the Model shown when being placed in the editor and in-game.
Art - Model (Portrait): the Model shown in the portrait window.
Combat - Death Actor Model: the Model used for death.
(Return to Index)
First round of mini-tutorials will be coming out shortly :) Just busy typing them up and such.
(Return to Index)
Data (XML Coding) Questions
Actors
Alerts
Behaviors
Requirements, Upgrades & Validators
(Return to Index)
(Return to Index)
Triggering (Galaxy Script) Questions
Physics Engines
(Return to Index)
(Return to Index)
Terraining Questions
(Return to Index)
Editor Q&A (Mini-Tutorials)
What is this I don't even. . .
This thread exists for the sole purpose of answering questions that are too complex for a single sentence answer yet specific enough not to warrant a full blown tutorial. If you have questions that you can't find the answers to, this is a good place to ask them.
Your question should be something specific like "How do I make a mana shield?" or "How do I make units spawn on a timer?" Questions that can be answered with a short tutorial you complete in 5-10mins. Vague questions like "How do movers/morphs/dialogs" work will be directed to the Tutorial Section
IMPORTANT: Be sure to let us know what method you would prefer such as Data vs Triggers.
Index
1) TERRAIN
2) TRIGGERS (GALAXY SCRIPT)
3) DATA (XML CODING)
Additional Information
Miscellaneous Questions