Skip to content

Commit

Permalink
Added airsoft gear, updated paintball field itemgroups (#62125)
Browse files Browse the repository at this point in the history
* added items, changed spawn groups

* gloves fix

* small

* gloves

* helmet

* added to hobby spawn groups

* balence

* Update data/json/itemgroups/Locations_MapExtras/locations_commercial.json

Co-authored-by: MNG-cataclysm <[email protected]>

* clothes

* clothes, spellcheck

* airsoft helm spawns with attachments, slight buff to attachments

* Update paintball_field.json

* update helmet

* helm

* reapirs_like

* thickness

* revert head attachments

---------

Co-authored-by: MNG-cataclysm <[email protected]>
  • Loading branch information
bean-b and MNG-cataclysm authored Mar 4, 2023
1 parent 2f3951e commit c1e38de
Show file tree
Hide file tree
Showing 5 changed files with 200 additions and 16 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -894,7 +894,58 @@
"type": "item_group",
"id": "paintball_items",
"//": "For paintball_field.json",
"items": [ [ "paintballgun", 55 ], [ "paintball", 45 ], [ "goggles_swim", 15 ] ]
"items": [
{
"distribution": [
{ "item": "paintball", "prob": 125 },
{ "item": "paintballgun", "prob": 100, "charges": [ 0, 50 ] },
{ "group": "paintball_clothes", "prob": 30 }
]
}
]
},
{
"type": "item_group",
"id": "paintball_clothes",
"//": "For paintball_field.json",
"items": [
{
"distribution": [
{ "item": "airsoft_helmet", "prob": 35, "contents-group": "airsoft_helmet_attachments" },
{ "item": "gloves_airsoft", "prob": 20 },
{ "item": "glasses_bal", "prob": 20 },
{ "item": "stab_vest", "variant": "airsoft_stab_vest", "prob": 10 },
{ "item": "face_shield_plastic", "prob": 4 },
{ "item": "plastic_mandible_guard", "prob": 4 },
{ "item": "gloves_tactical", "prob": 4 },
{ "item": "counterweight_pouch", "prob": 1 },
{ "item": "legguard_hard", "prob": 2 },
{ "item": "elbow_pads", "prob": 2 },
{ "item": "armguard_hard", "prob": 2 },
{ "item": "knee_pads", "prob": 1 },
{ "item": "load_bearing_vest", "prob": 1 },
{ "item": "light_load_bearing_vest", "prob": 1 },
{ "group": "jackets", "prob": 5 },
{ "group": "mil_armor_pants", "prob": 5 },
{ "group": "clothing_outdoor_shoes", "prob": 5 }
]
}
]
},
{
"id": "airsoft_helmet_attachments",
"type": "item_group",
"subtype": "collection",
"items": [
{
"distribution": [
{ "distribution": [ { "item": "face_shield_plastic", "prob": 90 }, { "item": "face_shield", "prob": 10 } ] },
{
"distribution": [ { "item": "plastic_mandible_guard", "prob": 90 }, { "item": "ballistic_mandible_guard", "prob": 10 } ]
}
]
}
]
},
{
"id": "musicstore_showpiece",
Expand Down
2 changes: 2 additions & 0 deletions data/json/itemgroups/activities_hobbies.json
Original file line number Diff line number Diff line change
Expand Up @@ -222,6 +222,8 @@
{ "item": "powered_earmuffs", "prob": 80, "charges": [ 0, 50 ] },
{ "item": "powered_earplugs", "prob": 60, "charges": [ 0, 50 ] },
{ "item": "stab_vest", "variant": "airsoft_stab_vest", "prob": 10 },
{ "item": "gloves_airsoft", "prob": 10 },
{ "item": "airsoft_helmet", "prob": 5 },
{ "item": "bandolier_wrist", "prob": 100 },
{ "item": "fitness_band", "prob": 10 },
{ "item": "hand_pump", "prob": 10 },
Expand Down
47 changes: 47 additions & 0 deletions data/json/items/armor/gloves.json
Original file line number Diff line number Diff line change
Expand Up @@ -1557,5 +1557,52 @@
"name": { "str": "pair of XL tempered steel mitten gauntlets", "str_pl": "pairs of XL tempered steel mitten gauntlets" },
"proportional": { "weight": 1.5, "volume": 1.5 },
"extend": { "flags": [ "OVERSIZE" ] }
},
{
"id": "gloves_airsoft",
"repairs_like": "gloves_survivor",
"type": "ARMOR",
"category": "armor",
"name": { "str": "pair of airsoft gloves", "str_pl": "pairs of airsoft gloves" },
"description": "A pair of fingerless gloves with hard plastic reinforcing the backs of the hands to protect against BB pellets and other light projectiles.",
"weight": "200 g",
"volume": "300 ml",
"price": 4000,
"price_postapoc": 1000,
"to_hit": 2,
"material": [ "leather", "thermo_resin" ],
"symbol": "[",
"looks_like": "gloves_tactical",
"color": "dark_gray",
"warmth": 20,
"flags": [ "VARSIZE", "STURDY" ],
"armor": [
{
"encumbrance": 4,
"coverage": 100,
"covers": [ "hand_l", "hand_r" ],
"specifically_covers": [ "hand_wrist_l", "hand_wrist_r", "hand_palm_l", "hand_palm_r" ],
"material": [ { "type": "leather", "covered_by_mat": 100, "thickness": 0.6 } ]
},
{
"coverage": 100,
"covers": [ "hand_l", "hand_r" ],
"specifically_covers": [ "hand_back_l", "hand_back_r" ],
"material": [
{ "type": "leather", "covered_by_mat": 100, "thickness": 0.6 },
{ "type": "thermo_resin", "covered_by_mat": 95, "thickness": 1 }
]
},
{
"encumbrance": 0,
"coverage": 50,
"covers": [ "hand_l", "hand_r" ],
"specifically_covers": [ "hand_fingers_l", "hand_fingers_r" ],
"material": [
{ "type": "leather", "covered_by_mat": 100, "thickness": 0.6 },
{ "type": "thermo_resin", "covered_by_mat": 50, "thickness": 0.5 }
]
}
]
}
]
84 changes: 84 additions & 0 deletions data/json/items/armor/helmets.json
Original file line number Diff line number Diff line change
Expand Up @@ -1748,5 +1748,89 @@
"use_action": { "type": "transform", "msg": "You lower the helm's visor.", "target": "xl_qt_helm_close", "menu_text": "Lower" },
"proportional": { "weight": 1.125, "volume": 1.13, "price": 1.25 },
"extend": { "flags": [ "OVERSIZE" ] }
},
{
"id": "airsoft_helmet",
"repairs_like": "xlkevlar",
"type": "ARMOR",
"category": "armor",
"name": { "str": "airsoft helmet" },
"description": "A lightweight helmet that is fashioned to look like a real military helmet, but is made of plastic and only protects against BB's and other light threats. It has a military rail system for attachments.",
"weight": "455 g",
"volume": "1850 ml",
"price": 6000,
"price_postapoc": 1000,
"to_hit": -1,
"bashing": 10,
"material": [ "plastic", "plastic_pad" ],
"symbol": "[",
"looks_like": "helmet_army",
"color": "dark_gray",
"warmth": 15,
"techniques": [ "WBLOCK_1" ],
"flags": [ "WATERPROOF", "PADDED" ],
"armor": [
{
"encumbrance_modifiers": [ "NONE" ],
"coverage": 85,
"covers": [ "head" ],
"material": [
{ "type": "plastic_pad", "covered_by_mat": 100, "thickness": 6 },
{ "type": "plastic", "covered_by_mat": 100, "thickness": 2.5 }
]
}
],
"pocket_data": [
{
"pocket_type": "CONTAINER",
"ablative": true,
"volume_encumber_modifier": 0,
"max_contains_volume": "500 ml",
"max_contains_weight": "500 g",
"moves": 250,
"description": "Pocket for a face shield or a shield visor.",
"flag_restriction": [ "HELMET_FACE_SHIELD" ]
},
{
"pocket_type": "CONTAINER",
"ablative": true,
"volume_encumber_modifier": 0,
"max_contains_volume": "500 ml",
"max_contains_weight": "400 g",
"moves": 250,
"description": "Pocket for an ear attachment.",
"flag_restriction": [ "HELMET_EAR_ATTACHMENT" ],
"inherits_flags": true
},
{
"pocket_type": "CONTAINER",
"ablative": true,
"volume_encumber_modifier": 0,
"max_contains_volume": "500 ml",
"max_contains_weight": "250 g",
"moves": 250,
"description": "Pocket for a nape protector.",
"flag_restriction": [ "HELMET_NAPE_PROTECTOR" ]
},
{
"pocket_type": "CONTAINER",
"ablative": true,
"volume_encumber_modifier": 0,
"max_contains_volume": "500 ml",
"max_contains_weight": "400 g",
"moves": 250,
"description": "Pocket for a rail-mounted mandible guard.",
"flag_restriction": [ "HELMET_MANDIBLE_GUARD", "HELMET_MANDIBLE_GUARD_STRAPPED" ]
},
{
"pocket_type": "CONTAINER",
"volume_encumber_modifier": 0,
"max_contains_volume": "400 ml",
"max_contains_weight": "400 g",
"moves": 250,
"description": "Pocket for a counterweight pouch.",
"flag_restriction": [ "HELMET_BACK_POUCH" ]
}
]
}
]
30 changes: 15 additions & 15 deletions data/json/mapgen/paintball_field.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,16 +14,16 @@
},
"place_items": [
{ "chance": 10, "item": "bags", "x": 20, "y": 2 },
{ "chance": 15, "item": "shoes", "x": 15, "y": 2 },
{ "chance": 15, "item": "paintball_clothes", "x": 15, "y": 2 },
{ "chance": 25, "item": "field", "x": 21, "y": 22 },
{ "chance": 25, "item": "field", "x": 1, "y": 19 },
{ "chance": 25, "item": "field", "x": 22, "y": 9 },
{ "chance": 65, "item": "jackets", "x": 6, "y": 1 },
{ "chance": 70, "item": "paintball_items", "x": 4, "y": 19 },
{ "chance": 90, "item": "paintball_items", "x": 19, "y": 3, "repeat": [ 1, 10 ] },
{ "chance": 70, "item": "paintball_items", "x": 7, "y": 10 },
{ "chance": 90, "item": "paintball_items", "x": [ 2, 4 ], "y": 1, "repeat": [ 1, 10 ] },
{ "chance": 35, "item": "mil_armor_pants", "x": 5, "y": 1 },
{ "chance": 95, "item": "paintball_clothes", "x": 6, "y": 1, "repeat": [ 1, 5 ] },
{ "chance": 80, "item": "paintball_items", "x": 4, "y": 19 },
{ "chance": 90, "item": "paintball_items", "x": 19, "y": 3, "repeat": [ 3, 11 ] },
{ "chance": 80, "item": "paintball_items", "x": 7, "y": 10 },
{ "chance": 90, "item": "paintball_items", "x": [ 2, 4 ], "y": 1, "repeat": [ 3, 11 ] },
{ "chance": 35, "item": "paintball_clothes", "x": 5, "y": 1 },
{ "chance": 35, "item": "trash_cart", "x": 14, "y": 22 },
{ "chance": 35, "item": "trash_cart", "x": 13, "y": 19 },
{ "chance": 35, "item": "trash_cart", "x": 6, "y": 13 },
Expand Down Expand Up @@ -148,16 +148,16 @@
{ "chance": 35, "item": "trash_cart", "x": 20, "y": 10 },
{ "chance": 35, "item": "trash_cart", "x": 2, "y": 6 },
{ "chance": 35, "item": "trash_cart", "x": 6, "y": 4 },
{ "chance": 15, "item": "jackets", "x": 4, "y": 4 },
{ "chance": 15, "item": "jackets", "x": 1, "y": 2 },
{ "chance": 35, "item": "mil_armor_pants", "x": [ 18, 19 ], "y": 4 },
{ "chance": 90, "item": "paintball_items", "x": 20, "y": 4, "repeat": [ 1, 10 ] },
{ "chance": 90, "item": "paintball_items", "x": 21, "y": [ 2, 4 ], "repeat": [ 1, 10 ] },
{ "chance": 15, "item": "paintball_clothes", "x": 4, "y": 4 },
{ "chance": 15, "item": "paintball_clothes", "x": 1, "y": 2 },
{ "chance": 95, "item": "paintball_clothes", "x": [ 18, 19 ], "y": 4, "repeat": [ 1, 5 ] },
{ "chance": 90, "item": "paintball_items", "x": 20, "y": 4, "repeat": [ 3, 11 ] },
{ "chance": 90, "item": "paintball_items", "x": 21, "y": [ 2, 4 ], "repeat": [ 3, 11 ] },
{ "chance": 65, "item": "trash", "x": 0, "y": 4 },
{ "chance": 65, "item": "trash", "x": 0, "y": 1 },
{ "chance": 70, "item": "paintball_items", "x": 3, "y": 20 },
{ "chance": 70, "item": "paintball_items", "x": [ 10, 12 ], "y": 10 },
{ "chance": 70, "item": "paintball_items", "x": 20, "y": 9 },
{ "chance": 80, "item": "paintball_items", "x": 3, "y": 20 },
{ "chance": 80, "item": "paintball_items", "x": [ 10, 12 ], "y": 10 },
{ "chance": 80, "item": "paintball_items", "x": 20, "y": 9 },
{ "item": "cash_register_random", "x": 16, "y": 2, "chance": 100 }
],
"place_monster": [ { "group": "GROUP_SEARCH_FITNESS", "x": [ 0, 23 ], "y": [ 0, 23 ], "chance": 25, "repeat": [ 3, 8 ] } ],
Expand Down

0 comments on commit c1e38de

Please sign in to comment.