Exported Wiki Articles
Simple Datediting
Foreword
This is a basic tutorial on how to use DatEdit. It's a tad outdated, so feel free to edit it with newer information and screenshots.This tutorial was originally created by Killer_Kow(MM) at the [MM]odding resources, at Corboland.
Simple Dat Editing!
Here you will learn to:1) give a unit shields
2) change a unit's weapon
3) change a unit's spell.
The programs you will need are:
Datedit
WinMPQ
MPQDraft
We'll start by giving the marine shields.
First, open Datedit.
Find the marine entry under the "units" tab. If you want to change the view, go View> Sort by Origin. Find what works best for you.
When you have the marine selected, it will look like this:
http://www.maplantis.org/storage/wiki/DatEdit/pic1qs4.png (img: failed to get size)
Under the "Vital Statistics" section, find the "Shields" box. Check the flag (a flag is a checkbox) next to it, and set the number to 50. Also, set the marine's Hit Points to 50. You can modify its existing armor using the "Armor" box. The "upgrade" menu shows which upgrade will upgrade the Marine's armor.
That's all that we'll do here. Go to file>save as and save the file as units.dat. The name you save it as MUST correspond to the tab you are working in (units in this case).
Now, we'll change the marine's weapon. We could change its weapon in the "weapons" section in the Marine's units.dat, but instead, we'll fully customize his attack.
To find the marine's gauss rifle, you could look through the list under the weapons tab, but there's an easier way! Since we're already in the marine's unit entry, we can click the "Jump ->" button next to his weapon name. See the screenie:
http://www.maplantis.org/storage/wiki/DatEdit/pic2ij1.png (img: failed to get size)
Either Jump will work, seeing as they point to the same weapon.
You'll end up seeing this:
http://www.maplantis.org/storage/wiki/DatEdit/pic3jt2.png (img: failed to get size)
Let's make the marine fire lasers. Under "Graphical Properties", set "Graphics" to "Burst lasers". Change the icon to whatever you feel is fitting. set the "Behaviour" to "Flies to Target".
These should be self-explanatory. Leave the missile as "Normal".
Again, do File>Save as and save the file as weapons.dat. Remember, it MUST correspond to the tab you're working in.
Now that we've done this, let's change a unit's spell. Unfortunately, we can't change the marine's stimpack, but we CAN change the ghost's lockdown ability.
For something fun, let's let the ghost call down a long-range arclite shock strike as you would have been able to in SC: Ghost.
Switch to the "Orders" tab. Find the "Magna Pulse" order. Why the lockdown order is called that is beyond me, but its true.
Under "Order Options", set "Weapon" to "Arclite Shock Cannon (Edmund Duke)". You can also change THAT weapon, but we'll leave it how it is.
Save as orders.dat. Don't make me remind you again.
Congratulations! You've finished your .dat work. Now to compile it to an MPQ!
Open WinMPQ.
Press the "New" button. Save it as whatever you want. This one doesn't matter. Press the "add" button. Find your files, and select them. When you press "open", a little box will pop up. Type in "arr\" (without the "") and confirm your choice. All .dat files work like this.
When all your files are in, close WinMPQ. It saves automatically.
Running Your Mod
Open MPQDraft.Press "Load MPQ Patch".
Select Starcraft, Starcraft again, and press next. Browse for your MPQ, find it, ensure that the little box is checked, and press next, and then finish.
Enjoy your mod!
External Links
The original tutorial, at Corboland.Terrain
A map's terrain is its landscape. Terrain's most basic function is to limit where ground units can walk and where structures can be built. Well-placed terrain can add aesthetic appeal to a map.
Tiles (Squares)
![]() Each cell in the green grid is one tile. |
Usually, tiles are combined into predefined groups of isometric pieces (ISOM, see below). However, third-party editors allow users to assemble tiles in unusual ways to create custom terrain formations called "extended terrain" or "blends". (See "Extended Terrain", below, for more information.)
![]() The red diamond in the image is one isometric tile. |
ISOM
Isometric terrain, or ISOM, is the normal unit of terrain; this is the level that StarCraft's built-in Campaign Editor can work with. Tiles are assembled to form isometric terrain, and are designed to look like pieces of such terrain. When placing terrain normally, you manipulate isometric pieces rather than individual tiles.Brushes
So far, brushes are only usable in two map editors: StarForge and SCMDraft 2. Brush files are collections of brushes, or groups of tiles -- they are like palettes for terrain. Brush files make it easy to reuse and share blends. SEN has a forum topic where useful brushes can be shared.To open SCMDraft 2's brush dialog, go to Windows > Brush Palette. Brushes can be opened by clicking Open File, and selecting a brush. Multiple brushes can be opened at a time. To use a blend, simply select it in the Brush Palette window, and then click on the map to apply it. To create a new brush, select the appropriate tiles, type a name into the text field on the Brush Palette window, and then click Add Brush. Brush files can be saved by clicking Save File on the Brush Palette window.
Extended Terrain
![]() Extended terrain created by CecilSunkure. |
Common types of extended terrain
Custom ramps
Custom ramps are often made. The most common kinds of custom ramps are backwards ramps and ramps between two types of terrain that normally cannot connect. Lengthened and shortened versions of standard ramps have also been made.A backwards ramp on the Space tileset:

Stacked cliffs
Stacked cliffs are relatively easy to create on most tilesets. On Badlands and Jungle, stacked cliffs can be created with ridiculous ease. Simply take the tops of Dirt-to-Water cliffs, and paste them over the tops of Dirt-to-High-Dirt cliffs. Then, copy the middle and top sections of Dirt-to-High-Dirt cliffs, and paste those just above the Dirt-to-Water tops.This diagram shows how stacked High Dirt cliffs are pieced together.

Custom doodads
Custom Doodads come from a variety of tiles. While the term is mostly used to refer to terrain constructed from Doodad tiles, it can also refer to non-doodad-based terrain that can be used in a similar fashion to doodads.Here is a custom doodad built by mirroring two opposite-facing doodads on the Jungle tileset.

Here is another example: a large tree. The tree's trunk was constructed from Cliff Doodad tiles. The leaves and branches came from Sprites.

Square terrain
Square terrain is terrain placed tile-by-tile, with little regard for how well the tiles blend. It is often used for interiors on maps.Here is an example of square terrain, used for an interior in Leeroy_Jenkins' Middle of the Ocean RPG.

High-Low
On tilesets such as Jungle and Badlands, there are two types of terrain that look (almost) identical, the grass.Good references for extended terrain include:
- Falkoner's Terrain Compilation
- WoodenFire's Crescent Dyne RPG map (which is included in Falkoner's Terrain Compilation, but it is such a big project that it deserves to be stressed out)
Starcraft 1.14 Memory Map
Note: This article has poor formatting. Help Maplantis by improving the formatting of this article and removing it from the Article Request/Cleanup page.
| Start | Length | Description |
| 511800 | 240 (60*4) | Action function pointer table |
| 511BA0 | 12 | Load information for Mapdata.dat |
. | ||
| 5126E0 | 144 (12*12) | Load information for Upgrades.dat |
| 512770 | 16 | Data alignment |
| 512780 | 72 (12*6) | Load information for Portdata.dat |
| 5127C8 | 16 | Data alignment |
| 5127D8 | 132 (11*12) | Load information for Techdata.dat |
| 51285C | 12 | Data alignment |
| 512868 | 288 (24*12) | Load information for Weapons.dat |
. | ||
| 512c30 | 648 (54*12) | Load information for Units.dat |
| 512eb8 | 16 | Data alignment |
| 512ec8 | 228 (19*12) | Load information for Orders.dat |
| 512FA8 | 16 | Data alignment |
| 512FB8 | 72 (6*12) | Load information for Sprites.dat |
| 513000 | 16 | Data alignment |
| 513010 | 168 (14*12) | Load information for Images.dat |
. | ||
| 513178 | 1090 | Units.dat Build Requirements |
| 5135BA | 6 | Data alignment |
| 5135C0 | 838 | Upgrade.dat Upgrade Requirements |
| 513906 | 2 | Data alignment |
| 513908 | 318 | Techdata.dat Research Requirements |
| 513A46 | 2 | Data alignment |
| 513A48 | 688 | Techdata.dat Usage Requirements |
| 513CF8 | 1324 | Orders.dat Requirements |
. | ||
| 5144A0 | 60 (5*12) | Load information for Sfxdata.dat |
. | ||
| 514A40 | 84 (7*12) | Load information for Flingy.dat |
| 514A94 | 12 | Data alignment |
| 514AA0 | 96 (24*4) | Condition function pointer table |
| 514BF0 | 11264 | start of Button Sets |
| 5177F0 | 3000 (250*12) | start of Unit->Button Set table |
. | ||
| 5183A8 | 2736 (228*12) | start of Unit->Status Function table |
. | ||
| 51AAF8 | Starcraft.exe location string | |
. | ||
| 51B4A0 | Starcraft.exe location string | |
. | ||
| 51BA00 | Broodat/Stardat.mpq location strings | |
. | ||
| 51BC20 | Starcraft.exe location string | |
. | ||
| 51BD38 | Patch_rt.mpq location string | |
. | ||
| 52E548 | 325120 (5080*64) | Image array |
. | ||
| 57E0B8 | 48 (12*4) | Player minerals |
| 57E0E8 | 48 (12*4) | Player gas |
| 57E118 | 48 (12*4) | Player gas score |
| 57E148 | 48 (12*4) | Player minerals score |
| 57E178 | 4 | Unknown |
| 57E17C | 12 (12*1) | Player controller |
| 57E188 | 12 (12*1) | Player race |
| 57E194 | 8 longs | Unknown |
| 57E1B4 | 1 long | Player 1 gives vision to (in bits) |
| 57E1B8 | 1 long | Player 2 gives vision to (in bits) |
| 57E1BC | 1 long | Player 3 gives vision to (in bits) |
| 57E1C0 | 1 long | Player 4 gives vision to (in bits) |
| 57E1C4 | 1 long | Player 5 gives vision to (in bits) |
| 57E1C8 | 1 long | Player 6 gives vision to (in bits) |
| 57E1CC | 1 long | Player 7 gives vision to (in bits) |
| 57E1D0 | 1 long | Player 8 gives vision to (in bits) |
| 57E1D4 | 1 long | Player 9 gives vision to (in bits) |
| 57E1D8 | 1 long | Player 10 gives vision to (in bits) |
| 57E1DC | 1 long | Player 11 gives vision to (in bits) |
| 57E1E0 | 1 long | Player 12 gives vision to (in bits) |
| 57E1E4 | 1 long | Player 1's colour |
| 57E1E8 | 1 long | Player 2's colour |
| 57E1EC | 1 long | Player 3's colour |
| 57E1F0 | 1 long | Player 4's colour |
| 57E1F4 | 1 long | Player 5's colour |
| 57E1F8 | 1 long | Player 6's colour |
| 57E1FC | 1 long | Player 7's colour |
| 57E200 | 1 long | Player 8's colour |
| 57E204 | 1 long | some counter |
. | ||
| ... | Unknown. | |
. | ||
| 57E244 | 2736 (12*228*1) | Unit availability (unit+player*228) |
. | ||
| ... | Unknown. | |
. | ||
| 580DDC | 48 (12*4) | Men produced (does not include pre-placed units) by player |
| 580E0C | 48 (12*4) | Men owned by player (cumulative count, includes pre-placed units) |
| 580E3C | 48 (12*4) | Men (or units??) lost by player |
| 580E6C | 48 | Unknown |
| 580E9C | 48 (12*4) | units score by player |
| 580ECC | 48 (12*4) | Kill score |
| 580EFC | 144 (3*12*4) | ?? structures constructed ?? (1 long each for 12 players, seems to be repeated 3 times) |
| 580F8C | 48 (12*4) | ?? structures lost ?? |
| 580FBC | 48 (12*4) | ?? structures razed ?? |
| 580FEC | 48 (12*4) | buildings score |
| 58101C | 48 (12*4) | razings score |
| 58104C | 48 | Unknown |
| 58107C | 48 | Unknown |
| 5810AC | 48 (12*4) | Factories lost |
| 5810DC | 48 | Unknown |
| 58110C | 48 (12*4) | Zerg supply |
| 58113C | 48 (12*4) | Zerg supply used |
| 58116C | 48 (12*4) | Zerg supply max |
| 58119C | 48 (12*4) | Terran supply |
| 5811CC | 48 (12*4) | Terran supply used |
| 5811FC | 48 (12*4) | Terran supply max |
| 58122C | 48 (12*4) | Protoss supply |
| 58125C | 48 (12*4) | Protoss supply used |
| 58128C | 48 (12*4) | Protoss supply max |
| 5812BC | 48 (12*4) | Custom score (1 long each for 12 players) |
| 5812EC | 10944 (228*12*4) | Number of units on the map (player + unit*12) |
| 583DAC | 10944 (228*12*4) | Number of units on the map (player + unit*12) |
| 58686C | 10944 (228*12*4) | Player kill counts (player + unit*12) |
| 58932C | 10944 (228*12*4) | start of deaths table (player + unit*12), 4 bytes each) |
| 58BDEC | 288 (12*24*1) | Techs available by player (SC techs only [0-23], tech+player*24) |
| 58BF0C | 288 (12*24*1) | Techs researched by player (SC techs only [0-23], tech+player*24) |
. | ||
| 58C050 | 552 (12*46*1) | Upgrade max by player (SC upgrades only [0-45], upgrade+player*46) |
| 58C278 | 552 (12*46*1) | Upgrades researched by player (SC upgrades only [0-45], upgrade+player*12) |
. | ||
| 58C578 | 8 (8*1) | Force membership of each player |
| 58C580 | 4 (4*1) | Force flags |
| 58C584 | 120 (4*30) | Force names (30 bytes each, null-terminated strings) |
| 58C5Fc | 144 (12*12*1) | Player alliances (First 12 bytes are player 1's alliances, next 12 are player 2's, etc) |
| 58C68C | 48 (12*4) | Mission objectives string index for each player |
| 58C6BC | 4 | Countdown timer value |
| 58C6C0 | 4 | Elapsed game time |
| 58C6C4 | 4 | Unknown |
| 58C6C8 | 4 | Unknown |
| 58C6CC | 4 | Unknown |
| 58C6D0 | 4 | Leaderboard computer players enabled |
| 58C6D4 | 1 | Unknown |
| 58C6D5 | 1 | Unknown |
| 58C6D6 | 2 | Unknown |
| 58C6D8 | 4 | Unknown |
| 58C6DC | 4 | Unknown |
| 58C6E0 | 8 (8*1) | Pauses left for each player |
. | ||
| 58CC08 | 32 | Switch states (1 bit per switch) |
| 58CC28 | 5100 (255*20) | Locations (In [longs]: X Start, Y Start, X End, Y End, [shorts]: String, Flags) |
| 58E014 | 4 | Countdown timer paused |
| 58E018 | 240 (12*20*1) | Tech available by player (BW techs only [24-43]) tech + player*20) |
| 58E108 | 240 (12*20*1) | Tech researched by player (BW techs only [24-43]) tech + player*20) |
. | ||
| 58E240 | 180 (12*15*1) | Upgrade max by player (BW upgrades only [46-60]) (upgrade + player*15) |
| 58E2F4 | 180 (12*15*1) | Upgrade researched by player (BW upgrades only [46-60]) (upgrade + player*15) |
. | ||
| 59B048 | 260 (65*4) | MapData.dat string pointers (points beyond data segment) |
| 59BC70 | 571200 (1700*336) | UnitNode table |
. | ||
| 628140 | 90000 (2500*36) | Sprite array |
. | ||
| 653144 | 61 (61*1) | Upgrades.dat - upgrade max |
| 653188 | 122 (61*2) | Upgrades.dat - mineral cost base |
| 653208 | 122 (61*2) | Upgrades.dat - gas cost factor |
| 653288 | 122 (61*2) | Upgrades.dat - gas cost base |
| 653308 | 122 (61*2) | Upgrades.dat - unknown |
| 653388 | 122 (61*2) | Upgrades.dat - time factor |
| 653408 | 122 (61*2) | Upgrades.dat - mineral cost factor |
| 653488 | 122 (61*2) | Upgrades.dat - label |
| 653508 | 122 (61*2) | Upgrades.dat - Icon |
| 653584 | 61 (61*1) | Upgrades.dat - Broodwar flag |
| 6535C8 | 122 (61*2) | Upgrades.dat - time base |
| 653644 | 61 (61*1) | Upgrades.dat - race |
. | ||
| 653Be0 | 88 (44*2) | TechData.dat - Unknown 5 |
| 653C38 | 88 (44*2) | TechData.dat - Gas cost |
| 653C90 | 88 (44*2) | Techdata.dat - mineral cost |
| 653CE8 | 88 (44*2) | Techdata.dat - Label |
| 653D40 | 88 (44*2) | TechData.dat - unknown 6 |
| 653D98 | 44 (44*1) | TechData.dat - researched |
| 653DC8 | 88 (44*2) | TechData.dat - energy cost |
| 653E20 | 88 (44*2) | TechData.dat - research time |
| 653E78 | 88 (44*2) | TechData.dat - icon |
| 653ED0 | 44 (44*1) | TechData.dat - race |
| 653EFC | 44 (44*1) | TechData.dat - broodwar flag |
| 653F28 | 130 (130*1) | Weapons.dat - damage factor |
| 653FB0 | 260 (130*2) | Weapons.dat - target error message |
| 654140 | 130 (130*1) | Weapons.dat - explosion type |
| 6541C8 | 130 (130*1) | Weapons.dat - icon |
| 6542D0 | 260 (130*2) | Weapons.dat - splash inner |
| 6543D8 | 130 (130*1) | Weapons.dat - attack angle |
| 654460 | 520 (130*4) | Weapons.dat - minimum range |
| 654668 | 130 (130*1) | Weapons.dat - offset y |
| 6546F0 | 520 (130*4) | Weapons.dat - missile sprite |
| 6548F8 | 260 (130*2) | Weapons.dat - damage amount |
| 654A00 | 130 (130*1) | Weapons.dat - coldown delay |
| 654A88 | 130 (130*1) | Weapons.dat - missile type |
| 654B10 | 260 (130*2) | Weapons.dat - splash medium |
| 654C18 | 130 (130*1) | Weapons.dat - upgrade group |
| 654CA0 | 130 (130*1) | Weapons.dat - type |
| 654D28 | 260 (130*2) | Weapons.dat - label |
| 654E30 | 130 (130*1) | Weapons.dat - special attack |
| 654EB8 | 520 (130*4) | Weapons.dat - maximum range |
| 6550C0 | 260 (130*2) | Weapons.dat - damage bonus |
| 6551C8 | 260 (130*2) | Weapons.dat - splash outer |
| 6552D0 | 130 (130*1) | Weapons.dat - launch spin |
| 655358 | 130 (130*1) | Weapons.dat - offset x |
| 6553E0 | 260 (130*2) | Weapons.dat - attack type |
. | ||
| 65D660 | 228 (228*1) | Units.dat - max hit air |
| 65D748 | 456 (228*2) | Units.dat - vespene cost |
| 65D910 | 228 (228*1) | Units.dat - Armor |
| 65D9F4 | 4 (4*1) | Unknown |
| 65D9F8 | 456 (228*2) | Units.dat - What sound start |
| 65DBC0 | 228 (228*1) | Units.dat - Comp AI unit type |
| 65DCA8 | 456 (228*2) | Units.dat - custom name |
| 65DE70 | 456 (228*2) | Units.dat - build time |
| 65E038 | 228 (228*1) | Units.dat - starting direction |
| 65E120 | 228 (228*1) | Units.dat - broodwar flag |
| 65E208 | 456 (228*2) | Units.dat - subunit 1 |
| 65E3D0 | 228 (228*1) | Units.dat - transport space |
| 65E4B8 | 456 (228*2) | Units.dat - restriction flags |
| 65E680 | 456 (228*2) | Units.dat - subunit 2 |
| 65E848 | 456 (228*2) | Units.dat - shield amount |
| 65EA10 | 228 (228*1) | Units.dat - movement type |
| 65EAF8 | 912 (228*4) | Units.dat - construction animation |
| 65EE88 | 212 (106*2) | Units.dat - sound yes end |
| 65EF60 | 456 (228*2) | Units.dat - Staredit availability flags |
| 65F128 | 228 (228*1) | Units.dat - air weapon |
| 65F210 | 1824 (228*8) | Units.dat - Unit boundaries (RECT structs) |
| 65F930 | 212 (106*2) | Units.dat - Pissed sound end |
| 65FA08 | 212 (106*2) | Units.dat - Ready sound |
| 65FAE0 | 228 (228*1) | Units.dat - Action type |
| 65FBC8 | 228 (228*1) | Units.dat - Size |
| 65FCB0 | 228 (228*1) | Units.dat - Human AI Init Action |
| 65FD98 | 912 (228*4) | Units.dat - Hit points |
| 660128 | 384 (192*2) | Units.dat - Addon location |
| 6602A8 | 912 (228*4) | Units.dat - Building dimensions |
| 660638 | 456 (228*2) | Units.dat - What sound end |
| 660800 | 228 (228*1) | Units.dat - Seek range |
| 6608E8 | 228 (228*1) | Units.dat - Comp AI Init Action |
| 6609D0 | 456 (228*2) | Units.dat - Portrait ID |
| 660C80 | 228 (228*1) | Units.dat - Unit sight range |
| 660D68 | 228 (228*1) | Units.dat - Ground attack action |
| 660E50 | 456 (228*2) | Units.dat - Build score |
| 661018 | 228 (228*1) | Units.dat - Armor upgrade group |
| 661100 | 228 (228*1) | Units.dat - Ground weapon |
| 6611E8 | 228 (228*1) | Units.dat - Group flags |
| 6612D0 | 456 (228*2) | Units.dat - Mineral cost |
| 661498 | 228 (228*1) | Units.dat - Ait attack action |
| 661580 | 212 (106*2) | Units.dat - Unknown |
| 661658 | 456 (228*2) | Units.dat - Unknown |
| 661730 | 228 (228*1) | Units.dat - Unknown |
| 661818 | 228 (228*1) | Units.dat - Unknown |
| 661900 | 456 (228*2) | Units.dat - Destroy score |
| 661AC8 | 228 (228*1) | Units.dat - Special ability flags |
| 661E58 | 228 (228*1) | Units.dat - Transport size |
| 661F40 | 228 (228*1) | Units.dat - Unit graphic |
| 662028 | 228 (228*1) | Units.dat - Max hit ground |
| 662110 | 228 (228*1) | Units.dat - Supply produced |
| 6621F8 | 228 (228*1) | Units.dat - Unit has shield |
| 6622E0 | 228 (228*1) | Units.dat - Idle action |
| 6623C8 | 192 (96*2) | Units.dat - Infestation unit |
| 662488 | 189 (189*1) | Orders.dat - Flag 4 |
| 662548 | 189 (189*1) | Orders.dat - Use weapon targeting |
| 662608 | 189 (189*1) | Orders.dat - Flag 12 |
| 6626C8 | 189 (189*1) | Orders.dat - Flag 11 |
| 662788 | 189 (189*1) | Orders.dat - Animation |
| 662848 | 189 (189*1) | Orders.dat - Tech |
| 662908 | 189 (189*1) | Orders.dat - Group |
| 662A88 | 189 (189*1) | Orders.dat - Can be interrupted |
| 662B48 | 189 (189*1) | Orders.dat - Flag 7 |
| 662C08 | 378 (189*2) | Orders.dat - Flag 9 |
| 662CC8 | 378 (189*2) | Orders.dat - Label |
| 662E48 | 378 (189*2) | Orders.dat - Emulated order |
| 662F08 | 378 (189*2) | Orders.dat - Flag 10 |
| 662FC8 | 378 (189*2) | Orders.dat - Flags |
| 663148 | 189 (189*1) | Orders.dat - Flag 8 |
| 663208 | 189 (189*1) | Orders.dat - Flag 5 |
| 6632C8 | 189 (189*1) | Orders.dat - Weapon |
| 663388 | 189 (189*1) | Orders.dat - Flag 2 |
| 663448 | 189 (189*1) | Orders.dat - Flag 3 |
| 663508 | 387 (387*1) | Sprites.dat - Selection circle |
| 663690 | 387 (387*1) | Sprites.dat - unknown |
| 663898 | 387 (387*1) | Sprites.dat - HP bar length |
| 663A20 | 387 (387*1) | Sprites.dat - Selection circle offset |
| 663BA8 | 1034 (517*2) | Sprites.dat - image index |
| 663FB8 | 517 (517*1) | Sprites.dat - visible |
| 6641C0 | 3996 (999*4) | Images.dat - overlay 4 |
| 6651C0 | 999 (999*1) | Images.dat - floats |
| 665548 | 3996 (999*4) | Images.dat - overlay 3 |
| 6664E8 | 3996 (999*4) | Images.dat - GRP file name |
| 667488 | 999 (999*1) | Images.dat - Palette |
| 667870 | 999 (999*1) | Images.dat - Palette type |
| 667C58 | 3996 (999*4) | Images.dat - Overlay 2 |
| 668BF8 | 3996 (999*4) | Images.dat - Overlay 1 |
| 669B98 | 999 (999*1) | Images.dat - Shadow turns |
| 669F80 | 3996 (999*4) | Images.dat - Overlay 0 |
| 66AF20 | 999 (999*1) | Images.dat - Unknown |
| 66B308 | 3996 (999*4) | Images.dat - Overlay 5 |
| 66C2A8 | 999 (999*1) | Images.dat - image turns |
| 66C690 | 3996 (999*4) | Images.dat - iscript |
. | ||
| 6C7240 | 209 (209*1) | Flingy.dat - movement control |
| 6C7318 | 836 (209*4) | Flingy.dat - acceleration |
| 6C7660 | 418 (209*2) | Flingy.dat - turning style |
| 6C7808 | 209 (209*1) | Flingy.dat - turn radius |
| 6C78E0 | 836 (209*4) | Flingy.dat - speed |
| 6C7C28 | 209 (209*1) | Flingy.dat - unknown |
| 6C7D00 | 418 (209*2) | Flingy.dat - sprite index |
Modifying Supply Limits
Ever wanted to expand the 200 unit limit? Now you can!
Modifying Supply Limits
This really isn't that difficult... It just requires you to look a bunch of crap up in lists.Note: Some things will add to another race's supply limits... (such as in my example screenshot the zerg have 1/2) I haven't looked into it very much, so I'm not exactly sure what causes it specifically.
1. Decide what you want your values to be.
As an example, I'll use Terran 1000 max with an initial 100 available for player 1.
2. Subtract 200 of the Max (and Max only!) as it is already available.
1000 - 200 = 800.
3. Use the Supply Modifier Unit List to find values that add up to what you want. Be sure to take note of whether or not what you are using is a building or unit as we will use this later!
"Nuclear Missile 400 Unit" Two will add up for my 800 Max.
"Citadel of Adun 100 Building" 100 for my initial available.
4. Use the Player Look-up List for the players you want.
Player 1:
Terran Available for Building: 109
Terran Limit for Unit: 217
5. Place your unit.
Place two Nuclear Missiles for player 217.
Place one Citadel of Adun for player 109.
http://www.maplantis.org/storage/wiki/SupplyLimit2.png (img: failed to get size)
Supply Modifier Unit List
Note: Units which do not add anything (0) have been removed. Resources have also been removed as they would require a player greater than 256 to use. They only add 5 anyways. ;)Code
ID Unit Adds Type
0 Terran Marine 25 Unit
1 Terran Ghost 87.5 Unit
2 Terran Vulture 37.5 Unit
3 Terran Goliath 100 Unit
5 Terran Siege Tank (Tank Mode) 175 Unit
7 Terran SCV 25 Unit
8 Terran Wraith 200 Unit
9 Terran Science Vessel 312.5 Unit
11 Terran Dropship 150 Unit
12 Terran Battlecruiser 600 Unit
14 Nuclear Missile 400 Unit
32 Terran Firebat 50 Unit
34 Terran Medic 62.5 Unit
37 Zerg Zergling 12.5 Unit
38 Zerg Hydralisk 62.5 Unit
39 Zerg Ultralisk 325 Unit
41 Zerg Drone 25 Unit
42 Zerg Overlord 50 Unit
43 Zerg Mutalisk 150 Unit
44 Zerg Guardian 275 Unit
45 Zerg Queen 200 Unit
46 Zerg Defiler 112.5 Unit
47 Zerg Scourge 50 Unit
50 Infested Terran 100 Unit
58 Terran Valkyrie 200 Unit
60 Protoss Corsair 175 Unit
61 Protoss Dark Templar 162.5 Unit
62 Zerg Devourer 275 Unit
63 Protoss Dark Archon 325 Unit
64 Protoss Probe 25 Unit
65 Protoss Zealot 50 Unit
66 Protoss Dragoon 125 Unit
67 Protoss High Templar 175 Unit
68 Protoss Archon 350 Unit
69 Protoss Shuttle 100 Unit
70 Protoss Scout 325 Unit
71 Protoss Arbiter 512.5 Unit
72 Protoss Carrier 475 Unit
73 Protoss Interceptor 15 Unit
83 Protoss Reaver 200 Unit
84 Protoss Observer 112.5 Unit
103 Zerg Lurker 125 Unit
106 Terran Command Center 200 Building
107 Terran Comsat Station 37.5 Building
108 Terran Nuclear Silo 37.5 Building
109 Terran Supply Depot 25 Building
110 Terran Refinery 25 Building
111 Terran Barracks 37.5 Building
112 Terran Academy 50 Building
113 Terran Factory 100 Building
114 Terran Starport 100 Building
115 Terran Control Tower 50 Building
116 Terran Science Facility 137.5 Building
117 Terran Covert Ops 37.5 Building
118 Terran Physics Lab 37.5 Building
120 Terran Machine Shop 37.5 Building
122 Terran Engineering Bay 32.5 Building
123 Terran Armory 50 Building
124 Terran Missile Turret 25 Building
125 Terran Bunker 25 Building
130 Infested Command Center 150 Building
131 Zerg Hatchery 150 Building
132 Zerg Lair 50 Building
133 Zerg Hive 50 Building
134 Zerg Nydus Canal 37.5 Building
135 Zerg Hydralisk Den 50 Building
136 Zerg Defiler Mound 75 Building
137 Zerg Greater Spire 100 Building
138 Zerg Queen's Nest 87.5 Building
139 Zerg Evolution Chamber 20 Building
140 Zerg Ultralisk Cavern 137.5 Building
141 Zerg Spire 125 Building
142 Zerg Spawning Pool 37.5 Building
143 Zerg Creep Colony 20 Building
144 Zerg Spore Colony 12.5 Building
145 Unused Zerg Bldg 5 Building
146 Zerg Sunken Colony 20 Building
149 Zerg Extractor 12.5 Building
153 Unused Zerg Bldg 5 5 Building
154 Protoss Nexus 200 Building
155 Protoss Robotics Facility 150 Building
156 Protoss Pylon 25 Building
157 Protoss Assimilator 25 Building
158 Protoss Unused 5 Building
159 Protoss Observatory 87.5 Building
160 Protoss Gateway 37.5 Building
162 Protoss Photon Cannon 50 Building
163 Protoss Citadel of Adun 100 Building
164 Protoss Cybernetics Core 50 Building
165 Protoss Templar Archives 125 Building
166 Protoss Forge 50 Building
167 Protoss Stargate 150 Building
169 Protoss Fleet Beacon 175 Building
170 Protoss Arbiter Tribunal 225 Building
171 Protoss Robotics Support Bay 62.5 Building
172 Protoss Shield Battery 25 Building
179 Cave 5 Building
180 Cave-in 5 Building
181 Cantina 5 Building
182 Mining Platform 5 Building
183 Independent Command Center 5 Building
184 Independent Starport 5 Building
185 Jump Gate 5 Building
186 Ruins 5 Building
187 Kyadarin Crystal Formation 5 Building
0 Terran Marine 25 Unit
1 Terran Ghost 87.5 Unit
2 Terran Vulture 37.5 Unit
3 Terran Goliath 100 Unit
5 Terran Siege Tank (Tank Mode) 175 Unit
7 Terran SCV 25 Unit
8 Terran Wraith 200 Unit
9 Terran Science Vessel 312.5 Unit
11 Terran Dropship 150 Unit
12 Terran Battlecruiser 600 Unit
14 Nuclear Missile 400 Unit
32 Terran Firebat 50 Unit
34 Terran Medic 62.5 Unit
37 Zerg Zergling 12.5 Unit
38 Zerg Hydralisk 62.5 Unit
39 Zerg Ultralisk 325 Unit
41 Zerg Drone 25 Unit
42 Zerg Overlord 50 Unit
43 Zerg Mutalisk 150 Unit
44 Zerg Guardian 275 Unit
45 Zerg Queen 200 Unit
46 Zerg Defiler 112.5 Unit
47 Zerg Scourge 50 Unit
50 Infested Terran 100 Unit
58 Terran Valkyrie 200 Unit
60 Protoss Corsair 175 Unit
61 Protoss Dark Templar 162.5 Unit
62 Zerg Devourer 275 Unit
63 Protoss Dark Archon 325 Unit
64 Protoss Probe 25 Unit
65 Protoss Zealot 50 Unit
66 Protoss Dragoon 125 Unit
67 Protoss High Templar 175 Unit
68 Protoss Archon 350 Unit
69 Protoss Shuttle 100 Unit
70 Protoss Scout 325 Unit
71 Protoss Arbiter 512.5 Unit
72 Protoss Carrier 475 Unit
73 Protoss Interceptor 15 Unit
83 Protoss Reaver 200 Unit
84 Protoss Observer 112.5 Unit
103 Zerg Lurker 125 Unit
106 Terran Command Center 200 Building
107 Terran Comsat Station 37.5 Building
108 Terran Nuclear Silo 37.5 Building
109 Terran Supply Depot 25 Building
110 Terran Refinery 25 Building
111 Terran Barracks 37.5 Building
112 Terran Academy 50 Building
113 Terran Factory 100 Building
114 Terran Starport 100 Building
115 Terran Control Tower 50 Building
116 Terran Science Facility 137.5 Building
117 Terran Covert Ops 37.5 Building
118 Terran Physics Lab 37.5 Building
120 Terran Machine Shop 37.5 Building
122 Terran Engineering Bay 32.5 Building
123 Terran Armory 50 Building
124 Terran Missile Turret 25 Building
125 Terran Bunker 25 Building
130 Infested Command Center 150 Building
131 Zerg Hatchery 150 Building
132 Zerg Lair 50 Building
133 Zerg Hive 50 Building
134 Zerg Nydus Canal 37.5 Building
135 Zerg Hydralisk Den 50 Building
136 Zerg Defiler Mound 75 Building
137 Zerg Greater Spire 100 Building
138 Zerg Queen's Nest 87.5 Building
139 Zerg Evolution Chamber 20 Building
140 Zerg Ultralisk Cavern 137.5 Building
141 Zerg Spire 125 Building
142 Zerg Spawning Pool 37.5 Building
143 Zerg Creep Colony 20 Building
144 Zerg Spore Colony 12.5 Building
145 Unused Zerg Bldg 5 Building
146 Zerg Sunken Colony 20 Building
149 Zerg Extractor 12.5 Building
153 Unused Zerg Bldg 5 5 Building
154 Protoss Nexus 200 Building
155 Protoss Robotics Facility 150 Building
156 Protoss Pylon 25 Building
157 Protoss Assimilator 25 Building
158 Protoss Unused 5 Building
159 Protoss Observatory 87.5 Building
160 Protoss Gateway 37.5 Building
162 Protoss Photon Cannon 50 Building
163 Protoss Citadel of Adun 100 Building
164 Protoss Cybernetics Core 50 Building
165 Protoss Templar Archives 125 Building
166 Protoss Forge 50 Building
167 Protoss Stargate 150 Building
169 Protoss Fleet Beacon 175 Building
170 Protoss Arbiter Tribunal 225 Building
171 Protoss Robotics Support Bay 62.5 Building
172 Protoss Shield Battery 25 Building
179 Cave 5 Building
180 Cave-in 5 Building
181 Cantina 5 Building
182 Mining Platform 5 Building
183 Independent Command Center 5 Building
184 Independent Starport 5 Building
185 Jump Gate 5 Building
186 Ruins 5 Building
187 Kyadarin Crystal Formation 5 Building
Player Look-up List
Note: For Player 5 and above, the Protoss Limit for units will require a player number greater than one byte. This is not possible. These are in square brackets.Players 9-12 are useless and not included in this list.
Code
Player 1 Unit Building
Zerg Available 157 73
Zerg Used 169 85
Zerg Limit 181 97
Terran Available 193 109
Terran Used 205 121
Terran Limit 217 133
Protoss Available 229 145
Protoss Used 241 157
Protoss Limit 253 169
Player 2 Unit Building
Zerg Available 158 74
Zerg Used 170 86
Zerg Limit 182 98
Terran Available 194 110
Terran Used 206 122
Terran Limit 218 134
Protoss Available 230 146
Protoss Used 242 158
Protoss Limit 254 170
Player 3 Unit Building
Zerg Available 159 75
Zerg Used 171 87
Zerg Limit 183 99
Terran Available 195 111
Terran Used 207 123
Terran Limit 219 135
Protoss Available 231 147
Protoss Used 243 159
Protoss Limit 255 171
Player 4 Unit Building
Zerg Available 160 76
Zerg Used 172 88
Zerg Limit 184 100
Terran Available 196 112
Terran Used 208 124
Terran Limit 220 136
Protoss Available 232 148
Protoss Used 244 160
Protoss Limit 256 172
Player 5 Unit Building
Zerg Available 161 77
Zerg Used 173 89
Zerg Limit 185 101
Terran Available 197 113
Terran Used 209 125
Terran Limit 221 137
Protoss Available 233 149
Protoss Used 245 161
Protoss Limit [257] 173
Player 6 Unit Building
Zerg Available 162 78
Zerg Used 174 90
Zerg Limit 186 102
Terran Available 198 114
Terran Used 210 126
Terran Limit 222 138
Protoss Available 234 150
Protoss Used 246 162
Protoss Limit [258] 174
Player 7 Unit Building
Zerg Available 163 79
Zerg Used 175 91
Zerg Limit 187 103
Terran Available 199 115
Terran Used 211 127
Terran Limit 223 139
Protoss Available 235 151
Protoss Used 247 163
Protoss Limit [259] 175
Player 8 Unit Building
Zerg Available 164 80
Zerg Used 176 92
Zerg Limit 188 104
Terran Available 200 116
Terran Used 212 128
Terran Limit 224 140
Protoss Available 236 152
Protoss Used 248 164
Protoss Limit [260] 176
Zerg Available 157 73
Zerg Used 169 85
Zerg Limit 181 97
Terran Available 193 109
Terran Used 205 121
Terran Limit 217 133
Protoss Available 229 145
Protoss Used 241 157
Protoss Limit 253 169
Player 2 Unit Building
Zerg Available 158 74
Zerg Used 170 86
Zerg Limit 182 98
Terran Available 194 110
Terran Used 206 122
Terran Limit 218 134
Protoss Available 230 146
Protoss Used 242 158
Protoss Limit 254 170
Player 3 Unit Building
Zerg Available 159 75
Zerg Used 171 87
Zerg Limit 183 99
Terran Available 195 111
Terran Used 207 123
Terran Limit 219 135
Protoss Available 231 147
Protoss Used 243 159
Protoss Limit 255 171
Player 4 Unit Building
Zerg Available 160 76
Zerg Used 172 88
Zerg Limit 184 100
Terran Available 196 112
Terran Used 208 124
Terran Limit 220 136
Protoss Available 232 148
Protoss Used 244 160
Protoss Limit 256 172
Player 5 Unit Building
Zerg Available 161 77
Zerg Used 173 89
Zerg Limit 185 101
Terran Available 197 113
Terran Used 209 125
Terran Limit 221 137
Protoss Available 233 149
Protoss Used 245 161
Protoss Limit [257] 173
Player 6 Unit Building
Zerg Available 162 78
Zerg Used 174 90
Zerg Limit 186 102
Terran Available 198 114
Terran Used 210 126
Terran Limit 222 138
Protoss Available 234 150
Protoss Used 246 162
Protoss Limit [258] 174
Player 7 Unit Building
Zerg Available 163 79
Zerg Used 175 91
Zerg Limit 187 103
Terran Available 199 115
Terran Used 211 127
Terran Limit 223 139
Protoss Available 235 151
Protoss Used 247 163
Protoss Limit [259] 175
Player 8 Unit Building
Zerg Available 164 80
Zerg Used 176 92
Zerg Limit 188 104
Terran Available 200 116
Terran Used 212 128
Terran Limit 224 140
Protoss Available 236 152
Protoss Used 248 164
Protoss Limit [260] 176
Player Look-up Form
Help you be more lazy. ;)Supply Modification Lookup (External Link)
Ammo Systems
Ammo Systems
You'll find these kinds of triggers in some UMS maps-- particularly realistic horror (such as Raccoon City) and GTA maps. It can be pretty frustrating to implement this instead of a real Ammo System because it doesn't actually detect when a player shoots, but when a player kills a unit.Regardless, this system makes it so you have to watch your ammo gauge, because if you don't you'll be caught in some crossfire without any ammo. Usually you'll be shooting at units with one-shot kills (with notable exceptions) and no buildings. Note: You cannot completely disable a unit from firing at all because the player can manually firing by clicking on the attack button and clicking on the target (although with hyper triggers, it makes doing this much harder with most units). Most of the time, you should set it so that the minerals and the gas is their ammo gauge - Minerals for the ammo in their current clip, and gas for clips they have stored.
Ammo Triggers
Ammo Initialization
This makes it so that they'll have six shots to start off with, and 2 extra clips, meaning 18 shots.
Ammo Usage
There you go. This will take away ammo from the unit's ammo gauge.
Ammo Reload
You can take out the Wait trigger if you want. The Force 2 in the 2nd Set Alliance after the reload could be the enemies that you're firing at. Anyways, a player has to run out of ammo, doesn't he?
Out of Ammo
This is best used with Hyper Triggers.
Ammo Reload
And that's it. If you want to keep that location to always give the player ammo, preserve trigger.
Anti-Lifting off
The Terran building's Liftoff ability cannot be disabled directly, but there are several ways to prevent players from moving their buildings.
Simply destroying buildings that lift off is probably the easiest method. This can be done by placing enemy air attackers near the buildings, or by creating an air-only location over the buildings and killing anything that enter it. If you destroy a player's building for lifting off, you may want to recreate it on the ground.

Another way is to disable the buildings with the Set Doodad State action. This cannot be used on the Command Center, Starport, or Science Facility. Disabled buildings are unable to liftoff, but their other functions are disabled as well.
Placing the buildings as Unit Sprites and checking their Disabled property will also prevent them from lifting. As with the above method, disabling Liftoff this way will also disable all of the building's other functions. This can be used on all of the buildings. Additionally, this will cause the buildings to appear half-built.

Lastly, you can allow buildings to lift off, but move them back or destroy them if they leave a designated area. One thing to remember about doing this is that the Move Unit and Order actions are unable to effect buildings that have been given an order to land.
Damage Order of Operations
Damage Order
To determine how much damage an attack will do to a unit, follow these steps.1. If the unit has shield HP, subtract shield armor upgrades from the damage.
2. Apply the damage to the shield HP.
3. If any damage remains, subtract the unit's armor from the damage.
4. If the damage is Explosive or Concussive type, modify it based on the unit's size.
Explosive damage deals 100% to large units, 75% to medium units, and 50% to small units.
Concussive damage deals 25% to large units, 50% to medium units, and 100% to small units.
5. Apply the remaining damage to the HP. If the remaining damage is one-half or less, it will do a half-point of damage.
Example 1:
Siege Tank (70 damage, explosive) attacks a Zealot (60 shields, 100 hit points, 1 armor)1. 70 damage is reduced by 0. (No shield armor upgrades)
2. 60 shield points are removed from the zealot. 10 damage remains.
3. 10 damage is reduced by 1. (Zealot base armor)
4. The damage is Explosive type and the Zealot is small. 9 damage becomes 4.5 damage.
5. 100 HP reduced to 96.5.
Example 2:
Hydralisk (10 damage, explosive) attacks a Matriarch (300 hit points, 3 armor, medium size)1. 10 damage is reduced by 0. (No shield armor upgrades)
2. 0 shield points are removed from the Matriarch. 10 damage remains.
3. 10 damage is reduced by 3. (Matriarch base armor)
4. The damage is Explosive type and the Matriarch is medium (75% damage). 7 damage becomes 5.25 damage.
5. 300 HP reduced to 294.75.
Example 3:
Ghost (10 damage, concussive) attacks a Siege Tank (150 hit points, 1 armor, large size)1. 10 damage is reduced by 0. (No shield armor upgrades)
2. 0 shield points are removed from the Siege Tank. 10 damage remains.
3. 10 damage is reduced by 1. (Siege Tank base armor)
4. The damage is Concussive type and the Siege Tank is large (25% damage). 9 damage becomes 2.25 damage.
5. 150 HP reduced to 147.75.
Spell damage:
All spells except for Yamato Cannon and Nuke ignore unit armor. Yamato Cannon does 260 explosive damage to a single target. Plague also ignores Protoss shields and does damage directly to the unit or buildings HP. See the 3 spell pages for full details, including damage and duration, for all spells and abilities.See also: Spells (Terran), Spells (Protoss), Spells (Zerg).
Automatic Doors
The Installation tileset's door doodads can be opened and closed with the Set Doodad State action.
When a door is disabled it opens and becomes walkable. When a door is enabled it closes and become a barrier.
In many maps, doors will open when a ground unit comes near them, and close when the unit moves away. In fact, when ordering a units to the far side of a door, they will expect the door to open for them, and walk up to it, rather than trying to find a path around the door. Doors, however, will not open and close automatically; triggers must be created for this to occur.
The first step in creating an automatic door is to place the door and create a location over it. You may want to set the location to ground-only to prevent air units from opening the door.

If you place the door as a doodad, it will belong to Player 12, and you will need to reference Player 12 or All Players in your Set Doodad State action.
If you place the door as a unit, take note of which player owns it or use All Players.
Simply disabling the door when a unit is near and enabling it when the unit leaves may not be good enough. This can cause the door to behave very strangely, particularly if you are using Hyper Triggers. To prevent this problem, we will use a switch for each door. The switch will keep track of whether the door is open or closed at any given moment, so we don't accidentally enable or disable it needlessly.
You 'open door' trigger should look something like this:
Then, the close door trigger:Make sure to choose the correct type of door.
Using this method, your automatic doors will be nearly fool-proof. If a unit moves in and out of the door's location very rapidly it is possible for the door's animations to mess up. This problem can be prevented by giving the open and close triggers a cooldown time.
Burrow Detection
Burrow Detection
First off you will need a 1x1 pixel location. You can create one with StarForge. It should be a tiny dot (not a grid square); we will name that 1x1 pixel location "PL".
You can easily create a Pixel Sized location by changing the coordinates of the ending position of the location in SCMDraft2:
http://maplantis.org/storage/wiki/scmd2pixel.PNG (img: failed to get size)
Now have another unit placed elsewhere where it wont interfere with the map. I will use a Zerg Drone in my example. Make a location around it. I'll call it "Recall".
What we are doing is we are constantly moving (teleporting) a unit to a 1x1 pixel location. Since there is also another unit there, it wont be able to move (teleport) there. If it is able to move (teleport) there, that means the unit is burrowed.
The order of these triggers matter, so do not change them.
Example Map:
http://www.staredit.net/?file=274
Dark Swarm Firing System
Dark Swarm Firing System(or Disruption Web)
Despite what many people think, it's actually a lot more complex than it seems to be... unless you only intend to use it for one player. The real trick is how to handle shot conflicts, as there is no way to tell who casts a dark swarm/disruption web in the game except by who is closest to it. Anyway, here's how to accomplish the basic trick:
All italized actions are optional.
All italized actions are optional.
[05:14 am]
[04:42 am]
[04:42 am]
[04:22 am]
[04:21 am]
[04:18 am]
[04:18 am]




