From 67f223b3f4d3bd7d281d91a24ecb8cced5380af5 Mon Sep 17 00:00:00 2001 From: Tonkatsu Date: Sat, 30 Nov 2019 18:19:16 -0600 Subject: [PATCH] I know now why you cry: Shotgun additions (#34638) --- data/json/itemgroups/gunmod.json | 83 +++ data/json/itemgroups/guns.json | 83 ++- data/json/itemgroups/item_groups.json | 6 +- data/json/itemgroups/magazines.json | 2 + data/json/items/classes/gun.json | 32 +- data/json/items/gun/shot.json | 555 +++++++++++++----- data/json/items/gunmod/loading_port.json | 21 + data/json/items/gunmod/underbarrel.json | 58 +- data/json/items/magazine/shot.json | 41 +- data/json/items/migration.json | 15 + data/json/mapgen/basement/basement_guns.json | 2 +- data/json/mapgen/basement/basement_meth.json | 2 +- data/json/mapgen/necropolis/necropolisB1.json | 2 +- data/json/mapgen/s_gun.json | 6 +- data/json/professions.json | 2 +- data/json/recipes/recipe_obsolete.json | 5 + data/json/recipes/recipe_weapon.json | 38 +- data/json/recipes/weapon/mods.json | 14 + data/json/vehicleparts/turret.json | 8 +- doc/JSON_INFO.md | 1 + tests/ranged_balance.cpp | 4 +- 21 files changed, 765 insertions(+), 215 deletions(-) create mode 100644 data/json/items/gunmod/loading_port.json diff --git a/data/json/itemgroups/gunmod.json b/data/json/itemgroups/gunmod.json index 7e696b6f7757f..bcab51e8ce62e 100644 --- a/data/json/itemgroups/gunmod.json +++ b/data/json/itemgroups/gunmod.json @@ -34,6 +34,7 @@ [ "pistol_bayonet", 10 ], [ "pistol_scope", 10 ], [ "pistol_stock", 10 ], + [ "arredondo_chute", 20 ], [ "rail_laser_sight", 40 ], [ "red_dot_sight", 70 ], [ "recoil_stock", 60 ], @@ -58,6 +59,88 @@ [ "sword_bayonet", 10 ] ] }, + { + "type": "item_group", + "id": "sights_all", + "//": "All aftermarket sights.", + "items": [ + [ "improve_sights", 84 ], + [ "offset_sights", 6 ], + [ "red_dot_sight", 42 ], + [ "holo_sight", 18 ], + [ "laser_sight", 15 ], + [ "rail_laser_sight", 6 ], + [ "acog_scope", 21 ], + [ "rifle_scope", 25 ], + [ "pistol_scope", 4 ] + ] + }, + { + "type": "item_group", + "id": "sights_pistol", + "//": "Aftermarket sights that are for pistols.", + "items": [ [ "improve_sights", 84 ], [ "red_dot_sight", 42 ], [ "laser_sight", 15 ], [ "pistol_scope", 4 ] ] + }, + { + "type": "item_group", + "id": "sights_SMG", + "//": "Aftermarket sights that are for SMG's.", + "items": [ + [ "improve_sights", 84 ], + [ "red_dot_sight", 42 ], + [ "holo_sight", 18 ], + [ "laser_sight", 15 ], + [ "rail_laser_sight", 6 ], + [ "pistol_scope", 4 ] + ] + }, + { + "type": "item_group", + "id": "sights_rifle", + "//": "Aftermarket sights that are for rifles.", + "items": [ + [ "improve_sights", 84 ], + [ "red_dot_sight", 42 ], + [ "holo_sight", 18 ], + [ "laser_sight", 15 ], + [ "rail_laser_sight", 6 ], + [ "offset_sights", 6 ], + [ "acog_scope", 21 ], + [ "rifle_scope", 25 ] + ] + }, + { + "type": "item_group", + "id": "sights_shotgun", + "//": "Aftermarket sights that are for shotguns.", + "items": [ + [ "improve_sights", 84 ], + [ "red_dot_sight", 42 ], + [ "holo_sight", 18 ], + [ "laser_sight", 15 ], + [ "offset_sights", 6 ] + ] + }, + { + "type": "item_group", + "id": "sights_shotgun_readied", + "subtype": "distribution", + "//": "For non-static shotguns (not in stores, closets ).", + "entries": [ { "group": "sights_shotgun", "prob": 50 }, { "group": "EMPTY_GROUP", "prob": 50 } ] + }, + { + "type": "item_group", + "id": "sights_shotgun_static", + "subtype": "distribution", + "//": "For shotguns that haven't been 'made ready', e.g sitting in a store or garage.", + "entries": [ { "group": "sights_shotgun", "prob": 20 }, { "group": "EMPTY_GROUP", "prob": 80 } ] + }, + { + "type": "item_group", + "id": "sights_launcher", + "//": "Aftermarket sights that are for launchers.", + "items": [ [ "improve_sights", 84 ], [ "red_dot_sight", 42 ], [ "holo_sight", 18 ] ] + }, { "type": "item_group", "id": "gunmod_energy", diff --git a/data/json/itemgroups/guns.json b/data/json/itemgroups/guns.json index 84ee65c7ad9c5..ba3d4262cda3a 100644 --- a/data/json/itemgroups/guns.json +++ b/data/json/itemgroups/guns.json @@ -292,8 +292,13 @@ "id": "guns_shotgun_common", "//": "Shotguns commonly owned by citizens and found in many locations.", "items": [ - { "item": "mossberg_500", "prob": 50, "charges-min": 0, "charges-max": 8 }, - { "item": "remington_870", "prob": 100, "charges-min": 0, "charges-max": 6 }, + { "item": "mossberg_500", "prob": 33, "charges-min": 0, "charges-max": 6 }, + { "item": "remington_870", "prob": 35, "charges-min": 0, "charges-max": 6 }, + { "item": "mossberg_500_security", "prob": 17, "charges-min": 0, "charges-max": 6 }, + { "item": "remington_870_express", "prob": 18, "charges-min": 0, "charges-max": 6 }, + { "item": "browning_a5", "prob": 14, "charges-min": 0, "charges-max": 5 }, + { "item": "remington_1100", "prob": 17, "charges-min": 0, "charges-max": 10 }, + { "item": "mossberg_930", "prob": 15, "charges-min": 0, "charges-max": 6 }, { "item": "shotgun_d", "prob": 30, "charges-min": 0, "charges-max": 2 }, { "item": "shotgun_s", "prob": 30 } ] @@ -301,23 +306,46 @@ { "type": "item_group", "id": "guns_shotgun_rare", - "//": "Less common shotguns including those only used by police/paramilitary forces.", - "items": [ + "//": "Uncommon or rare shotguns in civilian possession.", + "subtype": "distribution", + "entries": [ { "item": "ksg", "prob": 50, "charges-min": 0, "charges-max": 7 }, - { "item": "m1014", "prob": 80, "charges-min": 0, "charges-max": 8 }, - { "item": "rm120c", "prob": 30, "charges-min": 0, "charges-max": 5 }, - { "item": "rm228", "prob": 30, "charges-min": 0, "charges-max": 10 }, - { "item": "l_def_12", "prob": 20, "charges-min": 0, "charges-max": 8 }, - { "item": "saiga_12", "prob": 50, "charges-min": 0, "charges-max": 10 }, - { "item": "saiga_410", "prob": 40, "charges-min": 0, "charges-max": 10 } + { "item": "tavor_12", "prob": 5, "charges-min": 0, "charges-max": 16 }, + { "item": "m1014", "prob": 10, "charges-min": 0, "charges-max": 8 }, + { "item": "SPAS_12", "prob": 2, "charges-min": 0, "charges-max": 9 }, + { "item": "rm120c", "prob": 5, "charges-min": 0, "charges-max": 5 }, + { "item": "rm228", "prob": 5, "charges-min": 0, "charges-max": 10 } + ] + }, + { + "type": "item_group", + "id": "guns_shotgun_rare_readied", + "subtype": "distribution", + "entries": [ + { "group": "guns_shotgun_rare", "prob": 22, "contents-group": "sights_shotgun_readied" }, + { "item": "winchester_1887", "prob": 10, "charges-min": 0, "charges-max": 6 }, + { "item": "winchester_1897", "prob": 7, "charges-min": 0, "charges-max": 6 } + ] + }, + { + "type": "item_group", + "id": "guns_shotgun_rare_static", + "subtype": "distribution", + "entries": [ + { "group": "guns_shotgun_rare", "prob": 22, "contents-group": "sights_shotgun_static" }, + { "item": "winchester_1887", "prob": 10, "charges-min": 0, "charges-max": 6 }, + { "item": "winchester_1897", "prob": 7, "charges-min": 0, "charges-max": 6 } ] }, { "type": "item_group", "id": "guns_shotgun_milspec", - "//": "Military specification shotguns only ever found at military sites.", + "//": "Military shotguns currently in service.", "items": [ { "item": "rm20", "prob": 20, "charges-min": 0, "charges-max": 20 }, + { "item": "remington_870_express", "prob": 50, "charges-min": 0, "charges-max": 6 }, + { "item": "remington_870_breacher", "prob": 20, "charges-min": 0, "charges-max": 4 }, + { "item": "mossberg_590", "prob": 50, "charges-min": 0, "charges-max": 9 }, { "item": "m1014", "prob": 100, "charges-min": 0, "charges-max": 8 } ] }, @@ -325,7 +353,12 @@ "type": "item_group", "id": "guns_shotgun_obscure", "//": "Imported or otherwise very obscure shotguns.", - "items": [ ] + "items": [ + { "item": "saiga_12", "prob": 50, "charges-min": 0, "charges-max": 10 }, + { "item": "streetsweeper", "prob": 4, "charges-min": 0, "charges-max": 12 }, + { "item": "USAS_12", "prob": 1, "charges-min": 0, "charges-max": 10 }, + { "item": "saiga_410", "prob": 40, "charges-min": 0, "charges-max": 10 } + ] }, { "type": "item_group", @@ -336,8 +369,7 @@ { "item": "bigun", "prob": 10, "charges-min": 0, "charges-max": 6 }, { "item": "pipe_double_shotgun", "prob": 70, "charges-min": 0, "charges-max": 2 }, { "item": "pipe_shotgun", "prob": 100 }, - { "item": "revolver_shotgun", "prob": 30, "charges-min": 0, "charges-max": 6 }, - { "item": "surv_levershotgun", "prob": 40, "charges-min": 0, "charges-max": 8 } + { "item": "revolver_shotgun", "prob": 30, "charges-min": 0, "charges-max": 6 } ] }, { @@ -417,6 +449,28 @@ { "group": "guns_shotgun_rare", "prob": 70 } ] }, + { + "type": "item_group", + "id": "guns_rare_static", + "//": "Less common guns of all types including those only used by police/paramilitary forces.", + "items": [ + { "group": "guns_pistol_rare", "prob": 100 }, + { "group": "guns_smg_rare", "prob": 30 }, + { "group": "guns_rifle_rare", "prob": 70 }, + { "group": "guns_shotgun_rare_static", "prob": 70 } + ] + }, + { + "type": "item_group", + "id": "guns_rare_readied", + "//": "Less common guns of all types including those only used by police/paramilitary forces.", + "items": [ + { "group": "guns_pistol_rare", "prob": 100 }, + { "group": "guns_smg_rare", "prob": 30 }, + { "group": "guns_rifle_rare", "prob": 70 }, + { "group": "guns_shotgun_rare_readied", "prob": 70 } + ] + }, { "type": "item_group", "id": "guns_milspec", @@ -491,6 +545,7 @@ { "item": "m1014", "prob": 10, "charges-min": 0, "charges-max": 8 }, { "item": "m4a1", "prob": 35, "charges-min": 0, "charges-max": 30 }, { "item": "as50", "prob": 5, "charges-min": 0, "charges-max": 10 }, + { "item": "USAS_12", "prob": 1, "charges-min": 0, "charges-max": 10 }, { "item": "hk417_13", "prob": 30, "charges-min": 0, "charges-max": 20 } ] }, diff --git a/data/json/itemgroups/item_groups.json b/data/json/itemgroups/item_groups.json index 640a571ae91e3..c66c5a9348c15 100644 --- a/data/json/itemgroups/item_groups.json +++ b/data/json/itemgroups/item_groups.json @@ -2559,9 +2559,9 @@ [ "tazer", 25 ], [ "remington_700", 5 ], [ "3006", 5 ], - [ "l_def_12", 8 ], - [ "remington_870", 8 ], - [ "mossberg_500", 8 ], + [ "ksg", 8 ], + [ "remington_870_express", 8 ], + [ "mossberg_500_security", 8 ], [ "shot_beanbag", 25 ], [ "rm120c", 2 ], [ "rm20", 1 ], diff --git a/data/json/itemgroups/magazines.json b/data/json/itemgroups/magazines.json index 4792860345c53..f790786bda6a4 100644 --- a/data/json/itemgroups/magazines.json +++ b/data/json/itemgroups/magazines.json @@ -273,6 +273,8 @@ "items": [ [ "saiga10mag", 50 ], [ "saiga30mag", 10 ], + [ "USAS10mag", 20 ], + [ "USAS20mag", 5 ], [ "saiga410mag_10rd", 30 ], [ "saiga410mag_30rd", 10 ], [ "shot_speedloader6", 15 ], diff --git a/data/json/items/classes/gun.json b/data/json/items/classes/gun.json index 4b6626546eb24..e46fc93f7cf2a 100644 --- a/data/json/items/classes/gun.json +++ b/data/json/items/classes/gun.json @@ -182,14 +182,14 @@ [ "barrel", 1 ], [ "bore", 1 ], [ "brass catcher", 1 ], - [ "grip", 1 ], + [ "grip mount", 1 ], [ "mechanism", 4 ], [ "muzzle", 1 ], - [ "rail", 1 ], - [ "sights", 1 ], + [ "rail mount", 1 ], + [ "sights mount", 1 ], [ "sling", 1 ], - [ "stock", 1 ], - [ "underbarrel", 1 ] + [ "stock mount", 1 ], + [ "underbarrel mount", 1 ] ] }, { @@ -201,6 +201,28 @@ "flags": [ "RELOAD_ONE", "PUMP_ACTION" ], "faults": [ "fault_gun_blackpowder", "fault_gun_dirt" ] }, + { + "abstract": "shotgun_pump_3gun", + "copy-from": "shotgun_pump", + "type": "GUN", + "//": "Anything that has the right pin arrangement for a speedloader chute", + "name": "base race shotgun, pump", + "valid_mod_locations": [ + [ "accessories", 4 ], + [ "barrel", 1 ], + [ "bore", 1 ], + [ "brass catcher", 1 ], + [ "grip mount", 1 ], + [ "mechanism", 4 ], + [ "muzzle", 1 ], + [ "loading port", 1 ], + [ "rail mount", 1 ], + [ "sights mount", 1 ], + [ "sling", 1 ], + [ "stock mount", 1 ], + [ "underbarrel mount", 1 ] + ] + }, { "abstract": "smg_base", "copy-from": "gun_base", diff --git a/data/json/items/gun/shot.json b/data/json/items/gun/shot.json index 5ddab3e6d5176..95e408c745889 100644 --- a/data/json/items/gun/shot.json +++ b/data/json/items/gun/shot.json @@ -1,32 +1,9 @@ [ - { - "id": "abzats", - "copy-from": "shotgun_base", - "looks_like": "remington_870", - "type": "GUN", - "name": "heavy automatic shotgun", - "description": "Modified from the massive M2 Browning, this heavy machine gun has been re-chambered and re-bored for shotgun shells, and completely redesigned to be wielded unmounted by one user.", - "weight": "21800 g", - "volume": "4 L", - "price": 745000, - "to_hit": -3, - "bashing": 12, - "material": [ "hardsteel", "wood" ], - "symbol": "(", - "color": "dark_gray", - "dispersion": 450, - "durability": 6, - "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 3 ] ], - "loudness": 25, - "reload": 400, - "barrel_length": 3, - "magazines": [ [ "shot", [ "shotbelt_20" ] ] ] - }, { "id": "ashot", + "copy-from": "pistol_base", "looks_like": "glock_17", "type": "GUN", - "reload_noise_volume": 10, "name": "12 gauge pistol", "description": "A single shot pistol that loads 12 gauge shotgun shells, handcrafted from scrap.", "weight": "828 g", @@ -38,8 +15,7 @@ "symbol": "(", "color": "brown", "ammo": "shot", - "skill": "pistol", - "ranged_damage": 6, + "ranged_damage": -11, "dispersion": 900, "durability": 6, "clip_size": 1, @@ -47,12 +23,13 @@ "valid_mod_locations": [ [ "accessories", 1 ], [ "grip", 1 ], - [ "stock", 1 ], + [ "stock mount", 1 ], [ "mechanism", 4 ], - [ "sights", 1 ], + [ "sights mount", 1 ], [ "rail mount", 1 ], [ "underbarrel mount", 1 ] ], + "faults": [ "fault_gun_blackpowder", "fault_gun_dirt" ], "flags": [ "NEVER_JAMS", "RELOAD_EJECT" ] }, { @@ -60,30 +37,40 @@ "copy-from": "shotgun_base", "looks_like": "remington_870", "type": "GUN", - "name": "manual autoshotgun", - "//": "Hard to value this thing, but considering what a $2000 pricepoint puts it on par with, that is too much.", - "description": "A six-barrel hand-cranked automatic shotgun made from bicycle parts. Though a bit unwieldy, it is exceedingly powerful for such a simple machine.", + "name": "12-gauge gatling gun", + "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": "2500 ml", + "volume": "4500 ml", "price": 180000, "to_hit": -2, "bashing": 9, - "material": [ "aluminum", "steel" ], + "material": [ "steel" ], "dispersion": 855, + "durability": 8, + "burst": 6, + "ups_charges": 1, + "reload": 200, + "valid_mod_locations": [ [ "accessories", 4 ], [ "sights", 1 ], [ "sling", 1 ], [ "rail mount", 1 ] ], + "magazines": [ [ "shot", [ "shotbelt_20" ] ] ], + "flags": [ "MOUNTED_GUN" ] + }, + { + "id": "browning_a5", + "copy-from": "shotgun_base", + "type": "GUN", + "name": "Browning Auto 5", + "description": "This humble looking shotgun was the earliest successful semi-automatic shotgun, and the second most successful in U.S. history, with over 2.7 million made between 1902 and 1998. The recoil tuning mechanism under the handguard and long dwell time of the action make for pleasant shooting.", + "weight": "4100 g", + "volume": "3525 ml", + "looks_like": "remington_870", + "price": 80000, + "to_hit": -1, + "bashing": 12, + "material": [ "steel", "wood" ], + "ranged_damage": 1, + "dispersion": 425, "durability": 6, - "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 3 ] ], - "clip_size": 6, - "reload": 110, - "valid_mod_locations": [ - [ "accessories", 4 ], - [ "grip", 1 ], - [ "sights", 1 ], - [ "sling", 1 ], - [ "stock", 1 ], - [ "rail mount", 1 ], - [ "underbarrel mount", 1 ] - ], - "flags": [ "RELOAD_ONE", "RELOAD_EJECT" ] + "clip_size": 5 }, { "id": "ksg", @@ -94,13 +81,14 @@ "name_plural": "Kel-Tec KSG", "description": "A bullpup pump-action shotgun, the Kel-Tec KSG uses a pair of magazine tubes to increase its capacity. Each tube has to be loaded separately, but this offers the option of loading different ammunition for different situations.", "weight": "1550 g", - "volume": 0, + "volume": "4784 ml", "price": 99000, "to_hit": -1, "bashing": 9, "material": [ "steel", "plastic" ], - "ranged_damage": 3, - "dispersion": 345, + "ranged_damage": 1, + "dispersion": 425, + "sight_dispersion": 500, "durability": 7, "clip_size": 7, "built_in_mods": [ "ksg_aux_shotgun" ], @@ -109,47 +97,15 @@ [ "barrel", 1 ], [ "bore", 1 ], [ "brass catcher", 1 ], - [ "grip", 1 ], + [ "grip mount", 1 ], [ "mechanism", 4 ], [ "muzzle", 1 ], - [ "rail", 1 ], + [ "rail mount", 1 ], [ "sights", 1 ], [ "sling", 1 ], [ "underbarrel", 2 ] ] }, - { - "id": "l_def_12", - "copy-from": "shotgun_pump", - "looks_like": "remington_870", - "type": "GUN", - "name": "L12 Defender", - "name_plural": "L12 Defender", - "//": "Similar stats to the NeoStead 2000 which has a similar operating mechanism", - "description": "Leadworks LLC's sole shotgun offering to date is surprisingly compact thanks to its moving barrel and forward-back pump mechanism. Additionally it has built in red dot and laser sights. Like most other Leadworks products it doesn't accept third-party modifications.", - "weight": "3850 g", - "volume": "1500 ml", - "price": 92000, - "to_hit": -1, - "bashing": 6, - "material": [ "steel", "plastic" ], - "dispersion": 375, - "durability": 8, - "clip_size": 8, - "magazines": [ [ "shot", [ "shot_speedloader8" ] ] ], - "built_in_mods": [ "lead_red_dot_sight", "lead_laser_sight" ], - "valid_mod_locations": [ - [ "accessories", 2 ], - [ "brass catcher", 1 ], - [ "sights", 1 ], - [ "sling", 1 ], - [ "underbarrel", 1 ], - [ "muzzle", 1 ], - [ "grip mount", 1 ], - [ "rail mount", 1 ], - [ "stock mount", 1 ] - ] - }, { "id": "m1014", "copy-from": "shotgun_base", @@ -157,39 +113,105 @@ "type": "GUN", "name": "M1014 shotgun", "name_plural": "M1014 shotguns", - "description": "Its relative simplicity and reliability made the Benelli M4 the most successful semi-automatic shotgun ever created.", + "description": "Benelli's first gas-operated shotgun, featuring dual pistons for enhanced reliability with various loads and a collapsible buttstock that reduces length by almost 8 inches. Adopted in 1999 as the M1014 Joint Service Combat Shotgun, the Benelli M4 is one of the finest combat shotguns available.", "weight": "3820 g", - "volume": "2500 ml", + "volume": "2069 ml", "price": 169900, "to_hit": -1, "bashing": 12, "material": [ "steel", "plastic" ], - "ranged_damage": 4, + "ranged_damage": 1, "dispersion": 345, "durability": 9, "clip_size": 8, - "magazines": [ [ "shot", [ "shot_speedloader8" ] ] ], - "flags": [ "RELOAD_ONE" ] + "valid_mod_locations": [ + [ "accessories", 2 ], + [ "sling", 1 ], + [ "barrel", 1 ], + [ "rail mount", 1 ], + [ "loading port", 1 ], + [ "sights", 1 ], + [ "underbarrel mount", 1 ] + ], + "flags": [ "RELOAD_ONE", "NEEDS_UNFOLD" ] }, { "id": "mossberg_500", - "copy-from": "shotgun_pump", + "copy-from": "shotgun_pump_3gun", "looks_like": "remington_870", "type": "GUN", - "name": "Mossberg 500", - "name_plural": "Mossberg 500", - "description": "The Mossberg 500 is a popular series of pump-action shotguns, often acquired for military use. It is noted for its high durability and low recoil.", + "name": "Mossberg 500 Field", + "name_plural": "Mossberg 500 Field", + "description": "The Mossberg 500 is a popular series of pump-action shotguns, often acquired for military use. It is noted for its high durability and low recoil. This one is fitted with a 28 inch barrel with sight rib.", "weight": "3401 g", - "volume": "2500 ml", + "volume": "2942 ml", "price": 53800, "to_hit": -1, + "bashing": 13, + "barrel_length": "108 ml", + "material": [ "steel", "aluminum", "plastic" ], + "dispersion": 325, + "ranged_damage": 4, + "durability": 9, + "clip_size": 6 + }, + { + "id": "mossberg_500_security", + "copy-from": "mossberg_500", + "type": "GUN", + "name": "Mossberg 500 Security", + "name_plural": "Mossberg 500 Security", + "description": "The Mossberg 500 is a popular series of pump-action shotguns, often acquired for military use. It is noted for its high durability and low recoil. This one is fitted with an 18.5 inch barrel.", + "weight": "3062 g", + "volume": "2900 ml", + "looks_like": "mossberg_500", + "price": 53800, "bashing": 12, - "material": [ "steel", "plastic" ], + "barrel_length": "18 ml", "dispersion": 375, - "durability": 9, + "ranged_damage": 1 + }, + { + "id": "mossberg_590", + "copy-from": "mossberg_500_security", + "type": "GUN", + "name": "Mossberg 590A1", + "name_plural": "Mossberg 590A1", + "description": "The Mossberg 590A1 is a military and police oriented version of the Mossberg 500. It features a heavier barrel, a bayonet lug, and a different magazine tube for easier cleaning and maintenance.", + "weight": "3289 g", + "volume": "2990 ml", + "looks_like": "mossberg_500", + "default_mods": [ "sights_mount", "underbarrel_mount" ], + "price": 70000, + "barrel_length": 0, + "clip_size": 9 + }, + { + "id": "mossberg_930", + "copy-from": "shotgun_base", + "type": "GUN", + "name": "Mossberg 930 SPX", + "description": "This semi-automatic offering from Mossberg features a recoil reducing gas system, rifle style sights and a factory-installed picatinny rail. Affordable pricing and decent ergonomics make this a popular entry-level 3-gun shotgun.", + "weight": "3402 g", + "volume": "2942 ml", + "looks_like": "m1014", + "price": 60000, + "to_hit": -1, + "bashing": 12, + "material": [ "steel", "aluminum", "plastic" ], + "ranged_damage": 1, + "dispersion": 345, + "durability": 7, "clip_size": 8, - "magazines": [ [ "shot", [ "shot_speedloader8" ] ] ], - "barrel_length": 1 + "valid_mod_locations": [ + [ "accessories", 2 ], + [ "sling", 1 ], + [ "barrel", 1 ], + [ "rail mount", 1 ], + [ "loading port", 1 ], + [ "sights", 1 ], + [ "underbarrel mount", 1 ] + ] }, { "id": "pipe_double_shotgun", @@ -201,10 +223,11 @@ "clip_size": 2, "modes": [ [ "DEFAULT", "single", 1 ], [ "DOUBLE", "double", 2 ] ], "relative": { "weight": 500, "volume": 1, "price": 5000 }, + "barrel_length": "72 ml", "valid_mod_locations": [ [ "accessories", 2 ], [ "sling", 1 ], - [ "stock", 1 ], + [ "stock mount", 1 ], [ "barrel", 1 ], [ "grip mount", 1 ], [ "rail mount", 1 ], @@ -231,11 +254,11 @@ "durability": 6, "clip_size": 1, "reload": 200, - "barrel_length": 4, + "barrel_length": "36 ml", "valid_mod_locations": [ [ "accessories", 2 ], [ "sling", 1 ], - [ "stock", 1 ], + [ "stock mount", 1 ], [ "barrel", 1 ], [ "muzzle", 1 ], [ "grip mount", 1 ], @@ -247,23 +270,99 @@ }, { "id": "remington_870", - "copy-from": "shotgun_pump", + "copy-from": "shotgun_pump_3gun", "//": "Tileset whitelist for shotguns.", "type": "GUN", - "name": "Remington 870", - "name_plural": "Remington 870", - "description": "One of the most popular shotguns on the market, the Remington 870 is used by hunters and law enforcement agencies alike thanks to its high accuracy and muzzle velocity.", + "name": "Remington 870 Wingmaster", + "name_plural": "Remington 870 Wingmaster", + "description": "With over 10 million made, the Remington 870 is one of the most popular shotguns on the market, and finds use with hunters and law enforcement agencies alike thanks to its high accuracy and muzzle velocity. This one is a 28 inch barreled model for hunting fowl and game.", "weight": "3400 g", - "volume": "2500 ml", + "volume": "2765 ml", "price": 58700, "to_hit": -1, - "bashing": 12, + "bashing": 13, "material": [ "steel", "plastic" ], + "dispersion": 305, + "ranged_damage": 6, + "durability": 8, + "clip_size": 5, + "barrel_length": "135 ml" + }, + { + "id": "remington_870_breacher", + "copy-from": "remington_870", + "type": "GUN", + "name": "Remington 870 MCS", + "description": "This Remington 870 Modular Combat system shotgun is currently setup for breaching operations, with a 10 inch barrel and no stock. It is small enough to carry as a secondary weapon, specifically to pop open any pesky doors you might come across. The grip's design makes for controllable yet unpleasant recoil, and the barrel lacks any sights.", + "weight": "2812 g", + "volume": "1427 ml", + "looks_like": "remington_870", + "ranged_damage": -5, + "skill": "pistol", + "modes": [ [ "DEFAULT", "single", 1 ] ], + "//": "dispersion should be 300 moa, but CDDA exaggerates dispersion.", + "sight_dispersion": 750, + "clip_size": 4, + "handling_modifier": -6, + "price": 53800, + "barrel_length": 0, + "valid_mod_locations": [ + [ "accessories", 4 ], + [ "barrel", 1 ], + [ "bore", 1 ], + [ "brass catcher", 1 ], + [ "grip mount", 1 ], + [ "loading port", 1 ], + [ "mechanism", 4 ], + [ "rail mount", 1 ], + [ "sights", 1 ], + [ "sling", 1 ], + [ "stock", 1 ], + [ "underbarrel mount", 1 ] + ] + }, + { + "id": "remington_870_express", + "copy-from": "remington_870", + "type": "GUN", + "name": "Remington 870 express", + "description": "With over 10 million made, the Remington 870 is one of the most popular shotguns on the market, and finds use with hunters and law enforcement agencies alike thanks to its high accuracy and muzzle velocity. This one is an 18.5 inch barreled defensive model.", + "weight": "3402 g", + "volume": "2696 ml", + "looks_like": "remington_870", + "ranged_damage": 1, "dispersion": 345, + "clip_size": 7, + "price": 33800 + }, + { + "id": "remington_1100", + "copy-from": "shotgun_base", + "type": "GUN", + "name": "Remington 1100 competiton", + "description": "This semi-automatic shotgun features a self compensating gas system that will feed a wide array of shells while also reducing recoil. Introduced in 1963, it is favored by law enforcement, hunters and competition shooters, and has been the best selling autoloading shotgun in U.S. history. This is the nickel finished, teflon coated competition model, with a full length magazine tube and 30 inch barrel.", + "weight": "3742 g", + "volume": "3285 ml", + "looks_like": "remington_870", + "price": 130000, + "to_hit": -1, + "bashing": 13, + "material": [ "steel", "plastic" ], + "dispersion": 315, + "ranged_damage": 6, "durability": 8, - "clip_size": 6, - "magazines": [ [ "shot", [ "shot_speedloader6" ] ] ], - "barrel_length": 3 + "clip_size": 10, + "built_in_mods": [ "match_trigger" ], + "default_mods": [ "recoil_stock" ], + "valid_mod_locations": [ + [ "accessories", 2 ], + [ "sling", 1 ], + [ "barrel", 1 ], + [ "rail mount", 1 ], + [ "loading port", 1 ], + [ "sights mount", 1 ], + [ "underbarrel mount", 1 ] + ] }, { "id": "revolver_shotgun", @@ -282,7 +381,7 @@ "durability": 6, "clip_size": 6, "reload": 200, - "barrel_length": 4, + "barrel_length": "36 ml", "valid_mod_locations": [ [ "accessories", 2 ], [ "sling", 1 ], @@ -293,7 +392,7 @@ [ "sights mount", 1 ], [ "underbarrel mount", 1 ] ], - "flags": [ "RELOAD_ONE", "NEVER_JAMS", "RELOAD_EJECT" ] + "flags": [ "RELOAD_ONE", "RELOAD_EJECT", "NEVER_JAMS" ] }, { "id": "saiga_12", @@ -301,19 +400,29 @@ "looks_like": "remington_870", "type": "GUN", "name": "Saiga-12", - "description": "The Saiga-12 is a semi-automatic shotgun designed on the same Kalashnikov pattern as the AK47 rifle. It reloads with a magazine, rather than one shell at a time like most shotguns.", + "description": "The Saiga-12 is a semi-automatic shotgun designed on the same Kalashnikov pattern as the AK47 rifle. It reloads with a magazine, rather than one shell at a time like most shotguns. It is one of the last designs of Mikhail Kalashnikov, and was popular in open division shotgun competitions prior to its ban from import via executive order.", "weight": "3550 g", - "volume": "2750 ml", - "price": 189000, + "volume": "3279 ml", + "price": 75000, "to_hit": -1, "bashing": 12, "material": [ "steel", "plastic" ], "dispersion": 395, "durability": 7, - "barrel_length": 3, + "barrel_length": "81 ml", "magazine_well": 1, - "magazines": [ [ "shot", [ "saiga10mag", "saiga30mag" ] ] ], - "flags": [ "NEVER_JAMS" ] + "valid_mod_locations": [ + [ "accessories", 2 ], + [ "sling", 1 ], + [ "stock mount", 1 ], + [ "mechanism", 4 ], + [ "barrel", 1 ], + [ "grip mount", 1 ], + [ "rail mount", 1 ], + [ "sights mount", 1 ], + [ "underbarrel mount", 1 ] + ], + "magazines": [ [ "shot", [ "saiga10mag", "saiga30mag" ] ] ] }, { "id": "shotgun_d", @@ -323,14 +432,18 @@ "description": "An old shotgun, possibly antique. It is little more than a pair of barrels, a wood stock, and a hammer to strike the cartridges.", "clip_size": 2, "modes": [ [ "DEFAULT", "single", 1 ], [ "DOUBLE", "double", 2 ] ], - "relative": { "weight": 500, "volume": 1, "price": 5000 }, + "weight": "3402 g", + "volume": "2946 ml", + "price": 39900, + "barrel_length": "234 ml", "valid_mod_locations": [ [ "accessories", 4 ], [ "barrel", 1 ], [ "bore", 1 ], - [ "sights", 1 ], + [ "sights mount", 1 ], [ "sling", 1 ], - [ "stock", 1 ], + [ "mechanism", 2 ], + [ "stock mount", 1 ], [ "grip mount", 1 ], [ "rail mount", 1 ], [ "underbarrel mount", 1 ] @@ -344,24 +457,25 @@ "type": "GUN", "name": "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.", - "weight": "5216 g", - "volume": "2 L", - "price": 40000, + "weight": "2494 g", + "volume": "2044 ml", + "price": 10000, "to_hit": -1, "bashing": 12, "material": [ "steel", "wood" ], - "dispersion": 405, + "dispersion": 210, "durability": 9, "clip_size": 1, - "barrel_length": 4, + "barrel_length": "117 ml", "valid_mod_locations": [ [ "accessories", 4 ], [ "barrel", 1 ], [ "bore", 1 ], [ "muzzle", 1 ], - [ "sights", 1 ], + [ "mechanism", 1 ], + [ "sights mount", 1 ], [ "sling", 1 ], - [ "stock", 1 ], + [ "stock mount", 1 ], [ "grip mount", 1 ], [ "rail mount", 1 ], [ "underbarrel mount", 1 ] @@ -369,36 +483,197 @@ "flags": [ "NEVER_JAMS", "RELOAD_EJECT" ] }, { - "id": "surv_levershotgun", + "id": "streetsweeper", "copy-from": "shotgun_base", - "looks_like": "remington_870", "type": "GUN", - "name": "handmade lever shotgun", - "description": "A well designed homemade lever-action shotgun. With a 8 round magazine, this is one of the better homemade weapons.", - "weight": "3934 g", - "volume": "2500 ml", - "price": 135000, + "name": "Cobray Streetsweeper", + "description": "Less shotgun and more comically oversized revolver, the Cobray Streetsweeper sold poorly before it was deemed a Destructive Device. The cylinder is driven by a clockspring, cannot be indexed by hand, and must be ejected with an ejector rod. Its unique design allows for all 12 shells to be fired in under 3 seconds, as demonstrated by the ATF technical branch.", + "weight": "419 g", + "volume": "3193 ml", + "looks_like": "revolver_shotgun", + "price": 120000, + "to_hit": -1, + "bashing": 8, + "material": [ "steel", "wood" ], + "dispersion": 855, + "durability": 6, + "clip_size": 12, + "reload": 220, + "barrel_length": "36 ml", + "default_mods": [ "wire_stock", "grip" ], + "modes": [ [ "DEFAULT", "single", 1 ], [ "AUTO", "3-round", 3 ] ], + "valid_mod_locations": [ + [ "accessories", 4 ], + [ "barrel", 1 ], + [ "bore", 1 ], + [ "brass catcher", 1 ], + [ "grip mount", 1 ], + [ "mechanism", 4 ], + [ "rail mount", 1 ], + [ "sights mount", 1 ], + [ "sling", 1 ], + [ "stock mount", 1 ], + [ "underbarrel mount", 1 ] + ], + "flags": [ "RELOAD_ONE", "RELOAD_EJECT", "NEVER_JAMS" ] + }, + { + "id": "SPAS_12", + "copy-from": "shotgun_base", + "type": "GUN", + "name": "Franchi SPAS-12", + "description": "Mean and intimidating looking, the SPAS 12 has the dubious honor of being declared a destructive device and being banned from import by name, adding to its already considerable appeal. It is a combination pump-action and semi-automatic firearm, with an arm stabilizing hook for one handed shooting.", + "weight": "4400 g", + "volume": "2768 ml", + "looks_like": "m1014", + "price": 180000, "to_hit": -1, "bashing": 12, "material": [ "steel", "wood" ], + "dispersion": 380, + "durability": 6, + "clip_size": 9, "ranged_damage": 1, - "dispersion": 860, + "default_mods": [ "wire_stock" ], + "valid_mod_locations": [ + [ "accessories", 4 ], + [ "bore", 1 ], + [ "brass catcher", 1 ], + [ "grip mount", 1 ], + [ "mechanism", 2 ], + [ "muzzle", 1 ], + [ "rail mount", 1 ], + [ "sights mount", 1 ], + [ "sling", 1 ], + [ "stock mount", 1 ], + [ "underbarrel mount", 1 ] + ], + "flags": [ "RELOAD_ONE" ] + }, + { + "id": "tavor_12", + "copy-from": "shotgun_base", + "type": "GUN", + "name": "Tavor TS12", + "description": "This is a triple tube magazine fed, gas-operated bullpup shotgun of Israeli Weapon Industries make. It is capable of loading 15 shells, all in a relatively small package. Like many other modern IWI designs, this looks more like a sci-fi prop gun than a firearm. An integral top rail is provided for mounting sights.", + "weight": "4200 g", + "volume": "4040 ml", + "looks_like": "ksg", + "price": 180000, + "to_hit": -1, + "bashing": 12, + "material": [ "steel", "wood" ], + "dispersion": 320, "durability": 6, - "clip_size": 8, - "reload": 200, - "barrel_length": 4, + "clip_size": 5, + "sight_dispersion": 500, + "ranged_damage": 1, + "built_in_mods": [ "ts12_aux_shotgun", "ts12_aux_shotgun2" ], "valid_mod_locations": [ [ "accessories", 2 ], + [ "bore", 1 ], [ "brass catcher", 1 ], - [ "sling", 1 ], - [ "stock", 1 ], + [ "grip mount", 1 ], + [ "mechanism", 4 ], + [ "muzzle", 1 ], + [ "underbarrel", 2 ], + [ "rail mount", 1 ], + [ "sights", 1 ], + [ "sling", 1 ] + ], + "flags": [ "RELOAD_ONE" ] + }, + { + "id": "USAS_12", + "copy-from": "shotgun_base", + "type": "GUN", + "name": "USAS 12", + "description": "The USAS 12 looks like a boxy upsized caricature of the M16A2. Like its Auto Assault-12 predecessor, it is a select-fire shotgun fed from large box or drum magazines. The in-line recoil system and sheer weight make for pleasant shooting.", + "weight": "5450 g", + "volume": "4695 ml", + "looks_like": "saiga_12", + "price": 300000, + "to_hit": -1, + "bashing": 12, + "material": [ "steel", "plastic" ], + "dispersion": 510, + "durability": 6, + "barrel_length": "54 ml", + "valid_mod_locations": [ + [ "accessories", 2 ], + [ "mechanism", 4 ], [ "barrel", 1 ], + [ "sling", 1 ], [ "muzzle", 1 ], + [ "grip", 1 ], + [ "rail mount", 1 ], + [ "sights mount", 1 ], + [ "underbarrel mount", 1 ] + ], + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 5 ] ], + "magazines": [ [ "shot", [ "USAS10mag", "USAS20mag" ] ] ] + }, + { + "id": "winchester_1887", + "copy-from": "shotgun_base", + "type": "GUN", + "name": "1887 bootleg shotgun", + "description": "One of the first commercially successful repeating shotguns, the Winchester 1887 was specifically made lever-action at Winchester's request. Though later overshadowed in success by pump designs, the 1887 remains popular today. This one has a very short barrel, no stock, and would pair nicely with a motorcycle jacket and a Harley Davidson.", + "weight": "2994 g", + "volume": "1127 ml", + "looks_like": "browning_blr", + "price": 100800, + "to_hit": -1, + "bashing": 8, + "material": [ "steel", "wood" ], + "ranged_damage": -9, + "dispersion": 860, + "durability": 6, + "clip_size": 6, + "reload": 120, + "skill": "pistol", + "modes": [ [ "DEFAULT", "single", 1 ] ], + "valid_mod_locations": [ + [ "accessories", 2 ], + [ "stock mount", 1 ], + [ "mechanism", 2 ], + [ "barrel", 1 ], [ "grip mount", 1 ], [ "rail mount", 1 ], [ "sights mount", 1 ], [ "underbarrel mount", 1 ] ], "flags": [ "RELOAD_ONE" ] + }, + { + "id": "winchester_1897", + "copy-from": "shotgun_base", + "type": "GUN", + "name": "M1897 Trench Gun", + "description": "The Winchester 1897 was one of the first commercially successful pump action shotguns. In its 'trench' configuraton it has become a heavily romanticized American icon of World War 1. With its barrel shroud, bayonet lug and 17 inch bayonet, this shotgun is undeniably fearsome in appearance. There aren't any more trenches to clear, so the next zombie infested town will have to suffice.", + "weight": "3629 g", + "volume": "2564 ml", + "looks_like": "remington_870_express", + "price": 850000, + "bashing": 11, + "material": [ "steel", "wood" ], + "ranged_damage": 2, + "dispersion": 360, + "durability": 8, + "clip_size": 6, + "modes": [ [ "DEFAULT", "single", 1 ], [ "AUTO", "2-round", 2 ] ], + "valid_mod_locations": [ + [ "accessories", 2 ], + [ "stock mount", 1 ], + [ "mechanism", 2 ], + [ "barrel", 1 ], + [ "muzzle", 1 ], + [ "grip mount", 1 ], + [ "rail mount", 1 ], + [ "sights mount", 1 ], + [ "underbarrel", 1 ] + ], + "default_mods": [ "sword_bayonet" ], + "flags": [ "RELOAD_ONE" ] } ] diff --git a/data/json/items/gunmod/loading_port.json b/data/json/items/gunmod/loading_port.json new file mode 100644 index 0000000000000..5951c059d66d1 --- /dev/null +++ b/data/json/items/gunmod/loading_port.json @@ -0,0 +1,21 @@ +[ + { + "id": "arredondo_chute", + "type": "GUNMOD", + "name": "speedloader chute", + "description": "A metal ramp that is installed near a shotgun's feeding port to index speedloader tubes.", + "weight": "135 g", + "volume": "149 ml", + "integral_volume": "149 ml", + "price": 15700, + "material": "aluminum", + "symbol": ":", + "color": "green", + "location": "loading port", + "mod_targets": [ "pistol", "shotgun" ], + "acceptable_ammo": [ "shot" ], + "install_time": "8 m", + "magazine_adaptor": [ [ "shot", [ "shot_speedloader6", "shot_speedloader8" ] ] ], + "min_skills": [ [ "weapon", 2 ], [ "mechanics", 1 ] ] + } +] diff --git a/data/json/items/gunmod/underbarrel.json b/data/json/items/gunmod/underbarrel.json index d334be791a2ea..0407133abfdec 100644 --- a/data/json/items/gunmod/underbarrel.json +++ b/data/json/items/gunmod/underbarrel.json @@ -141,14 +141,64 @@ "gun_data": { "ammo": "shot", "skill": "shotgun", - "ranged_damage": 3, - "dispersion": 345, - "durability": 10, + "ranged_damage": 1, + "dispersion": 425, + "durability": 7, "clip_size": 7, "reload": 120 }, "flags": [ "RELOAD_ONE", "IRREMOVABLE" ] }, + { + "id": "ts12_aux_shotgun", + "type": "GUNMOD", + "name": "TS12 second magazine", + "description": "The integrated second shotgun magazine of the Tavor TS12 which holds 5 shots. It's irremovable.", + "weight": "100 g", + "volume": "1750 ml", + "integral_volume": 0, + "price": 0, + "material": [ "steel" ], + "symbol": ":", + "color": "light_red", + "location": "underbarrel", + "mod_targets": [ "shotgun" ], + "gun_data": { + "ammo": "shot", + "skill": "shotgun", + "ranged_damage": 1, + "dispersion": 320, + "durability": 6, + "clip_size": 5, + "reload": 120 + }, + "flags": [ "RELOAD_ONE", "IRREMOVABLE" ] + }, + { + "id": "ts12_aux_shotgun2", + "type": "GUNMOD", + "name": "TS12 third magazine", + "description": "The integrated third shotgun magazine of the Tavor TS12 which holds 5 shots. It's irremovable.", + "weight": "100 g", + "volume": "1750 ml", + "integral_volume": 0, + "price": 0, + "material": [ "steel" ], + "symbol": ":", + "color": "light_red", + "location": "underbarrel", + "mod_targets": [ "shotgun" ], + "gun_data": { + "ammo": "shot", + "skill": "shotgun", + "ranged_damage": 1, + "dispersion": 320, + "durability": 6, + "clip_size": 5, + "reload": 120 + }, + "flags": [ "RELOAD_ONE", "IRREMOVABLE" ] + }, { "id": "laser_sight", "type": "GUNMOD", @@ -255,8 +305,6 @@ "mod_targets": [ "shotgun", "rifle", "smg", "launcher", "crossbow" ], "mode_modifier": [ [ "REACH", "bayonet", 2, [ "MELEE", "REACH_ATTACK" ] ] ] }, - "min_skills": [ [ "weapon", 2 ], [ "melee", 1 ] ], - "qualities": [ [ "COOK", 1 ] ], "extend": { "flags": [ "PUMP_RAIL_COMPATIBLE" ] } }, { diff --git a/data/json/items/magazine/shot.json b/data/json/items/magazine/shot.json index 17b116619eb92..0db755fe4d157 100644 --- a/data/json/items/magazine/shot.json +++ b/data/json/items/magazine/shot.json @@ -32,6 +32,39 @@ "reload_time": 130, "flags": [ "MAG_BULKY" ] }, + { + "id": "USAS10mag", + "type": "MAGAZINE", + "name": "USAS-12 box magazine", + "description": "A removable plastic magazine for the USAS-12 shotgun. Holds 10 rounds.", + "weight": "750 g", + "volume": "360 ml", + "price": 4500, + "material": "plastic", + "symbol": "#", + "color": "dark_gray", + "ammo_type": "shot", + "capacity": 10, + "reliability": 9, + "flags": [ "MAG_COMPACT" ] + }, + { + "id": "USAS20mag", + "type": "MAGAZINE", + "name": "USAS-12 drum magazine", + "description": "A removable plastic magazine for the USAS-12 shotgun. Holds 20 rounds.", + "weight": "794 g", + "volume": "1742 ml", + "price": 11000, + "material": "plastic", + "symbol": "#", + "color": "dark_gray", + "ammo_type": "shot", + "capacity": 20, + "reliability": 8, + "reload_time": 110, + "flags": [ "MAG_BULKY" ] + }, { "id": "shotbelt_20", "type": "MAGAZINE", @@ -53,11 +86,11 @@ "id": "shot_speedloader6", "type": "MAGAZINE", "name": "shotgun 6-round speedloader", - "description": "A steel tube with attached handle that when inserted into a 6 round shotgun can be used to quickly load the full tube in a much shorter period of time than by hand.", + "description": "A plastic tube with a sliding handle that can be used to quickly load 6 rounds into a shotgun's tube in a much shorter period of time than by hand. It needs to interface with a chute to be used with any speed.", "weight": "480 g", "volume": "1750 ml", "price": 3200, - "material": "steel", + "material": "plastic", "symbol": "/", "color": "light_gray", "ammo_type": "shot", @@ -68,11 +101,11 @@ "id": "shot_speedloader8", "type": "MAGAZINE", "name": "shotgun 8-round speedloader", - "description": "A steel tube with attached handle that when inserted into an 8 round shotgun can be used to quickly load the full tube in a much shorter period of time than by hand.", + "description": "A plastic tube with a sliding handle that can be used to quickly load 6 rounds into a shotgun's tube in a much shorter period of time than by hand. It needs to interface with a chute to be used with any speed.", "weight": "510 g", "volume": "2 L", "price": 3250, - "material": "steel", + "material": "plastic", "symbol": "/", "color": "light_gray", "ammo_type": "shot", diff --git a/data/json/items/migration.json b/data/json/items/migration.json index 00763f9506785..834eded5cd080 100644 --- a/data/json/items/migration.json +++ b/data/json/items/migration.json @@ -714,6 +714,21 @@ "type": "MIGRATION", "replace": "can_bomb" }, + { + "id": "surv_levershotgun", + "type": "MIGRATION", + "replace": "winchester_1887" + }, + { + "id": "l_def_12", + "type": "MIGRATION", + "replace": "tavor_12" + }, + { + "id": "abzats", + "type": "MIGRATION", + "replace": "bigun" + }, { "id": "taurus_38", "type": "MIGRATION", diff --git a/data/json/mapgen/basement/basement_guns.json b/data/json/mapgen/basement/basement_guns.json index 81c992571f9c3..3ad48730d2635 100644 --- a/data/json/mapgen/basement/basement_guns.json +++ b/data/json/mapgen/basement/basement_guns.json @@ -58,7 +58,7 @@ { "group": "guns_smg_common", "x": 14, "y": 2, "chance": 70, "magazine": 100 }, { "group": "guns_pistol_rare", "x": 15, "y": 2, "chance": 40, "magazine": 100 }, { "group": "mags_smg_common", "x": 16, "y": 2, "chance": 70, "repeat": [ 1, 2 ] }, - { "group": "guns_shotgun_rare", "x": 17, "y": 2, "chance": 30, "magazine": 100 }, + { "group": "guns_shotgun_rare_static", "x": 17, "y": 2, "chance": 30, "magazine": 100 }, { "group": "ammo_shotgun_reloaded", "x": 6, "y": 5, "chance": 90, "repeat": [ 1, 2 ] }, { "group": "ammo_rifle_reloaded", "x": 7, "y": 5, "chance": 90, "repeat": [ 1, 2 ] }, { "group": "ammo_shotgun_common", "x": 8, "y": 5, "chance": 40, "repeat": [ 1, 2 ] }, diff --git a/data/json/mapgen/basement/basement_meth.json b/data/json/mapgen/basement/basement_meth.json index 3323bbd139414..d7d10b9ced476 100644 --- a/data/json/mapgen/basement/basement_meth.json +++ b/data/json/mapgen/basement/basement_meth.json @@ -223,7 +223,7 @@ { "group": "home_hw", "x": 13, "y": 20, "chance": 40, "repeat": [ 1, 3 ] }, { "group": "home_hw", "x": 21, "y": [ 12, 13 ], "chance": 40, "repeat": [ 1, 3 ] }, { "group": "home_hw", "x": [ 21, 22 ], "y": 5, "chance": 40, "repeat": [ 1, 3 ] }, - { "group": "guns_shotgun_rare", "x": 21, "y": 14, "chance": 10 } + { "group": "guns_shotgun_rare_readied", "x": 21, "y": 14, "chance": 10 } ], "place_item": [ { "x": 11, "y": 10, "item": "towel" }, { "x": 21, "y": 14, "item": "wrench" } ], "place_monster": [ { "monster": "mon_zombie", "x": [ 13, 14 ], "y": [ 11, 17 ], "chance": 90, "repeat": [ 1, 3 ] } ] diff --git a/data/json/mapgen/necropolis/necropolisB1.json b/data/json/mapgen/necropolis/necropolisB1.json index 7bf822e757c1a..d5bb7a3d5424d 100644 --- a/data/json/mapgen/necropolis/necropolisB1.json +++ b/data/json/mapgen/necropolis/necropolisB1.json @@ -36,7 +36,7 @@ "magazine": 100, "ammo": 90, "items": [ - { "group": "guns_rare", "prob": 35 }, + { "group": "guns_rare_readied", "prob": 35 }, { "item": "mask_filter", "prob": 20 }, { "group": "ammo_pocket_batteries_full", "prob": 15 }, { "item": "radio", "prob": 10 }, diff --git a/data/json/mapgen/s_gun.json b/data/json/mapgen/s_gun.json index bf2a4beb8f279..d90771b70836c 100644 --- a/data/json/mapgen/s_gun.json +++ b/data/json/mapgen/s_gun.json @@ -73,7 +73,7 @@ { "group": "guns_pistol_rare", "x": 13, "y": 11, "chance": 15, "magazine": 100 }, { "group": "guns_shotgun_common", "x": 16, "y": 9, "chance": 50, "magazine": 100 }, { "group": "guns_shotgun_common", "x": 16, "y": 10, "chance": 100, "magazine": 100 }, - { "group": "guns_shotgun_rare", "x": 16, "y": 11, "chance": 25, "magazine": 100 }, + { "group": "guns_shotgun_rare_static", "x": 16, "y": 11, "chance": 25, "magazine": 100 }, { "group": "guns_rifle_common", "x": 20, "y": 7, "chance": 25, "magazine": 100 }, { "group": "guns_rifle_rare", "x": 20, "y": 8, "chance": 25, "magazine": 100 }, { "group": "guns_rifle_common", "x": 20, "y": 9, "chance": 100, "magazine": 100 }, @@ -237,7 +237,7 @@ "toilets": { ";": { } }, "place_loot": [ { "group": "guns_pistol_rare", "x": [ 8, 10 ], "y": 19, "chance": 100, "repeat": [ 1, 2 ], "magazine": 100 }, - { "group": "guns_shotgun_rare", "x": [ 8, 10 ], "y": 19, "chance": 80, "magazine": 100 }, + { "group": "guns_shotgun_rare_static", "x": [ 8, 10 ], "y": 19, "chance": 80, "magazine": 100 }, { "group": "guns_rifle_rare", "x": [ 13, 16 ], "y": 19, "chance": 100, "magazine": 100 }, { "group": "guns_smg_rare", "x": [ 13, 16 ], "y": 19, "chance": 80, "magazine": 100 }, { "group": "ammo_rare", "x": [ 10, 13 ], "y": 17, "chance": 100, "repeat": [ 1, 4 ] }, @@ -397,7 +397,7 @@ { "group": "guns_shotgun_common", "x": 12, "y": 15, "chance": 100 }, { "group": "ammo_common", "x": [ 8, 12 ], "y": [ 17, 19 ], "chance": 90, "repeat": [ 1, 3 ] }, { "group": "guns_pistol_rare", "x": 10, "y": 14, "chance": 10, "magazine": 100 }, - { "group": "guns_shotgun_rare", "x": 12, "y": 15, "chance": 10, "magazine": 100 }, + { "group": "guns_shotgun_rare_static", "x": 12, "y": 15, "chance": 10, "magazine": 100 }, { "group": "default_zombie_death_drops", "x": 10, "y": 14, "chance": 100 }, { "group": "default_zombie_death_drops", "x": 12, "y": 15, "chance": 100 }, { "item": "can_food_unsealed", "x": 8, "y": 18, "chance": 100, "repeat": [ 1, 3 ] }, diff --git a/data/json/professions.json b/data/json/professions.json index 6d18ecbfeef37..c2092cfbf6f8c 100644 --- a/data/json/professions.json +++ b/data/json/professions.json @@ -1368,7 +1368,7 @@ "entries": [ { "group": "charged_cell_phone" }, { "item": "ear_plugs", "custom-flags": [ "no_auto_equip" ] }, - { "item": "shotgun_d", "ammo-item": "shot_00", "charges": 2, "contents-item": "shoulder_strap" }, + { "item": "remington_870", "ammo-item": "shot_00", "charges": 5, "contents-item": "shoulder_strap" }, { "item": "bandolier_shotgun", "contents-group": "bandolier_shotgun_hunter" }, { "item": "sheath", "contents-item": "knife_hunting" } ] diff --git a/data/json/recipes/recipe_obsolete.json b/data/json/recipes/recipe_obsolete.json index a2bc417af32fc..1bc05f219e19d 100644 --- a/data/json/recipes/recipe_obsolete.json +++ b/data/json/recipes/recipe_obsolete.json @@ -1920,5 +1920,10 @@ "type": "recipe", "result": "xacto", "obsolete": true + }, + { + "type": "recipe", + "result": "abzats", + "obsolete": true } ] diff --git a/data/json/recipes/recipe_weapon.json b/data/json/recipes/recipe_weapon.json index fc630ba2b699e..51b5d1573488f 100644 --- a/data/json/recipes/recipe_weapon.json +++ b/data/json/recipes/recipe_weapon.json @@ -1867,7 +1867,7 @@ "difficulty": 7, "time": "3 h", "autolearn": true, - "using": [ [ "welding_standard", 20 ] ], + "using": [ [ "soldering_standard", 10 ], [ "welding_standard", 25 ] ], "qualities": [ { "id": "SAW_M", "level": 1 }, { "id": "SAW_M_FINE", "level": 1 }, @@ -1878,8 +1878,13 @@ [ [ "xlframe", 1 ] ], [ [ "foot_crank", 1 ] ], [ [ "spring", 1 ] ], + [ [ "sheet_metal_small", 12 ] ], [ [ "pipe", 6 ] ], - [ [ "duct_tape", 100 ] ], + [ [ "chain", 1 ] ], + [ [ "motor_small", 1 ] ], + [ [ "power_supply", 2 ] ], + [ [ "cable", 4 ] ], + [ [ "spring", 6 ] ], [ [ "scrap", 2 ] ] ] }, @@ -3097,35 +3102,6 @@ [ [ "small_storage_battery", 2 ], [ "UPS_off", 2 ] ] ] }, - { - "type": "recipe", - "result": "abzats", - "category": "CC_WEAPON", - "subcategory": "CSC_WEAPON_RANGED", - "skill_used": "fabrication", - "skills_required": [ [ "mechanics", 6 ], [ "gun", 4 ] ], - "difficulty": 6, - "time": "3 h", - "autolearn": true, - "qualities": [ - { "id": "SAW_M", "level": 1 }, - { "id": "SAW_M_FINE", "level": 1 }, - { "id": "SCREW_FINE", "level": 1 }, - { "id": "WRENCH_FINE", "level": 1 }, - { "id": "HAMMER", "level": 2 }, - { "id": "GLARE", "level": 2 } - ], - "tools": [ - [ [ "oxy_torch", 60 ], [ "welder", 300 ], [ "welder_crude", 450 ], [ "toolset", 450 ] ], - [ [ "small_repairkit", 150 ], [ "large_repairkit", 30 ] ] - ], - "components": [ - [ [ "m2browning", 1 ] ], - [ [ "2x4", 1 ] ], - [ [ "pipe", 1 ] ], - [ [ "steel_lump", 1 ], [ "steel_chunk", 4 ], [ "scrap", 12 ] ] - ] - }, { "type": "recipe", "result": "2h_flail_wood", diff --git a/data/json/recipes/weapon/mods.json b/data/json/recipes/weapon/mods.json index 2eb52a39bd723..8485f4e09371c 100644 --- a/data/json/recipes/weapon/mods.json +++ b/data/json/recipes/weapon/mods.json @@ -1,4 +1,18 @@ [ + { + "result": "arredondo_chute", + "type": "recipe", + "category": "CC_WEAPON", + "subcategory": "CSC_WEAPON_MODS", + "skill_used": "fabrication", + "difficulty": 1, + "skills_required": [ [ "gun", 2 ] ], + "time": "30 m", + "book_learn": [ [ "mag_guns", 4 ], [ "mag_pistol", 4 ], [ "mag_shotgun", 4 ], [ "mag_rifle", 4 ] ], + "using": [ [ "soldering_standard", 15 ] ], + "qualities": [ { "id": "HAMMER_FINE", "level": 1 }, { "id": "DRILL", "level": 1 }, { "id": "SAW_M_FINE", "level": 1 } ], + "components": [ [ [ "scrap", 4 ] ], [ [ "sheet_metal_small", 4 ] ] ] + }, { "result": "bipod_mod", "type": "recipe", diff --git a/data/json/vehicleparts/turret.json b/data/json/vehicleparts/turret.json index 2e53251f6e79d..bfed4f0768d81 100755 --- a/data/json/vehicleparts/turret.json +++ b/data/json/vehicleparts/turret.json @@ -169,14 +169,14 @@ "requirements": { "install": { "skills": [ [ "mechanics", 3 ], [ "rifle", 1 ] ] }, "removal": { "skills": [ [ "mechanics", 1 ] ] } } }, { - "id": "mounted_abzats", + "id": "mounted_bigun", "copy-from": "turret", "type": "vehicle_part", - "name": "mounted automatic shotgun", - "item": "abzats", + "name": "mounted gatling shotgun", + "item": "bigun", "color": "green", "broken_color": "green", - "breaks_into": [ { "item": "abzats", "prob": 50 } ], + "breaks_into": [ { "item": "bigun", "prob": 50 } ], "requirements": { "install": { "skills": [ [ "mechanics", 3 ], [ "shotgun", 1 ] ] }, "removal": { "skills": [ [ "mechanics", 1 ] ] } } }, { diff --git a/doc/JSON_INFO.md b/doc/JSON_INFO.md index 5f8dc9b13df7a..7163306326b14 100644 --- a/doc/JSON_INFO.md +++ b/doc/JSON_INFO.md @@ -1423,6 +1423,7 @@ Guns can be defined like this: "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. +"barrel_length": "30 mL", // Amount of volume lost when the barrel is sawn. Approximately 9mL per inch is a decent approximation. ``` Alternately, every item (book, tool, armor, even food) can be used as gun if it has gun_data: ```json diff --git a/tests/ranged_balance.cpp b/tests/ranged_balance.cpp index 4c19113fbda45..a9c4278c84e08 100644 --- a/tests/ranged_balance.cpp +++ b/tests/ranged_balance.cpp @@ -316,8 +316,8 @@ TEST_CASE( "expert_shooter_accuracy", "[ranged] [balance]" ) test_shooting_scenario( shooter, 18, 20, 140 ); test_fast_shooting( shooter, 20, 0.6 ); } - SECTION( "an expert shooter with an auto shotgun" ) { - arm_shooter( shooter, "abzats", { "holo_sight" } ); + SECTION( "an expert shooter with an excellent shotgun" ) { + arm_shooter( shooter, "m1014", { "holo_sight" } ); test_shooting_scenario( shooter, 18, 24, 124 ); test_fast_shooting( shooter, 60, 0.5 ); }