<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.ashesofthesingularity.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Patiobattle04</id>
	<title>Ashes of the Singularity - Official Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.ashesofthesingularity.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Patiobattle04"/>
	<link rel="alternate" type="text/html" href="https://wiki.ashesofthesingularity.com/index.php/Special:Contributions/Patiobattle04"/>
	<updated>2026-04-25T17:00:14Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.1</generator>
	<entry>
		<id>https://wiki.ashesofthesingularity.com/index.php?title=Script_Commands&amp;diff=8761</id>
		<title>Script Commands</title>
		<link rel="alternate" type="text/html" href="https://wiki.ashesofthesingularity.com/index.php?title=Script_Commands&amp;diff=8761"/>
		<updated>2017-01-18T21:14:01Z</updated>

		<summary type="html">&lt;p&gt;Patiobattle04: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Commands are used within [[Triggers|triggers]] to create gameplay effects, from revealing locations to spawning attack waves or even changing an AI&#039;s difficulty mid-game.&lt;br /&gt;
&lt;br /&gt;
== List of Commands ==&lt;br /&gt;
&lt;br /&gt;
=== [[ActivateTrigger|ActivateTrigger]] ===&lt;br /&gt;
&lt;br /&gt;
Activate another trigger (also can be used to activate the trigger it is called from, making a repeating trigger).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Target&#039;&#039;&#039; - This is the name of another trigger that will be set from Inactive to Active. &lt;br /&gt;
&lt;br /&gt;
=== [[AreaIndicator|AreaIndicator]] ===&lt;br /&gt;
&lt;br /&gt;
This places a visible indicator on the map to help the player know where they should go to.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the area. &lt;br /&gt;
*&#039;&#039;&#039;Position&#039;&#039;&#039; - The center of the area. &lt;br /&gt;
*&#039;&#039;&#039;Color&#039;&#039;&#039; - The color the area indicator is. [ Green | Blue | Red ] &lt;br /&gt;
*&#039;&#039;&#039;Size&#039;&#039;&#039; - How big the area indicator will be. &lt;br /&gt;
*&#039;&#039;&#039;Duration&#039;&#039;&#039; - How long the area indicator should last, -1 means that it lasts forever. &lt;br /&gt;
&lt;br /&gt;
=== [[AttackAttackMove|AttackAttackMove]] ===&lt;br /&gt;
&lt;br /&gt;
Order an army to move to a specific area, engaging enemies along the way.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the army that will be given the order. &lt;br /&gt;
*&#039;&#039;&#039;Repeat&#039;&#039;&#039; - Whether to repeat the order. Use with multiple AttackAttackMove commands to create a patrol path. &lt;br /&gt;
*&#039;&#039;&#039;Position&#039;&#039;&#039; - Where the army is ordered to move to. &lt;br /&gt;
&lt;br /&gt;
=== [[AttackUnit|AttackUnit]] ===&lt;br /&gt;
&lt;br /&gt;
Order an army to attack a specific script-spawned unit&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the unit to do the attacking &lt;br /&gt;
*&#039;&#039;&#039;Target&#039;&#039;&#039; - The name of the unit to be attacked &lt;br /&gt;
&lt;br /&gt;
=== [[Camera|Camera]] ===&lt;br /&gt;
&lt;br /&gt;
Move the player&#039;s view to a specific area.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Position&#039;&#039;&#039; - Where the camera will be looking. &lt;br /&gt;
*&#039;&#039;&#039;Snap&#039;&#039;&#039; - Set to 1 to move the camera instantly, instead of panning &lt;br /&gt;
*&#039;&#039;&#039;Speed&#039;&#039;&#039; - Scalar for how fast the camera will move, compared to clicking on the minimap. 0.5 for half speed, 2 for double, etc. &lt;br /&gt;
*&#039;&#039;&#039;Unit&#039;&#039;&#039; - Follow a specific script-spawned unit. Do not use Position if you use this. &lt;br /&gt;
*&#039;&#039;&#039;Building&#039;&#039;&#039; - Follow a specific script-spawned building. Do not use Position if you use this. &lt;br /&gt;
*&#039;&#039;&#039;Save&#039;&#039;&#039; - Save the current camera settings. Useful if you want to show the player something and then move the camera back to whatever they were looking at. &lt;br /&gt;
*&#039;&#039;&#039;Load&#039;&#039;&#039; - Load the last saved camera settings. Use with Save. May cause a crash if you haven&#039;t previously saved a camera position. &lt;br /&gt;
*&#039;&#039;&#039;RTP&#039;&#039;&#039; - Distance, rotation and pitch of the camera. &lt;br /&gt;
**The first number is distance. 1000 is a fairly tight shot, 2500 is a fairly typical gameplay zoom &lt;br /&gt;
**Second number is rotation. 0 points the camera north, 90 east, 180 south, 270 west. &lt;br /&gt;
**Third number is pitch. 40-50 are typical gameplay angles. 90 would be straight down. Note that anything lower than 40 can cause the engine to load a &#039;&#039;&#039;lot&#039;&#039;&#039; more terrain and models than it&#039;s designed to, so use with caution. &lt;br /&gt;
&lt;br /&gt;
=== [[CaptureNearest|CaptureNearest]] ===&lt;br /&gt;
&lt;br /&gt;
Order an army to clear its order queue and capture the nearest neutral or enemy-controlled region (note: ordered unit will stop moving if region is captured before it gets there)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the unit to do the capturing &lt;br /&gt;
*&#039;&#039;&#039;Repeat&#039;&#039;&#039; - Whether to repeat the order (indefinitely) &lt;br /&gt;
&lt;br /&gt;
=== [[CaptureNearestNext|CaptureNearestNext]] ===&lt;br /&gt;
&lt;br /&gt;
Order an army to capture the nearest neutral or enemy-controlled region&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the unit to do the capturing &lt;br /&gt;
*&#039;&#039;&#039;Repeat&#039;&#039;&#039; - Whether to repeat the order (indefinitely) &lt;br /&gt;
&lt;br /&gt;
=== [[ChangeAIDifficulty|ChangeAIDifficulty]] ===&lt;br /&gt;
&lt;br /&gt;
Change an AI player&#039;s difficulty setting&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Player&#039;&#039;&#039; - The index of the player to change &lt;br /&gt;
*&#039;&#039;&#039;Difficulty&#039;&#039;&#039; - The name of the difficulty to set it to &lt;br /&gt;
&lt;br /&gt;
=== [[ChangeAIPersonality|ChangeAIPersonality]] ===&lt;br /&gt;
&lt;br /&gt;
Change an AI player&#039;s personality&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Player&#039;&#039;&#039; - The index of the player to change &lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the personality to set it to (defined in \Assets\GameCore\DefaultPlayerAI.xml) &lt;br /&gt;
&lt;br /&gt;
=== [[DestroyBuilding|DestroyBuilding]] ===&lt;br /&gt;
&lt;br /&gt;
Destroys a specific script-spawned building.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the building to be destroyed. &lt;br /&gt;
&lt;br /&gt;
=== [[DestroyUnit|DestroyUnit]] ===&lt;br /&gt;
&lt;br /&gt;
Destroys a specific script-spawned unit.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the unit to be destroyed. &lt;br /&gt;
&lt;br /&gt;
=== [[Dialog|Dialog]] ===&lt;br /&gt;
&lt;br /&gt;
This creates a popup that can convey information or story to the player. Use with &amp;lt;Entry&amp;gt; tags.&lt;br /&gt;
&lt;br /&gt;
=== [[Entry|Entry]] ===&lt;br /&gt;
&lt;br /&gt;
The actual text that will be displayed. Use only within &amp;lt;Dialog&amp;gt; tags.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Text&#039;&#039;&#039; - The actual text that is displayed. Corresponds to an entry in a .csv file in \Assets\UIText\ &lt;br /&gt;
*&#039;&#039;&#039;Icon&#039;&#039;&#039; - The icon used with the text popup. Hard-coded to correspond to Ashes characters, and changes the text color to match. &lt;br /&gt;
**Mac &lt;br /&gt;
**Haalee &lt;br /&gt;
**Vexen &lt;br /&gt;
**Valen &lt;br /&gt;
**Artix &lt;br /&gt;
**Ventrix &lt;br /&gt;
**Athena &lt;br /&gt;
**Adrasteia &lt;br /&gt;
**Agememnon &lt;br /&gt;
**Agethon &lt;br /&gt;
&lt;br /&gt;
=== [[EndMission|EndMission]] ===&lt;br /&gt;
&lt;br /&gt;
Use to force a win or loss of the scenario.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Victory&#039;&#039;&#039; - Set to 0 to lose the scenario or 1 to win. &lt;br /&gt;
*&#039;&#039;&#039;String&#039;&#039;&#039; - The text that is displayed. &lt;br /&gt;
&lt;br /&gt;
=== [[GrantStuff|GrantStuff]] ===&lt;br /&gt;
&lt;br /&gt;
Give a player free resources.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Player&#039;&#039;&#039; - The index of the player to be hooked up &lt;br /&gt;
*&#039;&#039;&#039;Metal&#039;&#039;&#039; - The amount of metal being granted. &lt;br /&gt;
*&#039;&#039;&#039;Quanta&#039;&#039;&#039; - The amount of quanta being granted. &lt;br /&gt;
*&#039;&#039;&#039;Radioactives&#039;&#039;&#039; - The amount of radioactives being granted. &lt;br /&gt;
*&#039;&#039;&#039;Turinium&#039;&#039;&#039; - The amount of victory points being granted. &lt;br /&gt;
&lt;br /&gt;
=== [[GrantTech|GrantTech]] ===&lt;br /&gt;
&lt;br /&gt;
Give a player a free Quantum Upgrade&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Player&#039;&#039;&#039; - The index of the player to be hooked up &lt;br /&gt;
*&#039;&#039;&#039;Tech&#039;&#039;&#039; - The upgrade to grant [ HPs | Weapons | Radar | BuildingHPs | MetalStorage | RadsStorage ] &lt;br /&gt;
&lt;br /&gt;
=== [[HidePanel|HidePanel]] ===&lt;br /&gt;
&lt;br /&gt;
Hide UI panels.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;HidePlayer&#039;&#039;&#039; - Hide the Player panel &lt;br /&gt;
*&#039;&#039;&#039;HideRank&#039;&#039;&#039; - Hide the Rank panel &lt;br /&gt;
*&#039;&#039;&#039;HideResource&#039;&#039;&#039; - Hide the Resource panel &lt;br /&gt;
&lt;br /&gt;
=== [[LetterBox|LetterBox]] ===&lt;br /&gt;
&lt;br /&gt;
Disable commands and go to a cinematic, letterbox view.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Enable&#039;&#039;&#039; - 1 to turn letterbox mode on, 0 to turn it off &lt;br /&gt;
*&#039;&#039;&#039;Snap&#039;&#039;&#039; - 1 to immediately go to/from letterbox mode instead of fading in/out &lt;br /&gt;
&lt;br /&gt;
=== [[MoveUnit|MoveUnit]] ===&lt;br /&gt;
&lt;br /&gt;
Move an army to a location without stopping to fight&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - Name of the unit to be moved &lt;br /&gt;
*&#039;&#039;&#039;Position&#039;&#039;&#039; - x/y coordinates to move to &lt;br /&gt;
*&#039;&#039;&#039;Repeat&#039;&#039;&#039; - 1 to repeat this command indefinitely. Use with multiple MoveUnit commands to create a patrol path. &lt;br /&gt;
*&#039;&#039;&#039;Stop&#039;&#039;&#039; - 1 to stop the unit &lt;br /&gt;
&lt;br /&gt;
=== [[Objective|Objective]] ===&lt;br /&gt;
&lt;br /&gt;
Use this to set objective notifications for the player (so they know what to do).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the objective, use this name when checking or hiding it. &lt;br /&gt;
*&#039;&#039;&#039;Hide&#039;&#039;&#039; - If this objective should be hidden or not, usually this means the objective is complete. &lt;br /&gt;
*&#039;&#039;&#039;String&#039;&#039;&#039; - What the objective displays on the screen. &lt;br /&gt;
*&#039;&#039;&#039;SetCheck&#039;&#039;&#039; - If the objective checkbox is checked or not. &lt;br /&gt;
&lt;br /&gt;
=== [[Restrict|Restrict]] ===&lt;br /&gt;
&lt;br /&gt;
To block the player from being able to access objects in the game.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Type&#039;&#039;&#039; - Unit, Building, Research or Orbital. Whatever type of object that is being restricted. &lt;br /&gt;
*&#039;&#039;&#039;ID&#039;&#039;&#039; - The name of the object being restricted. &lt;br /&gt;
*&#039;&#039;&#039;Enable&#039;&#039;&#039; - Set this to 1 to enable the object. You can use this to restrict something early in the scenario and then enable it later on (for example: when the player accomplishes an objective or after a set amount of time). &lt;br /&gt;
&lt;br /&gt;
=== [[Reveal|Reveal]] ===&lt;br /&gt;
&lt;br /&gt;
Reveal the fog of war over a location&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of this reveal (so you can modify it with a later command) &lt;br /&gt;
*&#039;&#039;&#039;Enable&#039;&#039;&#039; - 1 to enable, 0 to disable &lt;br /&gt;
*&#039;&#039;&#039;Position&#039;&#039;&#039; - x/y coordinates of the center of the revealed area &lt;br /&gt;
*&#039;&#039;&#039;Size&#039;&#039;&#039; - Radius of the area to be revealed &lt;br /&gt;
*&#039;&#039;&#039;RadarSize&#039;&#039;&#039; - Use to add a radar component to the reveal. Can be used with Size=&amp;quot;0&amp;quot; to create a radar-only reveal &lt;br /&gt;
&lt;br /&gt;
=== [[SpawnBuilding|SpawnBuilding]] ===&lt;br /&gt;
&lt;br /&gt;
Places a building on the map.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name you assign to the building. &lt;br /&gt;
*&#039;&#039;&#039;Template&#039;&#039;&#039; - The name of the building type being created. &lt;br /&gt;
*&#039;&#039;&#039;Player&#039;&#039;&#039; - The player who will own the building. &lt;br /&gt;
*&#039;&#039;&#039;Position&#039;&#039;&#039; - Where the building will be placed. &lt;br /&gt;
*&#039;&#039;&#039;NoDeath&#039;&#039;&#039; - Set this to &amp;quot;1&amp;quot; to make the unit immortal (you can still kill it with a scripted DestroyBuilding command) &lt;br /&gt;
&lt;br /&gt;
=== [[SpawnUnit|SpawnUnit]] ===&lt;br /&gt;
&lt;br /&gt;
Places a unit on the map.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name you assign to the unit. &lt;br /&gt;
*&#039;&#039;&#039;Parent&#039;&#039;&#039; - The army the unit will belong to (used to make it easier to issue moves). &lt;br /&gt;
*&#039;&#039;&#039;Template&#039;&#039;&#039; - The type of unit being created. &lt;br /&gt;
*&#039;&#039;&#039;Player&#039;&#039;&#039; - The player that will own the unit. &lt;br /&gt;
*&#039;&#039;&#039;Position&#039;&#039;&#039; - Where the unit will be created. &lt;br /&gt;
&lt;br /&gt;
=== [[Var_Command|Var]] ===&lt;br /&gt;
&lt;br /&gt;
Set or modify a variable. Tip: Set any variable you want to use to 0 in the initial setup trigger to avoid unpredictable results. &#039;&#039;All values must be integers.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - Name of the variable &lt;br /&gt;
*&#039;&#039;&#039;Value&#039;&#039;&#039; - The value to be used in the operation &lt;br /&gt;
*&#039;&#039;&#039;Min&#039;&#039;&#039; - Minimum value for random functions &lt;br /&gt;
*&#039;&#039;&#039;Max&#039;&#039;&#039; - Maximum value for random functions &lt;br /&gt;
*&#039;&#039;&#039;Operation&#039;&#039;&#039; - Operation to be performed &lt;br /&gt;
**&amp;quot;=&amp;quot; or &amp;quot;Set&amp;quot; - set to the value &lt;br /&gt;
**&amp;quot;+&amp;quot; or &amp;quot;Add&amp;quot; - add value &lt;br /&gt;
**&amp;quot;-&amp;quot; or &amp;quot;Sub&amp;quot; - subtract value &lt;br /&gt;
**&amp;quot;Rand&amp;quot; or &amp;quot;SetRand&amp;quot; - set to a random value between Min and Max &lt;br /&gt;
**&amp;quot;AddRand&amp;quot; - add a random value between Min and Max &lt;br /&gt;
**&amp;quot;SubRand&amp;quot; - subtract a random value between Min and Max &lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]] [[Category:Commands]]&lt;/div&gt;</summary>
		<author><name>Patiobattle04</name></author>
	</entry>
	<entry>
		<id>https://wiki.ashesofthesingularity.com/index.php?title=ChangeAIPersonality&amp;diff=8751</id>
		<title>ChangeAIPersonality</title>
		<link rel="alternate" type="text/html" href="https://wiki.ashesofthesingularity.com/index.php?title=ChangeAIPersonality&amp;diff=8751"/>
		<updated>2017-01-18T21:12:36Z</updated>

		<summary type="html">&lt;p&gt;Patiobattle04: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
The ChangeAIPersonality [[Script_Commands|command]] changes an AI player&#039;s personality.&lt;br /&gt;
&lt;br /&gt;
== Arguments ==&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Player&#039;&#039;&#039; - The index of the player to change &lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the personality to set it to (defined in \Assets\GameCore\[[DefaultPlayerAI.xml|DefaultPlayerAI.xml]]) &lt;br /&gt;
&lt;br /&gt;
== Common Usage ==&lt;br /&gt;
&lt;br /&gt;
*Manually setting an AI personality (by default each AI player is assigned a random personality) &lt;br /&gt;
*Choosing from a subset of AI personalities at game start in conjunction with random [[Var|Var]] commands and triggers, for instance to rule out personalities that favor heavy aircraft investment &lt;br /&gt;
&lt;br /&gt;
== Limitations ==&lt;br /&gt;
&lt;br /&gt;
*Should be used sparingly; the different AI personalities are key to replayability &lt;br /&gt;
[[Category:Commands]]&lt;/div&gt;</summary>
		<author><name>Patiobattle04</name></author>
	</entry>
	<entry>
		<id>https://wiki.ashesofthesingularity.com/index.php?title=ChangeAIPersonality&amp;diff=8741</id>
		<title>ChangeAIPersonality</title>
		<link rel="alternate" type="text/html" href="https://wiki.ashesofthesingularity.com/index.php?title=ChangeAIPersonality&amp;diff=8741"/>
		<updated>2017-01-18T21:12:17Z</updated>

		<summary type="html">&lt;p&gt;Patiobattle04: Created page with &amp;quot;The ChangeAIPersonality command changes an AI player&amp;#039;s personality. ==Arguments== *&amp;#039;&amp;#039;&amp;#039;Player&amp;#039;&amp;#039;&amp;#039; - The index of the player to change  *&amp;#039;&amp;#039;&amp;#039;Name&amp;#039;&amp;#039;&amp;#039; - The name...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The ChangeAIPersonality [[Script_Commands|command]] changes an AI player&#039;s personality.&lt;br /&gt;
==Arguments==&lt;br /&gt;
*&#039;&#039;&#039;Player&#039;&#039;&#039; - The index of the player to change &lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the personality to set it to (defined in \Assets\GameCore\[[DefaultPlayerAI.xml]]) &lt;br /&gt;
==Common Usage==&lt;br /&gt;
*Manually setting an AI personality (by default each AI player is assigned a random personality)&lt;br /&gt;
*Choosing from a subset of AI personalities at game start in conjunction with random [[Var]] commands and triggers, for instance to rule out personalities that favor heavy aircraft investment&lt;br /&gt;
==Limitations==&lt;br /&gt;
*Should be used sparingly; the different AI personalities are key to replayability&lt;/div&gt;</summary>
		<author><name>Patiobattle04</name></author>
	</entry>
	<entry>
		<id>https://wiki.ashesofthesingularity.com/index.php?title=ChangeAIDifficulty&amp;diff=8731</id>
		<title>ChangeAIDifficulty</title>
		<link rel="alternate" type="text/html" href="https://wiki.ashesofthesingularity.com/index.php?title=ChangeAIDifficulty&amp;diff=8731"/>
		<updated>2017-01-18T21:09:15Z</updated>

		<summary type="html">&lt;p&gt;Patiobattle04: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
The ChangeAIDifficulty [[Script_Commands|command]] changes an AI player&#039;s difficulty setting.&lt;br /&gt;
&lt;br /&gt;
== Arguments ==&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Player&#039;&#039;&#039; - The index of the player to change &lt;br /&gt;
*&#039;&#039;&#039;Difficulty&#039;&#039;&#039; - The name of the difficulty to set it to &lt;br /&gt;
&lt;br /&gt;
== Common Usage ==&lt;br /&gt;
&lt;br /&gt;
*Setting AI difficulty at the beginning of the scenario in conjunction with the [[Difficulty_Trigger|difficulty trigger]] &lt;br /&gt;
*Make an AI player weaker or tougher mid-script in response to the player completing or failing an objective &lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;Trigger Name=&amp;quot;Difficulty1&amp;quot; Type=&amp;quot;Difficulty&amp;quot; Difficulty=&amp;quot;1&amp;quot; &amp;gt;&lt;br /&gt;
    &amp;lt;ChangeAIDifficulty Player=&amp;quot;1&amp;quot; Difficulty=&amp;quot;Novice&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;GrantTech Player=&amp;quot;0&amp;quot; Tech=&amp;quot;HPs&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;GrantTech Player=&amp;quot;0&amp;quot; Tech=&amp;quot;Weapons&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;GrantTech Player=&amp;quot;0&amp;quot; Tech=&amp;quot;BuildingHPs&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;GrantTech Player=&amp;quot;0&amp;quot; Tech=&amp;quot;HPs&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;GrantTech Player=&amp;quot;0&amp;quot; Tech=&amp;quot;Weapons&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;GrantTech Player=&amp;quot;0&amp;quot; Tech=&amp;quot;BuildingHPs&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/Trigger&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This changes Player 1 (the main enemy) to Novice difficulty and gives the human player two free levels of combat upgrades when the Easy difficulty is selected at game start.&lt;br /&gt;
&lt;br /&gt;
[[Category:Commands]]&lt;/div&gt;</summary>
		<author><name>Patiobattle04</name></author>
	</entry>
	<entry>
		<id>https://wiki.ashesofthesingularity.com/index.php?title=ChangeAIDifficulty&amp;diff=8721</id>
		<title>ChangeAIDifficulty</title>
		<link rel="alternate" type="text/html" href="https://wiki.ashesofthesingularity.com/index.php?title=ChangeAIDifficulty&amp;diff=8721"/>
		<updated>2017-01-18T21:08:59Z</updated>

		<summary type="html">&lt;p&gt;Patiobattle04: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
The ChangeAIDifficulty [[Script_Commands|command]] changes an AI player&#039;s difficulty setting.&lt;br /&gt;
&lt;br /&gt;
== Arguments ==&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Player&#039;&#039;&#039; - The index of the player to change &lt;br /&gt;
*&#039;&#039;&#039;Difficulty&#039;&#039;&#039; - The name of the difficulty to set it to &lt;br /&gt;
&lt;br /&gt;
== Common Usage ==&lt;br /&gt;
&lt;br /&gt;
*Setting AI difficulty at the beginning of the scenario in conjunction with the [[Difficulty_Trigger|difficulty]] trigger &lt;br /&gt;
*Make an AI player weaker or tougher mid-script in response to the player completing or failing an objective &lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;Trigger Name=&amp;quot;Difficulty1&amp;quot; Type=&amp;quot;Difficulty&amp;quot; Difficulty=&amp;quot;1&amp;quot; &amp;gt;&lt;br /&gt;
    &amp;lt;ChangeAIDifficulty Player=&amp;quot;1&amp;quot; Difficulty=&amp;quot;Novice&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;GrantTech Player=&amp;quot;0&amp;quot; Tech=&amp;quot;HPs&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;GrantTech Player=&amp;quot;0&amp;quot; Tech=&amp;quot;Weapons&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;GrantTech Player=&amp;quot;0&amp;quot; Tech=&amp;quot;BuildingHPs&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;GrantTech Player=&amp;quot;0&amp;quot; Tech=&amp;quot;HPs&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;GrantTech Player=&amp;quot;0&amp;quot; Tech=&amp;quot;Weapons&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;GrantTech Player=&amp;quot;0&amp;quot; Tech=&amp;quot;BuildingHPs&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/Trigger&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This changes Player 1 (the main enemy) to Novice difficulty and gives the human player two free levels of combat upgrades when the Easy difficulty is selected at game start.&lt;br /&gt;
&lt;br /&gt;
[[Category:Commands]]&lt;/div&gt;</summary>
		<author><name>Patiobattle04</name></author>
	</entry>
	<entry>
		<id>https://wiki.ashesofthesingularity.com/index.php?title=ChangeAIDifficulty&amp;diff=8711</id>
		<title>ChangeAIDifficulty</title>
		<link rel="alternate" type="text/html" href="https://wiki.ashesofthesingularity.com/index.php?title=ChangeAIDifficulty&amp;diff=8711"/>
		<updated>2017-01-18T21:08:29Z</updated>

		<summary type="html">&lt;p&gt;Patiobattle04: Created page with &amp;quot;The ChangeAIDifficulty command changes an AI player&amp;#039;s difficulty setting. ==Arguments== *&amp;#039;&amp;#039;&amp;#039;Player&amp;#039;&amp;#039;&amp;#039; - The index of the player to change  *&amp;#039;&amp;#039;&amp;#039;Difficulty&amp;#039;&amp;#039;...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The ChangeAIDifficulty [[Script_Commands|command]] changes an AI player&#039;s difficulty setting.&lt;br /&gt;
==Arguments==&lt;br /&gt;
*&#039;&#039;&#039;Player&#039;&#039;&#039; - The index of the player to change &lt;br /&gt;
*&#039;&#039;&#039;Difficulty&#039;&#039;&#039; - The name of the difficulty to set it to &lt;br /&gt;
==Common Usage==&lt;br /&gt;
*Setting AI difficulty at the beginning of the scenario in conjunction with the [[difficulty]] trigger&lt;br /&gt;
*Make an AI player weaker or tougher mid-script in response to the player completing or failing an objective&lt;br /&gt;
==Example==&lt;br /&gt;
  &amp;lt;Trigger Name=&amp;quot;Difficulty1&amp;quot; Type=&amp;quot;Difficulty&amp;quot; Difficulty=&amp;quot;1&amp;quot; &amp;gt;&lt;br /&gt;
    &amp;lt;ChangeAIDifficulty Player=&amp;quot;1&amp;quot; Difficulty=&amp;quot;Novice&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;GrantTech Player=&amp;quot;0&amp;quot; Tech=&amp;quot;HPs&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;GrantTech Player=&amp;quot;0&amp;quot; Tech=&amp;quot;Weapons&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;GrantTech Player=&amp;quot;0&amp;quot; Tech=&amp;quot;BuildingHPs&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;GrantTech Player=&amp;quot;0&amp;quot; Tech=&amp;quot;HPs&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;GrantTech Player=&amp;quot;0&amp;quot; Tech=&amp;quot;Weapons&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;GrantTech Player=&amp;quot;0&amp;quot; Tech=&amp;quot;BuildingHPs&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/Trigger&amp;gt;&lt;br /&gt;
This changes Player 1 (the main enemy) to Novice difficulty and gives the human player two free levels of combat upgrades when the Easy difficulty is selected at game start.&lt;br /&gt;
[[Category:Commands]]&lt;/div&gt;</summary>
		<author><name>Patiobattle04</name></author>
	</entry>
	<entry>
		<id>https://wiki.ashesofthesingularity.com/index.php?title=Script_Commands&amp;diff=8701</id>
		<title>Script Commands</title>
		<link rel="alternate" type="text/html" href="https://wiki.ashesofthesingularity.com/index.php?title=Script_Commands&amp;diff=8701"/>
		<updated>2017-01-18T21:04:59Z</updated>

		<summary type="html">&lt;p&gt;Patiobattle04: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Commands are used within [[Triggers|triggers]] to create gameplay effects, from revealing locations to spawning attack waves or even changing an AI&#039;s difficulty mid-game.&lt;br /&gt;
&lt;br /&gt;
== List of Commands ==&lt;br /&gt;
&lt;br /&gt;
=== [[ActivateTrigger|ActivateTrigger]] ===&lt;br /&gt;
&lt;br /&gt;
Activate another trigger (also can be used to activate the trigger it is called from, making a repeating trigger).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Target&#039;&#039;&#039; - This is the name of another trigger that will be set from Inactive to Active. &lt;br /&gt;
&lt;br /&gt;
=== [[AreaIndicator|AreaIndicator]] ===&lt;br /&gt;
&lt;br /&gt;
This places a visible indicator on the map to help the player know where they should go to.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the area. &lt;br /&gt;
*&#039;&#039;&#039;Position&#039;&#039;&#039; - The center of the area. &lt;br /&gt;
*&#039;&#039;&#039;Color&#039;&#039;&#039; - The color the area indicator is. [ Green | Blue | Red ] &lt;br /&gt;
*&#039;&#039;&#039;Size&#039;&#039;&#039; - How big the area indicator will be. &lt;br /&gt;
*&#039;&#039;&#039;Duration&#039;&#039;&#039; - How long the area indicator should last, -1 means that it lasts forever. &lt;br /&gt;
&lt;br /&gt;
=== [[AttackAttackMove|AttackAttackMove]] ===&lt;br /&gt;
&lt;br /&gt;
Order an army to move to a specific area, engaging enemies along the way.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the army that will be given the order. &lt;br /&gt;
*&#039;&#039;&#039;Repeat&#039;&#039;&#039; - Whether to repeat the order. Use with multiple AttackAttackMove commands to create a patrol path. &lt;br /&gt;
*&#039;&#039;&#039;Position&#039;&#039;&#039; - Where the army is ordered to move to. &lt;br /&gt;
&lt;br /&gt;
=== [[AttackUnit|AttackUnit]] ===&lt;br /&gt;
&lt;br /&gt;
Order an army to attack a specific script-spawned unit&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the unit to do the attacking &lt;br /&gt;
*&#039;&#039;&#039;Target&#039;&#039;&#039; - The name of the unit to be attacked &lt;br /&gt;
&lt;br /&gt;
=== [[Camera|Camera]] ===&lt;br /&gt;
&lt;br /&gt;
Move the player&#039;s view to a specific area.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Position&#039;&#039;&#039; - Where the camera will be looking. &lt;br /&gt;
*&#039;&#039;&#039;Snap&#039;&#039;&#039; - Set to 1 to move the camera instantly, instead of panning &lt;br /&gt;
*&#039;&#039;&#039;Speed&#039;&#039;&#039; - Scalar for how fast the camera will move, compared to clicking on the minimap. 0.5 for half speed, 2 for double, etc. &lt;br /&gt;
*&#039;&#039;&#039;Unit&#039;&#039;&#039; - Follow a specific script-spawned unit. Do not use Position if you use this. &lt;br /&gt;
*&#039;&#039;&#039;Building&#039;&#039;&#039; - Follow a specific script-spawned building. Do not use Position if you use this. &lt;br /&gt;
*&#039;&#039;&#039;Save&#039;&#039;&#039; - Save the current camera settings. Useful if you want to show the player something and then move the camera back to whatever they were looking at. &lt;br /&gt;
*&#039;&#039;&#039;Load&#039;&#039;&#039; - Load the last saved camera settings. Use with Save. May cause a crash if you haven&#039;t previously saved a camera position. &lt;br /&gt;
*&#039;&#039;&#039;RTP&#039;&#039;&#039; - Distance, rotation and pitch of the camera. &lt;br /&gt;
**The first number is distance. 1000 is a fairly tight shot, 2500 is a fairly typical gameplay zoom &lt;br /&gt;
**Second number is rotation. 0 points the camera north, 90 east, 180 south, 270 west. &lt;br /&gt;
**Third number is pitch. 40-50 are typical gameplay angles. 90 would be straight down. Note that anything lower than 40 can cause the engine to load a &#039;&#039;&#039;lot&#039;&#039;&#039; more terrain and models than it&#039;s designed to, so use with caution. &lt;br /&gt;
&lt;br /&gt;
=== [[CaptureNearest|CaptureNearest]] ===&lt;br /&gt;
&lt;br /&gt;
Order an army to clear its order queue and capture the nearest neutral or enemy-controlled region (note: ordered unit will stop moving if region is captured before it gets there)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the unit to do the capturing &lt;br /&gt;
*&#039;&#039;&#039;Repeat&#039;&#039;&#039; - Whether to repeat the order (indefinitely) &lt;br /&gt;
&lt;br /&gt;
=== [[CaptureNearestNext|CaptureNearestNext]] ===&lt;br /&gt;
&lt;br /&gt;
Order an army to capture the nearest neutral or enemy-controlled region&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the unit to do the capturing &lt;br /&gt;
*&#039;&#039;&#039;Repeat&#039;&#039;&#039; - Whether to repeat the order (indefinitely) &lt;br /&gt;
&lt;br /&gt;
=== [[ChangeAIDifficulty|ChangeAIDifficulty]] ===&lt;br /&gt;
&lt;br /&gt;
Change an AI player&#039;s difficulty setting&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Player&#039;&#039;&#039; - The index of the player to change &lt;br /&gt;
*&#039;&#039;&#039;Difficulty&#039;&#039;&#039; - The name of the difficulty to set it to &lt;br /&gt;
&lt;br /&gt;
=== [[ChangeAIPersonality|ChangeAIPersonality]] ===&lt;br /&gt;
&lt;br /&gt;
Change an AI player&#039;s personality&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Player&#039;&#039;&#039; - The index of the player to change &lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the personality to set it to (defined in \Assets\GameCore\DefaultPlayerAI.xml) &lt;br /&gt;
&lt;br /&gt;
=== [[DestroyBuilding|DestroyBuilding]] ===&lt;br /&gt;
&lt;br /&gt;
Destroys a specific script-spawned building.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the building to be destroyed. &lt;br /&gt;
&lt;br /&gt;
=== [[DestroyUnit|DestroyUnit]] ===&lt;br /&gt;
&lt;br /&gt;
Destroys a specific script-spawned unit.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the unit to be destroyed. &lt;br /&gt;
&lt;br /&gt;
=== [[Dialog|Dialog]] ===&lt;br /&gt;
&lt;br /&gt;
This creates a popup that can convey information or story to the player. Use with &amp;lt;Entry&amp;gt; tags.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
=== [[Entry|Entry]] ===&lt;br /&gt;
&lt;br /&gt;
The actual text that will be displayed. Use only within &amp;lt;Dialog&amp;gt; tags.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Icon&#039;&#039;&#039; - The icon used with the text popup. Hard-coded to correspond to Ashes characters, and changes the text color to match. &lt;br /&gt;
**Mac &lt;br /&gt;
**Haalee &lt;br /&gt;
**Vexen &lt;br /&gt;
**Valen &lt;br /&gt;
**Artix &lt;br /&gt;
**Ventrix &lt;br /&gt;
**Athena &lt;br /&gt;
**Adrasteia &lt;br /&gt;
**Agememnon &lt;br /&gt;
**Agethon &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Text&#039;&#039;&#039; - The actual text that is displayed. Corresponds to an entry in a .csv file in \Assets\UIText\ &lt;br /&gt;
&lt;br /&gt;
=== [[EndMission|EndMission]] ===&lt;br /&gt;
&lt;br /&gt;
Use to force a win or loss of the scenario.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Victory&#039;&#039;&#039; - Set to 0 to lose the scenario or 1 to win. &lt;br /&gt;
*&#039;&#039;&#039;String&#039;&#039;&#039; - The text that is displayed. &lt;br /&gt;
&lt;br /&gt;
=== [[GrantStuff|GrantStuff]] ===&lt;br /&gt;
&lt;br /&gt;
Give a player free resources.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Player&#039;&#039;&#039; - The index of the player to be hooked up &lt;br /&gt;
*&#039;&#039;&#039;Metal&#039;&#039;&#039; - The amount of metal being granted. &lt;br /&gt;
*&#039;&#039;&#039;Quanta&#039;&#039;&#039; - The amount of quanta being granted. &lt;br /&gt;
*&#039;&#039;&#039;Radioactives&#039;&#039;&#039; - The amount of radioactives being granted. &lt;br /&gt;
*&#039;&#039;&#039;Turinium&#039;&#039;&#039; - The amount of victory points being granted. &lt;br /&gt;
&lt;br /&gt;
=== [[GrantTech|GrantTech]] ===&lt;br /&gt;
&lt;br /&gt;
Give a player a free Quantum Upgrade&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Player&#039;&#039;&#039; - The index of the player to be hooked up &lt;br /&gt;
*&#039;&#039;&#039;Tech&#039;&#039;&#039; - The upgrade to grant [ HPs | Weapons | Radar | BuildingHPs | MetalStorage | RadsStorage ] &lt;br /&gt;
&lt;br /&gt;
=== [[HidePanel|HidePanel]] ===&lt;br /&gt;
&lt;br /&gt;
Hide UI panels.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;HidePlayer&#039;&#039;&#039; - Hide the Player panel &lt;br /&gt;
*&#039;&#039;&#039;HideRank&#039;&#039;&#039; - Hide the Rank panel &lt;br /&gt;
*&#039;&#039;&#039;HideResource&#039;&#039;&#039; - Hide the Resource panel &lt;br /&gt;
&lt;br /&gt;
=== [[LetterBox|LetterBox]] ===&lt;br /&gt;
&lt;br /&gt;
Disable commands and go to a cinematic, letterbox view.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Enable&#039;&#039;&#039; - 1 to turn letterbox mode on, 0 to turn it off &lt;br /&gt;
*&#039;&#039;&#039;Snap&#039;&#039;&#039; - 1 to immediately go to/from letterbox mode instead of fading in/out &lt;br /&gt;
&lt;br /&gt;
=== [[MoveUnit|MoveUnit]] ===&lt;br /&gt;
&lt;br /&gt;
Move an army to a location without stopping to fight&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - Name of the unit to be moved &lt;br /&gt;
*&#039;&#039;&#039;Position&#039;&#039;&#039; - x/y coordinates to move to &lt;br /&gt;
*&#039;&#039;&#039;Repeat&#039;&#039;&#039; - 1 to repeat this command indefinitely. Use with multiple MoveUnit commands to create a patrol path. &lt;br /&gt;
*&#039;&#039;&#039;Stop&#039;&#039;&#039; - 1 to stop the unit &lt;br /&gt;
&lt;br /&gt;
=== [[Objective|Objective]] ===&lt;br /&gt;
&lt;br /&gt;
Use this to set objective notifications for the player (so they know what to do).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the objective, use this name when checking or hiding it. &lt;br /&gt;
*&#039;&#039;&#039;Hide&#039;&#039;&#039; - If this objective should be hidden or not, usually this means the objective is complete. &lt;br /&gt;
*&#039;&#039;&#039;String&#039;&#039;&#039; - What the objective displays on the screen. &lt;br /&gt;
*&#039;&#039;&#039;SetCheck&#039;&#039;&#039; - If the objective checkbox is checked or not. &lt;br /&gt;
&lt;br /&gt;
=== [[Restrict|Restrict]] ===&lt;br /&gt;
&lt;br /&gt;
To block the player from being able to access objects in the game.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Type&#039;&#039;&#039; - Unit, Building, Research or Orbital. Whatever type of object that is being restricted. &lt;br /&gt;
*&#039;&#039;&#039;ID&#039;&#039;&#039; - The name of the object being restricted. &lt;br /&gt;
*&#039;&#039;&#039;Enable&#039;&#039;&#039; - Set this to 1 to enable the object. You can use this to restrict something early in the scenario and then enable it later on (for example: when the player accomplishes an objective or after a set amount of time). &lt;br /&gt;
&lt;br /&gt;
=== [[Reveal|Reveal]] ===&lt;br /&gt;
&lt;br /&gt;
Reveal the fog of war over a location&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of this reveal (so you can modify it with a later command) &lt;br /&gt;
*&#039;&#039;&#039;Enable&#039;&#039;&#039; - 1 to enable, 0 to disable &lt;br /&gt;
*&#039;&#039;&#039;Position&#039;&#039;&#039; - x/y coordinates of the center of the revealed area &lt;br /&gt;
*&#039;&#039;&#039;Size&#039;&#039;&#039; - Radius of the area to be revealed &lt;br /&gt;
*&#039;&#039;&#039;RadarSize&#039;&#039;&#039; - Use to add a radar component to the reveal. Can be used with Size=&amp;quot;0&amp;quot; to create a radar-only reveal &lt;br /&gt;
&lt;br /&gt;
=== [[SpawnBuilding|SpawnBuilding]] ===&lt;br /&gt;
&lt;br /&gt;
Places a building on the map.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name you assign to the building. &lt;br /&gt;
*&#039;&#039;&#039;Template&#039;&#039;&#039; - The name of the building type being created. &lt;br /&gt;
*&#039;&#039;&#039;Player&#039;&#039;&#039; - The player who will own the building. &lt;br /&gt;
*&#039;&#039;&#039;Position&#039;&#039;&#039; - Where the building will be placed. &lt;br /&gt;
*&#039;&#039;&#039;NoDeath&#039;&#039;&#039; - Set this to &amp;quot;1&amp;quot; to make the unit immortal (you can still kill it with a scripted DestroyBuilding command) &lt;br /&gt;
&lt;br /&gt;
=== [[SpawnUnit|SpawnUnit]] ===&lt;br /&gt;
&lt;br /&gt;
Places a unit on the map.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name you assign to the unit. &lt;br /&gt;
*&#039;&#039;&#039;Parent&#039;&#039;&#039; - The army the unit will belong to (used to make it easier to issue moves). &lt;br /&gt;
*&#039;&#039;&#039;Template&#039;&#039;&#039; - The type of unit being created. &lt;br /&gt;
*&#039;&#039;&#039;Player&#039;&#039;&#039; - The player that will own the unit. &lt;br /&gt;
*&#039;&#039;&#039;Position&#039;&#039;&#039; - Where the unit will be created. &lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
=== [[Var_Command|Var]] ===&lt;br /&gt;
&lt;br /&gt;
Set or modify a variable. Tip: Set any variable you want to use to 0 in the initial setup trigger to avoid unpredictable results. &#039;&#039;All values must be integers.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - Name of the variable &lt;br /&gt;
*&#039;&#039;&#039;Operation&#039;&#039;&#039; - Operation to be performed &lt;br /&gt;
**&amp;quot;=&amp;quot; or &amp;quot;Set&amp;quot; - set to the value &lt;br /&gt;
**&amp;quot;+&amp;quot; or &amp;quot;Add&amp;quot; - add value &lt;br /&gt;
**&amp;quot;-&amp;quot; or &amp;quot;Sub&amp;quot; - subtract value &lt;br /&gt;
**&amp;quot;Rand&amp;quot; or &amp;quot;SetRand&amp;quot; - set to a random value between Min and Max &lt;br /&gt;
**&amp;quot;AddRand&amp;quot; - add a random value between Min and Max &lt;br /&gt;
**&amp;quot;SubRand&amp;quot; - subtract a random value between Min and Max &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Value&#039;&#039;&#039; - The value to be used in the operation &lt;br /&gt;
*&#039;&#039;&#039;Min&#039;&#039;&#039; - Minimum value for random functions &lt;br /&gt;
*&#039;&#039;&#039;Max&#039;&#039;&#039; - Maximum value for random functions &lt;br /&gt;
*&#039;&#039;&#039;Example&#039;&#039;&#039; - &#039;&#039;&amp;lt;Var Name=&amp;quot;vFoo&amp;quot; Operation=&amp;quot;+&amp;quot; Value=&amp;quot;3&amp;quot; /&amp;gt;&#039;&#039; will add three to vFoo&#039;s current value &lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]] [[Category:Commands]]&lt;/div&gt;</summary>
		<author><name>Patiobattle04</name></author>
	</entry>
	<entry>
		<id>https://wiki.ashesofthesingularity.com/index.php?title=CaptureNearest&amp;diff=8691</id>
		<title>CaptureNearest</title>
		<link rel="alternate" type="text/html" href="https://wiki.ashesofthesingularity.com/index.php?title=CaptureNearest&amp;diff=8691"/>
		<updated>2017-01-18T21:04:28Z</updated>

		<summary type="html">&lt;p&gt;Patiobattle04: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
The CaptureNearest [[Script_Commands|command]] orders an army to clear its order queue and capture the nearest neutral or enemy-controlled region.&lt;br /&gt;
&lt;br /&gt;
See also: [[CaptureNearestNext|CaptureNearestNext]]&lt;br /&gt;
&lt;br /&gt;
== Arguments ==&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the unit to do the capturing &lt;br /&gt;
*&#039;&#039;&#039;Repeat&#039;&#039;&#039; - Whether to repeat the order (indefinitely) &lt;br /&gt;
&lt;br /&gt;
==Common Usage==&lt;br /&gt;
*Causing an army to stop what it&#039;s doing and go capture something, in a trigger behind a logic gate tied to some specific event&lt;br /&gt;
&lt;br /&gt;
== Limitations ==&lt;br /&gt;
&lt;br /&gt;
*Can only order script-spawned units, not units built &#039;organically&#039; during gameplay &lt;br /&gt;
*The ordered unit will stop moving if region is captured before it gets there &lt;br /&gt;
*Clears the order queue - cannot be combined with other commands like [[AttackAttackMove|AttackAttackMove]] or [[MoveUnit|MoveUnit]] &lt;br /&gt;
&lt;br /&gt;
[[Category:Commands]]&lt;/div&gt;</summary>
		<author><name>Patiobattle04</name></author>
	</entry>
	<entry>
		<id>https://wiki.ashesofthesingularity.com/index.php?title=CaptureNearest&amp;diff=8681</id>
		<title>CaptureNearest</title>
		<link rel="alternate" type="text/html" href="https://wiki.ashesofthesingularity.com/index.php?title=CaptureNearest&amp;diff=8681"/>
		<updated>2017-01-18T21:03:39Z</updated>

		<summary type="html">&lt;p&gt;Patiobattle04: Created page with &amp;quot;Category:Commands The CaptureNearest command orders an army to clear its order queue and capture the nearest neutral or enemy-controlled region.  See a...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Commands]]&lt;br /&gt;
The CaptureNearest [[Script_Commands|command]] orders an army to clear its order queue and capture the nearest neutral or enemy-controlled region.&lt;br /&gt;
&lt;br /&gt;
See also: [[CaptureNearestNext]]&lt;br /&gt;
==Arguments==&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the unit to do the capturing &lt;br /&gt;
*&#039;&#039;&#039;Repeat&#039;&#039;&#039; - Whether to repeat the order (indefinitely) &lt;br /&gt;
==Limitations==&lt;br /&gt;
*Can only order script-spawned units, not units built &#039;organically&#039; during gameplay &lt;br /&gt;
*The ordered unit will stop moving if region is captured before it gets there&lt;br /&gt;
*Clears the order queue - cannot be combined with other commands like [[AttackAttackMove]] or [[MoveUnit]]&lt;/div&gt;</summary>
		<author><name>Patiobattle04</name></author>
	</entry>
	<entry>
		<id>https://wiki.ashesofthesingularity.com/index.php?title=CaptureNearestNext&amp;diff=8671</id>
		<title>CaptureNearestNext</title>
		<link rel="alternate" type="text/html" href="https://wiki.ashesofthesingularity.com/index.php?title=CaptureNearestNext&amp;diff=8671"/>
		<updated>2017-01-18T21:01:09Z</updated>

		<summary type="html">&lt;p&gt;Patiobattle04: Created page with &amp;quot;Category:Commands The CaptureNearestNext command order an army to capture the nearest neutral or enemy-controlled region after executing whatever order...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Commands]]&lt;br /&gt;
The CaptureNearestNext [[Script_Commands|command]] order an army to capture the nearest neutral or enemy-controlled region after executing whatever orders it already has.&lt;br /&gt;
See also: [[CaptureNearest]]&lt;br /&gt;
==Arguments==&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the unit to do the capturing &lt;br /&gt;
*&#039;&#039;&#039;Repeat&#039;&#039;&#039; - Whether to repeat the order (indefinitely) &lt;br /&gt;
==Limitations==&lt;br /&gt;
*Can only order script-spawned units, not units built &#039;organically&#039; during gameplay&lt;br /&gt;
*Will send the army at the nearest unowned Relay or Generator to their current position. If you want to send them somewhere specific, use [[AttackAttackMove]] or [[MoveUnit]] instead.&lt;br /&gt;
==Example==&lt;br /&gt;
  &amp;lt;Trigger Name=&amp;quot;EnemyWave02&amp;quot; Type=&amp;quot;Timer&amp;quot; Timer=&amp;quot;10&amp;quot; Inactive=&amp;quot;1&amp;quot; NotOtherTrigger=&amp;quot;FactorySwitch&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnUnit Name=&amp;quot;Enemy02_Leader&amp;quot; Template=&amp;quot;PHC_T1_Light&amp;quot; Player=&amp;quot;1&amp;quot; Position=&amp;quot;-500,300&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnUnit Name=&amp;quot;Enemy02_Minion01&amp;quot; Parent=&amp;quot;Enemy02_Leader&amp;quot; Template=&amp;quot;PHC_T1_Light&amp;quot; Player=&amp;quot;1&amp;quot; Position=&amp;quot;-510,300&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnUnit Name=&amp;quot;Enemy02_Minion01&amp;quot; Parent=&amp;quot;Enemy02_Leader&amp;quot; Template=&amp;quot;PHC_T1_Light&amp;quot; Player=&amp;quot;1&amp;quot; Position=&amp;quot;-530,300&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnUnit Name=&amp;quot;Enemy02_Minion01&amp;quot; Parent=&amp;quot;Enemy02_Leader&amp;quot; Template=&amp;quot;PHC_T1_Light&amp;quot; Player=&amp;quot;1&amp;quot; Position=&amp;quot;-540,300&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnUnit Name=&amp;quot;Enemy02_Minion02&amp;quot; Parent=&amp;quot;Enemy02_Leader&amp;quot; Template=&amp;quot;PHC_T1_MRM&amp;quot; Player=&amp;quot;1&amp;quot; Position=&amp;quot;-520,300&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnUnit Name=&amp;quot;Enemy02_Minion02&amp;quot; Parent=&amp;quot;Enemy02_Leader&amp;quot; Template=&amp;quot;PHC_T1_MRM&amp;quot; Player=&amp;quot;1&amp;quot; Position=&amp;quot;-520,310&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnUnit Name=&amp;quot;Enemy02_Minion03&amp;quot; Parent=&amp;quot;Enemy02_Leader&amp;quot; Template=&amp;quot;PHC_T1_MRM&amp;quot; Player=&amp;quot;1&amp;quot; Position=&amp;quot;-500,310&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnUnit Name=&amp;quot;Enemy02_Minion04&amp;quot; Parent=&amp;quot;Enemy02_Leader&amp;quot; Template=&amp;quot;PHC_T1_MRM&amp;quot; Player=&amp;quot;1&amp;quot; Position=&amp;quot;-500,320&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;AttackAttackMove Name=&amp;quot;Enemy02_Leader&amp;quot; Position=&amp;quot;-4850,350&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;CaptureNearestNext Name=&amp;quot;Enemy02_Leader&amp;quot; Repeat=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;AttackAttackMove Name=&amp;quot;Enemy02_Leader&amp;quot; Position=&amp;quot;-9100,-8500&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;ActivateTrigger Target=&amp;quot;EnemyWave01&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/Trigger&amp;gt;&lt;br /&gt;
This spawns an army and moves it to one side of a central plateau before telling it to CaptureNearestNext. This (almost 100%, it can get weird in certain unusual gamestates) ensures that it attacks one side of the map while the units created by similar but mirrored EnemyWave01 trigger attack the other side.&lt;/div&gt;</summary>
		<author><name>Patiobattle04</name></author>
	</entry>
	<entry>
		<id>https://wiki.ashesofthesingularity.com/index.php?title=Camera&amp;diff=8661</id>
		<title>Camera</title>
		<link rel="alternate" type="text/html" href="https://wiki.ashesofthesingularity.com/index.php?title=Camera&amp;diff=8661"/>
		<updated>2017-01-18T20:56:29Z</updated>

		<summary type="html">&lt;p&gt;Patiobattle04: Created page with &amp;quot;Category:Commands The Camera command moves the player&amp;#039;s view to a specific area. ==Arguments== *&amp;#039;&amp;#039;&amp;#039;Position&amp;#039;&amp;#039;&amp;#039; - Where the camera will be looking.  *&amp;#039;&amp;#039;...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Commands]]&lt;br /&gt;
The Camera [[Script_Commands|command]] moves the player&#039;s view to a specific area.&lt;br /&gt;
==Arguments==&lt;br /&gt;
*&#039;&#039;&#039;Position&#039;&#039;&#039; - Where the camera will be looking. &lt;br /&gt;
*&#039;&#039;&#039;Snap&#039;&#039;&#039; - Set to 1 to move the camera instantly, instead of panning &lt;br /&gt;
*&#039;&#039;&#039;Speed&#039;&#039;&#039; - Scalar for how fast the camera will move, compared to clicking on the minimap. 0.5 for half speed, 2 for double, etc. &lt;br /&gt;
*&#039;&#039;&#039;Unit&#039;&#039;&#039; - Follow a specific script-spawned unit. Do not use Position if you use this. &lt;br /&gt;
*&#039;&#039;&#039;Building&#039;&#039;&#039; - Follow a specific script-spawned building. Do not use Position if you use this. &lt;br /&gt;
*&#039;&#039;&#039;Save&#039;&#039;&#039; - Save the current camera settings. Useful if you want to show the player something and then move the camera back to whatever they were looking at. &lt;br /&gt;
*&#039;&#039;&#039;Load&#039;&#039;&#039; - Load the last saved camera settings. Use with Save. May cause a crash if you haven&#039;t previously saved a camera position. &lt;br /&gt;
*&#039;&#039;&#039;RTP&#039;&#039;&#039; - Distance, rotation and pitch of the camera. &lt;br /&gt;
**The first number is distance. 1000 is a fairly tight shot, 2500 is a fairly typical gameplay zoom &lt;br /&gt;
**Second number is rotation. 0 points the camera north, 90 east, 180 south, 270 west. &lt;br /&gt;
**Third number is pitch. 40-50 are typical gameplay angles. 90 would be straight down. Note that anything lower than 40 can cause the engine to load a &#039;&#039;&#039;lot&#039;&#039;&#039; more terrain and models than it&#039;s designed to, so use with caution. &lt;br /&gt;
==Common Usage==&lt;br /&gt;
*Showing the player something interesting or relevant to ongoing dialog&lt;br /&gt;
==Limitations==&lt;br /&gt;
*Stealing camera control away from the player is jarring and should be used sparingly&lt;br /&gt;
*Setting the pitch too low can cause performance issues and even crashes if the engine tries to render too many things at once&lt;br /&gt;
==Example==&lt;br /&gt;
  &amp;lt;Trigger Name=&amp;quot;CameraFix&amp;quot; Type=&amp;quot;Timer&amp;quot; Timer=&amp;quot;0&amp;quot; &amp;gt;&lt;br /&gt;
   &amp;lt;SpawnUnit Name=&amp;quot;Bomber&amp;quot; Template=&amp;quot;PHC_A_Hades&amp;quot; Player=&amp;quot;1&amp;quot; Position=&amp;quot;-4150,1479,0&amp;quot; NoDeath=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;AttackAttackMove Name=&amp;quot;Bomber&amp;quot; Position=&amp;quot;-3900,4500,0&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;Camera Position=&amp;quot;-2300,0&amp;quot; RTP=&amp;quot;3800,180,150&amp;quot; Snap=&amp;quot;1&amp;quot; /&amp;gt;   &lt;br /&gt;
   &amp;lt;LetterBox Enable=&amp;quot;1&amp;quot; Snap=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;HidePanel HidePlayer=&amp;quot;1&amp;quot; HideRank=&amp;quot;1&amp;quot; HideResource=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;ActivateTrigger Target=&amp;quot;SetupBattle&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/Trigger&amp;gt;&lt;br /&gt;
This sets up a very specific shot to start the Kepler mission of Imminent Crisis. Using it in combination with LetterBox means that the player must advance through the dialog called by subsequent triggers before gaining control of the camera.&lt;/div&gt;</summary>
		<author><name>Patiobattle04</name></author>
	</entry>
	<entry>
		<id>https://wiki.ashesofthesingularity.com/index.php?title=AttackUnit&amp;diff=8651</id>
		<title>AttackUnit</title>
		<link rel="alternate" type="text/html" href="https://wiki.ashesofthesingularity.com/index.php?title=AttackUnit&amp;diff=8651"/>
		<updated>2017-01-18T20:52:15Z</updated>

		<summary type="html">&lt;p&gt;Patiobattle04: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
The AttackUnit [[Script_Commands|command]] orders an army to attack a specific script-spawned unit.&lt;br /&gt;
&lt;br /&gt;
== Arguments ==&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the unit to do the attacking &lt;br /&gt;
*&#039;&#039;&#039;Target&#039;&#039;&#039; - The name of the unit to be attacked &lt;br /&gt;
&lt;br /&gt;
== Common Usage ==&lt;br /&gt;
&lt;br /&gt;
*Sending attack waves at a VIP unit the player has control over but is supposed to be protecting &lt;br /&gt;
&lt;br /&gt;
== Limitations ==&lt;br /&gt;
&lt;br /&gt;
*Cannot target or command units built &#039;organically&#039; during the scenario, only script-spawned units. &lt;br /&gt;
&lt;br /&gt;
[[Category:Commands]]&lt;/div&gt;</summary>
		<author><name>Patiobattle04</name></author>
	</entry>
	<entry>
		<id>https://wiki.ashesofthesingularity.com/index.php?title=AttackUnit&amp;diff=8641</id>
		<title>AttackUnit</title>
		<link rel="alternate" type="text/html" href="https://wiki.ashesofthesingularity.com/index.php?title=AttackUnit&amp;diff=8641"/>
		<updated>2017-01-18T20:51:59Z</updated>

		<summary type="html">&lt;p&gt;Patiobattle04: Created page with &amp;quot;Category:Commands The AttackUnit Script_Commands command orders an army to attack a specific script-spawned unit. ==Arguments== *&amp;#039;&amp;#039;&amp;#039;Name&amp;#039;&amp;#039;&amp;#039; - The name of the unit to d...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Commands]]&lt;br /&gt;
The AttackUnit [[Script_Commands]] command orders an army to attack a specific script-spawned unit.&lt;br /&gt;
==Arguments==&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the unit to do the attacking &lt;br /&gt;
*&#039;&#039;&#039;Target&#039;&#039;&#039; - The name of the unit to be attacked &lt;br /&gt;
==Common Usage==&lt;br /&gt;
*Sending attack waves at a VIP unit the player has control over but is supposed to be protecting&lt;br /&gt;
==Limitations==&lt;br /&gt;
*Cannot target or command units built &#039;organically&#039; during the scenario, only script-spawned units.&lt;/div&gt;</summary>
		<author><name>Patiobattle04</name></author>
	</entry>
	<entry>
		<id>https://wiki.ashesofthesingularity.com/index.php?title=Script_Commands&amp;diff=8631</id>
		<title>Script Commands</title>
		<link rel="alternate" type="text/html" href="https://wiki.ashesofthesingularity.com/index.php?title=Script_Commands&amp;diff=8631"/>
		<updated>2017-01-18T20:50:07Z</updated>

		<summary type="html">&lt;p&gt;Patiobattle04: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Commands are used within [[Triggers|triggers]] to create gameplay effects, from revealing locations to spawning attack waves or even changing an AI&#039;s difficulty mid-game.&lt;br /&gt;
&lt;br /&gt;
== List of Commands ==&lt;br /&gt;
&lt;br /&gt;
=== [[ActivateTrigger|ActivateTrigger]] ===&lt;br /&gt;
&lt;br /&gt;
Activate another trigger (also can be used to activate the trigger it is called from, making a repeating trigger).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Target&#039;&#039;&#039; - This is the name of another trigger that will be set from Inactive to Active. &lt;br /&gt;
&lt;br /&gt;
=== [[AreaIndicator|AreaIndicator]] ===&lt;br /&gt;
&lt;br /&gt;
This places a visible indicator on the map to help the player know where they should go to.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the area. &lt;br /&gt;
*&#039;&#039;&#039;Position&#039;&#039;&#039; - The center of the area. &lt;br /&gt;
*&#039;&#039;&#039;Color&#039;&#039;&#039; - The color the area indicator is. [ Green | Blue | Red ] &lt;br /&gt;
*&#039;&#039;&#039;Size&#039;&#039;&#039; - How big the area indicator will be. &lt;br /&gt;
*&#039;&#039;&#039;Duration&#039;&#039;&#039; - How long the area indicator should last, -1 means that it lasts forever. &lt;br /&gt;
&lt;br /&gt;
=== [[AttackAttackMove|AttackAttackMove]] ===&lt;br /&gt;
&lt;br /&gt;
Order an army to move to a specific area, engaging enemies along the way.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the army that will be given the order. &lt;br /&gt;
*&#039;&#039;&#039;Repeat&#039;&#039;&#039; - Whether to repeat the order. Use with multiple AttackAttackMove commands to create a patrol path. &lt;br /&gt;
*&#039;&#039;&#039;Position&#039;&#039;&#039; - Where the army is ordered to move to. &lt;br /&gt;
&lt;br /&gt;
=== [[AttackUnit|AttackUnit]] ===&lt;br /&gt;
&lt;br /&gt;
Order an army to attack a specific script-spawned unit&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the unit to do the attacking &lt;br /&gt;
*&#039;&#039;&#039;Target&#039;&#039;&#039; - The name of the unit to be attacked &lt;br /&gt;
&lt;br /&gt;
=== [[Camera|Camera]] ===&lt;br /&gt;
&lt;br /&gt;
Move the player&#039;s view to a specific area.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Position&#039;&#039;&#039; - Where the camera will be looking. &lt;br /&gt;
*&#039;&#039;&#039;Snap&#039;&#039;&#039; - Set to 1 to move the camera instantly, instead of panning &lt;br /&gt;
*&#039;&#039;&#039;Speed&#039;&#039;&#039; - Scalar for how fast the camera will move, compared to clicking on the minimap. 0.5 for half speed, 2 for double, etc. &lt;br /&gt;
*&#039;&#039;&#039;Unit&#039;&#039;&#039; - Follow a specific script-spawned unit. Do not use Position if you use this. &lt;br /&gt;
*&#039;&#039;&#039;Building&#039;&#039;&#039; - Follow a specific script-spawned building. Do not use Position if you use this. &lt;br /&gt;
*&#039;&#039;&#039;Save&#039;&#039;&#039; - Save the current camera settings. Useful if you want to show the player something and then move the camera back to whatever they were looking at. &lt;br /&gt;
*&#039;&#039;&#039;Load&#039;&#039;&#039; - Load the last saved camera settings. Use with Save. May cause a crash if you haven&#039;t previously saved a camera position. &lt;br /&gt;
*&#039;&#039;&#039;RTP&#039;&#039;&#039; - Distance, rotation and pitch of the camera. &lt;br /&gt;
**The first number is distance. 1000 is a fairly tight shot, 2500 is a fairly typical gameplay zoom &lt;br /&gt;
**Second number is rotation. 0 points the camera north, 90 east, 180 south, 270 west. &lt;br /&gt;
**Third number is pitch. 40-50 are typical gameplay angles. 90 would be straight down. Note that anything lower than 40 can cause the engine to load a &#039;&#039;&#039;lot&#039;&#039;&#039; more terrain and models than it&#039;s designed to, so use with caution. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
=== [[CaptureNearestNext|CaptureNearestNext]] ===&lt;br /&gt;
&lt;br /&gt;
Order an army to capture the nearest neutral or enemy-controlled region&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the unit to do the capturing &lt;br /&gt;
*&#039;&#039;&#039;Repeat&#039;&#039;&#039; - Whether to repeat the order (indefinitely) &lt;br /&gt;
&lt;br /&gt;
=== [[CaptureNearest|CaptureNearest]] ===&lt;br /&gt;
&lt;br /&gt;
Order an army to clear its order queue and capture the nearest neutral or enemy-controlled region (note: ordered unit will stop moving if region is captured before it gets there)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the unit to do the capturing &lt;br /&gt;
*&#039;&#039;&#039;Repeat&#039;&#039;&#039; - Whether to repeat the order (indefinitely) &lt;br /&gt;
&lt;br /&gt;
=== [[ChangeAIDifficulty|ChangeAIDifficulty]] ===&lt;br /&gt;
&lt;br /&gt;
Change an AI player&#039;s difficulty setting&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Player&#039;&#039;&#039; - The index of the player to change &lt;br /&gt;
*&#039;&#039;&#039;Difficulty&#039;&#039;&#039; - The name of the difficulty to set it to &lt;br /&gt;
&lt;br /&gt;
=== [[ChangeAIPersonality|ChangeAIPersonality]] ===&lt;br /&gt;
&lt;br /&gt;
Change an AI player&#039;s personality&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Player&#039;&#039;&#039; - The index of the player to change &lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the personality to set it to (defined in \Assets\GameCore\DefaultPlayerAI.xml) &lt;br /&gt;
&lt;br /&gt;
=== [[DestroyBuilding|DestroyBuilding]] ===&lt;br /&gt;
&lt;br /&gt;
Destroys a specific script-spawned building.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the building to be destroyed. &lt;br /&gt;
&lt;br /&gt;
=== [[DestroyUnit|DestroyUnit]] ===&lt;br /&gt;
&lt;br /&gt;
Destroys a specific script-spawned unit.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the unit to be destroyed. &lt;br /&gt;
&lt;br /&gt;
=== [[Dialog|Dialog]] ===&lt;br /&gt;
&lt;br /&gt;
This creates a popup that can convey information or story to the player. Use with &amp;lt;Entry&amp;gt; tags.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
=== [[Entry|Entry]] ===&lt;br /&gt;
&lt;br /&gt;
The actual text that will be displayed. Use only within &amp;lt;Dialog&amp;gt; tags.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Icon&#039;&#039;&#039; - The icon used with the text popup. Hard-coded to correspond to Ashes characters, and changes the text color to match. &lt;br /&gt;
**Mac &lt;br /&gt;
**Haalee &lt;br /&gt;
**Vexen &lt;br /&gt;
**Valen &lt;br /&gt;
**Artix &lt;br /&gt;
**Ventrix &lt;br /&gt;
**Athena &lt;br /&gt;
**Adrasteia &lt;br /&gt;
**Agememnon &lt;br /&gt;
**Agethon &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Text&#039;&#039;&#039; - The actual text that is displayed. Corresponds to an entry in a .csv file in \Assets\UIText\ &lt;br /&gt;
&lt;br /&gt;
=== [[EndMission|EndMission]] ===&lt;br /&gt;
&lt;br /&gt;
Use to force a win or loss of the scenario.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Victory&#039;&#039;&#039; - Set to 0 to lose the scenario or 1 to win. &lt;br /&gt;
*&#039;&#039;&#039;String&#039;&#039;&#039; - The text that is displayed. &lt;br /&gt;
&lt;br /&gt;
=== [[GrantStuff|GrantStuff]] ===&lt;br /&gt;
&lt;br /&gt;
Give a player free resources.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Player&#039;&#039;&#039; - The index of the player to be hooked up &lt;br /&gt;
*&#039;&#039;&#039;Metal&#039;&#039;&#039; - The amount of metal being granted. &lt;br /&gt;
*&#039;&#039;&#039;Quanta&#039;&#039;&#039; - The amount of quanta being granted. &lt;br /&gt;
*&#039;&#039;&#039;Radioactives&#039;&#039;&#039; - The amount of radioactives being granted. &lt;br /&gt;
*&#039;&#039;&#039;Turinium&#039;&#039;&#039; - The amount of victory points being granted. &lt;br /&gt;
&lt;br /&gt;
=== [[GrantTech|GrantTech]] ===&lt;br /&gt;
&lt;br /&gt;
Give a player a free Quantum Upgrade&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Player&#039;&#039;&#039; - The index of the player to be hooked up &lt;br /&gt;
*&#039;&#039;&#039;Tech&#039;&#039;&#039; - The upgrade to grant [ HPs | Weapons | Radar | BuildingHPs | MetalStorage | RadsStorage ] &lt;br /&gt;
&lt;br /&gt;
=== [[HidePanel|HidePanel]] ===&lt;br /&gt;
&lt;br /&gt;
Hide UI panels.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;HidePlayer&#039;&#039;&#039; - Hide the Player panel &lt;br /&gt;
*&#039;&#039;&#039;HideRank&#039;&#039;&#039; - Hide the Rank panel &lt;br /&gt;
*&#039;&#039;&#039;HideResource&#039;&#039;&#039; - Hide the Resource panel &lt;br /&gt;
&lt;br /&gt;
=== [[LetterBox|LetterBox]] ===&lt;br /&gt;
&lt;br /&gt;
Disable commands and go to a cinematic, letterbox view.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Enable&#039;&#039;&#039; - 1 to turn letterbox mode on, 0 to turn it off &lt;br /&gt;
*&#039;&#039;&#039;Snap&#039;&#039;&#039; - 1 to immediately go to/from letterbox mode instead of fading in/out &lt;br /&gt;
&lt;br /&gt;
=== [[MoveUnit|MoveUnit]] ===&lt;br /&gt;
&lt;br /&gt;
Move an army to a location without stopping to fight&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - Name of the unit to be moved &lt;br /&gt;
*&#039;&#039;&#039;Position&#039;&#039;&#039; - x/y coordinates to move to &lt;br /&gt;
*&#039;&#039;&#039;Repeat&#039;&#039;&#039; - 1 to repeat this command indefinitely. Use with multiple MoveUnit commands to create a patrol path. &lt;br /&gt;
*&#039;&#039;&#039;Stop&#039;&#039;&#039; - 1 to stop the unit &lt;br /&gt;
&lt;br /&gt;
=== [[Objective|Objective]] ===&lt;br /&gt;
&lt;br /&gt;
Use this to set objective notifications for the player (so they know what to do).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the objective, use this name when checking or hiding it. &lt;br /&gt;
*&#039;&#039;&#039;Hide&#039;&#039;&#039; - If this objective should be hidden or not, usually this means the objective is complete. &lt;br /&gt;
*&#039;&#039;&#039;String&#039;&#039;&#039; - What the objective displays on the screen. &lt;br /&gt;
*&#039;&#039;&#039;SetCheck&#039;&#039;&#039; - If the objective checkbox is checked or not. &lt;br /&gt;
&lt;br /&gt;
=== [[Restrict|Restrict]] ===&lt;br /&gt;
&lt;br /&gt;
To block the player from being able to access objects in the game.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Type&#039;&#039;&#039; - Unit, Building, Research or Orbital. Whatever type of object that is being restricted. &lt;br /&gt;
*&#039;&#039;&#039;ID&#039;&#039;&#039; - The name of the object being restricted. &lt;br /&gt;
*&#039;&#039;&#039;Enable&#039;&#039;&#039; - Set this to 1 to enable the object. You can use this to restrict something early in the scenario and then enable it later on (for example: when the player accomplishes an objective or after a set amount of time). &lt;br /&gt;
&lt;br /&gt;
=== [[Reveal|Reveal]] ===&lt;br /&gt;
&lt;br /&gt;
Reveal the fog of war over a location&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of this reveal (so you can modify it with a later command) &lt;br /&gt;
*&#039;&#039;&#039;Enable&#039;&#039;&#039; - 1 to enable, 0 to disable &lt;br /&gt;
*&#039;&#039;&#039;Position&#039;&#039;&#039; - x/y coordinates of the center of the revealed area &lt;br /&gt;
*&#039;&#039;&#039;Size&#039;&#039;&#039; - Radius of the area to be revealed &lt;br /&gt;
*&#039;&#039;&#039;RadarSize&#039;&#039;&#039; - Use to add a radar component to the reveal. Can be used with Size=&amp;quot;0&amp;quot; to create a radar-only reveal &lt;br /&gt;
&lt;br /&gt;
=== [[SpawnBuilding|SpawnBuilding]] ===&lt;br /&gt;
&lt;br /&gt;
Places a building on the map.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name you assign to the building. &lt;br /&gt;
*&#039;&#039;&#039;Template&#039;&#039;&#039; - The name of the building type being created. &lt;br /&gt;
*&#039;&#039;&#039;Player&#039;&#039;&#039; - The player who will own the building. &lt;br /&gt;
*&#039;&#039;&#039;Position&#039;&#039;&#039; - Where the building will be placed. &lt;br /&gt;
*&#039;&#039;&#039;NoDeath&#039;&#039;&#039; - Set this to &amp;quot;1&amp;quot; to make the unit immortal (you can still kill it with a scripted DestroyBuilding command) &lt;br /&gt;
&lt;br /&gt;
=== [[SpawnUnit|SpawnUnit]] ===&lt;br /&gt;
&lt;br /&gt;
Places a unit on the map.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name you assign to the unit. &lt;br /&gt;
*&#039;&#039;&#039;Parent&#039;&#039;&#039; - The army the unit will belong to (used to make it easier to issue moves). &lt;br /&gt;
*&#039;&#039;&#039;Template&#039;&#039;&#039; - The type of unit being created. &lt;br /&gt;
*&#039;&#039;&#039;Player&#039;&#039;&#039; - The player that will own the unit. &lt;br /&gt;
*&#039;&#039;&#039;Position&#039;&#039;&#039; - Where the unit will be created. &lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
=== [[Var_Command|Var]] ===&lt;br /&gt;
&lt;br /&gt;
Set or modify a variable. Tip: Set any variable you want to use to 0 in the initial setup trigger to avoid unpredictable results. &#039;&#039;All values must be integers.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - Name of the variable &lt;br /&gt;
*&#039;&#039;&#039;Operation&#039;&#039;&#039; - Operation to be performed &lt;br /&gt;
**&amp;quot;=&amp;quot; or &amp;quot;Set&amp;quot; - set to the value &lt;br /&gt;
**&amp;quot;+&amp;quot; or &amp;quot;Add&amp;quot; - add value &lt;br /&gt;
**&amp;quot;-&amp;quot; or &amp;quot;Sub&amp;quot; - subtract value &lt;br /&gt;
**&amp;quot;Rand&amp;quot; or &amp;quot;SetRand&amp;quot; - set to a random value between Min and Max &lt;br /&gt;
**&amp;quot;AddRand&amp;quot; - add a random value between Min and Max &lt;br /&gt;
**&amp;quot;SubRand&amp;quot; - subtract a random value between Min and Max &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Value&#039;&#039;&#039; - The value to be used in the operation &lt;br /&gt;
*&#039;&#039;&#039;Min&#039;&#039;&#039; - Minimum value for random functions &lt;br /&gt;
*&#039;&#039;&#039;Max&#039;&#039;&#039; - Maximum value for random functions &lt;br /&gt;
*&#039;&#039;&#039;Example&#039;&#039;&#039; - &#039;&#039;&amp;lt;Var Name=&amp;quot;vFoo&amp;quot; Operation=&amp;quot;+&amp;quot; Value=&amp;quot;3&amp;quot; /&amp;gt;&#039;&#039; will add three to vFoo&#039;s current value &lt;br /&gt;
&lt;br /&gt;
[[Category:Modding]]&lt;br /&gt;
[[Category:Commands]]&lt;/div&gt;</summary>
		<author><name>Patiobattle04</name></author>
	</entry>
	<entry>
		<id>https://wiki.ashesofthesingularity.com/index.php?title=AttackAttackMove&amp;diff=8621</id>
		<title>AttackAttackMove</title>
		<link rel="alternate" type="text/html" href="https://wiki.ashesofthesingularity.com/index.php?title=AttackAttackMove&amp;diff=8621"/>
		<updated>2017-01-18T20:49:10Z</updated>

		<summary type="html">&lt;p&gt;Patiobattle04: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
The AttackAttackMove [[Script_Commands|command]] orders an army to move to a specific area, engaging enemies along the way.&lt;br /&gt;
&lt;br /&gt;
== Arguments ==&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the army that will be given the order. &lt;br /&gt;
*&#039;&#039;&#039;Repeat&#039;&#039;&#039; - Whether to repeat the order. Use with multiple AttackAttackMove commands to create a patrol path. &lt;br /&gt;
*&#039;&#039;&#039;Position&#039;&#039;&#039; - Where the army is ordered to move to. &lt;br /&gt;
&lt;br /&gt;
== Common Usage ==&lt;br /&gt;
&lt;br /&gt;
*Ordering script-spawned attack waves to assault a position &lt;br /&gt;
&lt;br /&gt;
== Limitations ==&lt;br /&gt;
&lt;br /&gt;
*Cannot command units built &amp;quot;organically&amp;quot; during the scenario, only units spawned via script &lt;br /&gt;
*Will only order the &#039;&#039;&#039;last&#039;&#039;&#039; unit spawned with the given name (relevant when using repeating triggers) &lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;Trigger Name=&amp;quot;tNorthIncoming_TeleComplete&amp;quot; Type=&amp;quot;Timer&amp;quot; Timer=&amp;quot;30&amp;quot; Inactive=&amp;quot;1&amp;quot; &amp;gt;&lt;br /&gt;
    &amp;lt;Objective Name=&amp;quot;oIncoming&amp;quot;     String=&amp;quot;Europa_oIncoming_TeleComplete&amp;quot;  SetCheck=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnUnit Name=&amp;quot;uNorthReinforcement_Leader&amp;quot; Player=&amp;quot;2&amp;quot; Template=&amp;quot;PHC_2_Athena&amp;quot; Position=&amp;quot;200,-5900&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnUnit Name=&amp;quot;uNorthReinforcement_01&amp;quot; Player=&amp;quot;2&amp;quot; Template=&amp;quot;PHC_2_Athena&amp;quot; Parent=&amp;quot;uNorthReinforcement_Leader&amp;quot; Position=&amp;quot;240,-5900&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnUnit Name=&amp;quot;uNorthReinforcement_02&amp;quot; Player=&amp;quot;2&amp;quot; Template=&amp;quot;PHC_2_Zeus&amp;quot; Parent=&amp;quot;uNorthReinforcement_Leader&amp;quot; Position=&amp;quot;200,-5940&amp;quot; /&amp;gt;&lt;br /&gt;
    [...]&lt;br /&gt;
    &amp;lt;MoveUnit Name=&amp;quot;uNorthReinforcement_Leader&amp;quot; Position=&amp;quot;800,-6100&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;CaptureNearestNext Name=&amp;quot;uNorthReinforcement_Leader&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;MoveUnit Name=&amp;quot;uNorthReinforcement_Leader&amp;quot; Position=&amp;quot;2600,-6300&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;CaptureNearestNext Name=&amp;quot;uNorthReinforcement_Leader&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;MoveUnit Name=&amp;quot;uNorthReinforcement_Leader&amp;quot; Position=&amp;quot;4300,-6200&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;CaptureNearestNext Name=&amp;quot;uNorthReinforcement_Leader&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;CaptureNearestNext Name=&amp;quot;uNorthReinforcement_Leader&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;CaptureNearestNext Name=&amp;quot;uNorthReinforcement_Leader&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;AttackAttackMove Name=&amp;quot;uNorthReinforcement_Leader&amp;quot; Position=&amp;quot;6700,0&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;ActivateTrigger Target=&amp;quot;tNorthIncoming_Dialog&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/Trigger&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This trigger spawns an army and gives it a sequence of commands, ending with an AttackAttackMove that throws it at the player&#039;s Nexus once its other orders are complete.&lt;br /&gt;
&lt;br /&gt;
Simply using an AttackAttackMove command would likely leave regions un-captured, since the army would not wait to complete the capture.&lt;br /&gt;
&lt;br /&gt;
[[Category:Commands]]&lt;/div&gt;</summary>
		<author><name>Patiobattle04</name></author>
	</entry>
	<entry>
		<id>https://wiki.ashesofthesingularity.com/index.php?title=AttackAttackMove&amp;diff=8611</id>
		<title>AttackAttackMove</title>
		<link rel="alternate" type="text/html" href="https://wiki.ashesofthesingularity.com/index.php?title=AttackAttackMove&amp;diff=8611"/>
		<updated>2017-01-18T20:48:34Z</updated>

		<summary type="html">&lt;p&gt;Patiobattle04: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
The AttackAttackMove [[Commands|command]] orders an army to move to a specific area, engaging enemies along the way.&lt;br /&gt;
&lt;br /&gt;
== Arguments ==&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the army that will be given the order. &lt;br /&gt;
*&#039;&#039;&#039;Repeat&#039;&#039;&#039; - Whether to repeat the order. Use with multiple AttackAttackMove commands to create a patrol path. &lt;br /&gt;
*&#039;&#039;&#039;Position&#039;&#039;&#039; - Where the army is ordered to move to. &lt;br /&gt;
&lt;br /&gt;
== Common Usage ==&lt;br /&gt;
&lt;br /&gt;
*Ordering script-spawned attack waves to assault a position &lt;br /&gt;
&lt;br /&gt;
== Limitations ==&lt;br /&gt;
&lt;br /&gt;
*Cannot command units built &amp;quot;organically&amp;quot; during the scenario, only units spawned via script &lt;br /&gt;
*Will only order the &#039;&#039;&#039;last&#039;&#039;&#039; unit spawned with the given name (relevant when using repeating triggers) &lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;Trigger Name=&amp;quot;tNorthIncoming_TeleComplete&amp;quot; Type=&amp;quot;Timer&amp;quot; Timer=&amp;quot;30&amp;quot; Inactive=&amp;quot;1&amp;quot; &amp;gt;&lt;br /&gt;
    &amp;lt;Objective Name=&amp;quot;oIncoming&amp;quot;     String=&amp;quot;Europa_oIncoming_TeleComplete&amp;quot;  SetCheck=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnUnit Name=&amp;quot;uNorthReinforcement_Leader&amp;quot; Player=&amp;quot;2&amp;quot; Template=&amp;quot;PHC_2_Athena&amp;quot; Position=&amp;quot;200,-5900&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnUnit Name=&amp;quot;uNorthReinforcement_01&amp;quot; Player=&amp;quot;2&amp;quot; Template=&amp;quot;PHC_2_Athena&amp;quot; Parent=&amp;quot;uNorthReinforcement_Leader&amp;quot; Position=&amp;quot;240,-5900&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnUnit Name=&amp;quot;uNorthReinforcement_02&amp;quot; Player=&amp;quot;2&amp;quot; Template=&amp;quot;PHC_2_Zeus&amp;quot; Parent=&amp;quot;uNorthReinforcement_Leader&amp;quot; Position=&amp;quot;200,-5940&amp;quot; /&amp;gt;&lt;br /&gt;
    [...]&lt;br /&gt;
    &amp;lt;MoveUnit Name=&amp;quot;uNorthReinforcement_Leader&amp;quot; Position=&amp;quot;800,-6100&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;CaptureNearestNext Name=&amp;quot;uNorthReinforcement_Leader&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;MoveUnit Name=&amp;quot;uNorthReinforcement_Leader&amp;quot; Position=&amp;quot;2600,-6300&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;CaptureNearestNext Name=&amp;quot;uNorthReinforcement_Leader&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;MoveUnit Name=&amp;quot;uNorthReinforcement_Leader&amp;quot; Position=&amp;quot;4300,-6200&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;CaptureNearestNext Name=&amp;quot;uNorthReinforcement_Leader&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;CaptureNearestNext Name=&amp;quot;uNorthReinforcement_Leader&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;CaptureNearestNext Name=&amp;quot;uNorthReinforcement_Leader&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;AttackAttackMove Name=&amp;quot;uNorthReinforcement_Leader&amp;quot; Position=&amp;quot;6700,0&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;ActivateTrigger Target=&amp;quot;tNorthIncoming_Dialog&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/Trigger&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This trigger spawns an army and gives it a sequence of commands, ending with an AttackAttackMove that throws it at the player&#039;s Nexus once its other orders are complete.&lt;br /&gt;
&lt;br /&gt;
Simply using an AttackAttackMove command would likely leave regions un-captured, since the army would not wait to complete the capture.&lt;br /&gt;
&lt;br /&gt;
[[Category:Commands]]&lt;/div&gt;</summary>
		<author><name>Patiobattle04</name></author>
	</entry>
	<entry>
		<id>https://wiki.ashesofthesingularity.com/index.php?title=AttackAttackMove&amp;diff=8601</id>
		<title>AttackAttackMove</title>
		<link rel="alternate" type="text/html" href="https://wiki.ashesofthesingularity.com/index.php?title=AttackAttackMove&amp;diff=8601"/>
		<updated>2017-01-18T20:48:13Z</updated>

		<summary type="html">&lt;p&gt;Patiobattle04: Created page with &amp;quot;Category:Commands The AttackAttackMove command orders an army to move to a specific area, engaging enemies along the way. ==Arguments== *&amp;#039;&amp;#039;&amp;#039;Name&amp;#039;&amp;#039;&amp;#039; - The name of the a...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Commands]]&lt;br /&gt;
The AttackAttackMove [[command]] orders an army to move to a specific area, engaging enemies along the way.&lt;br /&gt;
==Arguments==&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the army that will be given the order. &lt;br /&gt;
*&#039;&#039;&#039;Repeat&#039;&#039;&#039; - Whether to repeat the order. Use with multiple AttackAttackMove commands to create a patrol path. &lt;br /&gt;
*&#039;&#039;&#039;Position&#039;&#039;&#039; - Where the army is ordered to move to. &lt;br /&gt;
==Common Usage==&lt;br /&gt;
*Ordering script-spawned attack waves to assault a position&lt;br /&gt;
==Limitations==&lt;br /&gt;
*Cannot command units built &amp;quot;organically&amp;quot; during the scenario, only units spawned via script&lt;br /&gt;
*Will only order the &#039;&#039;&#039;last&#039;&#039;&#039; unit spawned with the given name (relevant when using repeating triggers)&lt;br /&gt;
==Example==&lt;br /&gt;
  &amp;lt;Trigger Name=&amp;quot;tNorthIncoming_TeleComplete&amp;quot; Type=&amp;quot;Timer&amp;quot; Timer=&amp;quot;30&amp;quot; Inactive=&amp;quot;1&amp;quot; &amp;gt;&lt;br /&gt;
    &amp;lt;Objective Name=&amp;quot;oIncoming&amp;quot;     String=&amp;quot;Europa_oIncoming_TeleComplete&amp;quot;  SetCheck=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnUnit Name=&amp;quot;uNorthReinforcement_Leader&amp;quot; Player=&amp;quot;2&amp;quot; Template=&amp;quot;PHC_2_Athena&amp;quot; Position=&amp;quot;200,-5900&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnUnit Name=&amp;quot;uNorthReinforcement_01&amp;quot; Player=&amp;quot;2&amp;quot; Template=&amp;quot;PHC_2_Athena&amp;quot; Parent=&amp;quot;uNorthReinforcement_Leader&amp;quot; Position=&amp;quot;240,-5900&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnUnit Name=&amp;quot;uNorthReinforcement_02&amp;quot; Player=&amp;quot;2&amp;quot; Template=&amp;quot;PHC_2_Zeus&amp;quot; Parent=&amp;quot;uNorthReinforcement_Leader&amp;quot; Position=&amp;quot;200,-5940&amp;quot; /&amp;gt;&lt;br /&gt;
    [...]&lt;br /&gt;
    &amp;lt;MoveUnit Name=&amp;quot;uNorthReinforcement_Leader&amp;quot; Position=&amp;quot;800,-6100&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;CaptureNearestNext Name=&amp;quot;uNorthReinforcement_Leader&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;MoveUnit Name=&amp;quot;uNorthReinforcement_Leader&amp;quot; Position=&amp;quot;2600,-6300&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;CaptureNearestNext Name=&amp;quot;uNorthReinforcement_Leader&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;MoveUnit Name=&amp;quot;uNorthReinforcement_Leader&amp;quot; Position=&amp;quot;4300,-6200&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;CaptureNearestNext Name=&amp;quot;uNorthReinforcement_Leader&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;CaptureNearestNext Name=&amp;quot;uNorthReinforcement_Leader&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;CaptureNearestNext Name=&amp;quot;uNorthReinforcement_Leader&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;AttackAttackMove Name=&amp;quot;uNorthReinforcement_Leader&amp;quot; Position=&amp;quot;6700,0&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;ActivateTrigger Target=&amp;quot;tNorthIncoming_Dialog&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/Trigger&amp;gt;&lt;br /&gt;
This trigger spawns an army and gives it a sequence of commands, ending with an AttackAttackMove that throws it at the player&#039;s Nexus once its other orders are complete.&lt;br /&gt;
&lt;br /&gt;
Simply using an AttackAttackMove command would likely leave regions un-captured, since the army would not wait to complete the capture.&lt;/div&gt;</summary>
		<author><name>Patiobattle04</name></author>
	</entry>
	<entry>
		<id>https://wiki.ashesofthesingularity.com/index.php?title=AreaIndicator&amp;diff=8591</id>
		<title>AreaIndicator</title>
		<link rel="alternate" type="text/html" href="https://wiki.ashesofthesingularity.com/index.php?title=AreaIndicator&amp;diff=8591"/>
		<updated>2017-01-18T20:43:10Z</updated>

		<summary type="html">&lt;p&gt;Patiobattle04: Created page with &amp;quot;Category:Commands The AreaIndicator command places a visible indicator on all map views: Standard, Strategic, and Minimap.  ==Arguments== *&amp;#039;&amp;#039;&amp;#039;Name&amp;#039;&amp;#039;&amp;#039; - The name of the...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Commands]]&lt;br /&gt;
The AreaIndicator [[command]] places a visible indicator on all map views: Standard, Strategic, and Minimap.&lt;br /&gt;
&lt;br /&gt;
==Arguments==&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the area. &lt;br /&gt;
*&#039;&#039;&#039;Position&#039;&#039;&#039; - The center of the area. &lt;br /&gt;
*&#039;&#039;&#039;Color&#039;&#039;&#039; - The color the area indicator is. [ Green | Blue | Red ] &lt;br /&gt;
*&#039;&#039;&#039;Size&#039;&#039;&#039; - How big the area indicator will be. &lt;br /&gt;
*&#039;&#039;&#039;Duration&#039;&#039;&#039; - How long the area indicator should last, -1 means that it lasts forever. &lt;br /&gt;
==Common Usage==&lt;br /&gt;
*Highlighting objectives&lt;br /&gt;
==Example==&lt;br /&gt;
  &amp;lt;Trigger Name=&amp;quot;BeginMission&amp;quot; Type=&amp;quot;Timer&amp;quot; Timer=&amp;quot;0&amp;quot; Inactive=&amp;quot;1&amp;quot; &amp;gt;&lt;br /&gt;
    [...]&lt;br /&gt;
    &amp;lt;Objective Name=&amp;quot;Initial_Obj&amp;quot; String=&amp;quot;TurtleWars_Initial_Obj&amp;quot; SetCheck=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;Objective Name=&amp;quot;Generator_Obj&amp;quot; String=&amp;quot;TurtleWars_Generator_Obj&amp;quot; SetCheck=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;AreaIndicator Name=&amp;quot;Fac_Ind&amp;quot; Position=&amp;quot;0,0&amp;quot; Size=&amp;quot;250&amp;quot; Color=&amp;quot;Red&amp;quot; Duration=&amp;quot;-1&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;AreaIndicator Name=&amp;quot;GenNW1_Ind&amp;quot; Position=&amp;quot;10400,-10500&amp;quot; Size=&amp;quot;200&amp;quot; Color=&amp;quot;Blue&amp;quot; Duration=&amp;quot;-1&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;AreaIndicator Name=&amp;quot;GenNW2_Ind&amp;quot; Position=&amp;quot;8576,-10368&amp;quot; Size=&amp;quot;200&amp;quot; Color=&amp;quot;Blue&amp;quot; Duration=&amp;quot;-1&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;AreaIndicator Name=&amp;quot;GenNW3_Ind&amp;quot; Position=&amp;quot;10240,-8672&amp;quot; Size=&amp;quot;200&amp;quot; Color=&amp;quot;Blue&amp;quot; Duration=&amp;quot;-1&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;AreaIndicator Name=&amp;quot;GenSE1_Ind&amp;quot; Position=&amp;quot;-10240,9984&amp;quot; Size=&amp;quot;200&amp;quot; Color=&amp;quot;Green&amp;quot; Duration=&amp;quot;-1&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;AreaIndicator Name=&amp;quot;GenSE2_Ind&amp;quot; Position=&amp;quot;-8320,9984&amp;quot; Size=&amp;quot;200&amp;quot; Color=&amp;quot;Green&amp;quot; Duration=&amp;quot;-1&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;AreaIndicator Name=&amp;quot;GenSE3_Ind&amp;quot; Position=&amp;quot;-10112,8192&amp;quot; Size=&amp;quot;200&amp;quot; Color=&amp;quot;Green&amp;quot; Duration=&amp;quot;-1&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/Trigger&amp;gt;&lt;br /&gt;
This displays infinite-duration circles on each of the six generators that are tied to a capture objective, as well as a red warning indicator on the factory tied to spawning the waves that will shortly be attacking the player.&lt;/div&gt;</summary>
		<author><name>Patiobattle04</name></author>
	</entry>
	<entry>
		<id>https://wiki.ashesofthesingularity.com/index.php?title=Category:Commands&amp;diff=8581</id>
		<title>Category:Commands</title>
		<link rel="alternate" type="text/html" href="https://wiki.ashesofthesingularity.com/index.php?title=Category:Commands&amp;diff=8581"/>
		<updated>2017-01-18T20:39:08Z</updated>

		<summary type="html">&lt;p&gt;Patiobattle04: Created page with &amp;quot;Category:Modding Commands are called from within triggers within scripts to execute some gameplay effect in Scenarios and Campaign Missions.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Modding]]&lt;br /&gt;
Commands are called from within [[triggers]] within [[Scripting|scripts]] to execute some gameplay effect in Scenarios and Campaign Missions.&lt;/div&gt;</summary>
		<author><name>Patiobattle04</name></author>
	</entry>
	<entry>
		<id>https://wiki.ashesofthesingularity.com/index.php?title=ActivateTrigger&amp;diff=8571</id>
		<title>ActivateTrigger</title>
		<link rel="alternate" type="text/html" href="https://wiki.ashesofthesingularity.com/index.php?title=ActivateTrigger&amp;diff=8571"/>
		<updated>2017-01-18T20:37:16Z</updated>

		<summary type="html">&lt;p&gt;Patiobattle04: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
The ActivateTrigger command activates a trigger, making it active and able to fire when its conditions are met.&lt;br /&gt;
&lt;br /&gt;
Also can be used to activate the trigger it is called from, making a repeating trigger.&lt;br /&gt;
&lt;br /&gt;
== Arguments ==&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Target&#039;&#039;&#039; - This is the name of another trigger that will be set from Inactive to Active. &lt;br /&gt;
&lt;br /&gt;
== Common Usage ==&lt;br /&gt;
&lt;br /&gt;
*Creating sequences of triggers that fire one after another, sometimes with delays or other conditions. &lt;br /&gt;
*Creating repeating triggers, like spawning waves of enemies that attack the player. &lt;br /&gt;
&lt;br /&gt;
== Example 1 ==&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;Trigger Name=&amp;quot;EnemyWaveStart&amp;quot; Type=&amp;quot;Timer&amp;quot; Timer=&amp;quot;30&amp;quot; Inactive=&amp;quot;0&amp;quot; &amp;gt;&lt;br /&gt;
    &amp;lt;ActivateTrigger Target=&amp;quot;EnemyWave01&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/Trigger&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Thirty seconds into the game, this activates the repeating EnemyWave triggers, below:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;Trigger Name=&amp;quot;EnemyWave01&amp;quot; Type=&amp;quot;Timer&amp;quot; Timer=&amp;quot;10&amp;quot; Inactive=&amp;quot;1&amp;quot; NotOtherTrigger=&amp;quot;FactorySwitch&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnUnit Name=&amp;quot;Enemy01_Leader&amp;quot; Template=&amp;quot;PHC_T1_Light&amp;quot; Player=&amp;quot;1&amp;quot; Position=&amp;quot;300,-700&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnUnit Name=&amp;quot;Enemy01_Minion01&amp;quot; Parent=&amp;quot;Enemy01_Leader&amp;quot; Template=&amp;quot;PHC_T1_Light&amp;quot; Player=&amp;quot;1&amp;quot; Position=&amp;quot;310,-700&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnUnit Name=&amp;quot;Enemy01_Minion01&amp;quot; Parent=&amp;quot;Enemy01_Leader&amp;quot; Template=&amp;quot;PHC_T1_Light&amp;quot; Player=&amp;quot;1&amp;quot; Position=&amp;quot;330,-700&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnUnit Name=&amp;quot;Enemy01_Minion01&amp;quot; Parent=&amp;quot;Enemy01_Leader&amp;quot; Template=&amp;quot;PHC_T1_Light&amp;quot; Player=&amp;quot;1&amp;quot; Position=&amp;quot;340,-700&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnUnit Name=&amp;quot;Enemy01_Minion01&amp;quot; Parent=&amp;quot;Enemy01_Leader&amp;quot; Template=&amp;quot;PHC_T1_MRM&amp;quot; Player=&amp;quot;1&amp;quot; Position=&amp;quot;320,-700&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnUnit Name=&amp;quot;Enemy01_Minion01&amp;quot; Parent=&amp;quot;Enemy01_Leader&amp;quot; Template=&amp;quot;PHC_T1_MRM&amp;quot; Player=&amp;quot;1&amp;quot; Position=&amp;quot;320,-710&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnUnit Name=&amp;quot;Enemy01_Minion01&amp;quot; Parent=&amp;quot;Enemy01_Leader&amp;quot; Template=&amp;quot;PHC_T1_MRM&amp;quot; Player=&amp;quot;1&amp;quot; Position=&amp;quot;300,-710&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnUnit Name=&amp;quot;Enemy01_Minion01&amp;quot; Parent=&amp;quot;Enemy01_Leader&amp;quot; Template=&amp;quot;PHC_T1_MRM&amp;quot; Player=&amp;quot;1&amp;quot; Position=&amp;quot;300,-720&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;AttackAttackMove Name=&amp;quot;Enemy01_Leader&amp;quot; Position=&amp;quot;0,-4900&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;CaptureNearestNext Name=&amp;quot;Enemy01_Leader&amp;quot; Repeat=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;AttackAttackMove Name=&amp;quot;Enemy01_Leader&amp;quot; Position=&amp;quot;-9100,-8500&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;ActivateTrigger Target=&amp;quot;EnemyWave02&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/Trigger&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After 10 seconds, this spawns a bunch of units in an army and sends them at the player, capturing regions along the way.&lt;br /&gt;
&lt;br /&gt;
It also activates EnemyWave02, which in turn reactivates EnemyWave01. The net result is that every 10 seconds, armies spawn in alternating places and attack the player.&lt;br /&gt;
&lt;br /&gt;
== Example 2 ==&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;Trigger Name=&amp;quot;InitialSetup&amp;quot; Type=&amp;quot;Timer&amp;quot; Timer=&amp;quot;0&amp;quot; Inactive=&amp;quot;1&amp;quot; &amp;gt;&lt;br /&gt;
    &amp;lt;GrantTech Player=&amp;quot;2&amp;quot; Tech=&amp;quot;HPs&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;GrantTech Player=&amp;quot;2&amp;quot; Tech=&amp;quot;HPs&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;GrantTech Player=&amp;quot;2&amp;quot; Tech=&amp;quot;Weapons&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;GrantTech Player=&amp;quot;2&amp;quot; Tech=&amp;quot;Weapons&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;GrantTech Player=&amp;quot;2&amp;quot; Tech=&amp;quot;BuildingHPs&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;GrantTech Player=&amp;quot;2&amp;quot; Tech=&amp;quot;BuildingHPs&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;GrantTech Player=&amp;quot;2&amp;quot; Tech=&amp;quot;BuildingHPs&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;GrantTech Player=&amp;quot;2&amp;quot; Tech=&amp;quot;BuildingHPs&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;GrantTech Player=&amp;quot;2&amp;quot; Tech=&amp;quot;BuildingHPs&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;GrantTech Player=&amp;quot;2&amp;quot; Tech=&amp;quot;BuildingHPs&amp;quot; /&amp;gt;Fckmw0fckmw&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;SpawnBuilding Name=&amp;quot;Base_Archive_02&amp;quot; Template=&amp;quot;SS_QuantumArchive&amp;quot; Player=&amp;quot;0&amp;quot; Position=&amp;quot;-9900,-8536&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnBuilding Name=&amp;quot;Base_Blossom_01&amp;quot; Template=&amp;quot;SS_BlossomLauncher&amp;quot; Player=&amp;quot;0&amp;quot; Position=&amp;quot;-8800,-8736&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnBuilding Name=&amp;quot;Base_Blossom_02&amp;quot; Template=&amp;quot;SS_BlossomLauncher&amp;quot; Player=&amp;quot;0&amp;quot; Position=&amp;quot;-9600,-8786&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnBuilding Name=&amp;quot;Base_Blossom_03&amp;quot; Template=&amp;quot;SS_BlossomLauncher&amp;quot; Player=&amp;quot;0&amp;quot; Position=&amp;quot;-9700,-8286&amp;quot; /&amp;gt;&lt;br /&gt;
    [...]&lt;br /&gt;
    &amp;lt;ActivateTrigger Target=&amp;quot;BeginMission&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/Trigger&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This gives Player 2 some free techs and spawns the initial buildings across the map, then fires the next trigger:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;Trigger Name=&amp;quot;BeginMission&amp;quot; Type=&amp;quot;Timer&amp;quot; Timer=&amp;quot;0&amp;quot; Inactive=&amp;quot;1&amp;quot; &amp;gt;&lt;br /&gt;
    &amp;lt;Dialog&amp;gt;&lt;br /&gt;
      &amp;lt;Entry Icon=&amp;quot;Haalee&amp;quot; Text=&amp;quot;TurtleWars_Intro_1&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Entry Icon=&amp;quot;Haalee&amp;quot; Text=&amp;quot;TurtleWars_Intro_2&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Entry Icon=&amp;quot;Haalee&amp;quot; Text=&amp;quot;TurtleWars_Intro_3&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Entry Icon=&amp;quot;Haalee&amp;quot; Text=&amp;quot;TurtleWars_Intro_4&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/Dialog&amp;gt;&lt;br /&gt;
    &amp;lt;Objective Name=&amp;quot;Initial_Obj&amp;quot; String=&amp;quot;TurtleWars_Initial_Obj&amp;quot; SetCheck=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;Objective Name=&amp;quot;Generator_Obj&amp;quot; String=&amp;quot;TurtleWars_Generator_Obj&amp;quot; SetCheck=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;AreaIndicator Name=&amp;quot;Fac_Ind&amp;quot; Position=&amp;quot;0,0&amp;quot; Size=&amp;quot;250&amp;quot; Color=&amp;quot;Red&amp;quot; Duration=&amp;quot;-1&amp;quot; /&amp;gt;&lt;br /&gt;
    [...]&lt;br /&gt;
  &amp;lt;/Trigger&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This trigger plays the dialog and sets up the player&#039;s objectives. While not strictly necessary to split up the triggers in this way, it is helpful to ensure that things happen in a certain order - and keep yourself sane and organized while creating and balancing large script files.&lt;br /&gt;
&lt;br /&gt;
[[Category:Commands]]&lt;/div&gt;</summary>
		<author><name>Patiobattle04</name></author>
	</entry>
	<entry>
		<id>https://wiki.ashesofthesingularity.com/index.php?title=ActivateTrigger&amp;diff=8561</id>
		<title>ActivateTrigger</title>
		<link rel="alternate" type="text/html" href="https://wiki.ashesofthesingularity.com/index.php?title=ActivateTrigger&amp;diff=8561"/>
		<updated>2017-01-18T20:36:38Z</updated>

		<summary type="html">&lt;p&gt;Patiobattle04: Created page with &amp;quot;Category:Commands The ActivateTrigger command activates a trigger, making it active and able to fire when its conditions are met.  Also can be used to activate the trigger...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Commands]]&lt;br /&gt;
The ActivateTrigger command activates a trigger, making it active and able to fire when its conditions are met.&lt;br /&gt;
&lt;br /&gt;
Also can be used to activate the trigger it is called from, making a repeating trigger.&lt;br /&gt;
==Arguments==&lt;br /&gt;
*&#039;&#039;&#039;Target&#039;&#039;&#039; - This is the name of another trigger that will be set from Inactive to Active. &lt;br /&gt;
==Common Usage==&lt;br /&gt;
*Creating sequences of triggers that fire one after another, sometimes with delays or other conditions.&lt;br /&gt;
*Creating repeating triggers, like spawning waves of enemies that attack the player.&lt;br /&gt;
==Examples==&lt;br /&gt;
  &amp;lt;Trigger Name=&amp;quot;EnemyWaveStart&amp;quot; Type=&amp;quot;Timer&amp;quot; Timer=&amp;quot;30&amp;quot; Inactive=&amp;quot;0&amp;quot; &amp;gt;&lt;br /&gt;
    &amp;lt;ActivateTrigger Target=&amp;quot;EnemyWave01&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/Trigger&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Thirty seconds into the game, this activates the repeating EnemyWave triggers, below:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;Trigger Name=&amp;quot;EnemyWave01&amp;quot; Type=&amp;quot;Timer&amp;quot; Timer=&amp;quot;10&amp;quot; Inactive=&amp;quot;1&amp;quot; NotOtherTrigger=&amp;quot;FactorySwitch&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnUnit Name=&amp;quot;Enemy01_Leader&amp;quot; Template=&amp;quot;PHC_T1_Light&amp;quot; Player=&amp;quot;1&amp;quot; Position=&amp;quot;300,-700&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnUnit Name=&amp;quot;Enemy01_Minion01&amp;quot; Parent=&amp;quot;Enemy01_Leader&amp;quot; Template=&amp;quot;PHC_T1_Light&amp;quot; Player=&amp;quot;1&amp;quot; Position=&amp;quot;310,-700&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnUnit Name=&amp;quot;Enemy01_Minion01&amp;quot; Parent=&amp;quot;Enemy01_Leader&amp;quot; Template=&amp;quot;PHC_T1_Light&amp;quot; Player=&amp;quot;1&amp;quot; Position=&amp;quot;330,-700&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnUnit Name=&amp;quot;Enemy01_Minion01&amp;quot; Parent=&amp;quot;Enemy01_Leader&amp;quot; Template=&amp;quot;PHC_T1_Light&amp;quot; Player=&amp;quot;1&amp;quot; Position=&amp;quot;340,-700&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnUnit Name=&amp;quot;Enemy01_Minion01&amp;quot; Parent=&amp;quot;Enemy01_Leader&amp;quot; Template=&amp;quot;PHC_T1_MRM&amp;quot; Player=&amp;quot;1&amp;quot; Position=&amp;quot;320,-700&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnUnit Name=&amp;quot;Enemy01_Minion01&amp;quot; Parent=&amp;quot;Enemy01_Leader&amp;quot; Template=&amp;quot;PHC_T1_MRM&amp;quot; Player=&amp;quot;1&amp;quot; Position=&amp;quot;320,-710&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnUnit Name=&amp;quot;Enemy01_Minion01&amp;quot; Parent=&amp;quot;Enemy01_Leader&amp;quot; Template=&amp;quot;PHC_T1_MRM&amp;quot; Player=&amp;quot;1&amp;quot; Position=&amp;quot;300,-710&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnUnit Name=&amp;quot;Enemy01_Minion01&amp;quot; Parent=&amp;quot;Enemy01_Leader&amp;quot; Template=&amp;quot;PHC_T1_MRM&amp;quot; Player=&amp;quot;1&amp;quot; Position=&amp;quot;300,-720&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;AttackAttackMove Name=&amp;quot;Enemy01_Leader&amp;quot; Position=&amp;quot;0,-4900&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;CaptureNearestNext Name=&amp;quot;Enemy01_Leader&amp;quot; Repeat=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;AttackAttackMove Name=&amp;quot;Enemy01_Leader&amp;quot; Position=&amp;quot;-9100,-8500&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;ActivateTrigger Target=&amp;quot;EnemyWave02&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/Trigger&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After 10 seconds, this spawns a bunch of units in an army and sends them at the player, capturing regions along the way.&lt;br /&gt;
&lt;br /&gt;
It also activates EnemyWave02, which in turn reactivates EnemyWave01. The net result is that every 10 seconds, armies spawn in alternating places and attack the player.&lt;br /&gt;
----&lt;br /&gt;
  &amp;lt;Trigger Name=&amp;quot;InitialSetup&amp;quot; Type=&amp;quot;Timer&amp;quot; Timer=&amp;quot;0&amp;quot; Inactive=&amp;quot;1&amp;quot; &amp;gt;&lt;br /&gt;
    &amp;lt;GrantTech Player=&amp;quot;2&amp;quot; Tech=&amp;quot;HPs&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;GrantTech Player=&amp;quot;2&amp;quot; Tech=&amp;quot;HPs&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;GrantTech Player=&amp;quot;2&amp;quot; Tech=&amp;quot;Weapons&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;GrantTech Player=&amp;quot;2&amp;quot; Tech=&amp;quot;Weapons&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;GrantTech Player=&amp;quot;2&amp;quot; Tech=&amp;quot;BuildingHPs&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;GrantTech Player=&amp;quot;2&amp;quot; Tech=&amp;quot;BuildingHPs&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;GrantTech Player=&amp;quot;2&amp;quot; Tech=&amp;quot;BuildingHPs&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;GrantTech Player=&amp;quot;2&amp;quot; Tech=&amp;quot;BuildingHPs&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;GrantTech Player=&amp;quot;2&amp;quot; Tech=&amp;quot;BuildingHPs&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;GrantTech Player=&amp;quot;2&amp;quot; Tech=&amp;quot;BuildingHPs&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;!--PLAYER DEFENSES--&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnBuilding Name=&amp;quot;Base_Archive_02&amp;quot; Template=&amp;quot;SS_QuantumArchive&amp;quot; Player=&amp;quot;0&amp;quot; Position=&amp;quot;-9900,-8536&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnBuilding Name=&amp;quot;Base_Blossom_01&amp;quot; Template=&amp;quot;SS_BlossomLauncher&amp;quot; Player=&amp;quot;0&amp;quot; Position=&amp;quot;-8800,-8736&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnBuilding Name=&amp;quot;Base_Blossom_02&amp;quot; Template=&amp;quot;SS_BlossomLauncher&amp;quot; Player=&amp;quot;0&amp;quot; Position=&amp;quot;-9600,-8786&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnBuilding Name=&amp;quot;Base_Blossom_03&amp;quot; Template=&amp;quot;SS_BlossomLauncher&amp;quot; Player=&amp;quot;0&amp;quot; Position=&amp;quot;-9700,-8286&amp;quot; /&amp;gt;&lt;br /&gt;
    [...]&lt;br /&gt;
    &amp;lt;ActivateTrigger Target=&amp;quot;BeginMission&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/Trigger&amp;gt;&lt;br /&gt;
This gives Player 2 some free techs and spawns the initial buildings across the map, then fires the next trigger:&lt;br /&gt;
  &amp;lt;Trigger Name=&amp;quot;BeginMission&amp;quot; Type=&amp;quot;Timer&amp;quot; Timer=&amp;quot;0&amp;quot; Inactive=&amp;quot;1&amp;quot; &amp;gt;&lt;br /&gt;
    &amp;lt;Dialog&amp;gt;&lt;br /&gt;
      &amp;lt;Entry Icon=&amp;quot;Haalee&amp;quot; Text=&amp;quot;TurtleWars_Intro_1&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Entry Icon=&amp;quot;Haalee&amp;quot; Text=&amp;quot;TurtleWars_Intro_2&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Entry Icon=&amp;quot;Haalee&amp;quot; Text=&amp;quot;TurtleWars_Intro_3&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Entry Icon=&amp;quot;Haalee&amp;quot; Text=&amp;quot;TurtleWars_Intro_4&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/Dialog&amp;gt;&lt;br /&gt;
    &amp;lt;Objective Name=&amp;quot;Initial_Obj&amp;quot; String=&amp;quot;TurtleWars_Initial_Obj&amp;quot; SetCheck=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;Objective Name=&amp;quot;Generator_Obj&amp;quot; String=&amp;quot;TurtleWars_Generator_Obj&amp;quot; SetCheck=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;AreaIndicator Name=&amp;quot;Fac_Ind&amp;quot; Position=&amp;quot;0,0&amp;quot; Size=&amp;quot;250&amp;quot; Color=&amp;quot;Red&amp;quot; Duration=&amp;quot;-1&amp;quot; /&amp;gt;&lt;br /&gt;
    [...]&lt;br /&gt;
  &amp;lt;/Trigger&amp;gt;&lt;br /&gt;
This trigger plays the dialog and sets up the player&#039;s objectives. While not strictly necessary to split up the triggers in this way, it is helpful to ensure that things happen in a certain order - and keep yourself sane and organized while creating and balancing large script files.&lt;/div&gt;</summary>
		<author><name>Patiobattle04</name></author>
	</entry>
	<entry>
		<id>https://wiki.ashesofthesingularity.com/index.php?title=Script_Commands&amp;diff=8551</id>
		<title>Script Commands</title>
		<link rel="alternate" type="text/html" href="https://wiki.ashesofthesingularity.com/index.php?title=Script_Commands&amp;diff=8551"/>
		<updated>2017-01-18T20:26:20Z</updated>

		<summary type="html">&lt;p&gt;Patiobattle04: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Modding]]&lt;br /&gt;
Commands are used within [[Triggers|triggers]] to create gameplay effects, from revealing locations to spawning attack waves or even changing an AI&#039;s difficulty mid-game.&lt;br /&gt;
&lt;br /&gt;
== List of Commands ==&lt;br /&gt;
&lt;br /&gt;
=== [[ActivateTrigger|ActivateTrigger]] ===&lt;br /&gt;
&lt;br /&gt;
Activate another trigger (also can be used to activate the trigger it is called from, making a repeating trigger).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Target&#039;&#039;&#039; - This is the name of another trigger that will be set from Inactive to Active. &lt;br /&gt;
&lt;br /&gt;
=== [[AreaIndicator|AreaIndicator]] ===&lt;br /&gt;
&lt;br /&gt;
This places a visible indicator on the map to help the player know where they should go to.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the area. &lt;br /&gt;
*&#039;&#039;&#039;Position&#039;&#039;&#039; - The center of the area. &lt;br /&gt;
*&#039;&#039;&#039;Color&#039;&#039;&#039; - The color the area indicator is. [ Green | Blue | Red ] &lt;br /&gt;
*&#039;&#039;&#039;Size&#039;&#039;&#039; - How big the area indicator will be. &lt;br /&gt;
*&#039;&#039;&#039;Duration&#039;&#039;&#039; - How long the area indicator should last, -1 means that it lasts forever. &lt;br /&gt;
&lt;br /&gt;
=== [[AttackAttackMove|AttackAttackMove]] ===&lt;br /&gt;
&lt;br /&gt;
Order an army to move to a specific area, engaging enemies along the way.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the army that will be given the order. &lt;br /&gt;
*&#039;&#039;&#039;Repeat&#039;&#039;&#039; - Whether to repeat the order. Use with multiple AttackAttackMove commands to create a patrol path. &lt;br /&gt;
*&#039;&#039;&#039;Position&#039;&#039;&#039; - Where the army is ordered to move to. &lt;br /&gt;
&lt;br /&gt;
=== [[AttackUnit|AttackUnit]] ===&lt;br /&gt;
&lt;br /&gt;
Order an army to attack a specific script-spawned unit&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the unit to do the attacking &lt;br /&gt;
*&#039;&#039;&#039;Target&#039;&#039;&#039; - The name of the unit to be attacked &lt;br /&gt;
&lt;br /&gt;
=== [[Camera|Camera]] ===&lt;br /&gt;
&lt;br /&gt;
Move the player&#039;s view to a specific area.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Position&#039;&#039;&#039; - Where the camera will be looking. &lt;br /&gt;
*&#039;&#039;&#039;Snap&#039;&#039;&#039; - Set to 1 to move the camera instantly, instead of panning &lt;br /&gt;
*&#039;&#039;&#039;Speed&#039;&#039;&#039; - Scalar for how fast the camera will move, compared to clicking on the minimap. 0.5 for half speed, 2 for double, etc. &lt;br /&gt;
*&#039;&#039;&#039;Unit&#039;&#039;&#039; - Follow a specific script-spawned unit. Do not use Position if you use this. &lt;br /&gt;
*&#039;&#039;&#039;Building&#039;&#039;&#039; - Follow a specific script-spawned building. Do not use Position if you use this. &lt;br /&gt;
*&#039;&#039;&#039;Save&#039;&#039;&#039; - Save the current camera settings. Useful if you want to show the player something and then move the camera back to whatever they were looking at. &lt;br /&gt;
*&#039;&#039;&#039;Load&#039;&#039;&#039; - Load the last saved camera settings. Use with Save. May cause a crash if you haven&#039;t previously saved a camera position. &lt;br /&gt;
*&#039;&#039;&#039;RTP&#039;&#039;&#039; - Distance, rotation and pitch of the camera. &lt;br /&gt;
**The first number is distance. 1000 is a fairly tight shot, 2500 is a fairly typical gameplay zoom &lt;br /&gt;
**Second number is rotation. 0 points the camera north, 90 east, 180 south, 270 west. &lt;br /&gt;
**Third number is pitch. 40-50 are typical gameplay angles. 90 would be straight down. Note that anything lower than 40 can cause the engine to load a &#039;&#039;&#039;lot&#039;&#039;&#039; more terrain and models than it&#039;s designed to, so use with caution. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[CaptureNearestNext|CaptureNearestNext]] ===&lt;br /&gt;
&lt;br /&gt;
Order an army to capture the nearest neutral or enemy-controlled region&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the unit to do the capturing &lt;br /&gt;
*&#039;&#039;&#039;Repeat&#039;&#039;&#039; - Whether to repeat the order (indefinitely) &lt;br /&gt;
&lt;br /&gt;
=== [[CaptureNearest|CaptureNearest]] ===&lt;br /&gt;
&lt;br /&gt;
Order an army to clear its order queue and capture the nearest neutral or enemy-controlled region (note: ordered unit will stop moving if region is captured before it gets there)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the unit to do the capturing &lt;br /&gt;
*&#039;&#039;&#039;Repeat&#039;&#039;&#039; - Whether to repeat the order (indefinitely) &lt;br /&gt;
&lt;br /&gt;
=== [[ChangeAIDifficulty|ChangeAIDifficulty]] ===&lt;br /&gt;
&lt;br /&gt;
Change an AI player&#039;s difficulty setting&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Player&#039;&#039;&#039; - The index of the player to change &lt;br /&gt;
*&#039;&#039;&#039;Difficulty&#039;&#039;&#039; - The name of the difficulty to set it to &lt;br /&gt;
&lt;br /&gt;
=== [[ChangeAIPersonality|ChangeAIPersonality]] ===&lt;br /&gt;
&lt;br /&gt;
Change an AI player&#039;s personality&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Player&#039;&#039;&#039; - The index of the player to change &lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the personality to set it to (defined in \Assets\GameCore\DefaultPlayerAI.xml) &lt;br /&gt;
&lt;br /&gt;
=== [[DestroyBuilding|DestroyBuilding]] ===&lt;br /&gt;
&lt;br /&gt;
Destroys a specific script-spawned building.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the building to be destroyed. &lt;br /&gt;
&lt;br /&gt;
=== [[DestroyUnit|DestroyUnit]] ===&lt;br /&gt;
&lt;br /&gt;
Destroys a specific script-spawned unit.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the unit to be destroyed. &lt;br /&gt;
&lt;br /&gt;
=== [[Dialog|Dialog]] ===&lt;br /&gt;
&lt;br /&gt;
This creates a popup that can convey information or story to the player. Use with &amp;lt;Entry&amp;gt; tags.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
=== [[Entry|Entry]] ===&lt;br /&gt;
&lt;br /&gt;
The actual text that will be displayed. Use only within &amp;lt;Dialog&amp;gt; tags.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Icon&#039;&#039;&#039; - The icon used with the text popup. Hard-coded to correspond to Ashes characters, and changes the text color to match. &lt;br /&gt;
**Mac &lt;br /&gt;
**Haalee &lt;br /&gt;
**Vexen &lt;br /&gt;
**Valen &lt;br /&gt;
**Artix &lt;br /&gt;
**Ventrix &lt;br /&gt;
**Athena &lt;br /&gt;
**Adrasteia &lt;br /&gt;
**Agememnon &lt;br /&gt;
**Agethon &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Text&#039;&#039;&#039; - The actual text that is displayed. Corresponds to an entry in a .csv file in \Assets\UIText\ &lt;br /&gt;
&lt;br /&gt;
=== [[EndMission|EndMission]] ===&lt;br /&gt;
&lt;br /&gt;
Use to force a win or loss of the scenario.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Victory&#039;&#039;&#039; - Set to 0 to lose the scenario or 1 to win. &lt;br /&gt;
*&#039;&#039;&#039;String&#039;&#039;&#039; - The text that is displayed. &lt;br /&gt;
&lt;br /&gt;
=== [[GrantStuff|GrantStuff]] ===&lt;br /&gt;
&lt;br /&gt;
Give a player free resources.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Player&#039;&#039;&#039; - The index of the player to be hooked up &lt;br /&gt;
*&#039;&#039;&#039;Metal&#039;&#039;&#039; - The amount of metal being granted. &lt;br /&gt;
*&#039;&#039;&#039;Quanta&#039;&#039;&#039; - The amount of quanta being granted. &lt;br /&gt;
*&#039;&#039;&#039;Radioactives&#039;&#039;&#039; - The amount of radioactives being granted. &lt;br /&gt;
*&#039;&#039;&#039;Turinium&#039;&#039;&#039; - The amount of victory points being granted. &lt;br /&gt;
&lt;br /&gt;
=== [[GrantTech|GrantTech]] ===&lt;br /&gt;
&lt;br /&gt;
Give a player a free Quantum Upgrade&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Player&#039;&#039;&#039; - The index of the player to be hooked up &lt;br /&gt;
*&#039;&#039;&#039;Tech&#039;&#039;&#039; - The upgrade to grant [ HPs | Weapons | Radar | BuildingHPs | MetalStorage | RadsStorage ] &lt;br /&gt;
&lt;br /&gt;
=== [[HidePanel|HidePanel]] ===&lt;br /&gt;
&lt;br /&gt;
Hide UI panels.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;HidePlayer&#039;&#039;&#039; - Hide the Player panel &lt;br /&gt;
*&#039;&#039;&#039;HideRank&#039;&#039;&#039; - Hide the Rank panel &lt;br /&gt;
*&#039;&#039;&#039;HideResource&#039;&#039;&#039; - Hide the Resource panel &lt;br /&gt;
&lt;br /&gt;
=== [[LetterBox|LetterBox]] ===&lt;br /&gt;
&lt;br /&gt;
Disable commands and go to a cinematic, letterbox view.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Enable&#039;&#039;&#039; - 1 to turn letterbox mode on, 0 to turn it off &lt;br /&gt;
*&#039;&#039;&#039;Snap&#039;&#039;&#039; - 1 to immediately go to/from letterbox mode instead of fading in/out &lt;br /&gt;
&lt;br /&gt;
=== [[MoveUnit|MoveUnit]] ===&lt;br /&gt;
&lt;br /&gt;
Move an army to a location without stopping to fight&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - Name of the unit to be moved &lt;br /&gt;
*&#039;&#039;&#039;Position&#039;&#039;&#039; - x/y coordinates to move to &lt;br /&gt;
*&#039;&#039;&#039;Repeat&#039;&#039;&#039; - 1 to repeat this command indefinitely. Use with multiple MoveUnit commands to create a patrol path. &lt;br /&gt;
*&#039;&#039;&#039;Stop&#039;&#039;&#039; - 1 to stop the unit &lt;br /&gt;
&lt;br /&gt;
=== [[Objective|Objective]] ===&lt;br /&gt;
&lt;br /&gt;
Use this to set objective notifications for the player (so they know what to do).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the objective, use this name when checking or hiding it. &lt;br /&gt;
*&#039;&#039;&#039;Hide&#039;&#039;&#039; - If this objective should be hidden or not, usually this means the objective is complete. &lt;br /&gt;
*&#039;&#039;&#039;String&#039;&#039;&#039; - What the objective displays on the screen. &lt;br /&gt;
*&#039;&#039;&#039;SetCheck&#039;&#039;&#039; - If the objective checkbox is checked or not. &lt;br /&gt;
&lt;br /&gt;
=== [[Restrict|Restrict]] ===&lt;br /&gt;
&lt;br /&gt;
To block the player from being able to access objects in the game.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Type&#039;&#039;&#039; - Unit, Building, Research or Orbital. Whatever type of object that is being restricted. &lt;br /&gt;
*&#039;&#039;&#039;ID&#039;&#039;&#039; - The name of the object being restricted. &lt;br /&gt;
*&#039;&#039;&#039;Enable&#039;&#039;&#039; - Set this to 1 to enable the object. You can use this to restrict something early in the scenario and then enable it later on (for example: when the player accomplishes an objective or after a set amount of time). &lt;br /&gt;
&lt;br /&gt;
=== [[Reveal|Reveal]] ===&lt;br /&gt;
&lt;br /&gt;
Reveal the fog of war over a location&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of this reveal (so you can modify it with a later command) &lt;br /&gt;
*&#039;&#039;&#039;Enable&#039;&#039;&#039; - 1 to enable, 0 to disable &lt;br /&gt;
*&#039;&#039;&#039;Position&#039;&#039;&#039; - x/y coordinates of the center of the revealed area &lt;br /&gt;
*&#039;&#039;&#039;Size&#039;&#039;&#039; - Radius of the area to be revealed &lt;br /&gt;
*&#039;&#039;&#039;RadarSize&#039;&#039;&#039; - Use to add a radar component to the reveal. Can be used with Size=&amp;quot;0&amp;quot; to create a radar-only reveal &lt;br /&gt;
&lt;br /&gt;
=== [[SpawnBuilding|SpawnBuilding]] ===&lt;br /&gt;
&lt;br /&gt;
Places a building on the map.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name you assign to the building. &lt;br /&gt;
*&#039;&#039;&#039;Template&#039;&#039;&#039; - The name of the building type being created. &lt;br /&gt;
*&#039;&#039;&#039;Player&#039;&#039;&#039; - The player who will own the building. &lt;br /&gt;
*&#039;&#039;&#039;Position&#039;&#039;&#039; - Where the building will be placed. &lt;br /&gt;
*&#039;&#039;&#039;NoDeath&#039;&#039;&#039; - Set this to &amp;quot;1&amp;quot; to make the unit immortal (you can still kill it with a scripted DestroyBuilding command) &lt;br /&gt;
&lt;br /&gt;
=== [[SpawnUnit|SpawnUnit]] ===&lt;br /&gt;
&lt;br /&gt;
Places a unit on the map.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name you assign to the unit. &lt;br /&gt;
*&#039;&#039;&#039;Parent&#039;&#039;&#039; - The army the unit will belong to (used to make it easier to issue moves). &lt;br /&gt;
*&#039;&#039;&#039;Template&#039;&#039;&#039; - The type of unit being created. &lt;br /&gt;
*&#039;&#039;&#039;Player&#039;&#039;&#039; - The player that will own the unit. &lt;br /&gt;
*&#039;&#039;&#039;Position&#039;&#039;&#039; - Where the unit will be created. &lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[Var_Command|Var]] ===&lt;br /&gt;
&lt;br /&gt;
Set or modify a variable. Tip: Set any variable you want to use to 0 in the initial setup trigger to avoid unpredictable results. &#039;&#039;All values must be integers.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - Name of the variable &lt;br /&gt;
*&#039;&#039;&#039;Operation&#039;&#039;&#039; - Operation to be performed &lt;br /&gt;
**&amp;quot;=&amp;quot; or &amp;quot;Set&amp;quot; - set to the value &lt;br /&gt;
**&amp;quot;+&amp;quot; or &amp;quot;Add&amp;quot; - add value &lt;br /&gt;
**&amp;quot;-&amp;quot; or &amp;quot;Sub&amp;quot; - subtract value &lt;br /&gt;
**&amp;quot;Rand&amp;quot; or &amp;quot;SetRand&amp;quot; - set to a random value between Min and Max &lt;br /&gt;
**&amp;quot;AddRand&amp;quot; - add a random value between Min and Max &lt;br /&gt;
**&amp;quot;SubRand&amp;quot; - subtract a random value between Min and Max &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Value&#039;&#039;&#039; - The value to be used in the operation &lt;br /&gt;
*&#039;&#039;&#039;Min&#039;&#039;&#039; - Minimum value for random functions &lt;br /&gt;
*&#039;&#039;&#039;Max&#039;&#039;&#039; - Maximum value for random functions &lt;br /&gt;
*&#039;&#039;&#039;Example&#039;&#039;&#039; - &#039;&#039;&amp;lt;Var Name=&amp;quot;vFoo&amp;quot; Operation=&amp;quot;+&amp;quot; Value=&amp;quot;3&amp;quot; /&amp;gt;&#039;&#039; will add three to vFoo&#039;s current value&lt;/div&gt;</summary>
		<author><name>Patiobattle04</name></author>
	</entry>
	<entry>
		<id>https://wiki.ashesofthesingularity.com/index.php?title=Script_Commands&amp;diff=8541</id>
		<title>Script Commands</title>
		<link rel="alternate" type="text/html" href="https://wiki.ashesofthesingularity.com/index.php?title=Script_Commands&amp;diff=8541"/>
		<updated>2017-01-18T20:25:55Z</updated>

		<summary type="html">&lt;p&gt;Patiobattle04: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Modding]]&lt;br /&gt;
Commands are used within [[Triggers|triggers]] to create gameplay effects, from revealing locations to spawning attack waves or even changing an AI&#039;s difficulty mid-game.&lt;br /&gt;
&lt;br /&gt;
== List of Commands ==&lt;br /&gt;
&lt;br /&gt;
=== [[ActivateTrigger|ActivateTrigger]] ===&lt;br /&gt;
&lt;br /&gt;
Activate another trigger (also can be used to activate the trigger it is called from, making a repeating trigger).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Target&#039;&#039;&#039; - This is the name of another trigger that will be set from Inactive to Active. &lt;br /&gt;
&lt;br /&gt;
=== [[AreaIndicator|AreaIndicator]] ===&lt;br /&gt;
&lt;br /&gt;
This places a visible indicator on the map to help the player know where they should go to.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the area. &lt;br /&gt;
*&#039;&#039;&#039;Position&#039;&#039;&#039; - The center of the area. &lt;br /&gt;
*&#039;&#039;&#039;Color&#039;&#039;&#039; - The color the area indicator is. [ Green | Blue | Red ] &lt;br /&gt;
*&#039;&#039;&#039;Size&#039;&#039;&#039; - How big the area indicator will be. &lt;br /&gt;
*&#039;&#039;&#039;Duration&#039;&#039;&#039; - How long the area indicator should last, -1 means that it lasts forever. &lt;br /&gt;
&lt;br /&gt;
=== [[AttackAttackMove|AttackAttackMove]] ===&lt;br /&gt;
&lt;br /&gt;
Order an army to move to a specific area, engaging enemies along the way.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the army that will be given the order. &lt;br /&gt;
*&#039;&#039;&#039;Repeat&#039;&#039;&#039; - Whether to repeat the order. Use with multiple AttackAttackMove commands to create a patrol path. &lt;br /&gt;
*&#039;&#039;&#039;Position&#039;&#039;&#039; - Where the army is ordered to move to. &lt;br /&gt;
&lt;br /&gt;
=== [[AttackUnit|AttackUnit]] ===&lt;br /&gt;
&lt;br /&gt;
Order an army to attack a specific script-spawned unit&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the unit to do the attacking &lt;br /&gt;
*&#039;&#039;&#039;Target&#039;&#039;&#039; - The name of the unit to be attacked &lt;br /&gt;
&lt;br /&gt;
=== [[Camera|Camera]] ===&lt;br /&gt;
&lt;br /&gt;
Move the player&#039;s view to a specific area.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Position&#039;&#039;&#039; - Where the camera will be looking. &lt;br /&gt;
*&#039;&#039;&#039;Snap&#039;&#039;&#039; - Set to 1 to move the camera instantly, instead of panning &lt;br /&gt;
*&#039;&#039;&#039;Speed&#039;&#039;&#039; - Scalar for how fast the camera will move, compared to clicking on the minimap. 0.5 for half speed, 2 for double, etc. &lt;br /&gt;
*&#039;&#039;&#039;Unit&#039;&#039;&#039; - Follow a specific script-spawned unit. Do not use Position if you use this. &lt;br /&gt;
*&#039;&#039;&#039;Building&#039;&#039;&#039; - Follow a specific script-spawned building. Do not use Position if you use this. &lt;br /&gt;
*&#039;&#039;&#039;Save&#039;&#039;&#039; - Save the current camera settings. Useful if you want to show the player something and then move the camera back to whatever they were looking at. &lt;br /&gt;
*&#039;&#039;&#039;Load&#039;&#039;&#039; - Load the last saved camera settings. Use with Save. May cause a crash if you haven&#039;t previously saved a camera position. &lt;br /&gt;
*&#039;&#039;&#039;RTP&#039;&#039;&#039; - Distance, rotation and pitch of the camera. &lt;br /&gt;
**The first number is distance. 1000 is a fairly tight shot, 2500 is a fairly typical gameplay zoom &lt;br /&gt;
**Second number is rotation. 0 points the camera north, 90 east, 180 south, 270 west. &lt;br /&gt;
**Third number is pitch. 40-50 are typical gameplay angles. 90 would be straight down. Note that anything lower than 40 can cause the engine to load a &#039;&#039;&#039;lot&#039;&#039;&#039; more terrain and models than it&#039;s designed to, so use with caution. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== [[CaptureNearestNext|CaptureNearestNext]] ===&lt;br /&gt;
&lt;br /&gt;
Order an army to capture the nearest neutral or enemy-controlled region&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the unit to do the capturing &lt;br /&gt;
*&#039;&#039;&#039;Repeat&#039;&#039;&#039; - Whether to repeat the order (indefinitely) &lt;br /&gt;
&lt;br /&gt;
=== [[CaptureNearest|CaptureNearest]] ===&lt;br /&gt;
&lt;br /&gt;
Order an army to clear its order queue and capture the nearest neutral or enemy-controlled region (note: ordered unit will stop moving if region is captured before it gets there)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the unit to do the capturing &lt;br /&gt;
*&#039;&#039;&#039;Repeat&#039;&#039;&#039; - Whether to repeat the order (indefinitely) &lt;br /&gt;
&lt;br /&gt;
=== [[ChangeAIDifficulty|ChangeAIDifficulty]] ===&lt;br /&gt;
&lt;br /&gt;
Change an AI player&#039;s difficulty setting&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Player&#039;&#039;&#039; - The index of the player to change &lt;br /&gt;
*&#039;&#039;&#039;Difficulty&#039;&#039;&#039; - The name of the difficulty to set it to &lt;br /&gt;
&lt;br /&gt;
=== [[ChangeAIPersonality|ChangeAIPersonality]] ===&lt;br /&gt;
&lt;br /&gt;
Change an AI player&#039;s personality&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Player&#039;&#039;&#039; - The index of the player to change &lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the personality to set it to (defined in \Assets\GameCore\DefaultPlayerAI.xml) &lt;br /&gt;
&lt;br /&gt;
=== [[DestroyBuilding|DestroyBuilding]] ===&lt;br /&gt;
&lt;br /&gt;
Destroys a specific script-spawned building.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the building to be destroyed. &lt;br /&gt;
&lt;br /&gt;
=== [[DestroyUnit|DestroyUnit]] ===&lt;br /&gt;
&lt;br /&gt;
Destroys a specific script-spawned unit.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the unit to be destroyed. &lt;br /&gt;
&lt;br /&gt;
=== [[Dialog|Dialog]] ===&lt;br /&gt;
&lt;br /&gt;
This creates a popup that can convey information or story to the player. Use with &amp;lt;Entry&amp;gt; tags.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
=== [[Entry|Entry]] ===&lt;br /&gt;
&lt;br /&gt;
The actual text that will be displayed. Use only within &amp;lt;Dialog&amp;gt; tags.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Icon&#039;&#039;&#039; - The icon used with the text popup. Hard-coded to correspond to Ashes characters, and changes the text color to match. &lt;br /&gt;
**Mac &lt;br /&gt;
**Haalee &lt;br /&gt;
**Vexen &lt;br /&gt;
**Valen &lt;br /&gt;
**Artix &lt;br /&gt;
**Ventrix &lt;br /&gt;
**Athena &lt;br /&gt;
**Adrasteia &lt;br /&gt;
**Agememnon &lt;br /&gt;
**Agethon &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Text&#039;&#039;&#039; - The actual text that is displayed. Corresponds to an entry in a .csv file in \Assets\UIText\ &lt;br /&gt;
&lt;br /&gt;
=== [[EndMission|EndMission]] ===&lt;br /&gt;
&lt;br /&gt;
Use to force a win or loss of the scenario.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Victory&#039;&#039;&#039; - Set to 0 to lose the scenario or 1 to win. &lt;br /&gt;
*&#039;&#039;&#039;String&#039;&#039;&#039; - The text that is displayed. &lt;br /&gt;
&lt;br /&gt;
=== [[GrantStuff|GrantStuff]] ===&lt;br /&gt;
&lt;br /&gt;
Give a player free resources.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Player&#039;&#039;&#039; - The index of the player to be hooked up &lt;br /&gt;
*&#039;&#039;&#039;Metal&#039;&#039;&#039; - The amount of metal being granted. &lt;br /&gt;
*&#039;&#039;&#039;Quanta&#039;&#039;&#039; - The amount of quanta being granted. &lt;br /&gt;
*&#039;&#039;&#039;Radioactives&#039;&#039;&#039; - The amount of radioactives being granted. &lt;br /&gt;
*&#039;&#039;&#039;Turinium&#039;&#039;&#039; - The amount of victory points being granted. &lt;br /&gt;
&lt;br /&gt;
=== [[GrantTech|GrantTech]] ===&lt;br /&gt;
&lt;br /&gt;
Give a player a free Quantum Upgrade&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Player&#039;&#039;&#039; - The index of the player to be hooked up &lt;br /&gt;
*&#039;&#039;&#039;Tech&#039;&#039;&#039; - The upgrade to grant [ HPs | Weapons | Radar | BuildingHPs | MetalStorage | RadsStorage ] &lt;br /&gt;
&lt;br /&gt;
=== [[HidePanel|HidePanel]] ===&lt;br /&gt;
&lt;br /&gt;
Hide UI panels.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;HidePlayer&#039;&#039;&#039; - Hide the Player panel &lt;br /&gt;
*&#039;&#039;&#039;HideRank&#039;&#039;&#039; - Hide the Rank panel &lt;br /&gt;
*&#039;&#039;&#039;HideResource&#039;&#039;&#039; - Hide the Resource panel &lt;br /&gt;
&lt;br /&gt;
=== [[LetterBox|LetterBox]] ===&lt;br /&gt;
&lt;br /&gt;
Disable commands and go to a cinematic, letterbox view.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Enable&#039;&#039;&#039; - 1 to turn letterbox mode on, 0 to turn it off &lt;br /&gt;
*&#039;&#039;&#039;Snap&#039;&#039;&#039; - 1 to immediately go to/from letterbox mode instead of fading in/out &lt;br /&gt;
&lt;br /&gt;
=== [[MoveUnit|MoveUnit]] ===&lt;br /&gt;
&lt;br /&gt;
Move an army to a location without stopping to fight&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - Name of the unit to be moved &lt;br /&gt;
*&#039;&#039;&#039;Position&#039;&#039;&#039; - x/y coordinates to move to &lt;br /&gt;
*&#039;&#039;&#039;Repeat&#039;&#039;&#039; - 1 to repeat this command indefinitely. Use with multiple MoveUnit commands to create a patrol path. &lt;br /&gt;
*&#039;&#039;&#039;Stop&#039;&#039;&#039; - 1 to stop the unit &lt;br /&gt;
&lt;br /&gt;
=== [[Objective|Objective]] ===&lt;br /&gt;
&lt;br /&gt;
Use this to set objective notifications for the player (so they know what to do).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of the objective, use this name when checking or hiding it. &lt;br /&gt;
*&#039;&#039;&#039;Hide&#039;&#039;&#039; - If this objective should be hidden or not, usually this means the objective is complete. &lt;br /&gt;
*&#039;&#039;&#039;String&#039;&#039;&#039; - What the objective displays on the screen. &lt;br /&gt;
*&#039;&#039;&#039;SetCheck&#039;&#039;&#039; - If the objective checkbox is checked or not. &lt;br /&gt;
&lt;br /&gt;
=== [[Restrict|Restrict]] ===&lt;br /&gt;
&lt;br /&gt;
To block the player from being able to access objects in the game.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Type&#039;&#039;&#039; - Unit, Building, Research or Orbital. Whatever type of object that is being restricted. &lt;br /&gt;
*&#039;&#039;&#039;ID&#039;&#039;&#039; - The name of the object being restricted. &lt;br /&gt;
*&#039;&#039;&#039;Enable&#039;&#039;&#039; - Set this to 1 to enable the object. You can use this to restrict something early in the scenario and then enable it later on (for example: when the player accomplishes an objective or after a set amount of time). &lt;br /&gt;
&lt;br /&gt;
=== [[Reveal|Reveal]] ===&lt;br /&gt;
&lt;br /&gt;
Reveal the fog of war over a location&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name of this reveal (so you can modify it with a later command) &lt;br /&gt;
*&#039;&#039;&#039;Enable&#039;&#039;&#039; - 1 to enable, 0 to disable &lt;br /&gt;
*&#039;&#039;&#039;Position&#039;&#039;&#039; - x/y coordinates of the center of the revealed area &lt;br /&gt;
*&#039;&#039;&#039;Size&#039;&#039;&#039; - Radius of the area to be revealed &lt;br /&gt;
*&#039;&#039;&#039;RadarSize&#039;&#039;&#039; - Use to add a radar component to the reveal. Can be used with Size=&amp;quot;0&amp;quot; to create a radar-only reveal &lt;br /&gt;
&lt;br /&gt;
=== [[SpawnBuilding|SpawnBuilding]] ===&lt;br /&gt;
&lt;br /&gt;
Places a building on the map.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name you assign to the building. &lt;br /&gt;
*&#039;&#039;&#039;Template&#039;&#039;&#039; - The name of the building type being created. &lt;br /&gt;
*&#039;&#039;&#039;Player&#039;&#039;&#039; - The player who will own the building. &lt;br /&gt;
*&#039;&#039;&#039;Position&#039;&#039;&#039; - Where the building will be placed. &lt;br /&gt;
*&#039;&#039;&#039;NoDeath&#039;&#039;&#039; - Set this to &amp;quot;1&amp;quot; to make the unit immortal (you can still kill it with a scripted DestroyBuilding command) &lt;br /&gt;
&lt;br /&gt;
=== [[SpawnUnit|SpawnUnit]] ===&lt;br /&gt;
&lt;br /&gt;
Places a unit on the map.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - The name you assign to the unit. &lt;br /&gt;
*&#039;&#039;&#039;Parent&#039;&#039;&#039; - The army the unit will belong to (used to make it easier to issue moves). &lt;br /&gt;
*&#039;&#039;&#039;Template&#039;&#039;&#039; - The type of unit being created. &lt;br /&gt;
*&#039;&#039;&#039;Player&#039;&#039;&#039; - The player that will own the unit. &lt;br /&gt;
*&#039;&#039;&#039;Position&#039;&#039;&#039; - Where the unit will be created. &lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
=== [[Var|Var]] ===&lt;br /&gt;
&lt;br /&gt;
Set or modify a variable. Tip: Set any variable you want to use to 0 in the initial setup trigger to avoid unpredictable results. &#039;&#039;All values must be integers.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - Name of the variable &lt;br /&gt;
*&#039;&#039;&#039;Operation&#039;&#039;&#039; - Operation to be performed &lt;br /&gt;
**&amp;quot;=&amp;quot; or &amp;quot;Set&amp;quot; - set to the value &lt;br /&gt;
**&amp;quot;+&amp;quot; or &amp;quot;Add&amp;quot; - add value &lt;br /&gt;
**&amp;quot;-&amp;quot; or &amp;quot;Sub&amp;quot; - subtract value &lt;br /&gt;
**&amp;quot;Rand&amp;quot; or &amp;quot;SetRand&amp;quot; - set to a random value between Min and Max &lt;br /&gt;
**&amp;quot;AddRand&amp;quot; - add a random value between Min and Max &lt;br /&gt;
**&amp;quot;SubRand&amp;quot; - subtract a random value between Min and Max &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Value&#039;&#039;&#039; - The value to be used in the operation &lt;br /&gt;
*&#039;&#039;&#039;Min&#039;&#039;&#039; - Minimum value for random functions &lt;br /&gt;
*&#039;&#039;&#039;Max&#039;&#039;&#039; - Maximum value for random functions &lt;br /&gt;
*&#039;&#039;&#039;Example&#039;&#039;&#039; - &#039;&#039;&amp;lt;Var Name=&amp;quot;vFoo&amp;quot; Operation=&amp;quot;+&amp;quot; Value=&amp;quot;3&amp;quot; /&amp;gt;&#039;&#039; will add three to vFoo&#039;s current value&lt;/div&gt;</summary>
		<author><name>Patiobattle04</name></author>
	</entry>
	<entry>
		<id>https://wiki.ashesofthesingularity.com/index.php?title=ZoneCapture_Trigger&amp;diff=8531</id>
		<title>ZoneCapture Trigger</title>
		<link rel="alternate" type="text/html" href="https://wiki.ashesofthesingularity.com/index.php?title=ZoneCapture_Trigger&amp;diff=8531"/>
		<updated>2017-01-18T20:22:57Z</updated>

		<summary type="html">&lt;p&gt;Patiobattle04: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Triggers]]&lt;br /&gt;
A &#039;&#039;&#039;ZoneCapture Trigger&#039;&#039;&#039; fires when a region is captured.&lt;br /&gt;
&lt;br /&gt;
== Arguments ==&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Owner&#039;&#039;&#039; - Player who must capture this region to fire the trigger. &lt;br /&gt;
*&#039;&#039;&#039;Position&#039;&#039;&#039; - Map coordinates of the generator/Nexus. &lt;br /&gt;
&lt;br /&gt;
== Limitations ==&lt;br /&gt;
&lt;br /&gt;
*The coordinates are pretty sensitive; you need to get them right on top of the Relay or Generator &lt;br /&gt;
&lt;br /&gt;
== Common Usage ==&lt;br /&gt;
&lt;br /&gt;
*Victory conditions - note that a Nexus region is captured by whomever destroys the Nexus in it &lt;br /&gt;
*Capture-and-hold mechanics &lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;Trigger Name=&amp;quot;LossSpeech&amp;quot; Type=&amp;quot;ZoneCapture&amp;quot; Owner=&amp;quot;1&amp;quot; Position=&amp;quot;8500,9200&amp;quot; Inactive=&amp;quot;0&amp;quot; &amp;gt;&lt;br /&gt;
    &amp;lt;Dialog&amp;gt;&lt;br /&gt;
      &amp;lt;Entry Icon=&amp;quot;Haalee&amp;quot; Text=&amp;quot;TurtleWars_Loss_1&amp;quot;  /&amp;gt;&lt;br /&gt;
    &amp;lt;/Dialog&amp;gt;&lt;br /&gt;
    &amp;lt;ActivateTrigger Target=&amp;quot;Loss&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/Trigger&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This plays some dialog and activates a short timer trigger that does the actual mission failure if the enemy destroys the player&#039;s Nexus.&lt;/div&gt;</summary>
		<author><name>Patiobattle04</name></author>
	</entry>
	<entry>
		<id>https://wiki.ashesofthesingularity.com/index.php?title=Var_Trigger&amp;diff=8521</id>
		<title>Var Trigger</title>
		<link rel="alternate" type="text/html" href="https://wiki.ashesofthesingularity.com/index.php?title=Var_Trigger&amp;diff=8521"/>
		<updated>2017-01-18T20:22:45Z</updated>

		<summary type="html">&lt;p&gt;Patiobattle04: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Triggers]]&lt;br /&gt;
A &#039;&#039;&#039;Var trigger&#039;&#039;&#039; fires if a variable meets given criteria.&lt;br /&gt;
&lt;br /&gt;
== Arguments ==&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Var&#039;&#039;&#039; - The name of the variable to check &lt;br /&gt;
*&#039;&#039;&#039;Operator&#039;&#039;&#039; - What logical operator to use when evaluating the variable (equal to, less than, etc) &#039;&#039;&#039;[ == | &amp;gt;= | &amp;lt;= | &amp;gt; | &amp;lt; |&amp;amp;nbsp;!= ]&#039;&#039;&#039; &lt;br /&gt;
*&#039;&#039;&#039;Value&#039;&#039;&#039; - The (integer) value to compare the variable against &lt;br /&gt;
&lt;br /&gt;
== Common Usage ==&lt;br /&gt;
&lt;br /&gt;
*Tracking how many enemies have been destroyed for victory purposes &lt;br /&gt;
*Having something fire once when one of several things happens &lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;Trigger Name=&amp;quot;tWeasleyDead&amp;quot; Type=&amp;quot;Var&amp;quot; Var=&amp;quot;vWeasleyDead&amp;quot; Operator=&amp;quot;==&amp;quot; Value=&amp;quot;1&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
This fires when the &amp;quot;vWeasleyDead&amp;quot; variable is equal to 1&lt;/div&gt;</summary>
		<author><name>Patiobattle04</name></author>
	</entry>
	<entry>
		<id>https://wiki.ashesofthesingularity.com/index.php?title=Timer_Trigger&amp;diff=8511</id>
		<title>Timer Trigger</title>
		<link rel="alternate" type="text/html" href="https://wiki.ashesofthesingularity.com/index.php?title=Timer_Trigger&amp;diff=8511"/>
		<updated>2017-01-18T20:22:35Z</updated>

		<summary type="html">&lt;p&gt;Patiobattle04: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Triggers]]&lt;br /&gt;
&#039;&#039;&#039;Timer triggers&#039;&#039;&#039; fire after a delay.&lt;br /&gt;
&lt;br /&gt;
Timer triggers are by far the most common triggers in most Ashes scenarios.&lt;br /&gt;
&lt;br /&gt;
== Arguments ==&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Time -&#039;&#039;&#039; Time in seconds after this gets triggered that it takes place. &lt;br /&gt;
&lt;br /&gt;
== Common Usage ==&lt;br /&gt;
&lt;br /&gt;
*Initial setup (leave active, set timer to 0) &lt;br /&gt;
*Recurring attack waves (use ActivateTrigger to reactivate itself) &lt;br /&gt;
*Delayed effects (waiting a few seconds to do something after a Nexus is destroyed, to let the VO play and the explosion be admired) &lt;br /&gt;
*Delayed objectives (give the player an objective after a few minutes so they&#039;re not so overwhelmed at mission start) &lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;Trigger Name=&amp;quot;tEasyDefenses&amp;quot; Type=&amp;quot;Timer&amp;quot; Timer=&amp;quot;0&amp;quot; Inactive=&amp;quot;1&amp;quot; &amp;gt;&lt;br /&gt;
    &amp;lt;SpawnBuilding Name=&amp;quot;temp&amp;quot; Template=&amp;quot;PHC_DroneBay&amp;quot; Player=&amp;quot;1&amp;quot; Position=&amp;quot;3328,-2176&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnBuilding Name=&amp;quot;temp&amp;quot; Template=&amp;quot;PHC_Sensor&amp;quot; Player=&amp;quot;1&amp;quot; Position=&amp;quot;3520,-2240&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnBuilding Name=&amp;quot;temp&amp;quot; Template=&amp;quot;PHC_DroneBay&amp;quot; Player=&amp;quot;1&amp;quot; Position=&amp;quot;-2688,-2176&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnBuilding Name=&amp;quot;temp&amp;quot; Template=&amp;quot;PHC_Sensor&amp;quot; Player=&amp;quot;1&amp;quot; Position=&amp;quot;-2880,-2240&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnBuilding Name=&amp;quot;temp&amp;quot; Template=&amp;quot;PHC_DroneBay&amp;quot; Player=&amp;quot;1&amp;quot; Position=&amp;quot;-3200,-6700&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnBuilding Name=&amp;quot;temp&amp;quot; Template=&amp;quot;PHC_Sensor&amp;quot; Player=&amp;quot;1&amp;quot; Position=&amp;quot;-2880,-6592&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnBuilding Name=&amp;quot;temp&amp;quot; Template=&amp;quot;PHC_DroneBay&amp;quot; Player=&amp;quot;1&amp;quot; Position=&amp;quot;3840,-7168&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnBuilding Name=&amp;quot;temp&amp;quot; Template=&amp;quot;PHC_Sensor&amp;quot; Player=&amp;quot;1&amp;quot; Position=&amp;quot;3904,-7360&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnBuilding Name=&amp;quot;temp&amp;quot; Template=&amp;quot;PHC_DroneBay&amp;quot; Player=&amp;quot;1&amp;quot; Position=&amp;quot;-4708,-10340&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnBuilding Name=&amp;quot;temp&amp;quot; Template=&amp;quot;PHC_Sensor&amp;quot; Player=&amp;quot;1&amp;quot; Position=&amp;quot;-4416,-10048&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/Trigger&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is activated from a [[Difficulty_Trigger|Difficulty trigger]] and spawns additional defenses for the player.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;Trigger Name=&amp;quot;tIntro_1&amp;quot; Type=&amp;quot;Timer&amp;quot; Timer=&amp;quot;0&amp;quot; Inactive=&amp;quot;1&amp;quot; &amp;gt;&lt;br /&gt;
    &amp;lt;LetterBox Enable=&amp;quot;0&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;Dialog&amp;gt;&lt;br /&gt;
      &amp;lt;Entry Icon=&amp;quot;Samuel&amp;quot; Text=&amp;quot;InceptionPHC_Intro_1&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Entry Icon=&amp;quot;Samuel&amp;quot; Text=&amp;quot;InceptionPHC_Intro_2&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Entry Icon=&amp;quot;Samuel&amp;quot; Text=&amp;quot;InceptionPHC_Intro_3&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/Dialog&amp;gt;&lt;br /&gt;
    &amp;lt;Objective Name=&amp;quot;oSurvive_Obj&amp;quot; String=&amp;quot;InceptionPHC_Survive_Obj&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;Objective Name=&amp;quot;oDestroyPHC_Obj&amp;quot; String=&amp;quot;InceptionPHC_DestroyPHC_Obj&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;Objective Name=&amp;quot;oContainNihilon_Obj&amp;quot; String=&amp;quot;InceptionPHC_ContainNihilon_Obj&amp;quot; /&amp;gt;    &lt;br /&gt;
    &amp;lt;AreaIndicator Name=&amp;quot;iDestroyWeasley&amp;quot; Position=&amp;quot;8512,-8256&amp;quot; Color=&amp;quot;Red&amp;quot; Size=&amp;quot;300&amp;quot; Duration=&amp;quot;-1&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;AreaIndicator Name=&amp;quot;iDestroyGamgee&amp;quot;  Position=&amp;quot;-8512,-5440&amp;quot; Color=&amp;quot;Red&amp;quot; Size=&amp;quot;300&amp;quot; Duration=&amp;quot;-1&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;ActivateTrigger Target=&amp;quot;tCaptureWest_Breadcrumb_Timer&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/Trigger&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This plays some opening dialog, sets up objectives, and starts the timer for a hint trigger that will fire in a few minutes.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;Trigger Name=&amp;quot;tActualLoss&amp;quot; Type=&amp;quot;Timer&amp;quot; Timer=&amp;quot;1&amp;quot; Inactive=&amp;quot;1&amp;quot; &amp;gt;&lt;br /&gt;
    &amp;lt;EndMission Victory=&amp;quot;0&amp;quot; String=&amp;quot;Altaria_LossString&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/Trigger&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This ends the mission with a loss after being called by a [[ZoneCapture|ZoneCapture]] trigger.&lt;/div&gt;</summary>
		<author><name>Patiobattle04</name></author>
	</entry>
	<entry>
		<id>https://wiki.ashesofthesingularity.com/index.php?title=Research_Trigger&amp;diff=8501</id>
		<title>Research Trigger</title>
		<link rel="alternate" type="text/html" href="https://wiki.ashesofthesingularity.com/index.php?title=Research_Trigger&amp;diff=8501"/>
		<updated>2017-01-18T20:22:27Z</updated>

		<summary type="html">&lt;p&gt;Patiobattle04: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Triggers]]&lt;br /&gt;
&#039;&#039;&#039;Research triggers&#039;&#039;&#039; fire when a player researches a Quantum Upgrade.&lt;br /&gt;
&lt;br /&gt;
== Arguments ==&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Player&#039;&#039;&#039; - The player doing the research &lt;br /&gt;
*&#039;&#039;&#039;Target&#039;&#039;&#039; - The name of the tech &lt;br /&gt;
&lt;br /&gt;
== Common Usage ==&lt;br /&gt;
&lt;br /&gt;
*Maybe warning the player when the enemy reaches a certain tech level? &lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
No research triggers are used in Ashes currently.&lt;/div&gt;</summary>
		<author><name>Patiobattle04</name></author>
	</entry>
	<entry>
		<id>https://wiki.ashesofthesingularity.com/index.php?title=NamedCreate_Trigger&amp;diff=8491</id>
		<title>NamedCreate Trigger</title>
		<link rel="alternate" type="text/html" href="https://wiki.ashesofthesingularity.com/index.php?title=NamedCreate_Trigger&amp;diff=8491"/>
		<updated>2017-01-18T20:22:14Z</updated>

		<summary type="html">&lt;p&gt;Patiobattle04: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Triggers]]&lt;br /&gt;
&#039;&#039;&#039;NamedCreate triggers&#039;&#039;&#039; fire when a specific unit or building is spawned via a script.&lt;br /&gt;
&lt;br /&gt;
== Arguments ==&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Target&#039;&#039;&#039; - Name of the script-spawned unit or building. &lt;br /&gt;
*&#039;&#039;&#039;IsBuilding&#039;&#039;&#039; - If this is a building (if not it refers to a unit). &lt;br /&gt;
&lt;br /&gt;
== Common Usage ==&lt;br /&gt;
&lt;br /&gt;
These triggers have largely fallen by the wayside in favor of better options (activating inactive&amp;amp;nbsp;[[Timer|Timer]] triggers, primarily)&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;Trigger Name=&amp;quot;MoveBrainWhale0&amp;quot; Type=&amp;quot;NamedCreate&amp;quot; Target=&amp;quot;BrainWhale&amp;quot; &amp;gt;&lt;br /&gt;
    &amp;lt;AttackAttackMove Name=&amp;quot;BrainWhale&amp;quot; Position=&amp;quot;6464,-3048,0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/Trigger&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From the Deneb mission in Imminent Crisis, this tells the brainwhale to move as soon as it is spawned.&lt;/div&gt;</summary>
		<author><name>Patiobattle04</name></author>
	</entry>
	<entry>
		<id>https://wiki.ashesofthesingularity.com/index.php?title=Difficulty_Trigger&amp;diff=8481</id>
		<title>Difficulty Trigger</title>
		<link rel="alternate" type="text/html" href="https://wiki.ashesofthesingularity.com/index.php?title=Difficulty_Trigger&amp;diff=8481"/>
		<updated>2017-01-18T20:22:03Z</updated>

		<summary type="html">&lt;p&gt;Patiobattle04: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Triggers]]&lt;br /&gt;
A &#039;&#039;&#039;Difficulty trigger fires at the beginning of a scenario if the given difficulty was chosen on the Ascendancy Wars or Campaign screen.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Arguments ==&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Difficulty&#039;&#039;&#039; - The given difficulty (0 for Much Easier, up to 4 for Much Harder) &lt;br /&gt;
&lt;br /&gt;
== Limitations ==&lt;br /&gt;
&lt;br /&gt;
Difficulty triggers will only ever fire once, right at game start.&lt;br /&gt;
&lt;br /&gt;
Difficulty triggers do not &amp;quot;include&amp;quot; lower difficulties. If you want X to happen on Normal, Easy, or Much Easier, you need to explicitly call it from each difficulty trigger.&lt;br /&gt;
&lt;br /&gt;
== Common Usage ==&lt;br /&gt;
&lt;br /&gt;
*Setting the AI to different levels is an extremely quick and easy way to adjust difficulty &lt;br /&gt;
*Using the difficulty triggers in OtherTrigger and NotOtherTrigger arguments in other triggers can be occasionally useful &lt;br /&gt;
&lt;br /&gt;
==Examples== &amp;lt;!-- MUCH EASIER --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;Trigger Name=&amp;quot;Difficulty0&amp;quot; Type=&amp;quot;Difficulty&amp;quot; Difficulty=&amp;quot;0&amp;quot; &amp;gt;&lt;br /&gt;
    &amp;lt;ChangeAIDifficulty Player=&amp;quot;1&amp;quot; Difficulty=&amp;quot;Easy&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;ChangeAIDifficulty Player=&amp;quot;2&amp;quot; Difficulty=&amp;quot;Easy&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;ChangeAIDifficulty Player=&amp;quot;3&amp;quot; Difficulty=&amp;quot;Novice&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;ChangeAIDifficulty Player=&amp;quot;4&amp;quot; Difficulty=&amp;quot;Novice&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;ChangeAIDifficulty Player=&amp;quot;5&amp;quot; Difficulty=&amp;quot;Novice&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;ChangeAIDifficulty Player=&amp;quot;6&amp;quot; Difficulty=&amp;quot;Novice&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;ActivateTrigger Target=&amp;quot;tEasierDefenses&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;ActivateTrigger Target=&amp;quot;tEasyDefenses&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/Trigger&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- EASIER --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;Trigger Name=&amp;quot;Difficulty1&amp;quot; Type=&amp;quot;Difficulty&amp;quot; Difficulty=&amp;quot;1&amp;quot; &amp;gt;&lt;br /&gt;
    &amp;lt;ChangeAIDifficulty Player=&amp;quot;1&amp;quot; Difficulty=&amp;quot;Intermediate&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;ChangeAIDifficulty Player=&amp;quot;2&amp;quot; Difficulty=&amp;quot;Intermediate&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;ChangeAIDifficulty Player=&amp;quot;3&amp;quot; Difficulty=&amp;quot;Easy&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;ChangeAIDifficulty Player=&amp;quot;4&amp;quot; Difficulty=&amp;quot;Easy&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;ChangeAIDifficulty Player=&amp;quot;5&amp;quot; Difficulty=&amp;quot;Easy&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;ChangeAIDifficulty Player=&amp;quot;6&amp;quot; Difficulty=&amp;quot;Easy&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;ActivateTrigger Target=&amp;quot;tEasyDefenses&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/Trigger&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- NORMAL --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;Trigger Name=&amp;quot;Difficulty2&amp;quot; Type=&amp;quot;Difficulty&amp;quot; Difficulty=&amp;quot;2&amp;quot; &amp;gt;&lt;br /&gt;
    &amp;lt;ActivateTrigger Target=&amp;quot;tEasyDefenses&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/Trigger&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- HARDER --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;Trigger Name=&amp;quot;Difficulty3&amp;quot; Type=&amp;quot;Difficulty&amp;quot; Difficulty=&amp;quot;3&amp;quot; &amp;gt;&lt;br /&gt;
    &amp;lt;ChangeAIDifficulty Player=&amp;quot;1&amp;quot; Difficulty=&amp;quot;Challenging&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;ChangeAIDifficulty Player=&amp;quot;2&amp;quot; Difficulty=&amp;quot;Challenging&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;ChangeAIDifficulty Player=&amp;quot;3&amp;quot; Difficulty=&amp;quot;Normal&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;ChangeAIDifficulty Player=&amp;quot;4&amp;quot; Difficulty=&amp;quot;Normal&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;ChangeAIDifficulty Player=&amp;quot;5&amp;quot; Difficulty=&amp;quot;Normal&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;ChangeAIDifficulty Player=&amp;quot;6&amp;quot; Difficulty=&amp;quot;Normal&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;ActivateTrigger Target=&amp;quot;tEasyDefenses&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/Trigger&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- MUCH HARDER --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;Trigger Name=&amp;quot;Difficulty4&amp;quot; Type=&amp;quot;Difficulty&amp;quot; Difficulty=&amp;quot;4&amp;quot; &amp;gt;&lt;br /&gt;
    &amp;lt;ChangeAIDifficulty Player=&amp;quot;1&amp;quot; Difficulty=&amp;quot;Tough&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;ChangeAIDifficulty Player=&amp;quot;2&amp;quot; Difficulty=&amp;quot;Tough&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;ChangeAIDifficulty Player=&amp;quot;3&amp;quot; Difficulty=&amp;quot;Normal&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;ChangeAIDifficulty Player=&amp;quot;4&amp;quot; Difficulty=&amp;quot;Normal&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;ChangeAIDifficulty Player=&amp;quot;5&amp;quot; Difficulty=&amp;quot;Normal&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;ChangeAIDifficulty Player=&amp;quot;6&amp;quot; Difficulty=&amp;quot;Normal&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;ActivateTrigger Target=&amp;quot;tEasyDefenses&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/Trigger&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These set various AI difficulties as well as firing additional triggers to spawn the player extra defenses at the start of the game on easier difficulties.&lt;br /&gt;
&lt;br /&gt;
Amusingly, everything uses the &amp;quot;tEasyDefenses&amp;quot; trigger because during balancing it was near impossible to survive without them no matter what.&lt;/div&gt;</summary>
		<author><name>Patiobattle04</name></author>
	</entry>
	<entry>
		<id>https://wiki.ashesofthesingularity.com/index.php?title=Destruction_Trigger&amp;diff=8471</id>
		<title>Destruction Trigger</title>
		<link rel="alternate" type="text/html" href="https://wiki.ashesofthesingularity.com/index.php?title=Destruction_Trigger&amp;diff=8471"/>
		<updated>2017-01-18T20:21:54Z</updated>

		<summary type="html">&lt;p&gt;Patiobattle04: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Triggers]]&lt;br /&gt;
&#039;&#039;&#039;Destruction triggers&#039;&#039;&#039; fire when something specific dies.&lt;br /&gt;
&lt;br /&gt;
== Arguments ==&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;IsBuilding&#039;&#039;&#039; - If this is a building (if not it refers to a unit). &lt;br /&gt;
*&#039;&#039;&#039;Target&#039;&#039;&#039; - Name of the script-spawned unit or building. &lt;br /&gt;
&lt;br /&gt;
== Common Usage ==&lt;br /&gt;
&lt;br /&gt;
*Failing a scenario if the player loses a VIP unit &lt;br /&gt;
*Completing objectives when the player destroys a target &lt;br /&gt;
&lt;br /&gt;
== Limitations ==&lt;br /&gt;
&lt;br /&gt;
*Cannot be used with units/buildings built &#039;organically&#039; - only stuff spawned and named within the script &lt;br /&gt;
*For explicit victory conditions built on blowing up enemy Nexuses, use [[ZoneCapture|ZoneCapture]] instead &lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;Trigger Name=&amp;quot;tLossSpeech&amp;quot; Type=&amp;quot;Destruction&amp;quot; Target=&amp;quot;uPlayerHero2&amp;quot; &amp;gt; &lt;br /&gt;
    &amp;lt;Dialog&amp;gt;&lt;br /&gt;
      &amp;lt;Entry Icon=&amp;quot;Haalee&amp;quot; Text=&amp;quot;Ganymede_Loss_1&amp;quot;  Audio = &amp;quot;Audio/Campaign/Memories2_Ganymede/Memory_2_Haalee_12.wav&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/Dialog&amp;gt;&lt;br /&gt;
    &amp;lt;Objective Name=&amp;quot;oProtectAvatar&amp;quot; String=&amp;quot;Ganymede_oProtectAvatarFailed&amp;quot; SetCheck=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;ActivateTrigger Target=&amp;quot;tActualLoss&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/Trigger&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From Ganymede in Memories, this plays audio when the player loses their special Avatar unit, marks the objective failed, and activates a short timer for the actual mission loss (so you have a chance to hear the dialog and reflect on your failure).&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;Trigger Name=&amp;quot;tSouthSurvived&amp;quot; Type=&amp;quot;Destruction&amp;quot; Target=&amp;quot;uSouthReinforcement_Leader&amp;quot; &amp;gt;&lt;br /&gt;
    &amp;lt;Reveal Name=&amp;quot;rSouthIncoming_Reveal&amp;quot; Position=&amp;quot;200,5900&amp;quot; Size=&amp;quot;700&amp;quot; Enable=&amp;quot;0&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;Dialog&amp;gt;&lt;br /&gt;
      &amp;lt;Entry Icon=&amp;quot;Haalee&amp;quot; Text=&amp;quot;Europa_SouthSurvived_1&amp;quot; Audio = &amp;quot;Audio/Campaign/Memories3_Europa/Memory_3_Haalee_15.wav&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/Dialog&amp;gt;&lt;br /&gt;
    &amp;lt;Objective Name=&amp;quot;oSurviveSouth&amp;quot; String=&amp;quot;Europa_oSurviveSouth&amp;quot; SetCheck=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;Objective Name=&amp;quot;oIncoming&amp;quot;     Hide=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;ActivateTrigger Target=&amp;quot;tFadeMaulerObjective&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;ActivateTrigger Target=&amp;quot;tPlayerFreeDreads&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/Trigger&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From Europa in Memories, this moves the scenario along when the player destroys an incoming force they were warned about.&lt;/div&gt;</summary>
		<author><name>Patiobattle04</name></author>
	</entry>
	<entry>
		<id>https://wiki.ashesofthesingularity.com/index.php?title=Build_Trigger&amp;diff=8461</id>
		<title>Build Trigger</title>
		<link rel="alternate" type="text/html" href="https://wiki.ashesofthesingularity.com/index.php?title=Build_Trigger&amp;diff=8461"/>
		<updated>2017-01-18T20:21:40Z</updated>

		<summary type="html">&lt;p&gt;Patiobattle04: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Triggers]]&lt;br /&gt;
A &#039;&#039;&#039;Build trigger&#039;&#039;&#039; fires when a human player builds structures or units.&lt;br /&gt;
&lt;br /&gt;
== Arguments ==&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Target&#039;&#039;&#039; - The template of the building that will fire this trigger &lt;br /&gt;
*&#039;&#039;&#039;IsBuilding&#039;&#039;&#039; - Set to &amp;quot;1&amp;quot; if the target is a building &lt;br /&gt;
*&#039;&#039;&#039;Count&#039;&#039;&#039; - How many of the target template must be built to fire the trigger (default 1) &lt;br /&gt;
&lt;br /&gt;
== Common Usage ==&lt;br /&gt;
&lt;br /&gt;
*Completing objectives when a player builds something you told them to. &lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;Trigger Name=&amp;quot;Units&amp;quot; Type=&amp;quot;Build&amp;quot; Target=&amp;quot;PHC_T1_Light&amp;quot; Center=&amp;quot;0,2600,0&amp;quot; Size=&amp;quot;400&amp;quot; Inactive=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;LetterBox Enable=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;GrantStuff Player=&amp;quot;0&amp;quot; Metal=&amp;quot;500&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;Restrict Type=&amp;quot;Unit&amp;quot; ID=&amp;quot;PHC_T1_Recon&amp;quot; Enable=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;Restrict Type=&amp;quot;Unit&amp;quot; ID=&amp;quot;PHC_T1_MRM&amp;quot;   Enable=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;Dialog&amp;gt;&lt;br /&gt;
            &amp;lt;Entry Icon=&amp;quot;Mac&amp;quot; Text=&amp;quot;Mission2_T5_1&amp;quot; Audio=&amp;quot;audio/campaign/Mission2_Cygnus/Mission2_T5_1.wav&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/Dialog&amp;gt;&lt;br /&gt;
        &amp;lt;Objective Name=&amp;quot;BuildBrutes&amp;quot; SetCheck=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Objective Name=&amp;quot;BuildFactory&amp;quot; Hide=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Objective Name=&amp;quot;BuildEngineer&amp;quot; Hide=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Objective Name=&amp;quot;BuildMetalExtractors&amp;quot; Hide=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;ActivateTrigger Target=&amp;quot;MoveToRelay1&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/Trigger&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From an early tutorial mission, this completes some objectives, plays some dialog, and gives new objectives (and activates the trigger that will complete them) when the player builds the Brutes they&#039;ve been instructed to.&lt;/div&gt;</summary>
		<author><name>Patiobattle04</name></author>
	</entry>
	<entry>
		<id>https://wiki.ashesofthesingularity.com/index.php?title=Category:Triggers&amp;diff=8451</id>
		<title>Category:Triggers</title>
		<link rel="alternate" type="text/html" href="https://wiki.ashesofthesingularity.com/index.php?title=Category:Triggers&amp;diff=8451"/>
		<updated>2017-01-18T20:21:02Z</updated>

		<summary type="html">&lt;p&gt;Patiobattle04: Created page with &amp;quot;Category:Modding Triggers are the method by which the Ashes game engine implements game actions defined in a script.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Modding]]&lt;br /&gt;
Triggers are the method by which the Ashes game engine implements game actions defined in a script.&lt;/div&gt;</summary>
		<author><name>Patiobattle04</name></author>
	</entry>
	<entry>
		<id>https://wiki.ashesofthesingularity.com/index.php?title=Area_Trigger&amp;diff=8441</id>
		<title>Area Trigger</title>
		<link rel="alternate" type="text/html" href="https://wiki.ashesofthesingularity.com/index.php?title=Area_Trigger&amp;diff=8441"/>
		<updated>2017-01-18T20:20:34Z</updated>

		<summary type="html">&lt;p&gt;Patiobattle04: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Triggers]]&lt;br /&gt;
An Area trigger fires when the human player moves a unit into the area.&lt;br /&gt;
&lt;br /&gt;
== Arguments ==&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Center&#039;&#039;&#039; - Map coordinates of the center of the area. Required. &lt;br /&gt;
*&#039;&#039;&#039;Size&#039;&#039;&#039; - Size of the area. &lt;br /&gt;
*&#039;&#039;&#039;Template&#039;&#039;&#039; - Template name of the unit that can trigger this. If you want it to fire if any unit enters the area, do not specify a Template argument. &lt;br /&gt;
&lt;br /&gt;
== Common Usage ==&lt;br /&gt;
&lt;br /&gt;
Area triggers are useful for:&lt;br /&gt;
&lt;br /&gt;
#Warning a player about a heavily defended location &lt;br /&gt;
#Warning a player about an enemy base that might not be a good idea to assault until he&#039;s completed some other mission objectives &lt;br /&gt;
#&amp;quot;Waking up&amp;quot; an AI player that the player got too close to &lt;br /&gt;
#Setting up &#039;escort&#039; type missions that have some effect when the player gets a unit somewhere &lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;Trigger Name=&amp;quot;tHarvest_00&amp;quot; Type=&amp;quot;Area&amp;quot; Center=&amp;quot;0,-1408&amp;quot; Size=&amp;quot;300&amp;quot; Template=&amp;quot;SS_A_Harvester&amp;quot; &amp;gt;&lt;br /&gt;
    &amp;lt;AreaIndicator Name=&amp;quot;iHarvest_00&amp;quot; Position=&amp;quot;64,-1344&amp;quot; Size=&amp;quot;225&amp;quot; Color=&amp;quot;Blue&amp;quot; Duration=&amp;quot;0&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;Var Name=&amp;quot;vRegionsHarvested&amp;quot; Operation=&amp;quot;+&amp;quot; Value=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/Trigger&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is from the Betelgeuse mission in Escalation, and both fades an AreaIndicator and increments the variable for &amp;quot;regions harvested&amp;quot; when the player brings a Harvester to the targeted area.&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;Trigger Name=&amp;quot;DropEngineer&amp;quot; Type=&amp;quot;Area&amp;quot;  Template=&amp;quot;PHC_2_Engineer&amp;quot; Center=&amp;quot;5200,0,0&amp;quot; Size=&amp;quot;500&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;AreaIndicator Name=&amp;quot;EngineerDropSite&amp;quot; Duration=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Objective Name=&amp;quot;LandEngineer&amp;quot; SetCheck=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Objective Name=&amp;quot;Setupbase&amp;quot; String=&amp;quot;Mission5_Objective4B&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Restrict Type=&amp;quot;Orbital&amp;quot; ID=&amp;quot;CallEngineer&amp;quot; Enable=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;Dialog&amp;gt;&lt;br /&gt;
            &amp;lt;Entry Icon=&amp;quot;Mac&amp;quot; Text=&amp;quot;Mission5_T4a_3&amp;quot; Audio=&amp;quot;audio/campaign/Mission5_Decanus/Mission5_T4a_3.wav&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/Dialog&amp;gt;&lt;br /&gt;
        &amp;lt;ActivateTrigger Target=&amp;quot;EnableEnemyAIDelay&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;ActivateTrigger Target=&amp;quot;ScoutAdvice&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;ActivateTrigger Target=&amp;quot;NoSneaky&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/Trigger&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From Decanus in Imminent Crisis, this kicks off a whole new phase of the mission when the player successfully drops an Engineer to the western staging point.&lt;/div&gt;</summary>
		<author><name>Patiobattle04</name></author>
	</entry>
	<entry>
		<id>https://wiki.ashesofthesingularity.com/index.php?title=Player_(scripting)&amp;diff=8432</id>
		<title>Player (scripting)</title>
		<link rel="alternate" type="text/html" href="https://wiki.ashesofthesingularity.com/index.php?title=Player_(scripting)&amp;diff=8432"/>
		<updated>2017-01-18T20:19:21Z</updated>

		<summary type="html">&lt;p&gt;Patiobattle04: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Modding]]&lt;br /&gt;
To do much of anything, you&#039;ll need to define &#039;&#039;&#039;players&#039;&#039;&#039; in the XML file for your scenario. This is done with individual &amp;lt;Player&amp;gt; tags that enable or disable their AI, sets faction, team, and color, etc.&lt;br /&gt;
&lt;br /&gt;
You&#039;ll likely refer to these players later in the script by number, where 0 is the first player defined, 1 is the next, and so on.&lt;br /&gt;
&lt;br /&gt;
== Arguments ==&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - Name of the player &lt;br /&gt;
*&#039;&#039;&#039;Faction&#039;&#039;&#039; - Faction the player belongs to [ PHC | SS ] &lt;br /&gt;
*&#039;&#039;&#039;Team&#039;&#039;&#039; - What team the player belongs to &lt;br /&gt;
*&#039;&#039;&#039;Color&#039;&#039;&#039; - What is the team color for the player [ 1-14 ] &lt;br /&gt;
*&#039;&#039;&#039;AIType&#039;&#039;&#039; - Set to “Player” if this is player controlled. &amp;quot;On&amp;quot; for AI control, &amp;quot;Off&amp;quot; for passive [ On | Off | Player ] &lt;br /&gt;
*&#039;&#039;&#039;AIDifficulty&#039;&#039;&#039; - What setting this AI player is on [ Beginner | Novice | Easy | Intermediate | Normal | Challenging | Tough | Painful | Insane ] &lt;br /&gt;
*&#039;&#039;&#039;NoSeed&#039;&#039;&#039; - Set this to 1 to disable a Nexus for the player. &#039;&#039;Note: Doing this will mean you need to manually set victory/loss triggers, as the generic Seed Victory condition won&#039;t trigger.&#039;&#039; &lt;br /&gt;
*&#039;&#039;&#039;NoEngineer&#039;&#039;&#039; - Set this to 1 if the player isn’t going to start with an Engineer. &lt;br /&gt;
*&#039;&#039;&#039;StartLocation&#039;&#039;&#039; - Which start location the player uses. Corresponds with what you see in the skirmish lobby. &lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;Player Name=&amp;quot;You&amp;quot; Faction=&amp;quot;PHC&amp;quot; AIType=&amp;quot;Player&amp;quot; Team=&amp;quot;1&amp;quot; Color=&amp;quot;7&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;Player Name=&amp;quot;Mac&amp;quot; Faction=&amp;quot;PHC&amp;quot; AIType=&amp;quot;On&amp;quot; Team=&amp;quot;1&amp;quot; Color=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;Player Name=&amp;quot;Haalee&amp;quot; Faction=&amp;quot;SS&amp;quot; AIType=&amp;quot;On&amp;quot; Team=&amp;quot;2&amp;quot; Color=&amp;quot;2&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;Player Name=&amp;quot;Splinter&amp;quot; Faction=&amp;quot;PHC&amp;quot; AIType=&amp;quot;Off&amp;quot; Team=&amp;quot;3&amp;quot; Color=&amp;quot;4&amp;quot; NoSeed=&amp;quot;1&amp;quot; NoEngineer=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this example, the player is index 0, Mac 1, Haalee 2, and Splinter 3.&lt;br /&gt;
&lt;br /&gt;
The player and Mac are on a team together, while Haalee and the Splinter are each on their own teams.&lt;br /&gt;
&lt;br /&gt;
The Splinter has its AI turned off, either to create passive guardians or script-controlled incoming waves, or some such thing where you don&#039;t want an AI messing with your scenario.&lt;/div&gt;</summary>
		<author><name>Patiobattle04</name></author>
	</entry>
	<entry>
		<id>https://wiki.ashesofthesingularity.com/index.php?title=Category:Modding&amp;diff=8431</id>
		<title>Category:Modding</title>
		<link rel="alternate" type="text/html" href="https://wiki.ashesofthesingularity.com/index.php?title=Category:Modding&amp;diff=8431"/>
		<updated>2017-01-18T20:18:57Z</updated>

		<summary type="html">&lt;p&gt;Patiobattle04: Created page with &amp;quot;Ashes of the Singularity can be modded extensively through the in-game map editor, creating new scripted scenarios, adjusting balancing, and much more.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ashes of the Singularity can be modded extensively through the in-game map editor, creating new scripted scenarios, adjusting balancing, and much more.&lt;/div&gt;</summary>
		<author><name>Patiobattle04</name></author>
	</entry>
	<entry>
		<id>https://wiki.ashesofthesingularity.com/index.php?title=Triggers&amp;diff=8421</id>
		<title>Triggers</title>
		<link rel="alternate" type="text/html" href="https://wiki.ashesofthesingularity.com/index.php?title=Triggers&amp;diff=8421"/>
		<updated>2017-01-18T20:14:25Z</updated>

		<summary type="html">&lt;p&gt;Patiobattle04: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Modding]]&lt;br /&gt;
&#039;&#039;&#039;Triggers&#039;&#039;&#039; are what control anything you want to happen while the scenario is being played, from spawning starting base to calling waves of attacking enemies or giving players objectives. There are several types of triggers which activate off of different events.&lt;br /&gt;
&lt;br /&gt;
== Active vs Inactive ==&lt;br /&gt;
&lt;br /&gt;
Triggers are &amp;quot;active&amp;quot; by default, meaning they will fire whenever their condition is met. They can be set to Inactive manually in the script.&lt;br /&gt;
&lt;br /&gt;
Triggers set themselves to Inactive when they fire. This means that if you want something to be repeatable, you need to reactivate it somewhere in the script.&lt;br /&gt;
&lt;br /&gt;
== Repeating Triggers ==&lt;br /&gt;
&lt;br /&gt;
Using &amp;lt;ActivateTrigger=&amp;quot;triggername&amp;quot;/&amp;gt; to tell a trigger to activate itself will make it repeatable (if you want something to happen every time the player builds a Dreadnought, for example, or waves of enemies to spawn and attack every 15 seconds).&lt;br /&gt;
&lt;br /&gt;
== Conditional Triggers ==&lt;br /&gt;
&lt;br /&gt;
Using the OtherTrigger and NotOtherTrigger arguments is a way to gate your scenario&#039;s logic. For purposes of those arguments, a trigger &#039;counts&#039; &#039;&#039;&#039;if it has been activated at least once&#039;&#039;&#039; during the game.&lt;br /&gt;
&lt;br /&gt;
There is currently no way to &amp;quot;un-activate&amp;quot; a trigger, as far as OtherTrigger and NotOtherTrigger are concerned.&lt;br /&gt;
&lt;br /&gt;
== Common Trigger Arguments ==&lt;br /&gt;
&lt;br /&gt;
All triggers share some attributes in common:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Name&#039;&#039;&#039; - Name of the trigger. Required. &lt;br /&gt;
*&#039;&#039;&#039;Type&#039;&#039;&#039; - What type of trigger it is. See below. Required. &lt;br /&gt;
*&#039;&#039;&#039;Inactive&#039;&#039;&#039; - If this trigger is inactive, to activate use the ActivateTrigger option from another Trigger. &lt;br /&gt;
*&#039;&#039;&#039;OtherTrigger&#039;&#039;&#039; - Name of another trigger that must have fired before this one will activate. Use this to set multiple conditions on a trigger occurring. &lt;br /&gt;
*&#039;&#039;&#039;NotOtherTrigger&#039;&#039;&#039; - Inverse of OtherTrigger. If the other trigger has fired this trigger won’t fire. Us this to create branching options in your scenario. &lt;br /&gt;
&lt;br /&gt;
== Trigger Types ==&lt;br /&gt;
&lt;br /&gt;
These are the types of triggers you can use in a script, and any specific arguments they support.&lt;br /&gt;
&lt;br /&gt;
=== [[Area_Trigger|Area]] ===&lt;br /&gt;
&lt;br /&gt;
Fires when the human player moves a unit into the area.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Center&#039;&#039;&#039; - Map coordinates of the center of the area. Required. &lt;br /&gt;
*&#039;&#039;&#039;Size&#039;&#039;&#039; - Size of the area. &lt;br /&gt;
*&#039;&#039;&#039;Template&#039;&#039;&#039; - Template name of the unit that can trigger this. If you want it to fire if any unit enters the area, do not specify a Template argument. &lt;br /&gt;
&lt;br /&gt;
=== [[Build_Trigger|Build]] ===&lt;br /&gt;
&lt;br /&gt;
Fires when a human player builds structures or units.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Target&#039;&#039;&#039; - The template of the building that will fire this trigger &lt;br /&gt;
*&#039;&#039;&#039;IsBuilding&#039;&#039;&#039; - Set to &amp;quot;1&amp;quot; if the target is a building &lt;br /&gt;
*&#039;&#039;&#039;Count&#039;&#039;&#039; - How many of the target template must be built to fire the trigger (default 1) &lt;br /&gt;
&lt;br /&gt;
=== [[Destruction_Trigger|Destruction]] ===&lt;br /&gt;
&lt;br /&gt;
Fires when something specific dies.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;IsBuilding&#039;&#039;&#039; - If this is a building (if not it refers to a unit). &lt;br /&gt;
*&#039;&#039;&#039;Target&#039;&#039;&#039; - Name of the script-spawned unit or building. &lt;br /&gt;
&lt;br /&gt;
=== [[Difficulty_Trigger|Difficulty]] ===&lt;br /&gt;
&lt;br /&gt;
Fires at the beginning of a scenario if the given difficulty was chosen&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Difficulty&#039;&#039;&#039; - The given difficulty (0 for Much Easier, up to 4 for Much Harder) &lt;br /&gt;
&lt;br /&gt;
=== [[NamedCreate_Trigger|NamedCreate]] ===&lt;br /&gt;
&lt;br /&gt;
Fires when a specific unit or building is spawned via a script.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Target&#039;&#039;&#039; - Name of the script-spawned unit or building. &lt;br /&gt;
*&#039;&#039;&#039;IsBuilding&#039;&#039;&#039; - If this is a building (if not it refers to a unit). &lt;br /&gt;
&lt;br /&gt;
=== [[Research_Trigger|Research]] ===&lt;br /&gt;
&lt;br /&gt;
Fires when a player researches a Quantum Upgrade&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Player&#039;&#039;&#039; - The player doing the research &lt;br /&gt;
*&#039;&#039;&#039;Target&#039;&#039;&#039; - The name of the tech &lt;br /&gt;
&lt;br /&gt;
=== [[Timer_Trigger|Timer]] ===&lt;br /&gt;
&lt;br /&gt;
Fires after a delay.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Time -&#039;&#039;&#039; Time in seconds after this gets triggered that it takes place. &lt;br /&gt;
&lt;br /&gt;
=== [[Var_Trigger|Var]] ===&lt;br /&gt;
&lt;br /&gt;
Fires if a variable meets given criteria&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Var&#039;&#039;&#039; - The name of the variable to check &lt;br /&gt;
*&#039;&#039;&#039;Operator&#039;&#039;&#039; - What logical operator to use when evaluating the variable (equal to, less than, etc) &#039;&#039;&#039;[ == | &amp;gt;= | &amp;lt;= | &amp;gt; | &amp;lt; |&amp;amp;nbsp;!= ]&#039;&#039;&#039; &lt;br /&gt;
*&#039;&#039;&#039;Value&#039;&#039;&#039; - The (integer) value to compare the variable against &lt;br /&gt;
*&#039;&#039;Example: &amp;lt;Trigger Name=&amp;quot;tWeasleyDead&amp;quot; Type=&amp;quot;Var&amp;quot; Var=&amp;quot;vWeasleyDead&amp;quot; Operator=&amp;quot;==&amp;quot; Value=&amp;quot;1&amp;quot; &amp;gt; - this fires when the &amp;quot;vWeasleyDead&amp;quot; variable is equal to 1&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
=== [[ZoneCapture_Trigger|ZoneCapture]] ===&lt;br /&gt;
&lt;br /&gt;
Fires when a region is captured.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Owner&#039;&#039;&#039; - Player who must capture this region to fire the trigger. &lt;br /&gt;
*&#039;&#039;&#039;Position&#039;&#039;&#039; - Map coordinates of the generator/Nexus.&lt;/div&gt;</summary>
		<author><name>Patiobattle04</name></author>
	</entry>
	<entry>
		<id>https://wiki.ashesofthesingularity.com/index.php?title=Scripting&amp;diff=8411</id>
		<title>Scripting</title>
		<link rel="alternate" type="text/html" href="https://wiki.ashesofthesingularity.com/index.php?title=Scripting&amp;diff=8411"/>
		<updated>2017-01-18T20:14:19Z</updated>

		<summary type="html">&lt;p&gt;Patiobattle04: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Modding]]&lt;br /&gt;
&#039;&#039;&#039;Scripting&#039;&#039;&#039; allows you a huge amount of control over what exactly happens on the map you are creating. You can [[Restrict|restrict]] what [[Buildings|buildings]] and [[Units|units]] the players can use, set up [[Triggers|Triggers]] to lock or unlock them, spawn units or buildings for the players or their enemies. You can send units to attack specific targets and send [[Dialog|dialog]] popups to the player. Everything you need to make your own custom [[Scenarios|Scenarios]].&lt;br /&gt;
&lt;br /&gt;
All of this is stored in XML, not code. So you don’t need any special programming tools or experience to use it. The best advice for seeing what is possible is to look through the \Assets\Campaign\ and \Scenario\ directories and see what the xml files are doing. Some examples are also included below.&lt;br /&gt;
&lt;br /&gt;
There are three main elements in Ashes scripting: [[Missions_(scripting)|missions]], [[Player_(scripting)|players]] and [[Triggers|triggers]]. Missions are the definition or the scenario. Players defines the players that are going to be used in the scenario. Triggers are where all the magic happens. Triggers have a lot of elements and options.&lt;br /&gt;
&lt;br /&gt;
Note that all triggers and arguments are case-sensitive.&lt;/div&gt;</summary>
		<author><name>Patiobattle04</name></author>
	</entry>
	<entry>
		<id>https://wiki.ashesofthesingularity.com/index.php?title=Map_Editor&amp;diff=8401</id>
		<title>Map Editor</title>
		<link rel="alternate" type="text/html" href="https://wiki.ashesofthesingularity.com/index.php?title=Map_Editor&amp;diff=8401"/>
		<updated>2017-01-18T20:14:13Z</updated>

		<summary type="html">&lt;p&gt;Patiobattle04: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Modding]]&lt;br /&gt;
The Map Editor is the tool the Ashes of the Singularity team uses to create maps. It has many powerful options, but be aware - generating maps at high quality levels, and especially at large sizes, requires a ton of CPU and RAM resources.&lt;br /&gt;
&lt;br /&gt;
== Enabling the Map Editor ==&lt;br /&gt;
&lt;br /&gt;
[[File:ModGuide 1.png|thumb|right|200px|Creating a new map]]To enable the &#039;&#039;&#039;Map Editor&#039;&#039;&#039; add the “-modding” (without the quotes) to the Launch Options for the game (in Steam, right-click the game, go to Properties, click Set Launch Options in the General tab). That will add a Map Editor button to the main menu of the game. From there you can decide if you want to modify an existing map, or create a new one. If you create a new one the menu to the right is presented.&lt;br /&gt;
&lt;br /&gt;
== Map Editor Commands ==&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;File&#039;&#039;&#039; - This is where you can edit the MapProperties.xml file, go to the folder where the map information is stored or exit the Map Editor. If you want to change the victory point limits for your map then use this option to modify the MapProperties.xml file and regenerate the map. &lt;br /&gt;
*&#039;&#039;&#039;Show/Hide Help&#039;&#039;&#039; - This displays some useful information for using the Map Editor. I have it set to display help in the above screenshot. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Toggle Display Mode&#039;&#039;&#039; - This changes how you are viewing the map. In the above screenshot I’m not looking at modeled terrain. It’s often easier to layout the map in this mode. But you can switch over to realistic terrain if you want to see exactly what your map would look like to the player. &lt;br /&gt;
*&#039;&#039;&#039;Enable Symmetry&#039;&#039;&#039; - Enable this if you want your terrain painting to be symmetrical. If it is set you can choose to make is symmetrically mirrored or use a radial symmetry for multiple equal positions. &lt;br /&gt;
*&#039;&#039;&#039;Terran/Desert/Frozen&#039;&#039;&#039; - If you would like to switch your world type while building you can do it here. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Brush Size&#039;&#039;&#039; - When painting terrain or cosmetics this is the brush size you would like to use. &#039;&#039;Also [ctrl+mousewheel]&#039;&#039; &lt;br /&gt;
*&#039;&#039;&#039;Edit Terrain&#039;&#039;&#039; - Ashes has 5 (7 in Escalation) base terrains: &lt;br /&gt;
**&#039;&#039;&#039;[[Plains|Plains]]&#039;&#039;&#039; - Normal ground &lt;br /&gt;
**&#039;&#039;&#039;[[Plateau|Plateau]]&#039;&#039;&#039; - Higher ground that the player can still move and build on. Height is an advantage for many units so plateaus generally make for good defensive positions. &lt;br /&gt;
**&#039;&#039;&#039;[[Hill|Hill]]&#039;&#039;&#039; - Hills connect Plains and Plateaus. Use them to determine where players can access one elevation from the other. &lt;br /&gt;
**&#039;&#039;&#039;[[Mountain|Mountain]]&#039;&#039;&#039; - Mountains are impassable by anything except flying units. Use them to block parts of the map. &lt;br /&gt;
**&#039;&#039;&#039;[[Basin|Basin]]&#039;&#039;&#039; - Basins are also impassable to anything except for flying units. But units with long enough range can fire across basins. &lt;br /&gt;
**&#039;&#039;&#039;[[Highlands|Highlands]] (Esc)&#039;&#039;&#039; - Like Plateaus, but higher. Connect them to other terrain types with Hills. &lt;br /&gt;
**&#039;&#039;&#039;[[Lowlands|Lowlands]] (Esc)&#039;&#039;&#039; - Like Plains, but lower. Connect them to other terrain types with Hills. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Edit Buildings&#039;&#039;&#039; - Use this to place the following on the map: &lt;br /&gt;
**&#039;&#039;&#039;Player Seed&#039;&#039;&#039; - A player&#039;s starting location. &lt;br /&gt;
**&#039;&#039;&#039;[[Relay|Relay]]&#039;&#039;&#039; - The heart of a region. Surround it with Metal and Radioactive deposits to decide what that region offers. &lt;br /&gt;
**&#039;&#039;&#039;[[Turinium_Generator|Turinium Generator]]&#039;&#039;&#039; - This is a special type of power generator that can provide victory points. &lt;br /&gt;
**&#039;&#039;&#039;[[Metal_Deposit|Metal Deposit]]&#039;&#039;&#039; - Provides Metal for the player who owns this region. &lt;br /&gt;
**&#039;&#039;&#039;[[Radioactive_Deposit|Radioactive Deposit]]&#039;&#039;&#039; - Provides Radioactives for the player who owns this region. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Edit [[Cosmetic|Cosmetic]]&#039;&#039;&#039; - Place alternate ground textures. &#039;&#039;&#039;NOTE: Turn off symmetry when editing cosmetic details!&#039;&#039;&#039; &lt;br /&gt;
*&#039;&#039;&#039;Edit [[Effects|Effects]] (Esc)&#039;&#039;&#039; - Place particle effects on the map. This is currently (Jan 2017) experimental. &lt;br /&gt;
*&#039;&#039;&#039;Build Quality/Erosion&#039;&#039;&#039; - Increasing these will increase the amount of time and memory required to generate the terrain. Tip: Use minimum settings while testing. Stardock generates at terrain quality 3 or 4 for our final maps. Anything higher than 4 will probably crash your machine. &lt;br /&gt;
*&#039;&#039;&#039;Terrain Synth&#039;&#039;&#039; - The style of slopes and mountains generated by the erosion simulation. Anything other than 1 and 2 is experimental. &lt;br /&gt;
*&#039;&#039;&#039;Rebuild Terrain&#039;&#039;&#039; - This regenerates the map with any changes you have made so you can see how they look. &lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Map Example ==&lt;br /&gt;
&lt;br /&gt;
I selected Terran (grassland) terrain and default [[Lighting|lighting]]. As you will see in the demo I change to Frozen [[Terrain|terrain]] later, it’s easy to do so don’t worry too much about your selection here.&lt;br /&gt;
&lt;br /&gt;
The following is the default map that you are given. It starts with two player Nexuses, a Turinium Generator and one other region. But we have lots of things we can add.&lt;br /&gt;
&lt;br /&gt;
[[File:ModGuide 3.png|thumb|right|200px|Logical view of a super-basic map]]&lt;br /&gt;
&lt;br /&gt;
Teal is plateau, red is mountains, blue is basins, yellow is hills and the green is plains.&lt;br /&gt;
&lt;br /&gt;
The player [[Nexus|Nexuses]] are in the upper right and the lower left. The point of this map was to create a single channel for the players to battle through. The upper part is biased for the player on the left, giving him a plateau to fire down at enemy units driving by the area below and the reverse for the southern part of the map.&lt;br /&gt;
&lt;br /&gt;
There are three [[Turinium_Generators|Turinium Generators]], one in the center of the map and one on each of the two plateaus overlooking the plains pass. The goal is to make one Turinium Generator easy for each player to grab so they need to battle over the one in the center (since victory points are awarded to the player who holds the majority of generators).&lt;br /&gt;
&lt;br /&gt;
[[File:ModGuide 4.png|thumb|right|200px|Basic map after terrain generation]]&lt;br /&gt;
&lt;br /&gt;
Rebuilding the terrain and toggling to map display mode gives us a look at what the map will look like. I like the pass, the mountains and the basin. But the rest looks a little bare. So I need to add more details to make that area more interesting. I often forget how big the Ashes maps are, so when I toggle to the real map they don’t seem as full as I imagined.&lt;br /&gt;
&lt;br /&gt;
[[File:ModGuide 5.png|thumb|right|200px|Better map - logical view]]&lt;br /&gt;
&lt;br /&gt;
In this update I’ve added more opportunities for the defending player. The overlooking plateaus can only be accessed from the Nexus region so they get to attack in the central channel as well as attacking units forced to come by the plateau wall on their way to the Nexus.&lt;br /&gt;
&lt;br /&gt;
[[File:ModGuide 6.png|thumb|right|200px|Better map - terrain view]]&lt;br /&gt;
&lt;br /&gt;
I’ve also switched it over to the Frozen terrain. I think its brutal hostility fits the maps focus better. I put the build quality up to 4 and increased the erosion levels so it looks great. It took a lot more time to generate (btw: don’t attempt to use high build levels on the largest possible maps unless you have a lot of memory) but it looks great.&lt;br /&gt;
&lt;br /&gt;
This map is a lot of fun to play, but may favor aircraft too strongly (since they can bypass all of these defense and attack anywhere. In a later section we will talk about creating scripts where we could do things like disable aircraft so the players are forced to slug it out.&lt;/div&gt;</summary>
		<author><name>Patiobattle04</name></author>
	</entry>
	<entry>
		<id>https://wiki.ashesofthesingularity.com/index.php?title=Modders_Guide&amp;diff=8391</id>
		<title>Modders Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.ashesofthesingularity.com/index.php?title=Modders_Guide&amp;diff=8391"/>
		<updated>2017-01-18T20:13:27Z</updated>

		<summary type="html">&lt;p&gt;Patiobattle04: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Modding]]&lt;br /&gt;
Ashes of the Singularity gives you access to a powerful strategy game engine to create your own scenarios, objects and worlds. The designers have had a lot of fun creating scenarios for the game, and you will have access to the same features they had to create your own.&lt;br /&gt;
&lt;br /&gt;
There is a lot to do in Ashes. But it was also built from the ground up to be mod friendly. Modders have access to the gameplay elements to change and tweak as they desire. This document will introduce some of what is possible, and we will make a map and a mod to take advantage of this.&lt;br /&gt;
&lt;br /&gt;
This is not always going to be a managed and curated editor with limited options. You can mod the game the same way the developers make changes to the game. Editors are nice because they typically keep you from doing “bad” things. But they also keep you from doing incredibly good things. An editor only allows you to do the things the developer set up for you to change. With direct access to the files you can do things the developer never expected. Sometimes that turns out horribly (okay, a lot of the time that turns out horribly), but sometimes it turns out brilliantly. We believe power trumps ease of use.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== The Map Editor ==&lt;br /&gt;
&lt;br /&gt;
(see [[Map_Editor|the full Map Editor article]] for more)&lt;br /&gt;
&lt;br /&gt;
[[File:ModGuide 1.png|thumb|right|200px|Creating a new map]]To enable the [[Map_Editor|Map Editor]] add the “-modding” (without the quotes) to the Launch Options for the game (in Steam, right-click the game, go to Properties, click Set Launch Options in the General tab). That will add a Map Editor button to the main menu of the game. From there you can decide if you want to modify an existing map, or create a new one. If you create a new one the menu to the right is presented.&lt;br /&gt;
&lt;br /&gt;
For your first map I’d select a smaller map size. You probably assume that you will run out of space quickly on small maps, you would be wrong. Ashes small maps are what other games would call huge. The large ones are ridiculous and will take a lot of time to design. Practice on some small ones first.&lt;br /&gt;
&lt;br /&gt;
[[File:ModGuide 2.png|thumb|right|200px|A new, blank map]]&lt;br /&gt;
&lt;br /&gt;
== Moddable Game Files ==&lt;br /&gt;
&lt;br /&gt;
Most of the data that drives Ashes is stored in CSV and XML files, and there are a lot of them.&lt;br /&gt;
&lt;br /&gt;
[[File:ModGuide 7.png|thumb|right|200px|Many, many CSV files]]&lt;br /&gt;
&lt;br /&gt;
You can find these in the in the place the game is installed under the &#039;&#039;&#039;..\Ashes of the Singularity\Assets\&#039;&#039;&#039; directories. Modifying files in a game&#039;s directory isn’t for the faint of heart, so you will want to remember a few things:&lt;br /&gt;
&lt;br /&gt;
#If you modify any of these files you can always get back to the original by verifying your game cache in Steam (which will revert all your files to the original game files). &lt;br /&gt;
#Conversely, if you verify your cache in Steam you will lose any local changes you have made. &lt;br /&gt;
#Game updates may overwrite any changes you have made locally, so make a backup of your changes. &lt;br /&gt;
#We plan to add a modding directory that will overwrite the game files, so you don’t have to modify the game files directly. But at the time that this guide is being written that functionality doesn’t exist. It won’t change what you can do, but it will make the process easier and cleaner. &lt;br /&gt;
#You cannot play multiplayer with modded games (that wouldn’t be fair or fun for the other player). So if you want to play multiplayer you will need to revert your changes. If you have forgotten about some of the changes you can use re-verify your files to get them back to default. (&#039;&#039;&#039;Note: &#039;&#039;&#039;Adding new maps and scenarios via mod shouldn&#039;t lock you out of multiplayer, as those don&#039;t affect the existing game experience.) &lt;br /&gt;
#You can modify the assets in Ashes but in general you cannot add new ones. This is because the UI wouldn’t show them in the build menus. So if you had a new unit you wanted to build at a factory it wouldn’t be displayed in the units the factory could produce. You could make a new unit to have the player start with, to reward the player with after he completes a trigger (more about those later), etc. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Ashes can’t use a file if it is locked. If you have a file open with Excel and try to start Ashes, the game will likely crash. Close the file before starting Ashes.&lt;br /&gt;
&lt;br /&gt;
=== Notable Files for Modding ===&lt;br /&gt;
&lt;br /&gt;
The following files are simple to mod and can effect major changes to gameplay.&lt;br /&gt;
&lt;br /&gt;
All files are found in the Ashes \Assets\ directory.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;\GameCore\[[BuildingTemplates.csv|BuildingTemplates.csv]]&#039;&#039;&#039; - Controls build time, cost, armor, HP, and more for all buildings. &lt;br /&gt;
*&#039;&#039;&#039;\GameCore\[[UnitTemplates.csv|UnitTemplates.csv]]&#039;&#039;&#039; - Controls build time, cost, armor, HP, and more for all units. &lt;br /&gt;
*&#039;&#039;&#039;\GameCore\ModuleTemplates\[[WeaponModuleTemplates.csv|WeaponModuleTemplates.csv]]&#039;&#039;&#039; - Controls rate of fire, range, targeting priority, damage, and everything else for all weapons. &lt;br /&gt;
&lt;br /&gt;
=== File Mod Example ===&lt;br /&gt;
&lt;br /&gt;
There are a lot of files, with a lot of fields that can be tweaked and changed. For this demo we are going to mess with my favorite file, &#039;&#039;&#039;[[UnitTemplates.csv|UnitTemplates.csv]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:ModGuide 8.png|thumb|right|200px|UnitTemplates.csv]]&lt;br /&gt;
&lt;br /&gt;
In this screenshot I’ve opened [[UnitTemplates.csv|UnitTemplates.csv]] with Excel, because it makes it easier for me to work with, but Excel isn’t required. Notepad could be used to modify the file. If you use Excel remember to save it as a csv file.&lt;br /&gt;
&lt;br /&gt;
There are a lot of fields that can be modified. In this screenshot we can see:&lt;br /&gt;
&lt;br /&gt;
*Max HPs &lt;br /&gt;
*Max Energy &lt;br /&gt;
*Energy Per Second &lt;br /&gt;
*Armor &lt;br /&gt;
*Heal Rate &lt;br /&gt;
*Max Shields &lt;br /&gt;
*Shield Regen Rate &lt;br /&gt;
*Radar Radius &lt;br /&gt;
*Cost Metal &lt;br /&gt;
*Cost Data &lt;br /&gt;
*Cost Energy &lt;br /&gt;
*Cost Logistics &lt;br /&gt;
*Construction Time &lt;br /&gt;
&lt;br /&gt;
Some of these fields aren’t named the same as they are in game. Names change during the course of development, and we didn’t want to go back and change all these definitions to match each time they do. Because of that you may have to experiment a bit to see how things match. For example, PHC_T1_Light is the Brute, and Cost Data is actually the Radioactive cost of the unit. You can check out the translation tables in ..\Ashes of the Singularity\Assets\UIText\ directory to see how raw assets relate to in game assets.&lt;br /&gt;
&lt;br /&gt;
Using this file alone, and just the things in this screenshot (there are many more fields in UnitTemplates.csv) we can dramatically alter the balance and design of the game. Let’s use the above to create a new game variant I call the &#039;&#039;&#039;Swarm Mod&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
I love the scale of Ashes, I love large battles. So this mod is going to make even larger battles possible and we are going to get into them fast. To do that I’m going to make the following changes:&lt;br /&gt;
&lt;br /&gt;
[[File:ModGuide 9.png|thumb|right|200px|UnitTemplates.csv, modded]]&lt;br /&gt;
&lt;br /&gt;
I’ve reduce the [[Metal|Metal]], [[Radioactives|Radioactives]], [[Logistics|Logistics]] and [[Construction_time|Construction time]] costs by 90%. I’ve reduce the Logistics costs of T1 units to 0 (so you can have as many as you want). With these changes factories should produce 10 units in the time it took to produce 1 before. As long as you can keep feeding the (dramatically reduced) resource costs, units should come out of factories in an endless stream, like a tower defense game on steroids.&lt;br /&gt;
&lt;br /&gt;
There are a lot of ways to tweak this concept. I could have kept the Metal and Radioactive costs the same and then the player would be strongly incented to claim and upgrade regions to keep his factories fed. I could have just halved the costs rather than dropping them by 90%. I could have increased the resource gathering rates of upgraded metal and radioactive mines rather than lowering costs to incent players to invest in their regions.&lt;br /&gt;
&lt;br /&gt;
But for this we are going crazy. Everything gets very cheap. Massive armies can be built from the start of the game. Those poor creeps won’t know what hit them. And be prepared to be sieged by thousands of units.&lt;br /&gt;
&lt;br /&gt;
[[File:ModGuide 10.png|thumb|right|200px|Swarms of frigates!]]&lt;br /&gt;
&lt;br /&gt;
This is 5 minutes into the game. I only have 2 factories putting out an endless stream of Brutes. I make an army out of them and in the time it takes to do that there are a bunch more waiting to be added. So I find that it works just as well to set the rally point of the factory to where I want to attack, so that my river of death flows out to destroy it.&lt;br /&gt;
&lt;br /&gt;
[[File:ModGuide 11.png|thumb|right|200px|Pew! Pew pew!]]&lt;br /&gt;
&lt;br /&gt;
The AI has adapted to the new lower costs and is meeting my endless streams with its own. Unlike me it has opted to go with some cheaply produced dreadnoughts. The game lasts for 45 minutes, and there is a battle waging between my endless armies and his at this chokepoint for nearly all of it. It isn’t until I win more minor battles on some of outskirt regions (to take the resources which even at 90% off still become critical) and I send a strike force around to take out his factories that I cause his production chain to falter and begin to break through.&lt;br /&gt;
&lt;br /&gt;
[[File:ModGuide 12.png|thumb|right|200px|Pewpewpew!]]&lt;br /&gt;
&lt;br /&gt;
I had to adjust away from my typical [[Artemis|Artemis]] (long range missile ships) to Nemesis (which are really good against enemy dreadnoughts) to be able to begin killing them faster than he could produce them. I also needed to invest heavily in anti-air [[Apollo|Apollos]] to counter the AI’s strike fleets of [[Aircraft|aircraft]] that nearly cost me the game.&lt;br /&gt;
&lt;br /&gt;
Once the lines were broken I turned the biggest Ashes armada I had ever controlled against his Nexus. There were a lot of [[Dreadnoughts|dreadnoughts]] fighting their way up that hill, and the explosions, missile trails and laser blasts cut through and won me the game.&lt;br /&gt;
&lt;br /&gt;
Overall it is amazing how much game play can change with these changes. If I were to do it again I might keep the reduced cost overall, but maybe just 50% off rather than 90%. I liked the larger armies, but it was a crazy experience more like fighting a fire than playing chess.&lt;br /&gt;
&lt;br /&gt;
If you decide to modify the csv files with a text editor (Notepad++ is my text editor of choice) you can do everything I was doing in Excel, it just isn’t formatted into columns to be easy to read. Instead it is raw text like the following:&lt;br /&gt;
&lt;br /&gt;
[[File:ModGuide 13.png|thumb|right|200px|A .csv file in Notepad++]]&lt;br /&gt;
&lt;br /&gt;
Modifying the files this way works, you just need to count the amount of fields, remembering that commas separate the fields (CSV stands for Comma Separated Values) to get to the right values.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Scripting – Creating Scenarios ==&lt;br /&gt;
&lt;br /&gt;
[[Scripting|Scripting]] allows you a huge amount of control over what exactly happens on the map you are creating. You can [[Restrict|restrict]] what [[Buildings|buildings]] and [[Units|units]] the players can use, set up [[Triggers|Triggers]] to lock or unlock them, spawn units or buildings for the players or their enemies. You can send units to attack specific targets and send [[Dialog|dialog]] popups to the player. Everything you need to make your own custom [[Scenarios|Scenarios]].&lt;br /&gt;
&lt;br /&gt;
All of this is stored in XML, not code. So you don’t need any special programming tools or experience to use it. The best advice for seeing what is possible is to look through the \Assets\Campaign\ and \Scenario\ directories and see what the xml files are doing. Some examples are also included below.&lt;br /&gt;
&lt;br /&gt;
There are three main elements in Ashes scripting: [[Missions_(scripting)|missions]], [[Player_(scripting)|players]] and [[Triggers|triggers]]. Missions are the definition or the scenario. Players defines the players that are going to be used in the scenario. Triggers are where all the magic happens. Triggers have a lot of elements and options.&lt;br /&gt;
&lt;br /&gt;
Note that all triggers and arguments are case-sensitive.&lt;br /&gt;
&lt;br /&gt;
=== Mission Definition ===&lt;br /&gt;
&lt;br /&gt;
First, you set up all the menu-related items (what icons/art to use in the Ascendancy Wars screen, etc) and global settings like enabling/disabling creeps and hiding terrain, using a [[Missions_(scripting)|&amp;lt;Mission&amp;gt; tag]].&lt;br /&gt;
&lt;br /&gt;
=== Player Definition ===&lt;br /&gt;
&lt;br /&gt;
To do much of anything, you&#039;ll need to define [[Player_(scripting)|players]] next. This is done with individual &amp;lt;Player&amp;gt; tags that enable or disable their AI, sets faction, team, and color, etc.&lt;br /&gt;
&lt;br /&gt;
You&#039;ll likely refer to these players later in the script by number, where 0 is the first player defined, 1 is the next, and so on.&lt;br /&gt;
&lt;br /&gt;
=== Triggers ===&lt;br /&gt;
&lt;br /&gt;
[[Triggers|Triggers]] are what control anything you want to happen while the scenario is being played, from spawning starting base to calling waves of attacking enemies or giving players objectives. There are several types of triggers which activate off of different events.&lt;br /&gt;
&lt;br /&gt;
=== Trigger Types ===&lt;br /&gt;
&lt;br /&gt;
These are the types of triggers you can use in a script, and any specific arguments they support.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;[[Area_Trigger|Area]]&#039;&#039;&#039; - Fires when the human player moves a unit into the area. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;[[Build_Trigger|Build]]&#039;&#039;&#039; - Fires when a human player builds structures or units. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;[[Destruction_Trigger|Destruction]]&#039;&#039;&#039; - Fires when something specific dies. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;[[Difficulty_Trigger|Difficulty]]&#039;&#039;&#039; - Fires at the beginning of a scenario if the given difficulty was chosen &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;[[NamedCreate_Trigger|NamedCreate]]&#039;&#039;&#039; - Fires when a specific unit or building is spawned via a script. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;[[Research_Trigger|Research]]&#039;&#039;&#039; - Fires when a player researches a Quantum Upgrade &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;[[Timer_Trigger|Timer]]&#039;&#039;&#039; - Fires after a delay. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;[[Var_Trigger|Var]]&#039;&#039;&#039; - Fires if a variable meets given criteria &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;[[ZoneCapture_Trigger|ZoneCapture]]&#039;&#039;&#039; - Fires when a region is captured. &lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
=== Commands ===&lt;br /&gt;
&lt;br /&gt;
These are the [[Script_Commands|commands]] you can put within a trigger to create gameplay effects.&lt;br /&gt;
&lt;br /&gt;
See the [[Script_Commands|main Commands entry]] for details.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;[[ActivateTrigger|ActivateTrigger]]&#039;&#039;&#039; - Activate another trigger (also can be used to activate the trigger it is called from, making a repeating trigger). &lt;br /&gt;
*&#039;&#039;&#039;[[AreaIndicator|AreaIndicator]]&#039;&#039;&#039; - This places a visible indicator on the map to help the player know where they should go to. &lt;br /&gt;
*&#039;&#039;&#039;[[AttackAttackMove|AttackAttackMove]]&#039;&#039;&#039; - Order an army to move to a specific area, engaging enemies along the way. &lt;br /&gt;
*&#039;&#039;&#039;[[AttackUnit|AttackUnit]]&#039;&#039;&#039; - Order an army to attack a specific script-spawned unit &lt;br /&gt;
*&#039;&#039;&#039;[[Camera|Camera]]&#039;&#039;&#039; - Move the player&#039;s view to a specific area. &lt;br /&gt;
*&#039;&#039;&#039;[[CaptureNearestNext|CaptureNearestNext]]&#039;&#039;&#039; - Order an army to capture the nearest neutral or enemy-controlled region &lt;br /&gt;
*&#039;&#039;&#039;[[CaptureNearest|CaptureNearest]]&#039;&#039;&#039; - Order an army to clear its order queue and capture the nearest neutral or enemy-controlled region (note: ordered unit will stop moving if region is captured before it gets there) &lt;br /&gt;
*&#039;&#039;&#039;[[ChangeAIDifficulty|ChangeAIDifficulty]]&#039;&#039;&#039; - Change an AI player&#039;s difficulty setting &lt;br /&gt;
*&#039;&#039;&#039;[[ChangeAIPersonality|ChangeAIPersonality]]&#039;&#039;&#039; - Change an AI player&#039;s personality &lt;br /&gt;
*&#039;&#039;&#039;[[DestroyBuilding|DestroyBuilding]]&#039;&#039;&#039; - Destroys a specific script-spawned building. &lt;br /&gt;
*&#039;&#039;&#039;[[DestroyUnit|DestroyUnit]]&#039;&#039;&#039; - Destroys a specific script-spawned unit. &lt;br /&gt;
*&#039;&#039;&#039;[[Dialog|Dialog]]&#039;&#039;&#039; - This creates a popup that can convey information or story to the player. Use with &amp;lt;Entry&amp;gt; tags. &lt;br /&gt;
*&#039;&#039;&#039;[[Entry|Entry]]&#039;&#039;&#039; - The actual text that will be displayed. Use only within &amp;lt;Dialog&amp;gt; tags. &lt;br /&gt;
*&#039;&#039;&#039;[[EndMission|EndMission]]&#039;&#039;&#039; - Use to force a win or loss of the scenario. &lt;br /&gt;
*&#039;&#039;&#039;[[GrantStuff|GrantStuff]]&#039;&#039;&#039; - Give a player free resources &lt;br /&gt;
*&#039;&#039;&#039;[[GrantTech|GrantTech]]&#039;&#039;&#039; - Give a player a free Quantum Upgrade &lt;br /&gt;
*&#039;&#039;&#039;[[HidePanel|HidePanel]]&#039;&#039;&#039; - Hide UI panels &lt;br /&gt;
*&#039;&#039;&#039;[[LetterBox|LetterBox]]&#039;&#039;&#039; - disable commands and go to a cinematic, letterbox view &lt;br /&gt;
*&#039;&#039;&#039;[[MoveUnit|MoveUnit]]&#039;&#039;&#039; - Move an army to a location without stopping to fight &lt;br /&gt;
*&#039;&#039;&#039;[[Objective|Objective]]&#039;&#039;&#039; - Use this to set objective notifications for the player (so they know what to do). &lt;br /&gt;
*&#039;&#039;&#039;[[Restrict|Restrict]]&#039;&#039;&#039; - To block the player from being able to access objects in the game. &lt;br /&gt;
*&#039;&#039;&#039;[[Reveal|Reveal]]&#039;&#039;&#039; - Reveal the fog of war over a location &lt;br /&gt;
*&#039;&#039;&#039;[[SpawnBuilding|SpawnBuilding]]&#039;&#039;&#039; - Places a building on the map. &lt;br /&gt;
*&#039;&#039;&#039;[[SpawnUnit|SpawnUnit]]&#039;&#039;&#039; - Places a unit on the map. &lt;br /&gt;
*&#039;&#039;&#039;[[Var_Command|Var]]&#039;&#039;&#039; - Set or modify a variable. Tip: Set any variable you want to use to 0 in the initial setup trigger to avoid unpredictable results. &#039;&#039;All values must be integers.&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
== Position Coordinates ==&lt;br /&gt;
&lt;br /&gt;
The UI for Ashes is defined in XML, it is as moddable as the rest of the game. But we just want to make one small change, we want the game to show us the [[Coordinates|coordinates]]. Fortunately there is already a field for that in the UI, it’s just marked hidden. You will find the following toward the end of &#039;&#039;&#039;[[AshesGameView.xml|AshesGameView.xml]]&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
[[File:ModGuide 28.png|center|Changing the XML to show locations]]&lt;br /&gt;
&lt;br /&gt;
To have the coordinates be displayed in game, change this to Hidden=”0”. 0 typically means False and 1 means True so by setting it to 0 we are setting it to “Not Hidden”. You may also want to reduce the FontSize, 20 tends to be fairly large but that is up to you.&lt;br /&gt;
&lt;br /&gt;
This will help you get the exact coordinates when you are playing with your map to figure out where you want to place resources, starting locations for player, where you want events or trigger or where you want to spawn new units.&lt;br /&gt;
&lt;br /&gt;
== Trigger Examples ==&lt;br /&gt;
&lt;br /&gt;
A single trigger can do any combination of the above options. It can popup some text, spawn some units, set an objective give the player some resources and unlock some new building options. It is up to you how you want to combine and use them. Let’s take a look at some examples.&lt;br /&gt;
&lt;br /&gt;
=== Send an army to attack ===&lt;br /&gt;
&lt;br /&gt;
[[File:ModGuide 29.png|frame|center|An attack trigger]]&amp;lt;br/&amp;gt; The above trigger is inactive, meaning it needs another trigger to call it before it will activate. Once it does it will spawn 16 units into an army and send them to attack the defined map position. This is a relatively simple trigger, but a common one. With this alone you can create scenarios that spawn waves to attack the player, grant reinforcements to the player or create surprise ambushes.&lt;br /&gt;
&lt;br /&gt;
=== Reward the player for capturing an area ===&lt;br /&gt;
&lt;br /&gt;
[[File:ModGuide 30.png|frame|center|A region capture trigger]]&amp;lt;br/&amp;gt; The above trigger occurs when the player captures the region at the specified position. Notice that the trigger starts inactive, so it would need to be enabled by an earlier trigger before it could occur.&lt;br /&gt;
&lt;br /&gt;
This trigger does the following:&lt;br /&gt;
&lt;br /&gt;
*Checks the Cap_C_Obj objective in the player’s objective list. &lt;br /&gt;
*It disables the Cap_B_Ind Area Indicator by setting it’s duration to 0. &lt;br /&gt;
*It pops up some dialog for the player. &lt;br /&gt;
*It enables the player’s ability to build Metal Extractors. &lt;br /&gt;
*It spawns a free Engineer for the player. &lt;br /&gt;
*It moves the camera to look at the captured region. &lt;br /&gt;
*It adds a new objective for the player (Mex_Built_Obj). &lt;br /&gt;
*It gives the player 500 Metal. &lt;br /&gt;
*It makes the Cap_C_Trigger trigger active. &lt;br /&gt;
&lt;br /&gt;
This is a great example of the kind of combinations that can be done with the trigger system. This is a reward to the player for capturing the region. But it could as easily have triggered an escalation for the enemy forces.&lt;/div&gt;</summary>
		<author><name>Patiobattle04</name></author>
	</entry>
	<entry>
		<id>https://wiki.ashesofthesingularity.com/index.php?title=Var&amp;diff=8381</id>
		<title>Var</title>
		<link rel="alternate" type="text/html" href="https://wiki.ashesofthesingularity.com/index.php?title=Var&amp;diff=8381"/>
		<updated>2017-01-18T00:03:27Z</updated>

		<summary type="html">&lt;p&gt;Patiobattle04: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Var could mean:&lt;br /&gt;
&lt;br /&gt;
*[[Var_Trigger|Var Trigger]]&lt;br /&gt;
*[[Var_Command|Var Command]]&lt;/div&gt;</summary>
		<author><name>Patiobattle04</name></author>
	</entry>
	<entry>
		<id>https://wiki.ashesofthesingularity.com/index.php?title=Modders_Guide&amp;diff=8371</id>
		<title>Modders Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.ashesofthesingularity.com/index.php?title=Modders_Guide&amp;diff=8371"/>
		<updated>2017-01-18T00:02:26Z</updated>

		<summary type="html">&lt;p&gt;Patiobattle04: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Ashes of the Singularity gives you access to a powerful strategy game engine to create your own scenarios, objects and worlds. The designers have had a lot of fun creating scenarios for the game, and you will have access to the same features they had to create your own.&lt;br /&gt;
&lt;br /&gt;
There is a lot to do in Ashes. But it was also built from the ground up to be mod friendly. Modders have access to the gameplay elements to change and tweak as they desire. This document will introduce some of what is possible, and we will make a map and a mod to take advantage of this.&lt;br /&gt;
&lt;br /&gt;
This is not always going to be a managed and curated editor with limited options. You can mod the game the same way the developers make changes to the game. Editors are nice because they typically keep you from doing “bad” things. But they also keep you from doing incredibly good things. An editor only allows you to do the things the developer set up for you to change. With direct access to the files you can do things the developer never expected. Sometimes that turns out horribly (okay, a lot of the time that turns out horribly), but sometimes it turns out brilliantly. We believe power trumps ease of use.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The Map Editor ==&lt;br /&gt;
&lt;br /&gt;
(see [[Map_Editor|the full Map Editor article]] for more)&lt;br /&gt;
&lt;br /&gt;
[[File:ModGuide 1.png|thumb|right|200px|Creating a new map]]To enable the [[Map_Editor|Map Editor]] add the “-modding” (without the quotes) to the Launch Options for the game (in Steam, right-click the game, go to Properties, click Set Launch Options in the General tab). That will add a Map Editor button to the main menu of the game. From there you can decide if you want to modify an existing map, or create a new one. If you create a new one the menu to the right is presented.&lt;br /&gt;
&lt;br /&gt;
For your first map I’d select a smaller map size. You probably assume that you will run out of space quickly on small maps, you would be wrong. Ashes small maps are what other games would call huge. The large ones are ridiculous and will take a lot of time to design. Practice on some small ones first.&lt;br /&gt;
&lt;br /&gt;
[[File:ModGuide 2.png|thumb|right|200px|A new, blank map]]&lt;br /&gt;
&lt;br /&gt;
== Moddable Game Files ==&lt;br /&gt;
&lt;br /&gt;
Most of the data that drives Ashes is stored in CSV and XML files, and there are a lot of them.&lt;br /&gt;
&lt;br /&gt;
[[File:ModGuide 7.png|thumb|right|200px|Many, many CSV files]]&lt;br /&gt;
&lt;br /&gt;
You can find these in the in the place the game is installed under the &#039;&#039;&#039;..\Ashes of the Singularity\Assets\&#039;&#039;&#039; directories. Modifying files in a game&#039;s directory isn’t for the faint of heart, so you will want to remember a few things:&lt;br /&gt;
&lt;br /&gt;
#If you modify any of these files you can always get back to the original by verifying your game cache in Steam (which will revert all your files to the original game files). &lt;br /&gt;
#Conversely, if you verify your cache in Steam you will lose any local changes you have made. &lt;br /&gt;
#Game updates may overwrite any changes you have made locally, so make a backup of your changes. &lt;br /&gt;
#We plan to add a modding directory that will overwrite the game files, so you don’t have to modify the game files directly. But at the time that this guide is being written that functionality doesn’t exist. It won’t change what you can do, but it will make the process easier and cleaner. &lt;br /&gt;
#You cannot play multiplayer with modded games (that wouldn’t be fair or fun for the other player). So if you want to play multiplayer you will need to revert your changes. If you have forgotten about some of the changes you can use re-verify your files to get them back to default. (&#039;&#039;&#039;Note: &#039;&#039;&#039;Adding new maps and scenarios via mod shouldn&#039;t lock you out of multiplayer, as those don&#039;t affect the existing game experience.)&lt;br /&gt;
#You can modify the assets in Ashes but in general you cannot add new ones. This is because the UI wouldn’t show them in the build menus. So if you had a new unit you wanted to build at a factory it wouldn’t be displayed in the units the factory could produce. You could make a new unit to have the player start with, to reward the player with after he completes a trigger (more about those later), etc. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Ashes can’t use a file if it is locked. If you have a file open with Excel and try to start Ashes, the game will likely crash. Close the file before starting Ashes.&lt;br /&gt;
&lt;br /&gt;
=== Notable Files for Modding ===&lt;br /&gt;
&lt;br /&gt;
The following files are simple to mod and can effect major changes to gameplay.&lt;br /&gt;
&lt;br /&gt;
All files are found in the Ashes \Assets\ directory.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;\GameCore\[[BuildingTemplates.csv|BuildingTemplates.csv]]&#039;&#039;&#039; - Controls build time, cost, armor, HP, and more for all buildings. &lt;br /&gt;
*&#039;&#039;&#039;\GameCore\[[UnitTemplates.csv|UnitTemplates.csv]]&#039;&#039;&#039; - Controls build time, cost, armor, HP, and more for all units. &lt;br /&gt;
*&#039;&#039;&#039;\GameCore\ModuleTemplates\[[WeaponModuleTemplates.csv|WeaponModuleTemplates.csv]]&#039;&#039;&#039; - Controls rate of fire, range, targeting priority, damage, and everything else for all weapons. &lt;br /&gt;
&lt;br /&gt;
=== File Mod Example ===&lt;br /&gt;
&lt;br /&gt;
There are a lot of files, with a lot of fields that can be tweaked and changed. For this demo we are going to mess with my favorite file, &#039;&#039;&#039;[[UnitTemplates.csv|UnitTemplates.csv]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:ModGuide 8.png|thumb|right|200px|UnitTemplates.csv]]&lt;br /&gt;
&lt;br /&gt;
In this screenshot I’ve opened [[UnitTemplates.csv|UnitTemplates.csv]] with Excel, because it makes it easier for me to work with, but Excel isn’t required. Notepad could be used to modify the file. If you use Excel remember to save it as a csv file.&lt;br /&gt;
&lt;br /&gt;
There are a lot of fields that can be modified. In this screenshot we can see:&lt;br /&gt;
&lt;br /&gt;
*Max HPs &lt;br /&gt;
*Max Energy &lt;br /&gt;
*Energy Per Second &lt;br /&gt;
*Armor &lt;br /&gt;
*Heal Rate &lt;br /&gt;
*Max Shields &lt;br /&gt;
*Shield Regen Rate &lt;br /&gt;
*Radar Radius &lt;br /&gt;
*Cost Metal &lt;br /&gt;
*Cost Data &lt;br /&gt;
*Cost Energy &lt;br /&gt;
*Cost Logistics &lt;br /&gt;
*Construction Time &lt;br /&gt;
&lt;br /&gt;
Some of these fields aren’t named the same as they are in game. Names change during the course of development, and we didn’t want to go back and change all these definitions to match each time they do. Because of that you may have to experiment a bit to see how things match. For example, PHC_T1_Light is the Brute, and Cost Data is actually the Radioactive cost of the unit. You can check out the translation tables in ..\Ashes of the Singularity\Assets\UIText\ directory to see how raw assets relate to in game assets.&lt;br /&gt;
&lt;br /&gt;
Using this file alone, and just the things in this screenshot (there are many more fields in UnitTemplates.csv) we can dramatically alter the balance and design of the game. Let’s use the above to create a new game variant I call the &#039;&#039;&#039;Swarm Mod&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
I love the scale of Ashes, I love large battles. So this mod is going to make even larger battles possible and we are going to get into them fast. To do that I’m going to make the following changes:&lt;br /&gt;
&lt;br /&gt;
[[File:ModGuide 9.png|thumb|right|200px|UnitTemplates.csv, modded]]&lt;br /&gt;
&lt;br /&gt;
I’ve reduce the [[Metal|Metal]], [[Radioactives|Radioactives]], [[Logistics|Logistics]] and [[Construction_time|Construction time]] costs by 90%. I’ve reduce the Logistics costs of T1 units to 0 (so you can have as many as you want). With these changes factories should produce 10 units in the time it took to produce 1 before. As long as you can keep feeding the (dramatically reduced) resource costs, units should come out of factories in an endless stream, like a tower defense game on steroids.&lt;br /&gt;
&lt;br /&gt;
There are a lot of ways to tweak this concept. I could have kept the Metal and Radioactive costs the same and then the player would be strongly incented to claim and upgrade regions to keep his factories fed. I could have just halved the costs rather than dropping them by 90%. I could have increased the resource gathering rates of upgraded metal and radioactive mines rather than lowering costs to incent players to invest in their regions.&lt;br /&gt;
&lt;br /&gt;
But for this we are going crazy. Everything gets very cheap. Massive armies can be built from the start of the game. Those poor creeps won’t know what hit them. And be prepared to be sieged by thousands of units.&lt;br /&gt;
&lt;br /&gt;
[[File:ModGuide 10.png|thumb|right|200px|Swarms of frigates!]]&lt;br /&gt;
&lt;br /&gt;
This is 5 minutes into the game. I only have 2 factories putting out an endless stream of Brutes. I make an army out of them and in the time it takes to do that there are a bunch more waiting to be added. So I find that it works just as well to set the rally point of the factory to where I want to attack, so that my river of death flows out to destroy it.&lt;br /&gt;
&lt;br /&gt;
[[File:ModGuide 11.png|thumb|right|200px|Pew! Pew pew!]]&lt;br /&gt;
&lt;br /&gt;
The AI has adapted to the new lower costs and is meeting my endless streams with its own. Unlike me it has opted to go with some cheaply produced dreadnoughts. The game lasts for 45 minutes, and there is a battle waging between my endless armies and his at this chokepoint for nearly all of it. It isn’t until I win more minor battles on some of outskirt regions (to take the resources which even at 90% off still become critical) and I send a strike force around to take out his factories that I cause his production chain to falter and begin to break through.&lt;br /&gt;
&lt;br /&gt;
[[File:ModGuide 12.png|thumb|right|200px|Pewpewpew!]]&lt;br /&gt;
&lt;br /&gt;
I had to adjust away from my typical [[Artemis|Artemis]] (long range missile ships) to Nemesis (which are really good against enemy dreadnoughts) to be able to begin killing them faster than he could produce them. I also needed to invest heavily in anti-air [[Apollo|Apollos]] to counter the AI’s strike fleets of [[Aircraft|aircraft]] that nearly cost me the game.&lt;br /&gt;
&lt;br /&gt;
Once the lines were broken I turned the biggest Ashes armada I had ever controlled against his Nexus. There were a lot of [[Dreadnoughts|dreadnoughts]] fighting their way up that hill, and the explosions, missile trails and laser blasts cut through and won me the game.&lt;br /&gt;
&lt;br /&gt;
Overall it is amazing how much game play can change with these changes. If I were to do it again I might keep the reduced cost overall, but maybe just 50% off rather than 90%. I liked the larger armies, but it was a crazy experience more like fighting a fire than playing chess.&lt;br /&gt;
&lt;br /&gt;
If you decide to modify the csv files with a text editor (Notepad++ is my text editor of choice) you can do everything I was doing in Excel, it just isn’t formatted into columns to be easy to read. Instead it is raw text like the following:&lt;br /&gt;
&lt;br /&gt;
[[File:ModGuide 13.png|thumb|right|200px|A .csv file in Notepad++]]&lt;br /&gt;
&lt;br /&gt;
Modifying the files this way works, you just need to count the amount of fields, remembering that commas separate the fields (CSV stands for Comma Separated Values) to get to the right values.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Scripting – Creating Scenarios ==&lt;br /&gt;
&lt;br /&gt;
[[Scripting|Scripting]] allows you a huge amount of control over what exactly happens on the map you are creating. You can [[Restrict|restrict]] what [[Buildings|buildings]] and [[Units|units]] the players can use, set up [[Triggers|Triggers]] to lock or unlock them, spawn units or buildings for the players or their enemies. You can send units to attack specific targets and send [[Dialog|dialog]] popups to the player. Everything you need to make your own custom [[Scenarios|Scenarios]].&lt;br /&gt;
&lt;br /&gt;
All of this is stored in XML, not code. So you don’t need any special programming tools or experience to use it. The best advice for seeing what is possible is to look through the \Assets\Campaign\ and \Scenario\ directories and see what the xml files are doing. Some examples are also included below.&lt;br /&gt;
&lt;br /&gt;
There are three main elements in Ashes scripting: [[Missions_(scripting)|missions]], [[Player_(scripting)|players]] and [[Triggers|triggers]]. Missions are the definition or the scenario. Players defines the players that are going to be used in the scenario. Triggers are where all the magic happens. Triggers have a lot of elements and options.&lt;br /&gt;
&lt;br /&gt;
Note that all triggers and arguments are case-sensitive.&lt;br /&gt;
&lt;br /&gt;
=== Mission Definition ===&lt;br /&gt;
&lt;br /&gt;
First, you set up all the menu-related items (what icons/art to use in the Ascendancy Wars screen, etc) and global settings like enabling/disabling creeps and hiding terrain, using a [[Missions_(scripting)|&amp;lt;Mission&amp;gt; tag]].&lt;br /&gt;
&lt;br /&gt;
=== Player Definition ===&lt;br /&gt;
&lt;br /&gt;
To do much of anything, you&#039;ll need to define [[Player_(scripting)|players]] next. This is done with individual &amp;lt;Player&amp;gt; tags that enable or disable their AI, sets faction, team, and color, etc.&lt;br /&gt;
&lt;br /&gt;
You&#039;ll likely refer to these players later in the script by number, where 0 is the first player defined, 1 is the next, and so on.&lt;br /&gt;
&lt;br /&gt;
=== Triggers ===&lt;br /&gt;
&lt;br /&gt;
[[Triggers|Triggers]] are what control anything you want to happen while the scenario is being played, from spawning starting base to calling waves of attacking enemies or giving players objectives. There are several types of triggers which activate off of different events.&lt;br /&gt;
&lt;br /&gt;
=== Trigger Types ===&lt;br /&gt;
&lt;br /&gt;
These are the types of triggers you can use in a script, and any specific arguments they support.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;[[Area_Trigger|Area]]&#039;&#039;&#039; - Fires when the human player moves a unit into the area. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;[[Build_Trigger|Build]]&#039;&#039;&#039; - Fires when a human player builds structures or units. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;[[Destruction_Trigger|Destruction]]&#039;&#039;&#039; - Fires when something specific dies. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;[[Difficulty_Trigger|Difficulty]]&#039;&#039;&#039; - Fires at the beginning of a scenario if the given difficulty was chosen &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;[[NamedCreate_Trigger|NamedCreate]]&#039;&#039;&#039; - Fires when a specific unit or building is spawned via a script. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;[[Research_Trigger|Research]]&#039;&#039;&#039; - Fires when a player researches a Quantum Upgrade &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;[[Timer_Trigger|Timer]]&#039;&#039;&#039; - Fires after a delay. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;[[Var_Trigger|Var]]&#039;&#039;&#039; - Fires if a variable meets given criteria &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;[[ZoneCapture_Trigger|ZoneCapture]]&#039;&#039;&#039; - Fires when a region is captured. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Commands ===&lt;br /&gt;
&lt;br /&gt;
These are the [[Script_Commands|commands]] you can put within a trigger to create gameplay effects.&lt;br /&gt;
&lt;br /&gt;
See the [[Script_Commands|main Commands entry]] for details.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;[[ActivateTrigger|ActivateTrigger]]&#039;&#039;&#039; - Activate another trigger (also can be used to activate the trigger it is called from, making a repeating trigger). &lt;br /&gt;
*&#039;&#039;&#039;[[AreaIndicator|AreaIndicator]]&#039;&#039;&#039; - This places a visible indicator on the map to help the player know where they should go to. &lt;br /&gt;
*&#039;&#039;&#039;[[AttackAttackMove|AttackAttackMove]]&#039;&#039;&#039; - Order an army to move to a specific area, engaging enemies along the way. &lt;br /&gt;
*&#039;&#039;&#039;[[AttackUnit|AttackUnit]]&#039;&#039;&#039; - Order an army to attack a specific script-spawned unit &lt;br /&gt;
*&#039;&#039;&#039;[[Camera|Camera]]&#039;&#039;&#039; - Move the player&#039;s view to a specific area. &lt;br /&gt;
*&#039;&#039;&#039;[[CaptureNearestNext|CaptureNearestNext]]&#039;&#039;&#039; - Order an army to capture the nearest neutral or enemy-controlled region &lt;br /&gt;
*&#039;&#039;&#039;[[CaptureNearest|CaptureNearest]]&#039;&#039;&#039; - Order an army to clear its order queue and capture the nearest neutral or enemy-controlled region (note: ordered unit will stop moving if region is captured before it gets there) &lt;br /&gt;
*&#039;&#039;&#039;[[ChangeAIDifficulty|ChangeAIDifficulty]]&#039;&#039;&#039; - Change an AI player&#039;s difficulty setting &lt;br /&gt;
*&#039;&#039;&#039;[[ChangeAIPersonality|ChangeAIPersonality]]&#039;&#039;&#039; - Change an AI player&#039;s personality &lt;br /&gt;
*&#039;&#039;&#039;[[DestroyBuilding|DestroyBuilding]]&#039;&#039;&#039; - Destroys a specific script-spawned building. &lt;br /&gt;
*&#039;&#039;&#039;[[DestroyUnit|DestroyUnit]]&#039;&#039;&#039; - Destroys a specific script-spawned unit. &lt;br /&gt;
*&#039;&#039;&#039;[[Dialog|Dialog]]&#039;&#039;&#039; - This creates a popup that can convey information or story to the player. Use with &amp;lt;Entry&amp;gt; tags. &lt;br /&gt;
*&#039;&#039;&#039;[[Entry|Entry]]&#039;&#039;&#039; - The actual text that will be displayed. Use only within &amp;lt;Dialog&amp;gt; tags. &lt;br /&gt;
*&#039;&#039;&#039;[[EndMission|EndMission]]&#039;&#039;&#039; - Use to force a win or loss of the scenario. &lt;br /&gt;
*&#039;&#039;&#039;[[GrantStuff|GrantStuff]]&#039;&#039;&#039; - Give a player free resources &lt;br /&gt;
*&#039;&#039;&#039;[[GrantTech|GrantTech]]&#039;&#039;&#039; - Give a player a free Quantum Upgrade &lt;br /&gt;
*&#039;&#039;&#039;[[HidePanel|HidePanel]]&#039;&#039;&#039; - Hide UI panels &lt;br /&gt;
*&#039;&#039;&#039;[[LetterBox|LetterBox]]&#039;&#039;&#039; - disable commands and go to a cinematic, letterbox view &lt;br /&gt;
*&#039;&#039;&#039;[[MoveUnit|MoveUnit]]&#039;&#039;&#039; - Move an army to a location without stopping to fight &lt;br /&gt;
*&#039;&#039;&#039;[[Objective|Objective]]&#039;&#039;&#039; - Use this to set objective notifications for the player (so they know what to do). &lt;br /&gt;
*&#039;&#039;&#039;[[Restrict|Restrict]]&#039;&#039;&#039; - To block the player from being able to access objects in the game. &lt;br /&gt;
*&#039;&#039;&#039;[[Reveal|Reveal]]&#039;&#039;&#039; - Reveal the fog of war over a location &lt;br /&gt;
*&#039;&#039;&#039;[[SpawnBuilding|SpawnBuilding]]&#039;&#039;&#039; - Places a building on the map. &lt;br /&gt;
*&#039;&#039;&#039;[[SpawnUnit|SpawnUnit]]&#039;&#039;&#039; - Places a unit on the map. &lt;br /&gt;
*&#039;&#039;&#039;[[Var_Command|Var]]&#039;&#039;&#039; - Set or modify a variable. Tip: Set any variable you want to use to 0 in the initial setup trigger to avoid unpredictable results. &#039;&#039;All values must be integers.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Position Coordinates ==&lt;br /&gt;
&lt;br /&gt;
The UI for Ashes is defined in XML, it is as moddable as the rest of the game. But we just want to make one small change, we want the game to show us the [[Coordinates|coordinates]]. Fortunately there is already a field for that in the UI, it’s just marked hidden. You will find the following toward the end of &#039;&#039;&#039;[[AshesGameView.xml|AshesGameView.xml]]&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
[[File:ModGuide 28.png|center|Changing the XML to show locations]]&lt;br /&gt;
&lt;br /&gt;
To have the coordinates be displayed in game, change this to Hidden=”0”. 0 typically means False and 1 means True so by setting it to 0 we are setting it to “Not Hidden”. You may also want to reduce the FontSize, 20 tends to be fairly large but that is up to you.&lt;br /&gt;
&lt;br /&gt;
This will help you get the exact coordinates when you are playing with your map to figure out where you want to place resources, starting locations for player, where you want events or trigger or where you want to spawn new units.&lt;br /&gt;
&lt;br /&gt;
== Trigger Examples ==&lt;br /&gt;
&lt;br /&gt;
A single trigger can do any combination of the above options. It can popup some text, spawn some units, set an objective give the player some resources and unlock some new building options. It is up to you how you want to combine and use them. Let’s take a look at some examples.&lt;br /&gt;
&lt;br /&gt;
=== Send an army to attack ===&lt;br /&gt;
&lt;br /&gt;
[[File:ModGuide 29.png|frame|center|An attack trigger]]&amp;lt;br/&amp;gt; The above trigger is inactive, meaning it needs another trigger to call it before it will activate. Once it does it will spawn 16 units into an army and send them to attack the defined map position. This is a relatively simple trigger, but a common one. With this alone you can create scenarios that spawn waves to attack the player, grant reinforcements to the player or create surprise ambushes.&lt;br /&gt;
&lt;br /&gt;
=== Reward the player for capturing an area ===&lt;br /&gt;
&lt;br /&gt;
[[File:ModGuide 30.png|frame|center|A region capture trigger]]&amp;lt;br/&amp;gt; The above trigger occurs when the player captures the region at the specified position. Notice that the trigger starts inactive, so it would need to be enabled by an earlier trigger before it could occur.&lt;br /&gt;
&lt;br /&gt;
This trigger does the following:&lt;br /&gt;
&lt;br /&gt;
*Checks the Cap_C_Obj objective in the player’s objective list. &lt;br /&gt;
*It disables the Cap_B_Ind Area Indicator by setting it’s duration to 0. &lt;br /&gt;
*It pops up some dialog for the player. &lt;br /&gt;
*It enables the player’s ability to build Metal Extractors. &lt;br /&gt;
*It spawns a free Engineer for the player. &lt;br /&gt;
*It moves the camera to look at the captured region. &lt;br /&gt;
*It adds a new objective for the player (Mex_Built_Obj). &lt;br /&gt;
*It gives the player 500 Metal. &lt;br /&gt;
*It makes the Cap_C_Trigger trigger active. &lt;br /&gt;
&lt;br /&gt;
This is a great example of the kind of combinations that can be done with the trigger system. This is a reward to the player for capturing the region. But it could as easily have triggered an escalation for the enemy forces.&lt;/div&gt;</summary>
		<author><name>Patiobattle04</name></author>
	</entry>
	<entry>
		<id>https://wiki.ashesofthesingularity.com/index.php?title=Modders_Guide&amp;diff=8361</id>
		<title>Modders Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.ashesofthesingularity.com/index.php?title=Modders_Guide&amp;diff=8361"/>
		<updated>2017-01-18T00:01:26Z</updated>

		<summary type="html">&lt;p&gt;Patiobattle04: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Ashes of the Singularity gives you access to a powerful strategy game engine to create your own scenarios, objects and worlds. The designers have had a lot of fun creating scenarios for the game, and you will have access to the same features they had to create your own.&lt;br /&gt;
&lt;br /&gt;
There is a lot to do in Ashes. But it was also built from the ground up to be mod friendly. Modders have access to the gameplay elements to change and tweak as they desire. This document will introduce some of what is possible, and we will make a map and a mod to take advantage of this.&lt;br /&gt;
&lt;br /&gt;
This is not always going to be a managed and curated editor with limited options. You can mod the game the same way the developers make changes to the game. Editors are nice because they typically keep you from doing “bad” things. But they also keep you from doing incredibly good things. An editor only allows you to do the things the developer set up for you to change. With direct access to the files you can do things the developer never expected. Sometimes that turns out horribly (okay, a lot of the time that turns out horribly), but sometimes it turns out brilliantly. We believe power trumps ease of use.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== The Map Editor ==&lt;br /&gt;
&lt;br /&gt;
(see [[Map_Editor|the full Map Editor article]] for more)&lt;br /&gt;
&lt;br /&gt;
[[File:ModGuide 1.png|thumb|right|200px|Creating a new map]]To enable the [[Map_Editor|Map Editor]] add the “-modding” (without the quotes) to the Launch Options for the game (in Steam, right-click the game, go to Properties, click Set Launch Options in the General tab). That will add a Map Editor button to the main menu of the game. From there you can decide if you want to modify an existing map, or create a new one. If you create a new one the menu to the right is presented.&lt;br /&gt;
&lt;br /&gt;
For your first map I’d select a smaller map size. You probably assume that you will run out of space quickly on small maps, you would be wrong. Ashes small maps are what other games would call huge. The large ones are ridiculous and will take a lot of time to design. Practice on some small ones first.&lt;br /&gt;
&lt;br /&gt;
[[File:ModGuide 2.png|thumb|right|200px|A new, blank map]]&lt;br /&gt;
&lt;br /&gt;
== Moddable Game Files ==&lt;br /&gt;
&lt;br /&gt;
Most of the data that drives Ashes is stored in CSV and XML files, and there are a lot of them.&lt;br /&gt;
&lt;br /&gt;
[[File:ModGuide 7.png|thumb|right|200px|Many, many CSV files]]&lt;br /&gt;
&lt;br /&gt;
You can find these in the in the place the game is installed under the &#039;&#039;&#039;..\Ashes of the Singularity\Assets\&#039;&#039;&#039; directories. Modifying files in a game&#039;s directory isn’t for the faint of heart, so you will want to remember a few things:&lt;br /&gt;
&lt;br /&gt;
#If you modify any of these files you can always get back to the original by verifying your game cache in Steam (which will revert all your files to the original game files). &lt;br /&gt;
#Conversely, if you verify your cache in Steam you will lose any local changes you have made. &lt;br /&gt;
#Game updates may overwrite any changes you have made locally, so make a backup of your changes. &lt;br /&gt;
#We plan to add a modding directory that will overwrite the game files, so you don’t have to modify the game files directly. But at the time that this guide is being written that functionality doesn’t exist. It won’t change what you can do, but it will make the process easier and cleaner. &lt;br /&gt;
#You cannot play multiplayer with modded games (that wouldn’t be fair or fun for the other player). So if you want to play multiplayer you will need to revert your changes. If you have forgotten about some of the changes you can use re-verify your files to get them back to default. (&#039;&#039;&#039;Note: &#039;&#039;&#039;Adding new maps and scenarios via mod shouldn&#039;t lock you out of multiplayer, as those don&#039;t affect the existing game experience.)&lt;br /&gt;
#You can modify the assets in Ashes but in general you cannot add new ones. This is because the UI wouldn’t show them in the build menus. So if you had a new unit you wanted to build at a factory it wouldn’t be displayed in the units the factory could produce. You could make a new unit to have the player start with, to reward the player with after he completes a trigger (more about those later), etc. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Ashes can’t use a file if it is locked. If you have a file open with Excel and try to start Ashes, the game will likely crash. Close the file before starting Ashes.&lt;br /&gt;
&lt;br /&gt;
=== Notable Files for Modding ===&lt;br /&gt;
&lt;br /&gt;
The following files are simple to mod and can effect major changes to gameplay.&lt;br /&gt;
&lt;br /&gt;
All files are found in the Ashes \Assets\ directory.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;\GameCore\[[BuildingTemplates.csv|BuildingTemplates.csv]]&#039;&#039;&#039; - Controls build time, cost, armor, HP, and more for all buildings. &lt;br /&gt;
*&#039;&#039;&#039;\GameCore\[[UnitTemplates.csv|UnitTemplates.csv]]&#039;&#039;&#039; - Controls build time, cost, armor, HP, and more for all units. &lt;br /&gt;
*&#039;&#039;&#039;\GameCore\ModuleTemplates\[[WeaponModuleTemplates.csv|WeaponModuleTemplates.csv]]&#039;&#039;&#039; - Controls rate of fire, range, targeting priority, damage, and everything else for all weapons. &lt;br /&gt;
&lt;br /&gt;
=== File Mod Example ===&lt;br /&gt;
&lt;br /&gt;
There are a lot of files, with a lot of fields that can be tweaked and changed. For this demo we are going to mess with my favorite file, &#039;&#039;&#039;[[UnitTemplates.csv|UnitTemplates.csv]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:ModGuide 8.png|thumb|right|200px|UnitTemplates.csv]]&lt;br /&gt;
&lt;br /&gt;
In this screenshot I’ve opened [[UnitTemplates.csv|UnitTemplates.csv]] with Excel, because it makes it easier for me to work with, but Excel isn’t required. Notepad could be used to modify the file. If you use Excel remember to save it as a csv file.&lt;br /&gt;
&lt;br /&gt;
There are a lot of fields that can be modified. In this screenshot we can see:&lt;br /&gt;
&lt;br /&gt;
*Max HPs &lt;br /&gt;
*Max Energy &lt;br /&gt;
*Energy Per Second &lt;br /&gt;
*Armor &lt;br /&gt;
*Heal Rate &lt;br /&gt;
*Max Shields &lt;br /&gt;
*Shield Regen Rate &lt;br /&gt;
*Radar Radius &lt;br /&gt;
*Cost Metal &lt;br /&gt;
*Cost Data &lt;br /&gt;
*Cost Energy &lt;br /&gt;
*Cost Logistics &lt;br /&gt;
*Construction Time &lt;br /&gt;
&lt;br /&gt;
Some of these fields aren’t named the same as they are in game. Names change during the course of development, and we didn’t want to go back and change all these definitions to match each time they do. Because of that you may have to experiment a bit to see how things match. For example, PHC_T1_Light is the Brute, and Cost Data is actually the Radioactive cost of the unit. You can check out the translation tables in ..\Ashes of the Singularity\Assets\UIText\ directory to see how raw assets relate to in game assets.&lt;br /&gt;
&lt;br /&gt;
Using this file alone, and just the things in this screenshot (there are many more fields in UnitTemplates.csv) we can dramatically alter the balance and design of the game. Let’s use the above to create a new game variant I call the &#039;&#039;&#039;Swarm Mod&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
I love the scale of Ashes, I love large battles. So this mod is going to make even larger battles possible and we are going to get into them fast. To do that I’m going to make the following changes:&lt;br /&gt;
&lt;br /&gt;
[[File:ModGuide 9.png|thumb|right|200px|UnitTemplates.csv, modded]]&lt;br /&gt;
&lt;br /&gt;
I’ve reduce the [[Metal|Metal]], [[Radioactives|Radioactives]], [[Logistics|Logistics]] and [[Construction_time|Construction time]] costs by 90%. I’ve reduce the Logistics costs of T1 units to 0 (so you can have as many as you want). With these changes factories should produce 10 units in the time it took to produce 1 before. As long as you can keep feeding the (dramatically reduced) resource costs, units should come out of factories in an endless stream, like a tower defense game on steroids.&lt;br /&gt;
&lt;br /&gt;
There are a lot of ways to tweak this concept. I could have kept the Metal and Radioactive costs the same and then the player would be strongly incented to claim and upgrade regions to keep his factories fed. I could have just halved the costs rather than dropping them by 90%. I could have increased the resource gathering rates of upgraded metal and radioactive mines rather than lowering costs to incent players to invest in their regions.&lt;br /&gt;
&lt;br /&gt;
But for this we are going crazy. Everything gets very cheap. Massive armies can be built from the start of the game. Those poor creeps won’t know what hit them. And be prepared to be sieged by thousands of units.&lt;br /&gt;
&lt;br /&gt;
[[File:ModGuide 10.png|thumb|right|200px|Swarms of frigates!]]&lt;br /&gt;
&lt;br /&gt;
This is 5 minutes into the game. I only have 2 factories putting out an endless stream of Brutes. I make an army out of them and in the time it takes to do that there are a bunch more waiting to be added. So I find that it works just as well to set the rally point of the factory to where I want to attack, so that my river of death flows out to destroy it.&lt;br /&gt;
&lt;br /&gt;
[[File:ModGuide 11.png|thumb|right|200px|Pew! Pew pew!]]&lt;br /&gt;
&lt;br /&gt;
The AI has adapted to the new lower costs and is meeting my endless streams with its own. Unlike me it has opted to go with some cheaply produced dreadnoughts. The game lasts for 45 minutes, and there is a battle waging between my endless armies and his at this chokepoint for nearly all of it. It isn’t until I win more minor battles on some of outskirt regions (to take the resources which even at 90% off still become critical) and I send a strike force around to take out his factories that I cause his production chain to falter and begin to break through.&lt;br /&gt;
&lt;br /&gt;
[[File:ModGuide 12.png|thumb|right|200px|Pewpewpew!]]&lt;br /&gt;
&lt;br /&gt;
I had to adjust away from my typical [[Artemis|Artemis]] (long range missile ships) to Nemesis (which are really good against enemy dreadnoughts) to be able to begin killing them faster than he could produce them. I also needed to invest heavily in anti-air [[Apollo|Apollos]] to counter the AI’s strike fleets of [[Aircraft|aircraft]] that nearly cost me the game.&lt;br /&gt;
&lt;br /&gt;
Once the lines were broken I turned the biggest Ashes armada I had ever controlled against his Nexus. There were a lot of [[Dreadnoughts|dreadnoughts]] fighting their way up that hill, and the explosions, missile trails and laser blasts cut through and won me the game.&lt;br /&gt;
&lt;br /&gt;
Overall it is amazing how much game play can change with these changes. If I were to do it again I might keep the reduced cost overall, but maybe just 50% off rather than 90%. I liked the larger armies, but it was a crazy experience more like fighting a fire than playing chess.&lt;br /&gt;
&lt;br /&gt;
If you decide to modify the csv files with a text editor (Notepad++ is my text editor of choice) you can do everything I was doing in Excel, it just isn’t formatted into columns to be easy to read. Instead it is raw text like the following:&lt;br /&gt;
&lt;br /&gt;
[[File:ModGuide 13.png|thumb|right|200px|A .csv file in Notepad++]]&lt;br /&gt;
&lt;br /&gt;
Modifying the files this way works, you just need to count the amount of fields, remembering that commas separate the fields (CSV stands for Comma Separated Values) to get to the right values.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
== Scripting – Creating Scenarios ==&lt;br /&gt;
&lt;br /&gt;
[[Scripting|Scripting]] allows you a huge amount of control over what exactly happens on the map you are creating. You can [[Restrict|restrict]] what [[Buildings|buildings]] and [[Units|units]] the players can use, set up [[Triggers|Triggers]] to lock or unlock them, spawn units or buildings for the players or their enemies. You can send units to attack specific targets and send [[Dialog|dialog]] popups to the player. Everything you need to make your own custom [[Scenarios|Scenarios]].&lt;br /&gt;
&lt;br /&gt;
All of this is stored in XML, not code. So you don’t need any special programming tools or experience to use it. The best advice for seeing what is possible is to look through the \Assets\Campaign\ and \Scenario\ directories and see what the xml files are doing. Some examples are also included below.&lt;br /&gt;
&lt;br /&gt;
There are three main elements in Ashes scripting: [[Missions_(scripting)|missions]], [[Player_(scripting)|players]] and [[Triggers|triggers]]. Missions are the definition or the scenario. Players defines the players that are going to be used in the scenario. Triggers are where all the magic happens. Triggers have a lot of elements and options.&lt;br /&gt;
&lt;br /&gt;
Note that all triggers and arguments are case-sensitive.&lt;br /&gt;
&lt;br /&gt;
=== Mission Definition ===&lt;br /&gt;
&lt;br /&gt;
First, you set up all the menu-related items (what icons/art to use in the Ascendancy Wars screen, etc) and global settings like enabling/disabling creeps and hiding terrain, using a [[Missions_(scripting)|&amp;lt;Mission&amp;gt; tag]].&lt;br /&gt;
&lt;br /&gt;
=== Player Definition ===&lt;br /&gt;
&lt;br /&gt;
To do much of anything, you&#039;ll need to define [[Player_(scripting)|players]] next. This is done with individual &amp;lt;Player&amp;gt; tags that enable or disable their AI, sets faction, team, and color, etc.&lt;br /&gt;
&lt;br /&gt;
You&#039;ll likely refer to these players later in the script by number, where 0 is the first player defined, 1 is the next, and so on.&lt;br /&gt;
&lt;br /&gt;
=== Triggers ===&lt;br /&gt;
&lt;br /&gt;
[[Triggers|Triggers]] are what control anything you want to happen while the scenario is being played, from spawning starting base to calling waves of attacking enemies or giving players objectives. There are several types of triggers which activate off of different events.&lt;br /&gt;
&lt;br /&gt;
=== Trigger Types ===&lt;br /&gt;
&lt;br /&gt;
These are the types of triggers you can use in a script, and any specific arguments they support.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;[[Area_Trigger|Area]]&#039;&#039;&#039; - Fires when the human player moves a unit into the area. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;[[Build_Trigger|Build]]&#039;&#039;&#039; - Fires when a human player builds structures or units. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;[[Destruction_Trigger|Destruction]]&#039;&#039;&#039; - Fires when something specific dies. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;[[Difficulty_Trigger|Difficulty]]&#039;&#039;&#039; - Fires at the beginning of a scenario if the given difficulty was chosen &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;[[NamedCreate_Trigger|NamedCreate]]&#039;&#039;&#039; - Fires when a specific unit or building is spawned via a script. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;[[Research_Trigger|Research]]&#039;&#039;&#039; - Fires when a player researches a Quantum Upgrade &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;[[Timer_Trigger|Timer]]&#039;&#039;&#039; - Fires after a delay. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;[[Var_Trigger|Var]]&#039;&#039;&#039; - Fires if a variable meets given criteria &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;[[ZoneCapture_Trigger|ZoneCapture]]&#039;&#039;&#039; - Fires when a region is captured. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Commands ===&lt;br /&gt;
&lt;br /&gt;
These are the [[Script_Commands|commands]] you can put within a trigger to create gameplay effects.&lt;br /&gt;
&lt;br /&gt;
See the [[Script_Commands|main Commands entry]] for details.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;[[ActivateTrigger|ActivateTrigger]]&#039;&#039;&#039; - Activate another trigger (also can be used to activate the trigger it is called from, making a repeating trigger). &lt;br /&gt;
*&#039;&#039;&#039;[[AreaIndicator|AreaIndicator]]&#039;&#039;&#039; - This places a visible indicator on the map to help the player know where they should go to. &lt;br /&gt;
*&#039;&#039;&#039;[[AttackAttackMove|AttackAttackMove]]&#039;&#039;&#039; - Order an army to move to a specific area, engaging enemies along the way. &lt;br /&gt;
*&#039;&#039;&#039;[[AttackUnit|AttackUnit]]&#039;&#039;&#039; - Order an army to attack a specific script-spawned unit &lt;br /&gt;
*&#039;&#039;&#039;[[Camera|Camera]]&#039;&#039;&#039; - Move the player&#039;s view to a specific area. &lt;br /&gt;
*&#039;&#039;&#039;[[CaptureNearestNext|CaptureNearestNext]]&#039;&#039;&#039; - Order an army to capture the nearest neutral or enemy-controlled region &lt;br /&gt;
*&#039;&#039;&#039;[[CaptureNearest|CaptureNearest]]&#039;&#039;&#039; - Order an army to clear its order queue and capture the nearest neutral or enemy-controlled region (note: ordered unit will stop moving if region is captured before it gets there) &lt;br /&gt;
*&#039;&#039;&#039;[[ChangeAIDifficulty|ChangeAIDifficulty]]&#039;&#039;&#039; - Change an AI player&#039;s difficulty setting &lt;br /&gt;
*&#039;&#039;&#039;[[ChangeAIPersonality|ChangeAIPersonality]]&#039;&#039;&#039; - Change an AI player&#039;s personality &lt;br /&gt;
*&#039;&#039;&#039;[[DestroyBuilding|DestroyBuilding]]&#039;&#039;&#039; - Destroys a specific script-spawned building. &lt;br /&gt;
*&#039;&#039;&#039;[[DestroyUnit|DestroyUnit]]&#039;&#039;&#039; - Destroys a specific script-spawned unit. &lt;br /&gt;
*&#039;&#039;&#039;[[Dialog|Dialog]]&#039;&#039;&#039; - This creates a popup that can convey information or story to the player. Use with &amp;lt;Entry&amp;gt; tags. &lt;br /&gt;
*&#039;&#039;&#039;[[Entry|Entry]]&#039;&#039;&#039; - The actual text that will be displayed. Use only within &amp;lt;Dialog&amp;gt; tags. &lt;br /&gt;
*&#039;&#039;&#039;[[EndMission|EndMission]]&#039;&#039;&#039; - Use to force a win or loss of the scenario. &lt;br /&gt;
*&#039;&#039;&#039;[[GrantStuff|GrantStuff]]&#039;&#039;&#039; - Give a player free resources &lt;br /&gt;
*&#039;&#039;&#039;[[GrantTech|GrantTech]]&#039;&#039;&#039; - Give a player a free Quantum Upgrade &lt;br /&gt;
*&#039;&#039;&#039;[[HidePanel|HidePanel]]&#039;&#039;&#039; - Hide UI panels &lt;br /&gt;
*&#039;&#039;&#039;[[LetterBox|LetterBox]]&#039;&#039;&#039; - disable commands and go to a cinematic, letterbox view &lt;br /&gt;
*&#039;&#039;&#039;[[MoveUnit|MoveUnit]]&#039;&#039;&#039; - Move an army to a location without stopping to fight &lt;br /&gt;
*&#039;&#039;&#039;[[Objective|Objective]]&#039;&#039;&#039; - Use this to set objective notifications for the player (so they know what to do). &lt;br /&gt;
*&#039;&#039;&#039;[[Restrict|Restrict]]&#039;&#039;&#039; - To block the player from being able to access objects in the game. &lt;br /&gt;
*&#039;&#039;&#039;[[Reveal|Reveal]]&#039;&#039;&#039; - Reveal the fog of war over a location &lt;br /&gt;
*&#039;&#039;&#039;[[SpawnBuilding|SpawnBuilding]]&#039;&#039;&#039; - Places a building on the map. &lt;br /&gt;
*&#039;&#039;&#039;[[SpawnUnit|SpawnUnit]]&#039;&#039;&#039; - Places a unit on the map. &lt;br /&gt;
*&#039;&#039;&#039;[[Var|Var]]&#039;&#039;&#039; - Set or modify a variable. Tip: Set any variable you want to use to 0 in the initial setup trigger to avoid unpredictable results. &#039;&#039;All values must be integers.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Position Coordinates ==&lt;br /&gt;
&lt;br /&gt;
The UI for Ashes is defined in XML, it is as moddable as the rest of the game. But we just want to make one small change, we want the game to show us the [[Coordinates|coordinates]]. Fortunately there is already a field for that in the UI, it’s just marked hidden. You will find the following toward the end of &#039;&#039;&#039;[[AshesGameView.xml|AshesGameView.xml]]&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
[[File:ModGuide 28.png|center|Changing the XML to show locations]]&lt;br /&gt;
&lt;br /&gt;
To have the coordinates be displayed in game, change this to Hidden=”0”. 0 typically means False and 1 means True so by setting it to 0 we are setting it to “Not Hidden”. You may also want to reduce the FontSize, 20 tends to be fairly large but that is up to you.&lt;br /&gt;
&lt;br /&gt;
This will help you get the exact coordinates when you are playing with your map to figure out where you want to place resources, starting locations for player, where you want events or trigger or where you want to spawn new units.&lt;br /&gt;
&lt;br /&gt;
== Trigger Examples ==&lt;br /&gt;
&lt;br /&gt;
A single trigger can do any combination of the above options. It can popup some text, spawn some units, set an objective give the player some resources and unlock some new building options. It is up to you how you want to combine and use them. Let’s take a look at some examples.&lt;br /&gt;
&lt;br /&gt;
=== Send an army to attack ===&lt;br /&gt;
&lt;br /&gt;
[[File:ModGuide 29.png|frame|center|An attack trigger]]&amp;lt;br/&amp;gt; The above trigger is inactive, meaning it needs another trigger to call it before it will activate. Once it does it will spawn 16 units into an army and send them to attack the defined map position. This is a relatively simple trigger, but a common one. With this alone you can create scenarios that spawn waves to attack the player, grant reinforcements to the player or create surprise ambushes.&lt;br /&gt;
&lt;br /&gt;
=== Reward the player for capturing an area ===&lt;br /&gt;
&lt;br /&gt;
[[File:ModGuide 30.png|frame|center|A region capture trigger]]&amp;lt;br/&amp;gt; The above trigger occurs when the player captures the region at the specified position. Notice that the trigger starts inactive, so it would need to be enabled by an earlier trigger before it could occur.&lt;br /&gt;
&lt;br /&gt;
This trigger does the following:&lt;br /&gt;
&lt;br /&gt;
*Checks the Cap_C_Obj objective in the player’s objective list. &lt;br /&gt;
*It disables the Cap_B_Ind Area Indicator by setting it’s duration to 0. &lt;br /&gt;
*It pops up some dialog for the player. &lt;br /&gt;
*It enables the player’s ability to build Metal Extractors. &lt;br /&gt;
*It spawns a free Engineer for the player. &lt;br /&gt;
*It moves the camera to look at the captured region. &lt;br /&gt;
*It adds a new objective for the player (Mex_Built_Obj). &lt;br /&gt;
*It gives the player 500 Metal. &lt;br /&gt;
*It makes the Cap_C_Trigger trigger active. &lt;br /&gt;
&lt;br /&gt;
This is a great example of the kind of combinations that can be done with the trigger system. This is a reward to the player for capturing the region. But it could as easily have triggered an escalation for the enemy forces.&lt;/div&gt;</summary>
		<author><name>Patiobattle04</name></author>
	</entry>
	<entry>
		<id>https://wiki.ashesofthesingularity.com/index.php?title=Modding&amp;diff=8351</id>
		<title>Modding</title>
		<link rel="alternate" type="text/html" href="https://wiki.ashesofthesingularity.com/index.php?title=Modding&amp;diff=8351"/>
		<updated>2017-01-17T23:59:23Z</updated>

		<summary type="html">&lt;p&gt;Patiobattle04: Redirected page to Modders Guide&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Modders_Guide]]&lt;/div&gt;</summary>
		<author><name>Patiobattle04</name></author>
	</entry>
	<entry>
		<id>https://wiki.ashesofthesingularity.com/index.php?title=Var_Trigger&amp;diff=8341</id>
		<title>Var Trigger</title>
		<link rel="alternate" type="text/html" href="https://wiki.ashesofthesingularity.com/index.php?title=Var_Trigger&amp;diff=8341"/>
		<updated>2017-01-17T23:58:33Z</updated>

		<summary type="html">&lt;p&gt;Patiobattle04: Created page with &amp;quot;A &amp;#039;&amp;#039;&amp;#039;Var trigger&amp;#039;&amp;#039;&amp;#039; fires if a variable meets given criteria.  ==Arguments== *&amp;#039;&amp;#039;&amp;#039;Var&amp;#039;&amp;#039;&amp;#039; - The name of the variable to check  *&amp;#039;&amp;#039;&amp;#039;Operator&amp;#039;&amp;#039;&amp;#039; - What logical operator to use whe...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A &#039;&#039;&#039;Var trigger&#039;&#039;&#039; fires if a variable meets given criteria.&lt;br /&gt;
&lt;br /&gt;
==Arguments==&lt;br /&gt;
*&#039;&#039;&#039;Var&#039;&#039;&#039; - The name of the variable to check &lt;br /&gt;
*&#039;&#039;&#039;Operator&#039;&#039;&#039; - What logical operator to use when evaluating the variable (equal to, less than, etc) &#039;&#039;&#039;[ == | &amp;gt;= | &amp;lt;= | &amp;gt; | &amp;lt; |&amp;amp;nbsp;!= ]&#039;&#039;&#039; &lt;br /&gt;
*&#039;&#039;&#039;Value&#039;&#039;&#039; - The (integer) value to compare the variable against &lt;br /&gt;
==Common Usage==&lt;br /&gt;
*Tracking how many enemies have been destroyed for victory purposes&lt;br /&gt;
*Having something fire once when one of several things happens&lt;br /&gt;
==Examples==&lt;br /&gt;
 &amp;lt;Trigger Name=&amp;quot;tWeasleyDead&amp;quot; Type=&amp;quot;Var&amp;quot; Var=&amp;quot;vWeasleyDead&amp;quot; Operator=&amp;quot;==&amp;quot; Value=&amp;quot;1&amp;quot; &amp;gt;&lt;br /&gt;
This fires when the &amp;quot;vWeasleyDead&amp;quot; variable is equal to 1&lt;/div&gt;</summary>
		<author><name>Patiobattle04</name></author>
	</entry>
	<entry>
		<id>https://wiki.ashesofthesingularity.com/index.php?title=Var&amp;diff=8331</id>
		<title>Var</title>
		<link rel="alternate" type="text/html" href="https://wiki.ashesofthesingularity.com/index.php?title=Var&amp;diff=8331"/>
		<updated>2017-01-17T23:55:03Z</updated>

		<summary type="html">&lt;p&gt;Patiobattle04: Redirected page to Var Trigger&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Var_Trigger]]&lt;/div&gt;</summary>
		<author><name>Patiobattle04</name></author>
	</entry>
	<entry>
		<id>https://wiki.ashesofthesingularity.com/index.php?title=Timer_Trigger&amp;diff=8321</id>
		<title>Timer Trigger</title>
		<link rel="alternate" type="text/html" href="https://wiki.ashesofthesingularity.com/index.php?title=Timer_Trigger&amp;diff=8321"/>
		<updated>2017-01-17T23:54:10Z</updated>

		<summary type="html">&lt;p&gt;Patiobattle04: Created page with &amp;quot;&amp;#039;&amp;#039;&amp;#039;Timer triggers&amp;#039;&amp;#039;&amp;#039; fire after a delay.  Timer triggers are by far the most common triggers in most Ashes scenarios. ==Arguments== *&amp;#039;&amp;#039;&amp;#039;Time -&amp;#039;&amp;#039;&amp;#039; Time in seconds after this ge...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Timer triggers&#039;&#039;&#039; fire after a delay.&lt;br /&gt;
&lt;br /&gt;
Timer triggers are by far the most common triggers in most Ashes scenarios.&lt;br /&gt;
==Arguments==&lt;br /&gt;
*&#039;&#039;&#039;Time -&#039;&#039;&#039; Time in seconds after this gets triggered that it takes place. &lt;br /&gt;
==Common Usage==&lt;br /&gt;
*Initial setup (leave active, set timer to 0)&lt;br /&gt;
*Recurring attack waves (use ActivateTrigger to reactivate itself)&lt;br /&gt;
*Delayed effects (waiting a few seconds to do something after a Nexus is destroyed, to let the VO play and the explosion be admired)&lt;br /&gt;
*Delayed objectives (give the player an objective after a few minutes so they&#039;re not so overwhelmed at mission start)&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;Trigger Name=&amp;quot;tEasyDefenses&amp;quot; Type=&amp;quot;Timer&amp;quot; Timer=&amp;quot;0&amp;quot; Inactive=&amp;quot;1&amp;quot; &amp;gt;&lt;br /&gt;
    &amp;lt;SpawnBuilding Name=&amp;quot;temp&amp;quot; Template=&amp;quot;PHC_DroneBay&amp;quot; Player=&amp;quot;1&amp;quot; Position=&amp;quot;3328,-2176&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnBuilding Name=&amp;quot;temp&amp;quot; Template=&amp;quot;PHC_Sensor&amp;quot; Player=&amp;quot;1&amp;quot; Position=&amp;quot;3520,-2240&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnBuilding Name=&amp;quot;temp&amp;quot; Template=&amp;quot;PHC_DroneBay&amp;quot; Player=&amp;quot;1&amp;quot; Position=&amp;quot;-2688,-2176&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnBuilding Name=&amp;quot;temp&amp;quot; Template=&amp;quot;PHC_Sensor&amp;quot; Player=&amp;quot;1&amp;quot; Position=&amp;quot;-2880,-2240&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnBuilding Name=&amp;quot;temp&amp;quot; Template=&amp;quot;PHC_DroneBay&amp;quot; Player=&amp;quot;1&amp;quot; Position=&amp;quot;-3200,-6700&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnBuilding Name=&amp;quot;temp&amp;quot; Template=&amp;quot;PHC_Sensor&amp;quot; Player=&amp;quot;1&amp;quot; Position=&amp;quot;-2880,-6592&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnBuilding Name=&amp;quot;temp&amp;quot; Template=&amp;quot;PHC_DroneBay&amp;quot; Player=&amp;quot;1&amp;quot; Position=&amp;quot;3840,-7168&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnBuilding Name=&amp;quot;temp&amp;quot; Template=&amp;quot;PHC_Sensor&amp;quot; Player=&amp;quot;1&amp;quot; Position=&amp;quot;3904,-7360&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnBuilding Name=&amp;quot;temp&amp;quot; Template=&amp;quot;PHC_DroneBay&amp;quot; Player=&amp;quot;1&amp;quot; Position=&amp;quot;-4708,-10340&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;SpawnBuilding Name=&amp;quot;temp&amp;quot; Template=&amp;quot;PHC_Sensor&amp;quot; Player=&amp;quot;1&amp;quot; Position=&amp;quot;-4416,-10048&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/Trigger&amp;gt;&lt;br /&gt;
This is activated from a [[Difficulty_Trigger|Difficulty trigger]] and spawns additional defenses for the player.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;Trigger Name=&amp;quot;tIntro_1&amp;quot; Type=&amp;quot;Timer&amp;quot; Timer=&amp;quot;0&amp;quot; Inactive=&amp;quot;1&amp;quot; &amp;gt;&lt;br /&gt;
    &amp;lt;LetterBox Enable=&amp;quot;0&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;Dialog&amp;gt;&lt;br /&gt;
      &amp;lt;Entry Icon=&amp;quot;Samuel&amp;quot; Text=&amp;quot;InceptionPHC_Intro_1&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Entry Icon=&amp;quot;Samuel&amp;quot; Text=&amp;quot;InceptionPHC_Intro_2&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;Entry Icon=&amp;quot;Samuel&amp;quot; Text=&amp;quot;InceptionPHC_Intro_3&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/Dialog&amp;gt;&lt;br /&gt;
    &amp;lt;Objective Name=&amp;quot;oSurvive_Obj&amp;quot; String=&amp;quot;InceptionPHC_Survive_Obj&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;Objective Name=&amp;quot;oDestroyPHC_Obj&amp;quot; String=&amp;quot;InceptionPHC_DestroyPHC_Obj&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;Objective Name=&amp;quot;oContainNihilon_Obj&amp;quot; String=&amp;quot;InceptionPHC_ContainNihilon_Obj&amp;quot; /&amp;gt;    &lt;br /&gt;
    &amp;lt;AreaIndicator Name=&amp;quot;iDestroyWeasley&amp;quot; Position=&amp;quot;8512,-8256&amp;quot; Color=&amp;quot;Red&amp;quot; Size=&amp;quot;300&amp;quot; Duration=&amp;quot;-1&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;AreaIndicator Name=&amp;quot;iDestroyGamgee&amp;quot;  Position=&amp;quot;-8512,-5440&amp;quot; Color=&amp;quot;Red&amp;quot; Size=&amp;quot;300&amp;quot; Duration=&amp;quot;-1&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;ActivateTrigger Target=&amp;quot;tCaptureWest_Breadcrumb_Timer&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/Trigger&amp;gt;&lt;br /&gt;
This plays some opening dialog, sets up objectives, and starts the timer for a hint trigger that will fire in a few minutes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;Trigger Name=&amp;quot;tActualLoss&amp;quot; Type=&amp;quot;Timer&amp;quot; Timer=&amp;quot;1&amp;quot; Inactive=&amp;quot;1&amp;quot; &amp;gt;&lt;br /&gt;
    &amp;lt;EndMission Victory=&amp;quot;0&amp;quot; String=&amp;quot;Altaria_LossString&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/Trigger&amp;gt;&lt;br /&gt;
This ends the mission with a loss after being called by a [[ZoneCapture]] trigger.&lt;/div&gt;</summary>
		<author><name>Patiobattle04</name></author>
	</entry>
	<entry>
		<id>https://wiki.ashesofthesingularity.com/index.php?title=Research_Trigger&amp;diff=8311</id>
		<title>Research Trigger</title>
		<link rel="alternate" type="text/html" href="https://wiki.ashesofthesingularity.com/index.php?title=Research_Trigger&amp;diff=8311"/>
		<updated>2017-01-17T23:47:32Z</updated>

		<summary type="html">&lt;p&gt;Patiobattle04: Created page with &amp;quot;&amp;#039;&amp;#039;&amp;#039;Research triggers&amp;#039;&amp;#039;&amp;#039; fire when a player researches a Quantum Upgrade. ==Arguments== *&amp;#039;&amp;#039;&amp;#039;Player&amp;#039;&amp;#039;&amp;#039; - The player doing the research  *&amp;#039;&amp;#039;&amp;#039;Target&amp;#039;&amp;#039;&amp;#039; - The name of the tech  ==C...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Research triggers&#039;&#039;&#039; fire when a player researches a Quantum Upgrade.&lt;br /&gt;
==Arguments==&lt;br /&gt;
*&#039;&#039;&#039;Player&#039;&#039;&#039; - The player doing the research &lt;br /&gt;
*&#039;&#039;&#039;Target&#039;&#039;&#039; - The name of the tech &lt;br /&gt;
==Common Usage==&lt;br /&gt;
*Maybe warning the player when the enemy reaches a certain tech level?&lt;br /&gt;
==Examples==&lt;br /&gt;
No research triggers are used in Ashes currently.&lt;/div&gt;</summary>
		<author><name>Patiobattle04</name></author>
	</entry>
	<entry>
		<id>https://wiki.ashesofthesingularity.com/index.php?title=Timer&amp;diff=8301</id>
		<title>Timer</title>
		<link rel="alternate" type="text/html" href="https://wiki.ashesofthesingularity.com/index.php?title=Timer&amp;diff=8301"/>
		<updated>2017-01-17T23:43:57Z</updated>

		<summary type="html">&lt;p&gt;Patiobattle04: Redirected page to Timer Trigger&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Timer_Trigger]]&lt;/div&gt;</summary>
		<author><name>Patiobattle04</name></author>
	</entry>
	<entry>
		<id>https://wiki.ashesofthesingularity.com/index.php?title=NamedCreate_Trigger&amp;diff=8291</id>
		<title>NamedCreate Trigger</title>
		<link rel="alternate" type="text/html" href="https://wiki.ashesofthesingularity.com/index.php?title=NamedCreate_Trigger&amp;diff=8291"/>
		<updated>2017-01-17T23:43:33Z</updated>

		<summary type="html">&lt;p&gt;Patiobattle04: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;NamedCreate triggers&#039;&#039;&#039; fire when a specific unit or building is spawned via a script.&lt;br /&gt;
==Arguments==&lt;br /&gt;
*&#039;&#039;&#039;Target&#039;&#039;&#039; - Name of the script-spawned unit or building. &lt;br /&gt;
*&#039;&#039;&#039;IsBuilding&#039;&#039;&#039; - If this is a building (if not it refers to a unit). &lt;br /&gt;
&lt;br /&gt;
== Common Usage ==&lt;br /&gt;
&lt;br /&gt;
These triggers have largely fallen by the wayside in favor of better options (activating inactive&amp;amp;nbsp;[[Timer|Timer]] triggers, primarily)&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
  &amp;lt;Trigger Name=&amp;quot;MoveBrainWhale0&amp;quot; Type=&amp;quot;NamedCreate&amp;quot; Target=&amp;quot;BrainWhale&amp;quot; &amp;gt;&lt;br /&gt;
    &amp;lt;AttackAttackMove Name=&amp;quot;BrainWhale&amp;quot; Position=&amp;quot;6464,-3048,0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/Trigger&amp;gt;&lt;br /&gt;
From the Deneb mission in Imminent Crisis, this tells the brainwhale to move as soon as it is spawned.&lt;/div&gt;</summary>
		<author><name>Patiobattle04</name></author>
	</entry>
	<entry>
		<id>https://wiki.ashesofthesingularity.com/index.php?title=NamedCreate_Trigger&amp;diff=8281</id>
		<title>NamedCreate Trigger</title>
		<link rel="alternate" type="text/html" href="https://wiki.ashesofthesingularity.com/index.php?title=NamedCreate_Trigger&amp;diff=8281"/>
		<updated>2017-01-17T23:43:16Z</updated>

		<summary type="html">&lt;p&gt;Patiobattle04: Created page with &amp;quot;&amp;#039;&amp;#039;&amp;#039;NamedCreate triggers&amp;#039;&amp;#039;&amp;#039; fire when a specific unit or building is spawned via a script. ==Arguments== *&amp;#039;&amp;#039;&amp;#039;Target&amp;#039;&amp;#039;&amp;#039; - Name of the script-spawned unit or building.  *&amp;#039;&amp;#039;&amp;#039;IsBui...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;NamedCreate triggers&#039;&#039;&#039; fire when a specific unit or building is spawned via a script.&lt;br /&gt;
==Arguments==&lt;br /&gt;
*&#039;&#039;&#039;Target&#039;&#039;&#039; - Name of the script-spawned unit or building. &lt;br /&gt;
*&#039;&#039;&#039;IsBuilding&#039;&#039;&#039; - If this is a building (if not it refers to a unit). &lt;br /&gt;
==Common Usage==&lt;br /&gt;
These triggers have largely fallen by the wayside in favor of better options (activating inactive[[Timer]] triggers, primarily)&lt;br /&gt;
==Examples==&lt;br /&gt;
  &amp;lt;Trigger Name=&amp;quot;MoveBrainWhale0&amp;quot; Type=&amp;quot;NamedCreate&amp;quot; Target=&amp;quot;BrainWhale&amp;quot; &amp;gt;&lt;br /&gt;
    &amp;lt;AttackAttackMove Name=&amp;quot;BrainWhale&amp;quot; Position=&amp;quot;6464,-3048,0&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/Trigger&amp;gt;&lt;br /&gt;
From the Deneb mission in Imminent Crisis, this tells the brainwhale to move as soon as it is spawned.&lt;/div&gt;</summary>
		<author><name>Patiobattle04</name></author>
	</entry>
</feed>