The spawn lists are now defined in data/raw/item_groups.json, though if you need new spawn locations, that still needs support in the game. Also the rarity of items is based on their spawn list rather than the item itself, so e.g. “cop guns” could be more common in police stations and “military guns” more common in FEMA camps.
Also there’s a sizeable change coming up soon in that ammo types are defined in the json files now instead of in the game proper, so you can add an ammo with a new type, a gun that uses that ammo type, and add both to the spawn lists, and you’re set.
e.g. the Sweedish Mauser
In ammo.json:
{ "type" : "AMMO",
"id" : "6.5x55mm",
"rarity" : 1,
"price" : 650,
"name" : "6.5x55 Swedish",
"symbol" : "=",
"color" : "dark_gray",
"description" : "A rifle round developed in 1891 for use in the United Kingdoms of Sweden and Norway.",
"material" : "steel",
"volume" : 2,
"weight" : 4,
"bashing" : 1,
"cutting" : 0,
"to_hit" : 0,
"ammo_type" : "65x55",
"damage" : 30,
"pierce" : 6,
"range" : 32,
"dispersion" : 12,
"recoil" : 22,
"count" : 20,
"effects" : ["COOKOFF"]
},
In ranged.json:
{
"id": "swedish_mauser",
"type": "GUN",
"symbol": "(",
"color": "brown",
"name": "Swedish Mauser",
"description": "A bolt-action battle rifle designed for trench warfare for the Swedish armed forces.",
"rarity": 1,
"price": 1200,
"material": ["iron", "wood"],
"skill": "rifle",
"ammo": "65x55",
"weight": 35,
"volume": 15,
"bashing": 12,
"cutting": 0,
"to_hit": 3,
"ranged_damage": 2,
"range": 0,
"dispersion": 5,
"recoil": -4,
"durability": 8,
"burst": 0,
"clip_size": 5,
"reload": 500
},
And in item_group.json, insert “[“6.5x55mm”, 1],” in locations you want the ammo to spawn, and “[“swedish_mauser”, 1]” in locations where you want the rifle to spawn.
You can also make a crafting recipe for the ammo to allow assembly and disassembly of it, which requires a matching casing.
Still to come is a way to tell the game what casings to eject when you fire a given ammo.