From bb96f2b5f3b28eb930900eaa7d23678e6bb45c66 Mon Sep 17 00:00:00 2001 From: Kevin Granade Date: Mon, 15 Apr 2024 17:56:58 -0700 Subject: [PATCH] Obsolete the cx4 in favor of a ruger PCC --- .../Weapons_Mods_Ammo/nested_guns.json | 8 +- data/json/items/gun/380.json | 2 +- data/json/items/gun/9mm.json | 114 +++++++++--------- data/json/npcs/NC_JUNK_SHOPKEEP.json | 1 - .../NPC_Old_Guard_FOB_quartermaster.json | 1 - .../surface_staff/Smokes/NPC_Smokes.json | 1 - .../migration_items.json | 5 + .../firearms/gg_firearms_migration.json | 2 +- data/mods/Generic_Guns/firearms/pistol.json | 2 +- data/mods/TEST_DATA/item_demographics.json | 4 +- .../classic_zombies/items/blacklists.json | 2 +- tools/json_tools/gun_variant_validator.py | 3 +- tools/spell_checker/dictionary.txt | 1 + 13 files changed, 76 insertions(+), 70 deletions(-) diff --git a/data/json/itemgroups/Weapons_Mods_Ammo/nested_guns.json b/data/json/itemgroups/Weapons_Mods_Ammo/nested_guns.json index 3ac5df283bdd1..380787f522c4a 100644 --- a/data/json/itemgroups/Weapons_Mods_Ammo/nested_guns.json +++ b/data/json/itemgroups/Weapons_Mods_Ammo/nested_guns.json @@ -1373,15 +1373,15 @@ ] }, { - "id": "nested_cx4", + "id": "nested_ruger_pcc", "type": "item_group", "//": "this is a distribution for the gun, reasonable number of backup mags, and some ammo to repack", "subtype": "collection", "ammo": 100, "entries": [ - { "item": "cx4", "charges-min": 0, "charges-max": 15 }, - { "item": "m9mag" }, - { "item": "m9mag", "prob": 50 }, + { "item": "ruger_pcc", "charges-min": 0, "charges-max": 17 }, + { "item": "glockmag" }, + { "item": "glockmag", "prob": 50 }, { "group": "on_hand_9mm" } ] }, diff --git a/data/json/items/gun/380.json b/data/json/items/gun/380.json index d34607314d8f4..a30a65d7234b7 100644 --- a/data/json/items/gun/380.json +++ b/data/json/items/gun/380.json @@ -137,7 +137,7 @@ }, { "id": "hpt3895", - "looks_like": "cx4", + "looks_like": "ar15", "type": "GUN", "name": { "str": ".380 ACP pistol-caliber carbine" }, "description": "A pistol-caliber carbine chambered in .380 ACP. It is more powerful and accurate than an equivalent pistol but the .380 ACP round is nonetheless fairly weak. Accepts 10-round magazines, which are not shared with any .380 ACP pistol unlike many other similar pistol-caliber carbines.", diff --git a/data/json/items/gun/9mm.json b/data/json/items/gun/9mm.json index 9e5cd178cf960..df1d29c3fef2d 100644 --- a/data/json/items/gun/9mm.json +++ b/data/json/items/gun/9mm.json @@ -49,61 +49,6 @@ "pocket_data": [ { "pocket_type": "MAGAZINE_WELL", "item_restriction": [ "calicomag", "calicomag_100rd" ] } ], "melee_damage": { "bash": 9 } }, - { - "id": "cx4", - "looks_like": "modular_ar15", - "type": "GUN", - "reload_noise_volume": 10, - "name": { "str": "9x19mm pistol-caliber carbine" }, - "description": "Designed to be a companion rifle with provided M9 handguns, this compact and light weight pistol-caliber carbine makes use of the same 9x19mm magazines. Originally intended for use by law enforcement units, this style of small caliber, semi-automatic carbine failed to achieve the same level of popularity as regular and more potent rifles. However, despite being inadequate for their original purpose, before the Cataclysm these modestly sized weapons still found a home in sport shooting and self-defense civilian roles.", - "variant_type": "gun", - "variants": [ - { - "id": "cx4", - "name": { "str": "Cx4 Storm carbine" }, - "description": "A small pistol caliber carbine designed for police use and civilian self-defense, the Cx4 Storm uses magazines that are interchangeable with other Beretta 9x19mm handguns." - } - ], - "weight": "2575 g", - "volume": "4458 ml", - "longest_side": "762 mm", - "barrel_length": "423 mm", - "price": "900 USD", - "price_postapoc": "40 USD", - "to_hit": -1, - "material": [ "steel", "plastic" ], - "symbol": "(", - "color": "dark_gray", - "ammo": [ "9mm" ], - "skill": "rifle", - "range": 6, - "ranged_damage": { "damage_type": "bullet", "amount": 2 }, - "dispersion": 180, - "durability": 10, - "min_cycle_recoil": 450, - "barrel_volume": "250 ml", - "valid_mod_locations": [ - [ "barrel", 1 ], - [ "brass catcher", 1 ], - [ "grip", 1 ], - [ "mechanism", 2 ], - [ "muzzle", 1 ], - [ "rail", 1 ], - [ "sights", 1 ], - [ "sling", 1 ], - [ "stock", 1 ], - [ "stock accessory", 1 ], - [ "underbarrel", 1 ] - ], - "faults": [ "fault_gun_blackpowder", "fault_gun_dirt", "fault_gun_chamber_spent" ], - "pocket_data": [ - { - "pocket_type": "MAGAZINE_WELL", - "item_restriction": [ "m9bigmag", "m9mag_10rd", "m9mag", "m9mag_17rd", "m9mag_18rd", "m9mag_20rd", "m9mag_32rd", "m9mag_35rd" ] - } - ], - "melee_damage": { "bash": 8 } - }, { "id": "glock_19", "copy-from": "pistol_base", @@ -546,6 +491,13 @@ "reload_noise_volume": 10, "name": { "str": "Kel-Tec SUB-2000 carbine" }, "description": "With its claim to fame being its ease of portability when compared to other conventional rifles and carbines, the Kel-Tec SUB-2000 is a uniquely-designed pistol caliber carbine sporting an integral folding mechanism and chambered for 9x19mm cartridges, making use of regular Glock compatible magazines. With its mechanism engaged, the barrel assembly swings rearwards and causes the firearm to fold to half its regular length, packing up into a very compact package with ergonomics unfortunately having to take a backseat to allow for the weapon's extreme portability. With a mainly polymer constructed receiver, the carbine is relatively light and incredibly transportable when fully folded.", + "variants": [ + { + "id": "ksub2000", + "name": { "str": "Kel-Tec SUB-2000 carbine (Glock)" }, + "description": "With its claim to fame being its ease of portability when compared to other conventional rifles and carbines, the Kel-Tec SUB-2000 is a uniquely-designed pistol caliber carbine sporting an integral folding mechanism and chambered for 9x19mm cartridges, making use of regular Glock compatible magazines. With its mechanism engaged, the barrel assembly swings rearwards and causes the firearm to fold to half its regular length, packing up into a very compact package with ergonomics unfortunately having to take a backseat to allow for the weapon's extreme portability. With a mainly polymer constructed receiver, the carbine is relatively light and incredibly transportable when fully folded." + } + ], "weight": "1930 g", "volume": "1240 ml", "longest_side": "410 mm", @@ -664,6 +616,58 @@ ], "melee_damage": { "bash": 8 } }, + { + "id": "ruger_pcc", + "looks_like": "garand", + "type": "GUN", + "reload_noise_volume": 10, + "name": { "str": "pistol caliber carbine (Glock)" }, + "description": "This Pistol Caliber Carbine is a semi-automatic pistol-caliber carbine chambered in 9mm Parabellum, designed as a companion to certain semi-automatic pistols, using the same cartridges and magazines.", + "variants": [ + { + "id": "ruger_pcc", + "name": { "str": "Ruger pistol caliber carbine" }, + "description": "The Ruger PC-9 Pistol Caliber Carbine is a semi-automatic pistol-caliber carbine chambered in 9mm Parabellum, designed as a companion to certain Ruger P series semi-automatic pistols, using the same cartridges and magazines of the P-Series pistols." + } + ], + "weight": "3200 g", + "volume": "1240 ml", + "longest_side": "860 mm", + "barrel_length": "412 mm", + "price": 75000, + "price_postapoc": 3000, + "to_hit": -1, + "material": [ "steel", "plastic" ], + "symbol": "(", + "color": "dark_gray", + "ammo": [ "9mm" ], + "skill": "rifle", + "range": 6, + "ranged_damage": { "damage_type": "bullet", "amount": 3 }, + "dispersion": 180, + "durability": 7, + "min_cycle_recoil": 450, + "valid_mod_locations": [ + [ "barrel", 1 ], + [ "brass catcher", 1 ], + [ "grip", 1 ], + [ "mechanism", 2 ], + [ "muzzle", 1 ], + [ "rail", 1 ], + [ "sights", 1 ], + [ "sling", 1 ], + [ "stock", 1 ] + ], + "faults": [ "fault_gun_blackpowder", "fault_gun_dirt", "fault_gun_chamber_spent" ], + "pocket_data": [ + { + "magazine_well": "250 ml", + "pocket_type": "MAGAZINE_WELL", + "item_restriction": [ "glockmag", "glockbigmag", "glock17_17", "glock17_22", "glock_drum_50rd", "glock_drum_100rd" ] + } + ], + "melee_damage": { "bash": 8 } + }, { "id": "smg_9mm", "copy-from": "smg_base", diff --git a/data/json/npcs/NC_JUNK_SHOPKEEP.json b/data/json/npcs/NC_JUNK_SHOPKEEP.json index 0a045b0ed7f92..3b004c6ff8880 100644 --- a/data/json/npcs/NC_JUNK_SHOPKEEP.json +++ b/data/json/npcs/NC_JUNK_SHOPKEEP.json @@ -127,7 +127,6 @@ { "item": "glock_19", "prob": 15 }, { "item": "usp_9mm", "prob": 10 }, { "item": "m9", "prob": 35 }, - { "item": "cx4", "prob": 1 }, { "item": "usp_45", "prob": 10 }, { "item": "m1911", "prob": 10 }, { "group": "modular_ar15", "prob": 10 }, diff --git a/data/json/npcs/old_guard/NPC_Old_Guard_FOB_quartermaster.json b/data/json/npcs/old_guard/NPC_Old_Guard_FOB_quartermaster.json index 9576c18725f22..967c061e62016 100644 --- a/data/json/npcs/old_guard/NPC_Old_Guard_FOB_quartermaster.json +++ b/data/json/npcs/old_guard/NPC_Old_Guard_FOB_quartermaster.json @@ -126,7 +126,6 @@ [ "glock_19", 15 ], [ "usp_9mm", 10 ], [ "m9", 35 ], - [ "cx4", 10 ], [ "usp_45", 10 ], [ "m1911", 10 ], { "group": "modular_ar15", "prob": 10 }, diff --git a/data/json/npcs/refugee_center/surface_staff/Smokes/NPC_Smokes.json b/data/json/npcs/refugee_center/surface_staff/Smokes/NPC_Smokes.json index 82ee1cd20c88a..23d30133bfdba 100644 --- a/data/json/npcs/refugee_center/surface_staff/Smokes/NPC_Smokes.json +++ b/data/json/npcs/refugee_center/surface_staff/Smokes/NPC_Smokes.json @@ -216,7 +216,6 @@ [ "glock_19", 15 ], [ "usp_9mm", 10 ], [ "m9", 35 ], - [ "cx4", 1 ], [ "usp_45", 10 ], [ "m1911", 10 ], { "group": "modular_ar15", "prob": 10 }, diff --git a/data/json/obsoletion_and_migration_0.I/migration_items.json b/data/json/obsoletion_and_migration_0.I/migration_items.json index e898ef96d64e4..a36a1f3f58b7f 100644 --- a/data/json/obsoletion_and_migration_0.I/migration_items.json +++ b/data/json/obsoletion_and_migration_0.I/migration_items.json @@ -1344,5 +1344,10 @@ "type": "MIGRATION", "replace": "con_mix_foldable", "reset_item_vars": true + }, + { + "id": "cx4", + "type": "MIGRATION", + "replace": "ruger_pcc" } ] diff --git a/data/mods/Generic_Guns/firearms/gg_firearms_migration.json b/data/mods/Generic_Guns/firearms/gg_firearms_migration.json index 6e017de5c8ee3..10e8c4cba75da 100644 --- a/data/mods/Generic_Guns/firearms/gg_firearms_migration.json +++ b/data/mods/Generic_Guns/firearms/gg_firearms_migration.json @@ -141,7 +141,7 @@ "replace": "pistol_medium" }, { - "id": [ "cx4", "hk_mp5_semi_pistol", "ksub2000", "calico", "hk_mp5_10_semi", "TDI_10", "mp40semi", "hpt3895" ], + "id": [ "hk_mp5_semi_pistol", "ruger_pcc", "ksub2000", "calico", "hk_mp5_10_semi", "TDI_10", "mp40semi", "hpt3895" ], "type": "MIGRATION", "replace": "pistol_pcc" }, diff --git a/data/mods/Generic_Guns/firearms/pistol.json b/data/mods/Generic_Guns/firearms/pistol.json index 8355af762aaeb..2700dc34baddf 100644 --- a/data/mods/Generic_Guns/firearms/pistol.json +++ b/data/mods/Generic_Guns/firearms/pistol.json @@ -47,7 +47,7 @@ }, { "id": "pistol_pcc", - "copy-from": "cx4", + "copy-from": "ruger_pcc", "type": "GUN", "name": "survivalist carbine", "ammo": [ "ammo_pistol" ], diff --git a/data/mods/TEST_DATA/item_demographics.json b/data/mods/TEST_DATA/item_demographics.json index 8de9bad3ae3e8..160edd4660c5d 100644 --- a/data/mods/TEST_DATA/item_demographics.json +++ b/data/mods/TEST_DATA/item_demographics.json @@ -682,7 +682,7 @@ "colt_ro635": 1, "bt_apc9k": 1, "calico": 1, - "cx4": 1, + "ruger_pcc": 1, "feral_m9": 1 } }, @@ -1103,7 +1103,7 @@ "browning_blr": 1, "colt_lightning": 1, "combination_gun": 1, - "cx4": 1, + "ruger_pcc": 1, "cz600": 1, "cz600_762": 1, "famas": 1, diff --git a/data/mods/classic_zombies/items/blacklists.json b/data/mods/classic_zombies/items/blacklists.json index e3ed722a04fc5..294bcdaeeef61 100644 --- a/data/mods/classic_zombies/items/blacklists.json +++ b/data/mods/classic_zombies/items/blacklists.json @@ -201,7 +201,6 @@ "btmp9mag_9x19mm_30", "btmp9mag_9x19mm_50rd", "coilgun", - "cx4", "emp_gun", "fetus", "fs2000", @@ -348,6 +347,7 @@ "ruger_lcr_22", "22_speedloader8", "ruger_lcr_38", + "ruger_pcc", "38_speedloader5", "saiga_12", "saiga10mag", diff --git a/tools/json_tools/gun_variant_validator.py b/tools/json_tools/gun_variant_validator.py index 5544b62d8c485..6a1c7ca0a499d 100755 --- a/tools/json_tools/gun_variant_validator.py +++ b/tools/json_tools/gun_variant_validator.py @@ -125,7 +125,6 @@ "mp18", "mauser_c96", "mauser_m714", - "ksub2000", "smg_9mm", "colt_ro635", "arx160", @@ -160,7 +159,7 @@ "rm228", "needlegun", "needlepistol", - "rm298", + "rm298" } NAME_CHECK_BLACKLIST = { # FIXME: fix and remove these diff --git a/tools/spell_checker/dictionary.txt b/tools/spell_checker/dictionary.txt index bd555cbec884c..297a0d6602c3a 100644 --- a/tools/spell_checker/dictionary.txt +++ b/tools/spell_checker/dictionary.txt @@ -1007,6 +1007,7 @@ cecaelia cecaelian Celsius Celtic +centerfire centrigrades centrosaurus CEO