Weapon Json Modding Overview

The .json files are located in resources > data > weaps > json. When the game loads this data, it loads the files alphabetically. If multiple .json files have the same mech or variant, the later file will overwrite the earlier one, so modded files should always be after the base files (this is easy to do because the base files start with two underscores, which when sorting alphabetically will sort them to the top of the list).

Changes to the .json files will only take effect when starting a new campaign or career.

Most of these values allow decimals, although the values in the base game generally stick to integers to match the BattleTech tabletop game.

File format:

**"Weapon Name"**: the name of the weapon, of course.

**"cost"**: base purchase price of the weapon. This gets modified in-game depending on the local prices for your current planet.

**"mod\_cost"**: how much it costs to add this weapon to a mech or remove it from a mech. More expensive weapons usually have higher mod costs, but this is just a general trend and not a rule or requirement.

**"ammo\_cost"**: how much one ton of ammo costs. For weapons without ammo, this field should be removed.

**"is\_ams"**: this designates the weapon as an Anti-Missile System, i.e., it is designed to shoot down incoming missiles.

**"is\_streak"**: this identifies if the weapon is a Streak SRM or not. What that means is when the weapon fires, either all the missiles hit or none of them do. This is supposed to improve accuracy, but testing has shown that it actually decreases average damage over time.

**"short"**: the shortened weapon name (such as LLaser for Large Laser) which shows up in some screens. If this field is missing then it will use the full weapon name.

**"type"**: options are beam, cannon, missile, flame, mg, and melee.

**"store\_type"**: affects where the weapon gets sorted in the Speed Shop and a few other screens. Options are the same as "type."

**"damage"**: damage per hit. Some weapons, such as missiles and LB-X autocannons, will fire multiple projectiles at once, and this determines the damage for each projectile.

**"damage\_type"**: for Flamers and Inferno SRMs, this should say "heat," otherwise it should be deleted.

**"n\_missiles"**: for weapons such as missiles and LB-X autocannons which fire multiple projectiles at once, this determines the number of projectiles per attack.

**"damage\_per\_ton"**: this is for weapons where the damage dealt is determined by the size of the mech using it. It is designed for melee weapons, though in theory you could create a ranged weapon which works the same way.

**"can\_be\_modded"**: if this is set to "false" then that means the weapon cannot be removed from the mech in the Speed Shop. If this field is missing then it defaults to "true."

**"heat"**: the amount of heat generated when firing.

**"range"**: maximum range of the weapon. All weapons fire as if they were at medium range; there are no "to hit" penalties for long range or "to hit" bonuses for short range.

**"min\_range"**: below this range, the weapon will take a penalty to accuracy.

**"tons"**: how much the weapon weighs.

**"tons\_per\_ton"**: this is for weapons where the weight of the weapon is determined by the size of the mech carrying it. It is designed for melee weapons, though in theory you could create a ranged weapon which works the same way.

**"crit"**: how many "critical slots" the weapon occupies. This doesn't affect how big the weapon is when modifying mechs in the Speed Shop, it only affects how difficult the weapon is to damage when the mech starts taking internal damage.

**"ammo"**: the number of shots per ton for the weapon. This is the number of times the weapon can shoot, not the number of individual rounds available. For example, an LRM-20 fires 20 missiles per shot. If it has 6 shots per ton of ammo then this value should be 6, not 120 (6\*20). If a weapon does not need ammo then this value should be -1.

**"p\_fire"**: the chance to set the enemy on fire.

**"p\_dmg\_weaps"**: the chance to damage or destroy enemy weapons. EXACT MECHANICS TBD.

**"p\_dmg\_pilot"**: the chance to hit an enemy mech in the head and injure the pilot.

**"ignore\_ams"**: this affects whether an Anti-Missile System is effective against the weapon. It should be set to "true" for autocannons and any weapon which fires a projectile (as opposed to a beam, etc.) other than a missile. If this field is missing then it defaults to "false."

**"explodes\_on\_dmg"**: if this is set to "true" then when the weapon takes a critical hit, it will explode like an ammo explosion, while the ammo for the weapon will not explode when hit. In the base game, the only weapons with this set to "true" are the Gauss Rifle and cGauss Rifle. If this field is missing then it defaults to "false."

**"to\_hit\_mod"**: some weapons, such as pulse lasers and LB-X autocannons, are supposed to have an accuracy bonus. However, testing seems to indicate that this field doesn't actually do anything.

**"use\_ammo\_per\_shot"**: some weapons, such as Ultra autocannons, will fire two shots at once, and this field makes it so each shot consumes ammo.

**"recharge"**: how quickly a weapon recycles before it can fire again. The base value of 1.0 corresponds with a 2 second recycle time. Thus, a value of 0.75 would be 1.5 seconds, a value of 1.5 would be 3 seconds, etc.

**"fx"**: the values in this subsection determine what the weapon looks like when it fires. Check the Weapon FX Json Modding Overview page for details.