There are four configuration files that define the properties of a weapon:
Ammunition: \tactical\configs\game\listofammo.txt
Magazines: \tactical\configs\game\listofmagazine.txt
Weapons: \tactical\configs\game\listofweapon.txt
Shapes: \tactical\configs\game\listofshapes.txt
Armors: \tactical\configs\game\listofarmor.txt
Let's now take a look at them one at a time.
Here is the structure of ammo description file:
LIST_OF_AMMO
AMMO
ID ID_50BMG
//unique ID
TYPE "FIREARM"
//can be FIREARM, GRENADE, ALIEN or ROCKET
WEIGHT 0.075
//weight of a single bullet
DAMAGE "H"
//damage type (see below)
ORIGIN "HUMAN"
//origin (see below); this value is ignored
PELLETS 1
//number of pellets per shell
END_OF_AMMO
...
END_OF_LIST_OF_AMMO
There are the following damage types:
H | Hard |
S | Soft |
U | Universal |
B | Burn/Acid |
L | Laser |
P | Plasma |
W | Warp |
HL | Heal |
Z | Psi/Extra |
X | Psi/Extra |
The damage type defines the effect of the weapon for all ammo but the "Z" and "X" types. For those the Ammo ID is also taken into account:
ID_GS | X | Smoke grenade |
ID_FLR | X | Flare |
ID_PSI | X | Psi damage |
ID_PSID | Z | Psi paralyse |
ID_PSIC | Z | Psi mind control |
Other special ammo types are not implemented.
The origin can be one of the following:
H | Human |
X | Hybrid (researched or developed) |
A | Alien |
The magazines are the in-game objects, clips. Each magazine fits into exactly one weapon. If a magazine should fit into more weapons, it has several entries in the list of magazines, with the same magazine ID. Each magazine contains exactly one type of ammo. See also Weapons below for description of various weapon principles. For battery-like ammunition not all values need to be present.
Here is the structure of magazine definition file:
LIST_OF_MAGAZINE
//game data
MAGAZINE
//origin, see below
ORIGIN HUMAN
//magazine ID, needs not be unique (see above)
ID MGAR-FAL
//weapon ID, points into ListOfWeapon file
WEAPON AR-FAL
//tech level (see below)
TECH_LEVEL 3
//(optional) the technology to manufacture the magazine, omitted when none exists
TECHNOLOGY XX_MFG
//weight of the magazine in kilograms
WEIGHT 0.5
//number of clips ejected per shot (for particle effect)
EJECT 1
//ammo ID, point into ListOfAmmo file
AMMOID ID_7_62MM
//aimed fire effective range in meters
ACCURACY_AIMEDA 22.0
//burst fire effective range in meters
ACCURACY_BURSTA 9.0
//number of rounds consumed per firing in aimed mode
ROUNDS_USED_AIMEDU 1
//number of rounds consumed per firing in burst mode
ROUNDS_USED_BURSTU 3
//damage dealt to target per round
DAMAGE 73
//number of rounds in the magazine
CAPACITY 20
//time to reload the magazine into the weapon, in seconds
TIMES_RELOAD 5.0
//the time it takes one firing in aimed mode
TIMES_AIMEDT 1.6
//the time it takes one firing in burst mode
TIMES_BURSTT 1.6
//maximum range in aimed mode in meters
RANGE 33.0
//the diameter of affected area, for area effect weapons
AREA 0.0
//projectile speed for slow moving projectiles, 0.0 is instantaneous
PROJ_SPEED 0.0
//duration of effect for non-instantaneous weapons (e.g. flamethrowers)
DURATION 0.0
//damage per second for non-instantaneous weapons
SEC_DAMAGE 0.0
//damage type, must be the same as for the corresponding Ammo
DTYPE "U"
//graphical data
//the 3D in-game model of the weapon (compulsory)
PATH_3D "<path>"
//the interface picture of the weapon (compulsory)
ICON "<path>"
//the 3D in-game model of the projectile for slow moving weapons
PROJECTILE "<path>"
//the particle effect of the burning propulsion for projectiles
PROJECTILEFIRE "<path>"
//the particle effect of trailing smoke for projectiles
PROJECTILESMOKE "<path>"
//the shape the magazine has in the Equipment, points into ListOfShape
SHAPE "s21"
//the particle effect at muzzle when firing in aimed mode
EFFECT_FRONT_AIM "<path>"
//the particle effect at muzzle when firing in burst mode
EFFECT_FRONT_BURST "<path>"
//the particle effect at the back of the weapon when firing
EFFECT_BACK "<path>"
//the particle effect on impact
EFFECT_IMPACT "<path>"
//the particle effect in the affected area, for area-effect weapons
EFFECT_AREA "<path>"
//the sound played on impact of the projectile
SOUND_NAME_IMPACT "<path>"
END_OF_MAGAZINE
...
END_OF_LIST_OF_MAGAZINE
The origin can be one of the following:
HUMAN | Human |
HYBRID | Hybrid (researched or developed) |
ALIEN | Alien |
The technology level influences the likeness of a weapon being found in a weapon cache when a new base is captured. The higher the technology level, the lower the chance. Beside, in each phase of the game there is a maximum allowed technology level and a weapon with higher technology level will not appear in the cache at all.
The weapons form the apex of this structure. Each weapon uses at least one but possibly more magazines. The description of the weapon has many similar entries to magazines. For the good understanding of the system it is important to recognize possible weapon principles (see below).
Here is the structure of the configuration file:
LIST_OF_WEAPON
WEAPON
//game data
ORIGIN ALIEN
//origin, see Magazines
TYPE ASSAULT_RIFLE
//the weapon type, see below
SHORT_NAME "LazR"
//the name was used for debugging purposes
ID AR-LAZR
//unique weapon ID
TECH_LEVEL 6
//tech level, see Magazines (a magazine and its weapon need not to have the same technology level)
CLASS RIFLE
//weapon class, see below
ANIM_TYPE RIFLE
//animation type, see below
PRINCIPLE ENERGY
//weapon principle, see below
HANDLING LASER
//handling technology, see below
TECHNOLOGY XX_MFG
//(optional) the technology to manufacture the magazine, omitted when none exists
EQUIPMENT ALL
//region of origin, see below
MAG_QUANTITY 10
//how many magazines are recovered (on average) with the weapon when it is found in a weapon cache
HAND 2.0
//how many hands are required to use weapons (1.5 is treated as 2.0)
NOTRELOAD FALSE
//can the weapon be reloaded during mission
WEIGHT 2.0
//weight in kilograms
AMMOID ID_LASER
//ammo ID, point ito ListOfAmmo file*
ACCURACY_AIMEDA 32.0
//aimed fire effective range in meters*
ACCURACY_BURSTA 15.6
//burst fire effective range in meters*
ROUNDS_USED_AIMEDU 1
//number of rounds consumed per firing in aimed mode*
ROUNDS_USED_BURSTU 3
//number of rounds consumed per firing in burst mode*
POWER 40
//power drain per one round*
DAMAGE 75
//damage dealt to target per round*
TIMES_RELOAD 6.0
//time to reload the magazine into the weapon, in seconds*
TIMES_AIMEDT 1.6
//the time it takes one firing in aimed mode*
TIMES_BURSTT 1.6
//the time it takes one firing in burst mode*
RANGE 42.0
//maximum range in aimed mode in meters*
AREA 0.0
//the diameter of affected area, for area effect weapons*
PROJ_SPEED 0.0
//projectile speed for slow moving projectiles, 0.0 is instantaneous*
DURATION 0.0
//duration of effect for non-instantaneous weapons (e.g. flamethrowers)*
SEC_DAMAGE 0.0
//damage per second for non-instantaneous weapons*
DTYPE "L"
//damage type, must be the same as for the corresponding Ammo*
//graphics data
EFFECT_FRONT_AIM "<path>"
//the particle effect at muzzle when firing in aimed mode*
EFFECT_FRONT_BURST "<path>"
//the particle effect at muzzle when firing in burst mode*
EFFECT_BACK "<path>"
//the particle effect at the back of the weapon when firing*
EFFECT_IMPACT "<path>"
//the particle effect on impact*
EFFECT_AREA "<path>"
//the particle effect in the affected area, for area-effect weapons*
PATH_3D "<path>"
//the 3D in-game model of the weapon (compulsory)
VIDEO "<path>"
//the video shown in the Equipment screen when selected
ICON "<path>"
//the interface picture of the weapon (compulsory)
PROJECTILE "<path>"
//the 3D in-game model of the projectile for slow moving weapons*
PROJECTILEFIRE "<path>"
//the particle effect of the burning propulsion for projectiles
PROJECTILESMOKE "<path>"
//the particle effect of trailing smoke for projectiles
PARTICLE "<path>"
//the firing effect for non-firearm weapons
SHAPE "s52"
//the shape the weapon has in the Equipment, points into ListOfShape
SOUND_NAME_A "<path>"
//sound made when firing in aimed mode
SOUND_NAME_B "<path>"
//sound made when firing in burst mode
SOUND_NAME_RELOAD "<path>"
//sound made when reloading
SOUND_NAME_IMPACT "<path>"
//sound made on impact
END_OF_WEAPON
...
END_OF_LIST_OF_WEAPON
*see Weapon principle
The weapon type influences what skill is used to operate the weapon. The possible values are:
ASSAULT_RIFLE | Rifles |
SNIPER_RIFLE | Marksmanship |
MACHINE_GUN | Launchers |
SHOTGUN | Rifles |
PERSONAL_DEFENCE_WEAPON | Handguns |
HANDGUN | Handguns |
MISSILE_LAUNCHER | Launchers |
GRENADE_LAUNCHER | Throwing |
FLAME_THROWER | Launchers |
HAND_GRENADE | Throwing |
PSI_EQUIPMENT | Psi power |
MEDIC_EQUIPMENT | Medical |
MELEE | only used for transgenants |
RANGED | only used for transgenants |
TURRET | Launchers |
GYRO | Marksmanship |
FLARE | Throwing |
ARTIFACT | None, used for objects recovered in missions |
The weapon class determines what list in the Equipment screen the weapon belongs to. The possible values are:
HAND_GUN | Pistols |
RIFLE | Rifles |
HEAVY_WEAPON | Heavy |
OTHER | Other |
The animation type is how the weapons is carried, i.e. what animation is used when a soldier uses the weapon. The possible values are:
PISTOL | Handguns, PDWs, etc |
RIFLE | Assault rifles, sniper rifles |
SHOTGUN | Shotguns, grenade launchers, flamethrowers |
BAZUKA | Bazookas, missile launchers |
THROW | Grenades, flares |
MANIPULATE | Equipment |
GYRO | Gyroscopically stabilized weapons |
NAKLAD | Collapsible turrets |
ANY | Special, used for Transgenants |
There is no need for a weapon to have the animation type that corresponds to its class or type, this is a purely visual matter.
Weapon principle is a very important concept. It divides all weapons in the game into two broad groups: those whose statistics are determined by the ammo they use (there fall most conventional rifles), and those whose properties do not depend on the ammo (as is the case with e.g. lasers and their batteries). The principle also determines the behaviour of the weapon, i.e. if it is direct or indirect fire, if the projectile is slow-moving or not, etc. The possible values for principles are listed here:
FIREARM | Magazine | Conventional firearms (direct, instantaneous) |
ENERGY | Weapon | Energy based weapons (direct and instantaneous fire) |
GLAUNCH | Magazine | Grenade launchers (indirect fire, slow moving) |
ENERGYGL | Weapon | Energy grenade launchers (indirect fire, slow moving) |
ROCKET | Magazine | Rocket launchers (direct fire, slow moving) |
MEDIC | Weapon | Medikits |
GRENADE | Weapon | Grenades (indirect, slow moving, the weapon equals the projectile) |
MELEE | Weapon | Melee attacks of Transgenants |
RANGED | Weapon | Ranged attacks of Transgenants |
Some alien weapons require a technology to be researched before they can be equipped. The following values are possible:
NORMAL | No technology necessary |
LASER | Laser weapon operation |
PLASMA | Plasma weapon operation |
PSI | Psi weapon operation |
ROCKET | Alien rocket launcher operation |
WARP | Warp weapon operation |
OTHER | Transgenant weapons |
Some weapons are more likely to be found in certain regions than other. The possible values are:
EU | Europe |
US | United States |
RUS | Russia |
ALL | Anywhere |
Each base is one of the first three types and the weapons of the same region have twice as much chance of showing there than the weapons from other regions.
The list of shapes has the following format:
LIST_OF_SHAPES
//name of the shape; by convention it is sxy, where x and y are horizontal and vertical dimensions respectively
SHAPES
NAME "s12"
//opens the definition of a single subcell
SUB_SHAPES
//horizontal coordinate of the cell; (0,0) is upper left corner
CELL_X 0
//vertical coordinate of the cell
CELL_Y 0
END_OF_SUB_SHAPES
SUB_SHAPES
CELL_X 0
CELL_Y 1
END_OF_SUB_SHAPES
...
END_OF_SHAPES
...
END_OF_LIST_OF_SHAPES
While it is theoretically possible to have non-rectangular shapes, we refrained from this. Try it at your own risk.
Armor file has the following struture:
LIST_OF_ARMOR
//unique armor ID
ARMOR
ID HWH9
//origin, see Magazines
ORIGIN HUMAN
//what the armor covers, see below
TYPE INTEGRAL
//technology level, see Magazines
LEVEL 9
//(optional) technology used to manufacture the armor
TECHNOLOGY UPGRADE_HEAVY_ARMOUR
//weight in kilograms
WEIGHT 20.0
//the following list is protection against different kinds of attacks (see Magazines, Damage type). The higher number, the worse the protection (the more damage the armor allows to pass through). The number shown in statistics screen within the game is obtained by formula (1 – protection) x 100%. The number must never be higher than 1.
//the following six entries list the models of the body of a unit with this armor. There are three possible variants for each armor for each sex and all are required. If there are no actual variants, the values of the key can point to the same model (as is the case for Reticulans and Transgenants).
S 0.25
H 0.45
U 0.35
B 0.4
L 0.5
P 0.6
W 0.7
Z 0.8
HL 0.8
X 0.9
//the particle effect shown when the armor is hit
3D_MODELS_MALE1 "<path>"
3D_MODELS_MALE2 "<path>"
3D_MODELS_MALE3 "<path>"
3D_MODELS_FEM1 "<path>"
3D_MODELS_FEM2 "<path>"
3D_MODELS_FEM3 "<path>"
3D_MODELS_SHIELD "<path>"
SHIELD_EFFECT "<path>"
//the next six entries point to the models used for the figurine on the equipment screen. The variants correspond to the armor variants, as explained above.
//the armor icon shown in the equipment listbox
2D_MODELS_MALE1 "<path>"
2D_MODELS_MALE2 "<path>"
2D_MODELS_MALE3 "<path>"
2D_MODELS_FEM1 "<path>"
2D_MODELS_FEM2 "<path>"
2D_MODELS_FEM3 "<path>"
ICON "<path>"
//the model of matching backpack, displayed below the figuring
BKP "<path>"
//The next two entries are only used for helmet. This is the male and female variant of the model displayed on the interface in the tactical game (over the character's head).
//the video displayed on the Equipment screen
INTERFACE_3D_MODEL_MALE "<path>"
INTERFACE_3D_MODEL_FEMALE "<path>"
VIDEO "<path>"
END_OF_ARMOR
...
END_OF_LIST_OF_ARMOR
For all practical purposes the armors are the models of the units. Despite this, it is not strongly enforced that a particular unit can only wear the kind of armor that belongs to it. If you modify the ListOfEnemy file in such a way that say a Morelman wears Crabcar armour you will get some very strange results indeed.
Possible armor types are:
INTRINSIC | the armor cannot be taken off, this is the "naked" armor |
INTEGRAL | the armor has integrated helmet |
BODY | the armor covers the body |
HEAD | the armor covers the head (helmet) |
Prev: Custom mission | Next: Research & Development | Up: Home |