Skip to content

Commit

Permalink
Augustmoon tool trader (#74961)
Browse files Browse the repository at this point in the history
* Augustmoon tool trader

* Double space
  • Loading branch information
John-Candlebury authored Jul 11, 2024
1 parent d540791 commit e418d44
Show file tree
Hide file tree
Showing 9 changed files with 260 additions and 24 deletions.
1 change: 1 addition & 0 deletions data/mods/Aftershock/EOC/_reusable_conditions.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
{
"or": [
{ "u_has_item": "electrohack" },
{ "u_has_item": "afs_wrist_computer" },
{ "u_has_item": "electrokinetic_electrohack_1" },
{ "u_has_item": "electrokinetic_electrohack_2" },
{ "u_has_item": "electrokinetic_electrohack_3" },
Expand Down
32 changes: 26 additions & 6 deletions data/mods/Aftershock/itemgroups/tool_groups.json
Original file line number Diff line number Diff line change
Expand Up @@ -43,10 +43,15 @@
{ "group": "afs_tools_electric_repair", "prob": 10 },
{ "group": "afs_tools_welding", "prob": 5 },
[ "vac_mold", 5 ],
{ "group": "tools_toolbox", "prob": 5 },
{ "group": "tools_lighting_industrial", "prob": 5 }
{ "group": "tools_toolbox", "prob": 5 }
]
},
{
"type": "item_group",
"id": "afs_tools_portable_power",
"//": "Solar panels, power banks, RTGs and more.",
"items": [ [ "folding_solar_panel_v2", 20 ], [ "UPS_OFF", 30 ], [ "afs_cRTG", 10 ] ]
},
{
"type": "item_group",
"id": "afs_tools_electric_repair",
Expand All @@ -64,7 +69,7 @@
{ "item": "gloves_work", "prob": 10 },
{ "group": "ammo_any_batteries_full", "prob": 20 },
{ "group": "tools_lighting_industrial", "prob": 10 },
{ "item": "UPS_off", "prob": 10, "charges": [ 0, 1000 ] },
{ "item": "UPS_OFF", "prob": 10, "charges": [ 0, 1000 ] },
{ "group": "writing_utensils", "prob": 10 },
{ "item": "soldering_iron", "prob": 30 },
{ "item": "soldering_iron_portable", "prob": 30, "charges": [ 0, 50 ] },
Expand Down Expand Up @@ -133,6 +138,18 @@
[ "goggles_welding", 30 ]
]
},
{
"type": "item_group",
"id": "afs_tools_welding_consumable",
"items": [
{ "item": "welding_rod_steel", "prob": 90, "charges": [ 1000, 1600 ] },
{ "item": "welding_rod_alloy", "prob": 40, "charges": [ 1000, 1600 ] },
{ "item": "welding_wire_steel", "prob": 90, "charges": [ 1000, 1600 ] },
{ "item": "welding_wire_alloy", "prob": 40, "charges": [ 1000, 1600 ] },
{ "item": "brazing_rod_bronze", "prob": 80, "charges": [ 500, 1500 ] },
{ "item": "brazing_rod_alloy", "prob": 30, "charges": [ 400, 1200 ] }
]
},
{
"type": "item_group",
"id": "afs_tools_programing",
Expand Down Expand Up @@ -214,10 +231,13 @@
"collection": [ { "item": "afs_jetpack", "prob": 50 }, { "item": "ammonia_liquid", "prob": 100, "count": [ 1, 2 ] } ],
"prob": 10
},
{ "item": "afs_imager", "prob": 100 },
{ "item": "UPS_off", "prob": 20 },
{ "item": "afs_imager", "prob": 30 },
{ "item": "afs_motion_sensor", "prob": 30 },
{ "item": "UPS_OFF", "prob": 20 },
{ "item": "grapnel", "prob": 20 },
{ "distribution": [ { "item": "geiger_off", "prob": 2 }, { "item": "rad_monitor", "prob": 1 } ], "prob": 10 },
{ "distribution": [ { "item": "scrap_axe", "prob": 5 }, { "item": "boarding_axe", "prob": 1 } ], "prob": 10 },
{ "item": "emf_detector", "prob": 50 },
{ "group": "tools_lighting_industrial", "prob": 100 },
{ "item": "tskbem_master_keycard", "prob": 2 }
]
},
Expand Down
32 changes: 32 additions & 0 deletions data/mods/Aftershock/items/appliances.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,37 @@
"volume": "900 L",
"weight": "50 kg",
"pocket_data": [ { "pocket_type": "CONTAINER", "rigid": true, "max_contains_volume": "450 L", "max_contains_weight": "400 kg" } ]
},
{
"type": "vehicle_part",
"id": "ap_cRTG",
"name": { "str": "U-344 RTG (deployed)" },
"looks_like": "f_reactor",
"categories": [ "energy" ],
"color": "green_white",
"broken_color": "blue",
"location": "fuel_source",
"damage_modifier": 80,
"durability": 400,
"description": "A compact radioisotope thermoelectric generator, complying with UASTA 344 standards. It provides a steady if limited supply of power.",
"epower": "50 W",
"remove_as": "afs_cRTG",
"item": "afs_cRTG",
"requirements": {
"repair": {
"skills": [ [ "mechanics", 7 ] ],
"time": "60 m",
"using": [ [ "repair_welding_standard", 5 ], [ "soldering_standard", 5 ] ]
}
},
"flags": [ "OBSTACLE", "RADIOACTIVE", "APPLIANCE", "PERPETUAL", "REACTOR" ],
"breaks_into": [
{ "item": "scrap", "count": [ 4, 16 ] },
{ "item": "steel_chunk", "count": [ 1, 6 ] },
{ "item": "plutonium", "count": [ 0, 2 ] },
{ "item": "lead", "charges": [ 12, 18 ] }
],
"damage_reduction": { "all": 60 },
"variants": [ { "symbols": "0", "symbols_broken": "#" } ]
}
]
47 changes: 44 additions & 3 deletions data/mods/Aftershock/items/armor.json
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,24 @@
"type": "TOOL_ARMOR",
"category": "armor",
"name": { "str": "IX-2110 computer" },
"description": "The original Imagos IX-2110, a general use wrist computer originally designed to support operations within hazardous environments. Among the most successful pieces of technology ever created, millions of these were produced and sold to the explorers that first tamed the stars during the early Hyperspace Era. By now more than 400 years old, making it boot successfully would be a small adventure all of its own.",
"description": "The original Imagos IX-2110, a general use wrist computer originally designed to support operations within hazardous environments. Among the most successful pieces of technology ever created, millions of these were produced and sold to the explorers that first tamed the stars during the early Hyperspace Era. The slow attrition of technological prowess since the discontinuity has left slightly slower than its modern counterparts.",
"variant_type": "generic",
"variants": [
{
"id": "old",
"name": { "str": "IX-2110 computer" },
"description": "The original Imagos IX-2110, a general use wrist computer originally designed to support operations within hazardous environments. Among the most successful pieces of technology ever created, millions of these were produced and sold to the explorers that first tamed the stars during the early Hyperspace Era. The slow attrition of technological prowess since the discontinuity means its only slightly less capable than its modern counterparts.",
"append": true
},
{
"id": "standard",
"name": { "str": "IX-2330S computer" },
"weight": 0,
"description": "A rugged and radiation shielded wirst computer specifically designed to support salvage operations. It can perform general computing tasks and might be used to interface with most ancient computer systems.",
"color": "dark_gray",
"append": true
}
],
"weight": "315 g",
"volume": "1200 ml",
"price": "20 USD",
Expand All @@ -89,10 +106,34 @@
"symbol": "[",
"color": "light_gray",
"sided": true,
"armor": [ { "encumbrance": 10, "coverage": 45, "covers": [ "arm_l", "arm_r" ] } ],
"armor": [ { "encumbrance": 2, "coverage": 14, "covers": [ "arm_l", "arm_r" ] } ],
"warmth": 10,
"material_thickness": 2,
"flags": [ "BELTED", "STURDY", "WATER_FRIENDLY" ]
"flags": [ "WATCH", "BELTED", "STURDY", "WATER_FRIENDLY" ],
"ammo": [ "battery" ],
"charges_per_use": 1,
"use_action": [
"EINKTABLETPC",
"EBOOKREAD",
"ELECTRICSTORAGE",
"PORTABLE_GAME",
{ "type": "link_up", "cable_length": 5, "charge_rate": "140 W" }
],
"pocket_data": [
{
"pocket_type": "MAGAZINE_WELL",
"rigid": true,
"flag_restriction": [ "BATTERY_MEDIUM" ],
"default_magazine": "medium_battery_cell"
},
{
"pocket_type": "EBOOK",
"rigid": true,
"max_contains_volume": "1 ml",
"max_contains_weight": "1 g",
"weight_multiplier": 0.0
}
]
},
{
"id": "xl_jeans",
Expand Down
4 changes: 2 additions & 2 deletions data/mods/Aftershock/items/armor/jetpacks.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
"description": "A back mounted rocket pack, its well worn superalloy nozzles seem to suggest great age. Units like this one are rarely used by elite military forces and by scavenger-explorers hoping to find high value salvage. Not powerful enough to enable true flight within a gravity well, but it may still be used to perform short jumps and air-dashes.",
"weight": "4350 g",
"volume": "15 L",
"price": "39 USD",
"price_postapoc": "5 USD",
"price": "50 kUSD",
"price_postapoc": "50 kUSD",
"material": [ "steel", "superalloy" ],
"symbol": "[",
"looks_like": "rpg",
Expand Down
21 changes: 21 additions & 0 deletions data/mods/Aftershock/items/tools.json
Original file line number Diff line number Diff line change
Expand Up @@ -378,6 +378,8 @@
"description": "This is a unified power supply, or UPS. It is a device developed jointly by military and scientific interests for use in combat and the field. The UPS is designed to power armor and some guns, but drains batteries quickly. It can be worn strapped to either leg for ease of access, and it's been waterproofed to protect the delicate electronics. Has its own custom battery, rechargeable and with higher capacity, but not removable",
"ammo": [ "battery" ],
"sided": true,
"price": "1300 USD",
"price_postapoc": "1300 USD",
"pocket_data": [ { "pocket_type": "MAGAZINE", "rigid": true, "ammo_restriction": { "battery": 1500 } } ],
"flags": [ "RECHARGE", "BELTED", "NO_UNLOAD", "NO_RELOAD", "FRAGILE", "OVERSIZE", "WATERPROOF", "IS_UPS" ],
"material": [ "aluminum", "plastic" ],
Expand Down Expand Up @@ -605,6 +607,25 @@
"flags": [ "ALLOWS_REMOTE_USE" ],
"melee_damage": { "bash": 9 }
},
{
"type": "GENERIC",
"copy-from": "folding_solar_panel",
"id": "afs_cRTG",
"name": { "str": "U-344 RTG" },
"description": "A compact power source that employs the decay of transuranic elements to generate a small but constant amount of electricity and is commonly used in remote locations to power up equipment. Must be integrated into a power grid before use.",
"weight": "17500 g",
"volume": "2 L",
"longest_side": "30 cm",
"color": "light_green",
"symbol": "]",
"material": [ "lead", "steel" ],
"use_action": { "type": "deploy_appliance", "base": "afs_cRTG" },
"extend": { "flags": [ "RECHARGE", "NO_UNLOAD", "NO_RELOAD", "WATERPROOF", "LEAK_DAM", "RADIOACTIVE" ] },
"pocket_data": [ { "pocket_type": "MAGAZINE", "rigid": true, "ammo_restriction": { "battery": 1000 } } ],
"relic_data": { "charge_info": { "regenerate_ammo": true, "recharge_type": "periodic", "time": "5 m" } },
"price": "5600 USD",
"price_postapoc": "5600 USD"
},
{
"id": "syringe",
"type": "TOOL",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,17 +34,17 @@
".|1111= ||::|::||||",
".|1111=ò| |Ñ|566|665||.",
"|||||||||]]|||666|666||.",
"|qqq ], ,||||||||||.",
"| ,, ] %||ÑÑÑ = ||",
"| jj| Í| ]_ = Ï=",
"| jh|==||,, ]_ = Ï=",
"| j |,ík| =|| ,, =ïÏ=",
"| | l| 1| ,, = Ï=",
"||=]|:||!|| =|| = Ï=",
"| ,,|, |,!ú,, 1| = ||",
"||23||||||| |||| ||||.",
".||||,sss,] |ÑÑ ,, ÑÑ|.",
".|= ] |Ñ, ,Ñ|.",
"|ë,= ], ,||||||||||.",
"|ëË= ] %||ÑÑÑ = ||",
"||== | Í| ]_ = Ï=",
"| ,|==||,, ]_ = Ï=",
"| ,|,ík| =|| ,, =ïÏ=",
"|| | l| 1| ,, = Ï=",
"|, ,||!|| =|| = Ï=",
"|23|23|.,!ú,, 1| = ||",
"||||||||||| |||| ||||.",
".| |,sss,] |ÑÑ ,, ÑÑ|.",
".|= ] |Ñ, ,Ñ|.",
".|, = ||||||| ||||",
".| ||!!||Ñ|..|, ,, ,|.",
".|!|0 0|||..| ==== ||",
Expand Down Expand Up @@ -90,19 +90,22 @@
"Ï": "f_rack",
"é": "f_bookcase",
"Ó": "f_rack",
"ë": "f_rack",
"Á": "f_screenmirror_working",
"8": "f_autodoc_couch",
"Ñ": "f_vending_reinforced",
"á": "f_neuralnet_inserter"
},
"items": {
"Ï": { "item": "afs_civilian_armory", "chance": 100, "repeat": [ 3, 4 ] },
"ë": { "item": "afs_augustmoon_tool_trader", "chance": 100, "repeat": [ 10, 24 ] },
"ä": { "item": "afs_augustmoon_outfitter", "chance": 100, "repeat": [ 3, 4 ] }
},
"npcs": {
"í": { "class": "augustmoon_shipping_chief" },
"ï": { "class": "augustmoon_gun_trader" },
"Ä": { "class": "augustmoon_outfitter" },
"Ë": { "class": "augustmoon_tool_trader" },
"ó": { "class": "augustmoon_doctor" },
"ú": { "class": "augustmoon_security" }
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,9 @@
"id": "afs_augustmoon_guntrader_military",
"subtype": "collection",
"items": [
{ "group": "afs_augustmoon_guntrader_military_gun", "count": [ 0, 2 ] },
{ "group": "afs_augustmoon_guntrader_military_ammo", "count": [ 0, 2 ] },
{ "group": "afs_augustmoon_guntrader_military_gun", "count": [ 1, 2 ] },
{ "group": "afs_augustmoon_guntrader_military_ammo", "count": [ 4, 12 ] },
{ "item": "UPS_OFF", "charges": 1000 },
{ "group": "afs_any_hand_grenade", "count": [ 4, 8 ] }
]
},
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
[
{
"type": "npc_class",
"id": "NC_AUGUSTMOON_TOOL_TRADER",
"name": { "str": "gadget store clerk" },
"job_description": "Outfitter Clerk",
"common": false,
"traits": [ { "group": "BG_survival_story_POLICE" }, { "group": "NPC_starting_traits" }, { "group": "Appearance_demographics" } ],
"bonus_str": { "rng": [ 0, 1 ] },
"bonus_dex": { "rng": [ 0, 2 ] },
"bonus_int": { "rng": [ -2, 0 ] },
"bonus_per": { "rng": [ 0, 2 ] },
"worn_override": "NC_AUGUSTMOON_TOOL_TRADER_worn",
"carry_override": "EMPTY_GROUP",
"weapon_override": "EMPTY_GROUP",
"skills": [ { "skill": "ALL", "level": { "sum": [ { "dice": [ 3, 2 ] }, { "constant": -3 } ] } } ],
"shopkeeper_item_group": [ { "group": "afs_augustmoon_tool_trader", "rigid": true }, { "group": "augustmoon_shop_money", "rigid": true } ],
"shopkeeper_price_rules": [
{ "group": "afs_augustmoon_batteries_disposable", "markup": 10 },
{ "group": "afs_augustmoon_batteries_rechargeable", "markup": 20 },
{ "group": "afs_augustmoon_tools_premium", "markup": 3 }
]
},
{
"type": "item_group",
"id": "afs_augustmoon_tool_trader",
"ammo": 100,
"magazine": 100,
"subtype": "collection",
"items": [
{ "group": "afs_tools_electric_repair", "count": [ 1, 3 ] },
{ "group": "afs_tools_robot_maintenance", "count": [ 1, 3 ] },
{ "group": "afs_tools_portable_power", "count": [ 1, 2 ] },
{ "group": "afs_tools_structural_repair", "count": [ 1, 3 ] },
{ "group": "afs_tools_programing", "count": [ 1, 1 ] },
{ "group": "afs_tools_scavenging", "count": [ 6, 12 ] },
{ "group": "afs_tools_pocket", "count": [ 5, 10 ] },
{ "item": "afs_40g_plasma_civ", "count": [ 2, 5 ] },
{ "group": "afs_tools_welding_consumable", "count": [ 6, 8 ] },
{ "group": "afs_augustmoon_batteries_disposable", "count": [ 5, 10 ] },
{ "group": "afs_augustmoon_batteries_rechargeable", "count": [ 2, 3 ], "prob": 20 }
]
},
{
"type": "item_group",
"id": "NC_AUGUSTMOON_TOOL_TRADER_worn",
"subtype": "collection",
"items": [
{ "item": "legpouch_large" },
{ "item": "afs_hazard_suit_casual" },
{ "item": "boots_combat" },
{ "item": "under_armor" },
{ "item": "under_armor_shorts" }
]
},
{
"id": "afs_augustmoon_batteries_disposable",
"type": "item_group",
"subtype": "distribution",
"ammo": 100,
"magazine": 100,
"items": [
[ "heavy_disposable_cell", 1 ],
[ "medium_disposable_cell", 2 ],
[ "light_disposable_cell", 4 ],
[ "light_minus_disposable_cell", 1 ]
]
},
{
"id": "afs_augustmoon_batteries_rechargeable",
"type": "item_group",
"subtype": "distribution",
"ammo": 100,
"magazine": 100,
"items": [
[ "heavy_battery_cell", 2 ],
[ "medium_battery_cell", 1 ],
[ "light_battery_cell", 3 ],
[ "light_minus_battery_cell", 1 ]
]
},
{
"id": "afs_augustmoon_tools_premium",
"type": "item_group",
"subtype": "distribution",
"ammo": 100,
"magazine": 100,
"items": [
[ "electrohack", 20 ],
[ "control_laptop", 20 ],
[ "folding_solar_panel_v2", 20 ],
[ "afs_cRTG", 10 ],
[ "afs_40g_plasma_civ", 20 ],
[ "afs_imager", 20 ],
[ "afs_motion_sensor", 20 ]
]
},
{
"type": "npc",
"id": "augustmoon_tool_trader",
"name_suffix": "gadget store clerk",
"class": "NC_AUGUSTMOON_TOOL_TRADER",
"attitude": 0,
"mission": 3,
"chat": "TALK_AUGUSTMOON_TOOL_TRADER",
"faction": "UICA"
},
{
"id": [ "TALK_AUGUSTMOON_TOOL_TRADER" ],
"type": "talk_topic",
"dynamic_line": "&The store is full of high tech gadgets, both new and salvaged. The clerk behind the counter looks up as you enter, and gives you a nod.",
"responses": [
{ "text": "I'm want to buy some gear.", "topic": "TALK_DONE", "effect": "start_trade" },
{ "text": "Maybe later.", "topic": "TALK_DONE" }
]
}
]

0 comments on commit e418d44

Please sign in to comment.