diff --git a/data/json/itemgroups/Clothing_Gear/costumes.json b/data/json/itemgroups/Clothing_Gear/costumes.json index d856ac0f8a539..e4436e99fe560 100644 --- a/data/json/itemgroups/Clothing_Gear/costumes.json +++ b/data/json/itemgroups/Clothing_Gear/costumes.json @@ -81,7 +81,7 @@ { "type": "item_group", "id": "costume_cloacks", - "//": "cloacks for costumes, cosplay and costume parties", + "//": "cloaks for costumes, cosplay and costume parties", "subtype": "distribution", "entries": [ { "item": "cloak_vampire", "prob": 25 }, diff --git a/data/json/itemgroups/Weapons_Mods_Ammo/arsenal/police_armory.json b/data/json/itemgroups/Weapons_Mods_Ammo/arsenal/police_armory.json index 4b523f64219a3..2314b9ccc48bd 100644 --- a/data/json/itemgroups/Weapons_Mods_Ammo/arsenal/police_armory.json +++ b/data/json/itemgroups/Weapons_Mods_Ammo/arsenal/police_armory.json @@ -122,6 +122,7 @@ { "item": "glock_19" }, { "item": "glock_19", "prob": 50 }, { "item": "glock_19", "prob": 25 }, + { "item": "glock_19", "variant": "glock_19_cop", "contents-item": [ "red_dot_sight" ], "prob": 15 }, { "item": "glockmag", "count": [ 1, 4 ] }, { "group": "police_armory_full_glockmag_9mm", "count": [ 0, 4 ] }, { "group": "police_armory_full_glockmag_9mmfmj", "count": [ 0, 4 ] }, diff --git a/data/json/itemgroups/Weapons_Mods_Ammo/guns.json b/data/json/itemgroups/Weapons_Mods_Ammo/guns.json index db5e6a30c839a..cb912b01ec95c 100644 --- a/data/json/itemgroups/Weapons_Mods_Ammo/guns.json +++ b/data/json/itemgroups/Weapons_Mods_Ammo/guns.json @@ -1215,6 +1215,13 @@ "id": "sidearms_cop", "items": [ { "item": "glock_19", "prob": 15, "charges": [ 0, 15 ] }, + { + "item": "glock_19", + "variant": "glock_19_cop", + "prob": 2, + "contents-item": [ "red_dot_sight" ], + "charges": [ 0, 15 ] + }, { "item": "glock_22", "prob": 20, "ammo-item": "40sw", "charges": [ 0, 15 ] }, { "item": "m9", "variant": "m9", "prob": 5, "charges": [ 0, 15 ] }, { "item": "sig_40", "prob": 20, "charges": [ 0, 12 ] }, diff --git a/data/json/items/armor/ballistic_armor.json b/data/json/items/armor/ballistic_armor.json index 8d1cfda4b5567..47f68cc941c66 100644 --- a/data/json/items/armor/ballistic_armor.json +++ b/data/json/items/armor/ballistic_armor.json @@ -1224,6 +1224,15 @@ } ] }, + { + "id": "fbi_armor_vest", + "type": "ARMOR", + "copy-from": "soft_3a_vest", + "name": { "str": "FBI ballistic vest" }, + "//": "Based on the exact model; https://www.tyrtactical.com/shop/tyr-tactical-male-epic-federal-outer-carrier/", + "description": "A ranger green soft ballistic vest with MOLLE rigging used by federal law enforcement agencies. Soft armor plates inside the vest provide solid defense against shrapnel and small-caliber rounds. \"FBI\" is emblazoned across the front and back in large, yellow lettering, and it includes a pocket for storing evidence. Use it to attach or detach pouches.", + "use_action": [ { "type": "attach_molle", "size": 6 }, { "type": "detach_molle" } ] + }, { "id": "level_3_vest", "type": "ARMOR", diff --git a/data/json/items/armor/coats.json b/data/json/items/armor/coats.json index 5490ea6ebfb43..1e8b2f12da18f 100644 --- a/data/json/items/armor/coats.json +++ b/data/json/items/armor/coats.json @@ -1697,7 +1697,17 @@ "warmth": 10, "material_thickness": 0.25, "environmental_protection": 2, - "flags": [ "VARSIZE", "POCKETS", "HOOD", "OUTER", "RAINPROOF" ] + "flags": [ "VARSIZE", "POCKETS", "HOOD", "OUTER", "RAINPROOF" ], + "variant_type": "generic", + "variants": [ + { + "id": "windbreaker_fbi", + "name": { "str": "FBI raid jacket" }, + "description": "A distinctive deep blue windbreaker with \"FBI\" emblazoned on the left breast, on the sides of the sleeves, and across the back in large, yellow lettering. It is only issued to FBI field agents, preventing misidentification.", + "color": "blue", + "weight": 0 + } + ] }, { "id": "jacket_varsity", diff --git a/data/json/items/armor/hats.json b/data/json/items/armor/hats.json index 4ab07c78517eb..0a108446f2c05 100644 --- a/data/json/items/armor/hats.json +++ b/data/json/items/armor/hats.json @@ -461,6 +461,12 @@ "name": { "str": "trucker cap" }, "description": "A cotton cap with a broad front and a plastic mesh at the back, allowing better air circulation. The trucker hat came about in it's true form in the early 1970's as a promotional give-away from US feed or farming supply companies to farmers, truck drivers (hence the name) and other rural workers. It is perfect for keeping your head cool and the sun out of your eyes.", "weight": 2 + }, + { + "id": "hat_fbi", + "name": { "str": "FBI cap" }, + "description": "A deep blue snapback baseball cap with \"FBI\" embroidered across the front in blocky, yet imposing yellow lettering. Although very much illegal to impersonate a government official, most zombies tend to let it slide. It shades your eyes from the sun, provides a little warmth, and makes you feel like an operator.", + "weight": 0 } ] }, diff --git a/data/json/items/armor/jewelry.json b/data/json/items/armor/jewelry.json index baa1505648425..5324969638fdb 100644 --- a/data/json/items/armor/jewelry.json +++ b/data/json/items/armor/jewelry.json @@ -2010,6 +2010,13 @@ "name": { "str": "SWAT badge" }, "description": "A matte-finish silver shield identifies the wearer as an authority who goes in when the cops just aren't enough." }, + { + "id": "badge_fbi", + "copy-from": "badge_abstract", + "type": "ARMOR", + "name": { "str": "FBI badge" }, + "description": "A gold-filled brass shield with an eagle perched atop it and Lady Justice emblazoned on its center. In large, engraved lettering it reads, \"FEDERAL BUREAU OF INVESTIGATION-US DEPARTMENT OF JUSTICE\". It identifies the wearer as an agent with federal authority throughout all the United States and her territories; that is, whatever is left of them." + }, { "id": "badge_doctor", "copy-from": "badge_abstract", diff --git a/data/json/items/gun/40.json b/data/json/items/gun/40.json index edbc565c9f810..17ae1ac448450 100644 --- a/data/json/items/gun/40.json +++ b/data/json/items/gun/40.json @@ -28,7 +28,7 @@ "type": "GUN", "reload_noise_volume": 10, "name": { "str_sp": "Glock 22" }, - "description": "A .40 S&W variant of the popular Glock 17 pistol. The standard-issue firearm of the FBI and of countless other law enforcement agencies worldwide.", + "description": "A .40 S&W variant of the popular Glock 17 pistol. The standard-issue firearm of the FBI from 1997-2016, and of countless other law enforcement agencies worldwide.", "ascii_picture": "glock_17", "weight": "645 g", "volume": "433 ml", diff --git a/data/json/items/gun/9mm.json b/data/json/items/gun/9mm.json index fb7bfc29ca7ec..6cb535df59892 100644 --- a/data/json/items/gun/9mm.json +++ b/data/json/items/gun/9mm.json @@ -116,6 +116,12 @@ "id": "glock_19", "name": { "str": "Glock 19 pistol" }, "description": "Possibly the most popular pistol in existence, the Glock 19 can be summed up as being fundamentally a more compact brother to the full-sized Glock 17 pistol. Sporting a mainly polymer-based design, the Glock 19 is often derided for its plastic construction which lends the handgun a deceptively flimsy feel. Even so, the Glock 19 remains both a remarkably reliable firearm and a quite shootable gun in its own right." + }, + { + "id": "glock_19_cop", + "name": { "str": "Glock 19M MOS" }, + "description": "A close relative to the stock Glock 19, this all-black pistol features a specialized mount for a red dot sight, extended mag release, and a 4.02-inch Marksman barrel. It is most commonly used by law enforcement, and is the current standard-issue sidearm of the FBI.", + "weight": 0 } ], "ascii_picture": "glock_19", diff --git a/data/json/monsterdrops/clothing_halloween.json b/data/json/monsterdrops/clothing_halloween.json index ed787a5b250a2..84e3a92a51345 100644 --- a/data/json/monsterdrops/clothing_halloween.json +++ b/data/json/monsterdrops/clothing_halloween.json @@ -55,6 +55,7 @@ { "group": "grim_reaper_costume_unisex", "prob": 35 }, { "group": "clown_costume_unisex", "prob": 25 }, { "group": "army_costume_unisex", "prob": 20 }, + { "group": "fbi_costume_unisex", "prob": 15 }, { "group": "chef_costume_unisex", "prob": 20 }, { "group": "leather_jacket_costume_unisex", "prob": 15 }, { "group": "cowboy_costume_unisex", "prob": 25 }, @@ -1073,6 +1074,42 @@ } ] }, + { + "id": "fbi_costume_unisex", + "type": "item_group", + "//": "For use in halloween as a set of zombie cloth drops for fbi zombies", + "subtype": "distribution", + "entries": [ + { + "collection": [ + { "item": "hat_ball", "variant": "hat_fbi", "prob": 95, "damage": [ 1, 4 ] }, + { "item": "jacket_windbreaker", "variant": "windbreaker_fbi", "damage": [ 1, 4 ] }, + { "item": "tie_clipon", "prob": 70, "damage": [ 1, 4 ] }, + { "item": "sunglasses", "prob": 70, "damage": [ 1, 4 ] }, + { "item": "dress_shirt", "damage": [ 1, 4 ] }, + { "item": "dress_shoes", "prob": 95, "damage": [ 1, 4 ] }, + { "item": "pants", "variant": "pants_black", "prob": 95, "damage": [ 1, 4 ] }, + { "group": "socks_unisex", "damage": [ 1, 4 ] }, + { + "distribution": [ + { + "collection": [ + { "group": "male_underwear", "damage": [ 1, 4 ] }, + { "group": "accesories_personal_mens", "prob": 2, "damage": [ 1, 4 ] } + ] + }, + { + "collection": [ + { "group": "female_underwear", "damage": [ 1, 4 ] }, + { "group": "accesories_personal_womens", "prob": 5, "damage": [ 1, 4 ] } + ] + } + ] + } + ] + } + ] + }, { "id": "army_costume_unisex", "type": "item_group", diff --git a/data/json/mutations/mutations.json b/data/json/mutations/mutations.json index 771224a3ba3cd..1b6ec0e5fac4a 100644 --- a/data/json/mutations/mutations.json +++ b/data/json/mutations/mutations.json @@ -9168,6 +9168,17 @@ "purifiable": false, "profession": true }, + { + "type": "mutation", + "id": "PROF_FBI", + "//": "This doesn't do anything at the moment, as I am too scared of breaking C++ things, but it will eventually.", + "name": { "str": "Special Agent" }, + "points": 0, + "description": "You are a member of the Federal Bureau of Investigation, also known as the FBI. You have jurisdiction throughout the remaining 49 States, Indian Country, and any other territories of the USA. Whether that means anything now is another question.", + "valid": false, + "purifiable": false, + "profession": true + }, { "type": "mutation", "id": "PROF_CHURL", diff --git a/data/json/professions.json b/data/json/professions.json index 641ac245831b9..78ebc1a35665c 100644 --- a/data/json/professions.json +++ b/data/json/professions.json @@ -11,6 +11,23 @@ "id": "holster_supp_usp9", "entries": [ { "item": "usp_9mm", "ammo-item": "9mmfmj", "charges": 15, "contents-item": [ "suppressor_compact" ] } ] }, + { + "type": "item_group", + "subtype": "collection", + "id": "holster_glock19_fed", + "entries": [ { "item": "glock_19", "variant": "glock_19_cop", "charges": 15, "contents-item": [ "red_dot_sight" ] } ] + }, + { + "type": "item_group", + "subtype": "collection", + "id": "glock17_mags", + "entries": [ + { "item": "glockmag", "ammo-item": "9mm", "charges": 15 }, + { "item": "glockmag", "ammo-item": "9mm", "charges": 15 }, + { "item": "glockmag", "ammo-item": "9mm", "charges": 15 }, + { "item": "glockmag", "ammo-item": "9mm", "charges": 15 } + ] + }, { "type": "item_group", "subtype": "collection", @@ -7725,5 +7742,48 @@ "female": { "entries": [ { "item": "sports_bra" }, { "item": "boy_shorts" } ] } }, "missions": [ "MISSION_BLACK_BELT_GOAL" ] + }, + { + "type": "profession", + "id": "FBI", + "name": "FBI Special Agent", + "description": "As a member of the FBI, you dealt with crime that crossed state lines. You had gotten the go-ahead to make the biggest bust of your career; before you kicked down the door, you yelled \"FBI, open up!\" and then the sky broke open.", + "points": 4, + "proficiencies": [ "prof_gunsmithing_basic", "prof_spotting", "prof_gun_cleaning", "prof_auto_pistols_familiar", "prof_batons_familiar" ], + "skills": [ + { "level": 5, "name": "gun" }, + { "level": 3, "name": "rifle" }, + { "level": 5, "name": "pistol" }, + { "level": 3, "name": "shotgun" }, + { "level": 3, "name": "melee" }, + { "level": 3, "name": "bashing" }, + { "level": 3, "name": "dodge" }, + { "level": 1, "name": "throw" }, + { "level": 3, "name": "swimming" } + ], + "traits": [ "PROF_FBI" ], + "items": { + "both": { + "entries": [ + { "item": "socks" }, + { "item": "police_belt" }, + { "item": "boots_combat" }, + { "item": "gloves_tactical" }, + { "item": "badge_fbi" }, + { "item": "diving_watch" }, + { "item": "pants_tactical", "variant": "tactical_pants_black" }, + { "item": "tshirt" }, + { "item": "fbi_armor_vest" }, + { "item": "jacket_windbreaker", "variant": "windbreaker_fbi" }, + { "item": "hat_ball", "variant": "hat_fbi" }, + { "group": "charged_two_way_radio" }, + { "group": "starter_wallet_full" }, + { "group": "holster_glock19_fed", "container-item": "holster" }, + { "group": "glock17_mags" } + ] + }, + "male": { "entries": [ { "item": "boxer_shorts" } ] }, + "female": { "entries": [ { "item": "sports_bra" }, { "item": "boy_shorts" } ] } + } } ] diff --git a/data/json/vehicles/emergency.json b/data/json/vehicles/emergency.json index 8ec07a41d0320..29e7e50833380 100644 --- a/data/json/vehicles/emergency.json +++ b/data/json/vehicles/emergency.json @@ -134,7 +134,7 @@ { "x": -3, "y": 2, "parts": [ "frame#se", "halfboard#se" ] } ], "items": [ - { "x": -2, "y": 1, "chance": 75, "magazine": 100, "ammo": 50, "item_groups": [ "guns_cop" ] }, + { "x": -2, "y": 1, "chance": 75, "magazine": 100, "ammo": 50, "item_groups": [ "longguns_cop_loaded" ] }, { "x": -2, "y": 1, "chance": 100, "item_groups": [ "spare_tire_kit_small_jack" ] } ] },