Spawn Units
There are various cases where a mapper may want to spawn units when specific actions happen. Commonly you will see spawned units in "Defense" maps, "Nexus Wars" maps, "DotA" maps, or anything else where units need to be automatically created at point or region. This page lists some of the more common situations.
Contents |
[edit] Spawn with the Data Editor
There are various ways one can make units spawn using the Data Editor.
[edit] Spawn Unit Ability
- This section is a stub. You can help out by adding more information.
[edit] Spawn Unit Upon Death
This can be done by creating a new Buff Behavior. In the Modifications + field, click the "Combat" tab and find the Death Response section. Now set the Effect field to a Create Unit effect.
[edit] Spawn with Triggers
The idea is pretty simple: place Points where you want your units to spawn and then use random integers to randomize the spawn.
[edit] Trigger Reference
Spawn system
Events
Timer - Every 15.0 seconds of Game Time
------- This is the interval of time at which the units will be spawned.
Local Variables
Unit Type = 0 <Integer>
Random Point = 0 <Integer>
Selected Point = No Point <Point>
Conditions
Actions
Variable - Set Random Point = (Random integer between 1 and 5)
General - If (Conditions) then do multiple (Actions)
If Then Else
General - Else if (Conditions) then do (Actions)
Else If
Random Point == 1
Then
Variable - Set Selected Point = Point 001
General - Else if (Conditions) then do (Actions)
Else If
Random Point == 2
Then
Variable - Set Selected Point = Point 002
General - Else if (Conditions) then do (Actions)
Else If
Random Point == 3
Then
Variable - Set Selected Point = Point 003
General - Else if (Conditions) then do (Actions)
Else If
Random Point == 4
Then
Variable - Set Selected Point = Point 004
General - Else if (Conditions) then do (Actions)
Else If
Random Point == 5
Then
Variable - Set Selected Point = Point 005
Variable - Set Unit Type = (Random integer between 1 and 6)
------- The use of If-Then-Else is just to show that both methods work.
General - If (Conditions) then do (Actions) else do (Actions)
If
Unit Type == 1
Then
Unit - Create 1 Zealot for player 0 at Selected Point using point facing (Ignore Placement)
------- Notice the point at which the unit is created is the "Selected Point" Point variable.
Else
General - If (Conditions) then do (Actions) else do (Actions)
If
Unit Type == 2
Then
Unit - Create 1 Sentry for player 0 at Selected Point using point facing (Ignore Placement)
Else
General - If (Conditions) then do (Actions) else do (Actions)
If
Unit Type == 3
Then
Unit - Create 1 Baneling for player 0 at Selected Point using point facing (Ignore Placement)
Else
General - If (Conditions) then do (Actions) else do (Actions)
If
Unit Type == 4
Then
Unit - Create 1 Roach for player 0 at Selected Point using point facing (Ignore Placement)
Else
------- Notice I am not using the integers 5 and 6. This is simply because I wanted those two integers to represent a "No spawn" situation. More empty integers you'll have like this, less chances the spawn system will actually spawn a unit. This is just a personnal choice.
Please take note that there are comments within the trigger above.
[edit] See Also
- A Simple Unit Spawn Trigger (Lord GiantR, Sc2Mod.com)