Chapter Two: Fundamental Unit Statistics Reference: Arsenal III: Weapons Editor Arsenal III's Weapons Editor edits the weapons.dat file (which is normally found in arr\weapons.dat in the mpqs). Each weapon "object" in the weapons editor builds the entirety of a unit's "weapon." That is, there are no other fundamental definitions for weapons in other files (like there are for units in the EXE). Thus, each object in weapons.dat can be thought of as a "clean slate" for creating any weapon possible (within the confines of the variables of course :). Don't think of a Gauss Rifle necessarily as a Gauss Rifle, because it can just as easily be transformed into any other weapon like a Fragmentation Grenade or Zergling Claws. Think of it as "weapon object number 1." (or 0 since that's how we start counting here) Units.dat defines which of these weapons each unit uses for its ground and air attack; a "weapon" is basically just the damage properties of that specific object and any missile that is fired during the attack. Weapons do not define animation routines of unit sprites (e.g., the zergling claws weapon does not tell a unit to lash out against its enemies with its appendages, that is rather part of the default attack animation of the actual unit, the zergling; the weapon only defines things like what damage is dealt, what type of damage it has, range, the fact that the zergling claw attack does not have a missile, etc.). Another thing to keep in mind is that every unit (even heroes) has its own weapon defined (some are just duplicates of course); this is not mandatory (it is perfectly fine for two units to share the same weapon), but then you will not be able to change the damage, range, etc. properties of one without effecting the other (even in Staredit unit properties dialogs). Display Properties Label [drop-down menu]: This is a list of all the "names" of the weapons. You can choose to name a particular weapon what ever you want from the list. The name of a weapon is displayed in Starcraft when you highlight it's icon in the control bar. (Pointer to a line in stat_txt.tbl) Icon [drop-down menu]: This is a list of all the weapon icons. You can give any weapon any icon. The icon is what is displayed in the control bar when you select a unit using that weapon. (Pointer to a frame in unit\cmdbtns\cmdicons.grp; the image displayed is the particular frame) Damage Properties Amount [text box]: This value determines the amount of damage the weapon will do to the target when it hits. (Base value, before modifications by other variables such as factor) Bonus [text box]: This value determines how much more damage the weapon does when it is upgraded. For example, a Bonus value of 1 means the weapon gets damage +1 when upgraded to level 1. Factor [text box]: This value determines how "many" of the weapons a unit has. I.E., a goliath has 2 autocannons and a firebat has 2 flamethrowers. You multiple this value with the damage amount to get the total damage the unit actually does. Cooldown [text box]: Cool down is basically the delay the weapon uses between shots. A higher cool down makes a weapon attack slower. A lower cool down makes a weapon attack faster. A cool down of 0 will crash the game. Type [drop-down menu]: This value determines what damage type the weapon will do, either Explosive, Concussive, Normal, or Special. Normal, Explosive, and Concussive tell Starcraft how much damage the weapon will do to small units, medium units, and large units (refer to your manual if you haven't picked this up yet :). Special is usually reserved for Spells that do a special kind of damage like Feedback. I would only use the Special value if you know what you are doing (as it must correlate with other weapon values to be effective). Spell [drop-down menu]: This value is only used for spell effects. It basically tells Starcraft what spell effect to cast when this weapon is used. To make this effective, you have to do some experimentation with combinations of the Special Type variable (above) and the Explosion variable. (Note: weapons are not actual spells; those will be discussed later in the AI/Orders sections -- it is just that many spells use weapons, but those weapons can also be used normally) Explosion [drop-down menu]: This value tells Starcraft what happens to the target and the area around the target after this weapon "explodes" on it. This does not change what the explosion looks like. Basically, this value is used to determine what type of splash damage and spell effects. Upgrade [drop-down menu]: This determines what upgrade will level up this weapon. For example, an Upgrade Group value of Terran Infantry will upgrade the weapon when you research the Terran Infantry Weapon upgrade at the Engineering Bay. The values are pretty self-explanatory. (Pointer to an object in upgrades.dat) Attack Ranges Min [text box]: This value determines the minimum range from which this weapon can be used. The value you put in this field is actually divided by 16 to determine the actual number of Starcraft "units" the minimum range is. Most units have a minimum range of 0 because they can attack units that are very close to them. Some units, like the Seiged Arclite Shock Cannon, have a larger minimum range because they cannot attack units that are close to them. Max [text box]: This value determines the maximum range from which this weapon can be used. It is basically how "far" this unit can shoot. Like, Min. Range, this value is divided by 16 to determine the actual Blizzard range value. Keep in mind that most weapons that are melee attacks (such as Zealot or Zergling) still have a maximum range of 15. This is because any range value under 16 is close enough so it "looks" like its right next to its target. I suggest against making the maximum range any less than 15 because then the unit will have to be right "on top" of the target to attack it. Splash Radii Inner, Middle, Outer [text boxes]: These values determine the size of the area around the place of detonation where "splash" damage is dealt. Splash damage is kind of like extra damage that occurs to units when they are in the area of the explosion (like shrapnel). It is a little complicated as to how the splash damage area is actually calculated. There are actually 3 different kinds of splash damage: radial splash, line splash, and air splash. What type of splash damage the weapon deals is determined by its Explosion. For radial splash, the value in Inner determines the radius of the area that will be dealt 100% damage (in pixels). For example, a Inner value of 10 means every unit within 10 pixels of the weapon detonation (explosion) will be dealt 100% of the weapon's damage. Inner should be the smallest of the Splash values. Middle determines the radius of the area that will be dealt 50% damage. Middle should be larger (or equal to) Inner but smaller than Outer. Outer determines the radius of the area that will be dealt 25% damage. Outer should be the largest splash value. An example of a weapon that uses radial splash is the Seiged Arclite Shot Cannon weapon. Line splash deals damage in a similar fashion to radial splash but only effects enemy units. (Explosion value) Air splash works exactly the same way as radial splash but only affects air units. (Explosion value) If a weapon has no splash damage (doesn't have a splash Explosion value) then the values here don't matter. Attack Flags [check boxes]: These flags control the valid units that this weapon can target and do damage to. Here's the combos you want to know about (thanks to Ius for figuring them out). Just check the appropriate boxes to get the desired targeted group.
Missile Properties Type [drop-down menu]: This value tells Starcraft what type of "missile" the weapon uses. Almost all weapons have a Normal value here. The only exceptions are the Glave Wurm weapon which Bounces and the Installation trap weapons which are Homing. Except for those weapons, this value doesn't do much. Behavior [drop-down menu]: This value determines how the weapon sprite will "behave" when it attacks the target. For example, a Gauss Rifle weapon has a behavior value of Appears on Target, which means its sprite just appears on the target when it shoots. A Phase Disrupter weapon has a behavior value of Flies to Target which means its sprite will fly from the unit shooting it to the target instead of it just appearing on the target like the marine. Most of these values should be pretty self-explanatory. If a value confuses you, look at other weapons to see examples of how it is used. Graphics Properties Sprite [drop-down menu]: This is a list of all the weapon "sprites." A sprite is basically what the weapon looks like and how it animates. For example, the Hellfire Missile Pack weapon sprite is a missile. The Phase Disrupter weapon sprite is the energy ball. The sprite usually determines what the weapon looks like as it is flying to the target and when it "explodes" on the target. Some sprites, like the Gauss Rifle's and Arclite Shock Cannon's, are just the explosion graphics because they just "appear" on the target (instead of flying there like goliath missiles). That specific property is controlled by the Behavior value. The actual animation of the sprite and explosion are controlled by the animation data files and scripts which will be explained later. (Pointer to an object in flingy.dat) X-1, Y-1, X-2, Y-2 [text boxes]: These values work together to determine "where" on the unit the weapon sprite (graphic) shoots from. For example, The ATS Laser Battery weapon values here tell it to shoot from the battle cruiser's front and not from its back (or sides, middle, etc.). X-1 and Y-1 are for the unit's first weapon and X-2 and Y-2 are for the unit's second weapon (like the firebat which has 2 flamethrowers). Most units only have one weapon and thus only use X-1 and X-2. These are coordinates about the unit sprite. Error Msg [drop-down menu]: This value determines what Starcraft will tell you when you use this weapon to target an invalid target (for example, if you target an air unit with a Flame Thrower weapon). It does not actually affect what the weapon can target, just what Starcraft will say when you target a wrong one. (Pointer to a line in stat_txt.tbl) |
Copyright (c) 1999-2000 Jeffrey Pang.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.1
or any later version published by the
Free Software Foundation with no Invariant Sections, with no
Front-Cover Texts, and with no Back-Cover Texts.
A copy of the license is included in the section entitled "GNU
Free Documentation License".
[an error occurred while processing this directive]