diff --git a/data/json/flags.json b/data/json/flags.json index d5510ea184fb6..28f26bbc74124 100644 --- a/data/json/flags.json +++ b/data/json/flags.json @@ -1847,6 +1847,12 @@ "id": "CHOKE", "type": "json_flag" }, + { + "id": "GAS_TANK", + "type": "json_flag", + "info": "Airtight tanks for propane, natural gas, etc.", + "name": "gas tank" + }, { "id": "LASER_SIGHT", "type": "json_flag", @@ -1854,9 +1860,143 @@ "name": "laser sight" }, { - "id": "GAS_TANK", + "id": "EXO_SMALL", "type": "json_flag", - "info": "Airtight tanks for propane, natural gas, etc.", - "name": "gas tank" + "info": "This is meant for a small exosuit hardpoint." + }, + { + "id": "EXO_LARGE", + "type": "json_flag", + "info": "This is meant for a large exosuit hardpoint." + }, + { + "id": "EXO_PSU", + "type": "json_flag", + "info": "This is meant for an exosuit PSU hardpoint." + }, + { + "id": "EXO_SMALL_GADGET", + "type": "json_flag", + "info": "This is meant for small exosuit gadgets, 1 L or less." + }, + { + "id": "EXO_HELMET_GADGET", + "type": "json_flag", + "info": "This is meant for helmet-specific gadgets." + }, + { + "id": "EXO_MEDIUM_GADGET", + "type": "json_flag", + "info": "This is meant for medium exosuit gadgets, between 1 L and 5 L." + }, + { + "id": "EXO_LARGE_GADGET", + "type": "json_flag", + "info": "This is meant for large exosuit gadgets, larger than 5 L." + }, + { + "id": "EXO_HELMET_PLATE", + "type": "json_flag", + "info": "This is meant for exosuit helmet plating." + }, + { + "id": "EXO_TORSO_PLATE", + "type": "json_flag", + "info": "This is meant for exosuit torso plating." + }, + { + "id": "EXO_PSU_PLATE", + "type": "json_flag", + "info": "This is meant for exosuit PSU plating." + }, + { + "id": "EXO_ARM_PLATE", + "type": "json_flag", + "info": "This is meant for exosuit arm plating." + }, + { + "id": "EXO_GLOVE_PLATE", + "type": "json_flag", + "info": "This is meant for exosuit arm plating." + }, + { + "id": "EXO_LEG_PLATE", + "type": "json_flag", + "info": "This is meant for exosuit leg plating." + }, + { + "id": "EXO_BOOT_PLATE", + "type": "json_flag", + "info": "This is meant for exosuit foot plating." + }, + { + "id": "EXO_SMALL", + "type": "json_flag", + "info": "This is meant for a small exosuit hardpoint." + }, + { + "id": "EXO_LARGE", + "type": "json_flag", + "info": "This is meant for a large exosuit hardpoint." + }, + { + "id": "EXO_PSU", + "type": "json_flag", + "info": "This is meant for an exosuit PSU hardpoint." + }, + { + "id": "EXO_SMALL_GADGET", + "type": "json_flag", + "info": "This is meant for small exosuit gadgets, 1 L or less." + }, + { + "id": "EXO_HELMET_GADGET", + "type": "json_flag", + "info": "This is meant for helmet-specific gadgets." + }, + { + "id": "EXO_MEDIUM_GADGET", + "type": "json_flag", + "info": "This is meant for medium exosuit gadgets, between 1 L and 5 L." + }, + { + "id": "EXO_LARGE_GADGET", + "type": "json_flag", + "info": "This is meant for large exosuit gadgets, larger than 5 L." + }, + { + "id": "EXO_HELMET_PLATE", + "type": "json_flag", + "info": "This is meant for exosuit helmet plating." + }, + { + "id": "EXO_TORSO_PLATE", + "type": "json_flag", + "info": "This is meant for exosuit torso plating." + }, + { + "id": "EXO_PSU_PLATE", + "type": "json_flag", + "info": "This is meant for exosuit PSU plating." + }, + { + "id": "EXO_ARM_PLATE", + "type": "json_flag", + "info": "This is meant for exosuit arm plating." + }, + { + "id": "EXO_GLOVE_PLATE", + "type": "json_flag", + "info": "This is meant for exosuit arm plating." + }, + { + "id": "EXO_LEG_PLATE", + "type": "json_flag", + "info": "This is meant for exosuit leg plating." + }, + { + "id": "EXO_BOOT_PLATE", + "type": "json_flag", + "info": "This is meant for exosuit foot plating." } ] diff --git a/data/json/item_category.json b/data/json/item_category.json index 4e7ad15750355..5940ada5153b3 100644 --- a/data/json/item_category.json +++ b/data/json/item_category.json @@ -176,6 +176,13 @@ "zone": "LOOT_ARMOR", "sort_rank": 20 }, + { + "id": "exosuit", + "type": "ITEM_CATEGORY", + "name": { "str": "EXOSUIT" }, + "zone": "LOOT_EXOSUIT", + "sort_rank": 20 + }, { "id": "ITEMS_WORN", "type": "ITEM_CATEGORY", diff --git a/data/mods/Aftershock/items/armor/modular_exos/exo_gear.json b/data/mods/Aftershock/items/armor/modular_exos/exo_gear.json new file mode 100644 index 0000000000000..3245525c5f899 --- /dev/null +++ b/data/mods/Aftershock/items/armor/modular_exos/exo_gear.json @@ -0,0 +1,43 @@ +[ + { + "id": "exo_mounted_drill", + "type": "TOOL_ARMOR", + "name": { "str": "exosuit mounted drill" }, + "category": "tool", + "description": "A powerful header drill with tough carbide bits, this tool mounts to the exosuit's arm and extends past the hand. While turned off, it still makes a powerful mace.", + "flags": [ "USE_UPS", "DURABLE_MELEE", "POWERARMOR_COMPATIBLE", "ABLATIVE_LARGE", "EXO_GLOVE_PLATE" ], + "weight": "40000 g", + "volume": "5 L", + "longest_side": "5 cm", + "bashing": 60, + "to_hit": { "grip": "weapon", "length": "short", "surface": "any", "balance": "clumsy" }, + "material": [ "hardsteel", "vacuum_carbide" ], + "symbol": ";", + "color": "light_gray", + "techniques": [ "WBLOCK_1", "SWEEP" ], + "sided": true, + "armor": [ { "encumbrance": 20, "coverage": 80, "covers": [ "arm_l", "hand_l" ] } ], + "use_action": { + "ammo_scale": 0, + "menu_text": "Turn on", + "type": "transform", + "active": true, + "need_charges": 1, + "msg": "You turn on the drill.", + "target": "exo_mounted_drill_on" + } + }, + { + "id": "exo_mounted_drill_on", + "type": "TOOL_ARMOR", + "copy-from": "exo_mounted_drill", + "name": { "str": "exosuit mounted drill (on)", "str_pl": "exosuit mounted drills (on)" }, + "description": "The drill is now rotating and making a low growling noise. Meant to make short work of the toughest rock, it should work on more mobile surfaces as well. Use it to turn it off.", + "flags": [ "USE_UPS", "MESSY", "POWERED", "DURABLE_MELEE", "DIG_TOOL", "POWERARMOR_COMPATIBLE" ], + "bashing": 60, + "cutting": 20, + "power_draw": 2000, + "revert_to": "exo_mounted_drill", + "use_action": { "menu_text": "Turn off", "type": "transform", "msg": "You turn off the drill.", "target": "exo_mounted_drill" } + } +] diff --git a/data/mods/Aftershock/items/armor/modular_exos/exo_tool.json b/data/mods/Aftershock/items/armor/modular_exos/exo_tool.json new file mode 100644 index 0000000000000..535632751466b --- /dev/null +++ b/data/mods/Aftershock/items/armor/modular_exos/exo_tool.json @@ -0,0 +1,37 @@ +[ + { + "id": "exo_repair_kit", + "copy-from": "large_repairkit", + "type": "TOOL", + "name": { "str": "exosuit repair kit" }, + "description": "This is a collection of tools including a high-powered torch for working the titanium frame.", + "longest_side": "25 cm", + "price": 1000, + "price_postapoc": 100, + "bashing": 2, + "cutting": 6, + "material": [ "steel" ], + "symbol": ",", + "color": "light_gray", + "ammo": [ "battery" ], + "charges_per_use": 1, + "use_action": [ + { + "type": "repair_item", + "item_action_type": "repair_metal", + "materials": [ "steel", "hardsteel", "titanium" ], + "skill": "fabrication", + "cost_scaling": 0.1, + "move_cost": 1500 + } + ], + "pocket_data": [ + { + "pocket_type": "MAGAZINE_WELL", + "flag_restriction": [ "BATTERY_HEAVY" ], + "default_magazine": "heavy_plus_battery_cell" + } + ], + "flags": [ "ALLOWS_REMOTE_USE", "WATER_BREAK", "USE_UPS" ] + } +] diff --git a/data/mods/Aftershock/items/armor/modular_exos/modular_exoskeleton.json b/data/mods/Aftershock/items/armor/modular_exos/modular_exoskeleton.json new file mode 100644 index 0000000000000..e134a707a7acd --- /dev/null +++ b/data/mods/Aftershock/items/armor/modular_exos/modular_exoskeleton.json @@ -0,0 +1,265 @@ +[ + { + "id": "afs_exo_undersuit", + "repairs_like": "thermal_suit", + "type": "ARMOR", + "copy-from": "jumpsuit", + "looks_like": "robofac_enviro_suit", + "name": { "str": "exosuit undersuit" }, + "description": "A form-fitting suit meant to be worn beneath power armor. Although not a requirement for the operation of power armor, it features climate control and haptic feedback systems that offer improved performance and comfort while doing so. The suit is not designed for use outside of armor, it has no pockets, offers nearly no protection and damages easily.", + "weight": "610 g", + "volume": "3500 ml", + "color": "brown", + "material": [ "nomex", "plastic" ], + "armor": [ + { "covers": [ "head" ], "coverage": 100, "encumbrance": 5 }, + { "covers": [ "torso" ], "coverage": 100, "encumbrance": 5 }, + { "covers": [ "leg_l", "leg_r" ], "coverage": 100, "encumbrance": 5 }, + { "covers": [ "arm_l", "arm_r" ], "coverage": 100, "encumbrance": 5 }, + { "covers": [ "hand_l", "hand_r" ], "coverage": 100, "encumbrance": 5 }, + { "covers": [ "foot_l", "foot_r" ], "coverage": 100, "encumbrance": 5 } + ], + "warmth": 10, + "flags": [ "USE_UPS", "SKINTIGHT", "WATERPROOF", "POWERARMOR_COMPATIBLE" ] + }, + { + "id": "modular_exosuit", + "type": "TOOL_ARMOR", + "name": { "str": "exosuit frame" }, + "description": "This is a standard exosuit frame. Designed to be modular, it can accept a variety of power supplies, defensive and offensive systems, and utility tools. Slots exist for the torso, back, arms, and legs.", + "weight": "43 kg", + "volume": "135 L", + "material": [ "titanium" ], + "material_thickness": 2, + "power_armor": true, + "symbol": "T", + "looks_like": "power_armor_basic", + "color": "light_gray", + "pocket_data": [ + { + "pocket_type": "CONTAINER", + "name": "Torso compartment (Plate)", + "description": "This is a mounting point for torso armor.", + "ablative": true, + "rigid": true, + "max_contains_volume": "10 L", + "max_contains_weight": "80 kg", + "flag_restriction": [ "EXO_TORSO_PLATE" ], + "moves": 60 + }, + { + "pocket_type": "CONTAINER", + "name": "Torso compartment (Large)", + "description": "This is a mount for storing items in the torso.", + "rigid": true, + "max_contains_volume": "2 L", + "max_contains_weight": "5 kg", + "flag_restriction": [ "EXO_MEDIUM_GADGET", "EXO_SMALL_GADGET" ], + "moves": 60 + }, + { + "pocket_type": "CONTAINER", + "name": "Torso compartment (Small)", + "description": "This is a mount for storing items in the torso.", + "rigid": true, + "max_contains_volume": "1500 ml", + "max_contains_weight": "5 kg", + "flag_restriction": [ "EXO_SMALL_GADGET" ], + "moves": 60 + }, + { + "pocket_type": "CONTAINER", + "name": "Torso compartment (Small)", + "description": "This is a mount for storing items in the torso.", + "rigid": true, + "max_contains_volume": "1500 ml", + "max_contains_weight": "5 kg", + "flag_restriction": [ "EXO_SMALL_GADGET" ], + "moves": 60 + }, + { + "pocket_type": "CONTAINER", + "name": "PSU compartment", + "description": "This is a mounting point for power supply units and large modules.", + "rigid": true, + "max_contains_volume": "25 L", + "max_contains_weight": "140 kg", + "flag_restriction": [ "EXO_PSU", "EXO_LARGE_GADGET", "EXO_MEDIUM_GADGET", "EXO_SMALL_GADGET" ], + "moves": 60 + }, + { + "pocket_type": "CONTAINER", + "name": "Arm compartment (Plate)", + "description": "This is a mounting point for arm armor.", + "ablative": true, + "rigid": true, + "max_contains_volume": "12 L", + "max_contains_weight": "80 kg", + "flag_restriction": [ "EXO_ARM_PLATE" ], + "moves": 60 + }, + { + "pocket_type": "CONTAINER", + "name": "Arm hardpoint 1 (Gadget)", + "description": "This is a mount for storing items on the arms.", + "rigid": true, + "max_contains_volume": "2 L", + "max_contains_weight": "5 kg", + "flag_restriction": [ "EXO_MEDIUM_GADGET", "EXO_SMALL_GADGET" ], + "moves": 60 + }, + { + "pocket_type": "CONTAINER", + "name": "Arm hardpoint 2 (Gadget)", + "description": "This is a mount for storing items on the arms.", + "rigid": true, + "max_contains_volume": "2 L", + "max_contains_weight": "5 kg", + "flag_restriction": [ "EXO_MEDIUM_GADGET", "EXO_SMALL_GADGET" ], + "moves": 60 + }, + { + "pocket_type": "CONTAINER", + "name": "Arm hardpoint 1 (Small)", + "description": "This is a small mount for storing items on the arms.", + "rigid": true, + "max_contains_volume": "1500 ml", + "max_contains_weight": "5 kg", + "flag_restriction": [ "EXO_SMALL_GADGET" ], + "moves": 60 + }, + { + "pocket_type": "CONTAINER", + "name": "Arm hardpoint 2 (Small)", + "description": "This is a small mount for storing items on the arms.", + "rigid": true, + "max_contains_volume": "1500 ml", + "max_contains_weight": "5 kg", + "flag_restriction": [ "EXO_SMALL_GADGET" ], + "moves": 60 + }, + { + "pocket_type": "CONTAINER", + "name": "Leg compartment (Plate)", + "description": "This is a mounting point for leg armor.", + "ablative": true, + "rigid": true, + "max_contains_volume": "12 L", + "max_contains_weight": "80 kg", + "flag_restriction": [ "EXO_LEG_PLATE" ], + "moves": 60 + }, + { + "pocket_type": "CONTAINER", + "name": "Leg hardpoint 1 (Large)", + "description": "This is a mount for storing items on the legs.", + "rigid": true, + "max_contains_volume": "2 L", + "max_contains_weight": "5 kg", + "flag_restriction": [ "EXO_MEDIUM_GADGET", "EXO_SMALL_GADGET" ], + "moves": 60 + }, + { + "pocket_type": "CONTAINER", + "name": "Leg hardpoint 2 (Large)", + "description": "This is a mount for storing items on the legs.", + "rigid": true, + "max_contains_volume": "2 L", + "max_contains_weight": "5 kg", + "flag_restriction": [ "EXO_MEDIUM_GADGET", "EXO_SMALL_GADGET" ], + "moves": 60 + }, + { + "pocket_type": "CONTAINER", + "name": "Leg hardpoint 1 (Small)", + "description": "This is a small mount for storing items on the legs.", + "rigid": true, + "max_contains_volume": "1500 ml", + "max_contains_weight": "5 kg", + "flag_restriction": [ "EXO_SMALL_GADGET" ], + "moves": 60 + }, + { + "pocket_type": "CONTAINER", + "name": "Leg hardpoint 2 (Small)", + "description": "This is a small mount for storing items on the legs.", + "rigid": true, + "max_contains_volume": "1500 ml", + "max_contains_weight": "5 kg", + "flag_restriction": [ "EXO_SMALL_GADGET" ], + "moves": 60 + } + ], + "armor": [ + { + "encumbrance": 20, + "coverage": 100, + "covers": [ "torso", "arm_l", "arm_r", "hand_l", "hand_r", "leg_l", "leg_r", "foot_l", "foot_r" ] + } + ], + "ammo": "battery", + "flags": [ "USE_UPS", "STURDY", "WATERPROOF", "ELECTRIC_IMMUNE", "COMBAT_TOGGLEABLE", "OUTER" ], + "relic_data": { "passive_effects": [ { "has": "WORN", "condition": "ACTIVE", "values": [ { "value": "STRENGTH", "add": 10 } ] } ] }, + "use_action": [ + { + "target": "modular_exosuit_on", + "msg": "The %s engages.", + "active": true, + "need_charges": 1, + "need_charges_msg": "The suit does not have enough charge.", + "type": "transform" + }, + "MANAGE_EXOSUIT" + ] + }, + { + "id": "modular_exosuit_on", + "copy-from": "modular_exosuit", + "repairs_like": "modular_exosuit", + "looks_like": "power_armor_light", + "type": "TOOL_ARMOR", + "name": { "str": "exosuit frame (on)", "str_pl": "exosuit frames (on)" }, + "description": "This is a standard exosuit frame. Designed to be modular, it can accept a variety of power supplies, defensive and offensive systems, and utility tools. Slots exist for the torso, back, arms, and legs. It is turned on and continually drawing power. Use it to turn it off.", + "flags": [ "USE_UPS", "STURDY", "WATERPROOF", "ELECTRIC_IMMUNE", "COMBAT_TOGGLEABLE", "OUTER" ], + "relic_data": { "passive_effects": [ { "has": "WORN", "condition": "ACTIVE", "values": [ { "value": "STRENGTH", "add": 10 } ] } ] }, + "power_draw": 7123, + "revert_to": "modular_exosuit", + "use_action": [ { "type": "transform", "menu_text": "Turn off", "msg": "The %s disengages.", "target": "modular_exosuit" } ] + }, + { + "id": "exosuit_helmet", + "type": "ARMOR", + "category": "armor", + "name": { "str": "exosuit helmet" }, + "description": "This is a helmet offering mounts for specialized equipment and protection.", + "weight": "2500 g", + "volume": "5 L", + "material": [ "titanium", "plastic" ], + "symbol": "n", + "looks_like": "power_armor_helmet_basic", + "color": "dark_gray", + "power_armor": true, + "material_thickness": 8, + "environmental_protection": 16, + "armor": [ { "encumbrance": 20, "coverage": 100, "covers": [ "head", "eyes", "mouth" ] } ], + "flags": [ "WATCH", "WATERPROOF", "STURDY", "THERMOMETER", "SUN_GLASSES", "SWIM_GOGGLES" ], + "pocket_data": [ + { + "pocket_type": "CONTAINER", + "description": "This is a mounting point for helmet plating.", + "ablative": true, + "flag_restriction": [ "EXO_HELMET_PLATE" ] + }, + { + "pocket_type": "CONTAINER", + "name": "Helmet Hardpoint", + "description": "This is a series of mounts for helmet equipment.", + "rigid": true, + "max_contains_volume": "2 L", + "max_contains_weight": "5 kg", + "flag_restriction": [ "EXO_HELMET_GADGET" ], + "moves": 60 + } + ] + } +] diff --git a/data/mods/Aftershock/items/armor/modular_exos/modular_exoskeleton_modules.json b/data/mods/Aftershock/items/armor/modular_exos/modular_exoskeleton_modules.json new file mode 100644 index 0000000000000..afd4dcdf92120 --- /dev/null +++ b/data/mods/Aftershock/items/armor/modular_exos/modular_exoskeleton_modules.json @@ -0,0 +1,306 @@ +[ + { + "id": "exo_back_battery_rechargable", + "type": "TOOL_ARMOR", + "category": "exosuit", + "name": { "str": "exosuit power supply unit" }, + "description": "Designed to attach to an exosuit's back, this is a large rechargable battery with an integrated UPS.", + "weight": "15 kg", + "volume": "20 L", + "material": [ "plastic", "steel" ], + "symbol": "=", + "looks_like": "storage_battery", + "color": "light_gray", + "ammo": [ "battery" ], + "flags": [ "FRAGILE", "CANT_WEAR", "NO_UNLOAD", "NO_RELOAD", "RECHARGE", "WATERPROOF", "IS_UPS", "EXO_PSU", "ONLY_ONE" ], + "armor": [ { "encumbrance": 0, "coverage": 20, "covers": [ "torso" ] } ], + "pocket_data": [ + { "pocket_type": "MAGAZINE", "rigid": true, "ammo_restriction": { "battery": 40000 } }, + { + "pocket_type": "CONTAINER", + "description": "This is a mounting point for armor protecting the PSU.", + "rigid": true, + "ablative": true, + "max_contains_volume": "10 L", + "max_contains_weight": "145 kg", + "flag_restriction": [ "EXO_PSU_PLATE" ], + "moves": 60 + } + ] + }, + { + "id": "exo_back_gasoline", + "type": "TOOL_ARMOR", + "category": "exosuit", + "name": { "str": "exosuit ICE power supply", "str_pl": "exosuit ICE power supplies" }, + "description": "Designed to attach to an exosuit's back, this is an internal combustion engine generator with an integrated UPS. This unit is large and occupies the rear hardpoints.", + "weight": "20 kg", + "volume": "25 L", + "material": [ "steel", "plastic" ], + "symbol": "#", + "looks_like": "1cyl_combustion", + "color": "dark_gray", + "ammo": "gasoline", + "flags": [ "FRAGILE", "CANT_WEAR", "WATERPROOF", "IS_UPS", "EXO_PSU", "ONLY_ONE" ], + "armor": [ { "encumbrance": 0, "coverage": 40, "covers": [ "torso" ] } ], + "pocket_data": [ + { + "pocket_type": "MAGAZINE", + "description": "This is a tank for gasoline. Holds up to 10 liters.", + "rigid": true, + "watertight": true, + "ammo_restriction": { "gasoline": 10000 } + }, + { + "pocket_type": "CONTAINER", + "description": "This is a mounting point for armor protecting the PSU.", + "ablative": true, + "rigid": true, + "max_contains_volume": "10 L", + "max_contains_weight": "145 kg", + "flag_restriction": [ "EXO_PSU_PLATE" ], + "moves": 60 + } + ] + }, + { + "id": "exo_large_aux_power", + "type": "TOOL_ARMOR", + "category": "exosuit", + "name": { "str": "exosuit auxiliary battery", "str_pl": "exosuit auxiliary batteries" }, + "description": "This is a large rechargable auxiliary power unit that attaches to an exosuit hardpoint.", + "weight": "5 kg", + "volume": "5 L", + "material": [ "plastic", "steel" ], + "symbol": "=", + "looks_like": "storage_battery", + "color": "light_gray", + "ammo": [ "battery" ], + "flags": [ "FRAGILE", "CANT_WEAR", "NO_UNLOAD", "NO_RELOAD", "RECHARGE", "WATERPROOF", "IS_UPS", "EXO_LARGE_GADGET" ], + "pocket_data": [ { "pocket_type": "MAGAZINE", "rigid": true, "ammo_restriction": { "battery": 4000 } } ] + }, + { + "id": "exo_small_aux_power", + "type": "TOOL_ARMOR", + "category": "exosuit", + "name": { "str": "exosuit small auxiliary battery", "str_pl": "exosuit small auxiliary batteries" }, + "description": "This is a small rechargable auxiliary power unit that attaches to an exosuit hardpoint.", + "weight": "2 kg", + "volume": "1 L", + "material": [ "plastic", "steel" ], + "symbol": "=", + "looks_like": "storage_battery", + "color": "light_gray", + "ammo": [ "battery" ], + "flags": [ "FRAGILE", "CANT_WEAR", "NO_UNLOAD", "NO_RELOAD", "RECHARGE", "WATERPROOF", "IS_UPS", "EXO_SMALL_GADGET" ], + "pocket_data": [ { "pocket_type": "MAGAZINE", "rigid": true, "ammo_restriction": { "battery": 1000 } } ] + }, + { + "id": "exo_large_carry", + "type": "TOOL_ARMOR", + "category": "exosuit", + "name": { "str": "exosuit large load support module (off)", "str_pl": "exosuit large load support modules (off)" }, + "description": "This module significantly increases the exosuit's weight bearing at the cost of increased power consumption.", + "weight": "10 kg", + "volume": "5 L", + "material": [ "plastic", "steel" ], + "symbol": "=", + "looks_like": "storage_battery", + "color": "light_gray", + "ammo": [ "battery" ], + "flags": [ "FRAGILE", "CANT_WEAR", "WATERPROOF", "USE_UPS", "EXO_LARGE_GADGET" ], + "relic_data": { + "passive_effects": [ { "has": "HELD", "condition": "ACTIVE", "values": [ { "value": "CARRY_WEIGHT", "add": 30000 } ] } ] + }, + "use_action": { + "target": "exo_large_carry_on", + "msg": "The %s engages.", + "menu_text": "Turn on module", + "active": true, + "need_charges": 5, + "need_charges_msg": "There is not enough charge to activate the module.", + "type": "transform" + } + }, + { + "id": "exo_large_carry_on", + "type": "TOOL_ARMOR", + "category": "exosuit", + "name": { "str": "exosuit large load support module (on)", "str_pl": "exosuit large load support modules (on)" }, + "description": "This module significantly increases the exosuit's weight bearing at the cost of increased power consumption. It is turned on and continually drawing power. Use it to turn it off.", + "weight": "10 kg", + "volume": "5 L", + "material": [ "plastic", "steel" ], + "symbol": "=", + "looks_like": "storage_battery", + "color": "light_gray", + "ammo": [ "battery" ], + "flags": [ "FRAGILE", "CANT_WEAR", "WATERPROOF", "USE_UPS", "EXO_LARGE_GADGET" ], + "relic_data": { + "passive_effects": [ { "has": "HELD", "condition": "ACTIVE", "values": [ { "value": "CARRY_WEIGHT", "add": 30000 } ] } ] + }, + "power_draw": 1500, + "revert_to": "exo_large_carry", + "use_action": { + "ammo_scale": 0, + "target": "exo_large_carry", + "msg": "You deactivate the module.", + "menu_text": "Turn off module", + "type": "transform" + } + }, + { + "id": "exo_small_carry", + "type": "TOOL_ARMOR", + "category": "exosuit", + "name": { "str": "exosuit small load support module (off)", "str_pl": "exosuit small load support modules (off)" }, + "description": "This module increases the exosuit's weight bearing at the cost of increased power consumption.", + "weight": "2 kg", + "volume": "1 L", + "material": [ "plastic", "steel" ], + "symbol": "=", + "looks_like": "storage_battery", + "color": "light_gray", + "ammo": [ "battery" ], + "flags": [ "FRAGILE", "CANT_WEAR", "WATERPROOF", "USE_UPS", "EXO_SMALL_GADGET" ], + "relic_data": { + "passive_effects": [ { "has": "HELD", "condition": "ACTIVE", "values": [ { "value": "CARRY_WEIGHT", "add": 20000 } ] } ] + }, + "use_action": { + "target": "exo_small_carry_on", + "msg": "The %s engages.", + "menu_text": "Turn on module", + "active": true, + "need_charges": 5, + "need_charges_msg": "There is not enough charge to activate the module.", + "type": "transform" + } + }, + { + "id": "exo_small_carry_on", + "type": "TOOL_ARMOR", + "category": "exosuit", + "name": { "str": "exosuit small load support module (on)", "str_pl": "exosuit small load support modules (on)" }, + "description": "This module increases the exosuit's weight bearing at the cost of increased power consumption. It is turned on and continually drawing power. Use it to turn it off.", + "weight": "2 kg", + "volume": "1 L", + "material": [ "plastic", "steel" ], + "symbol": "=", + "looks_like": "storage_battery", + "color": "light_gray", + "ammo": [ "battery" ], + "flags": [ "FRAGILE", "CANT_WEAR", "WATERPROOF", "USE_UPS", "EXO_SMALL_GADGET" ], + "relic_data": { + "passive_effects": [ { "has": "HELD", "condition": "ACTIVE", "values": [ { "value": "CARRY_WEIGHT", "add": 20000 } ] } ] + }, + "power_draw": 1500, + "revert_to": "exo_small_carry", + "use_action": { + "ammo_scale": 0, + "target": "exo_small_carry", + "msg": "You deactivate the module.", + "menu_text": "Turn off module", + "type": "transform" + } + }, + { + "id": "exo_flashlight", + "type": "TOOL_ARMOR", + "category": "exosuit", + "name": { "str": "mounted lamp (off)", "str_pl": "mounted lamps (off)" }, + "description": "This is a light that can be secured to an exosuit hardpoint. It has two levels of brightness.", + "weight": "500 g", + "volume": "500 ml", + "material": [ "steel", "plastic" ], + "symbol": "o", + "color": "white", + "charges_per_use": 1, + "ammo": [ "battery" ], + "flags": [ "USE_UPS", "CANT_WEAR", "EXO_SMALL_GADGET" ], + "use_action": { + "type": "transform", + "msg": "You turn the lamp on low.", + "target": "exo_flashlight_low", + "active": true, + "need_charges": 1, + "need_charges_msg": "There is not enough charge to activate the module." + } + }, + { + "id": "exo_flashlight_low", + "copy-from": "exo_flashlight", + "type": "TOOL", + "name": { "str": "mounted lamp (low)", "str_pl": "mounted lamps (low)" }, + "power_draw": 1000, + "revert_to": "exo_flashlight", + "use_action": { + "ammo_scale": 0, + "menu_text": "Turn to high", + "type": "transform", + "msg": "You turn the lamp on high.", + "target": "exo_flashlight_high" + }, + "flags": [ "LIGHT_250", "USE_UPS", "CANT_WEAR", "EXO_SMALL_GADGET" ] + }, + { + "id": "exo_flashlight_high", + "copy-from": "exo_flashlight", + "type": "TOOL", + "name": { "str": "mounted lamp (high)", "str_pl": "mounted lamps (high)" }, + "power_draw": 2000, + "revert_to": "exo_flashlight", + "use_action": { + "ammo_scale": 0, + "menu_text": "Turn off", + "type": "transform", + "msg": "You turn the heavy duty flashlight off.", + "target": "exo_flashlight" + }, + "flags": [ "LIGHT_500", "USE_UPS", "CANT_WEAR", "EXO_SMALL_GADGET" ] + }, + { + "id": "exo_recoil", + "type": "TOOL_ARMOR", + "category": "exosuit", + "name": { "str": "recoil mitigation system (off)", "str_pl": "recoil mitigation systems (off)" }, + "description": "This module takes partial control of the exosuit while firing, damping recoil. Activate before firing.", + "weight": "500 g", + "volume": "500 ml", + "material": [ "steel", "plastic" ], + "symbol": "o", + "color": "white", + "charges_per_use": 1, + "ammo": [ "battery" ], + "flags": [ "USE_UPS", "CANT_WEAR", "EXO_SMALL_GADGET", "ONLY_ONE" ], + "use_action": { + "type": "transform", + "msg": "You activate your suit's recoil dampeners.", + "target": "exo_recoil_on", + "active": true, + "need_charges": 1, + "need_charges_msg": "There is not enough charge to activate the module." + }, + "relic_data": { + "passive_effects": [ { "has": "WORN", "condition": "ACTIVE", "values": [ { "value": "WEAPON_DISPERSION", "add": -50 } ] } ] + } + }, + { + "id": "exo_recoil_on", + "copy-from": "exo_recoil", + "type": "TOOL", + "name": { "str": "recoil mitigation system (on)", "str_pl": "recoil mitigation systems (on)" }, + "power_draw": 2000, + "revert_to": "exo_recoil", + "use_action": { + "ammo_scale": 0, + "menu_text": "Turn off", + "type": "transform", + "msg": "You turn off the recoil mitigation system.", + "target": "exo_recoil" + }, + "flags": [ "USE_UPS", "CANT_WEAR", "EXO_SMALL_GADGET", "ONLY_ONE" ], + "relic_data": { + "passive_effects": [ { "has": "WORN", "condition": "ACTIVE", "values": [ { "value": "WEAPON_DISPERSION", "add": -50 } ] } ] + } + } +] diff --git a/data/mods/Aftershock/items/armor/modular_exos/modular_exoskeleton_plating.json b/data/mods/Aftershock/items/armor/modular_exos/modular_exoskeleton_plating.json new file mode 100644 index 0000000000000..84ca983d3fd5c --- /dev/null +++ b/data/mods/Aftershock/items/armor/modular_exos/modular_exoskeleton_plating.json @@ -0,0 +1,322 @@ +[ + { + "id": "exo_helmet_steel", + "type": "ARMOR", + "category": "exosuit", + "name": { "str": "steel helmet plate (exosuit)", "str_pl": "steel helmet plates (exosuit)" }, + "description": "Designed to attach to an exosuit's helmet, this is a sturdy plate of steel.", + "weight": "12880 g", + "volume": "5 L", + "material": [ "steel" ], + "symbol": "[", + "looks_like": "power_armor_helmet_basic", + "color": "light_gray", + "warmth": 20, + "material_thickness": 6, + "flags": [ "CANT_WEAR", "ABLATIVE_LARGE", "EXO_HELMET_PLATE" ], + "armor": [ { "encumbrance": 20, "coverage": 95, "covers": [ "head", "eyes", "mouth" ] } ] + }, + { + "id": "exo_helmet_plastic", + "type": "ARMOR", + "category": "exosuit", + "copy-from": "exo_helmet_steel", + "name": { "str": "plastic helmet plate (exosuit)", "str_pl": "plastic helmet plates (exosuit)" }, + "description": "Designed to attach to an exosuit's helmet, this is a plate of plastic.", + "weight": "1287 g", + "material": [ "plastic" ], + "looks_like": "power_armor_helmet_basic", + "material_thickness": 3, + "non_functional": "destroyed_exo_helmet_plastic_plate" + }, + { + "id": "destroyed_exo_helmet_plastic_plate", + "type": "ARMOR", + "copy-from": "exo_helmet_plastic", + "name": { "str": "shattered plastic helmet plate (exosuit)", "str_pl": "shattered plastic helmet plates (exosuit)" }, + "description": "The remains of a plastic helmet plate after taking a strong impact. No longer provides functional protection, just weight.", + "looks_like": "exo_helmet_plastic", + "armor": [ { "encumbrance": 20, "coverage": 0, "covers": [ "head", "eyes", "mouth" ] } ] + }, + { + "id": "exo_helmet_vcc", + "type": "ARMOR", + "category": "exosuit", + "copy-from": "exo_helmet_steel", + "name": { "str": "carbide helmet plate (exosuit)", "str_pl": "carbide helmet plates (exosuit)" }, + "description": "Designed to attach to an exosuit's helmet, this is a plate of vacuum-cast carbide.", + "weight": "1287 g", + "material": [ "vacuum_carbide" ], + "looks_like": "power_armor_helmet_basic", + "material_thickness": 6, + "non_functional": "destroyed_exo_helmet_vcc_plate" + }, + { + "id": "destroyed_exo_helmet_vcc_plate", + "type": "ARMOR", + "copy-from": "exo_helmet_plastic", + "name": { "str": "shattered carbide helmet plate (exosuit)", "str_pl": "shattered carbide helmet plates (exosuit)" }, + "description": "The remains of a vacuum-cast carbide helmet plate after taking a strong impact. No longer provides functional protection, just weight.", + "looks_like": "exo_helmet_vcc", + "armor": [ { "encumbrance": 20, "coverage": 0, "covers": [ "head", "eyes", "mouth" ] } ] + }, + { + "id": "exo_torso_steel", + "type": "ARMOR", + "category": "exosuit", + "name": { "str": "steel torso plate (exosuit)", "str_pl": "steel torso plates (exosuit)" }, + "description": "Designed to attach to an exosuit's torso, this is a sturdy plate of steel.", + "weight": "34347 g", + "volume": "8 L", + "material": [ "steel" ], + "symbol": "[", + "looks_like": "cuirass_lightplate", + "color": "light_gray", + "warmth": 20, + "material_thickness": 6, + "flags": [ "CANT_WEAR", "ABLATIVE_LARGE", "EXO_TORSO_PLATE" ], + "armor": [ { "encumbrance": 20, "coverage": 95, "covers": [ "torso" ] } ] + }, + { + "id": "exo_torso_plastic", + "type": "ARMOR", + "category": "exosuit", + "copy-from": "exo_torso_steel", + "name": { "str": "plastic torso plate (exosuit)", "str_pl": "plastic torso plates (exosuit)" }, + "description": "Designed to attach to an exosuit's torso, this is a plate of plastic.", + "weight": "3432 g", + "volume": "8 L", + "material": [ "plastic" ], + "material_thickness": 3, + "non_functional": "destroyed_exo_torso_plastic_plate" + }, + { + "id": "destroyed_exo_torso_plastic_plate", + "type": "ARMOR", + "copy-from": "exo_torso_plastic", + "name": { "str": "shattered plastic torso plate (exosuit)", "str_pl": "shattered plastic torso plates (exosuit)" }, + "description": "The remains of a plastic torso plate after taking a strong impact. No longer provides functional protection, just weight.", + "looks_like": "exo_torso_plastic", + "material_thickness": 3, + "armor": [ { "encumbrance": 20, "coverage": 0, "covers": [ "torso" ] } ] + }, + { + "id": "exo_torso_vcc", + "type": "ARMOR", + "category": "exosuit", + "copy-from": "exo_torso_steel", + "name": { "str": "carbide torso plate (exosuit)", "str_pl": "carbide torso plates (exosuit)" }, + "description": "Designed to attach to an exosuit's torso, this is a sturdy plate of vacuum-cast carbide.", + "weight": "44000 g", + "volume": "8 L", + "material": [ "vacuum_carbide" ], + "material_thickness": 6, + "non_functional": "destroyed_exo_torso_vcc_plate" + }, + { + "id": "destroyed_exo_torso_vcc_plate", + "type": "ARMOR", + "copy-from": "exo_torso_vcc", + "name": { "str": "shattered carbide torso plate (exosuit)", "str_pl": "shattered carbide torso plates (exosuit)" }, + "description": "The remains of a vacuum-cast carbide torso plate after taking a strong impact. No longer provides functional protection, just weight.", + "looks_like": "exo_torso_vcc" + }, + { + "id": "exo_psu_steel", + "type": "ARMOR", + "category": "exosuit", + "name": { "str": "steel PSU plate (exosuit)", "str_pl": "steel PSU plates (exosuit)" }, + "description": "Designed to attach to an exosuit's power supply unit, this is a sturdy plate of steel.", + "weight": "42933 g", + "volume": "10 L", + "material": [ "steel" ], + "symbol": "[", + "looks_like": "backpack_tactical_large", + "color": "light_gray", + "warmth": 0, + "material_thickness": 6, + "flags": [ "CANT_WEAR", "ABLATIVE_LARGE", "EXO_PSU_PLATE" ], + "armor": [ { "encumbrance": 20, "coverage": 50, "covers": [ "torso" ] } ] + }, + { + "id": "exo_psu_plastic", + "type": "ARMOR", + "category": "exosuit", + "copy-from": "exo_psu_steel", + "name": { "str": "plastic PSU plate (exosuit)", "str_pl": "plastic PSU plates (exosuit)" }, + "description": "Designed to attach to an exosuit's power supply unit, this is a plate of plastic.", + "weight": "4290 g", + "volume": "10 L", + "material": [ "plastic" ], + "material_thickness": 3, + "non_functional": "destroyed_exo_psu_plastic_plate" + }, + { + "id": "destroyed_exo_psu_plastic_plate", + "type": "ARMOR", + "copy-from": "exo_psu_plastic", + "name": { "str": "shattered plastic PSU plate (exosuit)", "str_pl": "shattered plastic PSU plates (exosuit)" }, + "description": "The remains of a plastic PSU plate after taking a strong impact. No longer provides functional protection, just weight.", + "looks_like": "exo_psu_plastic", + "material_thickness": 3 + }, + { + "id": "exo_psu_vcc", + "type": "ARMOR", + "category": "exosuit", + "copy-from": "exo_psu_steel", + "name": { "str": "carbide PSU plate (exosuit)", "str_pl": "carbide PSU plates (exosuit)" }, + "description": "Designed to attach to an exosuit's power supply unit, this is a sturdy plate of vacuum-cast carbide.", + "weight": "55000 g", + "volume": "10 L", + "material": [ "vacuum_carbide" ], + "material_thickness": 6, + "non_functional": "destroyed_exo_psu_milcomp_plate" + }, + { + "id": "destroyed_exo_psu_vcc", + "type": "ARMOR", + "copy-from": "exo_psu_vcc", + "name": { "str": "shattered carbide PSU plate (exosuit)", "str_pl": "shattered carbide PSU plates (exosuit)" }, + "description": "The remains of a vacuum-cast carbide PSU plate after taking a strong impact. No longer provides functional protection, just weight.", + "looks_like": "exo_psu_vcc", + "armor": [ { "encumbrance": 20, "coverage": 0, "covers": [ "torso" ] } ] + }, + { + "id": "exo_arm_steel", + "type": "ARMOR", + "category": "exosuit", + "name": { "str": "steel arm plate (exosuit)", "str_pl": "steel arm plates (exosuit)" }, + "description": "Designed to attach to an exosuit's arms, these are sturdy plates of steel.", + "weight": "30 g", + "volume": "6500 ml", + "material": [ "steel" ], + "symbol": "[", + "looks_like": "armguard_lightplate", + "color": "light_gray", + "warmth": 20, + "material_thickness": 6, + "flags": [ "CANT_WEAR", "ABLATIVE_LARGE", "EXO_ARM_PLATE" ], + "armor": [ + { + "covers": [ "arm_l", "arm_r", "hand_l", "hand_r" ], + "encumbrance": 16, + "coverage": 95, + "cover_melee": 95, + "cover_ranged": 95, + "cover_vitals": 90 + } + ] + }, + { + "id": "exo_arm_plastic", + "type": "ARMOR", + "category": "exosuit", + "copy-from": "exo_arm_steel", + "name": { "str": "plastic arm plate (exosuit)", "str_pl": "plastic arm plates (exosuit)" }, + "description": "Designed to attach to an exosuit's arms, these are plates of plastic.", + "weight": "3000 g", + "volume": "1500 ml", + "material": [ "plastic" ], + "material_thickness": 3, + "non_functional": "destroyed_exo_arm_plastic_plate" + }, + { + "id": "destroyed_exo_arm_plastic_plate", + "type": "ARMOR", + "copy-from": "exo_arm_plastic", + "name": { "str": "shattered plastic arm plate (exosuit)", "str_pl": "shattered plastic arm plates (exosuit)" }, + "description": "The remains of a plastic arm plate after taking a strong impact. No longer provides functional protection, just weight.", + "looks_like": "exo_arm_plastic", + "material_thickness": 3 + }, + { + "id": "exo_arm_vcc", + "type": "ARMOR", + "category": "exosuit", + "copy-from": "exo_arm_steel", + "name": { "str": "carbide arm plate (exosuit)", "str_pl": "carbide arm plates (exosuit)" }, + "description": "Designed to attach to an exosuit's arms, these are sturdy plates of vacuum-cast carbide.", + "weight": "38000 g", + "volume": "1500 ml", + "material": [ "vacuum_carbide" ], + "material_thickness": 6, + "non_functional": "destroyed_exo_arm_vcc_plate" + }, + { + "id": "destroyed_exo_arm_vcc_plate", + "type": "ARMOR", + "copy-from": "exo_arm_vcc", + "name": { "str": "shattered carbide arm plate (exosuit)", "str_pl": "shattered carbide arm plates (exosuit)" }, + "description": "The remains of a vacuum-cast carbide arm plate after taking a strong impact. No longer provides functional protection, just weight.", + "looks_like": "exo_arm_vcc" + }, + { + "id": "exo_leg_steel", + "type": "ARMOR", + "category": "exosuit", + "name": { "str": "steel leg plating (exosuit)", "str_pl": "steel leg plates (exosuit)" }, + "description": "Designed to attach to an exosuit's legs, these are sturdy plates of steel.", + "weight": "33000 g", + "volume": "10 L", + "material": [ "steel" ], + "symbol": "L", + "looks_like": "legguard_lightplate", + "color": "light_gray", + "warmth": 10, + "material_thickness": 6, + "flags": [ "CANT_WEAR", "ABLATIVE_LARGE", "EXO_LEG_PLATE" ], + "armor": [ + { + "covers": [ "leg_l", "leg_r", "foot_l", "foot_r" ], + "encumbrance": 8, + "coverage": 95, + "cover_melee": 95, + "cover_ranged": 95, + "cover_vitals": 90 + } + ] + }, + { + "id": "exo_leg_plastic", + "type": "ARMOR", + "category": "exosuit", + "copy-from": "exo_leg_steel", + "name": { "str": "plastic leg plating (exosuit)", "str_pl": "plastic leg plates (exosuit)" }, + "description": "Designed to attach to an exosuit's legs, these are plates of plastic.", + "weight": "6000 g", + "volume": "10 L", + "material": [ "plastic" ], + "material_thickness": 3, + "non_functional": "destroyed_exo_leg_plastic_plate" + }, + { + "id": "destroyed_exo_leg_plastic_plate", + "type": "ARMOR", + "copy-from": "exo_leg_plastic", + "name": { "str": "shattered plastic leg plate (exosuit)", "str_pl": "shattered plastic leg plates (exosuit)" }, + "description": "The remains of a plastic leg plate after taking a strong impact. No longer provides functional protection, just weight.", + "looks_like": "exo_leg_plastic" + }, + { + "id": "exo_leg_vcc", + "type": "ARMOR", + "category": "exosuit", + "copy-from": "exo_leg_steel", + "name": { "str": "carbide leg plating (exosuit)", "str_pl": "carbide leg plates (exosuit)" }, + "description": "Designed to attach to an exosuit's legs, these are sturdy plates of vacuum-cast carbide.", + "weight": "41000 g", + "volume": "10 L", + "material": [ "vacuum_carbide" ], + "material_thickness": 6, + "non_functional": "destroyed_exo_leg_vcc_plate" + }, + { + "id": "destroyed_exo_leg_vcc_plate", + "type": "ARMOR", + "copy-from": "exo_leg_vcc", + "name": { "str": "shattered carbide leg plate (exosuit)", "str_pl": "shattered carbide leg plates (exosuit)" }, + "description": "The remains of a vacuum-cast carbide leg plate after taking a strong impact. No longer provides functional protection, just weight.", + "looks_like": "exo_leg_vcc" + } +] diff --git a/data/mods/Aftershock/items/armor/modular_exos/modular_exoskeleton_storage.json b/data/mods/Aftershock/items/armor/modular_exos/modular_exoskeleton_storage.json new file mode 100644 index 0000000000000..c63db8d92e603 --- /dev/null +++ b/data/mods/Aftershock/items/armor/modular_exos/modular_exoskeleton_storage.json @@ -0,0 +1,101 @@ +[ + { + "id": "exo_rifle_storage", + "copy-from": "back_holster", + "type": "ARMOR", + "name": { "str": "large storage pouch (exosuit)", "str_pl": "large storage pouches (exosuit)" }, + "description": "A hardpoint for storing a rifle. Activate to holster/draw a gun.", + "weight": "454 g", + "volume": "2 L", + "material": [ "steel" ], + "flags": [ "WATER_FRIENDLY", "NO_QUICKDRAW", "BELTED", "EXO_LARGE_GADGET" ], + "symbol": "[", + "looks_like": "slingpack", + "color": "light_gray" + }, + { + "id": "exo_melee_storage", + "copy-from": "bscabbard", + "type": "ARMOR", + "name": { "str_sp": "scabbard (exosuit)" }, + "description": "A metallic scabbard mountable on an exosuit hard point. Can be activated to sheath or draw a sword.", + "weight": "454 g", + "volume": "2 L", + "price": 18000, + "price_postapoc": 800, + "material": [ "steel" ], + "flags": [ "WATER_FRIENDLY", "BELTED", "EXO_MEDIUM_GADGET" ], + "symbol": "[", + "looks_like": "bscabbard", + "color": "light_gray" + }, + { + "id": "exo_large_storage", + "copy-from": "backpack_tactical_large", + "repairs_like": "backpack_tactical_large", + "type": "ARMOR", + "name": { "str": "large storage pack (exosuit)", "str_pl": "large storage packs (exosuit)" }, + "description": "A large storage pack, mountable on a hardpoint.", + "weight": "2291 g", + "volume": "15 L", + "material": [ "kevlar", "plastic" ], + "flags": [ "WATER_FRIENDLY", "BELTED", "EXO_LARGE_GADGET" ], + "symbol": "[", + "looks_like": "backpack" + }, + { + "id": "exo_medium_storage", + "copy-from": "fanny", + "repairs_like": "fanny", + "type": "ARMOR", + "name": { "str": "medium pouch (exosuit)", "str_pl": "medium pouches (exosuit)" }, + "description": "A medium storage pouch, mountable on a hardpoint.", + "weight": "275 g", + "volume": "2500 ml", + "material": [ "nylon", "plastic" ], + "flags": [ "WATER_FRIENDLY", "BELTED", "EXO_MEDIUM_GADGET" ], + "symbol": "[", + "looks_like": "holster", + "color": "green" + }, + { + "id": "exo_small_storage", + "copy-from": "leather_pouch", + "repairs_like": "fanny", + "type": "ARMOR", + "name": { "str": "small pouch (exosuit)", "str_pl": "small pouches (exosuit)" }, + "description": "A small storage pouch, mountable on a hardpoint.", + "weight": "125 g", + "volume": "1050 ml", + "material": [ "nylon", "plastic" ], + "symbol": "[", + "looks_like": "holster", + "color": "green" + }, + { + "id": "exo_large_ammo_pouch", + "copy-from": "tacvest", + "looks_like": "tacvest", + "type": "ARMOR", + "name": { "str_sp": "large ammo pouches (exosuit)" }, + "description": "A set of pouches that attach to a hardpoint.", + "weight": "205 g", + "volume": "1050 ml", + "price": 3000, + "price_postapoc": 250, + "material": [ "nylon" ], + "symbol": "[", + "color": "dark_gray", + "flags": [ "WATER_FRIENDLY", "EXO_MEDIUM_GADGET" ] + }, + { + "id": "exo_small_ammo_pouch", + "copy-from": "legrig", + "type": "ARMOR", + "name": { "str_sp": "small ammo pouches (exosuit)" }, + "description": "A set of pouches that attach to a hardpoint.", + "symbol": "[", + "color": "dark_gray", + "flags": [ "WATER_FRIENDLY", "EXO_SMALL_GADGET" ] + } +] diff --git a/data/mods/Aftershock/items/books.json b/data/mods/Aftershock/items/books.json index 4afdb3d8c2e7a..46d566b8271c9 100644 --- a/data/mods/Aftershock/items/books.json +++ b/data/mods/Aftershock/items/books.json @@ -278,5 +278,24 @@ "intelligence": 9, "fun": -2, "time": "50 m" + }, + { + "id": "exosuit_maintenance", + "type": "BOOK", + "name": { "str": "TsKBEM Exoskeleton user manual", "str_pl": "copies of TsKBEM Exoskeleton user manuals" }, + "description": "A somewhat hefty manual in Russian with accompanying English text which goes in-depth into the proper usage and maintenance of TsKBEM brand Exoskeletons.\n\nWhile it mainly pertains to the old TsKBEM exoskeletons, the knowledge within could still help out with modular exoskeletons in general.", + "weight": "50 g", + "volume": "500 ml", + "price": "5000 cent", + "material": [ "paper" ], + "symbol": "?", + "looks_like": "adv_chemistry", + "color": "light_green", + "skill": "fabrication", + "required_level": 5, + "max_level": 8, + "intelligence": 9, + "fun": -3, + "time": "50 m" } ] diff --git a/data/mods/Aftershock/items/vehicle_items.json b/data/mods/Aftershock/items/vehicle_items.json index 276d63a3a5908..eff193c15724a 100644 --- a/data/mods/Aftershock/items/vehicle_items.json +++ b/data/mods/Aftershock/items/vehicle_items.json @@ -15,5 +15,12 @@ "properties": [ [ "creature_size_capacity", "LARGE" ] ], "use_action": "CAPTURE_MONSTER_VEH", "flags": [ "TRADER_AVOID" ] + }, + { + "type": "GENERIC", + "id": "exo_gantry", + "copy-from": "vehicle_rig", + "name": { "str": "exosuit maintenance gantry", "str_pl": "exosuit maintenance gantries" }, + "description": "A vehicle-mounted gantry for supporting an exosuit upright during maintenance and repair. Includes the specialized tools needed for complex repairs and will also charge the suit's power when activated from the vehicle's controls." } ] diff --git a/data/mods/Aftershock/vehicles/vehicle_parts.json b/data/mods/Aftershock/vehicles/vehicle_parts.json index 377859a40a80c..c65dd74eff96c 100644 --- a/data/mods/Aftershock/vehicles/vehicle_parts.json +++ b/data/mods/Aftershock/vehicles/vehicle_parts.json @@ -364,5 +364,40 @@ { "item": "steel_chunk", "count": [ 6, 8 ] }, { "item": "scrap", "count": [ 6, 8 ] } ] + }, + { + "type": "vehicle_part", + "id": "exo_gantry", + "name": { "str": "exosuit maintenance gantry" }, + "symbol": "T", + "categories": [ "utility" ], + "color": "light_gray", + "broken_symbol": "x", + "broken_color": "light_gray", + "looks_like": "welding_rig", + "damage_modifier": 10, + "durability": 200, + "description": "A gantry for supporting an exosuit upright during maintenance and repair. Includes the specialized tools needed for complex repairs and will also charge the suit's power when active.", + "size": 800, + "bonus": 600, + "item": "afs_metal_rig", + "location": "center", + "requirements": { + "install": { "skills": [ [ "mechanics", 3 ] ], "time": "60 m", "using": [ [ "vehicle_wrench_2", 1 ] ] }, + "removal": { "skills": [ [ "mechanics", 2 ] ], "time": "30 m", "using": [ [ "vehicle_wrench_2", 1 ] ] }, + "repair": { "skills": [ [ "mechanics", 4 ] ], "time": "60 m", "using": [ [ "welding_standard", 5 ] ] } + }, + "flags": [ "CARGO", "OBSTACLE", "COVERED", "RECHARGE" ], + "pseudo_tools": [ + { "id": "welder", "hotkey": "w" }, + { "id": "soldering_iron", "hotkey": "s" }, + { "id": "exo_repair_kit", "hotkey": "e" } + ], + "breaks_into": [ + { "item": "steel_lump", "count": [ 3, 6 ] }, + { "item": "steel_chunk", "count": [ 3, 6 ] }, + { "item": "scrap", "count": [ 3, 6 ] }, + { "item": "welder", "charges": 0, "prob": 50 } + ] } ] diff --git a/src/flag.cpp b/src/flag.cpp index 7366005ec93cb..3cc0513727d8e 100644 --- a/src/flag.cpp +++ b/src/flag.cpp @@ -89,6 +89,18 @@ const flag_id flag_EDIBLE_FROZEN( "EDIBLE_FROZEN" ); const flag_id flag_EFFECT_IMPEDING( "EFFECT_IMPEDING" ); const flag_id flag_ELECTRIC_IMMUNE( "ELECTRIC_IMMUNE" ); const flag_id flag_ETHEREAL_ITEM( "ETHEREAL_ITEM" ); +const flag_id flag_EXO_ARM_PLATE( "EXO_ARM_PLATE" ); +const flag_id flag_EXO_BOOT_PLATE( "EXO_BOOT_PLATE" ); +const flag_id flag_EXO_GLOVE_PLATE( "EXO_GLOVE_PLATE" ); +const flag_id flag_EXO_HELMET_GADGET( "EXO_HELMET_GADGET" ); +const flag_id flag_EXO_HELMET_PLATE( "EXO_HELMET_PLATE" ); +const flag_id flag_EXO_LARGE_GADGET( "EXO_LARGE_GADGET" ); +const flag_id flag_EXO_LEG_PLATE( "EXO_LEG_PLATE" ); +const flag_id flag_EXO_MEDIUM_GADGET( "EXO_MEDIUM_GADGET" ); +const flag_id flag_EXO_PSU( "EXO_PSU" ); +const flag_id flag_EXO_PSU_PLATE( "EXO_PSU_PLATE" ); +const flag_id flag_EXO_SMALL_GADGET( "EXO_SMALL_GADGET" ); +const flag_id flag_EXO_TORSO_PLATE( "EXO_TORSO_PLATE" ); const flag_id flag_FAKE_MILL( "FAKE_MILL" ); const flag_id flag_FAKE_SMOKE( "FAKE_SMOKE" ); const flag_id flag_FANCY( "FANCY" ); diff --git a/src/flag.h b/src/flag.h index 2bcb410712aad..4740569a49cea 100644 --- a/src/flag.h +++ b/src/flag.h @@ -99,6 +99,18 @@ extern const flag_id flag_EDIBLE_FROZEN; extern const flag_id flag_EFFECT_IMPEDING; extern const flag_id flag_ELECTRIC_IMMUNE; extern const flag_id flag_ETHEREAL_ITEM; +extern const flag_id flag_EXO_ARM_PLATE; +extern const flag_id flag_EXO_BOOT_PLATE; +extern const flag_id flag_EXO_GLOVE_PLATE; +extern const flag_id flag_EXO_HELMET_GADGET; +extern const flag_id flag_EXO_HELMET_PLATE; +extern const flag_id flag_EXO_LARGE_GADGET; +extern const flag_id flag_EXO_LEG_PLATE; +extern const flag_id flag_EXO_MEDIUM_GADGET; +extern const flag_id flag_EXO_PSU; +extern const flag_id flag_EXO_PSU_PLATE; +extern const flag_id flag_EXO_SMALL_GADGET; +extern const flag_id flag_EXO_TORSO_PLATE; extern const flag_id flag_FAKE_MILL; extern const flag_id flag_FAKE_SMOKE; extern const flag_id flag_FANCY; diff --git a/tools/spell_checker/dictionary.txt b/tools/spell_checker/dictionary.txt index 8699a56508861..057f3099ee9c8 100644 --- a/tools/spell_checker/dictionary.txt +++ b/tools/spell_checker/dictionary.txt @@ -733,6 +733,8 @@ handloading hangry haori hardbound +hardpoint +hardpoints harmonically harries harvestable @@ -1757,6 +1759,8 @@ underbarrel undercovering underprepared underslung +undersuit +undersuits underwelming undulates uneasing