recursal/Fanatic-Fandom huggingface dataset:
Increasing Map Speed (1.15)

This is a simple guide that will teach you how to give a map increased speed.

**Step 1:**
Create a new map. Place a Scarab (or Interceptor, or possibly other units) on the map. It must be the first unit you place.

Any units placed before the Scarab will be "frozen" during the game, unable to move or attack (among other strange effects).

**Step 2:**
Give the Scarab to Player 15.

* In SCMDraft 2, do this by selecting the Scarab, opening it's properties, and typing "15" into the Player field.
* In StarForge, type 15 into the Owner field.

And that's all there is to it. Any units created after the Scarab will move and shoot faster than normal.

You may notice some side effects when using increased speed, such as units not auto-acquiring targets. These things may or may not be a problem, depending on what you need the units to do in your map.

Placing a player 15 map revealer will provide an animation speed boost, and only allow 2x attack, but 1x move speed.

This method also works for the current version of Starcraft 1.16.1.
Wav Files

Starcraft supports only .wav files in the map editor when you want to make sounds play in-game. Since players must download maps before playing them, it is important to make these files smaller, but if you wish, still have a bit of quality within them.

## Mono vs Stereo

When compressing a sound using whichever program you wish (windows sound recorder works well for this, but audacity works good as well), you'll be given the option to make a sound to mono. The answer to this, is yes.

It is standard that TVs and computers have two speakers, one for the left and one for the right. In certain situations, games or movies will want a character to talk on the left, so to make it sound like its coming from that direction, the sound is coming from the left individual speaker. Stereo allows for this to happen, to map each speaker individually. For StarCraft, it is just a waste of space, since it is an RTS game and the experience doesn't change at all from what direction the sound comes in. Converting the sound to mono will remove the second channel, thus cutting the file size in half, and all it does is output the same sound for both speakers, much like you'd be doing with stereo anyway.

## 16-bit vs 8-bit

The difference between the two is that 16bit allows for higher quality sounds, if you don't set the sampling rate all the way to the bottom. While Staredit can compress 16-bit sound files, a little experimentation with sounds of different bit rates saved into a map reveals that 16-bit sound files take up less space, so 16-bit sounds are your best option.

## Sampling Rate

This is the important one that you'll have to play around with. Sampling rate reflects on the quality of sound you hear. If you set this all the way to the lowest value possible, then the sound quality will be very poor, but take up the least amount of space in your map. It is important to balance quality vs file size, as music will sound better with slightly higher sampling rate, and most sound effects won't sound any different at the lowest sampling rate.
Downgrading Starcraft

**Downgrading** is the act of reversing a software update.

There are a variety of reasons to downgrade *StarCraft*. Many mods only work with certain versions of the game, and users with later versions have to downgrade to use them. Maps that use EUDs only work on specific versions of the game, as patches change the locations of the game's data and invalidate the maps' triggers.

## Downgrading manually

Downgrading *StarCraft* manually simply requires that you "hide" your previous installation of the game, reinstall it from the CD, find the desired patch on Blizzard's website, and then apply it. This results in you having two separate copies of *StarCraft*, with different versions.

* Open the Start Menu. Select Run..., type regedit, and click OK.
* A new window -- the Registry Editor -- should appear. Its left panel should contain a tree view. Open HKEY\_LOCAL\_MACHINE.
* Open SOFTWARE.
* Scroll to find "Blizzard Entertainment".
* Open that folder, and open the StarCraft folder inside.
* In the right panel, right-click on "InstallPath", and select Modify.
* Change the value to a directory that doesn't exist, or simply delete the path string.
* Insert your StarCraft CD, and re-install the game.
* Download the desired patch from Blizzard's FTP site. Apply it.
* Run StarCraft.

Note: Installing *StarCraft* a second time modifies the registry keys (specifically, the "InstallPath" key mentioned above) to refer to the new, downgraded *StarCraft*. As a result, programs that depend on this key (including MemGraft patches) will affect the newly-installed StarCraft. When you use the AutoRun, it will run the downgraded StarCraft. To play on Battle.net, make a shortcut to your current (first) version of StarCraft and run that instead.

## SCDowngrader

SCDowngrader is a utility created by FaRTy[MM] aka O)FaRTy1billion. It automates much of the downgrading process. The utility is currently in its third version, which doesn't require the user to have copies of every patch. (Only the desired patches need to be loaded into the downgrader, and they may be obtained at the utility's website.) Those using the previous version (which came with every patch built-in) can update using a specialized installer, without having to download all of the program's files.
Immobilizing Units

## Order to Present Location

A single unit can be stopped in place by using the Order action to order the unit to where it already is. To do it, simply move a location to the unit and order it to that location.

If used constantly with hyper triggers, units can be completely immobilized by this method.

Note: The unit will not be able to attack.

Stopping multiple units of the same type with this method is not quite as simple though. For example: You have 10 Zerglings running around and you wish to stop them all. To do this, you have to move the location to a Zergling, order it to the location, give the Zergling to a different player, and repeat this until all the Zerglings have been stopped.

Fortunately, the following method can be used to do this task very easily.

## Move to Invalid Location

When a Move Unit action attempts to move a unit to a location that the unit cannot be moved to, the unit will lose its move orders. The map Try to Move demonstrates this method by moving your unit to a location over water.

Example: If a trigger tries to move a walking Marine to a location over water terrain, the Marine will stop.

Another example: If a trigger tries to move a flying Wraith to a location with many air units around it, the Wraith will stop.

This effect makes it possible to basically issue a stop order to a unit. What makes this method different from using the Order action to stop a unit is that it can easily be used on many units at once.

In another example: If you need to stop up to one hundred miscellaneous ground units all at once, it would be difficult to order them all individually. A single Move Unit trigger to a location on unwalkable terrain could stop them all at once.

If used constantly with hyper triggers, units can be completely immobilized by this method. Additionally, this method does not interfere with attack orders; immobilized units are free to attack. Unfortunately, other units may have difficulty attacking an immobilized unit, as each Move action will interrupt their attack orders.

One thing to keep in mind is, this method cannot stop a flying building that has been commanded to land without some help. The command to land is constant so it will act un-interrupted even if you are constantly trying to move it or order it to move. To interrupt this command you must first give it to another player then give it back, this interrupts the landing command. Once you have done that you can then use the invalid location method to stop its movement.
Set Doodad State

**Set Doodad State** is a trigger action in *StarCraft*. It was originally intended for use with doodad units. When used on other units (via the use of a third-party map editor), it can cause a number of strange effects, though the two most common are the cloaking of non-cloakable units and game crashes.

## Background

Some doodads on the Installation tileset have unit sprites attached to them; these unit sprites function quite similarly to ordinary units. The units include doors and "trap" units that attack when hostiles approach. Set Doodad State was designed to allow mappers to manipulate and script the behaviors of these units.

Set Doodad State lets a mapper *enable* or *disable* a unit. When door units are enabled, they close; disabling them causes them to open, and let other units pass. Trap units engage and enter their attack states when enabled; disabling them causes them to withdraw.

When used on non-doodad units, however, the trigger action essentially causes the execution of non-existent game scripts. Essentially, this is an example of undefined behavior.

## Effects by unit

The following units labeled "cloaks" will almost always cloak when disabled, though some may experience other quirks.

Note that buildings must be detected or otherwise seen by a player before cloaking (and then they only appear cloaked to that player and anyone that shares vision of them). Protoss buildings must also either be powered by a Protoss Pylon or enabled (before being disabled). Terran add-ons must be attached to their host building to cloak. All cloaked buildings will be visible in the light fog of war that covers areas that a player has explored but doesn't have vision of.

Certain overlays (such as on beacons, powered shield batteries, or building fire) will still be visible when the unit is cloaked. This is useful for creating certain effects like burning trees or lights.

Some units cannot be placed on a map for various reasons (or do not appear during gameplay), and hence cannot be tested. These units are marked as "Unknown/unused".

Disabled powerups can not be picked up.
Bring Condition Bug

Although rare, there are cirumstances in which the "Bring" condition in Starcraft will return true when we know it to be false. Associated with each Location in Starcraft is a block of data, and unfortunately it does not always update correctly between triggers. The Location data will only update when certain Trigger Actions fire, and at the beginning of a trigger cycle\*. Here is a prime example of how this bug can occur:

* needs verification from someone who is 100% sure

*StarCraft* Trigger [template]
Players

* Player 1

Conditions

* Always();

Actions

* Set Deaths("Current Player", "Terran SCV", Add, 1);
* Preserve Trigger();

*StarCraft* Trigger [template]
Players

* Player 1

Conditions

* Deaths("Current Player", "Terran SCV", Exactly, 3);
* Bring("Current Player", "Terran Marine", "Location 37", At least, 1);

Actions

* Kill Unit("Current Player", "Terran Marine");
* Preserve Trigger();

*StarCraft* Trigger [template]
Players

* Player 1

Conditions

* Deaths("Current Player", "Terran SCV", Exactly, 3);

Actions

* Display Text Message(Always Display, "Whoa, this trigger thinks there is a Marine at Location 37!");

In the above example, the deaths of SCV are used to simulate whatever game event could be occuring where the bug happens, but has no actual effect on the bug. In these triggers, when the trigger cycle of exactly 3 SCV deaths (or whatever other event is in your map) comes around, the middle trigger kills all the marines on the map for Current Player. Then the next trigger, which fires immediately after the middle trigger, also fires, when we know it should not fire, since we know all the marines are already dead. This happens because the Location data did not update so StarCraft still thinks there is a Marine at Location 37.

This is not the only possible way for this bug to occur, but occurances of it are rare, which is one reason why it's such a frustrating bug. If it happens to you and you don't know about it, then you won't be able to find a logic error in your triggers.

Fortunately, we can force Starcraft to update the Location data for a given location between any two given triggers by using the actions Remove Unit at Location, Kill Unit at Location, Move Location, and Move Unit. The best action to use is "Remove 1 Map Revealer for Player at Location" because it will not actually remove a map revealer (they can only be removed by the Remove All Unit action) so the only effect it will have is to update the Location data.
Evangelion Unit 00-06

**Evangelion Unit 00-06** is a cybernetic mecha unit used by SuperNerd295 and constructed by The Resistance. It's pilot is Joshua Brown.

## Appearance

Eva Unit 06 is a tall lengthy humanoid that is dark blue and orange in color. It's shoulder both sport pylons and it has a red visor over it's small yellow eyes. It's head was two horns in the center of it and it has an elongated chin.

## History

### Pre-RP

Angels, a strange and diverse species of alien life located on our Moon and Mars. Endangered, they do not require water or food, nor oxygen for survival, which makes their case a strange one. In our space age the governments took their corpses in for study, but the Gior invaded soon after. The Resistance gathered these corpses in secret, and weaponized them, breathing new life into them. So far these have remained a secret, until the attack of Iris.

### RP

This section will be added onto as the RP progresses.

## Weapons

This is the typical load out an Eva is deployed with.

* Pallet Rifle - An auto rifle utilized by every unit. Although thin and portable, it's shots are effective enough.
* Spear of Cassius - A weapon utilized by Unit 06 in desperate times, the spear is capable of tearing through even the toughest of flesh and rips through it's opponents. After use the spear will loose this property and operate like a normal spear.
* Progressive Knife - A powerful knife that vibrates at high speeds enhancing it's sharpness. It is stored in an Eva's shoulder pylon.

Unit 00-06 also has access to any other weapons that are given to it by The Resistance, which would consist of larger versions of human weapons (Ex: Mini Gun, Revolver, Crossbow).

## Abilities

*These abilities only work when this Unit goes Berserk, or 400% synchro (you choice of wording).*

* A.T. Field - A protective barrier projected by living organisms. Although all creatures have it, only Angels and Eva's can make it manifest. Unless countered with another A.T. Field it is near indestructible. However, powerful enough creatures can rip through and destroy A.T. Fields. They can, in rare and difficult to accomplish circumstances, be used offensively.
* Regeneration - When in Berserk mode, an Eva can press another Angel or Eva's flesh against it's wound to heal itself.

## Trivia

* I had to change a lot of things to make this fit into the RP. If you see an inconsistency, please point it out and list possible changes to make it work.
	+ In the actual series, Angels where put on every planet via a Seed of life. Earth got two resulting in both humans and Angels.
	+ Unit 06 is not seen with anything but the Spear of Cassius as a weapon, and can utilize A.T. Fields whilst being normally piloted, although it's pilot, Kowaru Nagisa, is an Angel himself.
	+ In Rebuild of Evangelion, the Spear of Cassius *does not* loose it's powerful properties when used.
Damage Order of Operations

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.
5. Explosive damage deals 100% to large units, 75% to medium units, and 50% to small units.
6. Concussive damage deals 25% to large units, 50% to medium units, and 100% to small units.
7. Apply the remaining damage to the HP.

Remainder damage has some special rules and is calculated in the following way: The lowest integer of damage you can achieve in Starcraft is .25 HP, achieved from concussive damage under the right circumstances (an odd number after armour reductions on large units). This also happens to be the lowest increment of HP that Starcraft will count in: ie the base unit for HP is **.25**. The minimum damage in a single attack, however, is **.5**. Starcraft will display any remainder HP, even .25, as rounded up to 1 whole point.

### 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).
Mapmaking Tips by KckKryptonite

Map Making Tips by KckKryptonite

By KckKryptonite, 2003-04-20 @ 01:00:00

Overview I think my maps have had their fair share of time in the sunlight ya know what I'm sayin', and these are some things you should keep in mind, as I have, when making a map. Just my ...

Do It Originality: This is a MUST. Your map should have creativity and original ideas, unlike those pools of stupid Defense maps being made over and over with basically the same idea. Something that should isolate and differentiate your map from the rest of the maps. Don't fall into that crowd. Look at the creator of Golem Madness, who took a simple madness and added his ideas and effort.

Effort: Well, where are you without effort? Effort is good. Put in effort. Make every little thing count, from neatness, to organization, to grammar; trust me, because in the end, many times its the small things that count. If you see that small grammar error or spell bug, FIX IT. A buggy map is probably the last thing I'll want to play again.

Triggers: Okay, its obvious that your going to have to know your triggers well, but I don't think this is as much a factor as the other things. Is it fun? Alright, this is what it all comes down to in the end, is it fun? Will I want to play it again? So without this, well... self explanatory.

Alright, in conclusion, I know no one will ever make a perfect map but make yours as close as you can to perfection. When you make a map you must always have an idea of what its going to be, because thats just as important as the effort you put in. I also think the name of a map, although not as important, still has a huge impact on it so you'll want to take a few seconds to make an interesting name. If you follow these three simple things, I promise you at some point you will be noticed as a map maker. I'll end this tutorial with that old saying "Quality over quantity". Good luck

(Article copied over from Old Old Wiki; Original Article - http://doodle77.dyndns.org/tutorials.php?id=117)
Binary Countoffs

A binary **countoff** is used to move the value of one counter to another counter with as few triggers as possible. It is important to know how the binary, or base 2, number system works. The reason for knowing how binary works is to help you understand how this trigger system works.

## Triggers

*StarCraft* Trigger [template]
Players

* Neutral

Conditions

* Current player accumulates at least 16 gas.

Actions

* Preserve trigger.
* Set Resources for current player: Add 16 minerals.
* Set Resources for current player: Subtract 16 gas.

*StarCraft* Trigger [template]
Players

* Neutral

Conditions

* Current player accumulates at least 8 gas.

Actions

* Preserve trigger.
* Set Resources for current player: Add 8 minerals.
* Set Resources for current player: Subtract 8 gas.

*StarCraft* Trigger [template]
Players

* Neutral

Conditions

* Current player accumulates at least 4 gas.

Actions

* Preserve trigger.
* Set Resources for current player: Add 4 minerals.
* Set Resources for current player: Subtract 4 gas.

*StarCraft* Trigger [template]
Players

* Neutral

Conditions

* Current player accumulates at least 2 gas.

Actions

* Preserve trigger.
* Set Resources for current player: Add 2 minerals.
* Set Resources for current player: Subtract 2 gas.

*StarCraft* Trigger [template]
Players

* Neutral

Conditions

* Current player accumulates at least 1 gas.

Actions

* Preserve trigger.
* Set Resources for current player: Add 1 minerals.
* Set Resources for current player: Subtract 1 gas.

As you can see the triggers take this form:

*StarCraft* Trigger [template]
Players

* Neutral

Conditions

* Current player accumulates at least 2^x gas.

Actions

* Preserve trigger.
* Set Resources for current player: Add 2^x minerals.
* Set Resources for current player: Subtract 2^x gas.

Where x keeps going down until it reaches 0. In the previous example x goes from 4 to 0.

Notice that the numbers are powers of 2 (1, 2, 4, 8, 16, etc) in reverse order. In order to calculate the maximum number transferable per trigger run, take the sum of the same value from each trigger. A simpler way to calculate it would be to take the next power of 2 higher than the highest power of 2 in the countoff (2^5 in the example) and subtract 1. In the above case, 31 gas will be converted into minerals per trigger run. Because of the use of powers of two in the order shown, any number between 0 and 31 can be transferred in one trigger cycle with just these 5 triggers.

Adding more triggers increases the number range exponentially.

A binary countoff like this can be useful for various things, such as counter arithmetic, or almost anything else.
Pixie Girl

¡Spoilers!
¡Éste página contiene SPOILERS!
Continúas bajo tu propio riesgo.

 **Duración** | 11 minutos

**Pixie Girl** es una serie animada en CGI Francia producida por ZAG Animation. Se proyecta para estrenar en 2019  con 39 episodios, cada uno de 11 minutos de largo.

## Sinopsis

Una Pixie valiente y aventurera, y su asombroso amigo humano, exploran la ciudad de Nueva York mientras luchan contra el gobierno tiránico de los malvados wytches de la ciudad, que planean dejar de lado los lazos de la ciudad con los duendecillos y la pureza de la naturaleza. Utilizando sus poderes mágicos de duende, Pixie Girl debe correr como un reloj con ritmo, para frustrar las tramas malvadas de los wytches y regresar a la seguridad de Central Park antes de que su resplandor desaparezca para siempre. ¿Pueden los poderes especiales, la intención pura y una sociedad humana revivir los lazos perdidos de la ciudad con la naturaleza? ¡Lo estamos apostando!

## Personajes

* **Pixie Girl**
* The Sorcerer
* MamaWitch
* Dracula
* Gargoyle
* The Witch

## Referencias

1. ↑ http://www.zag-inc.com/releasedates
2. ↑ https://www.instagram.com/p/zV2FsNSQ9T/
3. ↑ http://worksmart.fr/zag4/projects/pixie
Brush Files

**Brush files** are resource files used in SCMDraft 2 and StarForge. They store pieces of terrain, sprites, units, and doodads called **brushes**. Brush files act as palettes for such elements, and allow brushes to be placed on a map with relative ease.

## In SCMDraft 2

### Creation

The process of creating a brush file is relatively simple. Open the **Windows** menu and choose **Brush Palette**. A small window with multiple form controls will appear. The topmost drop-down menu is used to view different brush files (as multiple brush files may be opened, but only one may be displayed). The other drop-down beneath it is used to filter the brush file's contents by tileset. The Delete button removes a selected brush from the current brush file. Open File is used to load a new brush file into the editor, and Save File saves the current list of brushes as a brush file. The Add Brush button stores the current selection as a brush.

To actually paste a brush into a map, simply select the brush from the listbox on the Brush Palette, and then click in the map.

#### Selection

When selecting an area for making a brush with, you can use multiple commands to shape your brush differently. Hold the Ctrl key to create a non-rectangular selection, by tracing an outline around the tiles you wish to select. Hold the Shift key to add another selection to the current selection. (Useful for selecting disconnected areas.) The keys may be used in combination.

## Additional information

Staredit.net's forums contain a Brush Project topic, which acts as a directory for brush files. The goal is to help mapmakers use a variety of extended terrain in their maps.
Regeneration

In StarCraft, regeneration is the slow increase of a unit's health, shields, or energy.

### How It Works

To understand regeneration, you have to understand that Starcraft hides data from you. Health and Shields each are stored in memory in 4 bytes, however Starcraft only tells you the last 3 bytes. The first byte is actually a hidden value which acts as a timer for regeneration. 1 byte = 8 bits, or 28 = 256.

Each frame, a certain regeneration amount is added (or subtracted) to the first byte, according to values in the mpqs:

* Protoss Shields: 7
* Zerg Health: 4
* Energy: 8
* Shield Battery: 1280
* Recharge Shields: -640 (-632 net)
* Burning Terran Building: -20
* Medic: 200
* Personnel Cloaking(Ghost): -18 (-10 net)
* Cloaking Field(Wraith): -21 (-13 net)
* Heal: -100 (-92 net)

SCVs repair units and buildings in a similar way, based on build time and total HP. Multiple SCVs increase the repair rate by adding them together.
R = roundup(.9 \* H/B)
where R = repair rate in 1/256 of hp per frame, H = HP, B = build rate in SCMDraft.
One important note is that R is a 2 byte value, which means that when R > 65535, it loops back over to 0. Here is an example:
A Terran Barracks with a build time of 1, HP of 9999.
R = roundup(.9 \* 256\*9999/1) = 2303770. R>65535, so it rolls over in multiples of 65535.
R = 2303770- k65535, R = 10010. Note that this is still fairly large, and means that each SCV will repair approximately 39 HP every frame.
A slightly more realistic value is that of the default battlecruiser with 500 HP, 2000 Build time:
R= roundup(.9 \* 500\*256/2000) = 58.

Building units follows the same formula, and this explains why some buildings/units come out injured, except they start out with 10% of the base HP, plus 1 frame of "repairing", plus the time it takes to build. In the case of the terran barracks, it will build in 1 frame and come out with .1 \* 9999 + 10010/256 + 10010/256 = 1078.1 HP.

### Healing Rates

*The time used here is realtime.* Since Starcraft is normally played on fastest, or 24 fps, we can calculate the approximate rates of healing:

* Protoss shields use 7, so 256/7/24=~1.5 seconds per shield point.
* Zerg Health use 4, so 256/4/24=~2.67 seconds per health point.
* Medics' Healing uses 200, so 256/200/24=0.053 seconds per health point or 18.75 health per second.
* Shield batteries use 1280, so 256/1280/24=0.0083 seconds per shield point or 120 shields per second.

Other rates can be similarly calculated.
Stacking

**Stacking** refers to situations in which multiple ground units or buildings occupy the same space.

Generally, buildings can only be stacked when pre-placed in a third-party map editor, or when using certain trigger techniques. Most ground units can only be stacked in-game when a powerup is moved on top of them. Terran SCVs and Protoss Probes can stack themselves by constructing buildings over themselves; SCVs may also end up being stacked when completing a building. Ground units, when stacked, will shift around randomly in an attempt to un-stack themselves.

The method used to stack depends on what is being stacked (building or unit), and when it is being stacked (before or during the game). Stacking buildings tends to be easier.

### What will I need to stack?

Stacking requires that you have a third-party map editor, like SCMDraft 2 or StarForge.

### How do I stack buildings?

To stack pre-placed buildings, simply enable your editor's stacking feature, and place the buildings on top of each other. (In SCMDraft 2, this option can be found in the menus, at Options > Units > Allow Stack.)

There are two different ways to stack buildings during a match. The first requires that you choose a location for the stacked buildings, and stack a group of other buildings at that spot. During a match, when you move or remove one of those stacked buildings (via triggers), you can then move another building to that location; it will take the place of the removed building and stack with the others.

Alternatively, you may use the "lightswitch" method. If a player loses vision with themselves (via triggers), they can build structures "in the dark", and these structures will stack with any pre-existing buildings. (To turn off Player 1's vision with themselves, for example, you would have them run the AI script "Turn ON Shared Vision of Player 1 with current player".)

### How do I stack units?

Unlike buildings, pre-placed units will not be stacked when a game begins (with burrowed units being the sole exception). Only pre-placed Unit Sprites can stack.
Jeremy Zag

*Este artículo es un esbozo. Puede ayudar en Zagtoon Wiki expandiéndolo*.

**Jeremy Zag** es el productor de Miraculous: Las Aventuras de Ladybug y el co-fundador de Zagtoon. Es uno de los compositores del tema musical de Miraculous.

## Biografía

Zag nació en Francia; es el presidente de la I.K.S.K.H. en Los Ángeles, aunque vive en París. Jeremy comenzó su carrera como productor en 2009. Como productor también produjo muchos shows como Sammy & Co y Zak Storm.

## Referencias

1. ↑ https://musescore.com/user/4902176/scores/1622896
2. ↑ http://shotokankaseha.com/FR/?page=organisation
IceCC

## (Copied from Homepage)

This is an iscript.bin (Starcraft image script) decompiler and compiler. It comes in the package as 3 separate programs: the console-mode decompiler and compiler (icedc and icecc) and IceCCUI (requires Java Runtime Environment). No other iscript.bin decompiler and compiler set is more correct on the names of animation types or its list of opcodes. Based on the source code for the original IceCC by DI.

## External Links:

http://sfsrealm.hopto.org/downloads/IceCC.html
PyMS

## (Quoted from main forum thread)

PyMS is a StarCraft modding suite writting using the Python programming language (so PyMS source version requires Python 2.5+ installed, the EXE version doesn't), meaning it will work for Mac users and Windows users alike (actually it will run on most OS's if it matters). PyMS contains 13 programs to edit various StarCraft files:

* AI Scripts
* GRP Files
* All DAT Files
* Palette Files
* TBL Files
* GOT Files
* LO? Files
* TRG Files
* iscript BIN Files
* FNT Files
* Tileset files
* PCX Files
* MPQ Files

Currently the programs are all considered Beta, but should be stable. Each program includes a comprehensive command line interface, and a GUI. More editors are planned like a Special Palette editor, but the current programs are a higher priority at the moment. Currently the documentation is lacking, currently only having help on the command line interface, but it has good information on some of the programs. Most programs are straight forward and designed after other modding programs, so they should be easy to figure out and get used to. Also note that all testing is done on Windows XP with Python 2.5, so its possible but unlikely that things wont work outside of those conditions. If you have problems just post here or on the PyMS forums.

## PyICE

== PyFNT

PyTILE

PyPCX

PyMPQ ==

## External Links:

* StarEdit Network Thread
* Github
Phase Disruptor 2.0

## Requirements

* DatEdit
* IceCC
* Knowledge of using a MPQ.

## Tutorial

In this tutorial we will learn a little bit about iscript, as well as some new things about DatEdit.

Alright, we're going to make the Dragoon attack ABSOLUTELY INSANE!

First, let's get the DatEditing out of the way.

If you haven't noticed, the Dragoon's attack is sort of boring. Let's spruce it up a bit. Change the damage to whatever you'd like it to be, and add some splash. For this particular weapon, I'd suggest 16-32-64 Radial splash. Also, change the weapon behaviour to Attack Target 3x3 Area.

Alright, now that that's out of the way, let's change the very lame hit animation.

1. Go to the images.dat tab.
2. Jump to ID # 427, the Phase Disruptor Hit.
3. Change the GRP file to '532'.
4. Change the iscript ID to 320.
5. Change the palette to 9, and special to 1.

You now have EMP shockwave hit graphics

Save your .dat files and open IceCC. We're going to decompile the Dragoon and the EMP shockwave hit (Part 2) entries.

Find the Dragoon under Units (66) and find entry 556 under Images. We know it is 556 because when you open the EMP Shockwave entry in Images.dat, the ID at the bottom right is 556.

Decompile and open in editor.

In the Dragoon section of your script, look under the header "DragoonGndAttkRpt". The Dragoon has in interesting attack, as it does a set of frames in its initial attack and does not actually attack, but attacks only in its repeat animation. Find where it says:

```
attackwith 1

```

Copy it twice more so there are three of them in a row.

Now go down to the EMP Shockwave Hit animation. Notice that there is an "imgul" here. This is calling on another sprite to appear at this point. The default sprite is a second wavy ring thingy. Let's change that to a giant explosion.

Entry 215 happens to be a nice big blue explosion, so replace "555" with "215", but change nothing else.

Save your text file. Go back to IceCC, and go to the compile tab. Press 'add', find your .txt file, select a location to save your iscript.bin, and compile. You're done!

Shove the stuff in an MPQ (Iscript goes under the folder name scripts\) and play your mod with MPQDraft. Enjoy your crazy Dragoon, and have fun experimenting with other attacks.
DatEdit

## ( Copied from homepage )

DatEdit is an editor of the \*.DAT files, used as primary resource and data files in Starcraft. It is a successor for such tools as Arsenal3, Arsenal Zero and ArrEdit, released by the legendary Camelot Systems team.

Probably the most important thing about DatEdit is that it combines what is the best of the previously available editors (Arse3 and AZ), that is it is both stable and it has a Graphical User Interface. For more, it has updated listfiles for all DATs, it guarantees correct format support and lack of corruption as well as it is virtually bugless. Also, its source code is publicly available.

It also possess such features as:

* MPQ Importing/Exporting ability (it can work with MPQ archives only)
* Loading entire DAT directories
* Backward DAT reporting (it shows you how different DAT files are interconnected)
* Icon Preview
* Jumping points (it allows you to jump straight where you want, without needing to look for it)
* Bookmarks
* Custom icons/TBLs linkage

and many more...see yourself

## External Links ( With Download links )

http://www.stormcoast-fortress.net/cntt/software/DatEdit/
Javascript

#### What is Javascript?

JavaScript is a scripting language most often used for client-side web development. It is a dynamic, weakly typed, prototype-based language with first-class functions. JavaScript was influenced by many languages and was designed to look like Java, but be easier for non-programmers to work with.

#### What does that mean?

Javascript is an easy to use coding language that is un-compiled and all that is required is notepad. Simply name any file with the extension .js and you are now able to run the file. With this and its ability to output a file with information in it, we can produce lines of code with only a few lines.

#### So, how easy is it?

Well, its so simple that you use it for everything -- from triggers to scripting.

First, open up Notepad and add this:

```
var fso = new ActiveXObject("Scripting.FileSystemObject");
var outputFileName = fso.GetParentFolderName(WScript.ScriptFullName) + "\\" + fso.GetBaseName(WScript.ScriptFullName) + ".txt";
var outputStream = fso.CreateTextFile(outputFileName, true);

```

Now, we can output lines to a file. Let’s just make it output “HI!” 50 times:

```
for(var I = 0; I<50; I++){
outputStream.WriteLine("HI!");
}

```

And we close the document like a good little boy:

```
outputStream.Close();

```

And its just that simple!
Badlands Buildings

In this tutorial we're going to go into the fatty layer of Badlands that is buildings. Construction of a building in Badlands may look like a tedious process, but when it's all chopped up into bits and pieces, the load may seem a bit lighter.

Step 1: Let's start with a fresh canvas of null.

Step 2: The foundations of our building will begin with the back end of a roof.

Step 3: These end pieces are added to ensure that the building won't have 'openings'.

Step 4: An "enclosure" piece is dragged down from the end pieces to cover up openings. Make sure the number of "light" parts are a multiple of three, otherwise the building's body won't come out well.

Step 5: A base is added to the building.

Step 6: This small 2x1 piece is added in the middle so that the body doesn't look messy. Keep in mind that larger buildings may need this 2x1 piece more than once.

Step 7: The body of the building is placed. Notice the holes left on the side.

Step 8: Fill up the holes by copying and pasting the 1x2 part of the body piece.

Step 9: The border of the roof is added.

Step 10: The body of the roof is added to fill in the naked null part.

Step 11: Spit and polish. Add doodads to the base of the building to customize it a little bit.

After some practice, Badlands buildings can be used to make city scenes, both large and small.

Credits
Thanks to lil-Inferno for writing this in September 2009.
Font File Format (Unencrypted)

*Specs based on Stormcoast Fortress specs.*

* Word = 2 bytes
* Long = 4 bytes

## File Header

* Long - File type: always "FONT" (0x544E4F46)
* Byte - Low Index: First character in the file
* Byte - High Index: Last character
* Byte - Width: Maximum width of each letter
* Byte - Height: Maximum height of each letter
* n Longs - Offsets to each letter structure (starting with "Low Index", ending with "High Index". An offset of 0 means there is no image.)

## Letter Header

* byte - Width
* byte - Height
* byte - Initial X position
* byte - Y offset of the image
* n bytes - Compressed image data:
* bits 0-2 - Pixel Color (x And 7)
* bits 3-7 - Number of pixels to skip before writing the pixel ((x And 248)/8)
Null Terrain

All tilesets in StarCraft contain "null terrain" -- solid black tiles with strange properties. However, only third-party map editors (that allow access to all tiles in a tileset) allow mapmakers to place such terrain.

Most null tiles are buildable but not walkable. Some of them, however, have different properties. They tend to share the same basic properties (such as doodad placement and buildability) as the rest of their containing rows. Mini-tile-specific properties (such as vision height, ground height, and unit walkability) are not shared.

## Walkable Null Tiles

The null tiles that are found in the tileset index to the right of the creep tiles are walkable in all tilesets except for Installation.

Ground units cannot walk from normal terrain onto walkable null terrain. They must be moved or created on it with triggers, dropped onto it from a transport unit (such as a Dropship), or Recalled onto it with an Arbiter. Ground units can walk from walkable null terrain onto any other tiles, even if those tiles aren't walkable. (For example, units can walk from null to water.)

## Buildable Installation Tile

There are no creep tiles in the Installation tileset. Because of this, the walkable null tiles that work in the other tilesets (essentially, a null version of creep) are not walkable in Installation. However, Installation does have another type of special tile: a buildable Substructure tile.

If a Zerg building is created on this terrain, "null creep" (a creep version of null) will grow. This creep does not function normally. Ground units don't move over it easily.

Black creep in Installation:
List of units

Many values in StarCraft are hidden from the player, even in StarEdit and SCMDraft, and thus are unchangeable. Many of these values are found by using a modding program, like DatEdit or PyMS.

This table was designed to compare all the placeable units in the game.

### Table Description

* Name - Unit name
* UnitID - Unique number used by StarCraft to differentiate each Unit in memory
* Width - Actual width of the unit's collision box in pixels (sum of left + right + 1)
* Height - Actual height of the unit's collision box in pixels (sum of up + down + 1)
* Left - Number of pixels left from the unit's center
* Right - Number of pixels right from the unit's center
* Up - Number of pixels up from the unit's center
* Down - Number of pixels down from the unit's center
* Sight - Sight radius in tiles
* Acceleration - If the unit is controlled by flingy.dat, this number is added to the speed of the unit each frame while accelerating/decelerating. Each point here is worth 1/256th of a pixel. The larger the number, the faster it moves. Iscript.bin units do not use this value
* Top Speed - The top speed of the unit in pixels/frame, ignoring acceleration
* Rank - The rank of the unit, which tells StarCraft which unit portrait to use.
* Ground WeaponID - Number distinguishing the ground weapon the unit uses
* Air WeaponID - Number distinguishing the air weapon the unit uses (if these are the same, only one weapon will be shown in StarCraft)
* Build Score - Number added to current player's unit or building score. Usually 1/2 of kill score or 1/3 of razing score
* Kill Score - Number added to current player's kill or razings score.
* Crashes? - Some units can't be seen or preplaced or else StarCraft will crash. Nearly all anti-maphacks block these units, so it is irrelevant whether or not they crash on map load or on view.
SPK Format

* Word = 2 Bytes
* Long = 4 Bytes

## Header/Bitmap References

* word - Number of Layers
* n words - (1 word for each layer) Number of images in the layer
* 1 struct for the total number of images in all layers:
* word - Star X Position
* word - Star Y Position
* long - Bitmap Offset

## Bitmap Structure

* word - Bitmap Width
* word - Bitmap Height
* n bytes - (width\*height bytes) Image Data (0 = transparent)
Recall Animation

The recall effect is the actual spell being cast by the Arbiter, so it will move any units owned by the CPU player at the target location to the Arbiter. It will not affect enemy units, so you can use this to create a recall effect on top of the human player's units without repercussions.

Arbiter recall is the only way to move the various doodad units (Gun Trap, Flame Trap etc) - the usual "move unit" trigger action will not work on the doodad units.

You will need:

* Arbiter (non-hero) owned by a CPU player (not 9-12) with sufficient energy to cast recall (change spell to require 0 energy, or ensure Arbiter has required energy via setting energy or creating it with sufficient energy)
* Position of the Arbiter
* Position to recall

The CPU needs to control an Arbiter. You may like to make it invincible, depending on your needs. If you want the Arbiter to teleport the targetted units, it needs to stay immobile until the units have been teleported to it's location - if it moves (normally, or via trigger move action) the recall will be cancelled.

This animation has only two important actions. Set full energy the arbiter and cast the recall.

In only one trigger:

*StarCraft* Trigger [template]
Players

* Some CPU (not 9-12p)

Conditions

* Whatever you want.

Actions

* Modify energy of Arbiter at position where you have it. Set to 100%.
* Run AI script "Cast Recall" at "Where you want the animation".
* Preserver trigger. (or not, you choose)

The animation runs for 14 unit deaths under hyper triggers, or about 1.2 seconds at fastest. Casting more than one recall in the same place by the same unit will only produce one recall animation.

The arbiter, in addition, will only recall one at the same time. So doesn't matter if you use preserve trigger and cast recall a lot.
Map Layer

All of the visible parts of a map are organized into **map layers**. There are also the map settings (Tileset and map dimensions), the Triggers (consisting of Players, Conditions, and Actions), Briefing, WAV sound effects, Strings, unit properties, and Upgrades (Technology and Spells settings). See [[scenario.chk] for all parts of a map.

## Terrain layer

Edit the terrain layer using this layer. In SCMDraft2 or StarForge you can edit each of the terrain tiles independently of each other. This is known as extended terrain.

## Fog of war layer

Edit the fog of war using this layer. It can be used to reveal parts of the map for one or more players.

## Unit layer

Place units in this layer. Each unit can have it's initial properties set, such as HP, Energy, or Invincibility. In the unit layer, select a unit and press a number 1-8 to give the unit to the corresponding player. In SCMDraft2, you can also give units to Players9, 10, 11, and 12 by pressing 9, 0, -, or =.

## Doodad layer

Place Doodads in this layer. Doodads are terrain features such as trees and rocks. Some doodads use sprites.

## Location layer

Place Locations in this layer for use with triggers. Locations can be named with custom strings. They also have "height" properties that you can change in order to prevent certain unit from touching the location. Note: Locations are not visible in-game.

## Sprite layer

Place Sprites in this layer. Sprites are images that are not part of the terrain tiles. Mainly used for adding things like trees and rocks to a map to enhance the look of the terrain. Unit sprites can also be placed in this layer. Sprite Properties in SCMDraft2 When you select sprites in SCMDraft2, red squares appear around them. Press Enter, or right click and select Properties.

## Limits

Starcraft has certain limits that you must consider when making a map. See Map Limits for more information.

If you do something outside of the map limits, the game could crash. See the Crash List for more information.
TBLPad Hotkey String Format

By StealthyDeath

I first noticed that when you are making text for a build unit or upgrade button, it sometimes shows the wrong information. Like a unit would costs 1 supply or 1 mineral and gas instead of the information that was inserted in Arsenal. The reason why it's wrong because of the string.

You'll need to understand the basic format of strings too.

## Other

<0> is usually used on hotkeys that aren't any of the others below.

* **Example:** a<0><3>A<1>ttack<0>

## Units

<1> is used for units or buildings.

* **Example:**m<1>Train <3>M<1>arine<0>

## Upgrades

<2> is used for upgrades.

* **Example:**a<2>Upgrade Infantry <3>A<1>rmor<0>

## Spell Casting

<3> is used on a button for spell casting.

* **Example:**t<3>Psionic S<3>t<1>orm<0>

## Technology

<4> is used for technology upgrades.

* **Example:**p<4>Develop <3>P<1>sionic Storm(Templar ability)<0>

## Morphing

<5> is used primarily used on the Guardian and Devourer Aspect on the Mutalisk. It shows the correct mineral and gas cost, but it does not show supply. \***Example:**d<5><3>D<1>evourer Aspect<0>