Mech Json Modding Overview

The .json files for mechs are located in resources > data > units > 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. The only values which can be modified in-game are the items in the "weapons" and "ammo" sub-sections. All other values are fixed in-game and can only be modified by editing the .json files and then starting a new campaign or career.

File format:

**"Mech name"**: the name of the mech, obviously. This groups all variants of that mech together. If you want a mech to have different sprites or models depending on loadout (e.g., you want the Catapult CPLT-K2 to have a different sprite and model than other Catapult variants) then the name will need to be changed.

**"unit\_sprite"**: this determines the battle sprite for the mech. These sprites are identified in the images folder.

**"unit\_model"**: this determines the sprite used when viewing details about the mech in the team setup screen, Mech Lube screen, and many others. These sprites are identified in the images folder.

**"tons"**: total weight of the mech.

**"internal"**: internal structure strength.

**"Designation"**: the variant designation or model number. This allows the game to have multiple variants for the same mech.

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

**"armor"**: armor strength. Because this game does not use hit locations, the way armor works is that as you lose armor, the percentage chance that any incoming hit will damage your internal structure increases.

**"heat\_sinks"**: affects how quickly the mech dissipates heat. Heat sinks operate on a 4 second recycle time; basically, heat sinks continually dissipate heat, but it takes 4 seconds for a single heat sink to dissipate a single point of heat. Most weapons operate on a 1.5 or 2 second recycle time, which means that heat sinks are around half as strong as they would be in the BattleTech tabletop game.

**"speed"**: speed of the mech, obviously. Even though mechs in this game essentially "run" all the time, the numbers in this field match up with the "walking" speed from the tabletop game.

**"jump"**: jumping distance of the mech. This is not limited by the speed of the mech, so a mech or variant added by mods could have a jumping range higher than its speed, although no mechs in the base game do.

**"weapons"**: this sub-section should have one line per weapon on the mech, with the weapon location.

**"ammo"**: this sub-section shows the ammunition available. Each line is 1 ton of ammo. This sub-section will throw an error if it is blank, so if a mech doesn't have any ammo then this sub-section should be removed completely.

**"equip"**: this sub-section shows the special equipment for the mech, such as MASC or CASE. This sub-section will throw an error if it is blank, so if a mech doesn't have any special equipment then this sub-section should be removed completely.

Locations for the "weapons", "ammo", and "equip" sub-sections:

* "h": head
* "ra": right arm
* "la": left arm
* "rt": right torso
* "lt": left torso
* "rl": right leg
* "ll": left leg

Available tonnage for weapons and ammo are determined by a mech's starting weapons and ammo. For example, if a mech has three Large Lasers (5 tons each) and no other weapons or ammo then if you strip the weapons off it would have 15 available tons. If you edited the .json file to add another Large Laser but didn't make any other changes, and then went in game and stripped the weapons off, the available tonnage would be 20 tons instead of 15. In other words, there are no logic checks or any thing like that which will "validate" whether a mech loadout is legal by tabletop rules.