diff --git a/data/json/items/classes/gun.json b/data/json/items/classes/gun.json index 05fe2f43e165..2d8acfc91123 100644 --- a/data/json/items/classes/gun.json +++ b/data/json/items/classes/gun.json @@ -15,6 +15,7 @@ "abstract": "flamethrower_base", "copy-from": "gun_base", "type": "GUN", + "weapon_category": [ "FLAMETHROWERS" ], "reload_noise": "slosh.", "name": { "str": "base flamethrower" }, "looks_like": "m79", @@ -31,6 +32,7 @@ "abstract": "launcher_base", "copy-from": "gun_base", "type": "GUN", + "weapon_category": [ "GRENADE_LAUNCHERS" ], "name": { "str": "base launcher" }, "looks_like": "m79", "bashing": 12, @@ -41,10 +43,20 @@ "flags": [ "RELOAD_ONE", "RELOAD_EJECT", "NEVER_JAMS" ], "faults": [ "fault_gun_blackpowder", "fault_gun_dirt" ] }, + { + "abstract": "rocket_base", + "copy-from": "launcher_base", + "type": "GUN", + "weapon_category": [ "ROCKET_LAUNCHERS" ], + "name": { "str": "base rocket launcher" }, + "valid_mod_locations": [ [ "accessories", 2 ], [ "barrel", 1 ], [ "sights", 1 ], [ "sling", 1 ] ], + "flags": [ "RELOAD_ONE", "NEVER_JAMS", "PYROMANIAC_WEAPON" ] + }, { "abstract": "pistol_base", "copy-from": "gun_base", "type": "GUN", + "weapon_category": [ "PISTOLS", "AUTOLOADING" ], "name": { "str": "base pistol" }, "looks_like": "glock_17", "skill": "pistol", @@ -87,10 +99,21 @@ [ "underbarrel mount", 1 ] ] }, + { + "abstract": "pistol_1shot", + "copy-from": "pistol_base", + "type": "GUN", + "weapon_category": [ "PISTOLS", "1SHOT" ], + "name": { "str": "single shot pistols" }, + "extend": { "flags": [ "RELOAD_ONE", "RELOAD_EJECT", "NEVER_JAMS" ] }, + "//": "More reliable than other pistols because it uses no magazine and has no loading/cycling mechanisms.", + "faults": [ "fault_gun_blackpowder", "fault_gun_dirt" ] + }, { "abstract": "pistol_revolver", "copy-from": "pistol_base", "type": "GUN", + "weapon_category": [ "REVOLVERS", "MANUAL_ACTION" ], "name": { "str": "revolver" }, "looks_like": "sw_619", "to_hit": -2, @@ -113,13 +136,13 @@ }, { "abstract": "pistol_revolver_cap_ball", - "copy-from": "pistol_base", + "copy-from": "pistol_revolver", "type": "GUN", "name": { "str": "cap & ball revolver" }, "looks_like": "sw_619", - "clip_size": 6, "reload": 150, - "extend": { "flags": [ "RELOAD_ONE", "NO_UNLOAD" ] }, + "extend": { "flags": [ "NO_UNLOAD" ] }, + "delete": { "flags": [ "NEVER_JAMS" ] }, "//": "Slower reloads, no unloading. Base, unskilled person should take 1.5 seconds per chamber. No underbarrel mods, that's where the ram goes.", "faults": [ "fault_gun_blackpowder", "fault_gun_dirt" ], "valid_mod_locations": [ @@ -132,10 +155,54 @@ [ "sights mount", 1 ] ] }, + { + "abstract": "pistol_energy", + "copy-from": "pistol_base", + "type": "GUN", + "weapon_category": [ "PISTOLS", "ENERGY_WEAPONS" ], + "name": { "str": "energy pistol" }, + "looks_like": "v29", + "//": "No conventional faults because it uses non-conventional systems.", + "flags": [ "NEVER_JAMS", "NO_UNLOAD", "NON-FOULING", "NEEDS_NO_LUBE" ], + "valid_mod_locations": [ + [ "accessories", 2 ], + [ "emitter", 1 ], + [ "grip", 1 ], + [ "lens", 1 ], + [ "rail", 1 ], + [ "sights", 1 ], + [ "stock", 1 ], + [ "underbarrel", 1 ] + ], + "faults": [ ] + }, + { + "abstract": "pistol_elastic", + "copy-from": "pistol_base", + "type": "GUN", + "weapon_category": [ "PISTOLS", "ELASTIC" ], + "name": { "str": "elastic pistol" }, + "bashing": 7, + "to_hit": -2, + "//": "No conventional faults because it uses non-conventional systems.", + "flags": [ "RELOAD_ONE", "STR_RELOAD", "WATERPROOF_GUN", "UNDERWATER_GUN", "NEVER_JAMS", "NON-FOULING", "NEEDS_NO_LUBE" ], + "dispersion": 120, + "reload": 600, + "valid_mod_locations": [ + [ "accessories", 2 ], + [ "grip", 1 ], + [ "sights", 1 ], + [ "stock", 1 ], + [ "rail mount", 1 ], + [ "underbarrel mount", 1 ] + ], + "faults": [ ] + }, { "abstract": "rifle_base", "copy-from": "gun_base", "type": "GUN", + "weapon_category": [ "RIFLES", "AUTOLOADING" ], "name": { "str": "base rifle" }, "looks_like": "ar15", "bashing": 12, @@ -161,23 +228,10 @@ "abstract": "rifle_manual", "copy-from": "rifle_base", "type": "GUN", + "weapon_category": [ "RIFLES", "MANUAL_ACTION" ], "name": { "str": "rifle with manual actions", "str_pl": "rifles with manual actions" }, - "//": "Manual actions exclude the magazine location preventing installation of belt-feed adaptors", - "faults": [ "fault_gun_blackpowder", "fault_gun_dirt" ], - "valid_mod_locations": [ - [ "accessories", 4 ], - [ "barrel", 1 ], - [ "bore", 1 ], - [ "brass catcher", 1 ], - [ "grip", 1 ], - [ "mechanism", 4 ], - [ "muzzle", 1 ], - [ "rail", 1 ], - [ "sights", 1 ], - [ "sling", 1 ], - [ "stock", 1 ], - [ "underbarrel", 1 ] - ] + "//": "Slightly more reliable than autoloading actions.", + "faults": [ "fault_gun_blackpowder", "fault_gun_dirt" ] }, { "abstract": "rifle_semi", @@ -191,10 +245,19 @@ "type": "GUN", "name": { "str": "fully automatic rifle" } }, + { + "abstract": "rifle_1shot", + "copy-from": "rifle_base", + "type": "GUN", + "weapon_category": [ "RIFLES", "1SHOT" ], + "name": { "str": "single shot rifle" }, + "flags": [ "RELOAD_ONE", "RELOAD_EJECT", "NEVER_JAMS" ] + }, { "abstract": "rifle_home_made", "copy-from": "rifle_base", "type": "GUN", + "weapon_category": [ "RIFLES", "1SHOT" ], "name": { "str": "home-made rifle" }, "ranged_damage": { "damage_type": "bullet", "amount": 1 }, "dispersion": 550, @@ -216,10 +279,91 @@ "faults": [ "fault_gun_blackpowder", "fault_gun_dirt" ], "flags": [ "RELOAD_EJECT" ] }, + { + "abstract": "rifle_energy", + "copy-from": "rifle_base", + "type": "GUN", + "weapon_category": [ "RIFLES", "ENERGY_WEAPONS" ], + "name": { "str": "energy rifle" }, + "looks_like": "laser_rifle", + "//": "No conventional faults because it uses non-conventional systems.", + "flags": [ "NEVER_JAMS", "NO_UNLOAD", "NON-FOULING", "NEEDS_NO_LUBE" ], + "valid_mod_locations": [ + [ "accessories", 4 ], + [ "emitter", 1 ], + [ "grip", 1 ], + [ "lens", 1 ], + [ "rail", 1 ], + [ "sights", 1 ], + [ "sling", 1 ], + [ "stock", 1 ], + [ "underbarrel", 1 ] + ], + "faults": [ ] + }, + { + "abstract": "rifle_magnetic", + "copy-from": "rifle_base", + "type": "GUN", + "weapon_category": [ "RIFLES", "MAGNETIC" ], + "name": { "str": "magnetic rifle" }, + "looks_like": "laser_rifle", + "//": "No conventional faults because it uses non-conventional systems.", + "flags": [ "NEVER_JAMS", "NON-FOULING", "NEEDS_NO_LUBE" ], + "valid_mod_locations": [ + [ "accessories", 4 ], + [ "grip", 1 ], + [ "mechanism", 4 ], + [ "rail", 1 ], + [ "sights", 1 ], + [ "sling", 1 ], + [ "stock", 1 ], + [ "underbarrel", 1 ] + ], + "faults": [ ] + }, + { + "abstract": "rifle_elastic", + "copy-from": "rifle_base", + "type": "GUN", + "weapon_category": [ "RIFLES", "ELASTIC" ], + "name": { "str": "elastic rifle" }, + "bashing": 8, + "to_hit": -2, + "//": "No conventional faults because it uses non-conventional systems.", + "flags": [ "RELOAD_ONE", "STR_RELOAD", "WATERPROOF_GUN", "UNDERWATER_GUN", "NEVER_JAMS", "NON-FOULING", "NEEDS_NO_LUBE" ], + "dispersion": 90, + "reload": 700, + "valid_mod_locations": [ + [ "accessories", 4 ], + [ "grip", 1 ], + [ "sights", 1 ], + [ "sling", 1 ], + [ "stock", 1 ], + [ "rail mount", 1 ], + [ "underbarrel mount", 1 ] + ], + "faults": [ ] + }, + { + "abstract": "rifle_pneumatic", + "copy-from": "rifle_base", + "type": "GUN", + "weapon_category": [ "RIFLES", "PNEUMATIC" ], + "name": { "str": "pneumatic rifle" }, + "bashing": 8, + "//": "No conventional faults because it uses non-conventional systems.", + "flags": [ "NEVER_JAMS", "NON-FOULING", "NEEDS_NO_LUBE" ], + "dispersion": 350, + "reload": 600, + "valid_mod_locations": [ [ "accessories", 3 ], [ "sling", 1 ], [ "grip", 1 ], [ "mechanism", 4 ], [ "stock", 1 ], [ "rail mount", 1 ] ], + "faults": [ ] + }, { "abstract": "shotgun_base", "copy-from": "gun_base", "type": "GUN", + "weapon_category": [ "SHOTGUNS", "AUTOLOADING" ], "name": { "str": "base shotgun" }, "skill": "shotgun", "bashing": 12, @@ -241,13 +385,23 @@ [ "underbarrel mount", 1 ] ] }, + { + "abstract": "shotgun_1shot", + "copy-from": "shotgun_base", + "type": "GUN", + "weapon_category": [ "SHOTGUNS", "1SHOT" ], + "name": { "str": "single shot shotguns" }, + "extend": { "flags": [ "RELOAD_ONE", "RELOAD_EJECT" ] }, + "faults": [ "fault_gun_blackpowder", "fault_gun_dirt" ] + }, { "abstract": "shotgun_pump", "copy-from": "shotgun_base", "type": "GUN", + "weapon_category": [ "SHOTGUNS", "MANUAL_ACTION" ], "name": { "str": "pump action shotgun" }, "reload_noise": "chuk chuk.", - "flags": [ "RELOAD_ONE", "PUMP_ACTION" ], + "extend": { "flags": [ "RELOAD_ONE", "PUMP_ACTION" ] }, "faults": [ "fault_gun_blackpowder", "fault_gun_dirt" ] }, { @@ -276,6 +430,7 @@ "abstract": "smg_base", "copy-from": "gun_base", "type": "GUN", + "weapon_category": [ "SUBMACHINE_GUNS", "AUTOLOADING" ], "name": { "str": "base SMG" }, "bashing": 10, "ascii_picture": "hk_mp5a2", @@ -295,5 +450,66 @@ [ "stock", 1 ], [ "underbarrel", 1 ] ] + }, + { + "abstract": "mg_base", + "copy-from": "rifle_base", + "type": "GUN", + "weapon_category": [ "MACHINE_GUNS", "AUTOLOADING" ], + "name": { "str": "base machine gun" }, + "to_hit": -4, + "bashing": 18, + "reload": 400, + "handling": 40 + }, + { + "abstract": "gatling_base", + "copy-from": "gun_base", + "type": "GUN", + "weapon_category": [ "GATLING_GUNS", "AUTOLOADING" ], + "name": { "str": "base gatling gun" }, + "looks_like": "ar15", + "to_hit": -4, + "bashing": 18, + "skill": "rifle", + "dispersion": 300, + "reload": 400, + "handling": 60, + "valid_mod_locations": [ [ "brass catcher", 1 ], [ "sling", 1 ], [ "rail mount", 1 ], [ "sights mount", 1 ] ], + "flags": [ "MOUNTED_GUN" ], + "faults": [ "fault_gun_blackpowder", "fault_gun_dirt" ] + }, + { + "abstract": "gatling_energy", + "copy-from": "gatling_base", + "type": "GUN", + "weapon_category": [ "GATLING_GUNS", "ENERGY_WEAPONS" ], + "name": { "str": "energy gatling gun" }, + "bashing": 8, + "reload": 200, + "handling": 40, + "flags": [ "NO_UNLOAD", "NEVER_JAMS", "NON-FOULING" ], + "faults": [ ] + }, + { + "abstract": "chemical_sprayer_base", + "copy-from": "gun_base", + "type": "GUN", + "weapon_category": [ "SPRAY_GUNS" ], + "name": { "str": "base chemical sprayer" }, + "looks_like": "m79", + "bashing": 9, + "skill": "launcher", + "ammo": "chemical_spray", + "flags": [ "FIRE_50", "NEVER_JAMS", "NON-FOULING" ], + "valid_mod_locations": [ + [ "accessories", 4 ], + [ "grip", 1 ], + [ "rail", 1 ], + [ "sights", 1 ], + [ "sling", 1 ], + [ "stock", 1 ], + [ "underbarrel", 1 ] + ] } ] diff --git a/data/json/items/classes/range.json b/data/json/items/classes/range.json index 2506072a0769..d824f74fb35c 100644 --- a/data/json/items/classes/range.json +++ b/data/json/items/classes/range.json @@ -12,6 +12,7 @@ "abstract": "bow_base", "copy-from": "muscle_ranged_base", "type": "GUN", + "weapon_category": [ "BOWS", "ELASTIC" ], "name": { "str": "base bow" }, "skill": "archery", "reload_noise_volume": 3, @@ -20,11 +21,37 @@ "extend": { "flags": [ "FIRE_TWOHAND" ] }, "valid_mod_locations": [ [ "underbarrel", 1 ], [ "sights", 1 ], [ "accessories", 2 ], [ "stabilizer", 1 ], [ "dampening", 1 ] ] }, + { + "abstract": "xbow_base", + "type": "GUN", + "looks_like": "crossbow", + "weapon_category": [ "CROSSBOWS", "ELASTIC" ], + "name": { "str": "base crossbow" }, + "reload_noise_volume": 10, + "skill": "rifle", + "symbol": "(", + "color": "green", + "flags": [ "PRIMITIVE_RANGED_WEAPON", "CROSSBOW", "RELOAD_ONE" ], + "clip_size": 1, + "ammo": "bolt", + "valid_mod_locations": [ + [ "accessories", 4 ], + [ "grip", 1 ], + [ "mechanism", 4 ], + [ "rail", 1 ], + [ "sights", 1 ], + [ "sling", 1 ], + [ "stock", 1 ], + [ "underbarrel", 1 ], + [ "dampening", 1 ] + ] + }, { "abstract": "slingshot_base", "//": "Used for slingshots, that use archery, not slings, that use the throw skill instead.", "copy-from": "muscle_ranged_base", "type": "GUN", + "weapon_category": [ "SLINGSHOTS", "ELASTIC" ], "name": { "str": "base slingshot" }, "skill": "archery", "ammo": "pebble", @@ -32,10 +59,11 @@ "extend": { "flags": [ "BELT_CLIP" ] } }, { - "abstract": "throwing_weapon_base", + "abstract": "sling_base", "copy-from": "muscle_ranged_base", "type": "GUN", - "name": { "str": "base throwing weapon" }, + "weapon_category": [ "SLINGS" ], + "name": { "str": "base sling" }, "skill": "throw" } ] diff --git a/data/json/items/gun/12mm.json b/data/json/items/gun/12mm.json index e79b9c142d72..f4a1eea43930 100644 --- a/data/json/items/gun/12mm.json +++ b/data/json/items/gun/12mm.json @@ -1,7 +1,7 @@ [ { "id": "hk_g80", - "copy-from": "rifle_base", + "copy-from": "rifle_magnetic", "type": "GUN", "name": { "str": "H&K G80 railgun" }, "description": "Developed by Heckler & Koch, this railgun magnetically propels a ferromagnetic projectile using an alternating current. Powered by UPS.", @@ -14,17 +14,6 @@ "range": 60, "dispersion": 45, "ups_charges": 5, - "valid_mod_locations": [ - [ "accessories", 4 ], - [ "grip", 1 ], - [ "mechanism", 4 ], - [ "rail", 1 ], - [ "sights", 1 ], - [ "sling", 1 ], - [ "stock", 1 ], - [ "underbarrel", 1 ] - ], - "magazines": [ [ "12mm", [ "hk_g80mag" ] ] ], - "flags": [ "NEVER_JAMS" ] + "magazines": [ [ "12mm", [ "hk_g80mag" ] ] ] } ] diff --git a/data/json/items/gun/20x66mm.json b/data/json/items/gun/20x66mm.json index 05cf887c020a..fb480a305e0f 100644 --- a/data/json/items/gun/20x66mm.json +++ b/data/json/items/gun/20x66mm.json @@ -67,8 +67,7 @@ }, { "id": "rm228", - "copy-from": "gun_base", - "looks_like": "remington_870", + "copy-from": "shotgun_base", "type": "GUN", "name": { "str": "RM228 PDW" }, "description": "Chambering the powerful 20x66mm caseless shotgun cartridge, the Rivtech RM228 PDW was designed for the civilian personal defense market with durability and ease of use as priorities. While lauded for its small size and light weight, its hefty price tag kept it out of the reach of casual collectors.", @@ -85,6 +84,7 @@ "dispersion": 400, "durability": 9, "default_mods": [ "pistol_stock" ], + "handling": 15, "valid_mod_locations": [ [ "accessories", 3 ], [ "grip", 1 ], diff --git a/data/json/items/gun/22.json b/data/json/items/gun/22.json index 79fa6e64fbec..43a8fe4cb528 100644 --- a/data/json/items/gun/22.json +++ b/data/json/items/gun/22.json @@ -93,7 +93,7 @@ }, { "id": "ruger_1022", - "copy-from": "rifle_manual", + "copy-from": "rifle_base", "type": "GUN", "name": { "str_sp": "Ruger 10/22" }, "description": "A combination of negligible recoil, high customization, and inexpensive ammunition made the Ruger 10/22 a popular choice among enthusiasts and small game hunters. Even though it fires the weak .22 round, it's perfectly capable of killing.", diff --git a/data/json/items/gun/223.json b/data/json/items/gun/223.json index b02981e8c214..d197c2cade41 100644 --- a/data/json/items/gun/223.json +++ b/data/json/items/gun/223.json @@ -195,7 +195,7 @@ }, { "id": "m249", - "copy-from": "rifle_auto", + "copy-from": "mg_base", "type": "GUN", "name": { "str": "M249" }, "description": "The M249 is a mountable machine gun used by the US military and SWAT teams. Quite inaccurate and difficult to control, the M249 is designed to fire many rounds very quickly.", @@ -211,8 +211,6 @@ "dispersion": 200, "durability": 7, "min_cycle_recoil": 1350, - "reload": 400, - "handling": 40, "modes": [ [ "DEFAULT", "burst", 4 ] ], "built_in_mods": [ "bipod" ], "valid_mod_locations": [ diff --git a/data/json/items/gun/300.json b/data/json/items/gun/300.json index 74bb40a764da..44aeaa573017 100644 --- a/data/json/items/gun/300.json +++ b/data/json/items/gun/300.json @@ -1,7 +1,7 @@ [ { "id": "m2010", - "copy-from": "rifle_base", + "copy-from": "rifle_manual", "type": "GUN", "name": { "str_sp": "M2010 ESR" }, "//": "http://www.guns.com/2012/05/17/remington-xm2010-army-sniper-system-esr-now-in-stores/.", diff --git a/data/json/items/gun/3006.json b/data/json/items/gun/3006.json index 58fd1368b9d2..cdc50573a5af 100644 --- a/data/json/items/gun/3006.json +++ b/data/json/items/gun/3006.json @@ -89,7 +89,7 @@ }, { "id": "m1918", - "copy-from": "rifle_manual", + "copy-from": "rifle_base", "type": "GUN", "name": { "str": "Browning Automatic Rifle" }, "description": "Designed near the end of World War I, the BAR provided fire support for the US Army from World War II all the way to the Vietnam War. Too much firepower to serve as a battle rifle, but not enough to be an ideal light machine gun, it still found a niche on the battlefield.", diff --git a/data/json/items/gun/308.json b/data/json/items/gun/308.json index 6b219a8c9660..0bc0eecb6310 100644 --- a/data/json/items/gun/308.json +++ b/data/json/items/gun/308.json @@ -41,7 +41,7 @@ }, { "id": "m134", - "copy-from": "rifle_auto", + "copy-from": "gatling_base", "type": "GUN", "name": { "str": "M134D-H Minigun" }, "description": "The M134D-H Minigun is a (relatively) lightweight heavy rotary machine gun. Its six barrels are rotated by an electric motor, powered by UPS or vehicle. If you could find enough ammo for it, it would become a devastating weapon.", @@ -50,23 +50,16 @@ "barrel_length": "750 ml", "price": 5500000, "price_postapoc": 10000, - "to_hit": -4, - "bashing": 18, "material": "hardsteel", "color": "dark_gray", "ammo": "308", + "ups_charges": 1, "ranged_damage": { "damage_type": "bullet", "amount": -1 }, - "dispersion": 300, "durability": 9, "blackpowder_tolerance": 96, - "ups_charges": 1, - "reload": 400, - "valid_mod_locations": [ [ "brass catcher", 1 ], [ "sling", 1 ], [ "rail mount", 1 ], [ "sights mount", 1 ] ], - "handling": 60, "modes": [ [ "DEFAULT", "low auto", 6 ], [ "AUTO", "high auto", 18 ] ], - "faults": [ "fault_gun_blackpowder", "fault_gun_dirt" ], "magazines": [ [ "308", [ "belt308" ] ] ], - "flags": [ "NEVER_JAMS", "MOUNTED_GUN" ] + "extend": { "flags": [ "NEVER_JAMS" ] } }, { "id": "m14ebr", @@ -138,7 +131,7 @@ }, { "id": "m240", - "copy-from": "rifle_auto", + "copy-from": "mg_base", "type": "GUN", "name": { "str": "M240" }, "description": "The M240 is a medium machine gun used by the US military, replacing the older M60. Quite inaccurate and difficult to control, the M240 is designed to fire many rounds very quickly.", @@ -147,15 +140,14 @@ "barrel_length": "500 ml", "price": 1000000, "price_postapoc": 7500, + "bashing": 15, "ascii_picture": "m240", - "bashing": 13, "material": [ "steel", "plastic" ], "color": "dark_gray", "ammo": "308", "dispersion": 200, "durability": 9, "min_cycle_recoil": 2700, - "reload": 400, "handling": 45, "modes": [ [ "DEFAULT", "burst", 4 ] ], "built_in_mods": [ "bipod" ], @@ -176,7 +168,7 @@ }, { "id": "m60", - "copy-from": "rifle_auto", + "copy-from": "mg_base", "type": "GUN", "name": { "str": "M60" }, "description": "The M60 is a general-purpose machine gun developed to replace the .30-caliber M1918 and M1919. Heavy and difficult to handle fired from the shoulder, as most people aren't action-movie heroes.", @@ -185,7 +177,6 @@ "barrel_length": "500 ml", "price": 1000000, "price_postapoc": 7500, - "bashing": 15, "material": [ "steel", "plastic" ], "color": "dark_gray", "ammo": "308", @@ -193,8 +184,6 @@ "dispersion": 180, "durability": 7, "min_cycle_recoil": 2700, - "reload": 400, - "handling": 40, "modes": [ [ "DEFAULT", "burst", 4 ] ], "built_in_mods": [ "bipod" ], "valid_mod_locations": [ diff --git a/data/json/items/gun/38.json b/data/json/items/gun/38.json index 1f46b9e180da..dce3e19addbb 100644 --- a/data/json/items/gun/38.json +++ b/data/json/items/gun/38.json @@ -1,7 +1,7 @@ [ { "id": "2_shot_special", - "copy-from": "pistol_base", + "copy-from": "pistol_1shot", "type": "GUN", "name": { "str": "2 Shot Special" }, "//": "It's hard to say just how big this is, although it's (very large) pistol sized. But it is a handmade weapon.", @@ -29,12 +29,11 @@ [ "rail mount", 1 ], [ "stock mount", 1 ] ], - "delete": { "faults": "fault_gun_chamber_spent" }, - "flags": [ "RELOAD_ONE", "RELOAD_EJECT" ] + "delete": { "flags": "NEVER_JAMS" } }, { "id": "cop_38", - "copy-from": "pistol_base", + "copy-from": "pistol_1shot", "type": "GUN", "name": { "str": "COP .357 Derringer" }, "description": "A small, chubby derringer pistol bearing a slight resemblance to the Mossberg Brownie. It uses a rotating firing pin to fire the individual hammers of the four barrels arranged in a square formation.", @@ -59,9 +58,7 @@ [ "sights mount", 1 ], [ "stock mount", 1 ], [ "underbarrel mount", 1 ] - ], - "delete": { "faults": "fault_gun_chamber_spent" }, - "flags": [ "RELOAD_ONE", "NEVER_JAMS", "RELOAD_EJECT" ] + ] }, { "id": "model_10_revolver", diff --git a/data/json/items/gun/410shot.json b/data/json/items/gun/410shot.json index 1bd68c4eae1d..74f9b12498da 100644 --- a/data/json/items/gun/410shot.json +++ b/data/json/items/gun/410shot.json @@ -20,14 +20,34 @@ }, { "id": "shotgun_410", - "copy-from": "shotgun_s", + "copy-from": "shotgun_1shot", "type": "GUN", "name": { "str": "Winchester M37 .410" }, "description": "A single-shot break-action shotgun, chambered in .410 bore. Designed as a lower-recoil alternative to 12 gauge shotguns, it is light and easy to manufacture.", "weight": "2948 g", "volume": "1748 ml", + "price": 10000, "price_postapoc": 2000, "blackpowder_tolerance": 80, - "ammo": "410shot" + "ammo": "410shot", + "material": [ "steel", "wood" ], + "dispersion": 210, + "durability": 9, + "clip_size": 1, + "barrel_length": "117 ml", + "valid_mod_locations": [ + [ "accessories", 4 ], + [ "barrel", 1 ], + [ "bore", 1 ], + [ "muzzle", 1 ], + [ "mechanism", 1 ], + [ "sights mount", 1 ], + [ "sling", 1 ], + [ "stock mount", 1 ], + [ "grip mount", 1 ], + [ "rail mount", 1 ], + [ "underbarrel mount", 1 ] + ], + "extend": { "flags": [ "NEVER_JAMS" ] } } ] diff --git a/data/json/items/gun/44paper.json b/data/json/items/gun/44paper.json index dc7c335d9041..ce89ef3e4875 100644 --- a/data/json/items/gun/44paper.json +++ b/data/json/items/gun/44paper.json @@ -44,7 +44,6 @@ [ "rail mount", 1 ], [ "sights mount", 1 ] ], - "built_in_mods": [ "lemat_revolver_shotgun" ], - "extend": { "flags": [ "NO_UNLOAD" ] } + "built_in_mods": [ "lemat_revolver_shotgun" ] } ] diff --git a/data/json/items/gun/45.json b/data/json/items/gun/45.json index eecb741447d5..86eebf8279d7 100644 --- a/data/json/items/gun/45.json +++ b/data/json/items/gun/45.json @@ -164,7 +164,7 @@ "type": "GUN", "name": { "str": "homemade hand cannon" }, "//": "On one hand, it's very big for a handgun. On the other, it's still a scrap weapon.", - "description": "A large and heavy pistol evidently welded from scrap. It's not pretty, but the .45 it's chambered with packs a serious punch. Just watch out for the kick.", + "description": "A large and heavy revolver evidently welded from scrap. It's not pretty, but the .45 it's chambered with packs a serious punch. Just watch out for the kick.", "weight": "1200 g", "volume": "1 L", "barrel_length": "100 ml", diff --git a/data/json/items/gun/4570.json b/data/json/items/gun/4570.json index c6bc842b3da3..1892b61b0f99 100644 --- a/data/json/items/gun/4570.json +++ b/data/json/items/gun/4570.json @@ -60,7 +60,7 @@ }, { "id": "sharps", - "copy-from": "rifle_base", + "copy-from": "rifle_1shot", "type": "GUN", "name": { "str_sp": "1874 Sharps" }, "description": "A reproduction of an antique single-shot .45-70 rifle once used to hunt buffalo and other large game in the late 19th Century. Highly accurate and powerful for the time, this one is made to handle modern smokeless ammunition.", @@ -88,7 +88,6 @@ [ "rail mount", 1 ], [ "stock", 1 ], [ "underbarrel mount", 1 ] - ], - "flags": [ "NEVER_JAMS", "RELOAD_EJECT" ] + ] } ] diff --git a/data/json/items/gun/45colt.json b/data/json/items/gun/45colt.json index 05970977123e..9880ca7cd625 100644 --- a/data/json/items/gun/45colt.json +++ b/data/json/items/gun/45colt.json @@ -1,7 +1,7 @@ [ { "id": "bond_410", - "copy-from": "pistol_base", + "copy-from": "pistol_1shot", "type": "GUN", "name": { "str": "Bond Arms Derringer" }, "description": "The Bond Arms Derringer is a series of multi-barrel compact pistols. Most commonly chambered for .45 Colt, with chambers long enough to accept .410 shotgun shells.", @@ -26,9 +26,7 @@ [ "sights mount", 1 ], [ "stock mount", 1 ], [ "underbarrel mount", 1 ] - ], - "flags": [ "RELOAD_ONE", "NEVER_JAMS", "RELOAD_EJECT" ], - "delete": { "faults": "fault_gun_chamber_spent" } + ] }, { "id": "colt_lightning", diff --git a/data/json/items/gun/50.json b/data/json/items/gun/50.json index 056bb5710581..79bbe873c08c 100644 --- a/data/json/items/gun/50.json +++ b/data/json/items/gun/50.json @@ -23,7 +23,7 @@ }, { "id": "m2browning", - "copy-from": "rifle_base", + "copy-from": "mg_base", "type": "GUN", "name": { "str_sp": "M2HB Browning HMG" }, "description": "A heavy machine gun used by the US Military from its inception to the Cataclysm, and even rarely by Cataclysm survivors.", @@ -35,8 +35,6 @@ "ammo": "50", "range": 110, "dispersion": 250, - "handling": 40, - "reload": 400, "barrel_length": "1250 ml", "modes": [ [ "DEFAULT", "semi", 1 ], [ "AUTO", "auto", 3 ] ], "valid_mod_locations": [ @@ -56,13 +54,25 @@ }, { "id": "m2browning_sawn", - "copy-from": "m2browning", + "copy-from": "rifle_manual", "type": "GUN", + "weapon_category": [ "RIFLES", "MANUAL_ACTION" ], "name": { "str": ".50 caliber rifle" }, "description": "Modified from the massive M2 Browning, this pared down rifle has been altered to be fired unmounted. The burst fire has been disabled, and its belt fed mechanism has been modified into a much smaller single round chamber.", "material": [ "steel", "wood" ], - "clip_size": 1, + "weight": "16500 g", + "volume": "3500 ml", + "price": 390000, "price_postapoc": 6000, + "to_hit": -4, + "bashing": 18, + "reload": 400, + "handling": 40, + "ammo": "50", + "range": 110, + "ranged_damage": { "damage_type": "bullet", "amount": -4 }, + "dispersion": 310, + "barrel_length": "1000 ml", "modes": [ [ "DEFAULT", "manual", 1 ] ], "valid_mod_locations": [ [ "accessories", 4 ], @@ -78,14 +88,7 @@ [ "underbarrel mount", 1 ] ], "magazines": [ ], - "relative": { - "weight": -21500, - "volume": -6, - "price": -1210000, - "ranged_damage": { "damage_type": "bullet", "amount": -4 }, - "dispersion": 60, - "barrel_length": -1 - }, + "clip_size": 1, "flags": [ "RELOAD_EJECT" ] }, { @@ -114,7 +117,7 @@ }, { "id": "tac50", - "copy-from": "rifle_base", + "copy-from": "rifle_manual", "type": "GUN", "name": { "str": "McMillan TAC-50" }, "description": "A long-range anti-materiel and anti-personnel sniper rifle made by McMillan Firearms, serving the Canadian Army since 2000 as the C15, and the Navy Seals as the Mk 15 Mod 0. This .50 caliber bolt-action rifle is capable of defeating light vehicles, radar installations and crew served weapons at extreme distances. It notably holds the longest range confirmed sniper kill, as well as the 4th and 5th longest.", @@ -136,7 +139,7 @@ }, { "id": "bfg50", - "copy-from": "rifle_base", + "copy-from": "rifle_manual", "type": "GUN", "name": { "str": "Serbu BFG-50" }, "description": "A single-shot, bolt-action rifle made by Serbu Firearms, the BFG-50 is a very affordable firearm for those wishing to shoot .50 BMG.", diff --git a/data/json/items/gun/545x39.json b/data/json/items/gun/545x39.json index 9328a3bd75c4..6ff7781e7b05 100644 --- a/data/json/items/gun/545x39.json +++ b/data/json/items/gun/545x39.json @@ -1,7 +1,7 @@ [ { "id": "ak74", - "copy-from": "rifle_manual", + "copy-from": "rifle_base", "type": "GUN", "name": { "str": "AK-74M" }, "//": "AKs likewise aren't commercially traded in the US, plus this is newer.", @@ -22,7 +22,7 @@ }, { "id": "an94", - "copy-from": "rifle_manual", + "copy-from": "rifle_base", "type": "GUN", "name": { "str": "AN-94" }, "description": "Intended to replace the AK-74, this rifle uses a sophisticated mechanism to delay felt recoil, along with a very fast two-round burst mode. While its increased complexity prevented it from being adopted by the Russian military, it has seen service among their special forces.", diff --git a/data/json/items/gun/57.json b/data/json/items/gun/57.json index cea9eb056d82..567627f277ca 100644 --- a/data/json/items/gun/57.json +++ b/data/json/items/gun/57.json @@ -1,7 +1,7 @@ [ { "id": "fn57", - "copy-from": "smg_base", + "copy-from": "pistol_base", "type": "GUN", "name": { "str": "FN Five-Seven" }, "description": "Designed to work with FN's proprietary 5.7x28mm round, the Five-Seven is a lightweight pistol with a very high capacity, best used against armored opponents.", @@ -9,9 +9,7 @@ "volume": "551 ml", "price": 124900, "price_postapoc": 2750, - "to_hit": -2, "ascii_picture": "FN_five_seven", - "bashing": 6, "material": [ "steel", "plastic" ], "ammo": "57", "ranged_damage": { "damage_type": "bullet", "amount": -2 }, diff --git a/data/json/items/gun/66mm.json b/data/json/items/gun/66mm.json index 585525733402..e11effd10cfc 100644 --- a/data/json/items/gun/66mm.json +++ b/data/json/items/gun/66mm.json @@ -1,7 +1,7 @@ [ { "id": "m202_flash", - "copy-from": "launcher_base", + "copy-from": "rocket_base", "type": "GUN", "color": "dark_gray", "name": { "str_sp": "M202A1 FLASH" }, @@ -15,12 +15,41 @@ "barrel_length": "500 ml", "dispersion": 300, "durability": 7, - "modes": [ [ "DEFAULT", "single shot", 1 ], [ "BURST", "all barrels", 4 ] ], + "modes": [ [ "DEFAULT", "single shot", 1, "NPC_AVOID" ], [ "BURST", "all barrels", 4, "NPC_AVOID" ] ], "magazines": [ [ "m235", [ "m74_clip" ] ] ], "reload": 600, "loudness": 200, "valid_mod_locations": [ [ "accessories", 4 ], [ "barrel", 1 ], [ "grip", 1 ], [ "sling", 1 ] ], "flags": [ "BACKBLAST", "NEVER_JAMS", "PYROMANIAC_WEAPON" ], "faults": [ ] + }, + { + "id": "LAW", + "copy-from": "rocket_base", + "type": "GUN", + "color": "green", + "name": { "str_sp": "M72 LAW" }, + "description": "A disposable light anti-tank rocket launcher. Once fired, it cannot be reloaded and must be disposed of.", + "price": 200000, + "//": "A tube with a lever. Unsurprisingly, dirt cheap (at least for a rocket launcher).", + "material": "aluminum", + "extend": { "flags": [ "NO_RELOAD", "NO_UNLOAD", "BACKBLAST", "TRADER_AVOID" ] }, + "ammo": "66mm", + "weight": "700 g", + "volume": "2500 ml", + "price_postapoc": 3500, + "bashing": 6, + "dispersion": 300, + "durability": 9, + "clip_size": 1, + "reload": 150, + "valid_mod_locations": [ + [ "accessories", 1 ], + [ "sling", 1 ], + [ "grip mount", 1 ], + [ "rail mount", 1 ], + [ "sights mount", 1 ], + [ "underbarrel mount", 1 ] + ] } ] diff --git a/data/json/items/gun/700nx.json b/data/json/items/gun/700nx.json index 772798b54f3f..7f711ca48c7d 100644 --- a/data/json/items/gun/700nx.json +++ b/data/json/items/gun/700nx.json @@ -1,7 +1,7 @@ [ { "id": "trex_gun", - "copy-from": "rifle_base", + "copy-from": "rifle_1shot", "type": "GUN", "name": { "str": "Elephant gun" }, "description": "A custom-made single shot rifle specially designed for the hunting of huge game. You could obviously kill everything with this, EVERYTHING. If you ever find enough ammo of course.", @@ -27,7 +27,6 @@ [ "sling", 1 ], [ "stock", 1 ], [ "underbarrel", 1 ] - ], - "flags": [ "NEVER_JAMS", "RELOAD_EJECT" ] + ] } ] diff --git a/data/json/items/gun/8x40mm.json b/data/json/items/gun/8x40mm.json index f6379f50ba61..73698893560f 100644 --- a/data/json/items/gun/8x40mm.json +++ b/data/json/items/gun/8x40mm.json @@ -104,7 +104,7 @@ }, { "id": "rm298", - "copy-from": "rifle_base", + "copy-from": "mg_base", "type": "GUN", "name": { "str": "RM298 HMG" }, "description": "Utilizing a powerful and unusual caliber, the Rivtech RM298 heavy machine gun was designed for durability and extreme volume of sustained fire under the worst possible circumstances. Accepts RMXB500 box and RMGD250 drum magazines.", @@ -112,8 +112,6 @@ "volume": "4500 ml", "price": 7500000, "price_postapoc": 15000, - "to_hit": -4, - "bashing": 18, "material": [ "superalloy", "ceramic" ], "range": -6, "ranged_damage": { "damage_type": "bullet", "amount": 10 }, @@ -122,7 +120,7 @@ "ammo": "8x40mm", "color": "dark_gray", "modes": [ [ "DEFAULT", "semi", 1 ], [ "AUTO", "auto", 6 ] ], - "reload": 400, + "handling": 15, "barrel_length": "1500 ml", "magazine_well": "1500 ml", "valid_mod_locations": [ [ "barrel", 1 ], [ "grip", 1 ], [ "mechanism", 4 ], [ "rail", 1 ], [ "sights", 1 ], [ "sling", 1 ], [ "stock", 1 ] ], @@ -165,7 +163,7 @@ }, { "id": "rm614_lmg", - "copy-from": "rifle_base", + "copy-from": "mg_base", "type": "GUN", "name": { "str": "RM614 LMG" }, "description": "Utilizing a powerful and unusual caliber, the Rivtech RM614 light machine gun was designed for durability and extreme volume of sustained fire under the worst possible circumstances. Accepts RMXB500 box and RMGD250 drum magazines.", @@ -173,6 +171,8 @@ "volume": "2750 ml", "price": 3750000, "price_postapoc": 15000, + "to_hit": -2, + "bashing": 12, "material": [ "superalloy", "ceramic" ], "ranged_damage": { "damage_type": "bullet", "amount": 5 }, "dispersion": 70, @@ -180,6 +180,7 @@ "ammo": "8x40mm", "color": "dark_gray", "reload": 200, + "handling": 15, "barrel_length": "500 ml", "modes": [ [ "DEFAULT", "semi", 1 ], [ "BURST", "burst", 4 ], [ "AUTO", "auto", 6 ] ], "valid_mod_locations": [ @@ -232,7 +233,7 @@ }, { "id": "rm99_pistol", - "copy-from": "pistol_base", + "copy-from": "pistol_revolver", "type": "GUN", "name": { "str": "RM99 revolver" }, "//": "Bear in mind that most revolvers don't reach $1K. Expensive.", @@ -247,6 +248,7 @@ "dispersion": 175, "durability": 9, "ammo": "8x40mm", + "reload": 100, "color": "dark_gray", "clip_size": 5, "magazines": [ [ "8x40mm", [ "8x40_speedloader5" ] ] ], @@ -260,7 +262,7 @@ [ "stock", 1 ], [ "underbarrel", 1 ] ], - "flags": [ "WATERPROOF_GUN", "NEVER_JAMS", "RELOAD_ONE" ], + "extend": { "flags": [ "WATERPROOF_GUN" ] }, "faults": [ ] } ] diff --git a/data/json/items/gun/atgm.json b/data/json/items/gun/atgm.json index ee85f0c33866..75967e886f3c 100644 --- a/data/json/items/gun/atgm.json +++ b/data/json/items/gun/atgm.json @@ -1,7 +1,7 @@ [ { "id": "atgm_launcher", - "copy-from": "launcher_base", + "copy-from": "rocket_base", "type": "GUN", "name": { "str_sp": "BGM-71F TOW" }, "description": "A launcher for anti-tank guided missiles, capable of being deployed as a crew-served weapon or mounted on vehicles. While fairly accurate, it isn't fire-and-forget.", @@ -20,6 +20,6 @@ "reload": 600, "loudness": 200, "valid_mod_locations": [ [ "sling", 1 ], [ "rail mount", 1 ], [ "sights mount", 1 ], [ "underbarrel mount", 1 ] ], - "flags": [ "MOUNTED_GUN", "NEVER_JAMS", "RELOAD_EJECT", "PYROMANIAC_WEAPON" ] + "extend": { "flags": [ "RELOAD_EJECT", "MOUNTED_GUN" ] } } ] diff --git a/data/json/items/gun/blunderbuss.json b/data/json/items/gun/blunderbuss.json index 272f70e0eaf9..281da9d55dd4 100644 --- a/data/json/items/gun/blunderbuss.json +++ b/data/json/items/gun/blunderbuss.json @@ -1,7 +1,7 @@ [ { "id": "blunderbuss", - "copy-from": "shotgun_base", + "copy-from": "shotgun_1shot", "type": "GUN", "name": { "str": "blunderbuss", "str_pl": "blunderbusses" }, "description": "A homemade version of a crude precursor to the shotgun. Able to fire just about anything you put down the barrel, but it will degrade pretty quick.", diff --git a/data/json/items/gun/chemical_spray.json b/data/json/items/gun/chemical_spray.json index db1e19b3fec3..dd585870245c 100644 --- a/data/json/items/gun/chemical_spray.json +++ b/data/json/items/gun/chemical_spray.json @@ -1,8 +1,7 @@ [ { "id": "chemical_thrower", - "copy-from": "gun_base", - "looks_like": "m79", + "copy-from": "chemical_sprayer_base", "type": "GUN", "reload_noise": "slosh.", "name": { "str": "makeshift chemical thrower" }, @@ -11,22 +10,9 @@ "volume": "4250 ml", "price": 10000, "price_postapoc": 1000, - "bashing": 9, "material": [ "steel", "plastic" ], - "flags": [ "FIRE_50", "NEVER_JAMS", "NON-FOULING" ], - "skill": "launcher", - "ammo": "chemical_spray", "dispersion": 300, "durability": 6, - "magazines": [ [ "chemical_spray", [ "pressurized_tank_chem" ] ] ], - "valid_mod_locations": [ - [ "accessories", 4 ], - [ "grip", 1 ], - [ "rail", 1 ], - [ "sights", 1 ], - [ "sling", 1 ], - [ "stock", 1 ], - [ "underbarrel", 1 ] - ] + "magazines": [ [ "chemical_spray", [ "pressurized_tank_chem" ] ] ] } ] diff --git a/data/json/items/gun/combination.json b/data/json/items/gun/combination.json index c1b04615f351..cbba9467231b 100644 --- a/data/json/items/gun/combination.json +++ b/data/json/items/gun/combination.json @@ -1,7 +1,7 @@ [ { "id": "combination_gun", - "copy-from": "rifle_base", + "copy-from": "rifle_manual", "type": "GUN", "color": "brown", "name": { "str": "combination gun" }, @@ -9,7 +9,6 @@ "price": 259500, "price_postapoc": 1500, "material": [ "steel", "wood" ], - "flags": [ "NEVER_JAMS", "RELOAD_EJECT" ], "ammo": "3006", "weight": "4200 g", "volume": "3 L", @@ -30,8 +29,7 @@ [ "stock", 1 ], [ "underbarrel", 1 ], [ "rail mount", 1 ] - ], - "delete": { "faults": "fault_gun_chamber_spent" } + ] }, { "id": "pipe_combination_gun", diff --git a/data/json/items/gun/flintlock.json b/data/json/items/gun/flintlock.json index 2ac9e547495c..be8024c0c4fb 100644 --- a/data/json/items/gun/flintlock.json +++ b/data/json/items/gun/flintlock.json @@ -36,7 +36,7 @@ }, { "id": "pistol_flintlock", - "copy-from": "pistol_base", + "copy-from": "pistol_1shot", "type": "GUN", "name": { "str": "flintlock pistol" }, "description": "A beautifully decorated flintlock pistol. If using this doesn't make you feel a pirate, nothing will.", @@ -68,7 +68,7 @@ }, { "id": "rifle_flintlock", - "copy-from": "rifle_base", + "copy-from": "rifle_1shot", "type": "GUN", "name": { "str": "flintlock musket" }, "description": "For once, something *good* came back from the dead. This ancient design lacks the fire-rate of modern weapons, but packs as much punch as the best of 'em and rewards the skilled shooter with easily-crafted ammunition.", @@ -97,7 +97,7 @@ [ "sights mount", 1 ], [ "stock", 1 ] ], - "flags": [ "NEVER_JAMS", "DURABLE_MELEE" ] + "extend": { "flags": [ "DURABLE_MELEE" ] } }, { "id": "longrifle_flintlock", diff --git a/data/json/items/gun/misc.json b/data/json/items/gun/misc.json new file mode 100644 index 000000000000..9e00d0ea9930 --- /dev/null +++ b/data/json/items/gun/misc.json @@ -0,0 +1,52 @@ +[ + { + "id": "surv_rocket_launcher", + "copy-from": "rocket_base", + "type": "GUN", + "symbol": "/", + "color": "light_gray", + "name": { "str": "crude rocket launcher" }, + "description": "An improvised, direct ignition launcher for home-made rockets. Essentially, a thick-walled steel pipe, equipped with a pilot light, several batteries and a simple circuit board. Effective only at medium range, barely.", + "price": 5000, + "material": "steel", + "delete": { "flags": [ "NEVER_JAMS" ] }, + "ammo": "homebrew_rocket", + "weight": "7430 g", + "volume": "5 L", + "price_postapoc": 500, + "dispersion": 300, + "durability": 5, + "clip_size": 1, + "reload": 800, + "loudness": 200, + "valid_mod_locations": [ [ "sling", 1 ], [ "grip mount", 1 ], [ "rail mount", 1 ], [ "sights mount", 1 ], [ "underbarrel mount", 1 ] ] + }, + { + "id": "watercannon", + "copy-from": "launcher_base", + "type": "GUN", + "weapon_category": [ "WATER_CANNONS" ], + "symbol": "&", + "color": "dark_gray", + "name": { "str": "water cannon" }, + "description": "A water cannon from a fire truck. Mounted on a vehicle, it could be used to stop fires or \"protesters\".", + "price": 50000, + "material": "steel", + "flags": [ "NEVER_JAMS", "MOUNTED_GUN", "NO_RELOAD", "NON-FOULING" ], + "ammo_effects": [ "JET", "BEANBAG", "NEVER_MISFIRES" ], + "ammo": "water", + "weight": "24500 g", + "volume": "12500 ml", + "price_postapoc": 500, + "bashing": 10, + "to_hit": -5, + "range": 10, + "dispersion": 450, + "durability": 10, + "handling": 40, + "modes": [ [ "DEFAULT", "burst", 4 ] ], + "clip_size": 100, + "reload": 0, + "valid_mod_locations": [ [ "sling", 1 ] ] + } +] diff --git a/data/json/items/ranged/energy.json b/data/json/items/gun/plasma.json similarity index 74% rename from data/json/items/ranged/energy.json rename to data/json/items/gun/plasma.json index 8dd0fb876360..935d617c2c6d 100644 --- a/data/json/items/ranged/energy.json +++ b/data/json/items/gun/plasma.json @@ -1,66 +1,46 @@ [ { "id": "plasma_gun", - "looks_like": "ar15", + "copy-from": "rifle_energy", "type": "GUN", - "reload_noise_volume": 10, - "symbol": "(", "color": "light_gray", "name": { "str": "PPA-5" }, "description": "Portable Plasma Accelerator Model Five, developed by Lockheed Martin Corporation. This device uses highly advanced capacitor banks to create a torus of superheated hydrogen plasma and accelerate it to incredible speed. It was designed to take down heavy vehicles, and was expected to fully enter US Army service not long before the Cataclysm.", "price": 980000, "material": [ "steel", "plastic" ], "ammo_effects": [ "PLASMA", "FLAME", "EMP", "EXPLOSIVE_SMALL" ], - "flags": [ "NEVER_JAMS", "NO_UNLOAD", "NON-FOULING", "PYROMANIAC_WEAPON" ], + "extend": { "flags": [ "PYROMANIAC_WEAPON" ] }, "ups_charges": 100, - "skill": "rifle", "ammo": "plasma", "weight": "10500 g", "volume": "4 L", "price_postapoc": 10000, - "bashing": 12, - "to_hit": -2, "range": 25, "ranged_damage": { "damage_type": "heat", "amount": 22, "armor_penetration": 60 }, "dispersion": 90, "durability": 6, "clip_size": 25, - "reload": 200, - "valid_mod_locations": [ - [ "accessories", 4 ], - [ "emitter", 1 ], - [ "grip", 1 ], - [ "rail", 1 ], - [ "sights", 1 ], - [ "sling", 1 ], - [ "stock", 1 ], - [ "underbarrel", 1 ] - ] + "reload": 200 }, { "id": "plasma_rifle", - "looks_like": "ar15", + "copy-from": "rifle_energy", "type": "GUN", - "reload_noise_volume": 10, - "symbol": "(", "color": "light_blue", "name": { "str": "Boeing XM-P plasma rifle" }, "description": "Boeing developed the focused plasma weaponry together with DARPA. It heats solid hydrogen to create plasma and envelops it with polymers to reduce blooming. While powerful, it suffers from short range. Powered by UPS.", "price": 1750000, "material": "steel", - "flags": [ "NEVER_JAMS", "NON-FOULING", "PYROMANIAC_WEAPON" ], + "extend": { "flags": [ "PYROMANIAC_WEAPON" ] }, + "delete": { "flags": [ "NO_UNLOAD" ] }, "ups_charges": 5, "ammo_effects": [ "PLASMA", "EXPLOSIVE_SMALL", "FLAME" ], - "skill": "rifle", "ammo": "plasma", "weight": "4535 g", "volume": "3750 ml", "price_postapoc": 8000, - "bashing": 12, - "to_hit": -1, "ranged_damage": { "damage_type": "heat", "amount": 5 }, "dispersion": 60, - "durability": 8, "modes": [ [ "DEFAULT", "semi", 1 ], [ "AUTO", "auto", 3 ] ], "clip_size": 25, "reload": 700, diff --git a/data/json/items/gun/rpg.json b/data/json/items/gun/rpg.json new file mode 100644 index 000000000000..74e0bd1b1b67 --- /dev/null +++ b/data/json/items/gun/rpg.json @@ -0,0 +1,31 @@ +[ + { + "id": "RPG", + "copy-from": "rocket_base", + "type": "GUN", + "color": "brown", + "name": { "str_sp": "RPG-7" }, + "description": "The emblematic RPG-7 launcher. Its simple, inexpensive, and reliable design made it a popular choice among armies and insurgent groups worldwide.", + "price": 150000, + "price_postapoc": 1000, + "//": "Like the LAW, this thing is basically a tube with a lever. It's even cheaper in terms of construction, but there's a premium due to being imported. Also not disposable.", + "material": [ "steel", "wood" ], + "extend": { "flags": [ "BACKBLAST" ] }, + "ammo": "RPG-7", + "weight": "7000 g", + "volume": "4500 ml", + "dispersion": 600, + "durability": 10, + "clip_size": 1, + "reload": 150, + "valid_mod_locations": [ + [ "accessories", 4 ], + [ "grip", 1 ], + [ "mechanism", 4 ], + [ "sights", 1 ], + [ "sling", 1 ], + [ "rail mount", 1 ], + [ "underbarrel mount", 1 ] + ] + } +] diff --git a/data/json/items/gun/shot.json b/data/json/items/gun/shot.json index 32f94fc1e7b5..b1d668f6a88d 100644 --- a/data/json/items/gun/shot.json +++ b/data/json/items/gun/shot.json @@ -1,7 +1,7 @@ [ { "id": "ashot", - "copy-from": "pistol_base", + "copy-from": "pistol_1shot", "type": "GUN", "name": { "str": "12 gauge pistol" }, "description": "A single shot pistol that loads 12 gauge shotgun shells, handcrafted from scrap.", @@ -29,28 +29,27 @@ [ "sights mount", 1 ], [ "rail mount", 1 ], [ "underbarrel mount", 1 ] - ], - "delete": { "faults": "fault_gun_chamber_spent" }, - "flags": [ "NEVER_JAMS", "RELOAD_EJECT" ] + ] }, { "id": "bigun", - "copy-from": "shotgun_base", + "copy-from": "gatling_base", "type": "GUN", "name": { "str": "12-gauge gatling gun" }, + "looks_like": "m134", "description": "An electrically driven six barrel gatling shotgun, fed from handmade cloth belts. Even properly mounted, this seems like an unwieldy beast, and the six separate barrels make for difficult zeroing. The externally driven action means this is much less likely to jam.", "weight": "4980 g", "volume": "4500 ml", "barrel_length": "500 ml", "price": 180000, "price_postapoc": 1750, - "to_hit": -2, - "bashing": 9, "material": [ "steel" ], + "ammo": "shot", + "ups_charges": 1, "dispersion": 855, "burst": 6, - "ups_charges": 1, "reload": 200, + "handling": 30, "valid_mod_locations": [ [ "accessories", 4 ], [ "sights", 1 ], [ "rail mount", 1 ] ], "magazines": [ [ "shot", [ "shotbelt_20" ] ] ], "flags": [ "MOUNTED_GUN" ] @@ -474,23 +473,11 @@ "price": 39900, "price_postapoc": 2000, "barrel_length": "750 ml", - "valid_mod_locations": [ - [ "accessories", 4 ], - [ "barrel", 1 ], - [ "bore", 1 ], - [ "sights mount", 1 ], - [ "sling", 1 ], - [ "mechanism", 2 ], - [ "stock", 1 ], - [ "grip mount", 1 ], - [ "rail mount", 1 ], - [ "underbarrel mount", 1 ] - ], "extend": { "flags": [ "RELOAD_ONE" ] } }, { "id": "shotgun_s", - "copy-from": "shotgun_base", + "copy-from": "shotgun_1shot", "type": "GUN", "name": { "str": "single barrel shotgun" }, "description": "An old shotgun, possibly antique. It is little more than a barrel, a wood stock, and a hammer to strike the cartridge. Its simple design keeps it both light and accurate.", @@ -516,7 +503,7 @@ [ "rail mount", 1 ], [ "underbarrel mount", 1 ] ], - "flags": [ "NEVER_JAMS", "RELOAD_EJECT" ] + "extend": { "flags": [ "NEVER_JAMS" ] } }, { "id": "streetsweeper", diff --git a/data/json/items/gun/signal_flare.json b/data/json/items/gun/signal_flare.json index b150585f9353..f33b34d54ddc 100644 --- a/data/json/items/gun/signal_flare.json +++ b/data/json/items/gun/signal_flare.json @@ -1,7 +1,7 @@ [ { "id": "flaregun", - "copy-from": "pistol_base", + "copy-from": "pistol_1shot", "type": "GUN", "name": { "str": "flaregun" }, "description": "A plastic single shot pistol that can be loaded with signal flares.", @@ -25,7 +25,7 @@ [ "sights mount", 1 ], [ "underbarrel mount", 1 ] ], - "flags": [ "WATERPROOF_GUN", "NEVER_JAMS", "RELOAD_EJECT", "PYROMANIAC_WEAPON" ], + "extend": { "flags": [ "WATERPROOF_GUN", "PYROMANIAC_WEAPON" ] }, "faults": [ ] } ] diff --git a/data/json/items/gun/ups.json b/data/json/items/gun/ups.json index c7f67282d3d2..a139d70c5ec8 100644 --- a/data/json/items/gun/ups.json +++ b/data/json/items/gun/ups.json @@ -1,7 +1,7 @@ [ { "id": "emp_gun", - "copy-from": "rifle_base", + "copy-from": "rifle_energy", "type": "GUN", "name": { "str": "XM34 EMP projector" }, "description": "A powerful electrolaser developed by the R&D outfit \"Aerial Labs\". Especially effective against electronic targets.", @@ -18,7 +18,6 @@ "modes": [ [ "DEFAULT", "semi", 1 ], [ "AUTO", "auto", 3 ] ], "loudness": 23, "ups_charges": 60, - "reload": 0, "valid_mod_locations": [ [ "accessories", 4 ], [ "emitter", 1 ], @@ -29,13 +28,11 @@ [ "stock", 1 ], [ "underbarrel", 1 ] ], - "ammo_effects": [ "DRAW_LASER_BEAM", "EMP" ], - "flags": [ "NEVER_JAMS", "NO_UNLOAD", "NON-FOULING", "NEEDS_NO_LUBE" ], - "faults": [ ] + "ammo_effects": [ "DRAW_LASER_BEAM", "EMP" ] }, { "id": "gatling_mech_laser", - "copy-from": "rifle_base", + "copy-from": "gatling_energy", "type": "GUN", "reload_noise_volume": 20, "name": { "str": "CMES laser cannon" }, @@ -44,8 +41,6 @@ "volume": "11 L", "price": 9500000, "price_postapoc": 8000, - "to_hit": -4, - "bashing": 8, "material": [ "superalloy", "plastic" ], "color": "blue", "range": 30, @@ -53,16 +48,13 @@ "dispersion": 100, "loudness": 12, "ups_charges": 20, - "reload": 0, - "handling": 40, "modes": [ [ "DEFAULT", "3 rd.", 3 ], [ "BURST", "5 rd.", 5 ], [ "AUTO", "high auto", 15 ] ], "ammo_effects": [ "LASER", "PLASMA_BUBBLE", "INCENDIARY" ], - "flags": [ "NO_UNLOAD", "NEVER_JAMS", "NO_UNWIELD", "NO_SALVAGE", "NO_REPAIR", "UNBREAKABLE_MELEE", "NON-FOULING" ], - "faults": [ ] + "extend": { "flags": [ "NO_UNWIELD", "NO_SALVAGE", "NO_REPAIR", "UNBREAKABLE_MELEE" ] } }, { "id": "recon_mech_laser", - "copy-from": "rifle_base", + "copy-from": "rifle_energy", "type": "GUN", "reload_noise_volume": 2, "name": { "str": "RMES marksman system" }, @@ -80,23 +72,12 @@ "dispersion": 15, "loudness": 1, "ups_charges": 50, - "reload": 0, "ammo_effects": [ "LASER", "PLASMA_BUBBLE", "INCENDIARY" ], - "flags": [ - "NO_UNLOAD", - "NEVER_JAMS", - "NO_UNWIELD", - "NO_SALVAGE", - "NO_REPAIR", - "UNBREAKABLE_MELEE", - "NON-FOULING", - "NEEDS_NO_LUBE" - ], - "faults": [ ] + "extend": { "flags": [ "NO_UNWIELD", "NO_REPAIR", "NO_SALVAGE", "UNBREAKABLE_MELEE" ] } }, { "id": "laser_cannon", - "copy-from": "rifle_base", + "copy-from": "rifle_energy", "type": "GUN", "name": { "str": "handheld laser cannon" }, "description": "This is a laser cannon stripped from the barrel of a TX-5LR Cerberus laser turret that has been modified to use UPS power for firing.", @@ -113,7 +94,6 @@ "durability": 7, "loudness": 8, "ups_charges": 25, - "reload": 200, "valid_mod_locations": [ [ "emitter", 1 ], [ "lens", 1 ], @@ -124,9 +104,7 @@ [ "stock mount", 1 ], [ "underbarrel mount", 1 ] ], - "ammo_effects": [ "LASER", "INCENDIARY" ], - "flags": [ "NO_UNLOAD", "NON-FOULING", "NEEDS_NO_LUBE" ], - "faults": [ ] + "ammo_effects": [ "LASER", "INCENDIARY" ] }, { "id": "laser_cannon_turret_fake", @@ -137,7 +115,7 @@ }, { "id": "laser_rifle", - "copy-from": "rifle_base", + "copy-from": "rifle_energy", "type": "GUN", "name": { "str": "A7 laser rifle" }, "description": "A state-of-the-art laser rifle developed by the R&D outfit \"Aerial Labs\". Initial performance rivaled Rivtech's finest, with rumors flying about corporate skulduggery. Though the Cataclysm put that on the ash heap of history, this weapon can still do the same to your foes.", @@ -153,21 +131,7 @@ "modes": [ [ "DEFAULT", "semi", 1 ], [ "AUTO", "auto", 4 ] ], "loudness": 12, "ups_charges": 40, - "reload": 0, - "valid_mod_locations": [ - [ "accessories", 4 ], - [ "emitter", 1 ], - [ "grip", 1 ], - [ "lens", 1 ], - [ "rail", 1 ], - [ "sights", 1 ], - [ "sling", 1 ], - [ "stock", 1 ], - [ "underbarrel", 1 ] - ], - "ammo_effects": [ "LASER", "INCENDIARY" ], - "flags": [ "NEVER_JAMS", "NO_UNLOAD", "NON-FOULING", "NEEDS_NO_LUBE" ], - "faults": [ ] + "ammo_effects": [ "LASER", "INCENDIARY" ] }, { "id": "v29", @@ -179,8 +143,6 @@ "volume": "1 L", "price": 720000, "price_postapoc": 5500, - "to_hit": -2, - "bashing": 5, "material": [ "steel", "plastic" ], "color": "magenta", "range": 30, @@ -188,19 +150,6 @@ "dispersion": 180, "loudness": 7, "ups_charges": 10, - "reload": 200, - "valid_mod_locations": [ - [ "accessories", 2 ], - [ "emitter", 1 ], - [ "grip", 1 ], - [ "lens", 1 ], - [ "rail", 1 ], - [ "sights", 1 ], - [ "stock", 1 ], - [ "underbarrel", 1 ] - ], - "ammo_effects": [ "LASER", "INCENDIARY" ], - "flags": [ "NEVER_JAMS", "NO_UNLOAD", "NON-FOULING", "NEEDS_NO_LUBE" ], - "faults": [ ] + "ammo_effects": [ "LASER", "INCENDIARY" ] } ] diff --git a/data/json/items/melee/axes.json b/data/json/items/melee/axes.json new file mode 100644 index 000000000000..5eb0f9f4e444 --- /dev/null +++ b/data/json/items/melee/axes.json @@ -0,0 +1,109 @@ +[ + { + "id": "battleaxe", + "type": "GENERIC", + "category": "weapons", + "weapon_category": [ "1H_AXES" ], + "name": { "str": "battle axe" }, + "description": "This is a huge axe designed for warfare. Though intended for use as a weapon, it can also be pressed into service as a rather clumsy woodcutting tool.", + "weight": "2002 g", + "volume": "2500 ml", + "price": 40000, + "price_postapoc": 12000, + "to_hit": 1, + "bashing": 22, + "cutting": 40, + "material": [ "steel", "wood" ], + "symbol": "/", + "color": "light_gray", + "techniques": [ "WBLOCK_1", "BRUTAL", "SWEEP" ], + "qualities": [ [ "AXE", 2 ], [ "BUTCHER", -20 ] ], + "flags": [ "DURABLE_MELEE", "NONCONDUCTIVE", "SHEATH_AXE" ] + }, + { + "id": "battleaxe_inferior", + "type": "GENERIC", + "copy-from": "battleaxe", + "name": { "str": "battle axe replica" }, + "description": "This is a huge axe designed for warfare. You notice that the axe heads aren't seated properly at all.", + "price_postapoc": 2000, + "material": [ "budget_steel", "wood" ], + "bashing": 42, + "cutting": 10, + "flags": [ "NONCONDUCTIVE", "SHEATH_AXE" ], + "qualities": [ [ "AXE", 2 ], [ "BUTCHER", -20 ] ] + }, + { + "id": "battleaxe_fake", + "type": "GENERIC", + "copy-from": "battleaxe", + "name": { "str": "battle axe fake" }, + "description": "This is a dull, cheaply made replica of a massive axe designed for warfare.", + "price": 1050, + "price_postapoc": 500, + "material": [ "aluminum", "wood" ], + "qualities": [ ], + "flags": [ "NONCONDUCTIVE", "SHEATH_AXE", "FRAGILE_MELEE" ], + "weight": "2068 g", + "volume": "3250 ml", + "bashing": 21, + "cutting": 3 + }, + { + "id": "halberd", + "type": "GENERIC", + "category": "weapons", + "weapon_category": [ "2H_AXES" ], + "symbol": "/", + "color": "light_gray", + "name": { "str": "halberd" }, + "description": "This is a versatile polearm with an axe blade, a spike, and other fun things attached to a long stick.", + "price": 50000, + "material": [ "wood", "steel" ], + "flags": [ "DURABLE_MELEE", "REACH_ATTACK", "NONCONDUCTIVE", "POLEARM", "SHEATH_SPEAR", "ALWAYS_TWOHAND" ], + "techniques": [ "WBLOCK_1", "WIDE", "SWEEP" ], + "weight": "3175 g", + "volume": "3750 ml", + "bashing": 19, + "cutting": 51, + "price_postapoc": 10000, + "qualities": [ [ "COOK", 1 ], [ "BUTCHER", -70 ] ] + }, + { + "id": "halberd_fake", + "type": "GENERIC", + "copy-from": "halberd", + "name": { "str": "halberd fake" }, + "description": "This is a dull, cheaply made replica of a polearm with an axe blade, a spike, and other fun things attached to a long stick.", + "price": 5000, + "material": [ "wood", "aluminum" ], + "flags": [ "REACH_ATTACK", "NONCONDUCTIVE", "POLEARM", "SHEATH_SPEAR", "ALWAYS_TWOHAND", "FRAGILE_MELEE" ], + "techniques": [ "WBLOCK_1", "SWEEP" ], + "weight": "1644 g", + "bashing": 22, + "cutting": 4, + "to_hit": 1, + "price_postapoc": 500, + "qualities": [ ] + }, + { + "id": "bowling_axe", + "type": "GENERIC", + "category": "weapons", + "weapon_category": [ "1H_AXES" ], + "name": { "str": "The 7-10 Split", "str_pl": "7-10 Splits" }, + "description": "An improvised weapon, made from two spikes attached to a bowling pin in the shape of a 'T'.", + "weight": "2433 g", + "price": 18000, + "price_postapoc": 50, + "color": "brown", + "symbol": "/", + "material": [ "wood", "steel" ], + "techniques": [ "WBLOCK_1" ], + "volume": "1750 ml", + "bashing": 14, + "cutting": 14, + "to_hit": -1, + "flags": [ "STAB", "NONCONDUCTIVE" ] + } +] diff --git a/data/json/items/melee/bludgeons.json b/data/json/items/melee/bludgeons.json index a151c098b7bd..6f2d51053721 100644 --- a/data/json/items/melee/bludgeons.json +++ b/data/json/items/melee/bludgeons.json @@ -3,6 +3,7 @@ "id": "2h_flail_steel", "type": "GENERIC", "category": "weapons", + "weapon_category": [ "FLAILS" ], "name": { "str": "war flail" }, "description": "This is a stout pole with a large steel flanged mace head on a short chain attached to it, based on the peasant flail agricultural tool except now with a metal head and made to thresh people in metal armor rather than grain.", "weight": "4550 g", @@ -20,6 +21,7 @@ "id": "2h_flail_wood", "type": "GENERIC", "category": "weapons", + "weapon_category": [ "FLAILS" ], "name": { "str": "peasant flail" }, "description": "This is a stout pole with a wooden club on a leather cord attached to it, this is a tool used to thresh wheat and occasionally people when the peasants got angry at their feudal lords.", "weight": "1700 g", @@ -34,14 +36,14 @@ "flags": [ "REACH_ATTACK", "NONCONDUCTIVE", "ALWAYS_TWOHAND" ] }, { + "id": "bat", "type": "GENERIC", "category": "weapons", - "id": "bat", + "weapon_category": [ "CLUBS" ], "name": { "str": "baseball bat" }, "description": "A sturdy wood bat. Makes a great melee weapon.", "weight": "1133 g", "to_hit": 3, - "price_postapoc": 750, "color": "brown", "symbol": "/", "material": [ "wood" ], @@ -49,47 +51,66 @@ "flags": [ "DURABLE_MELEE" ], "volume": "1750 ml", "bashing": 26, - "price": 16000 + "price": 16000, + "price_postapoc": 750 }, { - "type": "GENERIC", - "category": "weapons", "id": "bat_metal", + "type": "GENERIC", + "copy-from": "bat", "name": { "str": "aluminum bat" }, "description": "An aluminum baseball bat, lighter than a wooden bat and a little easier to swing as a result.", "weight": "765 g", - "to_hit": 3, "color": "light_gray", - "symbol": "/", "price_postapoc": 1250, "material": [ "aluminum" ], - "techniques": [ "WBLOCK_1" ], - "qualities": [ [ "HAMMER", 1 ] ], - "flags": [ "DURABLE_MELEE" ], - "volume": "1750 ml", - "bashing": 26, - "price": 16000 + "qualities": [ [ "HAMMER", 1 ] ] }, { - "type": "GENERIC", - "category": "weapons", "id": "bat_nerf", + "type": "GENERIC", + "copy-from": "bat", "name": { "str": "foam rubber bat" }, "description": "A baseball bat made out of foam rubber with a plastic handle. Light, well-balanced, and easy to wield, but almost completely ineffective.", "weight": "225 g", "to_hit": 2, "color": "yellow", - "symbol": "/", "price_postapoc": "50 cent", "material": [ "plastic" ], + "techniques": [ ], "flags": [ "FRAGILE_MELEE" ], "volume": "2250 ml", "price": "25 USD" }, { + "id": "bwirebat", "type": "GENERIC", - "category": "weapons", + "copy-from": "bat", + "name": { "str": "barbed wire bat" }, + "description": "A baseball bat wrapped with barbed wire. A brutal melee weapon.", + "weight": "1420 g", + "price_postapoc": 1250, + "material": [ "wood", "steel" ], + "flags": [ "DURABLE_MELEE", "NONCONDUCTIVE" ], + "volume": "2 L", + "cutting": 8, + "price": 20000 + }, + { + "id": "nailbat", + "type": "GENERIC", + "copy-from": "bat", + "name": { "str": "nail bat" }, + "description": "A baseball bat with several nails driven through it, an excellent melee weapon.", + "weight": "1159 g", + "cutting": 4, + "flags": [ "STAB" ], + "price_postapoc": 1750 + }, + { "id": "baton", + "type": "GENERIC", + "category": "weapons", "name": { "str": "expandable baton" }, "description": "A telescoping baton that collapses for easy storage. Makes an excellent melee weapon. Activate to expand.", "weight": "725 g", @@ -104,87 +125,23 @@ "price": 17500 }, { - "type": "GENERIC", - "category": "weapons", "id": "baton-extended", + "type": "GENERIC", + "copy-from": "baton", + "weapon_category": [ "BATONS" ], "name": { "str": "expandable baton (extended)", "str_pl": "expandable batons (extended)" }, "description": "A telescoping baton that collapses for easy storage. Makes an excellent melee weapon. Activate to collapse.", - "weight": "725 g", "to_hit": 2, - "price_postapoc": 750, - "color": "dark_gray", - "symbol": "/", - "material": [ "aluminum" ], "techniques": [ "WBLOCK_1", "RAPID" ], - "flags": [ "DURABLE_MELEE", "BELT_CLIP" ], "use_action": { "menu_text": "Collapse", "type": "transform", "target": "baton", "msg": "You collapse your baton." }, "volume": "750 ml", - "bashing": 18, - "price": 17500 - }, - { - "id": "battleaxe", - "type": "GENERIC", - "category": "weapons", - "name": { "str": "battle axe" }, - "description": "This is a huge axe designed for warfare. Though intended for use as a weapon, it can also be pressed into service as a rather clumsy woodcutting tool.", - "weight": "2002 g", - "volume": "2500 ml", - "price": 40000, - "price_postapoc": 12000, - "to_hit": 1, - "bashing": 22, - "cutting": 40, - "material": [ "steel", "wood" ], - "symbol": "/", - "color": "light_gray", - "techniques": [ "WBLOCK_1", "BRUTAL", "SWEEP" ], - "qualities": [ [ "AXE", 2 ], [ "BUTCHER", -20 ] ], - "flags": [ "DURABLE_MELEE", "NONCONDUCTIVE", "SHEATH_AXE" ] - }, - { - "id": "battleaxe_fake", - "type": "GENERIC", - "category": "weapons", - "symbol": "/", - "color": "light_gray", - "name": { "str": "battle axe fake" }, - "description": "This is a dull, cheaply made replica of a massive axe designed for warfare.", - "price": 1050, - "price_postapoc": 500, - "material": [ "aluminum", "wood" ], - "flags": [ "NONCONDUCTIVE", "SHEATH_AXE", "FRAGILE_MELEE" ], - "techniques": [ "WBLOCK_1", "WIDE", "BRUTAL", "SWEEP" ], - "weight": "2068 g", - "volume": "3250 ml", - "bashing": 21, - "cutting": 3, - "to_hit": 1 - }, - { - "id": "battleaxe_inferior", - "type": "GENERIC", - "category": "weapons", - "symbol": "/", - "color": "light_gray", - "name": { "str": "battle axe replica" }, - "description": "This is a huge axe designed for warfare. You notice that the axe heads aren't seated properly at all.", - "price": 40000, - "price_postapoc": 2000, - "material": [ "budget_steel", "wood" ], - "weight": "2002 g", - "volume": "2500 ml", - "bashing": 42, - "cutting": 10, - "flags": [ "NONCONDUCTIVE", "SHEATH_AXE" ], - "techniques": [ "WBLOCK_1", "BRUTAL", "SWEEP" ], - "to_hit": 1, - "qualities": [ [ "AXE", 2 ], [ "BUTCHER", -20 ] ] + "bashing": 18 }, { "id": "blackjack", "type": "GENERIC", "category": "weapons", + "weapon_category": [ "SAPS" ], "symbol": "/", "color": "dark_gray", "name": { "str": "blackjack" }, @@ -199,10 +156,43 @@ "bashing": 13, "to_hit": 1 }, + { + "id": "sword_wood", + "type": "GENERIC", + "category": "weapons", + "weapon_category": [ "1H_SWORDS" ], + "symbol": "!", + "color": "brown", + "name": { "str": "2-by-sword" }, + "description": "A two by four with a cross guard and whittled down point; not much for slashing, but much better than your bare hands.", + "material": "wood", + "volume": "1250 ml", + "weight": "600 g", + "bashing": 12, + "cutting": 1, + "to_hit": 1, + "price_postapoc": 50, + "flags": [ "SHEATH_SWORD" ], + "techniques": [ "WBLOCK_1" ] + }, + { + "id": "sword_nail", + "type": "GENERIC", + "copy-from": "sword_wood", + "color": "light_gray", + "name": { "str": "nord" }, + "description": "The nail sword, or nord for short. This wooden sword has a dozen nails sticking at jagged angles from edge of the blade, making it much better at chopping than slashing.", + "volume": "1750 ml", + "weight": "648 g", + "cutting": 4, + "to_hit": 2, + "price_postapoc": 100 + }, { "id": "bokken", "type": "GENERIC", "category": "weapons", + "weapon_category": [ "1H_SWORDS", "JAPANESE_SWORDS" ], "symbol": "/", "color": "brown", "name": { "str": "bokken" }, @@ -219,67 +209,37 @@ "cutting": 1, "to_hit": 2 }, - { - "id": "bokken_fake", - "type": "GENERIC", - "category": "weapons", - "symbol": "/", - "color": "brown", - "looks_like": "bokken", - "name": { "str": "bokken fake" }, - "description": "This is a solid wood 'training' katana, but feels far too light to make an effective weapon.", - "price": 12500, - "price_postapoc": 500, - "material": "wood", - "techniques": [ "RAPID", "WBLOCK_2", "SWEEP" ], - "flags": [ "SHEATH_SWORD", "FRAGILE_MELEE" ], - "weight": "680 g", - "volume": "2 L", - "bashing": 13, - "to_hit": 1 - }, { "id": "bokken_inferior", "type": "GENERIC", - "category": "weapons", - "symbol": "/", - "color": "brown", + "copy-from": "bokken", "looks_like": "bokken", "name": { "str": "bokken replica" }, "description": "This is a solid wood 'training' katana, but it looks to be mass-produced, and not quite as effective as the real deal.", "price": 12500, "price_postapoc": 750, - "material": "wood", - "techniques": [ "RAPID", "WBLOCK_2", "SWEEP" ], "flags": [ "SHEATH_SWORD" ], - "weight": "1133 g", - "volume": "2 L", - "bashing": 26, "to_hit": 1 }, { + "id": "bokken_fake", "type": "GENERIC", - "category": "weapons", - "id": "bowling_axe", - "name": { "str": "The 7-10 Split", "str_pl": "7-10 Splits" }, - "description": "An improvised weapon, made from two spikes attached to a bowling pin in the shape of a 'T'.", - "weight": "2433 g", - "price": 18000, - "price_postapoc": 50, - "color": "brown", - "symbol": "/", - "material": [ "wood", "steel" ], - "techniques": [ "WBLOCK_1" ], - "volume": "1750 ml", - "bashing": 14, - "cutting": 14, - "to_hit": -1, - "flags": [ "STAB", "NONCONDUCTIVE" ] + "copy-from": "bokken", + "looks_like": "bokken", + "name": { "str": "bokken fake" }, + "description": "This is a solid wood 'training' katana, but feels far too light to make an effective weapon.", + "price": 12500, + "price_postapoc": 500, + "flags": [ "SHEATH_SWORD", "FRAGILE_MELEE" ], + "weight": "680 g", + "bashing": 13, + "to_hit": 1 }, { + "id": "bowling_pin", "type": "GENERIC", "category": "weapons", - "id": "bowling_pin", + "weapon_category": [ "CLUBS" ], "name": { "str": "bowling pin" }, "description": "A blunt bowling pin. Makes a decent melee weapon, if somewhat short.", "weight": "1530 g", @@ -295,28 +255,10 @@ "price": 1000 }, { + "id": "cane", "type": "GENERIC", "category": "weapons", - "id": "bwirebat", - "name": { "str": "barbed wire bat" }, - "description": "A baseball bat wrapped with barbed wire. A brutal melee weapon.", - "weight": "1420 g", - "to_hit": 3, - "price_postapoc": 1250, - "color": "brown", - "symbol": "/", - "material": [ "wood", "steel" ], - "techniques": [ "WBLOCK_1" ], - "flags": [ "DURABLE_MELEE", "NONCONDUCTIVE" ], - "volume": "2 L", - "bashing": 26, - "cutting": 8, - "price": 20000 - }, - { - "type": "GENERIC", - "category": "weapons", - "id": "cane", + "weapon_category": [ "BATONS" ], "name": { "str": "walking cane" }, "description": "Handicapped or not, you always walk in style. Consisting of a metal headpiece and a wooden body, this makes a great bashing weapon in a pinch.", "weight": "453 g", @@ -332,9 +274,36 @@ "price_postapoc": 100 }, { + "id": "hollow_cane", "type": "GENERIC", "category": "weapons", + "weapon_category": [ "BATONS" ], + "symbol": "/", + "color": "brown", + "name": { "str": "hollow cane" }, + "description": "A cane designed to conceal blade. This was a popular fashion accessory for the wealthy during the 18th and 19th centuries.", + "price": 2000, + "price_postapoc": 750, + "material": [ "wood" ], + "weight": "200 g", + "volume": "1531 ml", + "bashing": 3, + "looks_like": "cane", + "use_action": { + "type": "holster", + "holster_prompt": "Sheath sword", + "holster_msg": "You sheath your %s", + "max_volume": "1531 ml", + "draw_cost": 80, + "flags": [ "SHEATH_SWORD" ] + }, + "techniques": [ "PRECISE", "RAPID", "WBLOCK_2" ] + }, + { "id": "cudgel", + "type": "GENERIC", + "category": "weapons", + "weapon_category": [ "BATONS" ], "name": { "str": "cudgel" }, "description": "A slender long rod of wood, while traditionally intended as a training tool for many dueling moves, it still makes a good melee weapon in a pinch.", "weight": "425 g", @@ -350,44 +319,10 @@ "price": 1000 }, { - "//": "Id retained to avoid breaking anything, same reason as with the makeshift glaive.", - "type": "GENERIC", - "category": "weapons", - "id": "glass_macuahuitl", - "name": { "str": "makeshift macuahuitl" }, - "description": "A flat wooden club with sharpened pieces of stone sticking to both of its sides.", - "weight": "955 g", - "to_hit": 1, - "price_postapoc": 250, - "color": "dark_gray", - "symbol": "/", - "material": [ "wood", "stone" ], - "techniques": [ "WBLOCK_1" ], - "volume": "2250 ml", - "bashing": 7, - "cutting": 14, - "price": 5900 - }, - { - "type": "GENERIC", - "category": "weapons", - "id": "glass_shiv", - "symbol": ",", - "color": "light_cyan", - "name": { "str": "glass shiv" }, - "description": "A glass shard with wrapping at one end so it can be safely wielded.", - "material": [ "glass", "cotton" ], - "weight": "115 g", - "price_postapoc": 10, - "volume": "250 ml", - "cutting": 6, - "flags": [ "SHEATH_KNIFE", "CONDUCTIVE", "FRAGILE_MELEE" ], - "qualities": [ [ "BUTCHER", -18 ] ] - }, - { + "id": "golf_club", "type": "GENERIC", "category": "weapons", - "id": "golf_club", + "weapon_category": [ "CLUBS" ], "symbol": ";", "color": "light_gray", "name": { "str": "golf club" }, @@ -402,9 +337,10 @@ "flags": [ "SHEATH_GOLF" ] }, { + "id": "hammer_sledge", "type": "GENERIC", "category": "weapons", - "id": "hammer_sledge", + "weapon_category": [ "2H_HAMMERS" ], "name": { "str": "sledge hammer" }, "description": "A large, heavy hammer. Makes an acceptable melee weapon for the very strong, but is nearly useless in the hands of the weak.", "weight": "4250 g", @@ -421,35 +357,41 @@ "qualities": [ [ "HAMMER", 1 ] ] }, { - "type": "GENERIC", - "category": "weapons", "id": "hammer_sledge_short", + "type": "GENERIC", + "copy-from": "hammer_sledge", "name": { "str": "short sledge hammer" }, "description": "A shorter sledge hammer, still as weighty, however, due to the same steel head. Worse as a melee weapon but is a more portable tool.", "weight": "4000 g", - "color": "brown", - "symbol": "/", - "material": [ "wood", "steel" ], "looks_like": "hammer_sledge", - "flags": [ "NONCONDUCTIVE", "ALWAYS_TWOHAND" ], "techniques": [ "WBLOCK_1", "BRUTAL", "SWEEP" ], "volume": "900 ml", "bashing": 35, "to_hit": -1, - "price": 12000, - "price_postapoc": 250, - "qualities": [ [ "HAMMER", 1 ] ] + "price_postapoc": 250 }, { + "id": "hammer_sledge_heavy", "type": "GENERIC", - "category": "weapons", + "copy-from": "hammer_sledge", + "name": { "str": "heavy sledge hammer" }, + "description": "A large sledge hammer with a massive, heavy head. This unwieldy tool is meant to break concrete, rock, brick, anything really.", + "weight": "9500 g", + "looks_like": "hammer_sledge", + "techniques": [ "WBLOCK_1", "BRUTAL", "WIDE" ], + "volume": "1700 ml", + "bashing": 80, + "to_hit": -4, + "price": 24000, + "price_postapoc": 750 + }, + { "id": "hammer_sledge_engineer", + "type": "GENERIC", + "copy-from": "hammer_sledge", "name": { "str": "engineer's hammer" }, "description": "A stout and hefty hammer, more akin to a sledge than a typical ball-peen. Useful for portable demolition work, but is very unwieldy as a weapon.", "weight": "2000 g", - "color": "brown", - "symbol": "/", - "material": [ "wood", "steel" ], "looks_like": "hammer_sledge", "flags": [ "NONCONDUCTIVE", "BELT_CLIP" ], "volume": "600 ml", @@ -460,29 +402,10 @@ "qualities": [ [ "HAMMER", 2 ] ] }, { + "id": "hockey_stick", "type": "GENERIC", "category": "weapons", - "id": "hammer_sledge_heavy", - "name": { "str": "heavy sledge hammer" }, - "description": "A large sledge hammer with a massive, heavy head. This unwieldy tool is meant to break concrete, rock, brick, anything really.", - "weight": "9500 g", - "color": "brown", - "symbol": "/", - "material": [ "wood", "steel" ], - "looks_like": "hammer_sledge", - "flags": [ "NONCONDUCTIVE", "ALWAYS_TWOHAND" ], - "techniques": [ "WBLOCK_1", "BRUTAL", "WIDE" ], - "volume": "1700 ml", - "bashing": 80, - "to_hit": -4, - "price": 24000, - "price_postapoc": 750, - "qualities": [ [ "HAMMER", 1 ] ] - }, - { - "type": "GENERIC", - "category": "weapons", - "id": "hockey_stick", + "weapon_category": [ "HOOKED_POLES" ], "symbol": ";", "color": "white", "name": { "str": "hockey stick" }, @@ -498,9 +421,10 @@ "to_hit": 2 }, { + "id": "homewrecker", "type": "GENERIC", "category": "weapons", - "id": "homewrecker", + "weapon_category": [ "1H_HAMMERS" ], "name": { "str": "homewrecker" }, "description": "A long piece of wood with several chunks of steel firmly tied to it. The resulting weapon is unwieldy and slow but very heavy hitting.", "weight": "3024 g", @@ -517,29 +441,11 @@ "price": 8000, "price_postapoc": 50 }, - { - "type": "GENERIC", - "category": "weapons", - "id": "i_staff", - "symbol": "/", - "color": "brown", - "name": { "str": "ironshod quarterstaff", "str_pl": "ironshod quarterstaves" }, - "description": "A smooth and sturdy staff with a leather-wrapped grip, which has been reinforced with metal bands and caps. Durable and well-balanced, it is surprisingly easy to handle.", - "price": 6000, - "price_postapoc": 1500, - "material": [ "wood", "iron" ], - "techniques": [ "WBLOCK_2", "RAPID", "SWEEP" ], - "flags": [ "DURABLE_MELEE", "NONCONDUCTIVE", "SHEATH_SPEAR", "ALWAYS_TWOHAND" ], - "weight": "2500 g", - "volume": "3 L", - "bashing": 30, - "to_hit": 3, - "qualities": [ [ "HAMMER", 1 ] ] - }, { "id": "l-stick", "type": "TOOL", "category": "weapons", + "weapon_category": [ "QUARTERSTAVES" ], "name": { "str": "L-stick (off)", "str_pl": "L-sticks (off)" }, "description": "Produced by the Light corporation, this stylish staff not only functions as a light source, but doubles as a light-weight weapon, due to the superalloy materials it is made of. Due to proprietary efficiency improvements over standard light sources, the L-stick or light stick as it is commonly called, batteries last longer than other light sources.", "weight": "1000 g", @@ -588,6 +494,7 @@ "id": "lucern_hammer", "type": "GENERIC", "category": "weapons", + "weapon_category": [ "2H_HAMMERS", "SPEARS", "HOOKED_POLES" ], "symbol": "/", "color": "light_gray", "name": { "str": "lucerne hammer" }, @@ -607,9 +514,7 @@ { "id": "lucern_hammerfake", "type": "GENERIC", - "category": "weapons", - "symbol": "/", - "color": "light_gray", + "copy-from": "lucern_hammer", "name": { "str": "lucerne hammer fake" }, "description": "This is a cheap piece of crap imitation of a versatile polearm with a spiked hammer head, probably used for LARPing", "price": 4000, @@ -620,14 +525,13 @@ "weight": "2700 g", "volume": "3750 ml", "bashing": 48, - "cutting": 8, - "to_hit": 1, - "qualities": [ [ "COOK", 1 ] ] + "cutting": 8 }, { + "id": "mace", "type": "GENERIC", "category": "weapons", - "id": "mace", + "weapon_category": [ "MACES" ], "name": { "str": "mace" }, "description": "A medieval weapon consisting of a wood handle with a heavy iron end. It is heavy and slow, but its crushing damage is devastating.", "weight": "1500 g", @@ -645,48 +549,40 @@ "qualities": [ [ "HAMMER", 1 ] ] }, { + "id": "mace_inferior", "type": "GENERIC", - "category": "weapons", - "id": "mace_fake", - "name": { "str": "mace fake" }, - "description": "A light, cheaply made replica of a medieval weapon that would normally consist of a wood handle with a heavy iron end.", - "weight": "750 g", - "to_hit": 1, - "color": "dark_gray", - "symbol": "/", + "copy-from": "mace", + "name": { "str": "mace replica" }, + "description": "A medieval weapon consisting of a wood handle with a heavy iron end. That iron end feels a bit loose.", + "weight": "1000 g", "looks_like": "mace", - "material": [ "aluminum", "wood" ], - "techniques": [ "SWEEP" ], - "flags": [ "NONCONDUCTIVE", "FRAGILE_MELEE" ], + "material": [ "budget_steel", "wood" ], + "flags": [ "NONCONDUCTIVE" ], "volume": "1250 ml", - "bashing": 15, + "bashing": 22, "price": 10000, - "price_postapoc": 500 + "price_postapoc": 1000 }, { - "type": "GENERIC", - "category": "weapons", - "id": "mace_inferior", - "name": { "str": "mace replica" }, - "description": "A medieval weapon consisting of a wood handle with a heavy iron end. That iron end feels a bit loose.", - "weight": "1000 g", - "to_hit": 1, - "color": "dark_gray", - "symbol": "/", + "id": "mace_fake", + "type": "GENERIC", + "copy-from": "mace", + "name": { "str": "mace fake" }, + "description": "A light, cheaply made replica of a medieval weapon that would normally consist of a wood handle with a heavy iron end.", + "weight": "750 g", "looks_like": "mace", - "material": [ "budget_steel", "wood" ], - "techniques": [ "SWEEP" ], - "flags": [ "NONCONDUCTIVE" ], - "volume": "1250 ml", - "bashing": 22, + "material": [ "aluminum", "wood" ], + "flags": [ "NONCONDUCTIVE", "FRAGILE_MELEE" ], + "bashing": 15, "price": 10000, - "price_postapoc": 1000, - "qualities": [ [ "HAMMER", 1 ] ] + "price_postapoc": 500, + "qualities": [ ] }, { "id": "makeshift_sap", "type": "GENERIC", "category": "weapons", + "weapon_category": [ "SAPS" ], "symbol": "/", "color": "dark_gray", "name": { "str": "makeshift sap" }, @@ -702,9 +598,10 @@ "price_postapoc": 50 }, { + "id": "mjolnir", "type": "GENERIC", "category": "weapons", - "id": "mjolnir", + "weapon_category": [ "1H_HAMMERS" ], "name": { "str": "Mjoelnir" }, "description": "A large hammer, forged from the heart of a dying star. It bears the inscription:\n\nWhosoever holds this hammer,\nIf he be worthy,\nShall possess the power to…\nCRUSH!'", "weight": "5443 g", @@ -720,9 +617,10 @@ "qualities": [ [ "HAMMER", 1 ] ] }, { + "id": "morningstar", "type": "GENERIC", "category": "weapons", - "id": "morningstar", + "weapon_category": [ "MORNINGSTARS" ], "name": { "str": "morningstar" }, "description": "A medieval weapon consisting of a wood handle with a heavy, spiked iron ball on the end. It deals devastating crushing damage, with a small amount of piercing to boot.", "weight": "1400 g", @@ -740,69 +638,41 @@ "qualities": [ [ "HAMMER", 1 ] ] }, { - "type": "GENERIC", - "category": "weapons", - "id": "morningstar_fake", - "name": { "str": "morningstar fake" }, - "description": "A light, cheaply made replica of a medieval weapon that would normally consist of a wood handle with a heavy, spiked iron ball on the end.", - "weight": "700 g", - "to_hit": -1, - "color": "dark_gray", - "symbol": "/", - "looks_like": "morningstar", - "material": [ "aluminum", "wood" ], - "techniques": [ "SWEEP" ], - "volume": "1500 ml", - "bashing": 26, - "cutting": 1, - "flags": [ "SPEAR", "NONCONDUCTIVE", "FRAGILE_MELEE" ], - "price": 12000, - "price_postapoc": 500 - }, - { - "type": "GENERIC", - "category": "weapons", "id": "morningstar_inferior", + "type": "GENERIC", + "copy-from": "morningstar", "name": { "str": "morningstar replica" }, "description": "A medieval weapon consisting of a wood handle with a heavy, spiked iron ball on the end. That end feels lighter than it should.", "weight": "1000 g", - "to_hit": -1, - "color": "dark_gray", - "symbol": "/", "looks_like": "morningstar", "material": [ "budget_steel", "wood" ], - "techniques": [ "SWEEP" ], - "volume": "1500 ml", "bashing": 26, "cutting": 1, "flags": [ "SPEAR", "NONCONDUCTIVE" ], "price": 12000, - "price_postapoc": 1000, - "qualities": [ [ "HAMMER", 1 ] ] + "price_postapoc": 1000 }, { + "id": "morningstar_fake", "type": "GENERIC", - "category": "weapons", - "id": "nailbat", - "name": { "str": "nail bat" }, - "description": "A baseball bat with several nails driven through it, an excellent melee weapon.", - "weight": "1159 g", - "to_hit": 3, - "color": "brown", - "symbol": "/", - "material": [ "wood" ], - "techniques": [ "WBLOCK_1" ], - "volume": "1750 ml", + "copy-from": "morningstar", + "name": { "str": "morningstar fake" }, + "description": "A light, cheaply made replica of a medieval weapon that would normally consist of a wood handle with a heavy, spiked iron ball on the end.", + "weight": "700 g", + "looks_like": "morningstar", + "material": [ "aluminum", "wood" ], "bashing": 26, - "cutting": 4, - "flags": [ "STAB" ], - "price": 16000, - "price_postapoc": 1750 + "cutting": 1, + "flags": [ "SPEAR", "NONCONDUCTIVE", "FRAGILE_MELEE" ], + "price": 12000, + "price_postapoc": 500, + "qualities": [ ] }, { + "id": "nailboard", "type": "GENERIC", "category": "weapons", - "id": "nailboard", + "weapon_category": [ "MACES" ], "name": { "str": "nailboard" }, "description": "A long piece of wood with several nails through one end; essentially a simple mace. Makes an acceptable melee weapon.", "weight": "1424 g", @@ -819,9 +689,10 @@ "price_postapoc": 50 }, { + "id": "pool_cue", "type": "GENERIC", "category": "weapons", - "id": "pool_cue", + "weapon_category": [ "QUARTERSTAVES" ], "name": { "str": "pool cue" }, "description": "A hard-wood stick designed for hitting colorful balls around a felt table. Truly, the coolest of sports.", "weight": "520 g", @@ -836,28 +707,9 @@ "price_postapoc": 50 }, { + "id": "PR24-retracted", "type": "GENERIC", "category": "weapons", - "id": "PR24-extended", - "name": { "str": "PR-24 baton (extended)", "str_pl": "PR-24 batons (extended)" }, - "description": "The Monadnock PR-24 baton is a collapsible, lightweight, side-handle baton used by law enforcement all over the world. The PR designation is rumored to mean Public Relations. Activate to retract.", - "weight": "680 g", - "to_hit": 3, - "color": "dark_gray", - "symbol": "/", - "material": [ "aluminum", "plastic" ], - "techniques": [ "WBLOCK_2", "RAPID" ], - "flags": [ "DURABLE_MELEE", "BELT_CLIP" ], - "use_action": { "menu_text": "Retract", "type": "transform", "target": "PR24-retracted", "msg": "You collapse your PR-24 baton." }, - "volume": "2 L", - "bashing": 20, - "price": 30000, - "price_postapoc": 750 - }, - { - "type": "GENERIC", - "category": "weapons", - "id": "PR24-retracted", "name": { "str": "PR-24 baton (retracted)", "str_pl": "PR-24 batons (retracted)" }, "description": "The Monadnock PR-24 baton is a collapsible, lightweight, side-handle baton used by law enforcement all over the world. The PR designation is rumored to mean Public Relations. Activate to extend.", "weight": "680 g", @@ -874,27 +726,78 @@ "price_postapoc": 750 }, { + "id": "PR24-extended", "type": "GENERIC", - "category": "weapons", + "copy-from": "PR24-retracted", + "weapon_category": [ "BATONS" ], + "name": { "str": "PR-24 baton (extended)", "str_pl": "PR-24 batons (extended)" }, + "description": "The Monadnock PR-24 baton is a collapsible, lightweight, side-handle baton used by law enforcement all over the world. The PR designation is rumored to mean Public Relations. Activate to retract.", + "to_hit": 3, + "techniques": [ "WBLOCK_2", "RAPID" ], + "use_action": { "menu_text": "Retract", "type": "transform", "target": "PR24-retracted", "msg": "You collapse your PR-24 baton." }, + "volume": "2 L", + "bashing": 20 + }, + { "id": "q_staff", + "type": "GENERIC", + "category": "weapons", + "weapon_category": [ "QUARTERSTAVES" ], "symbol": "/", "color": "brown", "name": { "str": "quarterstaff", "str_pl": "quarterstaves" }, "description": "A smooth and sturdy staff with a leather-wrapped grip. Light and well-balanced, it is surprisingly easy to handle.", "price": 4000, + "price_postapoc": 1000, "material": "wood", "techniques": [ "WBLOCK_2", "RAPID", "SWEEP" ], "flags": [ "DURABLE_MELEE", "SHEATH_SPEAR", "ALWAYS_TWOHAND" ], "weight": "2000 g", "volume": "3 L", "bashing": 20, - "to_hit": 3, - "price_postapoc": 1000 + "to_hit": 3 }, { + "id": "i_staff", "type": "GENERIC", - "category": "weapons", + "copy-from": "q_staff", + "name": { "str": "ironshod quarterstaff", "str_pl": "ironshod quarterstaves" }, + "description": "A smooth and sturdy staff with a leather-wrapped grip, which has been reinforced with metal bands and caps. Durable and well-balanced, it is surprisingly easy to handle.", + "price": 6000, + "price_postapoc": 1500, + "material": [ "wood", "iron" ], + "flags": [ "DURABLE_MELEE", "NONCONDUCTIVE", "SHEATH_SPEAR", "ALWAYS_TWOHAND" ], + "weight": "2500 g", + "bashing": 30, + "qualities": [ [ "HAMMER", 1 ] ] + }, + { + "id": "shock_staff", + "type": "TOOL", + "copy-from": "i_staff", + "name": { "str": "powered quarterstaff", "str_pl": "powered quarterstaves" }, + "description": "This is an ironshod quarterstaff that has a high-voltage stun gun built into the handle. The stun gun is wired to the metal caps at either end of the staff, allowing you to zap a dangerous opponent should beating them senseless with it prove too hazardous.", + "weight": "2650 g", + "volume": "3250 ml", + "price": 8000, + "price_postapoc": 4500, + "bashing": 29, + "ammo": "battery", + "charges_per_use": 100, + "use_action": "TAZER", + "magazines": [ + [ + "battery", + [ "medium_battery_cell", "medium_plus_battery_cell", "medium_atomic_battery_cell", "medium_disposable_cell" ] + ] + ], + "magazine_well": "500 ml" + }, + { "id": "rock_sock", + "type": "GENERIC", + "category": "weapons", + "weapon_category": [ "SAPS" ], "symbol": ";", "color": "white", "name": { "str": "rock in a sock", "str_pl": "rocks in socks" }, @@ -912,103 +815,89 @@ "id": "shillelagh", "type": "GENERIC", "category": "weapons", + "weapon_category": [ "BATONS" ], "symbol": "/", "color": "brown", "name": { "str": "shillelagh" }, "description": "A stout knotty stick with a large knob at the top that has been left to cure in a chimney. A traditional Irish weapon, the shillelagh was originally used for settling disputes in a gentlemanly manner.", "price": 25000, + "price_postapoc": 1250, "material": "wood", "techniques": [ "WBLOCK_1", "SWEEP" ], "flags": [ "DURABLE_MELEE" ], "weight": "910 g", "volume": "1500 ml", "bashing": 26, - "to_hit": 2, - "price_postapoc": 1250 + "to_hit": 2 }, { "id": "shillelagh_weighted", "type": "GENERIC", - "category": "weapons", - "symbol": "/", - "color": "brown", + "copy-from": "shillelagh", "name": { "str": "loaded stick" }, "description": "A stout knotty stick with a large knob at the top that has been left to cure in a chimney. A traditional Irish weapon, the shillelagh was originally used for settling disputes in a gentlemanly manner. The knob has been hollowed and filled with molten heavy metal to pack more of a punch.", "price": 30000, + "price_postapoc": 1750, "material": [ "lead", "wood" ], - "techniques": [ "WBLOCK_1", "SWEEP" ], "flags": [ "DURABLE_MELEE", "NONCONDUCTIVE" ], "weight": "1135 g", "volume": "1500 ml", - "bashing": 30, - "to_hit": 2, - "price_postapoc": 1750 + "bashing": 30 }, { "id": "shillelagh_fake", "type": "GENERIC", - "category": "weapons", - "symbol": "/", - "color": "brown", + "copy-from": "shillelagh", "name": { "str": "shillelagh fake" }, "description": "A fake shillelagh massproduced as a souvenir for tourists. This knotty stick has not been cured in a chimney like a traditional shillelagh but has had fake black soot painted on.", "price": 2500, - "material": "wood", - "techniques": [ "WBLOCK_1", "SWEEP" ], + "price_postapoc": 50, "flags": [ "FRAGILE_MELEE" ], "weight": "850 g", - "volume": "1500 ml", - "bashing": 26, - "to_hit": 1, - "price_postapoc": 50 + "to_hit": 1 }, { - "id": "shock_staff", - "type": "TOOL", + "id": "tonfa", + "type": "GENERIC", "category": "weapons", - "name": { "str": "powered quarterstaff", "str_pl": "powered quarterstaves" }, - "description": "This is an ironshod quarterstaff that has a high-voltage stun gun built into the handle. The stun gun is wired to the metal caps at either end of the staff, allowing you to zap a dangerous opponent should beating them senseless with it prove too hazardous.", - "weight": "2650 g", - "volume": "3250 ml", - "price": 8000, - "to_hit": 3, - "price_postapoc": 4500, - "bashing": 29, - "material": [ "wood", "iron" ], + "weapon_category": [ "TONFAS" ], + "name": { "str": "tonfa" }, + "description": "A hard plastic truncheon commonly employed by police. Originally an Okinawan weapon, it consists of a stick with a perpendicular handle attached a third of the way down its length.", + "weight": "575 g", + "to_hit": 2, + "price": 19500, + "price_postapoc": 750, + "color": "dark_gray", "symbol": "/", + "material": "plastic", + "techniques": [ "WBLOCK_2", "RAPID" ], + "flags": [ "DURABLE_MELEE", "BELT_CLIP" ], + "volume": "2 L", + "bashing": 20 + }, + { + "id": "tonfa_wood", + "type": "GENERIC", + "copy-from": "tonfa", + "name": { "str": "wooden tonfa" }, + "description": "A stout wooden truncheon of the sort commonly employed by police. Originally an Okinawan weapon, it consists of a stick with a perpendicular handle attached a third of the way down its length.", + "weight": "921 g", "color": "brown", - "ammo": "battery", - "charges_per_use": 100, - "qualities": [ [ "HAMMER", 1 ] ], - "techniques": [ "WBLOCK_2", "RAPID", "SWEEP" ], - "use_action": "TAZER", - "flags": [ "DURABLE_MELEE", "NONCONDUCTIVE", "SHEATH_SPEAR", "ALWAYS_TWOHAND" ], - "magazines": [ - [ - "battery", - [ "medium_battery_cell", "medium_plus_battery_cell", "medium_atomic_battery_cell", "medium_disposable_cell" ] - ] - ], - "magazine_well": "500 ml" + "material": [ "wood" ] }, { "id": "shocktonfa_off", "type": "TOOL", - "category": "weapons", + "copy-from": "tonfa", "name": { "str": "tactical tonfa (off)", "str_pl": "tactical tonfas (off)" }, "description": "This is a reinforced plastic tonfa; the core is hollowed out and is filled with capacitors and a high-yield rechargeable storage battery. When a switch on the handle is pressed, a high-voltage current is transmitted to the two electrodes mounted in the end of the tonfa, and by extension to anyone unfortunate enough to be in contact with them. It also has a nifty flashlight, which is off at the moment.", "weight": "726 g", "volume": "2250 ml", "price": 17000, - "to_hit": 2, "price_postapoc": 2500, - "bashing": 20, "material": [ "plastic", "steel" ], - "symbol": "/", - "color": "dark_gray", "ammo": "battery", "charges_per_use": 1, - "techniques": [ "WBLOCK_2", "RAPID" ], "use_action": "SHOCKTONFA_OFF", "flags": [ "DURABLE_MELEE", "NONCONDUCTIVE" ], "magazines": [ @@ -1031,45 +920,10 @@ "magazine_well": "500 ml" }, { + "id": "warhammer", "type": "GENERIC", "category": "weapons", - "id": "tonfa", - "name": { "str": "tonfa" }, - "description": "A hard plastic truncheon commonly employed by police. Originally an Okinawan weapon, it consists of a stick with a perpendicular handle attached a third of the way down its length.", - "weight": "575 g", - "to_hit": 2, - "price_postapoc": 750, - "color": "dark_gray", - "symbol": "/", - "material": "plastic", - "techniques": [ "WBLOCK_2", "RAPID" ], - "flags": [ "DURABLE_MELEE", "BELT_CLIP" ], - "volume": "2 L", - "bashing": 20, - "price": 19500 - }, - { - "type": "GENERIC", - "category": "weapons", - "id": "tonfa_wood", - "name": { "str": "wooden tonfa" }, - "description": "A stout wooden truncheon of the sort commonly employed by police. Originally an Okinawan weapon, it consists of a stick with a perpendicular handle attached a third of the way down its length.", - "weight": "921 g", - "to_hit": 2, - "price_postapoc": 750, - "color": "brown", - "symbol": "/", - "material": [ "wood" ], - "techniques": [ "WBLOCK_2", "RAPID" ], - "flags": [ "DURABLE_MELEE", "BELT_CLIP" ], - "volume": "2 L", - "bashing": 20, - "price": 19500 - }, - { - "type": "GENERIC", - "category": "weapons", - "id": "warhammer", + "weapon_category": [ "1H_HAMMERS" ], "name": { "str": "war hammer" }, "description": "A medieval hammer made for battle. Its odd shape and balance make it an excellent weapon, but an ineffective tool.", "weight": "1337 g", diff --git a/data/json/items/melee/fake.json b/data/json/items/melee/fake.json index be158d27bf32..d5c359314537 100644 --- a/data/json/items/melee/fake.json +++ b/data/json/items/melee/fake.json @@ -1,8 +1,9 @@ [ { + "id": "bio_claws_weapon", "type": "GENERIC", "category": "weapons", - "id": "bio_claws_weapon", + "weapon_category": [ "BIONIC_WEAPONRY", "FIST_WEAPONS" ], "name": { "str_sp": "bionic claws" }, "description": "Short and sharp claws made from a high-tech metal.", "to_hit": -1, @@ -16,9 +17,10 @@ "qualities": [ [ "CUT", 1 ], [ "BUTCHER", 12 ] ] }, { + "id": "bio_blade_weapon", "type": "GENERIC", "category": "weapons", - "id": "bio_blade_weapon", + "weapon_category": [ "BIONIC_WEAPONRY", "BIONIC_SWORDS" ], "name": { "str": "monomolecular blade" }, "description": "A foot-long blade made from high-tech alloy and edged with bonded nanocrystals.", "weight": "100 g", diff --git a/data/json/items/melee/knives_kitchen.json b/data/json/items/melee/knives_kitchen.json index ee9203a907b5..dd24f8f93459 100644 --- a/data/json/items/melee/knives_kitchen.json +++ b/data/json/items/melee/knives_kitchen.json @@ -5,6 +5,7 @@ "description": "generic item template", "type": "TOOL", "category": "tools", + "weapon_category": [ "KNIVES" ], "material": "steel", "symbol": ";", "color": "light_gray" @@ -93,6 +94,7 @@ "id": "knife_bread", "name": { "str": "bread knife", "str_pl": "bread knives" }, "type": "TOOL", + "weapon_category": [ ], "description": "This knife has quite a long blade with a scalloped edge for cutting bread. It's not that sharp, but its length and heft mean it could do a bit of damage and cause some nasty tearing.", "copy-from": "base_kitchen_knife", "looks_like": "knife_butcher", diff --git a/data/json/items/melee/misc.json b/data/json/items/melee/misc.json index 175416f861c5..a755111dd95a 100644 --- a/data/json/items/melee/misc.json +++ b/data/json/items/melee/misc.json @@ -3,6 +3,7 @@ "id": "bullwhip", "type": "GENERIC", "category": "weapons", + "weapon_category": [ "WHIPS" ], "symbol": "/", "color": "brown", "name": { "str": "bullwhip" }, @@ -19,10 +20,8 @@ "id": "bullwhip_razor", "name": { "str": "scourge" }, "type": "GENERIC", - "category": "weapons", + "copy-from": "bullwhip", "description": "The \"cat 'o nine tails\", a handle with nine short leather whips each sporting a razor-sharp metal tip. This ancient instrument of torture causes massive bleeding but is an ineffecient weapon by design.", - "symbol": "/", - "color": "brown", "weight": "3496 g", "volume": "2250 ml", "price": 4800, @@ -36,6 +35,7 @@ { "id": "lobotomizer", "type": "TOOL", + "weapon_category": [ "HOOKED_POLES" ], "name": { "str": "lobotomizer" }, "description": "This is a hand-forged collapsible tool that has two axe heads and sharp shovel-like tip on one end. It can be used as a shovel, or you could chop some zombies with it instead.", "weight": "2722 g", @@ -52,6 +52,42 @@ "techniques": [ "WBLOCK_1", "BRUTAL", "SWEEP" ], "flags": [ "NEEDS_UNFOLD", "BELT_CLIP", "SHEATH_AXE" ] }, + { + "id": "glass_shiv", + "type": "GENERIC", + "category": "weapons", + "weapon_category": [ "KNIVES" ], + "symbol": ",", + "color": "light_cyan", + "name": { "str": "glass shiv" }, + "description": "A glass shard with wrapping at one end so it can be safely wielded.", + "material": [ "glass", "cotton" ], + "weight": "115 g", + "price_postapoc": 10, + "volume": "250 ml", + "cutting": 6, + "flags": [ "SHEATH_KNIFE", "CONDUCTIVE", "FRAGILE_MELEE" ], + "qualities": [ [ "BUTCHER", -18 ] ] + }, + { + "id": "sharp_toothbrush", + "type": "GENERIC", + "category": "weapons", + "weapon_category": [ "KNIVES" ], + "symbol": ",", + "color": "light_blue", + "name": { "str": "plastic shank" }, + "description": "An oblong plastic trinket with the far end ground down into a stabbing point.", + "price": 400, + "price_postapoc": 0, + "material": [ "plastic" ], + "weight": "49 g", + "volume": "250 ml", + "bashing": 1, + "cutting": 3, + "to_hit": -3, + "flags": [ "STAB", "SHEATH_KNIFE", "CONDUCTIVE" ] + }, { "id": "tazer", "type": "TOOL", diff --git a/data/json/items/melee/spears_and_polearms.json b/data/json/items/melee/spears_and_polearms.json index d378d32fb2d4..ae5b3b129ea0 100644 --- a/data/json/items/melee/spears_and_polearms.json +++ b/data/json/items/melee/spears_and_polearms.json @@ -1,8 +1,9 @@ [ { + "id": "pitchfork", "type": "GENERIC", "category": "weapons", - "id": "pitchfork", + "weapon_category": [ "SPEARS" ], "name": { "str": "pitchfork" }, "description": "An agricultural tool with long wooden shaft and four spikes. Is used to lift hay.", "weight": "1000 g", @@ -19,9 +20,10 @@ "price_postapoc": 500 }, { + "id": "pointy_stick", "type": "GENERIC", "category": "weapons", - "id": "pointy_stick", + "weapon_category": [ "DUELING_SWORDS" ], "symbol": "/", "color": "brown", "name": { "str": "pointy stick" }, @@ -37,9 +39,10 @@ "qualities": [ [ "COOK", 1 ] ] }, { + "id": "spear_wood", "type": "GENERIC", "category": "weapons", - "id": "spear_wood", + "weapon_category": [ "SPEARS" ], "name": { "str": "wooden spear" }, "description": "A stout pole with an improvised grip and a fire-hardened point.", "weight": "898 g", @@ -56,28 +59,11 @@ "price": 4000, "qualities": [ [ "COOK", 1 ] ] }, - { - "id": "makeshift_scythe_war", - "type": "GENERIC", - "category": "weapons", - "name": { "str": "makeshift war scythe" }, - "description": "This farming tool has been modified into an improvised weapon by rotating its blade 90 degrees, transforming it into a deadly giant blade on the end of a stick. However it's quite fragile.", - "weight": "3013 g", - "volume": "3250 ml", - "price": 16000, - "price_postapoc": 50, - "bashing": 7, - "cutting": 43, - "material": [ "steel", "wood" ], - "symbol": "/", - "color": "light_gray", - "techniques": [ "WIDE", "BRUTAL" ], - "qualities": [ [ "CUT", 1 ], [ "BUTCHER", -22 ] ], - "flags": [ "FRAGILE_MELEE", "NONCONDUCTIVE", "POLEARM", "SHEATH_SPEAR", "REACH_ATTACK", "ALWAYS_TWOHAND" ] - }, { "id": "spear_spike", "type": "TOOL", + "category": "weapons", + "weapon_category": [ "SPEARS" ], "name": { "str": "spike on a stick" }, "description": "A flimsy pole made of wood with a basic metal spike tied to it. It's barely sharp, and crudely constructed, but it will keep the zombies out of arm's reach until you can find something better.", "weight": "1487 g", @@ -96,6 +82,8 @@ { "id": "spear_knife", "type": "TOOL", + "category": "weapons", + "weapon_category": [ "SPEARS" ], "name": { "str": "simple knife spear" }, "description": "A flimsy pole made of wood with a knife bound to the end. It's long enough to slice from a distance, but the knife isn't that well attached. You could take a bit more time to carefully split the shaft and attach the knife blade more permanently.", "weight": "1487 g", @@ -115,25 +103,18 @@ { "id": "spear_knife_superior", "type": "TOOL", + "copy-from": "spear_knife", "name": { "str": "knife spear" }, "description": "A sturdy wooden pole that has been carefully split and reinforced. At the split point, a sharp blade has been bolted into place and reinforced with layers of sturdy wrapped bindings.", - "weight": "1487 g", - "volume": "1250 ml", "price": 12000, "price_postapoc": 500, - "to_hit": 1, - "bashing": 5, - "cutting": 20, - "material": [ "wood", "iron" ], - "symbol": "/", - "color": "brown", - "techniques": "WBLOCK_1", - "qualities": [ [ "CUT", 1 ], [ "COOK", 1 ] ], - "flags": [ "SPEAR", "REACH_ATTACK", "NONCONDUCTIVE", "SHEATH_SPEAR" ] + "cutting": 20 }, { "id": "spear_homemade_halfpike", "type": "TOOL", + "category": "weapons", + "weapon_category": [ "SPEARS" ], "name": { "str": "homemade halfpike" }, "description": "A short do-it-yourself spear made out of a smooth wooden shaft with a metal spike seated and bound into place at its tip. Its functional grip and decent construction makes it a usable, if not effective, weapon.", "weight": "1814 g", @@ -149,9 +130,10 @@ "flags": [ "SPEAR", "REACH_ATTACK", "NONCONDUCTIVE", "SHEATH_SPEAR" ] }, { + "id": "spear_forked", "type": "GENERIC", "category": "weapons", - "id": "spear_forked", + "weapon_category": [ "SPEARS" ], "name": { "str": "forked spear" }, "description": "A wooden pole with three spikes tied to it and decent grip. It's specialized for catching weapons.", "weight": "1650 g", @@ -168,70 +150,63 @@ "qualities": [ [ "COOK", 1 ] ] }, { + "id": "spear_pipe", "type": "GENERIC", "category": "weapons", + "weapon_category": [ "SPEARS" ], + "name": { "str": "pipe spear" }, + "description": "A stout metal pole with a sharp point.", + "weight": "1398 g", + "volume": "1250 ml", + "price": 8000, + "price_postapoc": 50, + "symbol": "/", + "color": "light_gray", + "material": [ "steel" ], + "techniques": [ "WBLOCK_1", "IMPALE" ], + "to_hit": -1, + "bashing": 6, + "cutting": 25, + "flags": [ "SPEAR", "REACH_ATTACK", "SHEATH_SPEAR" ], + "qualities": [ [ "COOK", 1 ] ] + }, + { "id": "spear_copper", + "type": "GENERIC", + "copy-from": "spear_pipe", "name": { "str": "copper spear" }, "description": "A stout wooden pole with a spearhead worked from copper.", "weight": "1450 g", - "to_hit": 1, + "volume": "1500 ml", + "price": 1400, "price_postapoc": 1250, "color": "light_red", - "symbol": "/", "material": [ "copper", "wood" ], - "techniques": [ "WBLOCK_1" ], - "volume": "1500 ml", - "bashing": 6, + "techniques": [ "WBLOCK_1", "IMPALE" ], + "to_hit": 1, "cutting": 20, "flags": [ "SPEAR", "REACH_ATTACK", "NONCONDUCTIVE", "SHEATH_SPEAR" ], - "price": 1400, "qualities": [ [ "COOK", 1 ] ] }, { - "type": "GENERIC", - "category": "weapons", "id": "spear_steel", + "type": "GENERIC", + "copy-from": "spear_pipe", "name": { "str": "steel spear" }, "description": "A stout wooden pole with a hand-forged steel spearhead.", "weight": "1498 g", - "to_hit": 1, + "volume": "3 L", + "price": 16000, "price_postapoc": 5500, - "color": "light_gray", - "symbol": "/", "material": [ "steel", "wood" ], - "techniques": [ "WBLOCK_1", "IMPALE" ], - "volume": "3 L", - "bashing": 6, + "to_hit": 1, "cutting": 30, - "flags": [ "DURABLE_MELEE", "SPEAR", "REACH_ATTACK", "NONCONDUCTIVE", "SHEATH_SPEAR" ], - "price": 16000, - "qualities": [ [ "COOK", 1 ] ] + "flags": [ "DURABLE_MELEE", "SPEAR", "REACH_ATTACK", "NONCONDUCTIVE", "SHEATH_SPEAR" ] }, { - "type": "GENERIC", - "category": "weapons", - "id": "spear_pipe", - "name": { "str": "pipe spear" }, - "description": "A stout metal pole with a sharp point.", - "weight": "1398 g", - "to_hit": -1, - "price_postapoc": 50, - "color": "light_gray", - "symbol": "/", - "material": [ "steel" ], - "techniques": [ "WBLOCK_1", "IMPALE" ], - "volume": "1250 ml", - "bashing": 6, - "cutting": 25, - "flags": [ "SPEAR", "REACH_ATTACK", "SHEATH_SPEAR" ], - "price": 8000, - "qualities": [ [ "COOK", 1 ] ] - }, - { - "type": "GENERIC", - "category": "weapons", "id": "spear_rebar", - "symbol": "/", + "type": "GENERIC", + "copy-from": "spear_pipe", "color": "dark_gray", "name": { "str": "sharpened rebar" }, "description": "A somewhat sharpened piece of rebar.", @@ -247,9 +222,30 @@ "qualities": [ [ "COOK", 1 ], [ "HAMMER", 1 ] ] }, { + "id": "spear_stone", "type": "GENERIC", "category": "weapons", + "name": { "str": "stone spear" }, + "description": "A stout wooden pole with a sharp stone spearhead.", + "weight": "1098 g", + "volume": "1250 ml", + "price": 1300, + "price_postapoc": 50, + "to_hit": 1, + "bashing": 4, + "cutting": 15, + "material": [ "wood", "stone" ], + "symbol": "/", + "color": "light_gray", + "techniques": [ "WBLOCK_1" ], + "qualities": [ [ "COOK", 1 ] ], + "flags": [ "SPEAR", "REACH_ATTACK", "SHEATH_SPEAR" ] + }, + { "id": "qiang", + "type": "GENERIC", + "category": "weapons", + "weapon_category": [ "SPEARS" ], "name": { "str": "qiang" }, "description": "An ancient Chinese spear, typically with a tassel just below the spearhead. One of the four major weapons in folklore, alongside the dao sabre, jian sword, and gun staff.", "weight": "1398 g", @@ -266,47 +262,50 @@ "qualities": [ [ "COOK", 1 ] ] }, { - "id": "halberd", + "id": "makeshift_scythe_war", "type": "GENERIC", "category": "weapons", + "weapon_category": [ "GLAIVES" ], + "name": { "str": "makeshift war scythe" }, + "description": "This farming tool has been modified into an improvised weapon by rotating its blade 90 degrees, transforming it into a deadly giant blade on the end of a stick. However it's quite fragile.", + "weight": "3013 g", + "volume": "3250 ml", + "price": 16000, + "price_postapoc": 50, + "bashing": 7, + "cutting": 43, + "material": [ "steel", "wood" ], "symbol": "/", "color": "light_gray", - "name": { "str": "halberd" }, - "description": "This is a versatile polearm with an axe blade, a spike, and other fun things attached to a long stick.", - "price": 50000, - "material": [ "wood", "steel" ], - "flags": [ "DURABLE_MELEE", "REACH_ATTACK", "NONCONDUCTIVE", "POLEARM", "SHEATH_SPEAR", "ALWAYS_TWOHAND" ], - "techniques": [ "WBLOCK_1", "WIDE", "SWEEP" ], - "weight": "3175 g", - "volume": "3750 ml", - "bashing": 19, - "cutting": 51, - "price_postapoc": 10000, - "qualities": [ [ "COOK", 1 ], [ "BUTCHER", -70 ] ] + "techniques": [ "WIDE", "BRUTAL" ], + "qualities": [ [ "CUT", 1 ], [ "BUTCHER", -22 ] ], + "flags": [ "FRAGILE_MELEE", "NONCONDUCTIVE", "POLEARM", "SHEATH_SPEAR", "REACH_ATTACK", "ALWAYS_TWOHAND" ] }, { - "id": "halberd_fake", "type": "GENERIC", "category": "weapons", + "weapon_category": [ "GLAIVES" ], + "id": "scythe_war", + "name": { "str": "war scythe" }, + "description": "A pole weapon with a curving single-edged blade. Its blade bears some superficial resemblance to that of an agricultural scythe from which it likely evolved.", + "weight": "3013 g", + "volume": "3250 ml", + "price": 16000, + "price_postapoc": 2500, + "bashing": 17, + "cutting": 42, + "material": [ "steel", "wood" ], "symbol": "/", "color": "light_gray", - "name": { "str": "halberd fake" }, - "description": "This is a dull, cheaply made replica of a polearm with an axe blade, a spike, and other fun things attached to a long stick.", - "price": 5000, - "material": [ "wood", "aluminum" ], - "flags": [ "REACH_ATTACK", "NONCONDUCTIVE", "POLEARM", "SHEATH_SPEAR", "ALWAYS_TWOHAND", "FRAGILE_MELEE" ], - "techniques": [ "WBLOCK_1", "SWEEP" ], - "weight": "1644 g", - "volume": "3750 ml", - "bashing": 22, - "cutting": 4, - "to_hit": 1, - "price_postapoc": 500 + "techniques": [ "WIDE", "BRUTAL" ], + "qualities": [ [ "CUT", 1 ], [ "BUTCHER", -22 ] ], + "flags": [ "DURABLE_MELEE", "NONCONDUCTIVE", "POLEARM", "SHEATH_SPEAR", "REACH_ATTACK", "ALWAYS_TWOHAND" ] }, { "id": "glaive", "type": "GENERIC", "category": "weapons", + "weapon_category": [ "GLAIVES" ], "symbol": "/", "color": "light_gray", "name": { "str": "glaive" }, @@ -323,9 +322,10 @@ "price_postapoc": 8000 }, { + "id": "naginata", "type": "GENERIC", "category": "weapons", - "id": "naginata", + "weapon_category": [ "GLAIVES" ], "name": { "str_sp": "naginata" }, "description": "A sturdy polearm with a curved blade, made in the same manner as the katana and other Japanese blades. Occasionally used by samurai in early periods, or by their wives in defense of the household.", "weight": "1700 g", @@ -342,47 +342,38 @@ "price_postapoc": 9500 }, { - "type": "GENERIC", - "category": "weapons", "id": "naginata_inferior", + "type": "GENERIC", + "copy-from": "naginata", "name": { "str": "naginata replica" }, "description": "A sturdy polearm with a curved blade, made in the same manner as the katana and other Japanese blades. This one has a bit of wiggle to its blade and feels a bit shoddily made.", - "weight": "1700 g", - "color": "light_gray", - "symbol": "/", "material": [ "budget_steel", "wood" ], - "techniques": [ "WIDE", "WBLOCK_1" ], - "volume": "2500 ml", "bashing": 29, "cutting": 11, - "qualities": [ [ "CUT", 1 ], [ "BUTCHER", -24 ] ], "flags": [ "REACH_ATTACK", "NONCONDUCTIVE", "POLEARM", "SHEATH_SPEAR", "ALWAYS_TWOHAND" ], - "price": 8000, "price_postapoc": 1500 }, { - "type": "GENERIC", - "category": "weapons", "id": "naginata_fake", + "type": "GENERIC", + "copy-from": "naginata", "name": { "str": "naginata fake" }, "description": "This is a dull, slightly floppy replica of a Japanese polearm with a curved blade. With a little difficulty, you could use it administer a solid slap from a distance.", "weight": "1400 g", - "color": "light_gray", - "symbol": "/", "material": [ "aluminum", "wood" ], - "techniques": [ "WIDE", "WBLOCK_1" ], - "volume": "2500 ml", "bashing": 12, "cutting": 2, "to_hit": 1, "flags": [ "REACH_ATTACK", "NONCONDUCTIVE", "POLEARM", "SHEATH_SPEAR", "ALWAYS_TWOHAND", "FRAGILE_MELEE" ], "price": 8000, - "price_postapoc": 500 + "price_postapoc": 500, + "qualities": [ ] }, { + "id": "spear_survivor", "type": "GENERIC", "category": "weapons", - "id": "spear_survivor", + "weapon_category": [ "GLAIVES" ], "name": { "str_sp": "survivor naginata" }, "description": "This sturdy steel shaft with a sword blade at the end is good for both slashing and stabbing.", "weight": "1700 g", @@ -401,9 +392,10 @@ "qualities": [ [ "COOK", 1 ], [ "CUT", 1 ], [ "BUTCHER", -24 ] ] }, { + "id": "javelin", "type": "GENERIC", "category": "weapons", - "id": "javelin", + "weapon_category": [ "SPEARS" ], "name": { "str": "wooden javelin" }, "description": "A fire-hardened wooden spear honed to a sharper point. The grip area has been carved and covered for better grip.", "weight": "600 g", @@ -421,70 +413,52 @@ "qualities": [ [ "COOK", 1 ] ] }, { - "type": "GENERIC", - "category": "weapons", "id": "javelin_iron", + "type": "GENERIC", + "copy-from": "javelin", "name": { "str": "iron javelin" }, "description": "An iron-tipped wooden throwing spear. The grip area has been carved and covered for better grip.", "weight": "960 g", "to_hit": -1, "color": "light_gray", - "symbol": "/", "material": [ "wood", "iron" ], - "techniques": "WBLOCK_1", - "volume": "1 L", "bashing": 5, "cutting": 19, "thrown_damage": [ { "damage_type": "bash", "amount": 5 }, { "damage_type": "stab", "amount": 17 } ], "flags": [ "SPEAR", "NONCONDUCTIVE", "SHEATH_SPEAR", "JAVELIN" ], "price": 9000, - "price_postapoc": 500, - "qualities": [ [ "COOK", 1 ] ] + "price_postapoc": 500 }, { "id": "pike_wood", "type": "GENERIC", - "category": "weapons", + "copy-from": "pike", "name": { "ctxt": "weapon", "str": "wooden pike" }, "description": "This is a medieval weapon consisting of a wood shaft with a fire hardened point.", + "looks_like": "pike", "weight": "2300 g", - "volume": "3500 ml", "price": 10000, "price_postapoc": 750, - "bashing": 9, "cutting": 20, - "material": [ "wood" ], - "symbol": "/", - "color": "brown", - "looks_like": "pike", - "techniques": [ "IMPALE", "WBLOCK_1" ], - "qualities": [ [ "COOK", 1 ] ], - "flags": [ "DURABLE_MELEE", "POLEARM", "SPEAR", "REACH_ATTACK", "REACH3", "NONCONDUCTIVE", "SHEATH_SPEAR", "ALWAYS_TWOHAND" ] + "material": [ "wood" ] }, { "id": "pike_copper", "type": "GENERIC", - "category": "weapons", + "copy-from": "pike", "name": { "ctxt": "weapon", "str": "copper pike" }, "description": "This is a medieval weapon consisting of a wood shaft tipped with a copper spearhead.", - "weight": "2500 g", - "volume": "3500 ml", + "looks_like": "pike", "price": 15000, "price_postapoc": 1000, - "bashing": 9, "cutting": 27, - "material": [ "copper", "wood" ], - "symbol": "/", - "color": "brown", - "looks_like": "pike", - "techniques": [ "IMPALE", "WBLOCK_1" ], - "qualities": [ [ "COOK", 1 ] ], - "flags": [ "DURABLE_MELEE", "POLEARM", "SPEAR", "REACH_ATTACK", "REACH3", "NONCONDUCTIVE", "SHEATH_SPEAR", "ALWAYS_TWOHAND" ] + "material": [ "copper", "wood" ] }, { "id": "pike", "type": "GENERIC", "category": "weapons", + "weapon_category": [ "PIKES" ], "name": { "ctxt": "weapon", "str": "pike" }, "description": "This is a medieval weapon consisting of a wood shaft tipped with an iron spearhead.", "weight": "2500 g", @@ -500,71 +474,41 @@ "qualities": [ [ "COOK", 1 ] ], "flags": [ "DURABLE_MELEE", "POLEARM", "SPEAR", "REACH_ATTACK", "REACH3", "NONCONDUCTIVE", "SHEATH_SPEAR", "ALWAYS_TWOHAND" ] }, - { - "id": "pike_fake", - "type": "GENERIC", - "category": "weapons", - "name": { "ctxt": "weapon", "str": "pike fake" }, - "description": "This is a dull, cheaply made replica of a medieval weapon consisting of a wood shaft tipped with an iron spearhead.", - "weight": "2000 g", - "volume": "3500 ml", - "price": 4000, - "price_postapoc": 500, - "to_hit": 1, - "bashing": 13, - "cutting": 2, - "material": [ "aluminum", "wood" ], - "symbol": "/", - "color": "brown", - "looks_like": "pike", - "techniques": [ "IMPALE", "WBLOCK_1" ], - "qualities": [ [ "COOK", 1 ] ], - "flags": [ "POLEARM", "SPEAR", "REACH_ATTACK", "REACH3", "NONCONDUCTIVE", "ALWAYS_TWOHAND", "FRAGILE_MELEE" ] - }, { "id": "pike_inferior", "type": "GENERIC", - "category": "weapons", + "copy-from": "pike", "name": { "ctxt": "weapon", "str": "pike replica" }, "description": "This is a medieval weapon consisting of a wood shaft tipped with an iron spearhead. The head seems to be pretty dull, and the whole thing feels poorly made.", - "weight": "2500 g", - "volume": "3500 ml", - "price": 40000, "price_postapoc": 1250, "to_hit": -1, "bashing": 25, "cutting": 8, "material": [ "budget_steel", "wood" ], - "symbol": "/", - "color": "brown", "looks_like": "pike", - "techniques": [ "IMPALE", "WBLOCK_1" ], - "qualities": [ [ "COOK", 1 ] ], "flags": [ "POLEARM", "SPEAR", "REACH_ATTACK", "REACH3", "NONCONDUCTIVE", "ALWAYS_TWOHAND" ] }, { + "id": "pike_fake", "type": "GENERIC", - "category": "weapons", - "id": "scythe_war", - "name": { "str": "war scythe" }, - "description": "A pole weapon with a curving single-edged blade. Its blade bears some superficial resemblance to that of an agricultural scythe from which it likely evolved.", - "weight": "3013 g", - "volume": "3250 ml", - "price": 16000, - "price_postapoc": 2500, - "bashing": 17, - "cutting": 42, - "material": [ "steel", "wood" ], - "symbol": "/", - "color": "light_gray", - "techniques": [ "WIDE", "BRUTAL" ], - "qualities": [ [ "CUT", 1 ], [ "BUTCHER", -22 ] ], - "flags": [ "DURABLE_MELEE", "NONCONDUCTIVE", "POLEARM", "SHEATH_SPEAR", "REACH_ATTACK", "ALWAYS_TWOHAND" ] + "copy-from": "pike", + "name": { "ctxt": "weapon", "str": "pike fake" }, + "description": "This is a dull, cheaply made replica of a medieval weapon consisting of a wood shaft tipped with an iron spearhead.", + "weight": "2000 g", + "price": 4000, + "price_postapoc": 500, + "to_hit": 1, + "bashing": 13, + "cutting": 2, + "material": [ "aluminum", "wood" ], + "looks_like": "pike", + "flags": [ "POLEARM", "SPEAR", "REACH_ATTACK", "REACH3", "NONCONDUCTIVE", "ALWAYS_TWOHAND", "FRAGILE_MELEE" ] }, { "id": "spear_dory", "type": "GENERIC", "category": "weapons", + "weapon_category": [ "SPEARS" ], "name": { "str": "dory", "str_pl": "dories" }, "description": "A well-made spear with a bronze head, Greek in origin.", "weight": "1598 g", @@ -579,12 +523,13 @@ "color": "yellow", "techniques": [ "WBLOCK_1", "IMPALE" ], "qualities": [ [ "COOK", 1 ] ], - "flags": [ "SPEAR", "REACH_ATTACK", "DURABLE_MELEE" ] + "flags": [ "SPEAR", "REACH_ATTACK", "DURABLE_MELEE", "SHEATH_SPEAR", "NONCONDUCTIVE" ] }, { "id": "ji", "type": "GENERIC", "category": "weapons", + "weapon_category": [ "SPEARS", "HOOKED_POLES" ], "name": { "str_sp": "ji" }, "//": "Couldn't find a good way to pluralize the transliteration.", "description": "This is a bronze polearm that originated in the Shang dynasty of China, if not earlier. It combines a spear head with the perpendicular blade of the earlier ge or dagger-axe.", @@ -599,26 +544,6 @@ "symbol": "/", "color": "yellow", "techniques": [ "WBLOCK_1", "DEF_DISARM" ], - "flags": [ "DURABLE_MELEE", "POLEARM", "REACH_ATTACK", "ALWAYS_TWOHAND" ] - }, - { - "id": "spear_stone", - "type": "GENERIC", - "category": "weapons", - "name": { "str": "stone spear" }, - "description": "A stout wooden pole with a sharp stone spearhead.", - "weight": "1098 g", - "volume": "1250 ml", - "price": 1300, - "price_postapoc": 50, - "to_hit": 1, - "bashing": 4, - "cutting": 15, - "material": [ "wood", "stone" ], - "symbol": "/", - "color": "light_gray", - "techniques": [ "WBLOCK_1" ], - "qualities": [ [ "COOK", 1 ] ], - "flags": [ "SPEAR", "REACH_ATTACK", "SHEATH_SPEAR" ] + "flags": [ "DURABLE_MELEE", "POLEARM", "REACH_ATTACK", "ALWAYS_TWOHAND", "NONCONDUCTIVE", "SHEATH_SPEAR" ] } ] diff --git a/data/json/items/melee/swords_and_blades.json b/data/json/items/melee/swords_and_blades.json index 057320ab9cf9..6152511c71cd 100644 --- a/data/json/items/melee/swords_and_blades.json +++ b/data/json/items/melee/swords_and_blades.json @@ -1,61 +1,23 @@ [ { - "type": "GENERIC", - "category": "weapons", - "id": "sword_wood", - "symbol": "!", - "color": "brown", - "name": { "str": "2-by-sword" }, - "description": "A two by four with a cross guard and whittled down point; not much for slashing, but much better than your bare hands.", - "material": "wood", - "volume": "1250 ml", - "weight": "600 g", - "bashing": 12, - "cutting": 1, - "to_hit": 1, - "price_postapoc": 50, - "flags": [ "SHEATH_SWORD" ], - "techniques": [ "WBLOCK_1" ] - }, - { - "type": "GENERIC", - "category": "weapons", - "id": "sword_nail", - "symbol": "!", - "color": "light_gray", - "name": { "str": "nord" }, - "description": "The nail sword, or nord for short. This wooden sword has a dozen nails sticking at jagged angles from edge of the blade, making it much better at chopping than slashing.", - "material": "wood", - "volume": "1750 ml", - "weight": "648 g", - "bashing": 12, - "cutting": 4, - "to_hit": 2, - "price_postapoc": 100, - "techniques": [ "WBLOCK_1" ] - }, - { - "type": "GENERIC", - "category": "weapons", "id": "sword_crude", - "symbol": "!", + "type": "GENERIC", + "copy-from": "sword_wood", "color": "light_gray", "name": { "str": "crude sword" }, "description": "Several bits of thin scrap metal crudely beat into the semblance of an edge over a wooden sword. The added weight is unbalanced, but the jagged edge offers a good bit of slashing power.", - "material": "wood", "volume": "2 L", "weight": "1100 g", "bashing": 6, "cutting": 18, - "to_hit": 1, "price_postapoc": 250, - "flags": [ "SHEATH_SWORD" ], - "qualities": [ [ "BUTCHER", -50 ] ], - "techniques": [ "WBLOCK_1" ] + "qualities": [ [ "BUTCHER", -50 ] ] }, { - "type": "GENERIC", "id": "sword_metal", + "type": "GENERIC", + "category": "weapons", + "weapon_category": [ "1H_SWORDS" ], "symbol": "!", "color": "light_gray", "name": { "str": "hand-forged sword" }, @@ -76,6 +38,7 @@ "id": "switchblade", "type": "TOOL", "category": "tools", + "weapon_category": [ "KNIVES" ], "name": { "str": "switchblade" }, "description": "This is a long and thin knife with a spring-loaded blade that rests inside the handle while not in use.", "weight": "100 g", @@ -95,6 +58,7 @@ "id": "knife_folding", "type": "TOOL", "category": "tools", + "weapon_category": [ "KNIVES" ], "name": { "str": "folding knife", "str_pl": "folding knives" }, "description": "This is a small folding knife, with a locking blade and a pocket clip. Not as good a weapon as a solid fixed-blade knife, but better than a penknife.", "weight": "80 g", @@ -113,6 +77,7 @@ "id": "knife_combat", "type": "GENERIC", "category": "weapons", + "weapon_category": [ "KNIVES" ], "name": { "str": "combat knife", "str_pl": "combat knives" }, "description": "This is a military combat knife. It is light and extremely sharp, and could be deadly in either the right hands or when attached as a bayonet.", "weight": "558 g", @@ -153,6 +118,7 @@ "id": "knife_hunting", "type": "TOOL", "category": "tools", + "weapon_category": [ "KNIVES" ], "name": { "str": "hunting knife", "str_pl": "hunting knives" }, "//": "Highest non-powertool butchering quality. It's made for skinning and butchering game, which is what you're generally doing.", "description": "Commonly used by hunters, this single-edge sheath knife is designed for cutting and skinning game rather than combat.", @@ -171,6 +137,7 @@ "id": "knife_rambo", "type": "GENERIC", "category": "weapons", + "weapon_category": [ "KNIVES" ], "name": { "str": "survival knife", "str_pl": "survival knives" }, "//": "This isn't really supposed to be a very good knife, or a very good saw. It's more for looking scary.", "description": "This massive knife features a hollow handle with a compass built into the pommel and a row of fearsome looking saw teeth along the back of its blade.", @@ -191,6 +158,7 @@ "id": "knife_rm42", "type": "GENERIC", "category": "weapons", + "weapon_category": [ "KNIVES" ], "name": { "str": "RM42 fighting knife", "str_pl": "RM42 fighting knives" }, "description": "This sturdy matte black Rivtech combat dagger features a long and slim double-edged blade with a spear-point and a distinctive slip-resistant grip which can also be used to affix it to a suitable firearm. Originally manufactured for the military, it was very popular in films and among collectors due to its fearsome appearance.", "weight": "188 g", @@ -237,6 +205,7 @@ "id": "knife_trench", "type": "GENERIC", "category": "weapons", + "weapon_category": [ "KNIVES" ], "name": { "str": "trench knife", "str_pl": "trench knives" }, "description": "This stout combat knife features a steel guard to protect the user's knuckles. The guard can also be used for striking or blocking, and the knife can also be used to butcher corpses.", "weight": "608 g", @@ -257,6 +226,7 @@ "id": "makeshift_knife", "type": "TOOL", "category": "tools", + "weapon_category": [ "KNIVES" ], "name": { "str": "makeshift knife", "str_pl": "makeshift knives" }, "description": "A knife consisting of a long, somewhat sharpened, spike and a tightly wrapped rag as a handle. It makes a good melee weapon.", "weight": "550 g", @@ -277,6 +247,7 @@ "name": { "str": "bone shiv" }, "type": "TOOL", "category": "tools", + "weapon_category": [ "KNIVES" ], "description": "A femur or other bone, at least 30 cm long, which has been broken at one end and sharpened into a cutting tool. Its jagged edge is wicked but fragile.", "symbol": "/", "color": "white", @@ -295,6 +266,7 @@ "id": "knife_baselard", "type": "GENERIC", "category": "weapons", + "weapon_category": [ "KNIVES" ], "name": { "str": "baselard" }, "description": "A medieval dagger forged from rough iron. It is not the sharpest tool in the shed, but it is certainly one of the largest.", "weight": "420 g", @@ -309,29 +281,11 @@ "qualities": [ [ "CUT", 1 ], [ "BUTCHER", 15 ] ], "flags": [ "STAB", "SHEATH_KNIFE" ] }, - { - "id": "makeshift_machete", - "type": "GENERIC", - "category": "weapons", - "name": { "str": "makeshift machete" }, - "description": "This is a large blade that has had a portion of the handle wrapped in duct tape, making it easier to wield as a rough machete.", - "weight": "581 g", - "volume": "2 L", - "price": 1000, - "price_postapoc": 250, - "bashing": 5, - "cutting": 16, - "material": "steel", - "symbol": "/", - "color": "light_gray", - "qualities": [ [ "CUT", 1 ], [ "BUTCHER", -27 ] ], - "techniques": [ "WBLOCK_1" ], - "flags": [ "SHEATH_SWORD" ] - }, { "id": "machete", "type": "GENERIC", "category": "weapons", + "weapon_category": [ "SHORT_SWORDS" ], "name": { "str": "machete" }, "description": "This huge steel knife makes an excellent tool for cutting down large vegetation or other 'obstacles.'", "weight": "538 g", @@ -348,11 +302,29 @@ "qualities": [ [ "CUT", 1 ], [ "BUTCHER", 15 ] ], "flags": [ "DURABLE_MELEE", "SHEATH_SWORD" ] }, + { + "id": "makeshift_machete", + "type": "GENERIC", + "copy-from": "machete", + "name": { "str": "makeshift machete" }, + "description": "This is a large blade that has had a portion of the handle wrapped in duct tape, making it easier to wield as a rough machete.", + "weight": "581 g", + "volume": "2 L", + "price": 1000, + "price_postapoc": 250, + "bashing": 5, + "cutting": 16, + "color": "light_gray", + "techniques": [ "WBLOCK_1" ], + "qualities": [ [ "CUT", 1 ], [ "BUTCHER", -27 ] ], + "flags": [ "SHEATH_SWORD" ] + }, { "id": "machete_gimmick", "name": { "str": "machete multitool" }, "type": "TOOL", "category": "tools", + "weapon_category": [ "SHORT_SWORDS" ], "description": "A thin, wobbly steel blade with sawteeth on one side and a flat chisel tip for digging. A jack of many trades and a master of none.", "symbol": "/", "color": "green", @@ -371,6 +343,7 @@ "id": "cavalry_sabre", "type": "GENERIC", "category": "weapons", + "weapon_category": [ "1H_SWORDS", "MEDIEVAL_SWORDS" ], "name": { "str": "cavalry saber" }, "description": "This is a curved sword associated with cavalry from the Early Modern period onwards. Lightweight but a deadly slashing weapon.", "weight": "910 g", @@ -387,10 +360,26 @@ "qualities": [ [ "CUT", 1 ], [ "BUTCHER", 8 ] ], "flags": [ "DURABLE_MELEE", "SHEATH_SWORD" ] }, + { + "id": "cavalry_sabre_fake", + "type": "GENERIC", + "copy-from": "cavalry_sabre", + "name": { "str": "cavalry saber fake" }, + "description": "This is a dull, cheap replica of a curved sword associated with cavalry, from the Early Modern period onwards.", + "weight": "600 g", + "price": 9700, + "price_postapoc": 50, + "bashing": 9, + "cutting": 2, + "material": "aluminum", + "flags": [ "SHEATH_SWORD", "FRAGILE_MELEE" ], + "qualities": [ ] + }, { "id": "kris", "type": "GENERIC", "category": "weapons", + "weapon_category": [ "KNIVES" ], "name": { "str": "kris", "str_pl": "krises" }, "description": "This wavy bladed dagger comes from Southeast Asia. The design of the blade causes it to make broad, painful wounds.", "weight": "558 g", @@ -407,10 +396,25 @@ "qualities": [ [ "CUT", 1 ], [ "BUTCHER", 12 ] ], "flags": [ "STAB", "DURABLE_MELEE", "SHEATH_SWORD" ] }, + { + "id": "kris_fake", + "type": "GENERIC", + "copy-from": "kris", + "name": { "str": "kris fake" }, + "description": "This is a dull, cheap replica of a wavy bladed dagger that comes from Southeast Asia.", + "price": 3800, + "price_postapoc": 10, + "material": "aluminum", + "bashing": 2, + "cutting": 2, + "flags": [ "SHEATH_SWORD", "FRAGILE_MELEE" ], + "qualities": [ ] + }, { "id": "kukri", "type": "GENERIC", "category": "weapons", + "weapon_category": [ "KNIVES" ], "name": { "str": "kukri" }, "description": "This versatile implement is a modern take on a traditional weapon that originated in Nepal. Featuring a heavy blade with an inwardly curved edge, it is used as both a tool and as a weapon.", "weight": "450 g", @@ -430,6 +434,7 @@ "id": "jian", "type": "GENERIC", "category": "weapons", + "weapon_category": [ "1H_SWORDS" ], "symbol": "/", "color": "light_gray", "name": { "str_sp": "jian" }, @@ -449,46 +454,34 @@ { "id": "jian_inferior", "type": "GENERIC", - "category": "weapons", - "symbol": "/", - "color": "light_gray", + "copy-from": "jian", "name": { "str_sp": "jian replica" }, "description": "This is an ancient Chinese doubled-edged straight sword. The sword is quite worn, and bent at an odd angle.", - "price": 100000, "price_postapoc": 750, "material": "budget_steel", "flags": [ "SHEATH_SWORD" ], - "techniques": [ "WBLOCK_2" ], - "weight": "800 g", - "volume": "2 L", "bashing": 7, - "cutting": 24, - "to_hit": 2, - "qualities": [ [ "CUT", 1 ], [ "BUTCHER", 8 ] ] + "cutting": 24 }, { "id": "jian_fake", "type": "GENERIC", - "category": "weapons", - "symbol": "/", - "color": "light_gray", + "copy-from": "jian", "name": { "str_sp": "jian fake" }, "description": "This is a dull, cheaply made replica of an ancient Chinese doubled-edged straight sword, with an ornate guard.", "price": 10000, "price_postapoc": 50, "material": "aluminum", "flags": [ "SHEATH_SWORD", "FRAGILE_MELEE" ], - "techniques": [ "WBLOCK_2" ], "weight": "414 g", - "volume": "2 L", - "bashing": 8, "cutting": 2, - "to_hit": 2 + "qualities": [ ] }, { "id": "scimitar", "type": "GENERIC", "category": "weapons", + "weapon_category": [ "1H_SWORDS" ], "symbol": "/", "color": "light_gray", "name": { "str": "scimitar" }, @@ -508,50 +501,39 @@ { "id": "scimitar_inferior", "type": "GENERIC", - "category": "weapons", - "symbol": "/", - "color": "light_gray", + "copy-from": "scimitar", "name": { "str": "scimitar replica" }, "description": "This is a curved sword associated with various Middle Eastern and Central Asian countries. This one seems oddly dull and worn.", - "price": 93000, "price_postapoc": 500, "material": "budget_steel", - "techniques": [ "WBLOCK_2" ], "flags": [ "SHEATH_SWORD" ], - "weight": "1133 g", - "volume": "2 L", "bashing": 5, - "cutting": 24, - "to_hit": 1, - "qualities": [ [ "CUT", 1 ], [ "BUTCHER", 8 ] ] + "cutting": 24 }, { "id": "scimitar_fake", "type": "GENERIC", - "category": "weapons", - "symbol": "/", - "color": "light_gray", + "copy-from": "scimitar", "name": { "str": "scimitar fake" }, "description": "This is a dull, cheaply made replica of a curved sword, associated with various Middle Eastern and Central Asian countries.", "price": 9300, "price_postapoc": 50, "material": "aluminum", - "techniques": [ "WBLOCK_2" ], "flags": [ "SHEATH_SWORD", "FRAGILE_MELEE" ], "weight": "586 g", "volume": "2 L", - "bashing": 6, "cutting": 2, - "to_hit": 1 + "qualities": [ ] }, { "id": "estoc", "type": "GENERIC", "category": "weapons", + "weapon_category": [ "1H_SWORDS", "MEDIEVAL_SWORDS" ], "symbol": "/", "color": "light_gray", "name": { "str": "estoc" }, - "description": "This is a thin thrusting sword, a sort of predecessor to the rapier. It requires a larger baldric or scabbard, compared to smaller swords.", + "description": "This is a thin, edgeless thrusting sword, a sort of predecessor to the rapier. It requires a larger baldric or scabbard, compared to smaller swords.", "price": 135000, "price_postapoc": 5000, "material": "steel", @@ -561,42 +543,31 @@ "volume": "2750 ml", "bashing": 9, "cutting": 40, - "to_hit": 1, - "qualities": [ [ "CUT", 1 ], [ "BUTCHER", 8 ] ] + "to_hit": 1 }, { "id": "estoc_inferior", "type": "GENERIC", - "category": "weapons", - "symbol": "/", - "color": "light_gray", + "copy-from": "estoc", "name": { "str": "estoc replica" }, - "description": "This is a thin thrusting sword, a sort of predecessor to the rapier. It requires a larger baldric or scabbard, compared to smaller swords. It seems a bit too bendy.", - "price": 13500, + "description": "This is a thin, edgeless thrusting sword, a sort of predecessor to the rapier. It requires a larger baldric or scabbard, compared to smaller swords. It seems a bit too bendy.", "price_postapoc": 750, "material": "budget_steel", - "techniques": [ "WBLOCK_2", "PRECISE" ], - "flags": [ "SHEATH_SWORD" ], - "weight": "1814 g", - "volume": "2750 ml", + "flags": [ "STAB", "SHEATH_SWORD" ], "bashing": 29, "cutting": 10 }, { "id": "estoc_fake", "type": "GENERIC", - "category": "weapons", - "symbol": "/", - "color": "light_gray", + "copy-from": "estoc", "name": { "str": "estoc fake" }, - "description": "This is a dull, cheaply-made replica of a thin thrusting sword predating the rapier. It requires a larger baldric or scabbard, compared to smaller swords.", + "description": "This is a dull, cheaply-made replica of a thin, edgeless thrusting sword predating the rapier. It requires a larger baldric or scabbard, compared to smaller swords.", "price": 13500, "price_postapoc": 50, "material": "aluminum", - "techniques": [ "WBLOCK_2", "PRECISE" ], - "flags": [ "SHEATH_SWORD", "FRAGILE_MELEE" ], + "flags": [ "STAB", "SHEATH_SWORD", "FRAGILE_MELEE" ], "weight": "939 g", - "volume": "2750 ml", "bashing": 13, "cutting": 2, "to_hit": 2 @@ -605,6 +576,7 @@ "id": "longsword", "type": "GENERIC", "category": "weapons", + "weapon_category": [ "MEDIEVAL_SWORDS", "1H_SWORDS" ], "symbol": "/", "color": "light_gray", "name": { "str": "longsword" }, @@ -624,46 +596,36 @@ { "id": "longsword_inferior", "type": "GENERIC", - "category": "weapons", - "symbol": "/", - "color": "light_gray", + "copy-from": "longsword", "name": { "str": "longsword replica" }, "description": "This is a classic medieval sword, in between the lighter arming sword and later two-handed swords in size. You feel like the pommel could just snap off if you used it.", - "price": 130000, "price_postapoc": 750, "material": "budget_steel", "flags": [ "SHEATH_SWORD" ], - "techniques": [ "WBLOCK_2" ], - "weight": "1814 g", - "volume": "2750 ml", "bashing": 30, - "cutting": 9, - "to_hit": 2, - "qualities": [ [ "CUT", 1 ], [ "BUTCHER", 8 ] ] + "cutting": 9 }, { "id": "longsword_fake", "type": "GENERIC", - "category": "weapons", - "symbol": "/", - "color": "light_gray", + "copy-from": "longsword", "name": { "str": "longsword fake" }, "description": "This is a dull, cheaply-made replica of the classic medieval longsword. It requires a larger baldric or scabbard, compared to smaller swords.", "price": 13000, "price_postapoc": 100, "material": "aluminum", "flags": [ "SHEATH_SWORD", "FRAGILE_MELEE" ], - "techniques": [ "WBLOCK_2" ], "weight": "939 g", - "volume": "2750 ml", "bashing": 15, "cutting": 2, - "to_hit": 1 + "to_hit": 1, + "qualities": [ ] }, { "id": "arming_sword", "type": "GENERIC", "category": "weapons", + "weapon_category": [ "MEDIEVAL_SWORDS", "1H_SWORDS" ], "symbol": "/", "color": "light_gray", "name": { "str": "arming sword" }, @@ -680,12 +642,24 @@ "to_hit": 1, "qualities": [ [ "CUT", 1 ], [ "BUTCHER", 8 ] ] }, + { + "id": "arming_sword_inferior", + "type": "GENERIC", + "copy-from": "arming_sword", + "looks_like": "arming_sword", + "name": { "str": "arming sword replica" }, + "description": "This is a classic medieval sword, just the right size to use one-handed. This one doesn't seem to have been made right.", + "price_postapoc": 750, + "material": "budget_steel", + "flags": [ "SHEATH_SWORD" ], + "weight": "2721 g", + "bashing": 12, + "cutting": 25 + }, { "id": "arming_sword_fake", "type": "GENERIC", - "category": "weapons", - "symbol": "/", - "color": "light_gray", + "copy-from": "arming_sword", "looks_like": "arming_sword", "name": { "str": "arming sword fake" }, "description": "This is a dull, cheaply made replica of a classic medieval sword, just the right size to use one-handed.", @@ -693,38 +667,16 @@ "price_postapoc": 50, "material": "aluminum", "flags": [ "SHEATH_SWORD", "FRAGILE_MELEE" ], - "techniques": [ "WBLOCK_2" ], "weight": "704 g", - "volume": "2 L", - "bashing": 14, "cutting": 2, - "to_hit": 2 - }, - { - "id": "arming_sword_inferior", - "type": "GENERIC", - "category": "weapons", - "symbol": "/", - "color": "light_gray", - "looks_like": "arming_sword", - "name": { "str": "arming sword replica" }, - "description": "This is a classic medieval sword, just the right size to use one-handed. This one doesn't seem to have been made right.", - "price": 100000, - "price_postapoc": 250, - "material": "budget_steel", - "flags": [ "SHEATH_SWORD" ], - "techniques": [ "WBLOCK_2" ], - "weight": "2721 g", - "volume": "2 L", - "bashing": 12, - "cutting": 25, - "to_hit": 1, - "qualities": [ [ "CUT", 1 ], [ "BUTCHER", 8 ] ] + "to_hit": 2, + "qualities": [ ] }, { "id": "sword_xiphos", "type": "GENERIC", "category": "weapons", + "weapon_category": [ "SHORT_SWORDS" ], "name": { "str": "xiphos", "str_pl": "xiphoses" }, "description": "A bronze sword of ancient Greek origin, wielded as a sidearm to the dory spear.", "weight": "800 g", @@ -745,6 +697,7 @@ "id": "khopesh", "type": "GENERIC", "category": "weapons", + "weapon_category": [ "1H_SWORDS" ], "name": { "str": "khopesh", "str_pl": "khopeshes" }, "description": "This ancient bronze weapon features a curved, sickle-like blade sharpened on the outside edge. Associated with the New Kingdom period of Ancient Egypt, it was designed mainly to hack through the light armor common to the region.", "weight": "750 g", @@ -765,6 +718,7 @@ "id": "dao", "type": "GENERIC", "category": "weapons", + "weapon_category": [ "1H_SWORDS" ], "name": { "str_sp": "dao" }, "description": "An ancient Chinese sword consisting of a curved blade and a guard with a cupped design. Existing since the Shang dynasty, this one is made of bronze. One of the four major weapons in folklore, alongside the jian sword, qiang spear, and gun staff.", "weight": "850 g", @@ -784,6 +738,7 @@ "id": "survivor_machete", "type": "GENERIC", "category": "weapons", + "weapon_category": [ "SHORT_SWORDS" ], "name": { "str": "survivor machete" }, "description": "This common gardening tool has been customized and rebalanced to improve its performance as a weapon.", "weight": "565 g", @@ -804,6 +759,7 @@ "id": "sword_bayonet", "type": "GENERIC", "category": "weapons", + "weapon_category": [ "KNIVES" ], "name": { "str": "sword bayonet" }, "description": "A sword bayonet is a large slashing weapon that can be attached to the front of a firearm or crossbow converting it into a pike.", "weight": "923 g", @@ -838,6 +794,7 @@ "id": "tanto", "type": "GENERIC", "category": "weapons", + "weapon_category": [ "KNIVES" ], "name": { "str": "tanto" }, "description": "Long Japanese knives like this more-modern remake were the samurai's backup weapon, before the advent of the larger wakizashi. It's still a deadly blade, even if it's smaller than its more famous relatives.", "weight": "558 g", @@ -854,10 +811,41 @@ "qualities": [ [ "CUT", 1 ], [ "CUT_FINE", 1 ], [ "BUTCHER", 18 ] ], "flags": [ "STAB", "DURABLE_MELEE", "SHEATH_KNIFE" ] }, + { + "id": "tanto_inferior", + "type": "GENERIC", + "copy-from": "tanto", + "name": { "str": "tanto replica" }, + "description": "Long Japanese knives like this more-modern remake were the samurai's backup weapon, before the advent of the larger wakizashi. This one doesn't feel well-balanced", + "looks_like": "tanto", + "weight": "374 g", + "price_postapoc": 25, + "cutting": 12, + "material": "budget_steel", + "qualities": [ [ "CUT", 1 ], [ "CUT_FINE", 1 ], [ "BUTCHER", 7 ] ], + "flags": [ "STAB", "SHEATH_KNIFE" ] + }, + { + "id": "tanto_fake", + "type": "GENERIC", + "copy-from": "tanto", + "name": { "str": "tanto fake" }, + "description": "This is a dull, cheaply made replica of a long Japanese knife, typically used as a samurai's backup weapon.", + "looks_like": "tanto", + "weight": "374 g", + "price": 1800, + "price_postapoc": 10, + "to_hit": 1, + "cutting": 7, + "material": "aluminum", + "qualities": [ [ "CUT", 1 ], [ "BUTCHER", 5 ] ], + "flags": [ "STAB", "SHEATH_KNIFE", "FRAGILE_MELEE" ] + }, { "id": "wakizashi", "type": "GENERIC", "category": "weapons", + "weapon_category": [ "SHORT_SWORDS", "JAPANESE_SWORDS" ], "name": { "str_sp": "wakizashi" }, "description": "This is a comparatively-common Japanese short sword. Smaller and lighter than a katana, but still effective in combat.", "weight": "835 g", @@ -874,10 +862,39 @@ "qualities": [ [ "CUT", 1 ], [ "BUTCHER", 13 ] ], "flags": [ "DURABLE_MELEE", "SHEATH_SWORD" ] }, + { + "id": "wakizashi_inferior", + "type": "GENERIC", + "copy-from": "wakizashi", + "name": { "str": "wakizashi replica" }, + "description": "This is a comparatively-common Japanese short sword. There's something not quite right about this sword.", + "price": 17800, + "price_postapoc": 500, + "material": "budget_steel", + "flags": [ "SHEATH_SWORD" ], + "bashing": 17, + "cutting": 7 + }, + { + "id": "wakizashi_fake", + "type": "GENERIC", + "copy-from": "wakizashi", + "name": { "str": "wakizashi fake" }, + "description": "This is a dull, cheap replica of the more common wakizashi. Smaller and lighter than a katana, but still effective in combat.", + "price": 7800, + "price_postapoc": 50, + "material": "aluminum", + "flags": [ "SHEATH_SWORD", "FRAGILE_MELEE" ], + "weight": "557 g", + "bashing": 8, + "cutting": 2, + "qualities": [ ] + }, { "id": "zweihander", "type": "GENERIC", "category": "weapons", + "weapon_category": [ "2H_SWORDS", "MEDIEVAL_SWORDS" ], "name": { "str": "zweihaender" }, "description": "This is a huge two-handed sword from Germany. It packs a real wallop.", "weight": "3176 g", @@ -895,12 +912,40 @@ "flags": [ "DURABLE_MELEE", "SHEATH_SWORD", "ALWAYS_TWOHAND" ] }, { - "id": "kirpan", + "id": "zweihander_inferior", "type": "GENERIC", - "category": "weapons", - "name": { "str": "kirpan" }, - "description": "A ceremonial dagger carried by Sikh men. This one is sharp and could be an effective weapon.", - "looks_like": "kukri", + "copy-from": "zweihander", + "name": { "str": "zweihaender replica" }, + "description": "This is a huge two-handed sword from Germany. You're not quite sure it's supposed to be that bendy.", + "price_postapoc": 750, + "material": "budget_steel", + "flags": [ "SHEATH_SWORD", "ALWAYS_TWOHAND" ], + "bashing": 38, + "cutting": 10 + }, + { + "id": "zweihander_fake", + "type": "GENERIC", + "copy-from": "zweihander", + "name": { "str": "zweihaender fake" }, + "description": "This is a dull, cheaply made replica of a huge two-handed sword from Germany. It still packs a wallop.", + "price": 8000, + "price_postapoc": 50, + "material": "aluminum", + "flags": [ "SHEATH_SWORD", "ALWAYS_TWOHAND", "FRAGILE_MELEE" ], + "bashing": 19, + "cutting": 3, + "to_hit": 1, + "qualities": [ ] + }, + { + "id": "kirpan", + "type": "GENERIC", + "category": "weapons", + "weapon_category": [ "KNIVES" ], + "name": { "str": "kirpan" }, + "description": "A ceremonial dagger carried by Sikh men. This one is sharp and could be an effective weapon.", + "looks_like": "kukri", "weight": "374 g", "volume": "500 ml", "price": 1800, @@ -918,69 +963,21 @@ { "id": "kirpan_cheap", "type": "GENERIC", - "category": "weapons", + "copy-from": "kirpan", "name": { "str": "kirpan replica" }, "description": "A ceremonial dagger carried by Sikh men. This one is not particularly well-made.", "looks_like": "kirpan", - "weight": "374 g", - "volume": "500 ml", "price": 900, "price_postapoc": 50, - "bashing": 1, "cutting": 9, "material": "budget_steel", - "symbol": "/", - "color": "dark_gray", - "techniques": "RAPID", - "qualities": [ [ "CUT", 1 ], [ "BUTCHER", 4 ] ], - "flags": [ "STAB", "SHEATH_KNIFE" ] - }, - { - "id": "tanto_fake", - "type": "GENERIC", - "category": "weapons", - "name": { "str": "tanto fake" }, - "description": "This is a dull, cheaply made replica of a long Japanese knife, typically used as a samurai's backup weapon.", - "weight": "374 g", - "volume": "500 ml", - "price": 1800, - "price_postapoc": 10, - "to_hit": 1, - "bashing": 1, - "cutting": 7, - "material": "aluminum", - "symbol": "/", - "color": "dark_gray", - "looks_like": "tanto", - "techniques": "RAPID", - "qualities": [ [ "CUT", 1 ], [ "BUTCHER", 5 ] ], - "flags": [ "STAB", "SHEATH_KNIFE", "FRAGILE_MELEE" ] - }, - { - "id": "tanto_inferior", - "type": "GENERIC", - "category": "weapons", - "name": { "str": "tanto replica" }, - "description": "Long Japanese knives like this more-modern remake were the samurai's backup weapon, before the advent of the larger wakizashi. This one doesn't feel well-balanced", - "weight": "3 g", - "volume": "500 ml", - "price": 18000, - "price_postapoc": 25, - "to_hit": 2, - "bashing": 1, - "cutting": 12, - "material": "budget_steel", - "symbol": "/", - "color": "dark_gray", - "looks_like": "tanto", - "techniques": "RAPID", - "qualities": [ [ "CUT", 1 ], [ "CUT_FINE", 1 ], [ "BUTCHER", 7 ] ], - "flags": [ "STAB", "SHEATH_KNIFE" ] + "qualities": [ [ "CUT", 1 ], [ "BUTCHER", 4 ] ] }, { "id": "nodachi", "type": "GENERIC", "category": "weapons", + "weapon_category": [ "2H_SWORDS", "JAPANESE_SWORDS" ], "name": { "str_sp": "nodachi" }, "description": "This is a huge, curved, two-handed sword from Japan. It is surprisingly light for its size.", "weight": "2822 g", @@ -997,12 +994,25 @@ "qualities": [ [ "CUT", 1 ], [ "BUTCHER", 10 ] ], "flags": [ "DURABLE_MELEE", "SHEATH_SWORD", "ALWAYS_TWOHAND" ] }, + { + "id": "nodachi_inferior", + "type": "GENERIC", + "copy-from": "nodachi", + "name": { "str": "nodachi replica" }, + "description": "This is a huge, curved, two-handed sword from Japan. It is surprisingly light for its size, but also much bendier than a sword should be.", + "price": 15000, + "price_postapoc": 500, + "material": "budget_steel", + "flags": [ "SHEATH_SWORD", "ALWAYS_TWOHAND" ], + "techniques": [ "WBLOCK_1", "RAPID", "WIDE" ], + "weight": "1882 g", + "bashing": 30, + "cutting": 12 + }, { "id": "nodachi_fake", "type": "GENERIC", - "category": "weapons", - "symbol": "/", - "color": "light_gray", + "copy-from": "nodachi", "name": { "str": "nodachi fake" }, "description": "This is a dull, cheaply made replica of a huge, curved, two-handed sword from Japan. It is surprisingly light for its size.", "price": 15000, @@ -1011,34 +1021,16 @@ "flags": [ "SHEATH_SWORD", "ALWAYS_TWOHAND", "FRAGILE_MELEE" ], "techniques": [ "WBLOCK_1", "RAPID", "WIDE" ], "weight": "1882 g", - "volume": "3250 ml", + "to_hit": 1, "bashing": 15, "cutting": 3, - "to_hit": 2 - }, - { - "id": "nodachi_inferior", - "type": "GENERIC", - "category": "weapons", - "symbol": "/", - "color": "light_gray", - "name": { "str": "nodachi replica" }, - "description": "This is a huge, curved, two-handed sword from Japan. It is surprisingly light for its size, but also much bendier than a sword should be.", - "price": 15000, - "price_postapoc": 500, - "material": "budget_steel", - "flags": [ "SHEATH_SWORD", "ALWAYS_TWOHAND" ], - "techniques": [ "WBLOCK_1", "RAPID", "WIDE" ], - "weight": "1882 g", - "volume": "3250 ml", - "bashing": 30, - "cutting": 12, - "to_hit": 1 + "qualities": [ ] }, { "id": "fencing_foil", "type": "GENERIC", "category": "weapons", + "weapon_category": [ "DUELING_SWORDS" ], "symbol": "/", "color": "light_gray", "name": { "str": "fencing foil" }, @@ -1053,42 +1045,6 @@ "techniques": [ "PRECISE", "RAPID", "WBLOCK_2" ], "flags": [ "STAB", "SHEATH_SWORD" ] }, - { - "id": "fencing_epee", - "type": "GENERIC", - "category": "weapons", - "symbol": "/", - "color": "light_gray", - "name": { "str": "fencing épée" }, - "description": "A weapon used for fencing, the most noble of all sports. The épée is the heaviest and stiffest of the fencing weapons, and therefore perhaps the most useful.", - "price": 2000, - "price_postapoc": 10, - "material": "steel", - "weight": "650 g", - "volume": "1250 ml", - "bashing": 3, - "cutting": 7, - "techniques": [ "PRECISE", "RAPID", "WBLOCK_2" ], - "flags": [ "STAB", "SHEATH_SWORD" ] - }, - { - "id": "fencing_sabre", - "type": "GENERIC", - "category": "weapons", - "symbol": "/", - "color": "light_gray", - "name": { "str": "fencing saber" }, - "description": "A weapon used for fencing, the most noble of all sports. The fencing saber is marginally shorter than the foil and épée, but no less effective.", - "price": 2000, - "price_postapoc": 10, - "material": "steel", - "weight": "400 g", - "volume": "1250 ml", - "bashing": 1, - "cutting": 6, - "techniques": [ "PRECISE", "RAPID", "WBLOCK_2" ], - "flags": [ "STAB", "SHEATH_SWORD" ] - }, { "id": "fencing_foil_sharpened", "type": "GENERIC", @@ -1098,24 +1054,6 @@ "description": "This once mostly harmless fencing foil has had its electrical plunger assembly removed and has been crudely sharpened to a point. Though it still lacks a cutting edge, it is now somewhat more lethal, yet still familiar to the practiced fencer.", "relative": { "weight": -25, "cutting": 2 } }, - { - "id": "fencing_epee_sharpened", - "type": "GENERIC", - "copy-from": "fencing_epee", - "looks_like": "fencing_epee", - "name": { "str": "sharpened épée" }, - "description": "This once mostly harmless fencing épée has had its electrical plunger assembly removed and has been crudely sharpened to a point. Though it still lacks a cutting edge, it is now considerably more lethal, yet still familiar to the practiced fencer.", - "relative": { "weight": -35, "cutting": 5 } - }, - { - "id": "fencing_sabre_sharpened", - "type": "GENERIC", - "copy-from": "fencing_sabre", - "looks_like": "fencing_sabre", - "name": { "str": "sharpened saber" }, - "description": "This once mostly harmless fencing saber has had its rounded tip snapped off and has been crudely sharpened to a point. Though it still lacks a cutting edge, it is now considerably more lethal, yet still familiar to the practiced fencer.", - "relative": { "weight": -10, "cutting": 5 } - }, { "id": "shock_foil", "type": "TOOL", @@ -1136,6 +1074,25 @@ ], "magazine_well": "500 ml" }, + { + "id": "fencing_epee", + "type": "GENERIC", + "copy-from": "fencing_foil", + "name": { "str": "fencing épée" }, + "description": "A weapon used for fencing, the most noble of all sports. The épée is the heaviest and stiffest of the fencing weapons, and therefore perhaps the most useful.", + "weight": "650 g", + "bashing": 3, + "cutting": 7 + }, + { + "id": "fencing_epee_sharpened", + "type": "GENERIC", + "copy-from": "fencing_epee", + "looks_like": "fencing_epee", + "name": { "str": "sharpened épée" }, + "description": "This once mostly harmless fencing épée has had its electrical plunger assembly removed and has been crudely sharpened to a point. Though it still lacks a cutting edge, it is now considerably more lethal, yet still familiar to the practiced fencer.", + "relative": { "weight": -35, "cutting": 5 } + }, { "id": "shock_epee", "type": "TOOL", @@ -1157,6 +1114,24 @@ ], "magazine_well": "500 ml" }, + { + "id": "fencing_sabre", + "type": "GENERIC", + "copy-from": "fencing_foil", + "name": { "str": "fencing saber" }, + "description": "A weapon used for fencing, the most noble of all sports. The fencing saber is marginally shorter than the foil and épée, but no less effective.", + "weight": "400 g", + "cutting": 6 + }, + { + "id": "fencing_sabre_sharpened", + "type": "GENERIC", + "copy-from": "fencing_sabre", + "looks_like": "fencing_sabre", + "name": { "str": "sharpened saber" }, + "description": "This once mostly harmless fencing saber has had its rounded tip snapped off and has been crudely sharpened to a point. Though it still lacks a cutting edge, it is now considerably more lethal, yet still familiar to the practiced fencer.", + "relative": { "weight": -10, "cutting": 5 } + }, { "id": "shock_sabre", "type": "TOOL", @@ -1178,35 +1153,11 @@ ], "magazine_well": "500 ml" }, - { - "id": "hollow_cane", - "type": "GENERIC", - "category": "weapons", - "symbol": "/", - "color": "brown", - "name": { "str": "hollow cane" }, - "description": "A cane designed to conceal blade. This was a popular fashion accessory for the wealthy during the 18th and 19th centuries.", - "price": 2000, - "price_postapoc": 750, - "material": [ "wood" ], - "weight": "200 g", - "volume": "1531 ml", - "bashing": 3, - "looks_like": "cane", - "use_action": { - "type": "holster", - "holster_prompt": "Sheath sword", - "holster_msg": "You sheath your %s", - "max_volume": "1531 ml", - "draw_cost": 80, - "flags": [ "SHEATH_SWORD" ] - }, - "techniques": [ "PRECISE", "RAPID", "WBLOCK_2" ] - }, { "id": "sword_cane", "type": "GENERIC", "category": "weapons", + "weapon_category": [ "DUELING_SWORDS" ], "symbol": "/", "color": "light_gray", "name": { "str": "sword cane" }, @@ -1226,6 +1177,7 @@ "id": "broadsword", "type": "GENERIC", "category": "weapons", + "weapon_category": [ "1H_SWORDS", "MEDIEVAL_SWORDS" ], "name": { "str": "broadsword" }, "description": "This is an early modern sword seeing use in the 16th, 17th, and 18th centuries. Called 'broad' to contrast with the slimmer rapiers.", "weight": "1133 g", @@ -1245,65 +1197,35 @@ { "id": "broadsword_inferior", "type": "GENERIC", - "category": "weapons", - "symbol": "/", - "color": "light_gray", + "copy-from": "broadsword", "name": { "str": "broadsword replica" }, "description": "This is an early modern sword seeing use in the 16th, 17th, and 18th centuries. This sword appears to be made very poorly, but it should still stand up to a few swings.", - "price": 120000, "price_postapoc": 750, "material": "budget_steel", "flags": [ "SHEATH_SWORD" ], - "techniques": "WBLOCK_2", - "weight": "1133 g", - "volume": "1750 ml", "bashing": 7, - "cutting": 29, - "to_hit": 2, - "qualities": [ [ "CUT", 1 ], [ "BUTCHER", 9 ] ] + "cutting": 29 }, { - "id": "cutlass_fake", + "id": "broadsword_fake", "type": "GENERIC", - "category": "weapons", - "symbol": "/", - "color": "dark_gray", - "name": { "str": "cutlass fake" }, - "description": "This is a dull, cheaply made replica of a broad saber known for its use by sailors and pirates.", - "price": 9600, + "copy-from": "broadsword", + "name": { "str": "broadsword fake" }, + "description": "This is a dull, cheaply made replica of an early modern sword seeing use in the 16th, 17th, and 18th centuries. Called 'broad' to contrast with the slimmer rapiers.", + "price": 12000, "price_postapoc": 50, "material": "aluminum", - "techniques": "WBLOCK_2", "flags": [ "SHEATH_SWORD", "FRAGILE_MELEE" ], - "weight": "634 g", - "volume": "1750 ml", - "bashing": 12, - "cutting": 1, + "weight": "753 g", + "bashing": 10, + "cutting": 2, "to_hit": 1 }, - { - "id": "cutlass_inferior", - "type": "GENERIC", - "category": "weapons", - "symbol": "/", - "color": "dark_gray", - "name": { "str": "cutlass replica" }, - "description": "This is a broad saber known for its use by sailors and pirates. This sword appears to be made very poorly, but it should still stand up to a few swings.", - "price": 96000, - "price_postapoc": 500, - "material": "budget_steel", - "techniques": "WBLOCK_2", - "weight": "955 g", - "volume": "1250 ml", - "bashing": 23, - "cutting": 7, - "flags": [ "SHEATH_SWORD" ], - "qualities": [ [ "CUT", 1 ], [ "BUTCHER", 9 ] ] - }, { "id": "rapier", "type": "GENERIC", "category": "weapons", + "weapon_category": [ "DUELING_SWORDS" ], "name": { "str": "rapier" }, "description": "This is a thin sword with an ornate hand guard. It looks like the preferred weapon of gentlemen and swashbucklers. Light and quick, it makes any battle a stylish battle.", "weight": "1000 g", @@ -1320,17 +1242,33 @@ "qualities": [ [ "CUT", 1 ], [ "BUTCHER", 9 ] ], "flags": [ "STAB", "DURABLE_MELEE", "SHEATH_SWORD" ] }, + { + "id": "rapier_fake", + "type": "GENERIC", + "copy-from": "rapier", + "name": { "str": "rapier fake" }, + "description": "This is a blunted, cheap replica of a thin sword with an ornate hand guard. It looks like the preferred weapon of gentlemen and swashbucklers. Light and quick, it makes any battle a stylish battle.", + "price": 9800, + "price_postapoc": 50, + "material": "aluminum", + "flags": [ "STAB", "SHEATH_SWORD", "FRAGILE_MELEE" ], + "weight": "660 g", + "bashing": 4, + "cutting": 2, + "to_hit": 1 + }, { "id": "katana", "type": "GENERIC", "category": "weapons", + "weapon_category": [ "1H_SWORDS", "JAPANESE_SWORDS" ], "name": { "str": "katana" }, "description": "This is a rare sword from Japan. Deadly against unarmored targets, and still very effective against armor.", "weight": "1133 g", "volume": "2 L", "price": 98000, "price_postapoc": 4500, - "to_hit": 1, + "to_hit": 2, "bashing": 5, "cutting": 34, "material": "steel", @@ -1340,203 +1278,40 @@ "qualities": [ [ "CUT", 1 ], [ "BUTCHER", 9 ] ], "flags": [ "DURABLE_MELEE", "SHEATH_SWORD" ] }, - { - "id": "katana_fake", - "type": "GENERIC", - "category": "weapons", - "symbol": "/", - "color": "light_gray", - "name": { "str": "katana fake" }, - "description": "This is a dull, cheaply made replica of a rare sword from Japan.", - "price": 5000, - "price_postapoc": 50, - "material": "aluminum", - "techniques": [ "RAPID", "WBLOCK_2" ], - "flags": [ "SHEATH_SWORD", "FRAGILE_MELEE" ], - "weight": "753 g", - "volume": "2 L", - "bashing": 11, - "cutting": 2, - "to_hit": 2 - }, { "id": "katana_inferior", "type": "GENERIC", - "category": "weapons", - "symbol": "/", - "color": "light_gray", + "copy-from": "katana", "name": { "str": "katana replica" }, "description": "This is a rare sword from Japan. While it's got the right edge and weight, the pommel just snaps off, and the blade seems pretty worn.", "price": 98000, "price_postapoc": 250, "material": "budget_steel", - "techniques": [ "RAPID", "WBLOCK_2" ], "flags": [ "SHEATH_SWORD" ], - "weight": "1133 g", - "volume": "2 L", "bashing": 22, - "cutting": 9, - "to_hit": 2, - "qualities": [ [ "CUT", 1 ], [ "BUTCHER", 9 ] ] + "cutting": 9 }, { - "id": "zweihander_fake", - "type": "GENERIC", - "category": "weapons", - "symbol": "/", - "color": "light_gray", - "name": { "str": "zweihaender fake" }, - "description": "This is a dull, cheaply made replica of a huge two-handed sword from Germany. It still packs a wallop.", - "price": 8000, - "price_postapoc": 50, - "material": "aluminum", - "flags": [ "SHEATH_SWORD", "ALWAYS_TWOHAND", "FRAGILE_MELEE" ], - "techniques": [ "WBLOCK_1", "WIDE", "BRUTAL", "SWEEP" ], - "weight": "3176 g", - "volume": "3250 ml", - "bashing": 19, - "cutting": 3, - "to_hit": 2 - }, - { - "id": "zweihander_inferior", - "type": "GENERIC", - "category": "weapons", - "symbol": "/", - "color": "light_gray", - "name": { "str": "zweihaender replica" }, - "description": "This is a huge two-handed sword from Germany. You're not quite sure it's supposed to be that bendy.", - "price": 160000, - "price_postapoc": 750, - "material": "budget_steel", - "flags": [ "SHEATH_SWORD", "ALWAYS_TWOHAND" ], - "techniques": [ "WBLOCK_1", "WIDE", "BRUTAL", "SWEEP" ], - "weight": "3176 g", - "volume": "3250 ml", - "bashing": 38, - "cutting": 10, - "to_hit": 1, - "qualities": [ [ "CUT", 1 ], [ "BUTCHER", 4 ] ] - }, - { - "id": "broadsword_fake", + "id": "katana_fake", "type": "GENERIC", - "category": "weapons", - "symbol": "/", - "color": "light_gray", - "name": { "str": "broadsword fake" }, - "description": "This is a dull, cheaply made replica of an early modern sword seeing use in the 16th, 17th, and 18th centuries. Called 'broad' to contrast with the slimmer rapiers.", - "price": 12000, + "copy-from": "katana", + "name": { "str": "katana fake" }, + "description": "This is a dull, cheaply made replica of a rare sword from Japan.", + "price": 5000, "price_postapoc": 50, "material": "aluminum", "flags": [ "SHEATH_SWORD", "FRAGILE_MELEE" ], - "techniques": "WBLOCK_2", "weight": "753 g", - "volume": "1750 ml", - "bashing": 10, - "cutting": 2, - "to_hit": 2 - }, - { - "id": "cavalry_sabre_fake", - "type": "GENERIC", - "category": "weapons", - "name": { "str": "cavalry saber fake" }, - "description": "This is a dull, cheap replica of a curved sword associated with cavalry, from the Early Modern period onwards.", - "weight": "600 g", - "volume": "1250 ml", - "price": 9700, - "price_postapoc": 50, - "to_hit": 1, - "bashing": 9, - "cutting": 2, - "material": "aluminum", - "symbol": "/", - "color": "dark_gray", - "techniques": [ "WBLOCK_2", "RAPID" ], - "flags": [ "SHEATH_SWORD", "FRAGILE_MELEE" ] - }, - { - "id": "rapier_fake", - "type": "GENERIC", - "category": "weapons", - "symbol": "/", - "color": "light_gray", - "name": { "str": "rapier fake" }, - "description": "This is a blunted, cheap replica of a thin sword with an ornate hand guard. It looks like the preferred weapon of gentlemen and swashbucklers. Light and quick, it makes any battle a stylish battle.", - "price": 9800, - "price_postapoc": 50, - "material": "aluminum", - "techniques": [ "RAPID", "WBLOCK_2", "PRECISE" ], - "flags": [ "SHEATH_SWORD", "FRAGILE_MELEE" ], - "weight": "660 g", - "volume": "1500 ml", - "bashing": 4, - "cutting": 2, - "to_hit": 2 - }, - { - "id": "wakizashi_fake", - "type": "GENERIC", - "category": "weapons", - "symbol": "/", - "color": "light_gray", - "name": { "str": "wakizashi fake" }, - "description": "This is a dull, cheap replica of the more common wakizashi. Smaller and lighter than a katana, but still effective in combat.", - "price": 7800, - "price_postapoc": 50, - "material": "aluminum", - "techniques": [ "RAPID", "WBLOCK_2" ], - "flags": [ "SHEATH_SWORD", "FRAGILE_MELEE" ], - "weight": "557 g", - "volume": "1500 ml", - "bashing": 8, + "bashing": 11, "cutting": 2, - "to_hit": 1 - }, - { - "id": "wakizashi_inferior", - "type": "GENERIC", - "category": "weapons", - "symbol": "/", - "color": "light_gray", - "name": { "str": "wakizashi replica" }, - "description": "This is a comparatively-common Japanese short sword. There's something not quite right about this sword.", - "price": 17800, - "price_postapoc": 500, - "material": "budget_steel", - "techniques": [ "RAPID", "WBLOCK_2" ], - "flags": [ "SHEATH_SWORD" ], - "weight": "835 g", - "volume": "1500 ml", - "bashing": 17, - "cutting": 7, "to_hit": 1, - "qualities": [ [ "CUT", 1 ], [ "BUTCHER", 13 ] ] - }, - { - "id": "kris_fake", - "type": "GENERIC", - "category": "weapons", - "symbol": "/", - "color": "dark_gray", - "name": { "str": "kris fake" }, - "description": "This is a dull, cheap replica of a wavy bladed dagger that comes from Southeast Asia.", - "price": 3800, - "price_postapoc": 10, - "material": "aluminum", - "techniques": [ "WBLOCK_1", "RAPID" ], - "weight": "558 g", - "volume": "750 ml", - "bashing": 2, - "cutting": 2, - "flags": [ "SHEATH_SWORD", "FRAGILE_MELEE" ], - "to_hit": 1 + "qualities": [ ] }, { "id": "butterfly_swords", "type": "GENERIC", "category": "weapons", + "weapon_category": [ "KNIVES" ], "symbol": "/", "color": "light_gray", "name": { "str": "pair of butterfly swords", "str_pl": "pairs of butterfly swords" }, @@ -1640,6 +1415,7 @@ "id": "cutlass", "type": "GENERIC", "category": "weapons", + "weapon_category": [ "SHORT_SWORDS", "MEDIEVAL_SWORDS" ], "name": { "str": "cutlass", "str_pl": "cutlasses" }, "description": "This is a broad saber known for its use by sailors and pirates, as its short blade is easy to handle in close quarters.", "weight": "955 g", @@ -1656,6 +1432,54 @@ "qualities": [ [ "CUT", 1 ], [ "BUTCHER", 9 ] ], "flags": [ "DURABLE_MELEE", "SHEATH_SWORD" ] }, + { + "id": "cutlass_inferior", + "type": "GENERIC", + "copy-from": "cutlass", + "name": { "str": "cutlass replica" }, + "description": "This is a broad saber known for its use by sailors and pirates. This sword appears to be made very poorly, but it should still stand up to a few swings.", + "price_postapoc": 750, + "material": "budget_steel", + "bashing": 23, + "cutting": 7, + "flags": [ "SHEATH_SWORD" ] + }, + { + "id": "cutlass_fake", + "type": "GENERIC", + "copy-from": "cutlass", + "name": { "str": "cutlass fake" }, + "description": "This is a dull, cheaply made replica of a broad saber known for its use by sailors and pirates.", + "price": 9600, + "price_postapoc": 50, + "material": "aluminum", + "flags": [ "SHEATH_SWORD", "FRAGILE_MELEE" ], + "weight": "634 g", + "bashing": 12, + "cutting": 1, + "to_hit": 1, + "qualities": [ ] + }, + { + "//": "Id retained to avoid breaking anything, same reason as with the makeshift glaive.", + "id": "glass_macuahuitl", + "type": "GENERIC", + "category": "weapons", + "weapon_category": [ "1H_SWORDS" ], + "name": { "str": "makeshift macuahuitl" }, + "description": "A flat wooden club with sharpened pieces of stone sticking to both of its sides.", + "weight": "955 g", + "to_hit": 1, + "price_postapoc": 250, + "color": "dark_gray", + "symbol": "/", + "material": [ "wood", "stone" ], + "techniques": [ "WBLOCK_1" ], + "volume": "2250 ml", + "bashing": 7, + "cutting": 14, + "price": 5900 + }, { "type": "GENERIC", "category": "weapons", diff --git a/data/json/items/melee/unarmed_weapons.json b/data/json/items/melee/unarmed_weapons.json index 1791cfdef57e..c32dd7f0da38 100644 --- a/data/json/items/melee/unarmed_weapons.json +++ b/data/json/items/melee/unarmed_weapons.json @@ -1,8 +1,9 @@ [ { + "id": "bagh_nakha", "type": "GENERIC", "category": "weapons", - "id": "bagh_nakha", + "weapon_category": [ "FIST_WEAPONS" ], "name": { "str_sp": "tiger claws" }, "description": "Also called bagh nakha or iron paw, this is a small claw-like bladed weapon from India designed to be concealed under and against the palm.", "weight": "92 g", @@ -17,9 +18,10 @@ "qualities": [ [ "CUT", 1 ], [ "BUTCHER", 14 ] ] }, { + "id": "cestus", "type": "GENERIC", "category": "weapons", - "id": "cestus", + "weapon_category": [ "FIST_WEAPONS" ], "symbol": "3", "color": "light_gray", "name": { "str": "cestus", "str_pl": "cestuses" }, @@ -32,9 +34,10 @@ "flags": [ "UNARMED_WEAPON", "DURABLE_MELEE", "NONCONDUCTIVE" ] }, { + "id": "knuckle_brass", "type": "GENERIC", "category": "weapons", - "id": "knuckle_brass", + "weapon_category": [ "FIST_WEAPONS" ], "symbol": "3", "color": "yellow", "name": { "str": "pair of brass knuckles", "str_pl": "pairs of brass knuckles" }, @@ -46,9 +49,10 @@ "flags": [ "UNARMED_WEAPON", "DURABLE_MELEE" ] }, { + "id": "knuckle_katar", "type": "GENERIC", "category": "weapons", - "id": "knuckle_katar", + "weapon_category": [ "FIST_WEAPONS" ], "symbol": "!", "color": "dark_gray", "name": { "str": "razorbar katar" }, @@ -64,9 +68,10 @@ "techniques": [ "WBLOCK_1" ] }, { + "id": "knuckle_nail", "type": "GENERIC", "category": "weapons", - "id": "knuckle_nail", + "weapon_category": [ "FIST_WEAPONS" ], "symbol": "]", "color": "brown", "name": { "str": "pair of nail knuckles", "str_pl": "pairs of nail knuckles" }, @@ -80,9 +85,10 @@ "flags": [ "UNARMED_WEAPON" ] }, { + "id": "knuckle_steel", "type": "GENERIC", "category": "weapons", - "id": "knuckle_steel", + "weapon_category": [ "FIST_WEAPONS" ], "symbol": "3", "color": "dark_gray", "name": { "str": "pair of steel knuckles", "str_pl": "pairs of steel knuckles" }, @@ -96,9 +102,10 @@ "flags": [ "UNARMED_WEAPON" ] }, { + "id": "punch_dagger", "type": "GENERIC", "category": "weapons", - "id": "punch_dagger", + "weapon_category": [ "FIST_WEAPONS" ], "name": { "str": "punch dagger" }, "description": "A short and sharp double-edged dagger made to be gripped in the palm, with the blade protruding between the fingers.", "weight": "168 g", diff --git a/data/json/items/ranged/crossbows.json b/data/json/items/ranged/crossbows.json index 55ad458b7e9e..923d7925f486 100644 --- a/data/json/items/ranged/crossbows.json +++ b/data/json/items/ranged/crossbows.json @@ -272,17 +272,14 @@ }, { "id": "bullet_crossbow", + "copy-from": "xbow_base", "type": "GUN", - "reload_noise_volume": 10, - "symbol": "(", - "color": "green", "name": { "str": "bullet crossbow" }, "description": "A modified version of the classic crossbow which utilizes stones as projectiles instead of the traditional quarrel. Primarily intended for hunting small game, stronger people can reload it much faster.", "price": 20000, "price_postapoc": 2000, "material": [ "wood", "iron" ], - "flags": [ "STR_RELOAD", "PRIMITIVE_RANGED_WEAPON", "CROSSBOW" ], - "skill": "rifle", + "extend": { "flags": [ "STR_RELOAD" ] }, "ammo": "pebble", "weight": "1906 g", "volume": "1250 ml", @@ -291,7 +288,6 @@ "range": 10, "dispersion": 55, "durability": 6, - "clip_size": 1, "reload": 400, "loudness": 3, "valid_mod_locations": [ @@ -307,19 +303,14 @@ }, { "id": "hand_crossbow", - "looks_like": "crossbow", + "copy-from": "xbow_base", "type": "GUN", - "reload_noise_volume": 10, - "symbol": "(", - "color": "green", "name": { "str": "pistol crossbow" }, "description": "A small concealable pistol-like crossbow. It's weak due to its small size and draw, so it is best suited for hunting small game. Bolts fired from this weapon have a good chance of remaining intact for re-use.", "price": 55000, "price_postapoc": 2500, "material": [ "steel", "plastic" ], - "flags": [ "PRIMITIVE_RANGED_WEAPON", "CROSSBOW" ], "skill": "pistol", - "ammo": "bolt", "weight": "900 g", "volume": "500 ml", "bashing": 4, @@ -327,7 +318,6 @@ "range": 6, "dispersion": 400, "durability": 6, - "clip_size": 1, "reload": 1200, "valid_mod_locations": [ [ "accessories", 2 ], @@ -343,18 +333,14 @@ { "id": "crossbow", "//": "Tileset whitelist for crossbows", + "copy-from": "xbow_base", "type": "GUN", "reload_noise_volume": 5, - "symbol": "(", - "color": "green", "name": { "str": "crossbow" }, "description": "A slow-loading hand weapon that launches bolts. Stronger people can reload it much faster. Bolts fired from this weapon have a good chance of remaining intact for re-use.", "price": 6000, "price_postapoc": 3500, "material": [ "wood" ], - "flags": [ "PRIMITIVE_RANGED_WEAPON", "CROSSBOW" ], - "skill": "rifle", - "ammo": "bolt", "weight": "2728 g", "volume": "1500 ml", "bashing": 11, @@ -364,25 +350,19 @@ "range": 9, "dispersion": 375, "durability": 6, - "clip_size": 1, "reload": 800, "valid_mod_locations": [ [ "dampening", 1 ], [ "rail mount", 1 ], [ "sights mount", 1 ], [ "underbarrel mount", 1 ] ] }, { "id": "compositecrossbow", - "looks_like": "crossbow", + "copy-from": "xbow_base", "type": "GUN", - "symbol": "(", - "color": "green", "name": { "str": "composite crossbow" }, "reload_noise_volume": 4, "description": "A slightly larger, more powerful crossbow utilizing composite material limbs and somewhat more modern design practices.", "price": 89000, "price_postapoc": 4000, "material": [ "wood", "bone" ], - "flags": [ "PRIMITIVE_RANGED_WEAPON", "CROSSBOW" ], - "skill": "rifle", - "ammo": "bolt", "weight": "3500 g", "volume": "1750 ml", "bashing": 11, @@ -392,34 +372,17 @@ "loudness": 8, "dispersion": 350, "durability": 6, - "clip_size": 1, - "reload": 1200, - "valid_mod_locations": [ - [ "accessories", 4 ], - [ "grip", 1 ], - [ "mechanism", 4 ], - [ "rail", 1 ], - [ "sights", 1 ], - [ "sling", 1 ], - [ "stock", 1 ], - [ "underbarrel", 1 ], - [ "dampening", 1 ] - ] + "reload": 1200 }, { "id": "compcrossbow", - "looks_like": "crossbow", + "copy-from": "xbow_base", "type": "GUN", - "symbol": "(", - "color": "green", "name": { "str": "compound crossbow" }, "reload_noise_volume": 4, "description": "A high-power crossbow with shaped cams and extra cables for high-power shots. Takes less time to reload due to a modern string-pulling system.", "price": 200000, "material": [ "steel", "plastic" ], - "flags": [ "PRIMITIVE_RANGED_WEAPON", "CROSSBOW" ], - "skill": "rifle", - "ammo": "bolt", "weight": "3000 g", "volume": "1750 ml", "price_postapoc": 6000, @@ -430,34 +393,17 @@ "loudness": 12, "dispersion": 325, "durability": 6, - "clip_size": 1, - "reload": 1000, - "valid_mod_locations": [ - [ "accessories", 4 ], - [ "grip", 1 ], - [ "mechanism", 4 ], - [ "rail", 1 ], - [ "sights", 1 ], - [ "sling", 1 ], - [ "stock", 1 ], - [ "underbarrel", 1 ], - [ "dampening", 1 ] - ] + "reload": 1000 }, { "id": "huge_crossbow", - "looks_like": "crossbow", + "copy-from": "xbow_base", "type": "GUN", - "reload_noise_volume": 10, - "symbol": "(", - "color": "green", "name": { "str": "heavy crossbow" }, "description": "A HUGE medieval crossbow from Germany with a very slow, difficult reloading process not suited for unskilled users. Its tension is so powerful that you feel it shake after firing. Bolts fired from this weapon have a good chance of remaining intact for re-use.", "price": 32400, "material": [ "iron", "wood" ], - "flags": [ "FIRE_TWOHAND", "PRIMITIVE_RANGED_WEAPON", "TRADER_AVOID", "CROSSBOW" ], - "skill": "rifle", - "ammo": "bolt", + "extend": { "flags": [ "FIRE_TWOHAND", "TRADER_AVOID" ] }, "weight": "6803 g", "volume": "5 L", "price_postapoc": 4000, @@ -468,24 +414,19 @@ "dispersion": 300, "recoil": 30, "durability": 6, - "clip_size": 1, "reload": 6000, "valid_mod_locations": [ [ "dampening", 1 ] ] }, { "id": "rep_crossbow", - "looks_like": "crossbow", + "copy-from": "xbow_base", "type": "GUN", - "reload_noise_volume": 10, - "symbol": "(", - "color": "green", "name": { "str": "repeating crossbow" }, "description": "A custom-made crossbow with a clever mechanism that loads and fires bolts in a single motion, it has a wooden magazine that holds 10 bolts. Bolts fired from this weapon have a good chance of remaining intact for re-use.", "price": 324000, "material": [ "steel", "wood" ], - "flags": [ "FIRE_TWOHAND", "PRIMITIVE_RANGED_WEAPON", "TRADER_AVOID", "CROSSBOW", "RELOAD_ONE" ], + "extend": { "flags": [ "FIRE_TWOHAND", "TRADER_AVOID" ] }, "skill": "smg", - "ammo": "bolt", "weight": "3628 g", "volume": "2500 ml", "price_postapoc": 6000, diff --git a/data/json/items/ranged/launchers.json b/data/json/items/ranged/launchers.json deleted file mode 100644 index 840b41f6538a..000000000000 --- a/data/json/items/ranged/launchers.json +++ /dev/null @@ -1,112 +0,0 @@ -[ - { - "id": "LAW", - "copy-from": "launcher_base", - "type": "GUN", - "color": "green", - "name": { "str_sp": "M72 LAW" }, - "description": "A disposable light anti-tank rocket launcher. Once fired, it cannot be reloaded and must be disposed of.", - "price": 200000, - "//": "A tube with a lever. Unsurprisingly, dirt cheap (at least for a rocket launcher).", - "material": "aluminum", - "flags": [ "NO_UNLOAD", "NO_RELOAD", "BACKBLAST", "NEVER_JAMS", "TRADER_AVOID", "PYROMANIAC_WEAPON" ], - "ammo": "66mm", - "weight": "700 g", - "volume": "2500 ml", - "price_postapoc": 3500, - "bashing": 6, - "dispersion": 300, - "durability": 9, - "clip_size": 1, - "reload": 150, - "valid_mod_locations": [ - [ "accessories", 1 ], - [ "sling", 1 ], - [ "grip mount", 1 ], - [ "rail mount", 1 ], - [ "sights mount", 1 ], - [ "underbarrel mount", 1 ] - ] - }, - { - "id": "RPG", - "copy-from": "launcher_base", - "type": "GUN", - "color": "brown", - "name": { "str_sp": "RPG-7" }, - "description": "The emblematic RPG-7 launcher. Its simple, inexpensive, and reliable design made it a popular choice among armies and insurgent groups worldwide.", - "price": 150000, - "price_postapoc": 1000, - "//": "Like the LAW, this thing is basically a tube with a lever. It's even cheaper in terms of construction, but there's a premium due to being imported. Also not disposable.", - "material": [ "steel", "wood" ], - "flags": [ "BACKBLAST", "NEVER_JAMS", "PYROMANIAC_WEAPON" ], - "ammo": "RPG-7", - "weight": "7000 g", - "volume": "4500 ml", - "bashing": 10, - "dispersion": 600, - "durability": 10, - "clip_size": 1, - "reload": 150, - "valid_mod_locations": [ - [ "accessories", 4 ], - [ "grip", 1 ], - [ "mechanism", 4 ], - [ "sights", 1 ], - [ "sling", 1 ], - [ "rail mount", 1 ], - [ "underbarrel mount", 1 ] - ] - }, - { - "id": "surv_rocket_launcher", - "copy-from": "launcher_base", - "type": "GUN", - "symbol": "/", - "color": "light_gray", - "name": { "str": "crude rocket launcher" }, - "description": "An improvised, direct ignition launcher for home-made rockets. Essentially, a thick-walled steel pipe, equipped with a pilot light, several batteries and a simple circuit board. Effective only at medium range, barely.", - "price": 5000, - "material": "steel", - "flags": [ "PYROMANIAC_WEAPON" ], - "ammo": "homebrew_rocket", - "weight": "7430 g", - "volume": "5 L", - "price_postapoc": 500, - "bashing": 10, - "dispersion": 300, - "durability": 5, - "modes": [ [ "DEFAULT", "semi", 1 ] ], - "clip_size": 1, - "reload": 800, - "loudness": 200, - "valid_mod_locations": [ [ "sling", 1 ], [ "grip mount", 1 ], [ "rail mount", 1 ], [ "sights mount", 1 ], [ "underbarrel mount", 1 ] ] - }, - { - "id": "watercannon", - "copy-from": "launcher_base", - "type": "GUN", - "symbol": "&", - "color": "dark_gray", - "name": { "str": "water cannon" }, - "description": "A water cannon from a fire truck. Mounted on a vehicle, it could be used to stop fires or \"protesters\".", - "price": 50000, - "material": "steel", - "flags": [ "NEVER_JAMS", "MOUNTED_GUN", "NO_RELOAD", "NON-FOULING" ], - "ammo_effects": [ "JET", "BEANBAG", "NEVER_MISFIRES" ], - "ammo": "water", - "weight": "24500 g", - "volume": "12500 ml", - "price_postapoc": 500, - "bashing": 10, - "to_hit": -5, - "range": 10, - "dispersion": 450, - "durability": 10, - "handling": 40, - "modes": [ [ "DEFAULT", "burst", 4 ] ], - "clip_size": 100, - "reload": 0, - "valid_mod_locations": [ [ "sling", 1 ] ] - } -] diff --git a/data/json/items/ranged/pneumatic.json b/data/json/items/ranged/pneumatic.json index 173dc2fe8dec..6d5848ae7968 100644 --- a/data/json/items/ranged/pneumatic.json +++ b/data/json/items/ranged/pneumatic.json @@ -1,9 +1,8 @@ [ { "id": "bbgun", + "copy-from": "rifle_pneumatic", "type": "GUN", - "looks_like": "ar15", - "reload_noise_volume": 10, "symbol": "(", "color": "brown", "name": { "str": "BB gun" }, @@ -12,14 +11,10 @@ "price_postapoc": 250, "//": "You could get a Red Ryder at walmart for $32, but you'd shoot your eye out x_-", "material": [ "aluminum", "wood" ], - "flags": [ "NEVER_JAMS", "NON-FOULING" ], - "skill": "rifle", "ammo": "BB", "weight": "1723 g", "volume": "1500 ml", "barrel_length": "150 ml", - "bashing": 9, - "to_hit": -1, "range": 12, "ranged_damage": { "damage_type": "bullet", "amount": 2 }, "dispersion": 150, @@ -39,24 +34,18 @@ }, { "id": "helsing", - "looks_like": "ar15", + "copy-from": "rifle_pneumatic", "type": "GUN", - "reload_noise_volume": 10, - "symbol": "(", "color": "dark_gray", "name": { "str": "pneumatic bolt driver" }, "description": "An eight-shot, revolving barrel, pneumatic bolt driver handcrafted from scrap. Be careful where you reload it, pumping air into the tank takes a few seconds. It is pretty quiet and quite deadly.", "price": "2900 USD", "price_postapoc": "120 USD", "material": [ "steel", "wood" ], - "flags": [ "NON-FOULING", "NEEDS_NO_LUBE" ], - "skill": "rifle", "ammo": [ "bolt" ], "weight": "4110 g", "volume": "3 L", "bashing": 12, - "to_hit": -1, - "loudness": 16, "ranged_damage": { "damage_type": "stab", "amount": 35 }, "range": 16, "dispersion": 400, @@ -64,37 +53,29 @@ "durability": 7, "clip_size": 8, "reload": 1440, - "valid_mod_locations": [ [ "accessories", 3 ], [ "sling", 1 ], [ "grip", 1 ], [ "mechanism", 4 ], [ "stock", 1 ], [ "rail mount", 1 ] ] + "loudness": 16 }, { "id": "tihar", - "looks_like": "ar15", + "copy-from": "rifle_pneumatic", "type": "GUN", "reload_noise_volume": 8, - "symbol": "(", "color": "light_gray", "name": { "str": "pneumatic assault rifle" }, "description": "A multistroke pneumatic rifle handcrafted from scrap. Be careful where you reload it, pumping air into the tank takes a few seconds. It is pretty quiet and quite deadly.", "price": "2400 USD", "price_postapoc": "120 USD", "material": [ "steel", "wood" ], - "flags": [ "NON-FOULING", "NEEDS_NO_LUBE" ], - "skill": "rifle", "ammo": [ "pebble" ], "weight": "4211 g", "volume": "2750 ml", "barrel_length": "250 ml", - "bashing": 8, - "to_hit": -1, "ranged_damage": { "damage_type": "bash", "amount": 15, "armor_penetration": 4 }, "range": 15, - "dispersion": 350, "durability": 7, "recoil": 300, "clip_size": 20, - "reload": 600, "modes": [ [ "DEFAULT", "semi", 1 ], [ "AUTO", "auto", 3 ] ], - "loudness": 14, - "valid_mod_locations": [ [ "accessories", 3 ], [ "barrel", 1 ], [ "sling", 1 ], [ "grip", 1 ], [ "mechanism", 4 ], [ "stock", 1 ] ] + "loudness": 14 } ] diff --git a/data/json/items/ranged/slings.json b/data/json/items/ranged/slings.json index 1c883b540fdb..fa6411a886e2 100644 --- a/data/json/items/ranged/slings.json +++ b/data/json/items/ranged/slings.json @@ -1,7 +1,7 @@ [ { "id": "sling", - "copy-from": "throwing_weapon_base", + "copy-from": "sling_base", "looks_like": "slingshot", "type": "GUN", "color": "brown", @@ -23,7 +23,7 @@ }, { "id": "staff_sling", - "copy-from": "throwing_weapon_base", + "copy-from": "sling_base", "looks_like": "slingshot", "type": "GUN", "color": "brown", @@ -32,6 +32,7 @@ "price": 150, "//": "The staff sling,consists of a staff with a short sling at one end. ", "material": [ "wood", "leather" ], + "weapon_category": [ "QUARTERSTAVES" ], "extend": { "flags": [ "BELTED", "DURABLE_MELEE", "NONCONDUCTIVE", "SHEATH_SPEAR", "ALWAYS_TWOHAND" ] }, "techniques": [ "WBLOCK_2", "RAPID", "SWEEP" ], "ammo": "rock", diff --git a/data/json/items/ranged/spearguns.json b/data/json/items/ranged/spearguns.json index fbd5101d13de..c418ad0a1792 100644 --- a/data/json/items/ranged/spearguns.json +++ b/data/json/items/ranged/spearguns.json @@ -98,106 +98,55 @@ [ "underbarrel mount", 1 ] ] }, - { - "id": "doublespeargun", - "looks_like": "ar15", - "type": "GUN", - "reload_noise_volume": 10, - "symbol": "(", - "color": "brown", - "name": { "str": "double speargun" }, - "description": "A double-loading underwater fishing implement designed to fire a specialized type of spear using tension in a rubber band. While highly effective when used underwater, it is nearly useless on dry land.", - "price": 17500, - "price_postapoc": 2000, - "material": [ "wood", "plastic" ], - "flags": [ "RELOAD_ONE", "STR_RELOAD", "WATERPROOF_GUN", "UNDERWATER_GUN", "NEVER_JAMS", "NON-FOULING" ], - "skill": "rifle", - "ammo": "fishspear", - "weight": "3060 g", - "volume": "2 L", - "bashing": 8, - "to_hit": -2, - "ranged_damage": { "damage_type": "stab", "amount": 6 }, - "range": 4, - "dispersion": 120, - "durability": 7, - "clip_size": 2, - "reload": 700, - "valid_mod_locations": [ - [ "accessories", 4 ], - [ "grip", 1 ], - [ "sights", 1 ], - [ "sling", 1 ], - [ "stock", 1 ], - [ "rail mount", 1 ], - [ "underbarrel mount", 1 ] - ] - }, { "id": "minispeargun", - "looks_like": "glock_17", + "copy-from": "pistol_elastic", "type": "GUN", - "reload_noise_volume": 10, - "symbol": "(", "color": "yellow", "name": { "str": "mini speargun" }, "description": "A small underwater fishing implement designed to fire a specialized type of spear using tension in a rubber band. While highly effective when used underwater, it is nearly useless on dry land.", "price": 10000, "price_postapoc": 1500, "material": [ "wood", "plastic" ], - "flags": [ "STR_RELOAD", "WATERPROOF_GUN", "UNDERWATER_GUN", "NEVER_JAMS", "NON-FOULING" ], - "skill": "pistol", "ammo": "fishspear", "weight": "840 g", "volume": "1 L", - "bashing": 7, - "to_hit": -2, - "dispersion": 120, - "durability": 8, - "clip_size": 1, - "reload": 600, - "valid_mod_locations": [ - [ "accessories", 2 ], - [ "grip", 1 ], - [ "sights", 1 ], - [ "stock", 1 ], - [ "rail mount", 1 ], - [ "underbarrel mount", 1 ] - ] + "clip_size": 1 }, { "id": "speargun", - "looks_like": "ar15", + "copy-from": "rifle_elastic", "type": "GUN", - "reload_noise_volume": 10, - "symbol": "(", "color": "brown", "name": { "str": "speargun" }, "description": "An underwater fishing implement designed to fire a specialized type of spear using tension in a rubber band. While highly effective when used underwater, it is nearly useless on dry land.", "price": 11500, "price_postapoc": 1500, "material": [ "wood", "plastic" ], - "flags": [ "STR_RELOAD", "WATERPROOF_GUN", "UNDERWATER_GUN", "NEVER_JAMS", "NON-FOULING" ], - "skill": "rifle", "ammo": "fishspear", "weight": "2100 g", "volume": "1750 ml", - "bashing": 7, - "to_hit": -2, "ranged_damage": { "damage_type": "stab", "amount": 6 }, "range": 4, - "dispersion": 90, - "durability": 8, - "clip_size": 1, - "reload": 700, - "valid_mod_locations": [ - [ "accessories", 4 ], - [ "grip", 1 ], - [ "sights", 1 ], - [ "sling", 1 ], - [ "stock", 1 ], - [ "rail mount", 1 ], - [ "underbarrel mount", 1 ] - ] + "clip_size": 1 + }, + { + "id": "doublespeargun", + "copy-from": "rifle_elastic", + "type": "GUN", + "color": "brown", + "name": { "str": "double speargun" }, + "description": "A double-loading underwater fishing implement designed to fire a specialized type of spear using tension in a rubber band. While highly effective when used underwater, it is nearly useless on dry land.", + "price": 17500, + "price_postapoc": 2000, + "material": [ "wood", "plastic" ], + "ammo": "fishspear", + "weight": "3060 g", + "volume": "2 L", + "ranged_damage": { "damage_type": "stab", "amount": 6 }, + "range": 4, + "dispersion": 120, + "durability": 7, + "clip_size": 2 } ] diff --git a/data/json/items/resources/metal.json b/data/json/items/resources/metal.json index 99e07427f8ae..8ac50aab4e06 100644 --- a/data/json/items/resources/metal.json +++ b/data/json/items/resources/metal.json @@ -1,7 +1,8 @@ [ { - "type": "GENERIC", "id": "pipe", + "type": "GENERIC", + "weapon_category": [ "BATONS" ], "name": { "str": "pipe" }, "description": "A steel pipe, makes a good melee weapon. Useful in a few crafting recipes.", "category": "spare_parts", @@ -36,8 +37,8 @@ "ammo_type": "components" }, { - "type": "GENERIC", "id": "spike", + "type": "GENERIC", "name": { "str": "spike" }, "description": "A large and slightly misshapen spike, could do some damage mounted on a vehicle.", "category": "spare_parts", @@ -54,8 +55,9 @@ "price_postapoc": 10 }, { - "type": "GENERIC", "id": "cu_pipe", + "type": "GENERIC", + "weapon_category": [ "BATONS" ], "name": { "str": "copper tubing" }, "description": "A copper tube, too thin to be much use as a melee weapon, but will do if nothing else is available. Useful in a few crafting recipes.", "category": "spare_parts", @@ -308,8 +310,8 @@ "to_hit": -2 }, { - "type": "AMMO", "id": "tin", + "type": "AMMO", "category": "spare_parts", "price": 750, "price_postapoc": 10, @@ -326,8 +328,8 @@ "stack_size": 200 }, { - "type": "AMMO", "id": "solder_wire", + "type": "AMMO", "category": "spare_parts", "price": 5000, "price_postapoc": 50, diff --git a/data/json/items/resources/misc.json b/data/json/items/resources/misc.json index 0143e12c9480..6911b35e4ad8 100644 --- a/data/json/items/resources/misc.json +++ b/data/json/items/resources/misc.json @@ -1,7 +1,8 @@ [ { - "type": "GENERIC", "id": "bee_sting", + "type": "GENERIC", + "weapon_category": [ "KNIVES" ], "name": { "str": "bee sting" }, "description": "A six-inch stinger from a giant bee. Makes a mediocre melee weapon.", "weight": "540 g", @@ -11,13 +12,14 @@ "material": [ "flesh" ], "volume": "250 ml", "cutting": 10, - "flags": [ "SPEAR" ], + "flags": [ "STAB" ], "price": 3000, "price_postapoc": 0 }, { - "type": "GENERIC", "id": "broom", + "type": "GENERIC", + "weapon_category": [ "QUARTERSTAVES" ], "name": { "str": "broom" }, "description": "A long-handled broom. Makes a terrible weapon unless you're chasing cats.", "weight": "929 g", @@ -48,8 +50,9 @@ "qualities": [ [ "BUTCHER", -66 ] ] }, { - "type": "GENERIC", "id": "fighter_sting", + "type": "GENERIC", + "weapon_category": [ "KNIVES" ], "name": { "str": "fungal fighter sting" }, "description": "A short dart from a fungal fighter. Makes a poor melee weapon.", "weight": "270 g", @@ -59,7 +62,7 @@ "material": [ "veggy" ], "volume": "250 ml", "cutting": 8, - "flags": [ "SPEAR", "SHEATH_KNIFE" ], + "flags": [ "STAB", "SHEATH_KNIFE" ], "price": 500, "price_postapoc": 0 }, @@ -161,8 +164,9 @@ "to_hit": 1 }, { - "type": "GENERIC", "id": "wasp_sting", + "type": "GENERIC", + "weapon_category": [ "KNIVES" ], "name": { "str": "wasp sting" }, "description": "A six-inch stinger from a giant wasp. Makes a poor melee weapon.", "weight": "540 g", @@ -172,7 +176,7 @@ "material": [ "flesh" ], "volume": "250 ml", "cutting": 8, - "flags": [ "SPEAR", "SHEATH_KNIFE" ], + "flags": [ "STAB", "SHEATH_KNIFE" ], "price": 1000, "price_postapoc": 0 } diff --git a/data/json/items/resources/wood.json b/data/json/items/resources/wood.json index 25728d9262c8..0b48bbfa6e36 100644 --- a/data/json/items/resources/wood.json +++ b/data/json/items/resources/wood.json @@ -33,8 +33,9 @@ "flags": [ "NO_SALVAGE", "TRADER_AVOID", "FIREWOOD" ] }, { - "type": "GENERIC", "id": "stick", + "type": "GENERIC", + "weapon_category": [ "BATONS" ], "symbol": "/", "color": "brown", "name": { "str": "heavy stick" }, @@ -66,8 +67,9 @@ "category": "spare_parts" }, { - "type": "GENERIC", "id": "long_pole", + "type": "GENERIC", + "weapon_category": [ "SPEARS" ], "name": { "str": "long pole" }, "description": "A stout, ten-foot pole. Could be used similarly to a spear. The Cataclysm gives fresh meaning to walking softly and carrying a big stick.", "//": "a long pole is a single piece of wood, and the heavy stick just isn't large enough.", diff --git a/data/json/items/tool/firefighting.json b/data/json/items/tool/firefighting.json index b2792980c1cf..1f25234b5d2f 100644 --- a/data/json/items/tool/firefighting.json +++ b/data/json/items/tool/firefighting.json @@ -3,6 +3,7 @@ "id": "crash_axe", "type": "GENERIC", "category": "tools", + "weapon_category": [ "HAND_AXES" ], "symbol": ";", "color": "light_gray", "name": { "str": "crash axe" }, @@ -45,6 +46,7 @@ "id": "fire_ax", "type": "GENERIC", "category": "tools", + "weapon_category": [ "2H_AXES" ], "name": { "str": "fire axe" }, "description": "This is a large, two-handed pickhead axe normally used by firefighters. It makes a powerful melee weapon, but is a bit slow to recover between swings.", "weight": "2520 g", @@ -65,6 +67,7 @@ "id": "halligan", "type": "GENERIC", "category": "tools", + "weapon_category": [ "CLUBS" ], "name": { "str": "Halligan bar" }, "description": "This is a heavy multiple-use tool commonly carried by firefighters, law enforcement, and military rescue units. Use it to open locked doors without destroying them or to lift manhole covers. You could also wield it to bash some heads in.", "weight": "3600 g", @@ -123,6 +126,7 @@ "id": "pike_pole", "type": "GENERIC", "category": "tools", + "weapon_category": [ "SPEARS", "HOOKED_POLES" ], "symbol": "/", "color": "yellow", "looks_like": "spear_pipe", @@ -143,6 +147,7 @@ "id": "ny_hook", "type": "GENERIC", "category": "tools", + "weapon_category": "HOOKED_POLES", "symbol": "/", "color": "yellow", "looks_like": "iceaxe", diff --git a/data/json/items/tool/knives.json b/data/json/items/tool/knives.json index 383e5cc012b8..19a0e283f71c 100644 --- a/data/json/items/tool/knives.json +++ b/data/json/items/tool/knives.json @@ -3,6 +3,7 @@ "id": "copper_knife", "type": "GENERIC", "category": "tools", + "weapon_category": [ "KNIVES" ], "name": { "str": "copper knife", "str_pl": "copper knives" }, "description": "A knife consisting of crudely-worked copper, and a simple handle. Primitive, but a step above stone-age.", "weight": "650 g", @@ -21,6 +22,7 @@ "id": "diveknife", "type": "GENERIC", "category": "weapons", + "weapon_category": [ "KNIVES" ], "name": { "str": "dive knife", "str_pl": "dive knives" }, "//": "Too small to be effectively used for butchering, still not bad at it due to serrated edge.", "description": "This is a short, sturdy knife with a serrated edge for cutting lines and straps, and a blunt tip for prying. Used primarily by divers, it is very light and takes up virtually no space in one's pockets.", @@ -40,6 +42,7 @@ "id": "honey_scraper", "type": "GENERIC", "category": "tools", + "weapon_category": [ "KNIVES" ], "name": { "str": "honey scraper" }, "description": "A sharp, knife-like tool used in harvesting honey from beehives. Makes a passable melee weapon.", "weight": "580 g", @@ -58,6 +61,7 @@ "id": "pockknife", "type": "GENERIC", "category": "tools", + "weapon_category": [ "KNIVES" ], "name": { "str": "pocket knife", "str_pl": "pocket knives" }, "description": "This is a small pocket knife. It isn't great for combat, but it's better than nothing. It's sharp enough to butcher with.", "weight": "20 g", @@ -76,6 +80,7 @@ "id": "primitive_knife", "type": "GENERIC", "category": "tools", + "weapon_category": [ "KNIVES" ], "name": { "str": "stone knife", "str_pl": "stone knives" }, "description": "This is a sharpened stone set into a hollowed handle. Not nearly as usable as a proper knife, but it's better than nothing.", "weight": "453 g", diff --git a/data/json/items/tool/landscaping.json b/data/json/items/tool/landscaping.json index 7869d2e8c5e4..d92039f3ebe3 100644 --- a/data/json/items/tool/landscaping.json +++ b/data/json/items/tool/landscaping.json @@ -39,6 +39,7 @@ "id": "hoe", "type": "GENERIC", "category": "tools", + "weapon_category": [ "HOOKED_POLES" ], "name": { "str": "hoe" }, "description": "This is a farming implement. You can use it to turn tillable land into a slow-to-cross pile of dirt, or dig a shallow pit.", "weight": "1088 g", diff --git a/data/json/items/tool/misc.json b/data/json/items/tool/misc.json index 53655db76f91..1a4159307135 100644 --- a/data/json/items/tool/misc.json +++ b/data/json/items/tool/misc.json @@ -892,6 +892,7 @@ "id": "umbrella", "type": "GENERIC", "category": "tools", + "weapon_category": [ "BATONS" ], "name": { "str": "umbrella" }, "description": "An umbrella with a pointy end, useful for keeping dry when wielded.", "weight": "141 g", diff --git a/data/json/items/tool/stationary.json b/data/json/items/tool/stationary.json index f1e85668f662..af0cda9f2752 100644 --- a/data/json/items/tool/stationary.json +++ b/data/json/items/tool/stationary.json @@ -31,6 +31,7 @@ "id": "scissors", "type": "GENERIC", "category": "tools", + "weapon_category": [ "KNIVES" ], "name": { "str": "pair of scissors", "str_pl": "pairs of scissors" }, "description": "These are a long pair of heavy-duty scissors. Use scissors to cut items made from cotton (like clothing) into rags.", "weight": "113 g", @@ -43,7 +44,7 @@ "symbol": ",", "color": "light_red", "qualities": [ [ "CUT", 1 ] ], - "flags": [ "SPEAR" ] + "flags": [ "STAB" ] }, { "type": "GENERIC", diff --git a/data/json/items/tool/toileteries.json b/data/json/items/tool/toiletries.json similarity index 99% rename from data/json/items/tool/toileteries.json rename to data/json/items/tool/toiletries.json index a59f3a8fe226..f6b490341182 100644 --- a/data/json/items/tool/toileteries.json +++ b/data/json/items/tool/toiletries.json @@ -59,6 +59,7 @@ "id": "mop", "type": "GENERIC", "category": "tools", + "weapon_category": [ "QUARTERSTAVES" ], "name": { "str": "mop" }, "description": "This is an unwieldy mop. Good for cleaning up spills. Use to mop up any 'mess' you may have made.", "weight": "929 g", diff --git a/data/json/items/tool/woodworking.json b/data/json/items/tool/woodworking.json index 29770d5e6b7a..3a35c622c4e4 100644 --- a/data/json/items/tool/woodworking.json +++ b/data/json/items/tool/woodworking.json @@ -3,6 +3,7 @@ "id": "ax", "type": "GENERIC", "category": "tools", + "weapon_category": [ "2H_AXES" ], "name": { "str": "wood axe" }, "description": "This is a large, two-handed wood axe. It makes a good melee weapon, but is a bit slow to recover between swings.", "weight": "2267 g", @@ -108,6 +109,7 @@ "id": "copper_ax", "type": "GENERIC", "category": "tools", + "weapon_category": [ "1H_AXES" ], "name": { "str": "copper axe" }, "description": "This is a decent-sized chunk of worked copper affixed to a wooden shaft, to make a crude yet effective axe.", "weight": "3700 g", @@ -213,6 +215,7 @@ "id": "primitive_axe", "type": "GENERIC", "category": "tools", + "weapon_category": [ "1H_AXES" ], "name": { "str": "stone axe" }, "description": "This is a stone with a narrow edge affixed to a stick. It can chop wood, but requires much more effort than a modern axe.", "weight": "3154 g", diff --git a/data/json/items/tool/workshop.json b/data/json/items/tool/workshop.json index 88ca2dfd45d0..8fd89f9a37cd 100644 --- a/data/json/items/tool/workshop.json +++ b/data/json/items/tool/workshop.json @@ -294,6 +294,7 @@ "id": "hammer", "type": "GENERIC", "category": "tools", + "weapon_category": [ "1H_HAMMERS" ], "name": { "str": "hammer" }, "description": "This is a demagnetized steel claw hammer with a wooden grip. With a hammer, nails, and two by fours in your inventory, you could board up adjacent doors and windows. It has myriad other uses as well.", "weight": "566 g", @@ -662,6 +663,7 @@ "id": "pickaxe", "type": "GENERIC", "category": "tools", + "weapon_category": [ "HOOKED_POLES" ], "name": { "str": "pickaxe" }, "description": "This is a large steel pickaxe, suitable for breaking up hard things or (with enough skill) hard targets. Strike the earth!", "weight": "4535 g", @@ -1134,6 +1136,7 @@ "id": "wrench", "type": "GENERIC", "category": "tools", + "weapon_category": [ "BATONS" ], "name": { "str": "wrench", "str_pl": "wrenches" }, "description": "This is an adjustable crescent wrench. It could be a decent melee weapon, and is used in many mechanics crafting recipes.", "weight": "907 g", diff --git a/data/json/martialarts.json b/data/json/martialarts.json index f794177185c6..19554a22518c 100644 --- a/data/json/martialarts.json +++ b/data/json/martialarts.json @@ -62,7 +62,7 @@ "tec_aikido_dodgethrow", "tec_aikido_blockthrow" ], - "weapons": [ "bagh_nakha", "bio_claws_weapon", "cestus", "knuckle_brass", "knuckle_nail", "knuckle_steel" ] + "weapon_category": [ "FIST_WEAPONS" ] }, { "type": "martial_art", @@ -141,18 +141,7 @@ } ], "techniques": [ "tec_barbaran_impale", "tec_barbaran_disarm" ], - "weapons": [ - "longsword", - "longsword_inferior", - "longsword_fake", - "sword_nail", - "sword_crude", - "sword_metal", - "sword_wood", - "zweihander", - "zweihander_inferior", - "zweihander_fake" - ] + "weapon_category": [ "MEDIEVAL_SWORDS" ] }, { "type": "martial_art", @@ -384,59 +373,7 @@ "tec_eskrima_low", "tec_eskrima_combination" ], - "weapons": [ - "2x4", - "bagh_nakha", - "baton-extended", - "bee_sting", - "bowling_pin", - "butterfly_swords", - "cane", - "copper_knife", - "cudgel", - "cu_pipe", - "diveknife", - "fighter_sting", - "glass_shiv", - "hammer", - "kirpan", - "kirpan_cheap", - "knife_baselard", - "knife_combat", - "knife_hunting", - "knife_trench", - "kukri", - "knife_rambo", - "knife_rm42", - "machete", - "makeshift_knife", - "makeshift_machete", - "pipe", - "pockknife", - "pool_cue", - "PR24-extended", - "primitive_knife", - "primitive_hammer", - "punch_dagger", - "scissors", - "screwdriver", - "shillelagh", - "shillelagh_fake", - "shillelagh_weighted", - "shocktonfa_off", - "shocktonfa_on", - "stick", - "survivor_machete", - "switchblade", - "tanto", - "tanto_inferior", - "tanto_fake", - "tonfa", - "tonfa_wood", - "umbrella", - "wasp_sting", - "wrench" - ] + "weapon_category": [ "KNIVES", "BATONS", "TONFAS", "QUARTERSTAVES", "FIST_WEAPONS" ] }, { "type": "martial_art", @@ -479,36 +416,8 @@ } ], "techniques": [ "tec_fencing_feint", "tec_fencing_lunge", "tec_fencing_riposte", "tec_fencing_compound" ], - "weapons": [ - "baton-extended", - "broadsword", - "broadsword_inferior", - "broadsword_fake", - "cane", - "cavalry_sabre", - "cavalry_sabre_fake", - "cudgel", - "hollow_cane", - "fencing_foil", - "fencing_sabre", - "fencing_epee", - "fencing_foil_sharpened", - "fencing_sabre_sharpened", - "fencing_epee_sharpened", - "shock_foil", - "shock_sabre", - "shock_epee", - "pointy_stick", - "pipe", - "PR24-extended", - "rapier", - "rapier_fake", - "shillelagh", - "shillelagh_fake", - "shillelagh_weighted", - "sword_cane", - "umbrella" - ] + "weapon_category": [ "BATONS", "DUELING_SWORDS" ], + "weapons": [ "broadsword", "broadsword_inferior", "broadsword_fake", "cavalry_sabre", "cavalry_sabre_fake" ] }, { "type": "martial_art", @@ -570,28 +479,7 @@ "tec_medievalpole_execute", "tec_medievalpole_break" ], - "weapons": [ - "ax", - "battleaxe", - "battleaxe_fake", - "battleaxe_inferior", - "copper_ax", - "fire_ax", - "glaive", - "halberd", - "halberd_fake", - "hammer_sledge", - "hammer_sledge_short", - "hockey_stick", - "hoe", - "ji", - "lobotomizer", - "lucern_hammer", - "lucern_hammerfake", - "makeshift_halberd", - "pickaxe", - "primitive_axe" - ] + "weapon_category": [ "HOOKED_POLES", "1H_AXES", "2H_AXES", "1H_HAMMERS", "2H_HAMMERS", "GLAIVES" ] }, { "type": "martial_art", @@ -612,7 +500,7 @@ } ], "techniques": [ "tec_judo_backthrow", "tec_judo_counter", "tec_judo_disarm", "tec_judo_break", "tec_judo_throw" ], - "weapons": [ "bagh_nakha", "bio_claws_weapon", "cestus", "knuckle_brass", "knuckle_nail", "knuckle_steel" ] + "weapon_category": [ "FIST_WEAPONS" ] }, { "type": "martial_art", @@ -674,92 +562,7 @@ "tec_krav_maga_break", "tec_krav_maga_counter" ], - "weapons": [ - "baton-extended", - "butterfly_swords", - "copper_knife", - "cudgel", - "diveknife", - "honey_scraper", - "knife_combat", - "knife_combat_mod", - "knife_folding", - "knife_hunting", - "knife_rambo", - "knife_rm42", - "knife_trench", - "makeshift_knife", - "PR24-extended", - "shocktonfa_off", - "shocktonfa_on", - "switchblade", - "tonfa", - "tonfa_wood", - "af2011a1_38super", - "cz75", - "deagle_44", - "fn1910", - "fn57", - "glock_17", - "glock_18c", - "glock_19", - "glock_22", - "glock_31", - "hi_power_9mm", - "hi_power_40", - "hptjcp", - "hptjhp", - "m17", - "m1911", - "m1911_MEU", - "m1911a1_38super", - "m9", - "mk23", - "needlepistol", - "sw_22", - "p226_357sig", - "p320_357sig", - "sig_40", - "sig_p230", - "sig_mosquito", - "tokarev", - "usp_45", - "usp_9mm", - "walther_ccp", - "walther_p38", - "walther_ppk", - "walther_ppq_9mm", - "walther_ppq_40", - "walther_ppq_45", - "acr", - "acr_300blk", - "ak47", - "ak74", - "an94", - "ar10", - "ar15", - "ar15_retool_300blk", - "fn_fal", - "h&k416a5", - "hk417_13", - "hk_g3", - "hk_g36", - "iwi_tavor_x95_300blk", - "m1a", - "m110a1", - "m14ebr", - "m16a4", - "m27iar", - "m4a1", - "rm51_assault_rifle", - "rm88_battle_rifle", - "ruger_mini", - "scar_l", - "scar_h", - "sig552", - "sks", - "steyr_aug" - ] + "weapon_category": [ "PISTOLS", "REVOLVERS", "RIFLES", "SHOTGUNS", "KNIVES", "BATONS", "TONFAS" ] }, { "type": "martial_art", @@ -861,28 +664,8 @@ "tec_swordsmanship_unterhau", "tec_swordsmanship_mordhau" ], - "weapons": [ - "arming_sword", - "arming_sword_inferior", - "arming_sword_fake", - "broadsword", - "broadsword_inferior", - "broadsword_fake", - "estoc", - "estoc_inferior", - "estoc_fake", - "glass_macuahuitl", - "longsword", - "longsword_inferior", - "longsword_fake", - "sword_crude", - "sword_nail", - "sword_wood", - "sword_metal", - "zweihander", - "zweihander_inferior", - "zweihander_fake" - ] + "weapon_category": [ "MEDIEVAL_SWORDS" ], + "weapons": [ "glass_macuahuitl" ] }, { "type": "martial_art", @@ -990,80 +773,8 @@ } ], "techniques": [ "tec_ninjutsu_swift", "tec_ninjutsu_takedown", "tec_ninjutsu_precise" ], - "weapons": [ - "arming_sword", - "arming_sword_inferior", - "arming_sword_fake", - "bio_blade_weapon", - "bio_claws_weapon", - "bokken", - "bokken_inferior", - "bokken_fake", - "broadsword", - "broadsword_inferior", - "broadsword_fake", - "butterfly_swords", - "cavalry_sabre", - "cavalry_sabre_fake", - "copper_knife", - "cutlass_fake", - "cutlass_inferior", - "cutlass", - "dao", - "diveknife", - "glass_macuahuitl", - "i_staff", - "jian", - "jian_inferior", - "jian_fake", - "katana", - "katana_inferior", - "katana_fake", - "kirpan", - "knife_baselard", - "knife_combat", - "knife_hunting", - "knife_rambo", - "knife_rm42", - "knife_trench", - "kirpan_cheap", - "kris", - "kukri", - "khopesh", - "longsword", - "longsword_inferior", - "longsword_fake", - "l-stick", - "l-stick_on", - "machete", - "makeshift_machete", - "makeshift_knife", - "nodachi", - "nodachi_inferior", - "nodachi_fake", - "q_staff", - "scimitar", - "scimitar_fake", - "scimitar_inferior", - "shillelagh", - "shillelagh_fake", - "shillelagh_weighted", - "shock_staff", - "sickle", - "switchblade", - "sword_bayonet", - "sword_crude", - "sword_nail", - "sword_wood", - "sword_metal", - "sword_xiphos", - "tanto", - "tanto_inferior", - "tanto_fake", - "wakizashi", - "wakizashi_inferior", - "wakizashi_fake" - ] + "weapon_category": [ "1H_SWORDS", "JAPANESE_SWORDS", "BATONS", "QUARTERSTAVES", "BIONIC_WEAPONRY" ], + "weapons": [ "sickle" ] }, { "type": "martial_art", @@ -1133,25 +844,7 @@ } ], "techniques": [ "niten_water_cut", "niten_red_leaf", "niten_stone_cut", "niten_timing_attack", "niten_feint" ], - "weapons": [ - "bokken", - "bokken_inferior", - "bokken_fake", - "glass_macuahuitl", - "katana", - "katana_inferior", - "katana_fake", - "nodachi", - "nodachi_inferior", - "nodachi_fake", - "sword_nail", - "sword_crude", - "sword_wood", - "sword_metal", - "wakizashi", - "wakizashi_inferior", - "wakizashi_fake" - ] + "weapon_category": [ "JAPANESE_SWORDS", "BIONIC_WEAPONRY" ] }, { "type": "martial_art", @@ -1236,76 +929,8 @@ } ], "techniques": [ "tec_silat_hamstring", "tec_silat_precise", "tec_silat_brutal", "tec_silat_dirty" ], - "weapons": [ - "baton-extended", - "bowling_pin", - "butterfly_swords", - "cudgel", - "diveknife", - "glaive", - "golf_club", - "hockey_stick", - "i_staff", - "javelin", - "javelin_iron", - "knife_combat", - "copper_knife", - "kirpan", - "kirpan_cheap", - "knife_baselard", - "knife_hunting", - "knife_trench", - "kris", - "kris_fake", - "machete", - "makeshift_halberd", - "makeshift_knife", - "makeshift_machete", - "naginata", - "naginata_inferior", - "naginata_fake", - "pipe", - "pointy_stick", - "pool_cue", - "PR24-extended", - "primitive_knife", - "q_staff", - "rebar", - "scimitar", - "scimitar_inferior", - "scimitar_fake", - "scythe", - "scythe_war", - "shock_staff", - "shocktonfa_off", - "shocktonfa_on", - "sickle", - "shillelagh", - "shillelagh_fake", - "shillelagh_weighted", - "spear_knife", - "spear_knife_superior", - "spear_spike", - "spear_rebar", - "spear_pipe", - "spear_forked", - "spear_steel", - "spear_survivor", - "spear_wood", - "spear_copper", - "spear_homemade_halfpike", - "stick", - "survivor_machete", - "tanto", - "tonfa", - "tonfa_wood", - "kukri", - "knife_rambo", - "knife_rm42", - "switchblade", - "l-stick", - "l-stick_on" - ] + "weapon_category": [ "KNIVES", "BATONS", "TONFAS", "QUARTERSTAVES", "SPEARS", "GLAIVES" ], + "weapons": [ "sickle", "scythe", "hockey_stick", "golf_club" ] }, { "type": "martial_art", @@ -1377,34 +1002,7 @@ } ], "techniques": [ "tec_sojutsu_push", "tec_sojutsu_shove", "tec_sojutsu_trip" ], - "weapons": [ - "glaive", - "halberd", - "halberd_fake", - "ji", - "naginata", - "naginata_inferior", - "naginata_fake", - "long_pole", - "makeshift_halberd", - "pike", - "pike_inferior", - "pike_fake", - "pitchfork", - "qiang", - "spear_copper", - "spear_dory", - "spear_forked", - "spear_homemade_halfpike", - "spear_pipe", - "spear_knife", - "spear_knife_superior", - "spear_spike", - "spear_rebar", - "spear_steel", - "spear_survivor", - "spear_wood" - ] + "weapon_category": [ "SPEARS", "PIKES", "GLAIVES", "2H_AXES" ] }, { "type": "martial_art", diff --git a/data/json/martialarts_fictional.json b/data/json/martialarts_fictional.json index 6686901bc072..9dc2e64b6829 100644 --- a/data/json/martialarts_fictional.json +++ b/data/json/martialarts_fictional.json @@ -48,7 +48,7 @@ "tec_biojutsu_takedown", "tec_biojutsu_wide" ], - "weapons": [ "bio_claws_weapon", "bio_blade_weapon" ] + "weapon_category": [ "BIONIC_WEAPONRY" ] }, { "type": "martial_art", diff --git a/data/json/not_really_obsolete.json b/data/json/not_really_obsolete.json index 7ec398bfe425..05edc095bb96 100644 --- a/data/json/not_really_obsolete.json +++ b/data/json/not_really_obsolete.json @@ -126,19 +126,15 @@ }, { "id": "unbio_blaster_gun", + "copy-from": "rifle_energy", "type": "GUN", - "reload_noise_volume": 10, "name": { "str": "fusion blaster rifle" }, "description": "A cyborg's fusion blaster arm, cannibalized and converted into a rifle. This improvised weapon is powered by a standard UPS connection.", "weight": "2680 g", "volume": "2500 ml", "price": 420000, - "to_hit": -1, - "bashing": 10, "material": [ "steel", "plastic" ], - "symbol": "(", "color": "magenta", - "skill": "rifle", "range": 30, "ranged_damage": { "damage_type": "stab", "amount": 22 }, "dispersion": 90, @@ -155,28 +151,23 @@ [ "rail mount", 1 ], [ "underbarrel mount", 1 ] ], - "ammo_effects": [ "PLASMA", "EXPLOSIVE", "FLAME" ], - "flags": [ "NO_UNLOAD", "NEVER_JAMS" ] + "ammo_effects": [ "PLASMA", "EXPLOSIVE", "FLAME" ] }, { "id": "ftk93", + "copy-from": "rifle_energy", "type": "GUN", - "reload_noise_volume": 10, - "symbol": "(", "color": "magenta", "name": { "str": "FTK-93 fusion gun" }, "description": "A very powerful fusion rifle developed shortly before the influx of monsters. It can only hold two rounds at a time, but a special superheating unit causes its bolts to be extremely deadly.", "price": 980000, "material": [ "steel", "plastic" ], "ammo_effects": [ "PLASMA", "EXPLOSIVE", "FLAME" ], - "flags": [ "NEVER_JAMS" ], + "delete": { "flags": [ "NO_UNLOAD" ] }, "ups_charges": 5, - "skill": "rifle", "ammo": "fusion", "weight": "2267 g", "volume": "3500 ml", - "bashing": 10, - "to_hit": -1, "ranged_damage": { "damage_type": "stab", "amount": 40 }, "dispersion": 30, "durability": 9, diff --git a/data/json/weapon_categories.json b/data/json/weapon_categories.json new file mode 100644 index 000000000000..99dd63b13383 --- /dev/null +++ b/data/json/weapon_categories.json @@ -0,0 +1,308 @@ +[ + { + "type": "weapon_category", + "id": "FIST_WEAPONS", + "name": "Fist Weapons", + "//": "Handheld weapons used to supplement fists in martial arts." + }, + { + "type": "weapon_category", + "id": "KNIVES", + "name": "Knives", + "//": "Short blade fixed onto a handle, for cutting or as weapon." + }, + { + "type": "weapon_category", + "id": "SHORT_SWORDS", + "name": "Short Swords", + "//": "One handed sword of length between a large knife and a 'proper' sword." + }, + { + "type": "weapon_category", + "id": "1H_SWORDS", + "name": "One-handed Swords", + "//": "Sword meant to be wielded with one hand." + }, + { + "type": "weapon_category", + "id": "2H_SWORDS", + "name": "Two-handed Swords", + "//": "Sword meant to be wielded with both hands." + }, + { + "type": "weapon_category", + "id": "DUELING_SWORDS", + "name": "Dueling Swords", + "//": "Swords with thin profiles typically meant for stabbing." + }, + { + "type": "weapon_category", + "id": "BIONIC_SWORDS", + "name": "Bionic Swords", + "//": "Swords integrated into the body via bionics." + }, + { + "type": "weapon_category", + "id": "SAPS", + "name": "Saps", + "//": "Very short length of typically flexible material, with a weighted tip." + }, + { + "type": "weapon_category", + "id": "BATONS", + "name": "Batons", + "//": "Thin, balanced rod of strong material." + }, + { + "type": "weapon_category", + "id": "TONFAS", + "name": "Tonfas", + "//": "Unique looking T-shaped baton believed to originate from China." + }, + { + "type": "weapon_category", + "id": "CLUBS", + "name": "Clubs", + "//": "Rod with a thicker striking head. May be one or two-handed." + }, + { + "type": "weapon_category", + "id": "QUARTERSTAVES", + "name": "Quarterstaves", + "//": "Long pole wielded with both hands." + }, + { + "type": "weapon_category", + "id": "MACES", + "name": "Maces", + "//": "Short one-handed weapon with a striking head firmly attached to a short handle." + }, + { + "type": "weapon_category", + "id": "MORNINGSTARS", + "name": "Morningstars", + "//": "Typically two-handed weapon with a striking head firmly attached to a long handle." + }, + { + "type": "weapon_category", + "id": "FLAILS", + "name": "Flails", + "//": "Striking head attached to handle by flexible rope/chain." + }, + { + "type": "weapon_category", + "id": "1H_HAMMERS", + "name": "One-handed Hammers", + "//": "Hammers meant to be wielded with a single hand." + }, + { + "type": "weapon_category", + "id": "2H_HAMMERS", + "name": "Two-handed Hammers", + "//": "Hammers meant to be wielded with both hands." + }, + { + "type": "weapon_category", + "id": "HAND_AXES", + "name": "Hand Axes", + "//": "Axe with a short handle, typically wielded in one hand, ocassionally thrown." + }, + { + "type": "weapon_category", + "id": "1H_AXES", + "name": "One-handed Axes", + "//": "Axes meant to be wielded with one hand, typically with a handle longer than the handaxe." + }, + { + "type": "weapon_category", + "id": "2H_AXES", + "name": "Two-handed Axes", + "//": "Axes meant to be wielded with two hands." + }, + { + "type": "weapon_category", + "id": "WHIPS", + "name": "Whips", + "//": "Flexible tool used to strike at range." + }, + { + "type": "weapon_category", + "id": "HOOKED_POLES", + "name": "Hooked Polearms", + "//": "Polearm with hooked end (Like a shepherd's crook)" + }, + { + "type": "weapon_category", + "id": "SPEARS", + "name": "Spears", + "//": "Polearm with a long shaft and a sharp tip made of hard material." + }, + { + "type": "weapon_category", + "id": "PIKES", + "name": "Pikes", + "//": "Very long spear that can only be wielded in two hands, very unwieldy." + }, + { + "type": "weapon_category", + "id": "GLAIVES", + "name": "Glaives", + "//": "Polearm with a single-edged blade mounted on the end." + }, + { + "type": "weapon_category", + "id": "MEDIEVAL_SWORDS", + "name": "Medieval Swords", + "//": "Swords associated with European culture." + }, + { + "type": "weapon_category", + "id": "JAPANESE_SWORDS", + "name": "Japanese Swords", + "//": "Swords associated with Japanese culture." + }, + { + "type": "weapon_category", + "id": "BIONIC_WEAPONRY", + "name": "Bionic Weaponry", + "//": "Weapons integrated into the body via bionics." + }, + { + "type": "weapon_category", + "id": "BOWS", + "name": "Bows", + "//": "Elastic launching device for long-shafted projectiles." + }, + { + "type": "weapon_category", + "id": "CROSSBOWS", + "name": "Crossbows", + "//": "Elastic launching device mounted on a frame to be triggered." + }, + { + "type": "weapon_category", + "id": "SLINGSHOTS", + "name": "Slingshots", + "//": "Elastic, handheld launching device typically used for small round projectiles." + }, + { + "type": "weapon_category", + "id": "SLINGS", + "name": "Slings", + "//": "Projectile weapon using a cradle connected to two retention cords, used to fling blunt projectiles." + }, + { + "type": "weapon_category", + "id": "PISTOLS", + "name": "Pistols", + "//": "Handgun with a chamber integral to the gun barrel. In-game, any handgun that isn't a revolver goes here." + }, + { + "type": "weapon_category", + "id": "REVOLVERS", + "name": "Revolvers", + "//": "Repeating handgun with a revolving cylinder containing multiple chambers." + }, + { + "type": "weapon_category", + "id": "SUBMACHINE_GUNS", + "name": "Submachine Guns", + "//": "Magazine fed automatic carbine designed to fire handgun cartridges." + }, + { + "type": "weapon_category", + "id": "RIFLES", + "name": "Rifles", + "//": "Long barrelled firearms designed for more accurate shooting." + }, + { + "type": "weapon_category", + "id": "MACHINE_GUNS", + "name": "Machine Guns", + "//": "Fully automatic autoloading firearm designed for sustained fire." + }, + { + "type": "weapon_category", + "id": "GATLING_GUNS", + "name": "Gatling Guns", + "//": "Rapid firing multi barrel firearm." + }, + { + "type": "weapon_category", + "id": "SHOTGUNS", + "name": "Shotguns", + "//": "Long barreled firearm generally designed to fire shotshells." + }, + { + "type": "weapon_category", + "id": "GRENADE_LAUNCHERS", + "name": "Grenade Launchers", + "//": "Firearm designed to propel large caliber projectile typically loaded with warhead of some kind (smoke, gas, explosive, etc)" + }, + { + "type": "weapon_category", + "id": "ROCKET_LAUNCHERS", + "name": "Rocket Launchers", + "//": "Firearm that propels unguided, rocket-propelled projectile." + }, + { + "type": "weapon_category", + "id": "FLAMETHROWERS", + "name": "Flamethrowers", + "//": "Ranged incendiary device designed to propel a controllable jet of fire." + }, + { + "type": "weapon_category", + "id": "WATER_CANNONS", + "name": "Water Cannons", + "//": "It fires water at your enemies." + }, + { + "type": "weapon_category", + "id": "SPRAY_GUNS", + "name": "Spray Guns", + "//": "It spews chemicals at your enemies." + }, + { + "type": "weapon_category", + "id": "1SHOT", + "name": "One Shot", + "//": "Ranged weapon with at least one barrel but no loading system/magazine." + }, + { + "type": "weapon_category", + "id": "AUTOLOADING", + "name": "Autoloading", + "//": "Ranged weapon with autoloading mechanisms like blowback, gas-operated, or recoil operated systems." + }, + { + "type": "weapon_category", + "id": "MANUAL_ACTION", + "name": "Manual Action", + "//": "Ranged weapon using manual actions like bolt/pump/lever." + }, + { + "type": "weapon_category", + "id": "ENERGY_WEAPONS", + "name": "Energy Weapons", + "//": "Weapon designed to utilize focused energy (sonic, electromagnetic waves, particle beams, etc). Both Ranged/Melee." + }, + { + "type": "weapon_category", + "id": "MAGNETIC", + "name": "Magnetic Weapons", + "//": "Weapon that propels payload via electromagnetism." + }, + { + "type": "weapon_category", + "id": "PNEUMATIC", + "name": "Pneumatic Weapons", + "//": "Ranged weapon that propels payload via compressed air." + }, + { + "type": "weapon_category", + "id": "ELASTIC", + "name": "Elastic", + "//": "Ranged weapon that propels payload via elastic band." + } +] diff --git a/data/mods/Aftershock/items/weapons.json b/data/mods/Aftershock/items/weapons.json index 4c2c8a02ffc0..188adf91d10a 100644 --- a/data/mods/Aftershock/items/weapons.json +++ b/data/mods/Aftershock/items/weapons.json @@ -43,6 +43,7 @@ { "id": "afs_energy_saber_on", "type": "TOOL", + "weapon_category": [ "1H_SWORDS", "DUELING_SWORDS", "ENERGY_WEAPONS" ], "name": { "str": "energy saber (active)", "str_pl": "energy sabers (active)" }, "description": "This glittering blue saber of cyan light hums gently, extending from its superalloy handle. Its edge is lethally sharp, and being made of light, it's weightless, and immune to being damaged. It's not white-hot like in pop culture, so it can't cut through anything, but there's not much in the way of flesh that it won't slice through easily.", "weight": "240 g", @@ -70,6 +71,7 @@ { "id": "afs_hardlight_longbow", "type": "GUN", + "weapon_category": [ "BOWS", "ENERGY_WEAPONS" ], "symbol": "(", "looks_like": "longbow", "color": "white", @@ -98,6 +100,7 @@ { "id": "afs_hydraulic_gauntlet", "type": "GENERIC", + "weapon_category": [ "FIST_WEAPONS" ], "name": { "str": "hydraulic gauntlet" }, "description": "A huge, heavy metal gauntlet lined with tubing and gauges. Slow and unwieldy, it uses internal pressure to deliver devastating blows, but takes tremendous strength to use effectively. Thanks to an internal microreactor, it doesn't require power of its own.", "weight": "3778 g", @@ -140,6 +143,7 @@ { "id": "afs_bionic_rocket", "type": "GUN", + "weapon_category": [ "ROCKET_LAUNCHERS" ], "name": { "str": "deployed grenade launcher" }, "description": "A grenade launcher mounted onto your right-hand wrist. Less powerful than a proper grenade launcher, but infinitely more portable, and quick to reload.", "volume": "2250 ml", @@ -161,6 +165,7 @@ { "id": "laser_rifle_cheap", "type": "GUN", + "copy-from": "rifle_energy", "name": { "str": "shoddy laser rifle" }, "description": "This is a cheap laser rifle made from common components. Weak, but can be powered with rechargeable batteries.", "weight": "8 kg", @@ -211,6 +216,7 @@ { "type": "GENERIC", "id": "afs_titanium_bat", + "weapon_category": [ "CLUBS" ], "name": { "str": "titanium bat" }, "description": "A luxury baseball bat made out of titanium that was banned from competitive sport due to the increased performance that put defenders at risk.", "weight": "680 g", @@ -229,6 +235,7 @@ "id": "ceramic_knife", "type": "TOOL", "category": "weapons", + "weapon_category": [ "KNIVES" ], "name": { "str": "bodyguard knife", "str_pl": "bodyguard knives" }, "description": "Designed to evade security measures, this knife is a must have for any Cataclysm dinner party.", "weight": "390 g", @@ -246,6 +253,7 @@ "id": "laser_cannon_xray", "looks_like": "ar15", "type": "GUN", + "copy-from": "rifle_energy", "reload_noise_volume": 10, "name": { "str": "handheld x-ray cannon" }, "description": "This is an x-ray laser stripped a TX-5LR Cerberus laser turret that has been modified to use UPS power for firing. Single shot then requires reloading. Nicknamed the 'Tin Can Killer' for it's ability to destroy power armor.", diff --git a/data/mods/Aftershock/martialarts.json b/data/mods/Aftershock/martialarts.json index 54a0fef69ab9..cdceefb9ab9f 100644 --- a/data/mods/Aftershock/martialarts.json +++ b/data/mods/Aftershock/martialarts.json @@ -1,25 +1,4 @@ [ - { - "id": "style_eskrima", - "copy-from": "style_eskrima", - "type": "martial_art", - "name": { "str": "Eskrima" }, - "extend": { "weapons": [ "ceramic_knife" ] } - }, - { - "id": "style_fencing", - "copy-from": "style_fencing", - "type": "martial_art", - "name": { "str": "Fencing" }, - "extend": { "weapons": [ "afs_energy_saber_on" ] } - }, - { - "id": "style_krav_maga", - "copy-from": "style_krav_maga", - "type": "martial_art", - "name": { "str": "Krav Maga" }, - "extend": { "weapons": [ "ceramic_knife" ] } - }, { "id": "style_swordsmanship", "copy-from": "style_swordsmanship", @@ -27,13 +6,6 @@ "name": { "str": "Medieval Swordsmanship" }, "extend": { "weapons": [ "afs_energy_saber_on" ] } }, - { - "id": "style_ninjutsu", - "copy-from": "style_ninjutsu", - "type": "martial_art", - "name": { "str": "Ninjutsu" }, - "extend": { "weapons": [ "afs_energy_saber_on", "ceramic_knife" ] } - }, { "id": "style_niten", "copy-from": "style_niten", diff --git a/data/mods/CRT_EXPANSION/items/crt_gun.json b/data/mods/CRT_EXPANSION/items/crt_gun.json index 8fcc10e10990..d5df5a19220b 100644 --- a/data/mods/CRT_EXPANSION/items/crt_gun.json +++ b/data/mods/CRT_EXPANSION/items/crt_gun.json @@ -2,6 +2,7 @@ { "id": "crt_laser_pistol", "type": "GUN", + "copy-from": "pistol_energy", "name": "C.R.I.T. .5 LP", "description": "Experimental low power sidearm under development in C.R.I.T. R&D, the .5 LP is a relatively weak but accurate laser pistol. The double-barrel design compensates for the lack of raw power and yet the gun manages to be relatively easy to aim and lightweight due to the superalloy construction.", "weight": "650 g", @@ -37,6 +38,7 @@ { "id": "crt_laser_gatling", "type": "GUN", + "copy-from": "gatling_energy", "name": "C.R.I.T. Chain Laser", "description": "A tried and true favorite from the bowels of R&D hell. Based off of a researcher's video on three taped-together .5 LPs on a hand held power drill, this gun is a relatively light weapon for the amount of UPS it eats and destruction it can cause.", "weight": "2650 g", @@ -63,6 +65,7 @@ { "id": "crt_laser_carbine", "type": "GUN", + "weapon_category": [ "SUBMACHINE_GUNS", "ENERGY_WEAPONS" ], "name": "C.R.I.T. Laser Carbine", "description": "A short-barrel lightweight laser gun developed by C.R.I.T. R&D. Mainly developed to test out a new breakthrough in laser weapons.", "weight": "2150 g", @@ -98,6 +101,7 @@ { "id": "crt_energy_rifle", "type": "GUN", + "copy-from": "rifle_energy", "name": "C.R.I.T. Energy Rifle", "description": "A heavy energy gun developed by C.R.I.T. R&D. Mainly developed to test out a new breakthrough in hybrid weaponry.", "weight": "5150 g", @@ -133,6 +137,7 @@ { "id": "crt_cqb_si", "type": "GUN", + "weapon_category": [ "SUBMACHINE_GUNS", "AUTOLOADING" ], "name": "C.R.I.T. CQB Standard Issue", "description": "A simple combination gun. This military-grade semi-auto carbine couples the mid-range versatility of the 9mm with the power of the 12 gauge shotgun. To further compliment the CQB aspect, the stock is built to amplify the user's force and the rugged construction with tonfa-like grip can handle bashing in enemy heads. An integrated magazine makes it a pain to reload, but keeps your clip from ejecting accidently.", "weight": "1650 g", @@ -159,6 +164,7 @@ { "id": "crt_fire_glove", "type": "GUN", + "copy-from": "pistol_energy", "name": "C.R.I.T. Fire Glove", "description": "Experimental CQB weapon system under development in C.R.I.T. R&D.", "weight": "650 g", @@ -193,6 +199,7 @@ { "id": "pelletgun", "type": "GUN", + "copy-from": "rifle_pneumatic", "reload_noise_volume": 7, "symbol": "(", "color": "light_gray", @@ -222,6 +229,7 @@ "id": "ds_plasma_cutter", "type": "GUN", "name": "C.R.I.T. Plasma Cutter", + "copy-from": "pistol_energy", "description": "Experimental cutting tool under development in C.R.I.T. R&D. It fires an extremely hot wave of plasma that slices into materials.", "weight": "1650 g", "volume": "750 ml", @@ -249,6 +257,7 @@ "id": "ds_rivet_gun", "type": "GUN", "name": "C.R.I.T. Rivet Driver", + "weapon_category": [ "PISTOLS" ], "description": "Experimental double purpose tool under development in C.R.I.T. R&D. It takes a regular nail and then elongates it within a fraction of a second before firing it out, upon reaching a target, the fragile stake explodes into shards.", "weight": "1650 g", "volume": "750 ml", @@ -275,6 +284,7 @@ "id": "ds_line_gun", "type": "GUN", "name": "C.R.I.T. Line Gun", + "copy-from": "rifle_energy", "description": "Experimental high power cutting tool under development in C.R.I.T. R&D. It fires plasma in a wide line for slicing into dense materials.", "weight": "2650 g", "volume": "1500 ml", @@ -303,6 +313,7 @@ "id": "ds_pulse_rifle", "type": "GUN", "name": "C.R.I.T. Pulse Rifle", + "copy-from": "rifle_energy", "description": "Experimental tri-barrel sub-sonic rifle under development in C.R.I.T. R&D. Great for enclosed spaces and mobs of enemies. Shoots alloy rounds which instantly mushroom out upon impact.", "weight": "2250 g", "volume": "1 L", @@ -330,6 +341,7 @@ "id": "ds_ripper", "type": "GUN", "name": "C.R.I.T. Ripper", + "copy-from": "rifle_energy", "description": "Experimental EM saw under development in C.R.I.T. R&D. Great for distance cutting of material.", "weight": "2250 g", "volume": "1 L", diff --git a/data/mods/CRT_EXPANSION/items/crt_tools.json b/data/mods/CRT_EXPANSION/items/crt_tools.json index 8424f257909c..4fe75fc40430 100644 --- a/data/mods/CRT_EXPANSION/items/crt_tools.json +++ b/data/mods/CRT_EXPANSION/items/crt_tools.json @@ -27,6 +27,7 @@ "copy-from": "diveknife", "type": "TOOL", "category": "weapons", + "weapon_category": [ "KNIVES" ], "name": { "str": "C.R.I.T. service knife", "str_pl": "C.R.I.T. service knives" }, "description": "C.R.I.T. standard-issue knife. Has a knuckleduster guard and a small, hooked pry bar at the bottom for opening simple things and bashing in heads. Matte black finish helps it avoid flash in dim-light situations and tanto tip allows for light-armor penetration. Blade length allows for decent reach.", "color": "dark_gray", @@ -48,6 +49,7 @@ "id": "crt_knuckledusters", "type": "TOOL", "category": "weapons", + "weapon_category": [ "FIST_WEAPONS" ], "name": { "str": "pair of C.R.I.T. Knuckledusters", "str_pl": "pairs of C.R.I.T. Knuckledusters" }, "description": "C.R.I.T. CQB knuckledusters. Not too different from any normal pair other than weight.", "color": "dark_gray", @@ -66,6 +68,7 @@ "id": "sword_crt", "type": "TOOL", "category": "weapons", + "weapon_category": [ "1H_SWORDS" ], "name": { "str": "C.R.I.T. Reso-blade" }, "description": "C.R.I.T. melee weapon. Alien runes adorn the carbon steel blade. The blade seems dull at first glance, and yet upon closer observation, a hum of energy thrums from within.", "color": "dark_gray", @@ -145,6 +148,7 @@ "id": "blade_crt", "type": "TOOL", "category": "weapons", + "weapon_category": [ "1H_SWORDS" ], "name": { "str": "Dragon Slayer" }, "description": "C.R.I.T. R&D's masterpiece weapon. Alien runes adorn the ridiculously oversized carbon steel blade and a hum of energy thrums from within. Merely brushing your fingers over the weapon brings a feeling of invincibility. It looks more like a raw heap of iron than a sword. The thing is… can you wield it?", "color": "dark_gray", @@ -182,6 +186,7 @@ { "type": "GENERIC", "id": "crt_hatchet", + "weapon_category": [ "1H_AXES" ], "symbol": ";", "color": "light_gray", "name": "C.R.I.T hatchet", @@ -203,6 +208,7 @@ { "type": "GENERIC", "id": "crt_hatchet_extended", + "weapon_category": [ "1H_AXES" ], "symbol": ";", "color": "light_gray", "name": "C.R.I.T axe", @@ -244,6 +250,7 @@ "id": "crt_nstick", "type": "TOOL", "name": "C.R.I.T. night stick", + "weapon_category": [ "TONFAS" ], "description": "C.R.I.T. standard issue guard tonfa. The length allows for great reach and the domed tip allows for greater impact than a cylinder style baton.", "weight": "1028 g", "volume": "1250 ml", diff --git a/data/mods/CRT_EXPANSION/martial/CRT_Bladework.json b/data/mods/CRT_EXPANSION/martial/CRT_Bladework.json index 037b33017a51..bcb4ac8948a9 100644 --- a/data/mods/CRT_EXPANSION/martial/CRT_Bladework.json +++ b/data/mods/CRT_EXPANSION/martial/CRT_Bladework.json @@ -54,35 +54,8 @@ } ], "techniques": [ "tec_crt_blade_normal", "tec_crt_blade_rapid", "tec_crt_blade_precise", "tec_crt_blade_arpen", "tec_feint" ], - "weapons": [ - "sword_crt", - "blade_crt", - "knife_crt", - "crt_hatchet", - "crt_etool", - "knife_combat", - "knife_hunting", - "knife_rambo", - "knife_rm42", - "knife_steak", - "knife_trench", - "knife_folding", - "knife_paring", - "knife_carving", - "knife_vegetable_cleaver", - "knife_meat_cleaver", - "knife_bread", - "knife_chef", - "knife_butcher", - "makeshift_knife", - "primitive_knife", - "pockknife", - "copper_knife", - "diveknife", - "kris", - "switchblade", - "xacto" - ] + "weapon_category": [ "KNIVES", "1H_SWORDS" ], + "weapons": [ "crt_hatchet", "crt_etool", "xacto" ] }, { "type": "technique", diff --git a/data/mods/CRT_EXPANSION/martial/CRT_EnforcementBuff.json b/data/mods/CRT_EXPANSION/martial/CRT_EnforcementBuff.json index 19d5ca09c4c1..2039aabc5c58 100644 --- a/data/mods/CRT_EXPANSION/martial/CRT_EnforcementBuff.json +++ b/data/mods/CRT_EXPANSION/martial/CRT_EnforcementBuff.json @@ -58,29 +58,18 @@ } ], "techniques": [ "tec_crt_enforcement_normal", "tec_crt_enforcement_rapid", "tec_crt_enforcement_brutal" ], + "weapon_category": [ "KNIVES", "TONFAS", "BATONS", "MORNINGSTARS", "MACES" ], "weapons": [ - "knife_crt", - "crt_nstick", "crt_knuckledusters", "crt_hatchet", "crt_etool", - "baton-extended", - "cudgel", "sword_wood", "sword_nail", "2x4", - "pipe", "bat", "bwirebat", "nailbat", - "nailboard", "bat_metal", - "cane", - "mace", - "morningstar", - "tonfa", - "tonfa_wood", - "PR24-extended", "glass_macuahuitl" ] }, diff --git a/data/mods/CrazyCataclysm/crazy_items.json b/data/mods/CrazyCataclysm/crazy_items.json index 1a823f163eb7..6de19b9004d4 100644 --- a/data/mods/CrazyCataclysm/crazy_items.json +++ b/data/mods/CrazyCataclysm/crazy_items.json @@ -101,6 +101,7 @@ "id": "firekatana_off", "type": "TOOL", "category": "weapons", + "weapon_category": [ "1H_SWORDS", "JAPANESE_SWORDS" ], "name": { "str": "Rising Sun" }, "description": "This is a katana with a nozzle just behind the cutting edge of the blade. People love fire, and people love katanas, so why not put them together? The gas burners attached to this blade can really turn up the heat on your foes. Use to ignite.", "weight": "1400 g", @@ -129,22 +130,12 @@ { "id": "firekatana_on", "type": "TOOL", - "category": "weapons", + "copy-from": "firekatana_off", "name": { "str": "Rising Sun" }, "description": "This is a katana that glows with the fury and heat of the SUN! Well, okay it's not THAT hot, but getting hit with it still stings like the dickens. Use to shut off the gas.", - "weight": "1400 g", - "volume": "2250 ml", - "price": 98000, - "bashing": 4, - "cutting": 31, - "material": "steel", - "symbol": "/", "color": "red", - "ammo": "gasoline", - "max_charges": 50, "turns_per_charge": 30, "revert_to": "firekatana_off", - "techniques": [ "RAPID", "WBLOCK_2" ], "use_action": [ { "type": "fireweapon_on", @@ -162,6 +153,7 @@ "id": "zweifire_off", "type": "TOOL", "category": "weapons", + "weapon_category": [ "2H_SWORDS", "MEDIEVAL_SWORDS" ], "name": { "str": "flammenschwert (aus)", "str_pl": "flammenschwerter (aus)" }, "//": "All of this is SUPPOSED to be in German.", "description": "Ein großes zweihändiges Schwert aus Deutschland, an dessen Klinge sich, unter Zuführung von Benzin, eine anhaltende Flamme erzeugen lässt. Es ist eine sehr mächtige Waffe.", @@ -191,23 +183,13 @@ { "id": "zweifire_on", "type": "TOOL", - "category": "weapons", + "copy-from": "zweifire_off", "name": { "str": "flammenschwert", "str_pl": "flammenschwerter" }, "//": "All of this is SUPPOSED to be in German.", "description": "Ein großes zweihändiges Schwert aus Deutschland, an dessen Klinge sich, unter Zuführung von Benzin, eine anhaltende Flamme erzeugen lässt. Es ist eine sehr mächtige Waffe.", - "weight": "3400 g", - "volume": "3750 ml", - "price": 160000, - "bashing": 17, - "cutting": 40, - "material": "steel", - "symbol": "/", "color": "red", - "ammo": "gasoline", - "max_charges": 50, "turns_per_charge": 30, "revert_to": "zweifire_off", - "techniques": [ "WBLOCK_1", "WIDE", "BRUTAL", "SWEEP" ], "use_action": [ { "type": "fireweapon_on", @@ -224,6 +206,7 @@ { "type": "GENERIC", "id": "battletorch_done", + "weapon_category": [ "CLUBS" ], "name": { "str": "burnt out Louisville Slaughterer" }, "description": "A sturdy wood bat, wrapped in flame-resistant Nomex fabric. Makes a good melee weapon but better be disassembled to recycle the baseball bat and some Nomex patches.", "weight": "1343 g", @@ -241,6 +224,7 @@ "id": "battletorch", "type": "TOOL", "category": "weapons", + "weapon_category": [ "CLUBS" ], "name": { "str": "Louisville Slaughterer" }, "description": "This is sturdy wood bat, wrapped in gasoline-soaked rags and flame-resistant Nomex fabric. Light it, and the ball game will REALLY heat up. You'll need a lighter or matches to light it.", "weight": "1485 g", @@ -268,22 +252,12 @@ { "id": "battletorch_lit", "type": "TOOL", - "category": "weapons", + "copy-from": "battletorch", "name": { "str": "Louisville Slaughterer" }, "description": "This is a sturdy wood bat, wrapped in gasoline-soaked rags and flame-resistant Nomex fabric. It is burning brightly, and makes it much easier to see the baselines at night games (It also makes the umpire FAR more likely to call a ball instead of a strike).", - "weight": "1485 g", - "volume": "2 L", - "price": 16000, - "to_hit": 3, - "bashing": 18, - "material": [ "wood", "nomex" ], - "symbol": "/", "color": "red", - "initial_charges": 25, - "max_charges": 25, "turns_per_charge": 20, "revert_to": "battletorch_done", - "techniques": [ "WBLOCK_1" ], "use_action": [ { "type": "firestarter", "moves": 30 }, { diff --git a/data/mods/EW_Pack/ew_weapons.json b/data/mods/EW_Pack/ew_weapons.json index bab3e2ba363f..180a5402c4ba 100644 --- a/data/mods/EW_Pack/ew_weapons.json +++ b/data/mods/EW_Pack/ew_weapons.json @@ -2,6 +2,7 @@ { "id": "svs-24", "type": "GUN", + "copy-from": "rifle_auto", "reload_noise_volume": 10, "symbol": "(", "color": "dark_gray", @@ -188,6 +189,7 @@ { "id": "wrist_dread", "type": "GUN", + "weapon_category": [ "SUBMACHINE_GUNS", "AUTOLOADING" ], "reload_noise_volume": 10, "symbol": "(", "color": "dark_gray", diff --git a/data/mods/FictonalWeapons/fic_weapons.json b/data/mods/FictonalWeapons/fic_weapons.json index 5f42684a2baa..dbdc0a8437f6 100644 --- a/data/mods/FictonalWeapons/fic_weapons.json +++ b/data/mods/FictonalWeapons/fic_weapons.json @@ -59,6 +59,7 @@ { "id": "gunsword", "type": "GUN", + "weapon_category": [ "1SHOT", "1H_SWORDS" ], "reload_noise_volume": 10, "symbol": "I", "color": "light_gray", @@ -85,6 +86,7 @@ { "id": "gunknife", "type": "GUN", + "weapon_category": [ "1SHOT", "KNIVES" ], "reload_noise_volume": 10, "symbol": "i", "color": "light_gray", @@ -113,6 +115,7 @@ { "id": "50pistol", "type": "GUN", + "weapon_category": [ "PISTOLS", "1SHOT" ], "reload_noise_volume": 10, "symbol": "[", "color": "dark_gray", @@ -212,6 +215,7 @@ { "id": "light_carb", "type": "GUN", + "weapon_category": [ "SUBMACHINE_GUNS", "ENERGY_WEAPONS" ], "reload_noise_volume": 10, "symbol": "(", "color": "dark_gray", @@ -245,6 +249,7 @@ { "id": "arccan", "type": "GUN", + "copy-from": "rifle_energy", "reload_noise_volume": 10, "symbol": "(", "color": "dark_gray", diff --git a/data/mods/MMA/martialarts.json b/data/mods/MMA/martialarts.json index 19b69608bdb8..3d9d04e06644 100644 --- a/data/mods/MMA/martialarts.json +++ b/data/mods/MMA/martialarts.json @@ -37,6 +37,6 @@ } ], "techniques": [ "mma_tec_panzer_counter", "mma_tec_panzer_somersault", "mma_tec_panzer_precise", "mma_tec_panzer_rapid" ], - "weapons": [ "bio_claws_weapon", "bio_blade_weapon" ] + "weapon_category": [ "BIONIC_WEAPONRY" ] } ] diff --git a/data/mods/Magiclysm/items/enchanted_melee.json b/data/mods/Magiclysm/items/enchanted_melee.json index d8eac34ec824..cbbb9ba6d157 100644 --- a/data/mods/Magiclysm/items/enchanted_melee.json +++ b/data/mods/Magiclysm/items/enchanted_melee.json @@ -758,6 +758,7 @@ { "id": "rune_biomancer_weapon", "type": "GENERIC", + "weapon_category": [ "SPEARS" ], "name": { "str": "Biomancer spear" }, "//": "Effectively a durable stone spear +1 with IMPALE tech. based off Wicked Bonespear. Lorewise, it would make sense for novice Biomancers to be developing their skills in spears so they can adequately use the Bonespear(No whips/REACH3 for you!) once they're proficient enough to summon one. Should be weaker than other school weapons DPSwise due to reach.", "description": "A grotesque bone spearhead on a stout wooden pole. There is a Biomancer rune embedded at the base of the head.", @@ -777,6 +778,7 @@ { "id": "rune_technomancer_weapon", "type": "GENERIC", + "weapon_category": [ "BATONS" ], "name": { "str": "Technomancer toolbar" }, "//": "Combat stats based off crowbar +1, techniques off Halligan bar(closest non-magical substitute), weight based on 75% of hammer & wrench(since their handles aren't included) + 100% crowbar with benefit from +1 enchantment", "description": "This staff incorporates a sturdy cresent wrench on top of a prybar and a hammer on the other in a convienent package. There is a Technomancer rune embedded in the hammerhead.", @@ -796,6 +798,7 @@ { "id": "rune_magus_weapon", "type": "GENERIC", + "weapon_category": [ "QUARTERSTAVES" ], "name": { "str": "Magus staff", "str_pl": "Magus staves" }, "//": "The classical vision of the wizard gets a classic weapon. DPS Stats are between the regular and ironshod versions. Stats are slightly worse than the QS+1 due to the glass weight slowing attack speed.", "description": "A quarterstaff with runes carved into it and two glass jars, heat-tempered and infused with mana for durability, to act as mana receptacles. There are two Magi runes embedded at the tips.", @@ -814,6 +817,7 @@ "id": "rune_kelvinist_weapon", "type": "GENERIC", "name": { "str": "Kelvinist flamberge" }, + "weapon_category": [ "1H_SWORDS" ], "//": "Flame-bladed sword covers half of Kelvinist's heat-cold theme. Combat stats equivalent to cutlass +1 with BRUTAL technique.", "description": "A sword with an undulating blade, reminiscent of a flame. There is a Kelvinist rune embedded in the pommel.", "weight": "1530 g", @@ -834,6 +838,7 @@ "id": "rune_stormshaper_weapon", "type": "GENERIC", "name": { "str": "Stormshaper axe" }, + "weapon_category": [ "1H_AXES" ], "//": "Equivalent to copper ax +1, with volume reduction so it can be sheathed like the other school weapons. Metals chosen for being two most conductive metals + balancing reasons", "description": "A forged copper axe with silver trimmings and a wooden handle. There is a Stormshaper rune embedded in the eye.", "weight": "3330 g", @@ -854,6 +859,7 @@ "id": "rune_animist_weapon", "type": "GENERIC", "name": { "str": "Animist athame" }, + "weapon_category": [ "KNIVES" ], "//": "Tool qualities equivalent to steak knife, combat equiv. to copper knife + 1 w/ RAPID and BLOCK1, size/weight off combat knife +1", "description": "A steel ritual knife used by Animists to draw blood for summoning. Their school rune is embedded in the crossguard.", "weight": "504 g", @@ -872,6 +878,7 @@ "type": "GENERIC", "id": "springstaff-retracted", "category": "weapons", + "weapon_category": [ "BATONS" ], "name": { "str": "springstaff(baton)", "str_pl": "springstaves(baton)" }, "description": "This versatile weapon uses Technomancy-enhanced springs to keep the staff tips retracted while in baton configuration. Activate to extend.", "weight": "1800 g", @@ -897,6 +904,7 @@ "type": "GENERIC", "id": "springstaff-extended", "category": "weapons", + "weapon_category": [ "QUARTERSTAVES" ], "name": { "str": "springstaff(staff)", "str_pl": "springstaves(staff)" }, "description": "This versatile weapon uses Technomancy-enhanced springs to keep the staff tips from retracting while in staff configuration. Activate to extend.", "weight": "1800 g", diff --git a/data/mods/Magiclysm/items/enchanted_ranged.json b/data/mods/Magiclysm/items/enchanted_ranged.json index a414e41239fe..fdcf094f55de 100644 --- a/data/mods/Magiclysm/items/enchanted_ranged.json +++ b/data/mods/Magiclysm/items/enchanted_ranged.json @@ -61,6 +61,7 @@ "id": "gunblade", "type": "GUN", "name": "gunblade", + "weapon_category": [ "MANUAL_ACTION", "1H_SWORDS" ], "description": "Constructed similarly to a falcata, this forward-sloping blade has a short-barrel pump shotgun attached to the blade's spine for finishing blows or a first strike.", "weight": "1539 g", "volume": "1750 ml", diff --git a/data/mods/Magiclysm/items/enchanted_unarmed.json b/data/mods/Magiclysm/items/enchanted_unarmed.json index f7acb6f83caa..fe8f668979d5 100644 --- a/data/mods/Magiclysm/items/enchanted_unarmed.json +++ b/data/mods/Magiclysm/items/enchanted_unarmed.json @@ -20,6 +20,7 @@ { "type": "GENERIC", "id": "flaming_fist", + "weapon_category": [ "FIST_WEAPONS" ], "symbol": "3", "color": "red", "name": { "str": "flaming fist" }, @@ -54,6 +55,7 @@ { "type": "GENERIC", "id": "gauntlet_pounding", + "weapon_category": [ "FIST_WEAPONS" ], "symbol": "3", "color": "light_gray", "name": { "str": "gauntlet of pounding", "str_pl": "gauntlets of pounding" }, @@ -70,6 +72,7 @@ { "id": "shotcestus", "copy-from": "shotgun_base", + "weapon_category": [ "AUTOLOADING", "FIST_WEAPONS" ], "type": "GUN", "name": { "str": "shotcestus", "str_pl": "shotcesti" }, "description": "A sawn-off double-barrel shotgun mounted on a metal cestus. The lack of a stock to absorb recoil means some strength is required to fire.", @@ -96,6 +99,7 @@ { "type": "GENERIC", "id": "rune_earthshaper_weapon", + "weapon_category": [ "FIST_WEAPONS" ], "symbol": "3", "color": "light_gray", "name": { "str": "Earthshaper cestus", "str_pl": "Earthshaper cesti" }, diff --git a/data/mods/Magiclysm/items/ethereal_items.json b/data/mods/Magiclysm/items/ethereal_items.json index 9494f37e6a2d..b3b4843e2ebe 100644 --- a/data/mods/Magiclysm/items/ethereal_items.json +++ b/data/mods/Magiclysm/items/ethereal_items.json @@ -2,6 +2,7 @@ { "id": "stonefist", "type": "GENERIC", + "weapon_category": [ "FIST_WEAPONS" ], "name": { "str": "pair of magical armored stone gauntlets", "str_pl": "pairs of magical armored stone gauntlets" }, "description": "A magical flexible stonelike substance for protection and attack.", "weight": "1 g", @@ -138,6 +139,7 @@ "type": "GENERIC", "id": "stormhammer", "name": { "str": "The Stormhammer" }, + "weapon_category": [ "1H_HAMMERS" ], "description": "A crackling magical warhammer full of lightning to smite your foes with, and of course, smash things to bits!", "weight": "1337 g", "to_hit": 2, @@ -183,6 +185,7 @@ { "type": "GENERIC", "id": "stormglove", + "weapon_category": "FIST_WEAPONS", "symbol": "3", "color": "light_gray", "name": { "str": "Stormfist" }, @@ -206,6 +209,7 @@ { "id": "tentacle_whip", "type": "GENERIC", + "weapon_category": [ "WHIPS" ], "symbol": "/", "color": "brown", "name": "vicious tentacle whip", @@ -250,6 +254,7 @@ { "id": "bonespear", "type": "GENERIC", + "weapon_category": [ "SPEARS" ], "symbol": "/", "color": "light_gray", "name": { "str": "Wicked Bonespear" }, @@ -277,6 +282,7 @@ "id": "druid_recurve", "//": "Not using copy-from 'reflexbow', since wearability causes druid bow not to be wielded, and ammo / clip type causes it to require real arrows", "type": "GUN", + "weapon_category": [ "BOWS", "ELASTIC" ], "symbol": "(", "color": "yellow", "looks_like": "longbow", diff --git a/data/mods/Magiclysm/martialarts.json b/data/mods/Magiclysm/martialarts.json index f62196d17e1a..9dadb0da2e96 100644 --- a/data/mods/Magiclysm/martialarts.json +++ b/data/mods/Magiclysm/martialarts.json @@ -1,305 +1,51 @@ [ - { - "id": "style_aikido", - "copy-from": "style_aikido", - "type": "martial_art", - "name": { "str": "Aikido" }, - "extend": { - "weapons": [ - "cestus_plus_one", - "cestus_plus_two", - "flaming_fist", - "flaming_fist_plus_one", - "flaming_fist_plus_one", - "gauntlet_pounding", - "stonefist", - "stormglove", - "rune_earthshaper_weapon", - "shotcestus" - ] - } - }, { "id": "style_eskrima", "copy-from": "style_eskrima", "type": "martial_art", "name": "Eskrima", - "extend": { - "weapons": [ - "cudgel_plus_one", - "cudgel_plus_two", - "knife_combat_plus_one", - "knife_combat_plus_two", - "knife_hunting_plus_one", - "knife_hunting_plus_two", - "knife_rambo_plus_one", - "knife_rambo_plus_two", - "knife_trench_plus_one", - "knife_trench_plus_two", - "kukri_plus_one", - "kukri_plus_two", - "tanto_plus_one", - "tanto_plus_two", - "rune_animist_weapon", - "springstaff-retracted", - "mjolnir", - "gram" - ] - } + "extend": { "weapons": [ "mjolnir", "gram" ] } }, { "id": "style_fencing", "copy-from": "style_fencing", "type": "martial_art", "name": "Fencing", - "extend": { - "weapons": [ - "cudgel_plus_one", - "cudgel_plus_two", - "rapier_plus_one", - "rapier_plus_two", - "cavalry_sabre_plus_one", - "cavalry_sabre_plus_two", - "broadsword_plus_one", - "broadsword_plus_two", - "springstaff-retracted" - ] - } + "extend": { "weapons": [ "cavalry_sabre_plus_one", "cavalry_sabre_plus_two", "broadsword_plus_one", "broadsword_plus_two" ] } }, { "id": "style_medievalpole", "copy-from": "style_medievalpole", "type": "martial_art", "name": "Fior Di Battaglia", - "extend": { - "weapons": [ - "sledge_plus_one", - "sledge_plus_two", - "halberd_plus_one", - "halberd_plus_two", - "glaive_plus_one", - "glaive_plus_two", - "battleaxe_plus_one", - "battleaxe_plus_two", - "fire_ax_plus_one", - "fire_ax_plus_two", - "pickaxe_plus_one", - "pickaxe_plus_two", - "stormhammer", - "rune_stormshaper_weapon", - "rune_technomancer_weapon" - ] - } - }, - { - "id": "style_judo", - "copy-from": "style_judo", - "type": "martial_art", - "name": "Judo", - "extend": { - "weapons": [ - "cestus_plus_one", - "cestus_plus_two", - "flaming_fist", - "flaming_fist_plus_one", - "flaming_fist_plus_one", - "gauntlet_pounding", - "stonefist", - "stormglove", - "rune_earthshaper_weapon", - "shotcestus" - ] - } + "extend": { "weapons": [ "rune_technomancer_weapon" ] } }, { "id": "style_krav_maga", "copy-from": "style_krav_maga", "type": "martial_art", "name": "Krav Maga", - "extend": { - "weapons": [ - "cudgel_plus_one", - "cudgel_plus_two", - "knife_combat_plus_one", - "knife_combat_plus_two", - "knife_hunting_plus_one", - "knife_hunting_plus_two", - "knife_rambo_plus_one", - "knife_rambo_plus_two", - "knife_trench_plus_one", - "knife_trench_plus_two", - "kukri_plus_one", - "kukri_plus_two", - "tanto_plus_one", - "tanto_plus_two", - "rune_animist_weapon", - "m47a1", - "springstaff-retracted", - "gram" - ] - } + "extend": { "weapons": [ "gram" ] } }, { "id": "style_swordsmanship", "copy-from": "style_swordsmanship", "type": "martial_art", "name": "Medieval Swordsmanship", - "extend": { - "weapons": [ - "arming_sword_plus_one", - "arming_sword_plus_two", - "broadsword_plus_one", - "broadsword_plus_two", - "estoc_plus_one", - "estoc_plus_two", - "longsword_plus_one", - "longsword_plus_two", - "zweihander_plus_one", - "zweihander_plus_two", - "rune_kelvinist_weapon", - "gunblade", - "gram" - ] - } + "extend": { "weapons": [ "rune_kelvinist_weapon", "gunblade", "gram" ] } }, { "id": "style_ninjutsu", "copy-from": "style_ninjutsu", "type": "martial_art", "name": "Ninjutsu", - "extend": { - "weapons": [ - "arming_sword_plus_one", - "arming_sword_plus_two", - "broadsword_plus_one", - "broadsword_plus_two", - "cavalry_sabre_plus_one", - "cavalry_sabre_plus_two", - "cutlass_plus_one", - "cutlass_plus_two", - "dao_plus_one", - "dao_plus_two", - "i_staff_plus_one", - "i_staff_plus_two", - "q_staff_plus_one", - "q_staff_plus_two", - "jian_plus_one", - "jian_plus_two", - "katana_plus_one", - "katana_plus_two", - "khopesh_plus_one", - "khopesh_plus_two", - "kris_plus_one", - "kris_plus_two", - "kukri_plus_one", - "kukri_plus_two", - "knife_combat_plus_one", - "knife_combat_plus_two", - "knife_hunting_plus_one", - "knife_hunting_plus_two", - "knife_rambo_plus_one", - "knife_rambo_plus_two", - "knife_trench_plus_one", - "knife_trench_plus_two", - "longsword_plus_one", - "longsword_plus_two", - "nodachi_plus_one", - "nodachi_plus_two", - "scimitar_plus_one", - "scimitar_plus_two", - "sword_xiphos_plus_one", - "sword_xiphos_plus_two", - "tanto_plus_one", - "tanto_plus_two", - "wakizashi_plus_one", - "wakizashi_plus_two", - "rune_animist_weapon", - "rune_kelvinist_weapon", - "rune_magus_weapon", - "springstaff-extended", - "gunblade" - ] - } - }, - { - "id": "style_niten", - "copy-from": "style_niten", - "type": "martial_art", - "name": "Niten Ichi-Ryu", - "extend": { - "weapons": [ - "katana_plus_one", - "katana_plus_two", - "nodachi_plus_one", - "nodachi_plus_two", - "wakizashi_plus_one", - "wakizashi_plus_two" - ] - } + "extend": { "weapons": [ "nodachi_plus_one", "nodachi_plus_two", "gunblade" ] } }, { "id": "style_silat", "copy-from": "style_silat", "type": "martial_art", "name": "Silat", - "extend": { - "weapons": [ - "cudgel_plus_one", - "cudgel_plus_two", - "glaive_plus_one", - "glaive_plus_two", - "i_staff_plus_one", - "i_staff_plus_two", - "q_staff_plus_one", - "q_staff_plus_two", - "kris_plus_one", - "kris_plus_two", - "knife_combat_plus_one", - "knife_combat_plus_two", - "knife_hunting_plus_one", - "knife_hunting_plus_two", - "knife_rambo_plus_one", - "knife_rambo_plus_two", - "knife_trench_plus_one", - "knife_trench_plus_two", - "naginata_plus_one", - "naginata_plus_two", - "scimitar_plus_one", - "scimitar_plus_two", - "tanto_plus_one", - "tanto_plus_two", - "rune_animist_weapon", - "rune_biomancer_weapon", - "rune_magus_weapon", - "bonespear", - "springstaff-retracted", - "springstaff-extended", - "gungnir", - "laevateinn" - ] - } - }, - { - "id": "style_sojutsu", - "copy-from": "style_sojutsu", - "type": "martial_art", - "name": "Sojutsu", - "extend": { - "weapons": [ - "glaive_plus_one", - "glaive_plus_two", - "halberd_plus_one", - "halberd_plus_two", - "naginata_plus_one", - "naginata_plus_two", - "pike_plus_one", - "pike_plus_two", - "qiang_plus_one", - "qiang_plus_two", - "rune_biomancer_weapon", - "bonespear", - "gungnir" - ] - } + "extend": { "weapons": [ "scimitar", "scimitar_plus_one", "scimitar_plus_two" ] } } ] diff --git a/data/mods/Medieval_Stuff/ranged.json b/data/mods/Medieval_Stuff/ranged.json index a1509276f932..e6faf97ef998 100644 --- a/data/mods/Medieval_Stuff/ranged.json +++ b/data/mods/Medieval_Stuff/ranged.json @@ -3,6 +3,7 @@ "id": "fire_lance", "type": "GUN", "name": "fire lance", + "weapon_category": [ "SPEARS" ], "description": "An ancient Chinese spear, with a small tube attached for a charge of gunpowder. While it has an extremely short range, it gives a powerful edge in close combat.", "weight": "1538 g", "volume": "3 L", diff --git a/data/mods/Medieval_Stuff/tools.json b/data/mods/Medieval_Stuff/tools.json index 2f966113fa05..1176e0db9618 100644 --- a/data/mods/Medieval_Stuff/tools.json +++ b/data/mods/Medieval_Stuff/tools.json @@ -3,6 +3,7 @@ "id": "dusksword", "type": "TOOL", "category": "weapons", + "weapon_category": [ "1H_SWORDS" ], "name": "Dusk", "//": "Blame Kadian. 3:", "description": "A longsword, made out of a very dark, almost black metal. It seems to hold a greater edge than usual steel blades and feels …more comfortable in the hand. While the blade is made out of this dark metal, the crossguard and the pommel seem to be made out of a brighter material, which feels abnormally cool to the touch.", diff --git a/data/mods/NW_Pack/nw_martialarts.json b/data/mods/NW_Pack/nw_martialarts.json deleted file mode 100644 index be064fcd4a30..000000000000 --- a/data/mods/NW_Pack/nw_martialarts.json +++ /dev/null @@ -1,30 +0,0 @@ -[ - { - "id": "style_swordsmanship", - "copy-from": "style_swordsmanship", - "type": "martial_art", - "name": "Medieval Swordsmanship", - "extend": { "weapons": [ "laevateinn_replica" ] } - }, - { - "id": "style_ninjutsu", - "copy-from": "style_ninjutsu", - "type": "martial_art", - "name": "Ninjutsu", - "extend": { "weapons": [ "laevateinn_replica" ] } - }, - { - "id": "style_silat", - "copy-from": "style_silat", - "type": "martial_art", - "name": "Silat", - "extend": { "weapons": [ "gungnir_replica" ] } - }, - { - "id": "style_sojutsu", - "copy-from": "style_sojutsu", - "type": "martial_art", - "name": "Sojutsu", - "extend": { "weapons": [ "gungnir_replica" ] } - } -] diff --git a/data/mods/No_Hope/Items/guns.json b/data/mods/No_Hope/Items/guns.json index 808e52e18f62..a1c1a71b68e2 100644 --- a/data/mods/No_Hope/Items/guns.json +++ b/data/mods/No_Hope/Items/guns.json @@ -3,6 +3,7 @@ "id": "laser_cannon", "looks_like": "ar15", "type": "GUN", + "copy-from": "rifle_energy", "reload_noise_volume": 10, "name": { "str": "handheld laser cannon" }, "description": "This is a laser cannon stripped from the barrel of a TX-5LR Cerberus laser turret that has been modified to use UPS power for firing.", @@ -61,6 +62,7 @@ { "id": "unbio_blaster_gun", "type": "GUN", + "copy-from": "rifle_energy", "reload_noise_volume": 10, "name": "fusion blaster rifle", "description": "A cyborg's fusion blaster arm, cannibalized and converted into a rifle. This improvised weapon is powered by a standard UPS connection.", @@ -90,7 +92,7 @@ [ "underbarrel mount", 1 ] ], "ammo_effects": [ "PLASMA", "EXPLOSIVE", "FLAME" ], - "flags": [ "NO_UNLOAD", "PYROMANIAC_WEAPON", "NEVER_JAMS" ] + "flags": [ "USE_UPS", "NO_UNLOAD", "PYROMANIAC_WEAPON", "NEVER_JAMS" ] }, { "id": "l_sp_45", @@ -150,6 +152,7 @@ { "id": "l_long_45", "looks_like": "sw_619", + "copy-from": "rifle_manual", "type": "GUN", "reload_noise_volume": 10, "name": { "str_sp": "L1820 Long Ranger" }, @@ -382,6 +385,7 @@ "id": "rm360_carbine", "looks_like": "ar15", "type": "GUN", + "weapon_category": [ "GATLING_GUNS", "AUTOLOADING" ], "reload_noise_volume": 10, "name": { "str": "RM360 rotary carbine" }, "description": "This unusual Rivtech carbine features five rotating barrels and a large capacity helical magazine. Durable and easy to handle, it was designed to overcome the deficiencies of its low power .22LR cartridge by rapidly delivering a large number of projectiles.", @@ -419,6 +423,7 @@ { "id": "rm99_pistol", "type": "GUN", + "weapon_category": [ "REVOLVERS", "MANUAL_ACTION" ], "reload_noise_volume": 10, "name": { "str": "RM99 revolver" }, "//": "Bear in mind that most revolvers don't reach $1K. Expensive.", @@ -454,6 +459,7 @@ "id": "heavy_rail_rifle", "looks_like": "ar15", "type": "GUN", + "weapon_category": [ "RIFLES", "MAGNETIC" ], "reload_noise_volume": 10, "name": { "str": "heavy rail rifle" }, "description": "This overpowered and overengineered variant of the ferromagnetic rail rifle was designed to deliver electromagnetically-driven obliteration right through whatever obstacles that lies in front of it, be it buildings, vehicles or hordes of walking dead. However, the hefty bulk and weight of this weapon compared to most contemporary rifles makes it somewhat cumbersome to wield; not to mention that it consumes UPS charges at a tremendous rate, making it impractical for use in prolonged engagements.", @@ -492,6 +498,7 @@ "id": "rebar_rifle", "looks_like": "ar15", "type": "GUN", + "weapon_category": [ "RIFLES", "MAGNETIC" ], "reload_noise_volume": 10, "name": { "str": "ferromagnetic rail rifle" }, "description": "A single-shot, electrically propelled, steel rail launcher handcrafted from scrap. The hypervelocity metal stake that it fires is accelerated to the point of spontaneous combustion by a Lorentz force generated by electromagnetic induction, powered by a standard UPS.", @@ -527,6 +534,7 @@ "copy-from": "gun_base", "looks_like": "ar15", "type": "GUN", + "weapon_category": [ "RIFLES", "PNEUMATIC" ], "name": { "str": "nail rifle" }, "description": "This is a nailgun that has been extensively modified with the addition of a short barrel, stock and hand guard. It can be reloaded using detachable magazines and is an overall much more effective weapon.", "weight": "4904 g", @@ -561,6 +569,7 @@ "id": "pneumatic_shotgun", "looks_like": "pipe_double_shotgun", "type": "GUN", + "weapon_category": [ "SHOTGUNS", "PNEUMATIC" ], "reload_noise_volume": 10, "symbol": "(", "color": "dark_gray", diff --git a/data/mods/TEST_DATA/martialarts.json b/data/mods/TEST_DATA/martialarts.json new file mode 100644 index 000000000000..adbd1c4c5c70 --- /dev/null +++ b/data/mods/TEST_DATA/martialarts.json @@ -0,0 +1,12 @@ +[ + { + "type": "martial_art", + "id": "test_style_ma1", + "name": { "str": "Test Style 1" }, + "description": "Test martial arts 1", + "initiate": [ "You use a test martial art.", "%s enters a generic combat stance." ], + "allow_melee": true, + "weapons": [ "test_weapon1" ], + "weapon_category": [ "TEST_CAT1" ] + } +] diff --git a/data/mods/TEST_DATA/weapons.json b/data/mods/TEST_DATA/weapons.json new file mode 100644 index 000000000000..5804a7a2896e --- /dev/null +++ b/data/mods/TEST_DATA/weapons.json @@ -0,0 +1,29 @@ +[ + { + "type": "weapon_category", + "id": "TEST_CAT1", + "name": "Test category", + "//": "Not meant for player's eyes, this is for testing only." + }, + { + "id": "test_weapon1", + "type": "GENERIC", + "category": "weapons", + "name": { "str": "test melee weapon 1" }, + "description": "Test melee weapon 1.", + "weight": "1 kg", + "volume": "1 L", + "symbol": ";" + }, + { + "id": "test_weapon2", + "type": "GENERIC", + "category": "weapons", + "name": { "str": "test melee weapon 2" }, + "description": "Test melee weapon 2.", + "weight": "1 kg", + "volume": "1 L", + "symbol": ";", + "weapon_category": [ "TEST_CAT1" ] + } +] diff --git a/doc/JSON_INFO.md b/doc/JSON_INFO.md index a222f6d8d37a..3f5444c07af9 100644 --- a/doc/JSON_INFO.md +++ b/doc/JSON_INFO.md @@ -71,7 +71,9 @@ Use the `Home` key to return to the top. + [Comestibles](#comestibles) + [Containers](#containers) + [Melee](#melee) + - [`Melee Weapon_category`](#melee-weapon_category) + [Gun](#gun) + - [`Ranged Weapon_category`](#ranged-weapon_category) + [Gunmod](#gunmod) + [Batteries](#batteries) + [Tools](#tools) @@ -1681,6 +1683,7 @@ See also VEHICLE_JSON.md "price": 100, // Used when bartering with NPCs. For stackable items (ammo, comestibles) this is the price for stack_size charges. Can use string "cent" "USD" or "kUSD". "price_post": "1 USD", // Same as price but represent value post cataclysm. Can use string "cent" "USD" or "kUSD". "material": ["COTTON"], // Material types, can be as many as you want. See materials.json for possible options +"weapon_category": [ "WEAPON_CAT1" ], // (Optional) Weapon categories this item is in for martial arts. "cutting": 0, // (Optional, default = 0) Cutting damage caused by using it as a melee weapon. This value cannot be negative. "bashing": 0, // (Optional, default = 0) Bashing damage caused by using it as a melee weapon. This value cannot be negative. "to_hit": 0, // (Optional, default = 0) To-hit bonus if using it as a melee weapon (whatever for?) @@ -1992,6 +1995,47 @@ It could also be written as a generic item ("type": "GENERIC") with "armor_data" "to_hit": 1 // To-hit bonus if using it as a melee weapon ``` +#### Melee `Weapon_category` + +| Weapon Category | Description +| --- | --- +| FIST_WEAPONS | Handheld weapons used to supplement fists in martial arts. +| --- | --- +| KNIVES | Short blade fixed onto a handle, for cutting or as weapon. +| SHORT_SWORDS | One handed sword of length between a large knife and a 'proper' sword. +| 1H_SWORDS | Sword meant to be wielded with one hand. +| 2H_SWORDS | Sword meant to be wielded with both hands. +| DUELING_SWORDS | Swords with thin profiles typically meant for stabbing. +| BIONIC_SWORDS | Swords integrated into the body via bionics. +| --- | --- +| SAPS | Very short length of typically flexible material, with a weighted tip. +| BATONS | Thin, balanced rod of strong material. +| TONFAS | Unique looking T-shaped baton believed to originate from China. +| CLUBS | Rod with a thicker striking head. May be one or two-handed. +| QUARTERSTAVES | Long pole wielded with both hands. +| MACES | Short one-handed weapon with a striking head firmly attached to a short handle. +| MORNINGSTARS | Typically two-handed weapon with a striking head firmly attached to a long handle. +| FLAILS | Striking head attached to handle by flexible rope/chain. +| 1H_HAMMERS | Hammers meant to be wielded with a single hand. +| 2H_HAMMERS | Hammers meant to be wielded with both hands. +| --- | --- +| HAND_AXES | Axe with a short handle, typically wielded in one hand, ocassionally thrown. +| 1H_AXES | Axes meant to be wielded with one hand, typically with a handle longer than the handaxe. +| 2H_AXES | Axes meant to be wielded with two hands. +| --- | --- +| WHIPS | Flexible tool used to strike at range. +| --- | --- +| HOOKED_POLES | Polearm with hooked end (Like a shepherd's crook) +| SPEARS | Polearm with a long shaft and a sharp tip made of hard material. +| PIKES | Very long spear that can only be wielded in two hands, very unwieldy. +| GLAIVES | Polearm with a single-edged blade mounted on the end. + +| Weapon Styles | Description +| --- | --- +| MEDIEVAL_SWORDS | Swords associated with European culture. +| JAPANESE_SWORDS | Swords associated with Japanese culture. +| BIONIC_WEAPONRY | Weapons integrated into the body via bionics. + ### Gun Guns can be defined like this: @@ -2017,9 +2061,9 @@ Guns can be defined like this: "burst": 5, // Number of shots fired in burst mode "clip_size": 100, // Maximum amount of ammo that can be loaded "ups_charges": 0, // Additionally to the normal ammo (if any), a gun can require some charges from an UPS. This also works on mods. Attaching a mod with ups_charges will add/increase ups drain on the weapon. -"reload": 450, // Amount of time to reload, 100 = 1 second = 1 "turn" -"built_in_mods": ["m203"], //An array of mods that will be integrated in the weapon using the IRREMOVABLE tag. -"default_mods": ["m203"] //An array of mods that will be added to a weapon on spawn. +"reload": 450, // Amount of time to reload, 100 = 1 second = 1 "turn". Default 100. +"built_in_mods": ["m203"], // An array of mods that will be integrated in the weapon using the IRREMOVABLE tag. +"default_mods": ["m203"] // An array of mods that will be added to a weapon on spawn. "barrel_length": "30 mL", // Amount of volume lost when the barrel is sawn. Approximately 250 ml per inch is a decent approximation. "valid_mod_locations": [ [ "accessories", 4 ], [ "grip", 1 ] ], // The valid locations for gunmods and the mount of slots for that location. ``` @@ -2034,6 +2078,40 @@ Alternately, every item (book, tool, armor, even food) can be used as gun if it } ``` +#### Ranged `Weapon_category` + +| Weapon Category | Description +| --- | --- +| BOWS | Elastic launching device for long-shafted projectiles. +| CROSSBOWS | Elastic launching device mounted on a frame to be triggered. +| SLINGSHOTS | Elastic, handheld launching device typically used for small round projectiles. +| SLINGS | Projectile weapon using a cradle connected to two retention cords, used to fling blunt projectiles. +| --- | --- +| PISTOLS | Handgun with a chamber integral to the gun barrel. In-game, any handgun that isn't a revolver goes here. +| REVOLVERS | Repeating handgun with a revolving cylinder containing multiple chambers. +| SUBMACHINE_GUNS | Magazine fed automatic carbine designed to fire handgun cartridges. +| RIFLES | Long barrelled firearms designed for more accurate shooting. +| MACHINE_GUNS | Fully automatic autoloading firearm designed for sustained fire. +| GATLING_GUNS | Rapid firing multi barrel firearm. +| SHOTGUNS | Long barreled firearm generally designed to fire shotshells. +| --- | --- +| GRENADE_LAUNCHERS | Firearm designed to propel large caliber projectile typically loaded with warhead of some kind (smoke, gas, explosive, etc) +| ROCKET_LAUNCHERS | Firearm that propels unguided, rocket-propelled projectile. +| --- | --- +| FLAMETHROWERS | Ranged incendiary device designed to propel a controllable jet of fire. +| WATER_CANNONS | It fires water at your enemies. +| SPRAY_GUNS | It spews chemicals at your enemies. + +| Action category | Description +| --- | --- +| 1SHOT | Ranged weapon with at least one barrel but no loading system/magazine. +| AUTOLOADING | Ranged weapon with autoloading mechanisms like blowback, gas-operated, or recoil operated systems. +| MANUAL_ACTION | Ranged weapon using manual actions like bolt/pump/lever. +| ENERGY_WEAPONS | Weapon designed to utilize focused energy (sonic, electromagnetic waves, particle beams, etc). Both Ranged/Melee. +| MAGNETIC | Weapon that propels payload via electromagnetism. +| PNEUMATIC | Ranged weapon that propels payload via compressed air. +| ELASTIC | Ranged weapon that propels payload via elastic band. + ### Gunmod Gun mods can be defined like this: @@ -2537,7 +2615,7 @@ The contents of use_action fields can either be a string indicating a built-in f } ``` -###random Descriptions +### Random Descriptions Any item with a "snippet_category" entry will have random descriptions, based on that snippet category: ``` @@ -2666,6 +2744,20 @@ For every `type` other then `bionic` and `bionic_group` following entries scale For `type`s: `bionic` and `bionic_group` following enrties can scale the results: `max` this value (in contrary to `max` for other `type`s) corresponds to maximum butchery roll that will be passed to check_butcher_cbm() in activity_handlers.cpp; view check_butcher_cbm() to see corresponding distribution chances for roll values passed to that function +### Weapon Category + +Used to classify weapons (guns or melee) into groups, mainly for use in martial arts. + +```c++ +{ + "type": "weapon_category", + "id": "WEAP_CAT" + "name": "Weapon Category" +} +``` + +`"name"` is a translatable string used for UI display in martial arts UI, while ID is used for JSON entries. + ### Furniture ```C++ diff --git a/doc/MARTIALART_JSON.md b/doc/MARTIALART_JSON.md index 2331a993b9fc..6d9e6ef9e642 100644 --- a/doc/MARTIALART_JSON.md +++ b/doc/MARTIALART_JSON.md @@ -30,7 +30,7 @@ "tec_debug_arpen" ] "weapons": [ "tonfa" ] // List of weapons usable with this art - +"weapon_category": [ "WEAPON_CAT1" ], // Weapons that have one of the categories in here are usable with this art. ``` ### Techniques diff --git a/lang/extract_json_strings.py b/lang/extract_json_strings.py index 8fd102288842..d79955d81b2a 100755 --- a/lang/extract_json_strings.py +++ b/lang/extract_json_strings.py @@ -808,6 +808,12 @@ def extract_snippet(state, item): writestr(state, snip["text"]) +def extract_weapon_category(state, item): + name = item["name"] + comment = "weapon category name" + writestr(state, name, comment=comment) + + # these objects need to have their strings specially extracted extract_specials = { "body_part": extract_bodypart, @@ -839,6 +845,7 @@ def extract_snippet(state, item): "ter_furn_transform": extract_ter_furn_transform, "trap": extract_trap, "vehicle_spawn": extract_vehspawn, + "weapon_category": extract_weapon_category, } diff --git a/src/init.cpp b/src/init.cpp index d3eacf08fae4..4538e0b411c5 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -388,6 +388,7 @@ void DynamicDataLoader::initialize() add( "tool_quality", &quality::load_static ); add( "technique", &load_technique ); + add( "weapon_category", &weapon_category::load_weapon_categories ); add( "martial_art", &load_martial_art ); add( "effect_type", &load_effect_type ); add( "obsolete_terrain", &overmap::load_obsolete_terrains ); @@ -622,6 +623,7 @@ void DynamicDataLoader::unload_data() VehicleSpawn::reset(); vitamin::reset(); vpart_info::reset(); + weapon_category::reset(); weather_types::reset(); zone_type::reset_zones(); l10n_data::unload_mod_catalogues(); diff --git a/src/item.cpp b/src/item.cpp index 0af278f806b8..195e403723e1 100644 --- a/src/item.cpp +++ b/src/item.cpp @@ -1508,6 +1508,14 @@ void item::basic_info( std::vector &info, const iteminfo_query *parts, info.push_back( iteminfo( "BASE", _( "Category: " ), "
" + get_category().name() + "
" ) ); } + if( !type->weapon_category.empty() && parts->test( iteminfo_parts::WEAPON_CATEGORY ) ) { + const std::string weapon_categories = enumerate_as_string( type->weapon_category.begin(), + type->weapon_category.end(), [&]( const weapon_category_id & elem ) { + return elem->name().translated(); + }, enumeration_conjunction::none ); + info.push_back( iteminfo( "BASE", _( "Weapon Category: " ), + "
" + weapon_categories + "
" ) ); + } if( parts->test( iteminfo_parts::DESCRIPTION ) ) { insert_separation_line( info ); diff --git a/src/item_factory.cpp b/src/item_factory.cpp index f4562a6cd9ee..2af4f99d0618 100644 --- a/src/item_factory.cpp +++ b/src/item_factory.cpp @@ -1191,6 +1191,12 @@ void Item_factory::check_definitions() const } } + for( const weapon_category_id &cat_id : type->weapon_category ) { + if( !cat_id.is_valid() ) { + msg += string_format( "invalid weapon category: %s\n", cat_id.c_str() ); + } + } + if( type->has_flag( "FIRESTARTER" ) && !type->can_have_charges() && !type->get_use( "firestarter" ) ) { @@ -2438,6 +2444,10 @@ void Item_factory::load_basic_info( const JsonObject &jo, itype &def, const std: jo.read( "repairs_like", def.repairs_like ); } + if( jo.has_member( "weapon_category" ) ) { + optional( jo, true, "weapon_category", def.weapon_category, auto_flags_reader {} ); + } + if( jo.has_member( "damage_states" ) ) { auto arr = jo.get_array( "damage_states" ); def.damage_min_ = arr.get_int( 0 ) * itype::damage_scale; @@ -2554,9 +2564,7 @@ void Item_factory::load_basic_info( const JsonObject &jo, itype &def, const std: set_properties_from_json( jo, "properties", def ); } - for( auto &s : jo.get_tags( "techniques" ) ) { - def.techniques.insert( matec_id( s ) ); - } + assign( jo, "techniques", def.techniques ); set_use_methods_from_json( jo, "use_action", def.use_methods ); diff --git a/src/iteminfo_query.h b/src/iteminfo_query.h index 77d5da064317..dd5f0d181248 100644 --- a/src/iteminfo_query.h +++ b/src/iteminfo_query.h @@ -25,6 +25,8 @@ enum class iteminfo_parts : size_t { BASE_AMOUNT, BASE_DEBUG, + WEAPON_CATEGORY, + MED_JOY, MED_PORTIONS, MED_STIMULATION, diff --git a/src/itype.h b/src/itype.h index 654173527957..f1caf9a7b534 100644 --- a/src/itype.h +++ b/src/itype.h @@ -902,6 +902,8 @@ struct itype { // What item this item repairs like if it doesn't have a recipe itype_id repairs_like; + std::set weapon_category; + std::string snippet_category; translation description; // Flavor text ascii_art_id picture_id; diff --git a/src/martialarts.cpp b/src/martialarts.cpp index 3c4bc116364f..e1890b5920df 100644 --- a/src/martialarts.cpp +++ b/src/martialarts.cpp @@ -21,6 +21,7 @@ #include "generic_factory.h" #include "input.h" #include "item.h" +#include "item_factory.h" #include "itype.h" #include "json.h" #include "map.h" @@ -47,11 +48,45 @@ static const std::string flag_UNARMED_WEAPON( "UNARMED_WEAPON" ); namespace { +generic_factory weapon_category_factory( "weapon category" ); generic_factory ma_techniques( "martial art technique" ); generic_factory martialarts( "martial art style" ); generic_factory ma_buffs( "martial art buff" ); } // namespace +template<> +const weapon_category &weapon_category_id::obj() const +{ + return weapon_category_factory.obj( *this ); +} + +/** @relates string_id */ +template<> +bool weapon_category_id::is_valid() const +{ + return weapon_category_factory.is_valid( *this ); +} + +void weapon_category::load_weapon_categories( const JsonObject &jo, const std::string &src ) +{ + weapon_category_factory.load( jo, src ); +} + +void weapon_category::reset() +{ + weapon_category_factory.reset(); +} + +void weapon_category::load( const JsonObject &jo, const std::string & ) +{ + mandatory( jo, was_loaded, "name", name_ ); +} + +const std::vector &weapon_category::get_all() +{ + return weapon_category_factory.get_all(); +} + matype_id martial_art_learned_from( const itype &type ) { if( !type.can_use( "MA_MANUAL" ) ) { @@ -287,6 +322,7 @@ void martialart::load( const JsonObject &jo, const std::string & ) optional( jo, was_loaded, "techniques", techniques, auto_flags_reader {} ); optional( jo, was_loaded, "weapons", weapons, auto_flags_reader {} ); + optional( jo, was_loaded, "weapon_category", weapon_category, auto_flags_reader {} ); optional( jo, was_loaded, "strictly_melee", strictly_melee, false ); optional( jo, was_loaded, "strictly_unarmed", strictly_unarmed, false ); @@ -362,6 +398,11 @@ void check_martialarts() debugmsg( "Weapon %s in style %s doesn't exist.", weapon, ma.name ); } } + for( const weapon_category_id &weap_cat : ma.weapon_category ) { + if( !weap_cat.is_valid() ) { + debugmsg( "Weapon category %s in style %s is invalid.", weap_cat.c_str(), ma.name ); + } + } } for( const auto &t : ma_techniques.get_all() ) { ::check( t.reqs, string_format( "technique %s", t.id.c_str() ) ); @@ -833,7 +874,11 @@ bool martialart::has_technique( const Character &u, const matec_id &tec_id ) con bool martialart::has_weapon( const itype_id &itt ) const { - return weapons.count( itt ) > 0; + return weapons.count( itt ) > 0 || + std::any_of( itt->weapon_category.begin(), itt->weapon_category.end(), + [&]( const weapon_category_id & weap ) { + return weapon_category.count( weap ) > 0; + } ); } bool martialart::weapon_valid( const item &it ) const @@ -1397,6 +1442,12 @@ std::string ma_technique::get_description() const return dump; } +struct cat_order { + bool operator()( const weapon_category_id &lhs, const weapon_category_id &rhs ) const { + return localized_compare( lhs->name().translated(), rhs->name().translated() ); + } +}; + bool ma_style_callback::key( const input_context &ctxt, const input_event &event, int entnum, uilist * ) { @@ -1483,26 +1534,68 @@ bool ma_style_callback::key( const input_context &ctxt, const input_event &event buffer += tech.obj().get_description() + "--\n"; } - if( !ma.weapons.empty() ) { - std::vector weapons; - std::transform( ma.weapons.begin(), ma.weapons.end(), - std::back_inserter( weapons ), []( const itype_id & wid )-> std::string { - if( item::nname( wid ) == get_player_character().weapon.display_name() ) - { - return colorize( item::nname( wid ) + _( " (wielded)" ), c_light_cyan ); - } else - { - return item::nname( wid ); - } } ); - // Sorting alphabetically makes it easier to find a specific weapon - std::sort( weapons.begin(), weapons.end(), localized_compare ); - // This removes duplicate names (e.g. a real weapon and a replica sharing the same name) from the weapon list. - auto last = std::unique( weapons.begin(), weapons.end() ); - weapons.erase( last, weapons.end() ); - - buffer += vgettext( "Weapon:", "Weapons:", - weapons.size() ) + std::string( " " ); - buffer += enumerate_as_string( weapons ); + if( !( ma.weapons.empty() && ma.weapon_category.empty() ) ) { + Character &player = get_player_character(); + std::map< weapon_category_id, std::vector, cat_order > weapons_by_category; + // Iterate over every item in the game. + for( const itype *itp : item_controller->all() ) { + const itype_id &weap_id = itp->get_id(); + bool wielded = player.weapon.typeId() == weap_id; + bool carried = player.has_item_with( [weap_id]( const item & it ) { + return it.typeId() == weap_id; + } ); + // Check if the item has any one of the weapon categories listed in the MA. + for( const weapon_category_id &cat : ma.weapon_category ) { + auto cat_check = [cat]( const weapon_category_id & category ) { + return category == cat; + }; + if( std::any_of( itp->weapon_category.begin(), + itp->weapon_category.end(), cat_check ) ) { + // If so, add it to the categories it applies to. + std::string weaponname = wielded ? colorize( item::nname( weap_id ) + _( " [wielded]" ), + c_light_cyan ) : + carried ? colorize( item::nname( weap_id ), c_yellow ) : item::nname( weap_id ); + weapons_by_category[cat].push_back( weaponname ); + } + } + } + + buffer += _( "Weapons:" ) + std::string( "\n" ); + + for( std::pair< const weapon_category_id, std::vector > &list : weapons_by_category ) { + // This removes duplicate names (e.g. a real weapon and a replica sharing the same name) from the weapon list. + list.second.erase( std::unique( list.second.begin(), list.second.end() ), list.second.end() ); + // then sort weapons within alphabetically. + std::sort( list.second.begin(), list.second.end(), localized_compare ); + // If item factory somehow manages to crap out and it has no translation/name, use the ID. + std::string cat_name = list.first.is_valid() ? list.first->name().translated() + : colorize( "ID: " + std::string( list.first ), c_red ); + buffer += std::string( "
" ) + cat_name + ": " + + std::string( "
" ); + buffer += enumerate_as_string( list.second ) + std::string( "\n" ); + } + + if( !ma.weapons.empty() ) { + std::vector weapons; + for( const itype_id &wid : ma.weapons ) { + const itype_id &weap_id = wid->get_id(); + bool wielded = player.weapon.typeId() == weap_id; + bool carried = player.has_item_with( [weap_id]( const item & it ) { + return it.typeId() == weap_id; + } ); + std::string weaponname = wielded ? colorize( item::nname( wid ) + _( " [wielded]" ), + c_light_cyan ) : + carried ? colorize( item::nname( wid ), c_yellow ) : item::nname( wid ); + weapons.push_back( weaponname ); + } + // Sorting alphabetically makes it easier to find a specific weapon + std::sort( weapons.begin(), weapons.end(), localized_compare ); + // This removes duplicate names (e.g. a real weapon and a replica sharing the same name) from the weapon list. + auto last = std::unique( weapons.begin(), weapons.end() ); + weapons.erase( last, weapons.end() ); + buffer += _( "
Special:
" ); + buffer += enumerate_as_string( weapons ); + } } catacurses::window w; diff --git a/src/martialarts.h b/src/martialarts.h index 71701087a2a2..d0dcac661d5b 100644 --- a/src/martialarts.h +++ b/src/martialarts.h @@ -22,6 +22,33 @@ class effect; class item; struct itype; +class weapon_category +{ + public: + static void load_weapon_categories( const JsonObject &jo, const std::string &src ); + static void reset(); + + void load( const JsonObject &jo, const std::string &src ); + + static const std::vector &get_all(); + + const weapon_category_id &getId() const { + return id; + } + + const translation &name() const { + return name_; + } + + private: + friend class generic_factory; + + weapon_category_id id; + bool was_loaded = false; + + translation name_; +}; + matype_id martial_art_learned_from( const itype & ); struct ma_requirements { @@ -252,6 +279,7 @@ class martialart bool leg_block_with_bio_armor_legs = false; std::set techniques; // all available techniques std::set weapons; // all style weapons + std::set weapon_category; // all style weapon categories bool strictly_unarmed = false; // Punch daggers etc. bool strictly_melee = false; // Must have a weapon. bool allow_melee = false; // Can use unarmed or with ANY weapon diff --git a/src/type_id.h b/src/type_id.h index 9f1fe6f922e7..fed78f471067 100644 --- a/src/type_id.h +++ b/src/type_id.h @@ -79,6 +79,9 @@ using item_group_id = string_id; struct itype; using itype_id = string_id; +class weapon_category; +using weapon_category_id = string_id; + class ma_buff; using mabuff_id = string_id; diff --git a/tests/martial_art_test.cpp b/tests/martial_art_test.cpp new file mode 100644 index 000000000000..863641fbfa1a --- /dev/null +++ b/tests/martial_art_test.cpp @@ -0,0 +1,23 @@ +#include "catch/catch.hpp" +#include "player_helpers.h" + +#include "avatar.h" +#include "martialarts.h" + +static const itype_id itype_test_weapon1( "test_weapon1" ); +static const itype_id itype_test_weapon2( "test_weapon2" ); + +static const matype_id test_style_ma1( "test_style_ma1" ); + +TEST_CASE( "martial arts", "[martial_arts]" ) +{ + SECTION( "martial art valid weapon" ) { + GIVEN( "a weapon that fits the martial art" ) { + CHECK( test_style_ma1->has_weapon( itype_test_weapon1 ) ); + } + + GIVEN( "a weapon that fits the martial art weapon category" ) { + CHECK( test_style_ma1->has_weapon( itype_test_weapon2 ) ); + } + } +}