StarCraft II Map Editor
Created: 2018-09-23 15:25:56 -0700 Modified: 2019-09-27 17:24:06 -0700
Basics
Section titled Basics- The executable is located alongside StarCraft II.exe: StarCraft II Editor_x64.exe. For me, this is here: “E:StarCraft IIStarCraft II Editor_x64.exe”. You can open right from the launcher though:
- Extension Mods are for changing unit data like damage, life, etc. and can be applied to any map. Maps themselves are the terrain, triggers, etc.
- To show a message in “chat”, use UIDisplayMessage.
- Sometimes you’ll see lots of units with the same name in a brand new map/mod. This is because there were 3 expansions (Wings of Liberty, HotS, LotV), and different units had revisions. If you want to find a specific one, use the “Data Source” dropdown shown in this picture:
Making a mod
Section titled Making a modFirst of all, the kinds of mods that you find when creating a Melee map with a mod are “Extension Mods”.
To test with a map, I had to open an existing Blizzard map (which involved logging in), then modify Map → Player Properties to set up AI players. Then, I modified Preferences → Test Document to get it to work with these player options. I think SC2 needs to be closed for Test Document to work.
- To make the mod be based on Legacy of the Void, save the mod first, then go to File → Dependencies → Add Standard… → Void (Mod). This won’t work if you’re not logged in, and logging in isn’t the most obvious.
- File → Preferences → Blizzard → set your email address in “Account”
- Open anything and go to “File → Publish → Login”.
- To make triggers, you first need to make a new library, then you can make triggers inside it.
- F6 to go to Triggers
- Right-click the bottom left → Library → New Library
Modifying build time
Section titled Modifying build time- Search for the structure and find the thing that builds it:
Trigger basics
Section titled Trigger basics-
Running a command when a unit is brought into existence:
- TriggerAddEventUnitRegion(null, RegionEntireMap()),true)
- Don’t use the “created” trigger since I think that’s for things like Infested Terrans or Broodlings.
-
Comparing to see if a unit is owned by the AI or a player:
Making a trigger to modify damage (reference)
Section titled Making a trigger to modify damage (reference)- Make a new behavior
- Data (F7) → Behaviors tab → right-click → Add Behavior
- Set Behavior Type to Buff. An “Attribute” behavior will show like “NameOfBehavior: 0” in the UI alongside the unit’s other attributes. This is like how Strength, Agility, and Intelligence were in War3.
- Set Maximum Stack Count (and Maximum Stack Count Per Caster) to 65535.
- Right-click (Basic) Behavior: Modification → Modify Value
- In the combat tab, choose values for “Damage Dealt (Unscaled)“. I set each to 1.
- Data (F7) → Behaviors tab → right-click → Add Behavior
- Make a new trigger
Other notes:
- To increase max life, it’s in Unit → Vital Max Bonus toward the bottom
Modifying damage
Section titled Modifying damageIt’s in “(Basic) Combat: Amount” for an effect.
Modifying build time
Section titled Modifying build timeSearch for “Probe”, then under abilities, choose “Probe - Build (Probe)”, then you’ll see (Basic) Ability: Info, which you should double-click. This brings up Object Values with a bunch of buildings. Double-click one of those and you’ll eventually find “Info - Time”.
Testing teams on a map
Section titled Testing teams on a mapI just made a trigger that set teams at startup. Ctrl+B to make a new variable of type Player Group: