Skip to content

Commit

Permalink
[CR] Bionic multimeter (#73992)
Browse files Browse the repository at this point in the history
* add multimeter bionic, item, and integrated tool

* s. fix tests

* s. fix test again
  • Loading branch information
natsirt721 authored May 27, 2024
1 parent 2083cfd commit 459ec63
Show file tree
Hide file tree
Showing 17 changed files with 182 additions and 10 deletions.
32 changes: 32 additions & 0 deletions data/json/bionics.json
Original file line number Diff line number Diff line change
Expand Up @@ -1681,6 +1681,38 @@
"passive_pseudo_items": [ "toolset", "integrated_welder" ],
"flags": [ "BIONIC_SHOCKPROOF", "BIONIC_NPC_USABLE" ]
},
{
"id": "bio_multimeter",
"type": "bionic",
"name": { "str": "Integrated Multimeter" },
"description": "Your fingers and arms have been implanted with retractable electrical probes connected to a multimeter embedded in your arm, allowing you to measure electrical voltage, resistance, and current by touch. This also provides your hands and arms with a modicum of protection against electric shocks.",
"occupied_bodyparts": [ [ "hand_l", 1 ], [ "hand_r", 1 ] ],
"passive_pseudo_items": [ "integrated_multimeter" ],
"flags": [ "BIONIC_SHOCKPROOF", "BIONIC_NPC_USABLE" ],
"protec": [
[ "hand_l", { "electric": 3 } ],
[ "hand_r", { "electric": 3 } ],
[ "arm_l", { "electric": 3 } ],
[ "arm_r", { "electric": 3 } ]
],
"available_upgrades": [ "bio_electrokit" ]
},
{
"id": "bio_electrokit",
"type": "bionic",
"name": { "str": "Integrated Circuitry Toolset" },
"description": "Your fingers and arms have been implanted a soldering iron, a multimeter, and a set of small screwdrivers, providing all the tools required for working with bench-scale electrical circuits. This also provides your hands and arms with a modicum of protection against electric shocks.",
"occupied_bodyparts": [ [ "hand_l", 2 ], [ "hand_r", 2 ] ],
"passive_pseudo_items": [ "integrated_electrokit", "integrated_multimeter" ],
"flags": [ "BIONIC_SHOCKPROOF", "BIONIC_NPC_USABLE" ],
"protec": [
[ "hand_l", { "electric": 3 } ],
[ "hand_r", { "electric": 3 } ],
[ "arm_l", { "electric": 3 } ],
[ "arm_r", { "electric": 3 } ]
],
"upgraded_bionic": "bio_multimeter"
},
{
"id": "bio_torsionratchet",
"type": "bionic",
Expand Down
2 changes: 2 additions & 0 deletions data/json/itemgroups/Monsters_Animals_Lairs/harvest_cbm.json
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@
{
"distribution": [
{ "item": "bio_tools", "prob": 15 },
{ "item": "bio_electrokit", "prob": 15 },
{ "item": "bio_magnet", "prob": 15 },
{ "item": "bio_soporific", "prob": 20 },
{ "item": "bio_sunglasses", "prob": 25 },
Expand Down Expand Up @@ -160,6 +161,7 @@
[ "bio_radscrubber", 20 ],
[ "bio_recycler", 20 ],
[ "bio_tools", 30 ],
[ "bio_electrokit", 20 ],
[ "bio_ar", 30 ],
[ "bio_taste_blocker", 50 ],
[ "bio_water_extractor", 40 ]
Expand Down
4 changes: 4 additions & 0 deletions data/json/itemgroups/bionics.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@
[ "bio_fuel_cell_gasoline", 10 ],
[ "bio_lampoil", 10 ],
[ "bio_tools", 10 ],
[ "bio_multimeter", 10 ],
[ "bio_electrokit", 10 ],
[ "bio_ups", 10 ],
[ "bio_flashlight", 10 ],
[ "bio_tattoo_led", 10 ],
Expand Down Expand Up @@ -105,6 +107,8 @@
"items": [
[ "bio_power_storage", 10 ],
[ "bio_tools", 10 ],
[ "bio_multimeter", 10 ],
[ "bio_electrokit", 10 ],
[ "bio_flashlight", 10 ],
[ "bio_fuel_cell_gasoline", 10 ],
[ "bio_lampoil", 10 ],
Expand Down
22 changes: 22 additions & 0 deletions data/json/items/bionics.json
Original file line number Diff line number Diff line change
Expand Up @@ -1017,6 +1017,28 @@
"price_postapoc": "50 USD",
"difficulty": 6
},
{
"id": "bio_multimeter",
"copy-from": "bionic_general_npc_usable",
"type": "BIONIC_ITEM",
"name": { "str": "Integrated Multimeter CBM" },
"looks_like": "bio_tools",
"description": "A set of electrical leads to be embedded in the user's fingers, connected to a multimeter unit in their hand. Allows the user to measure voltage, resistance, and current using their fingertips, and provides slight protection against electric shocks.",
"price": "2 kUSD",
"price_postapoc": "20 USD",
"difficulty": 3
},
{
"id": "bio_electrokit",
"copy-from": "bionic_general_npc_usable",
"type": "BIONIC_ITEM",
"name": { "str": "Integrated Circuitry Toolset CBM" },
"looks_like": "bio_tools",
"description": "A soldering iron, multimeter, and set of fine screwdrivers implanted in the user's hands. Contains all the tools required for manipulating bench-scale electrical circuits, and provides slight protection against electric shocks.",
"price": "4 kUSD",
"price_postapoc": "35 USD",
"difficulty": 5
},
{
"id": "bio_torsionratchet",
"copy-from": "bionic_general_npc_usable",
Expand Down
72 changes: 72 additions & 0 deletions data/json/items/tool/integrated.json
Original file line number Diff line number Diff line change
Expand Up @@ -218,5 +218,77 @@
"charges_per_use": 20,
"charged_qualities": [ [ "WELD", 2 ] ],
"melee_damage": { "bash": 2, "cut": -1 }
},
{
"id": "integrated_multimeter",
"type": "TOOL_ARMOR",
"category": "armor",
"weight": "50 g",
"volume": "25 ml",
"price": "0 cent",
"price_postapoc": "0 cent",
"symbol": ",",
"color": "brown",
"warmth": 0,
"environmental_protection": 0,
"material_thickness": 0.5,
"flags": [
"INTEGRATED",
"UNBREAKABLE",
"PERSONAL",
"WATER_FRIENDLY",
"SOFT",
"NO_REPAIR",
"ALLOWS_NATURAL_ATTACKS",
"TRADER_AVOID",
"USES_BIONIC_POWER"
],
"material": [ "superalloy", "copper" ],
"name": { "str_sp": "integrated multimeter" },
"description": "Integrated bionic multimeter implanted in your fingers.",
"to_hit": -1,
"use_action": [ { "type": "VOLTMETER" } ]
},
{
"id": "integrated_electrokit",
"type": "TOOL_ARMOR",
"category": "armor",
"weight": "50 g",
"volume": "25 ml",
"price": "0 cent",
"price_postapoc": "0 cent",
"symbol": ",",
"color": "brown",
"warmth": 0,
"environmental_protection": 0,
"material_thickness": 0.5,
"flags": [
"INTEGRATED",
"UNBREAKABLE",
"PERSONAL",
"WATER_FRIENDLY",
"SOFT",
"NO_REPAIR",
"ALLOWS_NATURAL_ATTACKS",
"TRADER_AVOID",
"USES_BIONIC_POWER"
],
"material": [ "superalloy", "copper" ],
"name": { "str_sp": "integrated soldering iron" },
"description": "Integrated soldering iron and screwdriver set.",
"to_hit": -1,
"use_action": [
{
"type": "repair_item",
"item_action_type": "repair_metal",
"materials": [ "plastic", "lead", "tin", "zinc" ],
"skill": "fabrication",
"cost_scaling": 0.1,
"move_cost": 1500
}
],
"ammo": [ "battery" ],
"charges_per_use": 1,
"qualities": [ [ "SCREW", 1 ], [ "SCREW_FINE", 1 ] ]
}
]
2 changes: 2 additions & 0 deletions data/json/npcs/exodii/exodii_merchant_itemlist.json
Original file line number Diff line number Diff line change
Expand Up @@ -222,6 +222,7 @@
"//": "These CBMs should be available in the Exodii store after at least 2 weeks.",
"items": [
[ "bio_tools", 10 ],
[ "bio_electrokit", 10 ],
[ "bio_ethanol", 10 ],
[ "bio_eye_optic", 10 ],
[ "bio_remote", 10 ],
Expand Down Expand Up @@ -317,6 +318,7 @@
[ "bio_syringe", 10 ],
[ "bio_flashlight", 10 ],
[ "bio_lighter", 10 ],
[ "bio_multimeter", 5 ],
[ "bio_magnet", 5 ],
[ "bio_fingerhack", 2 ],
[ "bio_geiger", 5 ]
Expand Down
9 changes: 8 additions & 1 deletion data/json/recipes/appliances/oven.json
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,14 @@
{ "proficiency": "prof_elec_circuits", "skill_penalty": 0 }
],
"qualities": [ { "id": "SCREW", "level": 1 } ],
"tools": [ [ [ "soldering_iron", -1 ], [ "soldering_iron_portable", -1 ], [ "integrated_welder", -1 ] ] ],
"tools": [
[
[ "soldering_iron", -1 ],
[ "soldering_iron_portable", -1 ],
[ "integrated_electrokit", -1 ],
[ "integrated_welder", -1 ]
]
],
"components": [
[ [ "plastic_chunk", 4 ] ],
[ [ "sheet_metal_small", 1 ] ],
Expand Down
5 changes: 5 additions & 0 deletions data/json/recipes/armor/head.json
Original file line number Diff line number Diff line change
Expand Up @@ -2035,6 +2035,7 @@
[ "welder_crude", 84 ],
[ "soldering_iron", 84 ],
[ "soldering_iron_portable", 84 ],
[ "integrated_electrokit", 84 ],
[ "integrated_welder", 84 ]
]
],
Expand Down Expand Up @@ -2068,6 +2069,7 @@
[ "welder_crude", 84 ],
[ "soldering_iron", 84 ],
[ "soldering_iron_portable", 84 ],
[ "integrated_electrokit", 84 ],
[ "integrated_welder", 84 ]
]
],
Expand Down Expand Up @@ -2102,6 +2104,7 @@
[ "welder_crude", 84 ],
[ "soldering_iron", 84 ],
[ "soldering_iron_portable", 84 ],
[ "integrated_electrokit", 84 ],
[ "integrated_welder", 84 ]
]
],
Expand Down Expand Up @@ -2132,6 +2135,7 @@
[ "welder_crude", 84 ],
[ "soldering_iron", 84 ],
[ "soldering_iron_portable", 84 ],
[ "integrated_electrokit", 84 ],
[ "integrated_welder", 84 ]
]
],
Expand Down Expand Up @@ -2167,6 +2171,7 @@
[ "welder_crude", 84 ],
[ "soldering_iron", 84 ],
[ "soldering_iron_portable", 84 ],
[ "integrated_electrokit", 84 ],
[ "integrated_welder", 84 ]
]
],
Expand Down
3 changes: 3 additions & 0 deletions data/json/recipes/armor/suit.json
Original file line number Diff line number Diff line change
Expand Up @@ -1822,6 +1822,7 @@
[ "welder_crude", 97 ],
[ "soldering_iron", 97 ],
[ "soldering_iron_portable", 97 ],
[ "integrated_electrokit", 97 ],
[ "integrated_welder", 97 ]
],
[ [ "swage", -1 ] ],
Expand Down Expand Up @@ -1851,6 +1852,7 @@
[ "welder_crude", 72 ],
[ "soldering_iron", 72 ],
[ "soldering_iron_portable", 72 ],
[ "integrated_electrokit", 72 ],
[ "integrated_welder", 72 ]
],
[ [ "swage", -1 ] ],
Expand Down Expand Up @@ -1880,6 +1882,7 @@
[ "welder_crude", 109 ],
[ "soldering_iron", 109 ],
[ "soldering_iron_portable", 109 ],
[ "integrated_electrokit", 109 ],
[ "integrated_welder", 109 ]
],
[ [ "swage", -1 ] ],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,11 @@
"time": "1 d",
"skills": [ [ "electronics", 8 ] ],
"inline": {
"tools": [ [ [ "hazmat_suit", -1 ] ], [ [ "mask_gas", 50 ] ], [ [ "soldering_iron", 50 ], [ "soldering_iron_portable", 50 ] ] ],
"tools": [
[ [ "hazmat_suit", -1 ] ],
[ [ "mask_gas", 50 ] ],
[ [ "soldering_iron", 50 ], [ "soldering_iron_portable", 50 ], [ "integrated_electrokit", 50 ] ]
],
"qualities": [ [ { "id": "SCREW" } ], [ { "id": "SCREW_FINE" } ], [ { "id": "WRENCH" } ], [ { "id": "WRENCH_FINE" } ] ],
"components": [
[ [ "solder_wire", 50 ] ],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,11 @@
"time": "1 d",
"skills": [ [ "electronics", 8 ] ],
"inline": {
"tools": [ [ [ "hazmat_suit", -1 ] ], [ [ "mask_gas", 50 ] ], [ [ "soldering_iron", 50 ], [ "soldering_iron_portable", 50 ] ] ],
"tools": [
[ [ "hazmat_suit", -1 ] ],
[ [ "mask_gas", 50 ] ],
[ [ "soldering_iron", 50 ], [ "soldering_iron_portable", 50 ], [ "integrated_electrokit", 50 ] ]
],
"qualities": [ [ { "id": "SCREW" } ], [ { "id": "SCREW_FINE" } ], [ { "id": "WRENCH" } ], [ { "id": "WRENCH_FINE" } ] ],
"components": [
[ [ "solder_wire", 50 ] ],
Expand Down
6 changes: 3 additions & 3 deletions data/json/recipes/practice/electronics.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
"book_learn": [ [ "mag_electronics", 1 ], [ "manual_electronics", 1 ], [ "advanced_electronics", 2 ], [ "textbook_electronics", 3 ] ],
"//": "Some parts are listed as tools so they are not destroyed during crafting, while the components are consumed.",
"tools": [
[ [ "voltmeter", 5 ], [ "multimeter", 5 ] ],
[ [ "voltmeter", 5 ], [ "multimeter", 5 ], [ "integrated_multimeter", 5 ] ],
[ [ "antenna", -1 ], [ "circuit", -1 ], [ "element", -1 ], [ "light_bulb", -1 ], [ "motor_micro", -1 ] ]
],
"components": [ [ [ "cable", 10 ] ], [ [ "e_scrap", 5 ] ] ],
Expand All @@ -55,7 +55,7 @@
],
"book_learn": [ [ "manual_electronics", 1 ], [ "advanced_electronics", 2 ], [ "textbook_electronics", 3 ] ],
"tools": [
[ [ "multimeter", 50 ] ],
[ [ "multimeter", 50 ], [ "integrated_multimeter", 50 ] ],
[ [ "breadboard", -1 ] ],
[ [ "power_supply", -1 ] ],
[ [ "amplifier", -1 ], [ "element", -1 ], [ "receiver", -1 ], [ "transponder", -1 ] ]
Expand All @@ -82,7 +82,7 @@
],
"book_learn": [ [ "advanced_electronics", 4 ], [ "textbook_electronics", 4 ], [ "ic_reference_electronics", 3 ] ],
"tools": [
[ [ "multimeter", 100 ] ],
[ [ "multimeter", 100 ], [ "integrated_multimeter", 100 ] ],
[ [ "breadboard", -1 ] ],
[ [ "power_supply", -1 ] ],
[ [ "processor", -1 ] ],
Expand Down
7 changes: 6 additions & 1 deletion data/json/recipes/recipe_others.json
Original file line number Diff line number Diff line change
Expand Up @@ -1221,6 +1221,7 @@
[ "integrated_welder", 300 ],
[ "soldering_iron", 300 ],
[ "soldering_iron_portable", 300 ],
[ "integrated_electrokit", 300 ],
[ "oxy_torch", 40 ]
]
],
Expand Down Expand Up @@ -1397,6 +1398,7 @@
[ "integrated_welder", 150 ],
[ "soldering_iron", 150 ],
[ "soldering_iron_portable", 150 ],
[ "integrated_electrokit", 150 ],
[ "oxy_torch", 20 ]
]
],
Expand Down Expand Up @@ -1436,6 +1438,7 @@
[ "integrated_welder", 75 ],
[ "soldering_iron", 75 ],
[ "soldering_iron_portable", 75 ],
[ "integrated_electrokit", 75 ],
[ "oxy_torch", 10 ]
]
],
Expand Down Expand Up @@ -1600,6 +1603,7 @@
[ "integrated_welder", 225 ],
[ "soldering_iron", 225 ],
[ "soldering_iron_portable", 225 ],
[ "integrated_electrokit", 225 ],
[ "oxy_torch", 30 ]
]
],
Expand Down Expand Up @@ -1770,7 +1774,8 @@
[ "welder_crude", 150 ],
[ "integrated_welder", 150 ],
[ "soldering_iron", 150 ],
[ "soldering_iron_portable", 150 ]
[ "soldering_iron_portable", 150 ],
[ "integrated_electrokit", 150 ]
]
],
"components": [ [ [ "steel_chunk", 6 ], [ "scrap", 18 ] ], [ [ "pipe", 2 ] ] ]
Expand Down
3 changes: 2 additions & 1 deletion data/json/recipes/weapon/explosive.json
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,8 @@
[ "welder_crude", 30 ],
[ "integrated_welder", 30 ],
[ "soldering_iron", 30 ],
[ "soldering_iron_portable", 30 ]
[ "soldering_iron_portable", 30 ],
[ "integrated_electrokit", 30 ]
]
],
"components": [
Expand Down
1 change: 1 addition & 0 deletions data/json/requirements/toolsets.json
Original file line number Diff line number Diff line change
Expand Up @@ -249,6 +249,7 @@
"tools": [
[
[ "soldering_iron", 1 ],
[ "integrated_electrokit", 1 ],
[ "soldering_iron_portable", 1 ],
[ "integrated_welder", 1 ],
[ "small_repairkit", 1 ],
Expand Down
Loading

0 comments on commit 459ec63

Please sign in to comment.