• We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.
Can you try the changes along with updating the component tags portion at the bottom to be “component_type_stock”?

Hmm, I tried that, but I don't think that did anything other than make the weapon available in the Skirmish Mechlab.

I narrowed it down though, Not Set and 0 works in the "Flamer Stock" and the first variant "Flamer Hotshot", but does not work in "Flamer Olympus". Code below, also note that damage value, heat, and heatdamage are changed.

Flamer Stock (works, no circle of doom when attempting "Refit" (Single Player) and Skirmish Mechlab "Edit" (Skirmish SP/MP).
{
"Category" : "AntiPersonnel",
"Type" : "Flamer",
"WeaponSubType" : "Flamer",
"MinRange" : 0,
"MaxRange" : 90,
"RangeSplit" : [
90,
90,
90
],
"AmmoCategory" : "NotSet",
"StartingAmmoCapacity" : 0,

"HeatGenerated" : 10,
"Damage" : 20,

"OverheatedDamageMultiplier" : 0,
"EvasiveDamageMultiplier" : 0,
"EvasivePipsIgnored" : 0,
"DamageVariance" : 0,
"HeatDamage" : 10,
"AccuracyModifier" : 0,
"CriticalChanceMultiplier" : 1,
"AOECapable" : false,
"IndirectFireCapable" : false,
"RefireModifier" : 0,
"ShotsWhenFired" : 1,
"ProjectilesPerShot" : 1,
"AttackRecoil" : 0,
"Instability" : 0,
"WeaponEffectID" : "WeaponEffect-Weapon_Flamer",
"Description" : {
"Cost" : 20000,
"Rarity" : 0,
"Purchasable" : true,
"Manufacturer" : "Skylight",
"Model" : "Heat Damage Flamethrower",
"UIName" : "Flamer",
"Id" : "Weapon_Flamer_Flamer_0-STOCK",
"Name" : "Flamer",
"Details" : "Flamer weapons are unique in that they deal little physical damage but instead expel superheated plasma, applying substantial heat to their target. When done properly, this can hamper enemy return fire or even cause the targeted unit to shut down from overheating.",
"Icon" : "uixSvgIcon_weapon_Support"
},
"BonusValueA" : "",
"BonusValueB" : "",
"ComponentType" : "Weapon",
"ComponentSubType" : "Weapon",
"PrefabIdentifier" : "Flamer",
"BattleValue" : 0,
"InventorySize" : 1,
"Tonnage" : 1,
"AllowedLocations" : "All",
"DisallowedLocations" : "All",
"CriticalComponent" : false,
"statusEffects" : [

],
"ComponentTags" : {
"items" : [
"component_type_stock",
"range_close"
],
"tagSetSourceFile" : ""
}
}

Flamer HotShot (works, no circle of doom when attempting "Refit" (Single Player) and Skirmish Mechlab "Edit" (Skirmish SP/MP).
{
"Category" : "AntiPersonnel",
"Type" : "Flamer",
"WeaponSubType" : "Flamer",
"MinRange" : 0,
"MaxRange" : 90,
"RangeSplit" : [
90,
90,
90
],
"AmmoCategory" : "NotSet",
"StartingAmmoCapacity" : 0,
"HeatGenerated" : 10,
"Damage" : 25,

"OverheatedDamageMultiplier" : 0,
"EvasiveDamageMultiplier" : 0,
"EvasivePipsIgnored" : 0,
"DamageVariance" : 0,
"HeatDamage" : 10,
"AccuracyModifier" : 0,
"CriticalChanceMultiplier" : 1,
"AOECapable" : false,
"IndirectFireCapable" : false,
"RefireModifier" : 0,
"ShotsWhenFired" : 1,
"ProjectilesPerShot" : 1,
"AttackRecoil" : 0,
"Instability" : 0,
"WeaponEffectID" : "WeaponEffect-Weapon_Flamer",
"Description" : {
"Cost" : 30000,
"Rarity" : 2,
"Purchasable" : true,
"Manufacturer" : "Hotshot",
"Model" : "Heat Damage Flamethrower",
"UIName" : "Flamer +",
"Id" : "Weapon_Flamer_Flamer_1-Hotshot",
"Name" : "Flamer +",
"Details" : "Flamer weapons are unique in that they deal little physical damage but instead expel superheated plasma, applying substantial heat to their target. When done properly, this can hamper enemy return fire or even cause the targeted unit to shut down from overheating.",
"Icon" : "uixSvgIcon_weapon_Support"
},
"BonusValueA" : "+ 5 Dmg.",
"BonusValueB" : "",
"ComponentType" : "Weapon",
"ComponentSubType" : "Weapon",
"PrefabIdentifier" : "Flamer",
"BattleValue" : 0,
"InventorySize" : 1,
"Tonnage" : 1,
"AllowedLocations" : "All",
"DisallowedLocations" : "All",
"CriticalComponent" : false,
"statusEffects" : [

],
"ComponentTags" : {
"items" : [
"component_type_variant",
"component_type_variant1",
"range_close"
],
"tagSetSourceFile" : ""
}
}

Flamer Olympus (does not work, I even tried just changing AmmoCategory and StartingAmmoCapacity and still nothing, for whatever reason this third flamer will cause Circle of Doom if it does not have ammo category set)
{
"Category" : "AntiPersonnel",
"Type" : "Flamer",
"WeaponSubType" : "Flamer",
"MinRange" : 0,
"MaxRange" : 90,
"RangeSplit" : [
90,
90,
90
],
"AmmoCategory" : "NotSet",
"StartingAmmoCapacity" : 0,
"HeatGenerated" : 15,
"Damage" : 15,

"OverheatedDamageMultiplier" : 0,
"EvasiveDamageMultiplier" : 0,
"EvasivePipsIgnored" : 0,
"DamageVariance" : 0,
"HeatDamage" : 15,
"AccuracyModifier" : 0,
"CriticalChanceMultiplier" : 1,
"AOECapable" : false,
"IndirectFireCapable" : false,
"RefireModifier" : 0,
"ShotsWhenFired" : 1,
"ProjectilesPerShot" : 1,
"AttackRecoil" : 0,
"Instability" : 0,
"WeaponEffectID" : "WeaponEffect-Weapon_Flamer",
"Description" : {
"Cost" : 30000,
"Rarity" : 4,
"Purchasable" : true,
"Manufacturer" : "Olympus",
"Model" : "Heat Damage Flamethrower",
"UIName" : "Flamer + +",
"Id" : "Weapon_Flamer_Flamer_2-Olympus",
"Name" : "Flamer + +",
"Details" : "Flamer weapons are unique in that they deal little physical damage but instead expel superheated plasma, applying substantial heat to their target. When done properly, this can hamper enemy return fire or even cause the targeted unit to shut down from overheating.",
"Icon" : "uixSvgIcon_weapon_Support"
},
"BonusValueA" : "+ 5 Dmg. (H)",
"BonusValueB" : "",
"ComponentType" : "Weapon",
"ComponentSubType" : "Weapon",
"PrefabIdentifier" : "Flamer",
"BattleValue" : 0,
"InventorySize" : 1,
"Tonnage" : 1,
"AllowedLocations" : "All",
"DisallowedLocations" : "All",
"CriticalComponent" : false,
"statusEffects" : [

],
"ComponentTags" : {
"items" : [
"component_type_variant",
"component_type_variant2",
"range_close"
],
"tagSetSourceFile" : ""
}
}
 
Can you look up the Output_log.txt file found in the BATTLETECH/Battletech_Data directory? I suspect I know the problem, but logs will confirm.

Yup, popped the NotSet back into the Olympus Flamer here is what shows up in the Log when the Circle of Doom happens:

KeyNotFoundException: No AmmunitionDef entry in 'AmmoDefs' with id: 'Ammunition_Flamer'
at HBS.Data.DictionaryStore`1[BattleTech.AmmunitionDef].Get (System.String id) [0x00000] in <filename unknown>:0
at BattleTech.AmmunitionBoxDef.refreshAmmo (BattleTech.Data.DataManager dataManager) [0x00000] in <filename unknown>:0
at BattleTech.UI.MechLabPanel+<WaitForLoads>c__Iterator0.MoveNext () [0x00000] in <filename unknown>:0
at UnityEngine.SetupCoroutine.InvokeMoveNext (IEnumerator enumerator, IntPtr returnValueAddress) [0x00000] in <filename unknown>:0
(Filename: Line: -1)
 
I knew it.

Here's a probable solution. Go to BATTLETECH\BattleTech_Data\StreamingAssets\data\constants

Open the ApplicationConstants.json file

below the

{
"ResourceType": "UIModulePrefabs",
"ResourceID": "uixPrfPanl_mainMenu",
"Priority": "Foreground"
}

section, add a comma at the end, and then the rest of this:
,
{
"ResourceType": "AmmunitionDef",
"ResourceID": "All",
"Priority": "Background"
},
{
"ResourceType": "AmmunitionBoxDef",
"ResourceID": "All",
"Priority": "Background"
},
{
"ResourceType": "HeatSinkDef",
"ResourceID": "All",
"Priority": "Background"
}


Save and see whether that works.
 
I knew it.

Here's a probable solution. Go to BATTLETECH\BattleTech_Data\StreamingAssets\data\constants

Open the ApplicationConstants.json file

below the

{
"ResourceType": "UIModulePrefabs",
"ResourceID": "uixPrfPanl_mainMenu",
"Priority": "Foreground"
}

section, add a comma at the end, and then the rest of this:
,
{
"ResourceType": "AmmunitionDef",
"ResourceID": "All",
"Priority": "Background"
},
{
"ResourceType": "AmmunitionBoxDef",
"ResourceID": "All",
"Priority": "Background"
},
{
"ResourceType": "HeatSinkDef",
"ResourceID": "All",
"Priority": "Background"
}


Save and see whether that works.

No joy, same error. I also tried deleting "Ammunition_Flamer,AmmunitionDef,data/ammunition/Ammunition_Flamer.json,8,2018-02-27T00:45:27.5745247Z,2018-04-05T01:11:43.6715758Z,,,False,0,False" from the VersionManifest. Same error occurred regardless. It's like the game is expecting that a Flamer (at least one) must have ties to the Ammunition_Flamer section.
 
No, you shouldn't delete the ammunition file, or the ammunition box file. The system is trying to look for them in memory, I was trying to force it to load those. I ran into some problems with AMS ammo.. seems like a few bugs for HBS to iron out.
 
How do I install a mod?

I just downloaded a mod, but it's a zip with a BT_data, streaming_asssets, data folders, I could probably dump it into my game and it might work, but I don't want to break anything.

Is there no way to have a mod folder and run mods through that?
 
How do I install a mod?

I just downloaded a mod, but it's a zip with a BT_data, streaming_asssets, data folders, I could probably dump it into my game and it might work, but I don't want to break anything.

Is there no way to have a mod folder and run mods through that?

We're in the early Wild West days as far the modding goes.
 
Indeed we are in the wild west.
Plus things have changed a fair bit, for example I've been experimenting with converting SolahmaJoe's Warhammer mod (over at r/BattleTechMods). I've got reasonably far, being able to load the mech into the Mechlab, and Skirmish select screens, but I've so far not fixed it up to the point where it will load up into a mission.

whammy2.JPG whammer1.JPG
Right now I get a softlock (LWoD) while loading into the mission with the following error in the Output log

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)

MechLab [LOG] ValidateMechDef: mech: mechdef_warhammer_WHM-6D, validation level: Basic

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)

MechLab [LOG] ValidateMechDef: mech: mechdef_warhammer_WHM-6D, validation level: Basic

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)

MechLab [LOG] ValidateMechDef: mech: mechdef_warhammer_WHM-6D, validation level: Basic

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)

MechLab [LOG] ValidateMechDef: mech: mechdef_warhammer_WHM-6D, validation level: Basic

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)

MapMetaData - successfully loaded biomeskin highlandsSpring

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51)

The referenced script on this Behaviour is missing!

(Filename: Line: 1515)

The referenced script on this Behaviour (Game Object '<null>') is missing!

(Filename: Line: 1744)

A script behaviour (probably VersionTrackingBreadcrumb?) has a different serialization layout when loading. (Read 48 bytes but expected 112 bytes)
Did you #ifdef UNITY_EDITOR a section of your serialized properties in any of your scripts?

(Filename: Line: 1888)

I suspect this is a compatibility issue in the assetbundle, I'll need to crack open a couple of mech asset bundle and have a dig around inside and see whats changed. I've not had a chance to do that yet.

EDIT:
I've now had a chance to open up and dig around the asset files, and I think I've spotted the problem. There are a half dozen or more extra script files in the release version of the mech assets.
I suspect those files will need to be added to the Warhammers assetbundle and the scripts added as components to the correct game objects.
 
Last edited:
I was also poking around the files and can see that HBS added some Star League Era 'Mechs.

Example

There is a Highlander 732b, but it doesn't use the correct LRM or SRM type (artemis versions) and instead uses upgraded variants of weapons HBS created. It also doesn't have CASE assigned to a critical slot or Ferro-Fibrous armor as far as I can see.

There is also a Star League Black Knight that is lacking Endo Steel and a Beagle Active Probe, but has pulse lasers.
 
I was also poking around the files and can see that HBS added some Star League Era 'Mechs.

Example

There is a Highlander 732b, but it doesn't use the correct LRM or SRM type (artemis versions) and instead uses upgraded variants of weapons HBS created. It also doesn't have CASE assigned to a critical slot or Ferro-Fibrous armor as far as I can see.

There is also a Star League Black Knight that is lacking Endo Steel and a Beagle Active Probe, but has pulse lasers.

This is because
In the campaign, you find a star league cache. Also, at least 2 streamers and at least one person on the forums were able to encounter a Black Knight (and some were able to salvage it) on random missions.
 
I was also poking around the files and can see that HBS added some Star League Era 'Mechs.

Example

There is a Highlander 732b, but it doesn't use the correct LRM or SRM type (artemis versions) and instead uses upgraded variants of weapons HBS created. It also doesn't have CASE assigned to a critical slot or Ferro-Fibrous armor as far as I can see.

There is also a Star League Black Knight that is lacking Endo Steel and a Beagle Active Probe, but has pulse lasers.
I won’t read too much into “not being able to see”. HBS’ implementation obfuscate a lot from the player, and the important “dry weight” info of Mechs (weight before weapons) is hidden from us. I can build a chassis and claim it has Endo and FF and XL in game, and you can’t really disprove it without working out the build with a calculator.
 
I won’t read too much into “not being able to see”. HBS’ implementation obfuscate a lot from the player, and the important “dry weight” info of Mechs (weight before weapons) is hidden from us. I can build a chassis and claim it has Endo and FF and XL in game, and you can’t really disprove it without working out the build with a calculator.

Right, but for me personally I would like to see everything and more stats, etc. Basically like SkunkWerks, check boxes for structure type/armor, etc. Although since the UI is hardcoded I'm hoping HBS can implement more to it.
 
If you modify a file, will saved games notice the change? I tried modifying the DestroyedMechRecoveryChance to 0 in the SimGameConstants.json, but I seemed to get partial mech salvage anyway from cored mechs.
 
Last edited:
Trying to create half ton ammo boxes for all ammo types, what files should I modify/create? So far I created "Ammo_AmmunitionBox_Generic_AC2_half.json" and modified the "shopdef_Ammo_all.json" to include new ammo but I'm not having any luck. Nothing odd being outputted to log, either.

Second question, any easier way to test mods without having to restart the game? Loading saves doesn't seem to show changes as I'm assuming everything is front loaded.
 
If you modify a file, will saved games notice the change? I tried modifying the DestroyedMechRecoveryChance to 0 in the SimGameConstants.json, but I seemed to get partial mech salvage anyway from cored mechs.
That parameter has nothing to do with salvage... that's how likely it is that your mech will continue to exist when you get cored.
 
Been experimenting this evening with gutting out the story and setting things up as a sandbox and I've made some progress by basically building off the "Skip tutorial" stuff and kludging from there.

So far I've got it so you can start in the Argo (or the Leopard, depending on how you edit it) and can travel the entire map. I've even just figured out how to enable the Directorate as an employer (took a while, apparently the very first milestone file, the intro cinematic, sets it to ignore them for contracts among other groundwork).

Screenshots:
paJwwGs.jpg

pSVlrkQ.jpg

OcR76TI.jpg

Still a lot of work I'd need to do to make it a proper sandbox. The story missions and their milestones control the steady increase of the global difficulty level. This can be fixed by adjusting the default global difficulty level, but that raises the average across the board. At the standard starting global difficulty even the "hardest" systems max out at 3 skulls difficulty. Meanwhile at the end of the story the global difficulty level is set so high even the easiest beginning system are at about 2-2.5 skulls difficulty*.

If a complete range of difficulties across the map is desired instead of a narrower range, I'll have to potentially edit each individual system's file to tweak its difficulty modifier*. I'll already potentially have to do that to get the Directorate more involved (both as a target for non-Restoration factions and a potential employer).


*Systems difficulty modifiers range from -2 to +3, the game starts at global difficulty of 2 skull, and ends with a global difficulty of 7. 1 point of difficulty = half a skull.
 
Keep it up, it'd be nice to see this mod get completed. Makes me think of Call of Chernobyl for STALKER, which is basically a sandbox mod.