Files
Bubberstation/code/_globalvars/lists/mapping.dm
Rhials 980ef98e04 New operative reinforcement option: Intelligence Overwatch Agent (#82307)
## About The Pull Request

Introducing a new Nuclear Operative reinforcement option: The Overwatch
Intelligence Agent.

Equipped with multi-hudglasses, they have an advanced camera console,
station alerts, and bodycams of every operative! If something can be
known, they will know about it.

They can also remotely pilot your ship. Finally, everyone can ride in
the Steel Rain without getting stuck on the station!

This role spawns in the formerly unused outpost just north of the nukie
base. With a few shelves of supplies and some tools in the back room,
they can set up their workplace however they like. This also gives them
something to work on while they wait for the operatives to gear up.


![image](https://github.com/tgstation/tgstation/assets/28870487/4a39ec5f-0578-4825-8c6b-cc4db47bf726)

As you can see, it's rather cramped and the lights are quite dim in the
backroom. Set it up however you like, this is how I did mine:


![image](https://github.com/tgstation/tgstation/assets/28870487/f80b65fa-dcd1-425e-a6ce-c0ed94a8a3a5)

Total price? 12 TC per agent. It might get a bit cramped, but you could
buy a second to make sure the first guy doesn't get lonely!

This turned into a 30-commit ugly because the bodycams were originally
meant to be accomplished via a refactoring of the spyglass kit. Big
mistake that made me shelve the project -- until Melbert's simple
bodycam component conveniently did exactly what I needed in a much
simpler way.
## Why It's Good For The Game

Having a "guy in the chair" for your kickass murder operator squad
enables more brainy strategizing, and is thematically sound. Also,
nukies have the opportunity to bring in another player to participate in
the fun!
## Changelog
🆑 Rhials
add: Nuclear Operatives now purchase an Intelligence Agent, who can
watch cameras and bodycams, move the shuttle, and provide radio support.
Only 12 Telecrystals!
/🆑
2024-04-05 16:19:56 +13:00

178 lines
4.5 KiB
Plaintext

GLOBAL_LIST_INIT(cardinals, list(
NORTH,
SOUTH,
EAST,
WEST,
))
GLOBAL_LIST_INIT(cardinals_multiz, list(
NORTH,
SOUTH,
EAST,
WEST,
UP,
DOWN,
))
GLOBAL_LIST_INIT(diagonals, list(
NORTHEAST,
NORTHWEST,
SOUTHEAST,
SOUTHWEST,
))
GLOBAL_LIST_INIT(corners_multiz, list(
UP|NORTHEAST,
UP|NORTHWEST,
UP|SOUTHEAST,
UP|SOUTHWEST,
DOWN|NORTHEAST,
DOWN|NORTHWEST,
DOWN|SOUTHEAST,
DOWN|SOUTHWEST,
))
GLOBAL_LIST_INIT(diagonals_multiz, list(
NORTHEAST,
NORTHWEST,
SOUTHEAST,
SOUTHWEST,
UP|NORTH,
UP|SOUTH,
UP|EAST,
UP|WEST,
UP|NORTHEAST,
UP|NORTHWEST,
UP|SOUTHEAST,
UP|SOUTHWEST,
DOWN|NORTH,
DOWN|SOUTH,
DOWN|EAST,
DOWN|WEST,
DOWN|NORTHEAST,
DOWN|NORTHWEST,
DOWN|SOUTHEAST,
DOWN|SOUTHWEST,
))
GLOBAL_LIST_INIT(alldirs_multiz, list(
NORTH,
SOUTH,
EAST,
WEST,
NORTHEAST,
NORTHWEST,
SOUTHEAST,
SOUTHWEST,
UP,
UP|NORTH,
UP|SOUTH,
UP|EAST,
UP|WEST,
UP|NORTHEAST,
UP|NORTHWEST,
UP|SOUTHEAST,
UP|SOUTHWEST,
DOWN,
DOWN|NORTH,
DOWN|SOUTH,
DOWN|EAST,
DOWN|WEST,
DOWN|NORTHEAST,
DOWN|NORTHWEST,
DOWN|SOUTHEAST,
DOWN|SOUTHWEST,
))
GLOBAL_LIST_INIT(alldirs, list(
NORTH,
SOUTH,
EAST,
WEST,
NORTHEAST,
NORTHWEST,
SOUTHEAST,
SOUTHWEST,
))
/// list of all landmarks created
GLOBAL_LIST_EMPTY(landmarks_list)
/// list of all job spawn points created
GLOBAL_LIST_EMPTY(start_landmarks_list)
/// list of all department security spawns
GLOBAL_LIST_EMPTY(department_security_spawns)
/// List of generic landmarks placed around the map where there are likely to be players and are identifiable at a glance -
/// Such as public hallways, department rooms, head of staff offices, and non-generic maintenance locations
GLOBAL_LIST_EMPTY(generic_event_spawns)
/// Assoc list of "job titles" to "job landmarks"
/// These will take precedence over normal job spawnpoints if created,
/// essentially allowing a user to override generic job spawnpoints with a specific one
GLOBAL_LIST_EMPTY(jobspawn_overrides)
GLOBAL_LIST_EMPTY(gorilla_start)
GLOBAL_LIST_EMPTY(wizardstart)
GLOBAL_LIST_EMPTY(nukeop_start)
GLOBAL_LIST_EMPTY(nukeop_leader_start)
GLOBAL_LIST_EMPTY(nukeop_overwatch_start)
GLOBAL_LIST_EMPTY(newplayer_start)
GLOBAL_LIST_EMPTY(prisonwarp) //admin prisoners go to these
GLOBAL_LIST_EMPTY(holdingfacility) //captured people go here (ninja energy net)
GLOBAL_LIST_EMPTY(generic_maintenance_landmarks)//generic spawn areas in maintenance, used for some ghostroles
GLOBAL_LIST_EMPTY(tdome1)
GLOBAL_LIST_EMPTY(tdome2)
GLOBAL_LIST_EMPTY(tdomeobserve)
GLOBAL_LIST_EMPTY(tdomeadmin)
GLOBAL_LIST_EMPTY(prisonwarped) //list of players already warped
GLOBAL_LIST_EMPTY(blobstart) //stationloving objects, blobs, santa
GLOBAL_LIST_EMPTY(navigate_destinations) //list of all destinations used by the navigate verb
GLOBAL_LIST_EMPTY(secequipment) //sec equipment lockers that scale with the number of sec players
GLOBAL_LIST_EMPTY(deathsquadspawn)
GLOBAL_LIST_EMPTY(emergencyresponseteamspawn)
GLOBAL_LIST_EMPTY(ruin_landmarks)
GLOBAL_LIST_EMPTY(bar_areas)
/// List of all the maps that have been cached for /proc/load_map
GLOBAL_LIST_EMPTY(cached_maps)
/// Away missions
GLOBAL_LIST_EMPTY(vr_spawnpoints)
/// Just a list of all the area objects in the game
/// Note, areas can have duplicate types
GLOBAL_LIST_EMPTY(areas)
/// Used by jump-to-area etc. Updated by area/updateName()
/// If this is null, it needs to be recalculated. Use get_sorted_areas() as a getter please
GLOBAL_LIST_EMPTY(sortedAreas)
/// An association from typepath to area instance. Only includes areas with `unique` set.
GLOBAL_LIST_EMPTY_TYPED(areas_by_type, /area)
GLOBAL_LIST_EMPTY(all_abstract_markers)
/// Global list of megafauna spawns on cave gen
GLOBAL_LIST_INIT(megafauna_spawn_list, list(
/mob/living/simple_animal/hostile/megafauna/bubblegum = 6,
/mob/living/simple_animal/hostile/megafauna/colossus = 2,
/mob/living/simple_animal/hostile/megafauna/dragon = 4,
))
/// List of how many minerals spawned based on proximity to an ore vent.
GLOBAL_LIST_INIT(post_ore_random, list(
"[ORE_WALL_FAR]" = 0,
"[ORE_WALL_LOW]" = 0,
"[ORE_WALL_MEDIUM]" = 0,
"[ORE_WALL_HIGH]" = 0,
"[ORE_WALL_VERY_HIGH]" = 0,
))
/// List of how many minerals spawned randomly off of mining Z-levels, and at what quantity.
GLOBAL_LIST_INIT(post_ore_manual, list(
"[ORE_WALL_FAR]" = 0,
"[ORE_WALL_LOW]" = 0,
"[ORE_WALL_MEDIUM]" = 0,
"[ORE_WALL_HIGH]" = 0,
"[ORE_WALL_VERY_HIGH]" = 0,
))
/// List of how many ore vents spawned, and of what size.
GLOBAL_LIST_INIT(ore_vent_sizes, list(
LARGE_VENT_TYPE = 0,
MEDIUM_VENT_TYPE = 0,
SMALL_VENT_TYPE = 0,
))