Try these override files, placed in the "Mods\Import\ItemTemplate\ItemTemplate_Equipment\ItemTemplate_Weapon\ItemTemplate_WeaponRanged" folder:
AssaultRifle_Tier_1_1.mson
Code: Select all
{
description : "Test assault rifle 1"
attackRange : 25
optimalRange : 15
pointBlankRange : 5
modClass : None // WeaponModClass enumeration
validMods : [ Barrel, UnderBarrel ] // ModSlot enumeration
}
AssaultRifle_Tier_1_2.mson
Code: Select all
{
description : "Test assault rifle 2"
attackRange : 30
optimalRange : 25
pointBlankRange : 20
modClass : AssaultRifle // WeaponModClass enumeration
validMods : [ Barrel, UnderBarrel ] // ModSlot enumeration
}
The first one will have no mod slots whatsoever, while the second one will have the four mod slots an assault rifle normally gets.
The reason your example seems to work is because you left the
modClass field unchanged. It defaults to using
modClass if the
validMods array is null or zero-length, and since the deserializer is bugged,
validMods will pretty much always end up being a zero-length array if you try to modify it.