From beba234f6e203e97370affb4a4f610cb47afda72 Mon Sep 17 00:00:00 2001 From: ShnitzelX2 <65314588+ShnitzelX2@users.noreply.github.com> Date: Mon, 11 Nov 2024 21:10:01 -0500 Subject: [PATCH] obsolete unused generic NPC classes --- data/json/npcs/NC_ARMY.json | 191 ----- data/json/npcs/NC_HACKER.json | 41 -- data/json/npcs/NC_MOTORHEAD.json | 105 --- data/json/npcs/NC_NINJA.json | 29 - data/json/npcs/NC_OPS.json | 162 ----- data/json/npcs/NC_SCIENTIST.json | 24 - data/json/npcs/NC_TRADER.json | 8 - data/json/npcs/classes.json | 156 +--- .../obsolete_npc_class.json | 688 ++++++++++++++++++ src/mission_start.cpp | 10 +- src/npc.cpp | 4 +- 11 files changed, 698 insertions(+), 720 deletions(-) delete mode 100644 data/json/npcs/NC_ARMY.json delete mode 100644 data/json/npcs/NC_HACKER.json delete mode 100644 data/json/npcs/NC_MOTORHEAD.json delete mode 100644 data/json/npcs/NC_NINJA.json delete mode 100644 data/json/npcs/NC_OPS.json delete mode 100644 data/json/npcs/NC_SCIENTIST.json delete mode 100644 data/json/npcs/NC_TRADER.json create mode 100644 data/json/obsoletion_and_migration_0.I/obsolete_npc_class.json diff --git a/data/json/npcs/NC_ARMY.json b/data/json/npcs/NC_ARMY.json deleted file mode 100644 index 86c3851a0a57f..0000000000000 --- a/data/json/npcs/NC_ARMY.json +++ /dev/null @@ -1,191 +0,0 @@ -[ - { - "type": "item_group", - "id": "NC_ARMY_pants_male", - "subtype": "distribution", - "entries": [ { "item": "pants_army", "prob": 90 }, { "item": "pants_cargo", "prob": 10 } ] - }, - { - "type": "item_group", - "id": "NC_ARMY_pants_female", - "subtype": "distribution", - "entries": [ { "item": "pants_army", "prob": 90 }, { "item": "pants_cargo", "prob": 10 } ] - }, - { - "type": "item_group", - "id": "NC_ARMY_shirt_male", - "subtype": "distribution", - "entries": [ - { "item": "tshirt", "prob": 20 }, - { "item": "polo_shirt", "prob": 20 }, - { "item": "dress_shirt", "prob": 20 }, - { "item": "tank_top", "prob": 20 }, - { "item": "longshirt", "prob": 20 }, - { "item": "denim_shirt", "prob": 20 } - ] - }, - { - "type": "item_group", - "id": "NC_ARMY_shirt_female", - "subtype": "distribution", - "entries": [ - { "item": "tshirt", "prob": 20 }, - { "item": "polo_shirt", "prob": 20 }, - { "item": "dress_shirt", "prob": 20 }, - { "item": "tank_top", "prob": 20 }, - { "item": "longshirt", "prob": 20 }, - { "item": "denim_shirt", "prob": 20 } - ] - }, - { - "type": "item_group", - "id": "NC_ARMY_gloves", - "subtype": "distribution", - "entries": [ { "item": "null", "prob": 50 }, { "item": "gloves_tactical", "prob": 50 } ] - }, - { - "type": "item_group", - "id": "NC_ARMY_coat", - "subtype": "distribution", - "entries": [ - { "item": "null", "prob": 60 }, - { "item": "jacket_army", "prob": 40 }, - { "item": "ballistic_vest_esapi", "prob": 10 }, - { "item": "tacvest", "prob": 40 }, - { "item": "kevlar", "prob": 20 }, - { "item": "chestrig", "prob": 30 } - ] - }, - { - "type": "item_group", - "id": "NC_ARMY_shoes", - "subtype": "distribution", - "entries": [ { "item": "boots_combat", "prob": 100 } ] - }, - { - "type": "item_group", - "id": "NC_ARMY_masks", - "subtype": "distribution", - "entries": [ { "item": "null", "prob": 60 }, { "item": "keffiyeh", "prob": 30 }, { "item": "mask_gas", "prob": 10 } ] - }, - { - "type": "item_group", - "id": "NC_ARMY_eyes", - "subtype": "distribution", - "entries": [ { "item": "null", "prob": 40 }, { "item": "glasses_bal", "prob": 50 }, { "item": "sunglasses", "prob": 20 } ] - }, - { - "type": "item_group", - "id": "NC_ARMY_hat", - "subtype": "distribution", - "entries": [ - { "item": "null", "prob": 40 }, - { "item": "hat_ball", "prob": 10 }, - { "item": "tac_helmet", "prob": 30 }, - { "item": "helmet_army", "prob": 10 }, - { "item": "hat_boonie", "prob": 10 } - ] - }, - { - "type": "item_group", - "id": "NC_ARMY_extra", - "subtype": "distribution", - "entries": [ { "item": "null", "prob": 30 }, { "item": "rucksack", "prob": 70 } ] - }, - { - "type": "item_group", - "id": "NC_ARMY_bashing", - "subtype": "distribution", - "entries": [ - { "item": "hammer", "prob": 20 }, - { "item": "wrench", "prob": 20 }, - { "item": "hammer_sledge", "prob": 20 }, - { "item": "pipe", "prob": 20 }, - { "item": "baton-extended", "prob": 20 }, - { "item": "crowbar", "prob": 20 } - ] - }, - { - "type": "item_group", - "id": "NC_ARMY_cutting", - "subtype": "distribution", - "entries": [ - { "item": "knife_huge", "variant": "knife_butcher", "prob": 20 }, - { "item": "hatchet", "prob": 20 }, - { "item": "knife_combat", "prob": 20 }, - { "item": "machete", "prob": 20 }, - { "item": "knife_combat", "prob": 20 }, - { "item": "diveknife", "prob": 20 } - ] - }, - { - "type": "item_group", - "id": "NC_ARMY_stabbing", - "subtype": "distribution", - "entries": [ - { "item": "spear_knife", "prob": 50 }, - { "item": "spear_steel", "prob": 10 }, - { "item": "spear_forked", "prob": 10 }, - { "item": "spear_rebar", "prob": 5 } - ] - }, - { - "type": "item_group", - "id": "NC_ARMY_throw", - "subtype": "distribution", - "entries": [ { "item": "throwing_knife", "prob": 50 }, { "item": "throwing_axe", "prob": 50 } ] - }, - { - "type": "item_group", - "id": "NC_ARMY_archery", - "subtype": "distribution", - "entries": [ { "item": "crossbow", "prob": 5 } ] - }, - { - "type": "item_group", - "id": "NC_ARMY_pistols", - "subtype": "distribution", - "entries": [ { "item": "m1911", "prob": 30 }, { "item": "m9", "prob": 70 } ] - }, - { - "type": "item_group", - "id": "NC_ARMY_shotgun", - "subtype": "distribution", - "entries": [ { "item": "mossberg_500", "prob": 25 }, { "item": "remington_870", "prob": 25 } ] - }, - { - "type": "item_group", - "id": "NC_ARMY_smg", - "subtype": "distribution", - "entries": [ { "item": "hk_mp5", "prob": 50 } ] - }, - { - "type": "item_group", - "id": "NC_ARMY_rifle", - "subtype": "distribution", - "entries": [ { "group": "modular_m4a1", "prob": 50 }, { "item": "m14ebr", "prob": 35 }, { "item": "m249", "prob": 20 } ] - }, - { - "type": "item_group", - "id": "NC_ARMY_launcher", - "subtype": "distribution", - "entries": [ { "item": "mgl", "prob": 10 } ] - }, - { - "type": "item_group", - "id": "NC_ARMY_weapon_random", - "subtype": "distribution", - "entries": [ { "item": "q_staff", "prob": 100 } ] - }, - { - "type": "item_group", - "id": "NC_ARMY_misc", - "subtype": "distribution", - "entries": [ - { "item": "grenade", "prob": 40 }, - { "item": "ref_lighter", "prob": 30 }, - { "item": "lighter", "prob": 30 }, - { "item": "matches", "prob": 30 } - ] - } -] diff --git a/data/json/npcs/NC_HACKER.json b/data/json/npcs/NC_HACKER.json deleted file mode 100644 index a3c6424329e80..0000000000000 --- a/data/json/npcs/NC_HACKER.json +++ /dev/null @@ -1,41 +0,0 @@ -[ - { - "type": "item_group", - "id": "NC_HACKER_misc", - "subtype": "distribution", - "entries": [ - { "item": "energy_drink", "prob": 55 }, - { "item": "energy_drink_atomic", "prob": 12 }, - { "item": "mag_computer", "prob": 45 }, - { "item": "mag_electronics", "prob": 25 }, - { "item": "colamdew", "prob": 50 }, - { "prob": 10, "group": "adderall_bottle_plastic_pill_prescription_10" }, - { "item": "fries", "prob": 10 }, - { "item": "cheese_fries", "prob": 10 }, - { "item": "onion_rings", "prob": 10 }, - { "prob": 20, "group": "mintpatties_bag_plastic_3" }, - { "item": "electrohack", "prob": 3, "charges": [ 0, -1 ] }, - { "item": "usb_drive", "prob": 15 }, - { "group": "ammo_pocket_batteries_full", "prob": 50 }, - { "item": "file", "prob": 10 }, - { "item": "manual_computer", "prob": 20 }, - { "item": "hackerman_computer", "prob": 20 }, - { "item": "textbook_computer", "prob": 8 }, - { "item": "textbook_anarch", "prob": 4 }, - { "item": "computer_science", "prob": 7 }, - { "item": "solar_cell", "prob": 5 }, - { "item": "SICP", "prob": 3 }, - { "item": "recipe_serum", "prob": 2 }, - { "item": "recipe_chimera", "prob": 1 }, - { "item": "recipe_labchem", "prob": 1 }, - { "item": "soldering_iron_portable", "prob": 70, "charges": [ 0, 50 ] }, - { "item": "solder_wire", "prob": 70 }, - { "item": "textbook_weapwest", "prob": 2 }, - { "item": "textbook_weparabic", "prob": 2 }, - { "item": "textbook_weapeast", "prob": 2 }, - { "item": "textbook_armwest", "prob": 2 }, - { "item": "textbook_armeast", "prob": 2 }, - { "item": "radio_book", "prob": 22 } - ] - } -] diff --git a/data/json/npcs/NC_MOTORHEAD.json b/data/json/npcs/NC_MOTORHEAD.json deleted file mode 100644 index f8963e3143c90..0000000000000 --- a/data/json/npcs/NC_MOTORHEAD.json +++ /dev/null @@ -1,105 +0,0 @@ -[ - { - "type": "item_group", - "id": "NC_MOTORHEAD_pants", - "subtype": "distribution", - "entries": [ - { "item": "jeans", "prob": 60 }, - { "item": "pants", "prob": 5 }, - { "item": "motorbike_pants", "prob": 10 }, - { "item": "jeans_mod", "prob": 5 }, - { "item": "pants_leather", "prob": 10 }, - { "item": "pants_cargo", "prob": 10 } - ] - }, - { - "type": "item_group", - "id": "NC_MOTORHEAD_shoes", - "subtype": "distribution", - "entries": [ { "item": "sneakers", "prob": 40 }, { "item": "boots", "prob": 30 }, { "item": "motorbike_boots", "prob": 30 } ] - }, - { - "type": "item_group", - "id": "NC_MOTORHEAD_shirt", - "subtype": "distribution", - "entries": [ - { "item": "tshirt", "prob": 50 }, - { "item": "polo_shirt", "prob": 20 }, - { "item": "tank_top", "prob": 10 }, - { "item": "denim_shirt", "prob": 20 } - ] - }, - { - "type": "item_group", - "id": "NC_MOTORHEAD_gloves", - "subtype": "distribution", - "entries": [ - { "item": "null", "prob": 10 }, - { "item": "gloves_leather", "prob": 10 }, - { "item": "gloves_work", "prob": 40 }, - { "item": "gloves_fingerless", "prob": 40 } - ] - }, - { - "type": "item_group", - "id": "NC_MOTORHEAD_coat", - "subtype": "distribution", - "entries": [ - { "item": "hoodie", "prob": 15 }, - { "item": "jacket_light", "prob": 15 }, - { "item": "jacket_windbreaker", "prob": 15 }, - { "item": "jacket_leather", "prob": 15 }, - { "item": "jacket_leather_mod", "prob": 5 }, - { "item": "touring_suit", "prob": 20 }, - { "item": "jacket_jean", "prob": 15 }, - { "item": "jacket_jean_mod", "prob": 5 } - ] - }, - { - "type": "item_group", - "id": "NC_MOTORHEAD_vest", - "subtype": "distribution", - "entries": [ { "item": "null", "prob": 50 }, { "item": "kevlar", "prob": 50 } ] - }, - { - "type": "item_group", - "id": "NC_MOTORHEAD_storage", - "subtype": "distribution", - "entries": [ - { "item": "backpack", "prob": 50 }, - { "item": "daypack", "prob": 20 }, - { "item": "backpack_leather", "prob": 10 }, - { "item": "mbag", "prob": 20 } - ] - }, - { - "type": "item_group", - "id": "NC_MOTORHEAD_holster", - "subtype": "distribution", - "entries": [ { "item": "leather_belt", "prob": 25 }, { "item": "tool_belt", "prob": 75 } ] - }, - { - "type": "item_group", - "id": "NC_MOTORHEAD_hat", - "subtype": "distribution", - "entries": [ - { "item": "null", "prob": 10 }, - { "item": "cowboy_hat", "prob": 10 }, - { "item": "hat_ball", "prob": 40 }, - { "item": "hat_hard", "prob": 20 }, - { "item": "helmet_motor", "prob": 20 } - ] - }, - { - "type": "item_group", - "id": "NC_MOTORHEAD_wield", - "subtype": "distribution", - "entries": [ - { "item": "lug_wrench", "prob": 25 }, - { "item": "wrench_large", "prob": 25 }, - { "item": "hd_pipe", "prob": 20 }, - { "item": "staff_pipe", "prob": 15 }, - { "item": "mace_pipe_large", "prob": 15 } - ] - } -] diff --git a/data/json/npcs/NC_NINJA.json b/data/json/npcs/NC_NINJA.json deleted file mode 100644 index cd5285cbf6e1b..0000000000000 --- a/data/json/npcs/NC_NINJA.json +++ /dev/null @@ -1,29 +0,0 @@ -[ - { - "type": "item_group", - "id": "NC_NINJA_shirt", - "subtype": "distribution", - "entries": [ - { "item": "karate_gi", "prob": 10 }, - { "item": "judo_gi", "prob": 10 }, - { "item": "keikogi", "prob": 10 }, - { "item": "zubon_gi", "prob": 10 }, - { "item": "hakama_gi", "prob": 10 } - ] - }, - { - "type": "item_group", - "id": "NC_NINJA_belt", - "subtype": "distribution", - "entries": [ - { "item": "null", "prob": 50 }, - { "item": "judo_belt_black", "prob": 10 }, - { "item": "judo_belt_blue", "prob": 10 }, - { "item": "judo_belt_brown", "prob": 10 }, - { "item": "judo_belt_green", "prob": 40 }, - { "item": "judo_belt_orange", "prob": 40 }, - { "item": "judo_belt_white", "prob": 40 }, - { "item": "judo_belt_yellow", "prob": 40 } - ] - } -] diff --git a/data/json/npcs/NC_OPS.json b/data/json/npcs/NC_OPS.json deleted file mode 100644 index b5e90dec4b368..0000000000000 --- a/data/json/npcs/NC_OPS.json +++ /dev/null @@ -1,162 +0,0 @@ -[ - { - "type": "item_group", - "id": "NC_OPS_pants_male", - "items": [ [ "pants_army", 20 ], [ "pants_cargo", 50 ], [ "jeans", 30 ], [ "shorts_cargo", 20 ] ] - }, - { - "type": "item_group", - "id": "NC_OPS_pants_female", - "items": [ [ "pants_army", 20 ], [ "pants_cargo", 50 ], [ "jeans", 30 ], [ "shorts_cargo", 20 ] ] - }, - { - "type": "item_group", - "id": "NC_OPS_shirt_male", - "items": [ - [ "tshirt", 20 ], - [ "polo_shirt", 20 ], - [ "dress_shirt", 20 ], - [ "denim_shirt", 20 ], - [ "tank_top", 20 ], - [ "longshirt", 20 ], - [ "hoodie", 40 ], - [ "sweatshirt", 40 ] - ] - }, - { - "type": "item_group", - "id": "NC_OPS_shirt_female", - "items": [ - [ "tshirt", 20 ], - [ "polo_shirt", 20 ], - [ "dress_shirt", 20 ], - [ "tank_top", 20 ], - [ "longshirt", 20 ], - [ "hoodie", 40 ], - [ "sweatshirt", 40 ] - ] - }, - { - "type": "item_group", - "id": "NC_OPS_gloves", - "items": [ [ "null", 50 ], [ "gloves_tactical", 50 ] ] - }, - { - "type": "item_group", - "id": "NC_OPS_coat", - "items": [ - [ "null", 60 ], - [ "jacket_army", 40 ], - [ "cloak", 20 ], - [ "ballistic_vest_esapi", 10 ], - [ "tacvest", 40 ], - [ "kevlar", 20 ], - [ "chestrig", 30 ] - ] - }, - { - "type": "item_group", - "id": "NC_OPS_shoes", - "items": [ [ "boots_combat", 100 ] ] - }, - { - "type": "item_group", - "id": "NC_OPS_masks", - "items": [ [ "null", 60 ], [ "keffiyeh", 30 ], [ "mask_gas", 10 ] ] - }, - { - "type": "item_group", - "id": "NC_OPS_eyes", - "items": [ [ "null", 40 ], [ "glasses_bal", 50 ], [ "sunglasses", 20 ], [ "fancy_sunglasses", 20 ] ] - }, - { - "type": "item_group", - "id": "NC_OPS_hat", - "items": [ [ "null", 20 ], [ "hat_ball", 50 ], [ "tac_helmet", 50 ] ] - }, - { - "type": "item_group", - "id": "NC_OPS_extra", - "items": [ [ "null", 30 ], [ "rucksack", 70 ] ] - }, - { - "type": "item_group", - "id": "NC_OPS_bashing", - "items": [ - [ "hammer", 20 ], - [ "wrench", 20 ], - [ "hammer_sledge", 20 ], - [ "pipe", 20 ], - [ "baton-extended", 20 ], - [ "crowbar", 20 ] - ] - }, - { - "type": "item_group", - "id": "NC_OPS_cutting", - "items": [ - { "item": "knife_huge", "variant": "knife_butcher", "prob": 20 }, - [ "hatchet", 20 ], - [ "knife_combat", 20 ], - [ "machete", 20 ], - [ "knife_combat", 20 ], - [ "diveknife", 20 ] - ] - }, - { - "type": "item_group", - "id": "NC_OPS_stabbing", - "items": [ [ "spear_knife", 50 ], [ "spear_steel", 10 ], [ "spear_forked", 10 ], [ "spear_rebar", 5 ] ] - }, - { - "type": "item_group", - "id": "NC_OPS_throw", - "items": [ [ "throwing_knife", 50 ], [ "throwing_axe", 50 ] ] - }, - { - "type": "item_group", - "id": "NC_OPS_archery", - "items": [ [ "crossbow", 5 ] ] - }, - { - "type": "item_group", - "id": "NC_OPS_pistols", - "items": [ [ "m1911", 70 ], [ "fn57", 50 ], [ "m9", 30 ] ] - }, - { - "type": "item_group", - "id": "NC_OPS_shotgun", - "items": [ [ "mossberg_500", 25 ], [ "remington_870", 25 ] ] - }, - { - "type": "item_group", - "id": "NC_OPS_smg", - "items": [ [ "hk_mp5", 50 ], [ "hk_mp7", 30 ] ] - }, - { - "type": "item_group", - "id": "NC_OPS_rifle", - "items": [ - { "group": "modular_m4a1", "prob": 50 }, - [ "m14ebr", 35 ], - [ "m249", 20 ], - [ "modular_m27_assault_rifle", 50 ], - [ "M24", 35 ] - ] - }, - { - "type": "item_group", - "id": "NC_OPS_launcher", - "items": [ [ "mgl", 10 ] ] - }, - { - "type": "item_group", - "id": "NC_OPS_weapon_random", - "items": [ [ "q_staff", 100 ] ] - }, - { - "type": "item_group", - "id": "NC_OPS_misc", - "items": [ [ "grenade", 40 ], [ "ref_lighter", 30 ], [ "lighter", 30 ], [ "matches", 30 ] ] - } -] diff --git a/data/json/npcs/NC_SCIENTIST.json b/data/json/npcs/NC_SCIENTIST.json deleted file mode 100644 index 2ed8155458bec..0000000000000 --- a/data/json/npcs/NC_SCIENTIST.json +++ /dev/null @@ -1,24 +0,0 @@ -[ - { - "type": "item_group", - "id": "NC_SCIENTIST_eyes", - "subtype": "distribution", - "entries": [ { "item": "null", "prob": 20 }, { "item": "glasses_safety", "prob": 40 }, { "item": "glasses_eye", "prob": 60 } ] - }, - { - "type": "item_group", - "id": "NC_SCIENTIST_coat", - "subtype": "distribution", - "entries": [ - { "item": "null", "prob": 20 }, - { "item": "hoodie", "prob": 10 }, - { "item": "coat_lab", "prob": 60 }, - { "item": "jacket_light", "prob": 10 }, - { "item": "jacket_leather", "prob": 10 }, - { "item": "trenchcoat", "prob": 5 }, - { "item": "jacket_jean", "prob": 10 }, - { "item": "jacket_windbreaker", "prob": 5 }, - { "item": "kevlar", "prob": 5 } - ] - } -] diff --git a/data/json/npcs/NC_TRADER.json b/data/json/npcs/NC_TRADER.json deleted file mode 100644 index 6be9d86d5f0d6..0000000000000 --- a/data/json/npcs/NC_TRADER.json +++ /dev/null @@ -1,8 +0,0 @@ -[ - { - "type": "item_group", - "id": "NC_TRADER_storage", - "subtype": "distribution", - "entries": [ { "item": "duffelbag", "prob": 80 }, { "item": "rucksack", "prob": 50 } ] - } -] diff --git a/data/json/npcs/classes.json b/data/json/npcs/classes.json index 153ba9815f5d0..3b6fdc5cf0ec8 100644 --- a/data/json/npcs/classes.json +++ b/data/json/npcs/classes.json @@ -39,68 +39,6 @@ "//": "This is a unique NPC who doesn't get randomly selected background traits", "common": false }, - { - "type": "npc_class", - "id": "NC_ARMY", - "name": { "str": "Soldier" }, - "job_description": "I'm just here for the paycheck.", - "traits": [ { "group": "BG_survival_story_SOLDIER" }, { "group": "NPC_starting_traits" }, { "group": "Appearance_demographics" } ], - "proficiencies": [ "prof_gunsmithing_basic", "prof_spotting" ], - "common": true, - "bonus_str": { "rng": [ 0, 2 ] }, - "bonus_dex": { "one_in": 2 }, - "bonus_int": { "rng": [ 0, -2 ] }, - "skills": [ - { "skill": "ALL", "level": { "sum": [ { "dice": [ 3, 2 ] }, { "constant": -3 } ] } }, - { "skill": "dodge", "bonus": { "rng": [ 1, 2 ] } }, - { "skill": "melee", "bonus": { "rng": [ 1, 2 ] } }, - { "skill": "unarmed", "bonus": { "rng": [ 1, 2 ] } }, - { "skill": "rifle", "bonus": { "rng": [ 3, 5 ] } }, - { "skill": "gun", "bonus": { "rng": [ 2, 4 ] } } - ] - }, - { - "type": "npc_class", - "id": "NC_OPS", - "name": { "str": "Operator" }, - "job_description": "I'm just here for the paycheck.", - "traits": [ { "group": "BG_survival_story_SOLDIER" }, { "group": "NPC_starting_traits" }, { "group": "Appearance_demographics" } ], - "proficiencies": [ "prof_gunsmithing_basic", "prof_spotting" ], - "common": true, - "bonus_str": { "rng": [ 0, 2 ] }, - "bonus_dex": { "one_in": 2 }, - "bonus_int": { "rng": [ 0, 2 ] }, - "skills": [ - { "skill": "ALL", "level": { "sum": [ { "dice": [ 3, 2 ] }, { "constant": -3 } ] } }, - { "skill": "dodge", "bonus": { "rng": [ 1, 4 ] } }, - { "skill": "melee", "bonus": { "rng": [ 1, 4 ] } }, - { "skill": "unarmed", "bonus": { "rng": [ 1, 4 ] } }, - { "skill": "rifle", "bonus": { "rng": [ 3, 8 ] } }, - { "skill": "gun", "bonus": { "rng": [ 2, 6 ] } } - ] - }, - { - "type": "npc_class", - "id": "NC_HACKER", - "name": { "str": "Hacker" }, - "job_description": "I'm looking for some choice systems to hack.", - "traits": [ - { "group": "BG_survival_story_TEENAGER" }, - { "group": "NPC_starting_traits" }, - { "group": "Appearance_demographics" } - ], - "bonus_str": { "rng": [ -4, 0 ] }, - "bonus_dex": { "rng": [ -2, 0 ] }, - "bonus_int": { "rng": [ 1, 5 ] }, - "bonus_per": { "rng": [ -2, 0 ] }, - "bonus_aggression": { "rng": [ -3, -1 ] }, - "bonus_bravery": { "rng": [ -2, 0 ] }, - "skills": [ - { "skill": "ALL", "level": { "mul": [ { "one_in": 3 }, { "sum": [ { "dice": [ 2, 2 ] }, { "rng": [ -1, -2 ] } ] } ] } }, - { "skill": "electronics", "bonus": { "rng": [ 1, 4 ] } }, - { "skill": "computer", "bonus": { "rng": [ 3, 6 ] } } - ] - }, { "type": "npc_class", "id": "NC_DOCTOR", @@ -162,35 +100,6 @@ { "skill": "speech", "bonus": { "sum": [ { "dice": [ 3, 2 ] }, { "constant": -2 } ] } } ] }, - { - "type": "npc_class", - "id": "NC_TRADER", - "name": { "str": "Trader" }, - "job_description": "I'm collecting gear and selling it.", - "traits": [ { "group": "BG_survival_story_EVACUEE" }, { "group": "NPC_starting_traits" }, { "group": "Appearance_demographics" } ], - "bonus_int": { "one_in": 4 }, - "bonus_per": { "one_in": 4 }, - "bonus_collector": { "rng": [ 1, 5 ] } - }, - { - "type": "npc_class", - "id": "NC_NINJA", - "name": { "str": "Ninja" }, - "job_description": "I'm a wandering master of martial arts.", - "traits": [ { "group": "BG_survival_story_EVACUEE" }, { "group": "NPC_starting_traits" }, { "group": "Appearance_demographics" } ], - "bonus_str": { "rng": [ -1, 0 ] }, - "bonus_dex": { "rng": [ 0, 2 ] }, - "bonus_per": { "rng": [ 0, 2 ] }, - "bonus_bravery": { "rng": [ 0, 3 ] }, - "bonus_collector": { "rng": [ -6, -1 ] }, - "skills": [ - { "skill": "ALL", "level": { "mul": [ { "one_in": 3 }, { "sum": [ { "dice": [ 2, 2 ] }, { "rng": [ -1, -2 ] } ] } ] } }, - { "skill": "dodge", "bonus": { "rng": [ 2, 4 ] } }, - { "skill": "melee", "bonus": { "rng": [ 1, 4 ] } }, - { "skill": "unarmed", "bonus": { "rng": [ 4, 6 ] } }, - { "skill": "throw", "bonus": { "rng": [ 0, 2 ] } } - ] - }, { "type": "npc_class", "id": "NC_COWBOY", @@ -210,19 +119,6 @@ { "skill": "survival", "bonus": { "rng": [ 0, 2 ] } } ] }, - { - "type": "npc_class", - "id": "NC_FARMER", - "name": { "str": "Farmer" }, - "job_description": "I made things grow before, I bet I can do it again once things calm down.", - "traits": [ { "group": "BG_survival_story_RURAL" }, { "group": "NPC_starting_traits" }, { "group": "Appearance_demographics" } ], - "bonus_str": { "rng": [ 0, 1 ] }, - "skills": [ - { "skill": "ALL", "level": { "mul": [ { "one_in": 3 }, { "sum": [ { "dice": [ 2, 2 ] }, { "rng": [ 0, -4 ] } ] } ] } }, - { "skill": "survival", "bonus": { "rng": [ 0, 2 ] } }, - { "skill": "rifle", "bonus": { "rng": [ 0, 2 ] } } - ] - }, { "type": "npc_class", "id": "NC_MARLOSS_VOICE", @@ -253,30 +149,15 @@ }, { "type": "npc_class", - "id": "NC_SCIENTIST", - "name": { "str": "Scientist" }, - "job_description": "I'm looking for clues concerning these monsters' origins…", - "traits": [ { "group": "BG_survival_story_LAB" }, { "group": "NPC_starting_traits" }, { "group": "Appearance_demographics" } ], - "bonus_str": { "rng": [ -1, -3 ] }, - "bonus_dex": { "rng": [ -1, 0 ] }, - "bonus_int": { "rng": [ 2, 5 ] }, - "bonus_aggression": { "rng": [ -5, -1 ] }, - "bonus_bravery": { "rng": [ -8, -2 ] }, - "bonus_collector": { "rng": [ 0, 2 ] }, - "proficiencies": [ - "prof_intro_chemistry", - "prof_intro_biology", - "prof_organic_chemistry", - "prof_biochemistry", - "prof_intro_chem_synth", - "prof_chem_synth" - ], + "id": "NC_FARMER", + "name": { "str": "Farmer" }, + "job_description": "I made things grow before, I bet I can do it again once things calm down.", + "traits": [ { "group": "BG_survival_story_RURAL" }, { "group": "NPC_starting_traits" }, { "group": "Appearance_demographics" } ], + "bonus_str": { "rng": [ 0, 1 ] }, "skills": [ - { "skill": "ALL", "level": { "mul": [ { "one_in": 3 }, { "sum": [ { "dice": [ 2, 2 ] }, { "rng": [ 0, -2 ] } ] } ] } }, - { "skill": "computer", "bonus": { "rng": [ 1, 5 ] } }, - { "skill": "electronics", "bonus": { "rng": [ 1, 5 ] } }, - { "skill": "chemistry", "bonus": { "rng": [ 4, 7 ] } }, - { "skill": "firstaid", "bonus": { "rng": [ 1, 4 ] } } + { "skill": "ALL", "level": { "mul": [ { "one_in": 3 }, { "sum": [ { "dice": [ 2, 2 ] }, { "rng": [ 0, -4 ] } ] } ] } }, + { "skill": "survival", "bonus": { "rng": [ 0, 2 ] } }, + { "skill": "rifle", "bonus": { "rng": [ 0, 2 ] } } ] }, { @@ -294,27 +175,6 @@ { "skill": "rifle", "bonus": { "rng": [ 2, 4 ] } } ] }, - { - "type": "npc_class", - "id": "NC_MOTORHEAD", - "name": { "str": "Motorhead" }, - "job_description": "I'm just about ready to ride off into the sunset…", - "traits": [ { "group": "BG_survival_story_EVACUEE" }, { "group": "NPC_starting_traits" }, { "group": "Appearance_demographics" } ], - "bonus_str": { "rng": [ 0, 2 ] }, - "bonus_dex": { "rng": [ 1, 3 ] }, - "bonus_int": { "rng": [ -2, 2 ] }, - "bonus_per": { "rng": [ 0, 2 ] }, - "proficiencies": [ "prof_metalworking", "prof_welding_basic", "prof_welding" ], - "weapon_override": "NC_MOTORHEAD_wield", - "skills": [ - { "skill": "ALL", "level": { "mul": [ { "one_in": 3 }, { "sum": [ { "dice": [ 2, 2 ] }, { "rng": [ 0, -2 ] } ] } ] } }, - { "skill": "bashing", "bonus": 1 }, - { "skill": "driving", "bonus": { "rng": [ 2, 8 ] } }, - { "skill": "electronics", "bonus": { "rng": [ 1, 3 ] } }, - { "skill": "firstaid", "bonus": 1 }, - { "skill": "mechanics", "bonus": { "rng": [ 2, 8 ] } } - ] - }, { "type": "npc_class", "id": "NC_THUG", diff --git a/data/json/obsoletion_and_migration_0.I/obsolete_npc_class.json b/data/json/obsoletion_and_migration_0.I/obsolete_npc_class.json new file mode 100644 index 0000000000000..6e043dde45c33 --- /dev/null +++ b/data/json/obsoletion_and_migration_0.I/obsolete_npc_class.json @@ -0,0 +1,688 @@ +[ + { + "type": "npc_class", + "id": "NC_ARMY", + "name": { "str": "Soldier" }, + "job_description": "I'm just here for the paycheck.", + "traits": [ { "group": "BG_survival_story_SOLDIER" }, { "group": "NPC_starting_traits" }, { "group": "Appearance_demographics" } ], + "proficiencies": [ "prof_gunsmithing_basic", "prof_spotting" ], + "common": true, + "bonus_str": { "rng": [ 0, 2 ] }, + "bonus_dex": { "one_in": 2 }, + "bonus_int": { "rng": [ 0, -2 ] }, + "skills": [ + { "skill": "ALL", "level": { "sum": [ { "dice": [ 3, 2 ] }, { "constant": -3 } ] } }, + { "skill": "dodge", "bonus": { "rng": [ 1, 2 ] } }, + { "skill": "melee", "bonus": { "rng": [ 1, 2 ] } }, + { "skill": "unarmed", "bonus": { "rng": [ 1, 2 ] } }, + { "skill": "rifle", "bonus": { "rng": [ 3, 5 ] } }, + { "skill": "gun", "bonus": { "rng": [ 2, 4 ] } } + ] + }, + { + "type": "npc_class", + "id": "NC_OPS", + "name": { "str": "Operator" }, + "job_description": "I'm just here for the paycheck.", + "traits": [ { "group": "BG_survival_story_SOLDIER" }, { "group": "NPC_starting_traits" }, { "group": "Appearance_demographics" } ], + "proficiencies": [ "prof_gunsmithing_basic", "prof_spotting" ], + "common": true, + "bonus_str": { "rng": [ 0, 2 ] }, + "bonus_dex": { "one_in": 2 }, + "bonus_int": { "rng": [ 0, 2 ] }, + "skills": [ + { "skill": "ALL", "level": { "sum": [ { "dice": [ 3, 2 ] }, { "constant": -3 } ] } }, + { "skill": "dodge", "bonus": { "rng": [ 1, 4 ] } }, + { "skill": "melee", "bonus": { "rng": [ 1, 4 ] } }, + { "skill": "unarmed", "bonus": { "rng": [ 1, 4 ] } }, + { "skill": "rifle", "bonus": { "rng": [ 3, 8 ] } }, + { "skill": "gun", "bonus": { "rng": [ 2, 6 ] } } + ] + }, + { + "type": "npc_class", + "id": "NC_HACKER", + "name": { "str": "Hacker" }, + "job_description": "I'm looking for some choice systems to hack.", + "traits": [ + { "group": "BG_survival_story_TEENAGER" }, + { "group": "NPC_starting_traits" }, + { "group": "Appearance_demographics" } + ], + "bonus_str": { "rng": [ -4, 0 ] }, + "bonus_dex": { "rng": [ -2, 0 ] }, + "bonus_int": { "rng": [ 1, 5 ] }, + "bonus_per": { "rng": [ -2, 0 ] }, + "bonus_aggression": { "rng": [ -3, -1 ] }, + "bonus_bravery": { "rng": [ -2, 0 ] }, + "skills": [ + { "skill": "ALL", "level": { "mul": [ { "one_in": 3 }, { "sum": [ { "dice": [ 2, 2 ] }, { "rng": [ -1, -2 ] } ] } ] } }, + { "skill": "electronics", "bonus": { "rng": [ 1, 4 ] } }, + { "skill": "computer", "bonus": { "rng": [ 3, 6 ] } } + ] + }, + { + "type": "npc_class", + "id": "NC_TRADER", + "name": { "str": "Trader" }, + "job_description": "I'm collecting gear and selling it.", + "traits": [ { "group": "BG_survival_story_EVACUEE" }, { "group": "NPC_starting_traits" }, { "group": "Appearance_demographics" } ], + "bonus_int": { "one_in": 4 }, + "bonus_per": { "one_in": 4 }, + "bonus_collector": { "rng": [ 1, 5 ] } + }, + { + "type": "npc_class", + "id": "NC_NINJA", + "name": { "str": "Ninja" }, + "job_description": "I'm a wandering master of martial arts.", + "traits": [ { "group": "BG_survival_story_EVACUEE" }, { "group": "NPC_starting_traits" }, { "group": "Appearance_demographics" } ], + "bonus_str": { "rng": [ -1, 0 ] }, + "bonus_dex": { "rng": [ 0, 2 ] }, + "bonus_per": { "rng": [ 0, 2 ] }, + "bonus_bravery": { "rng": [ 0, 3 ] }, + "bonus_collector": { "rng": [ -6, -1 ] }, + "skills": [ + { "skill": "ALL", "level": { "mul": [ { "one_in": 3 }, { "sum": [ { "dice": [ 2, 2 ] }, { "rng": [ -1, -2 ] } ] } ] } }, + { "skill": "dodge", "bonus": { "rng": [ 2, 4 ] } }, + { "skill": "melee", "bonus": { "rng": [ 1, 4 ] } }, + { "skill": "unarmed", "bonus": { "rng": [ 4, 6 ] } }, + { "skill": "throw", "bonus": { "rng": [ 0, 2 ] } } + ] + }, + { + "type": "npc_class", + "id": "NC_SCIENTIST", + "name": { "str": "Scientist" }, + "job_description": "I'm looking for clues concerning these monsters' origins…", + "traits": [ { "group": "BG_survival_story_LAB" }, { "group": "NPC_starting_traits" }, { "group": "Appearance_demographics" } ], + "bonus_str": { "rng": [ -1, -3 ] }, + "bonus_dex": { "rng": [ -1, 0 ] }, + "bonus_int": { "rng": [ 2, 5 ] }, + "bonus_aggression": { "rng": [ -5, -1 ] }, + "bonus_bravery": { "rng": [ -8, -2 ] }, + "bonus_collector": { "rng": [ 0, 2 ] }, + "proficiencies": [ + "prof_intro_chemistry", + "prof_intro_biology", + "prof_organic_chemistry", + "prof_biochemistry", + "prof_intro_chem_synth", + "prof_chem_synth" + ], + "skills": [ + { "skill": "ALL", "level": { "mul": [ { "one_in": 3 }, { "sum": [ { "dice": [ 2, 2 ] }, { "rng": [ 0, -2 ] } ] } ] } }, + { "skill": "computer", "bonus": { "rng": [ 1, 5 ] } }, + { "skill": "electronics", "bonus": { "rng": [ 1, 5 ] } }, + { "skill": "chemistry", "bonus": { "rng": [ 4, 7 ] } }, + { "skill": "firstaid", "bonus": { "rng": [ 1, 4 ] } } + ] + }, + { + "type": "npc_class", + "id": "NC_MOTORHEAD", + "name": { "str": "Motorhead" }, + "job_description": "I'm just about ready to ride off into the sunset…", + "traits": [ { "group": "BG_survival_story_EVACUEE" }, { "group": "NPC_starting_traits" }, { "group": "Appearance_demographics" } ], + "bonus_str": { "rng": [ 0, 2 ] }, + "bonus_dex": { "rng": [ 1, 3 ] }, + "bonus_int": { "rng": [ -2, 2 ] }, + "bonus_per": { "rng": [ 0, 2 ] }, + "proficiencies": [ "prof_metalworking", "prof_welding_basic", "prof_welding" ], + "weapon_override": "NC_MOTORHEAD_wield", + "skills": [ + { "skill": "ALL", "level": { "mul": [ { "one_in": 3 }, { "sum": [ { "dice": [ 2, 2 ] }, { "rng": [ 0, -2 ] } ] } ] } }, + { "skill": "bashing", "bonus": 1 }, + { "skill": "driving", "bonus": { "rng": [ 2, 8 ] } }, + { "skill": "electronics", "bonus": { "rng": [ 1, 3 ] } }, + { "skill": "firstaid", "bonus": 1 }, + { "skill": "mechanics", "bonus": { "rng": [ 2, 8 ] } } + ] + }, + { + "type": "item_group", + "id": "NC_ARMY_pants_male", + "subtype": "distribution", + "entries": [ { "item": "pants_army", "prob": 90 }, { "item": "pants_cargo", "prob": 10 } ] + }, + { + "type": "item_group", + "id": "NC_ARMY_pants_female", + "subtype": "distribution", + "entries": [ { "item": "pants_army", "prob": 90 }, { "item": "pants_cargo", "prob": 10 } ] + }, + { + "type": "item_group", + "id": "NC_ARMY_shirt_male", + "subtype": "distribution", + "entries": [ + { "item": "tshirt", "prob": 20 }, + { "item": "polo_shirt", "prob": 20 }, + { "item": "dress_shirt", "prob": 20 }, + { "item": "tank_top", "prob": 20 }, + { "item": "longshirt", "prob": 20 }, + { "item": "denim_shirt", "prob": 20 } + ] + }, + { + "type": "item_group", + "id": "NC_ARMY_shirt_female", + "subtype": "distribution", + "entries": [ + { "item": "tshirt", "prob": 20 }, + { "item": "polo_shirt", "prob": 20 }, + { "item": "dress_shirt", "prob": 20 }, + { "item": "tank_top", "prob": 20 }, + { "item": "longshirt", "prob": 20 }, + { "item": "denim_shirt", "prob": 20 } + ] + }, + { + "type": "item_group", + "id": "NC_ARMY_gloves", + "subtype": "distribution", + "entries": [ { "item": "null", "prob": 50 }, { "item": "gloves_tactical", "prob": 50 } ] + }, + { + "type": "item_group", + "id": "NC_ARMY_coat", + "subtype": "distribution", + "entries": [ + { "item": "null", "prob": 60 }, + { "item": "jacket_army", "prob": 40 }, + { "item": "ballistic_vest_esapi", "prob": 10 }, + { "item": "tacvest", "prob": 40 }, + { "item": "kevlar", "prob": 20 }, + { "item": "chestrig", "prob": 30 } + ] + }, + { + "type": "item_group", + "id": "NC_ARMY_shoes", + "subtype": "distribution", + "entries": [ { "item": "boots_combat", "prob": 100 } ] + }, + { + "type": "item_group", + "id": "NC_ARMY_masks", + "subtype": "distribution", + "entries": [ { "item": "null", "prob": 60 }, { "item": "keffiyeh", "prob": 30 }, { "item": "mask_gas", "prob": 10 } ] + }, + { + "type": "item_group", + "id": "NC_ARMY_eyes", + "subtype": "distribution", + "entries": [ { "item": "null", "prob": 40 }, { "item": "glasses_bal", "prob": 50 }, { "item": "sunglasses", "prob": 20 } ] + }, + { + "type": "item_group", + "id": "NC_ARMY_hat", + "subtype": "distribution", + "entries": [ + { "item": "null", "prob": 40 }, + { "item": "hat_ball", "prob": 10 }, + { "item": "tac_helmet", "prob": 30 }, + { "item": "helmet_army", "prob": 10 }, + { "item": "hat_boonie", "prob": 10 } + ] + }, + { + "type": "item_group", + "id": "NC_ARMY_extra", + "subtype": "distribution", + "entries": [ { "item": "null", "prob": 30 }, { "item": "rucksack", "prob": 70 } ] + }, + { + "type": "item_group", + "id": "NC_ARMY_bashing", + "subtype": "distribution", + "entries": [ + { "item": "hammer", "prob": 20 }, + { "item": "wrench", "prob": 20 }, + { "item": "hammer_sledge", "prob": 20 }, + { "item": "pipe", "prob": 20 }, + { "item": "baton-extended", "prob": 20 }, + { "item": "crowbar", "prob": 20 } + ] + }, + { + "type": "item_group", + "id": "NC_ARMY_cutting", + "subtype": "distribution", + "entries": [ + { "item": "knife_huge", "variant": "knife_butcher", "prob": 20 }, + { "item": "hatchet", "prob": 20 }, + { "item": "knife_combat", "prob": 20 }, + { "item": "machete", "prob": 20 }, + { "item": "knife_combat", "prob": 20 }, + { "item": "diveknife", "prob": 20 } + ] + }, + { + "type": "item_group", + "id": "NC_ARMY_stabbing", + "subtype": "distribution", + "entries": [ + { "item": "spear_knife", "prob": 50 }, + { "item": "spear_steel", "prob": 10 }, + { "item": "spear_forked", "prob": 10 }, + { "item": "spear_rebar", "prob": 5 } + ] + }, + { + "type": "item_group", + "id": "NC_ARMY_throw", + "subtype": "distribution", + "entries": [ { "item": "throwing_knife", "prob": 50 }, { "item": "throwing_axe", "prob": 50 } ] + }, + { + "type": "item_group", + "id": "NC_ARMY_archery", + "subtype": "distribution", + "entries": [ { "item": "crossbow", "prob": 5 } ] + }, + { + "type": "item_group", + "id": "NC_ARMY_pistols", + "subtype": "distribution", + "entries": [ { "item": "m1911", "prob": 30 }, { "item": "m9", "prob": 70 } ] + }, + { + "type": "item_group", + "id": "NC_ARMY_shotgun", + "subtype": "distribution", + "entries": [ { "item": "mossberg_500", "prob": 25 }, { "item": "remington_870", "prob": 25 } ] + }, + { + "type": "item_group", + "id": "NC_ARMY_smg", + "subtype": "distribution", + "entries": [ { "item": "hk_mp5", "prob": 50 } ] + }, + { + "type": "item_group", + "id": "NC_ARMY_rifle", + "subtype": "distribution", + "entries": [ { "group": "modular_m4a1", "prob": 50 }, { "item": "m14ebr", "prob": 35 }, { "item": "m249", "prob": 20 } ] + }, + { + "type": "item_group", + "id": "NC_ARMY_launcher", + "subtype": "distribution", + "entries": [ { "item": "mgl", "prob": 10 } ] + }, + { + "type": "item_group", + "id": "NC_ARMY_weapon_random", + "subtype": "distribution", + "entries": [ { "item": "q_staff", "prob": 100 } ] + }, + { + "type": "item_group", + "id": "NC_ARMY_misc", + "subtype": "distribution", + "entries": [ + { "item": "grenade", "prob": 40 }, + { "item": "ref_lighter", "prob": 30 }, + { "item": "lighter", "prob": 30 }, + { "item": "matches", "prob": 30 } + ] + }, + { + "type": "item_group", + "id": "NC_HACKER_misc", + "subtype": "distribution", + "entries": [ + { "item": "energy_drink", "prob": 55 }, + { "item": "energy_drink_atomic", "prob": 12 }, + { "item": "mag_computer", "prob": 45 }, + { "item": "mag_electronics", "prob": 25 }, + { "item": "colamdew", "prob": 50 }, + { "prob": 10, "group": "adderall_bottle_plastic_pill_prescription_10" }, + { "item": "fries", "prob": 10 }, + { "item": "cheese_fries", "prob": 10 }, + { "item": "onion_rings", "prob": 10 }, + { "prob": 20, "group": "mintpatties_bag_plastic_3" }, + { "item": "electrohack", "prob": 3, "charges": [ 0, -1 ] }, + { "item": "usb_drive", "prob": 15 }, + { "group": "ammo_pocket_batteries_full", "prob": 50 }, + { "item": "file", "prob": 10 }, + { "item": "manual_computer", "prob": 20 }, + { "item": "hackerman_computer", "prob": 20 }, + { "item": "textbook_computer", "prob": 8 }, + { "item": "textbook_anarch", "prob": 4 }, + { "item": "computer_science", "prob": 7 }, + { "item": "solar_cell", "prob": 5 }, + { "item": "SICP", "prob": 3 }, + { "item": "recipe_serum", "prob": 2 }, + { "item": "recipe_chimera", "prob": 1 }, + { "item": "recipe_labchem", "prob": 1 }, + { "item": "soldering_iron_portable", "prob": 70, "charges": [ 0, 50 ] }, + { "item": "solder_wire", "prob": 70 }, + { "item": "textbook_weapwest", "prob": 2 }, + { "item": "textbook_weparabic", "prob": 2 }, + { "item": "textbook_weapeast", "prob": 2 }, + { "item": "textbook_armwest", "prob": 2 }, + { "item": "textbook_armeast", "prob": 2 }, + { "item": "radio_book", "prob": 22 } + ] + }, + { + "type": "item_group", + "id": "NC_MOTORHEAD_pants", + "subtype": "distribution", + "entries": [ + { "item": "jeans", "prob": 60 }, + { "item": "pants", "prob": 5 }, + { "item": "motorbike_pants", "prob": 10 }, + { "item": "jeans_mod", "prob": 5 }, + { "item": "pants_leather", "prob": 10 }, + { "item": "pants_cargo", "prob": 10 } + ] + }, + { + "type": "item_group", + "id": "NC_MOTORHEAD_shoes", + "subtype": "distribution", + "entries": [ { "item": "sneakers", "prob": 40 }, { "item": "boots", "prob": 30 }, { "item": "motorbike_boots", "prob": 30 } ] + }, + { + "type": "item_group", + "id": "NC_MOTORHEAD_shirt", + "subtype": "distribution", + "entries": [ + { "item": "tshirt", "prob": 50 }, + { "item": "polo_shirt", "prob": 20 }, + { "item": "tank_top", "prob": 10 }, + { "item": "denim_shirt", "prob": 20 } + ] + }, + { + "type": "item_group", + "id": "NC_MOTORHEAD_gloves", + "subtype": "distribution", + "entries": [ + { "item": "null", "prob": 10 }, + { "item": "gloves_leather", "prob": 10 }, + { "item": "gloves_work", "prob": 40 }, + { "item": "gloves_fingerless", "prob": 40 } + ] + }, + { + "type": "item_group", + "id": "NC_MOTORHEAD_coat", + "subtype": "distribution", + "entries": [ + { "item": "hoodie", "prob": 15 }, + { "item": "jacket_light", "prob": 15 }, + { "item": "jacket_windbreaker", "prob": 15 }, + { "item": "jacket_leather", "prob": 15 }, + { "item": "jacket_leather_mod", "prob": 5 }, + { "item": "touring_suit", "prob": 20 }, + { "item": "jacket_jean", "prob": 15 }, + { "item": "jacket_jean_mod", "prob": 5 } + ] + }, + { + "type": "item_group", + "id": "NC_MOTORHEAD_vest", + "subtype": "distribution", + "entries": [ { "item": "null", "prob": 50 }, { "item": "kevlar", "prob": 50 } ] + }, + { + "type": "item_group", + "id": "NC_MOTORHEAD_storage", + "subtype": "distribution", + "entries": [ + { "item": "backpack", "prob": 50 }, + { "item": "daypack", "prob": 20 }, + { "item": "backpack_leather", "prob": 10 }, + { "item": "mbag", "prob": 20 } + ] + }, + { + "type": "item_group", + "id": "NC_MOTORHEAD_holster", + "subtype": "distribution", + "entries": [ { "item": "leather_belt", "prob": 25 }, { "item": "tool_belt", "prob": 75 } ] + }, + { + "type": "item_group", + "id": "NC_MOTORHEAD_hat", + "subtype": "distribution", + "entries": [ + { "item": "null", "prob": 10 }, + { "item": "cowboy_hat", "prob": 10 }, + { "item": "hat_ball", "prob": 40 }, + { "item": "hat_hard", "prob": 20 }, + { "item": "helmet_motor", "prob": 20 } + ] + }, + { + "type": "item_group", + "id": "NC_MOTORHEAD_wield", + "subtype": "distribution", + "entries": [ + { "item": "lug_wrench", "prob": 25 }, + { "item": "wrench_large", "prob": 25 }, + { "item": "hd_pipe", "prob": 20 }, + { "item": "staff_pipe", "prob": 15 }, + { "item": "mace_pipe_large", "prob": 15 } + ] + }, + { + "type": "item_group", + "id": "NC_NINJA_shirt", + "subtype": "distribution", + "entries": [ + { "item": "karate_gi", "prob": 10 }, + { "item": "judo_gi", "prob": 10 }, + { "item": "keikogi", "prob": 10 }, + { "item": "zubon_gi", "prob": 10 }, + { "item": "hakama_gi", "prob": 10 } + ] + }, + { + "type": "item_group", + "id": "NC_NINJA_belt", + "subtype": "distribution", + "entries": [ + { "item": "null", "prob": 50 }, + { "item": "judo_belt_black", "prob": 10 }, + { "item": "judo_belt_blue", "prob": 10 }, + { "item": "judo_belt_brown", "prob": 10 }, + { "item": "judo_belt_green", "prob": 40 }, + { "item": "judo_belt_orange", "prob": 40 }, + { "item": "judo_belt_white", "prob": 40 }, + { "item": "judo_belt_yellow", "prob": 40 } + ] + }, + { + "type": "item_group", + "id": "NC_OPS_pants_male", + "items": [ [ "pants_army", 20 ], [ "pants_cargo", 50 ], [ "jeans", 30 ], [ "shorts_cargo", 20 ] ] + }, + { + "type": "item_group", + "id": "NC_OPS_pants_female", + "items": [ [ "pants_army", 20 ], [ "pants_cargo", 50 ], [ "jeans", 30 ], [ "shorts_cargo", 20 ] ] + }, + { + "type": "item_group", + "id": "NC_OPS_shirt_male", + "items": [ + [ "tshirt", 20 ], + [ "polo_shirt", 20 ], + [ "dress_shirt", 20 ], + [ "denim_shirt", 20 ], + [ "tank_top", 20 ], + [ "longshirt", 20 ], + [ "hoodie", 40 ], + [ "sweatshirt", 40 ] + ] + }, + { + "type": "item_group", + "id": "NC_OPS_shirt_female", + "items": [ + [ "tshirt", 20 ], + [ "polo_shirt", 20 ], + [ "dress_shirt", 20 ], + [ "tank_top", 20 ], + [ "longshirt", 20 ], + [ "hoodie", 40 ], + [ "sweatshirt", 40 ] + ] + }, + { + "type": "item_group", + "id": "NC_OPS_gloves", + "items": [ [ "null", 50 ], [ "gloves_tactical", 50 ] ] + }, + { + "type": "item_group", + "id": "NC_OPS_coat", + "items": [ + [ "null", 60 ], + [ "jacket_army", 40 ], + [ "cloak", 20 ], + [ "ballistic_vest_esapi", 10 ], + [ "tacvest", 40 ], + [ "kevlar", 20 ], + [ "chestrig", 30 ] + ] + }, + { + "type": "item_group", + "id": "NC_OPS_shoes", + "items": [ [ "boots_combat", 100 ] ] + }, + { + "type": "item_group", + "id": "NC_OPS_masks", + "items": [ [ "null", 60 ], [ "keffiyeh", 30 ], [ "mask_gas", 10 ] ] + }, + { + "type": "item_group", + "id": "NC_OPS_eyes", + "items": [ [ "null", 40 ], [ "glasses_bal", 50 ], [ "sunglasses", 20 ], [ "fancy_sunglasses", 20 ] ] + }, + { + "type": "item_group", + "id": "NC_OPS_hat", + "items": [ [ "null", 20 ], [ "hat_ball", 50 ], [ "tac_helmet", 50 ] ] + }, + { + "type": "item_group", + "id": "NC_OPS_extra", + "items": [ [ "null", 30 ], [ "rucksack", 70 ] ] + }, + { + "type": "item_group", + "id": "NC_OPS_bashing", + "items": [ + [ "hammer", 20 ], + [ "wrench", 20 ], + [ "hammer_sledge", 20 ], + [ "pipe", 20 ], + [ "baton-extended", 20 ], + [ "crowbar", 20 ] + ] + }, + { + "type": "item_group", + "id": "NC_OPS_cutting", + "items": [ + { "item": "knife_huge", "variant": "knife_butcher", "prob": 20 }, + [ "hatchet", 20 ], + [ "knife_combat", 20 ], + [ "machete", 20 ], + [ "knife_combat", 20 ], + [ "diveknife", 20 ] + ] + }, + { + "type": "item_group", + "id": "NC_OPS_stabbing", + "items": [ [ "spear_knife", 50 ], [ "spear_steel", 10 ], [ "spear_forked", 10 ], [ "spear_rebar", 5 ] ] + }, + { + "type": "item_group", + "id": "NC_OPS_throw", + "items": [ [ "throwing_knife", 50 ], [ "throwing_axe", 50 ] ] + }, + { + "type": "item_group", + "id": "NC_OPS_archery", + "items": [ [ "crossbow", 5 ] ] + }, + { + "type": "item_group", + "id": "NC_OPS_pistols", + "items": [ [ "m1911", 70 ], [ "fn57", 50 ], [ "m9", 30 ] ] + }, + { + "type": "item_group", + "id": "NC_OPS_shotgun", + "items": [ [ "mossberg_500", 25 ], [ "remington_870", 25 ] ] + }, + { + "type": "item_group", + "id": "NC_OPS_smg", + "items": [ [ "hk_mp5", 50 ], [ "hk_mp7", 30 ] ] + }, + { + "type": "item_group", + "id": "NC_OPS_rifle", + "items": [ + { "group": "modular_m4a1", "prob": 50 }, + [ "m14ebr", 35 ], + [ "m249", 20 ], + [ "modular_m27_assault_rifle", 50 ], + [ "M24", 35 ] + ] + }, + { + "type": "item_group", + "id": "NC_OPS_launcher", + "items": [ [ "mgl", 10 ] ] + }, + { + "type": "item_group", + "id": "NC_OPS_weapon_random", + "items": [ [ "q_staff", 100 ] ] + }, + { + "type": "item_group", + "id": "NC_OPS_misc", + "items": [ [ "grenade", 40 ], [ "ref_lighter", 30 ], [ "lighter", 30 ], [ "matches", 30 ] ] + }, + { + "type": "item_group", + "id": "NC_SCIENTIST_eyes", + "subtype": "distribution", + "entries": [ { "item": "null", "prob": 20 }, { "item": "glasses_safety", "prob": 40 }, { "item": "glasses_eye", "prob": 60 } ] + }, + { + "type": "item_group", + "id": "NC_SCIENTIST_coat", + "subtype": "distribution", + "entries": [ + { "item": "null", "prob": 20 }, + { "item": "hoodie", "prob": 10 }, + { "item": "coat_lab", "prob": 60 }, + { "item": "jacket_light", "prob": 10 }, + { "item": "jacket_leather", "prob": 10 }, + { "item": "trenchcoat", "prob": 5 }, + { "item": "jacket_jean", "prob": 10 }, + { "item": "jacket_windbreaker", "prob": 5 }, + { "item": "kevlar", "prob": 5 } + ] + }, + { + "type": "item_group", + "id": "NC_TRADER_storage", + "subtype": "distribution", + "entries": [ { "item": "duffelbag", "prob": 80 }, { "item": "rucksack", "prob": 50 } ] + } +] diff --git a/src/mission_start.cpp b/src/mission_start.cpp index c5a156c579685..4dc2fb4a44fa9 100644 --- a/src/mission_start.cpp +++ b/src/mission_start.cpp @@ -34,8 +34,6 @@ static const furn_str_id furn_f_console( "f_console" ); static const furn_str_id furn_f_console_broken( "f_console_broken" ); static const furn_str_id furn_f_dresser( "f_dresser" ); -static const itype_id itype_software_hacking( "software_hacking" ); -static const itype_id itype_software_math( "software_math" ); static const itype_id itype_software_medical( "software_medical" ); static const itype_id itype_software_useless( "software_useless" ); @@ -43,8 +41,6 @@ static const mission_type_id mission_MISSION_GET_ZOMBIE_BLOOD_ANAL( "MISSION_GET_ZOMBIE_BLOOD_ANAL" ); static const npc_class_id NC_DOCTOR( "NC_DOCTOR" ); -static const npc_class_id NC_HACKER( "NC_HACKER" ); -static const npc_class_id NC_SCIENTIST( "NC_SCIENTIST" ); static const ter_str_id ter_t_floor( "t_floor" ); static const ter_str_id ter_t_wall_metal( "t_wall_metal" ); @@ -157,15 +153,11 @@ void mission_start::place_npc_software( mission *miss ) std::string type = "house"; - if( dev->myclass == NC_HACKER ) { - miss->item_id = itype_software_hacking; - } else if( dev->myclass == NC_DOCTOR ) { + if( dev->myclass == NC_DOCTOR ) { miss->item_id = itype_software_medical; static const std::set pharmacies = { "s_pharm", "s_pharm_1" }; type = random_entry( pharmacies ); miss->follow_up = mission_MISSION_GET_ZOMBIE_BLOOD_ANAL; - } else if( dev->myclass == NC_SCIENTIST ) { - miss->item_id = itype_software_math; } else { miss->item_id = itype_software_useless; } diff --git a/src/npc.cpp b/src/npc.cpp index b5d517cda2c9d..d321aad963dd0 100644 --- a/src/npc.cpp +++ b/src/npc.cpp @@ -133,7 +133,6 @@ static const npc_class_id NC_COWBOY( "NC_COWBOY" ); static const npc_class_id NC_EVAC_SHOPKEEP( "NC_EVAC_SHOPKEEP" ); static const npc_class_id NC_NONE( "NC_NONE" ); static const npc_class_id NC_NONE_HARDENED( "NC_NONE_HARDENED" ); -static const npc_class_id NC_TRADER( "NC_TRADER" ); static const overmap_location_str_id overmap_location_source_of_ammo( "source_of_ammo" ); static const overmap_location_str_id overmap_location_source_of_anything( "source_of_anything" ); @@ -933,8 +932,7 @@ void starting_inv( npc &who, const npc_class_id &type ) res.emplace_back( "molotov" ); } - int qty = ( type == NC_EVAC_SHOPKEEP || - type == NC_TRADER ) ? 5 : 2; + int qty = ( type == NC_EVAC_SHOPKEEP ) ? 5 : 2; qty = rng( qty, qty * 3 ); while( qty-- != 0 ) {