Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Aftershock] Add small Enforcer Station #74471

Merged
merged 15 commits into from
Jun 18, 2024
Merged
Show file tree
Hide file tree
Changes from 7 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 16 additions & 4 deletions data/mods/Aftershock/EOC/hacking_eoc.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,14 +28,20 @@
{
"type": "effect_on_condition",
"id": "EOC_afs_hack_unlock",
"condition": { "and": [ { "expects_vars": [ "furn_pos", "difficulty" ] }, { "u_has_effect": "afs_hack_done" } ] },
"condition": { "and": [ { "expects_vars": [ "furn_pos", "difficulty", "t_radius" ] }, { "u_has_effect": "afs_hack_done" } ] },
"effect": [
{
"run_eocs": [
{
"id": "_EOC_afs_hack_unlock",
"condition": { "roll_contested": { "math": [ "afs_hack_skill(1)" ] }, "die_size": 4, "difficulty": { "context_val": "difficulty" } },
"effect": [ { "u_transform_radius": 0, "ter_furn_transform": "afs_multi_unlock", "target_var": { "context_val": "furn_pos" } } ],
"effect": [
{
"u_transform_radius": { "context_val": "t_radius" },
"ter_furn_transform": "afs_multi_unlock",
"target_var": { "context_val": "furn_pos" }
}
],
"false_effect": { "u_message": "You fail to override the device." }
}
]
Expand All @@ -45,15 +51,21 @@
{
"type": "effect_on_condition",
"id": "EOC_start_lock_hack",
"condition": { "and": [ { "expects_vars": [ "furn_pos", "t_delay", "difficulty" ] }, { "test_eoc": "EOC_CONDITION_can_hack" } ] },
"condition": {
"and": [ { "expects_vars": [ "furn_pos", "t_delay", "difficulty", "t_radius" ] }, { "test_eoc": "EOC_CONDITION_can_hack" } ]
},
"effect": [
{ "math": [ "_t_delay", "=", "afs_hack_time_adjust(_t_delay, time('20s'), time('2m'))" ] },
{ "u_message": "You connect to the lock controller." },
{ "u_assign_activity": "ACT_afs_hack", "duration": { "context_val": "t_delay" } },
{
"queue_eoc_with": "EOC_afs_hack_unlock",
"time_in_future": { "context_val": "t_delay" },
"variables": { "furn_pos": { "context_val": "furn_pos" }, "difficulty": { "context_val": "difficulty" } }
"variables": {
"furn_pos": { "context_val": "furn_pos" },
"difficulty": { "context_val": "difficulty" },
"t_radius": { "context_val": "t_radius" }
}
}
],
"false_effect": { "u_message": "You need either an electrohack or working computer to attempt a hack.", "popup": true }
Expand Down
5 changes: 5 additions & 0 deletions data/mods/Aftershock/flags.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,11 @@
"type": "json_flag",
"info": "This item is an access card for ancient industrial locations."
},
{
"id": "OLD_ENFORCER_CARD",
"type": "json_flag",
"info": "This item is an access card for ancient police locations."
},
{
"id": "HEAVY_TOOL",
"type": "json_flag"
Expand Down
7 changes: 7 additions & 0 deletions data/mods/Aftershock/itemgroups/clothing/armor_sets.json
Original file line number Diff line number Diff line change
Expand Up @@ -79,5 +79,12 @@
{ "item": "armguard_scrap", "prob": 40 },
{ "item": "cuirass_lightplate", "prob": 90 }
]
},
{
"type": "item_group",
"id": "afs_police_armor",
"//": "If specific aftershock police armor is added please add to this group. Until then it refers to civilian armors.",
"subtype": "collection",
"entries": [ { "group": "afs_armor_spaceship_crew_g", "prob": 60 }, { "group": "civilian_body_armor", "prob": 40 } ]
}
]
7 changes: 7 additions & 0 deletions data/mods/Aftershock/itemgroups/clothing/winter_outfits.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,13 @@
"subtype": "distribution",
"items": [ { "group": "afs_frontier_cryo_g", "prob": 20 }, { "group": "afs_cryopod_g", "prob": 1 } ]
},
{
"//": "A group for any police-flavour advanced civilian piece of clothing",
"id": "afs_wintersuit_police_advanced",
"type": "item_group",
"subtype": "distribution",
"items": [ { "group": "afs_magellan_g", "prob": 2 } ]
},
{
"//": "A group for any science-flavour advanced civilian piece of clothing",
"id": "afs_wintersuit_science_advanced",
Expand Down
7 changes: 7 additions & 0 deletions data/mods/Aftershock/itemgroups/item_groups.json
Original file line number Diff line number Diff line change
Expand Up @@ -592,5 +592,12 @@
"type": "item_group",
"subtype": "distribution",
"entries": [ { "item": "afs_glass_device" }, { "item": "afs_glass_AR_device" } ]
},
{
"id": "afs_police_evidence_locker",
"type": "item_group",
"subtype": "distribution",
"//": "Refers directly to the existing evidence group but we can add whatever we want to layer on top of that.",
"entries": [ { "group": "cop_evidence" } ]
}
]
14 changes: 14 additions & 0 deletions data/mods/Aftershock/itemgroups/robot_storage.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,19 @@
"//": "Small Consumer and commercial grade robots that can (probably) fit in the reinforced display cases.",
"subtype": "distribution",
"items": [ [ "bot_light_hack", 20 ], [ "bot_skitterbot_rat", 10 ], [ "bot_eyebot_heater", 5 ], [ "bot_skitterbot_hunter", 5 ] ]
},
{
"id": "afs_police_bot_storage",
"type": "item_group",
"//": "TODO: Apparently these items are all being migrated currently. Police Robots found in enforcer stations and departments.",
"subtype": "distribution",
"items": [
[ "afs_bot_riotbot", 5 ],
[ "afs_bot_copbot", 15 ],
[ "afs_bot_eyebot", 20 ],
[ "afs_broken_riotbot", 10 ],
[ "afs_broken_copbot", 70 ],
[ "afs_broken_eyebot", 100 ]
]
}
]
7 changes: 7 additions & 0 deletions data/mods/Aftershock/itemgroups/tool_groups.json
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,13 @@
{ "item": "afs_wrist_computer", "prob": 20 }
]
},
{
"type": "item_group",
"id": "afs_police_hacker_gear",
"//": "specialized tools used specifcally by cyber security specialists. Currently difers to the programming group but if advanced hacking tools get made they should be placed here.",
"subtype": "collection",
"items": [ { "group": "afs_tools_programing", "prob": 60 }, { "group": "afs_consumer_vr", "prob": 20 } ]
},
{
"type": "item_group",
"id": "afs_tools_agricultural_hazardous",
Expand Down
12 changes: 12 additions & 0 deletions data/mods/Aftershock/itemgroups/weapons/armories.json
Original file line number Diff line number Diff line change
Expand Up @@ -107,5 +107,17 @@
[ "afs_gibs_shotgun", 20 ],
[ "afs_raketa_shotgun", 20 ]
]
},
{
"id": "afs_police_armory",
"type": "item_group",
"subtype": "distribution",
"items": [ { "group": "afs_civilian_armory", "prob": 3 }, { "item": "tazer", "prob": 5 } ]
},
{
"id": "afs_police_anti_robot_armory",
"type": "item_group",
"subtype": "collection",
"items": [ { "group": "afs_swat_emp", "prob": 3 }, { "group": "afs_civilian_laser_mag", "prob": 1 } ]
}
]
Original file line number Diff line number Diff line change
Expand Up @@ -144,5 +144,12 @@
"subtype": "distribution",
"copy-from": "ammo_rifle_common",
"extend": { "items": [ { "group": "afs_any_laser_mag", "prob": 100 }, { "group": "afs_any_plasma_mag", "prob": 50 } ] }
},
{
"type": "item_group",
"id": "afs_swat_emp",
"//": "Anti-Robot weapons for police force",
"subtype": "distribution",
"items": [ [ "afs_xm34", 5 ] ]
}
]
10 changes: 10 additions & 0 deletions data/mods/Aftershock/itemgroups/weapons/grenade_groups.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,15 @@
{ "item": "scrambler", "count": [ 1, 3 ] },
{ "item": "grenade_emp", "count": [ 1, 3 ] }
]
},
{
"id": "afs_anti_robot_grenades",
"type": "item_group",
"subtype": "distribution",
"entries": [
{ "item": "afs_electroshock_grenade_1", "count": [ 1, 3 ] },
{ "item": "scrambler", "count": [ 1, 3 ] },
{ "item": "grenade_emp", "count": [ 1, 3 ] }
]
}
]
8 changes: 4 additions & 4 deletions data/mods/Aftershock/items/corpses.json
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,7 @@
{
"type": "GENERIC",
"id": "broken_eyebot_heater",
"copy-from": "broken_eyebot",
"copy-from": "afs_broken_eyebot",
"color": "pink",
"name": "broken floating heater",
"description": "A broken floating heater, now cold and motionless. Could be stripped down or re-crafted."
Expand Down Expand Up @@ -317,7 +317,7 @@
},
{
"type": "GENERIC",
"id": "broken_eyebot",
"id": "afs_broken_eyebot",
"symbol": ",",
"color": "green",
"name": { "str": "broken eyebot" },
Expand All @@ -334,7 +334,7 @@
},
{
"type": "GENERIC",
"id": "broken_copbot",
"id": "afs_broken_copbot",
"symbol": ",",
"color": "green",
"name": { "str": "broken police bot" },
Expand All @@ -351,7 +351,7 @@
},
{
"type": "GENERIC",
"id": "broken_riotbot",
"id": "afs_broken_riotbot",
"symbol": ",",
"color": "green",
"name": { "str": "broken riot control bot" },
Expand Down
16 changes: 16 additions & 0 deletions data/mods/Aftershock/items/id_cards.json
Original file line number Diff line number Diff line change
Expand Up @@ -76,5 +76,21 @@
"volume": "5 ml",
"category": "keys",
"to_hit": -3
},
{
"type": "GENERIC",
"id": "enforcer_master_keycard",
"symbol": ",",
"color": "blue",
"name": { "str": "Enforcer master key" },
"description": "Issued only to the highest echelons of Mercurial corporate security, these cards provide unfettered access to all enforcer prefab facilites built before the year 2152. A lucrative find for any salvor on Salus IV.",
"price": "8 kUSD",
"flags": [ "OLD_ENFORCER_CARD" ],
"price_postapoc": "8 kUSD",
"material": [ "plastic" ],
"weight": "6 g",
"volume": "5 ml",
"category": "keys",
"to_hit": -3
}
]
14 changes: 7 additions & 7 deletions data/mods/Aftershock/items/inactiverobot.json
Original file line number Diff line number Diff line change
Expand Up @@ -472,7 +472,7 @@
"abstract": "bot_eyebot_base",
"type": "TOOL",
"name": "inactive eyebot",
"looks_like": "broken_eyebot",
"looks_like": "afs_broken_eyebot",
"price": "100 USD",
"price_postapoc": "100 USD",
"material": [ "steel", "plastic" ],
Expand Down Expand Up @@ -525,8 +525,8 @@
"melee_damage": { "bash": 8 }
},
{
"id": "bot_eyebot",
"looks_like": "broken_eyebot",
"id": "afs_bot_eyebot",
"looks_like": "afs_broken_eyebot",
"type": "TOOL",
"name": { "str": "inactive eyebot" },
"description": "An inactive eyebot. Using this item involves turning it on and launching the UAV. If reprogrammed and rewired successfully, the eyebot will then keep watch for intruders.",
Expand All @@ -552,8 +552,8 @@
"melee_damage": { "bash": 8 }
},
{
"id": "bot_copbot",
"looks_like": "broken_copbot",
"id": "afs_bot_copbot",
"looks_like": "afs_broken_copbot",
"type": "TOOL",
"name": { "str": "inactive police bot" },
"description": "An inactive police robot. Using this item involves placing it on the ground and turning it on. If reprogrammed and rewired successfully, the police bot will then identify you as law enforcement, roam around or follow you, and attempt to detain lawbreakers.",
Expand All @@ -579,8 +579,8 @@
"melee_damage": { "bash": 8 }
},
{
"id": "bot_riotbot",
"looks_like": "broken_riotbot",
"id": "afs_bot_riotbot",
"looks_like": "afs_broken_riotbot",
"type": "TOOL",
"name": { "str": "inactive riot control bot" },
"description": "An inactive riot control bot. Using this item involves placing it on the ground and turning it on. If reprogrammed and rewired successfully, the robot will bring order and peace to the horde.",
Expand Down
10 changes: 10 additions & 0 deletions data/mods/Aftershock/maps/city_buildings.json
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,16 @@
],
"locations": [ "land" ]
},
{
"id": "afs_enforcer_station_1",
"type": "city_building",
"overmaps": [
{ "point": [ 0, 0, 0 ], "overmap": "afs_enforcer_station_a1_south" },
{ "point": [ 0, 0, 1 ], "overmap": "afs_enforcer_station_a1_floor2_south" },
{ "point": [ 0, 0, 2 ], "overmap": "afs_enforcer_station_a1_roof_south" }
],
"locations": [ "land" ]
},
{
"id": "afs_habitat_block_1",
"type": "city_building",
Expand Down
Loading
Loading