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

2/4/24 - Map swap #133

Merged
merged 7 commits into from
Feb 4, 2024
Merged
Show file tree
Hide file tree
Changes from all 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
19 changes: 6 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,14 @@
# TS-SS13

[![forthebadge](http://forthebadge.com/images/badges/60-percent-of-the-time-works-every-time.svg)](http://forthebadge.com) [![forthebadge](http://forthebadge.com/images/badges/compatibility-club-penguin.svg)](http://forthebadge.com) [![forthebadge](http://forthebadge.com/images/badges/no-ragrets.svg)](http://forthebadge.com)

[Website](https://vore-station.net) - [Forums](https://forum.vore-station.net/) - [Wiki](https://wiki.vore-station.net/)
# ROGUE STAR
[Website](https://rogue-star.net/) - [Forums](https://rogue-star.net/forums/index.php?sid=a270f1a1a2bdae63f0affd75af2fc4d6) - [Wiki](https://wiki.vore-station.net/)

Going to make a Pull Request? Make sure you read the [CONTRIBUTING.md](.github/CONTRIBUTING.md) first!

Want to make a test server or your own private server? Read our [GitHub Wiki!](https://github.com/VOREStation/VOREStation/wiki)

TS-SS13 is a fork of, VOREStation, which is a fork of the Polaris code branch, itself a fork of the Baystation12 code branch, for the game Space Station 13.

![Render Nanomaps](https://github.com/VOREStation/VOREStation/workflows/Render%20Nanomaps/badge.svg)
Rogue Star is a fork of VOREStation, which is a fork of Polaris, which itself is a fork of the Baystation12 code branch, for the game Space Station 13.

---

### LICENSE
The code for VOREStation is licensed under the [GNU Affero General Public License](http://www.gnu.org/licenses/agpl.html) version 3, which can be found in full in LICENSE-AGPL3.txt.
The code for Rogue Star is licensed under the [GNU Affero General Public License](http://www.gnu.org/licenses/agpl.html) version 3, which can be found in full in LICENSE-AGPL3.txt.

Code with a git authorship date prior to `1420675200 +0000` (2015/01/08 00:00) are licensed under the GNU General Public License version 3, which can be found in full in LICENSE-GPL3.txt.

Expand All @@ -40,11 +33,11 @@ Attributions and other licenses with links to original works are noted in [ATTRI
### GETTING THE CODE
The simplest way to obtain the code is using the github .zip feature. If you do this, you won't be able to make a Pull Request later, though. You'll need to use the git method.

Click [here](https://github.com/VOREStation/VOREStation/archive/master.zip) to get the latest code as a .zip file, then unzip it to wherever you want.
Click [here](https://github.com/TS-Rogue-Star/Rogue-Star/archive/master.zip) to get the latest code as a .zip file, then unzip it to wherever you want.

The more complicated and easier to update method is using git. You'll need to download git or some client from [here](http://git-scm.com/). When that's installed, right click in any folder and click on "Git Bash". When that opens, type in:

git clone https://github.com/VOREStation/VOREStation.git
git clone https://github.com/TS-Rogue-Star/Rogue-Star.git

(hint: hold down ctrl and press insert to paste into git bash)

Expand Down
9 changes: 9 additions & 0 deletions code/controllers/configuration.dm
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,9 @@ var/list/gamemode_cache = list()
var/static/drone_build_time = 1200 //A drone will become available every X ticks since last drone spawn. Default is 2 minutes.

var/static/disable_player_mice = 0
var/static/allow_ghost_mob_spawn = 1 //RS ADD - Allows players to spawn as mobs
var/static/ghost_mob_count = 5 //RS ADD - How many mobs are allowed to spawn from ghosts

var/static/uneducated_mice = 0 //Set to 1 to prevent newly-spawned mice from understanding human speech

var/static/usealienwhitelist = 0
Expand Down Expand Up @@ -767,6 +770,12 @@ var/list/gamemode_cache = list()
if("disable_player_mice")
config.disable_player_mice = 1

if("disable_ghost_mob_spawn") //RS ADD START
config.allow_ghost_mob_spawn = FALSE

if("ghost_mob_count")
config.ghost_mob_count = value //RS ADD END

if("uneducated_mice")
config.uneducated_mice = 1

Expand Down
51 changes: 2 additions & 49 deletions code/game/objects/structures/ghost_pods/event_vr.dm
Original file line number Diff line number Diff line change
Expand Up @@ -15,53 +15,6 @@
invisibility = INVISIBILITY_OBSERVER
spawn_active = TRUE
var/announce_prob = 35
var/list/possible_mobs = list("Rabbit" = /mob/living/simple_mob/vore/rabbit,
"Red Panda" = /mob/living/simple_mob/vore/redpanda,
"Fennec" = /mob/living/simple_mob/vore/fennec,
"Fennix" = /mob/living/simple_mob/vore/fennix,
"Space Bumblebee" = /mob/living/simple_mob/vore/bee,
"Space Bear" = /mob/living/simple_mob/animal/space/bear,
"Voracious Lizard" = /mob/living/simple_mob/vore/aggressive/dino,
"Giant Frog" = /mob/living/simple_mob/vore/aggressive/frog,
"Giant Rat" = /mob/living/simple_mob/vore/aggressive/rat,
"Jelly Blob" = /mob/living/simple_mob/vore/jelly,
"Wolf" = /mob/living/simple_mob/vore/wolf,
"Juvenile Solargrub" = /mob/living/simple_mob/vore/solargrub,
"Sect Queen" = /mob/living/simple_mob/vore/sect_queen,
"Sect Drone" = /mob/living/simple_mob/vore/sect_drone,
"Defanged Xenomorph" = /mob/living/simple_mob/vore/xeno_defanged,
"Panther" = /mob/living/simple_mob/vore/aggressive/panther,
"Giant Snake" = /mob/living/simple_mob/vore/aggressive/giant_snake,
"Deathclaw" = /mob/living/simple_mob/vore/aggressive/deathclaw,
"Otie" = /mob/living/simple_mob/vore/otie,
"Mutated Otie" =/mob/living/simple_mob/vore/otie/feral,
"Red Otie" = /mob/living/simple_mob/vore/otie/red,
"Corrupt Hound" = /mob/living/simple_mob/vore/aggressive/corrupthound,
"Corrupt Corrupt Hound" = /mob/living/simple_mob/vore/aggressive/corrupthound/prettyboi,
"Hunter Giant Spider" = /mob/living/simple_mob/animal/giant_spider/hunter,
"Lurker Giant Spider" = /mob/living/simple_mob/animal/giant_spider/lurker,
"Pepper Giant Spider" = /mob/living/simple_mob/animal/giant_spider/pepper,
"Thermic Giant Spider" = /mob/living/simple_mob/animal/giant_spider/thermic,
"Webslinger Giant Spider" = /mob/living/simple_mob/animal/giant_spider/webslinger,
"Frost Giant Spider" = /mob/living/simple_mob/animal/giant_spider/frost,
"Nurse Giant Spider" = /mob/living/simple_mob/animal/giant_spider/nurse/eggless,
"Giant Spider Queen" = /mob/living/simple_mob/animal/giant_spider/nurse/queen/eggless,
"Weretiger" = /mob/living/simple_mob/vore/weretiger,
"Catslug" = /mob/living/simple_mob/vore/alienanimals/catslug,
"Squirrel" = /mob/living/simple_mob/vore/squirrel/big,
"Pakkun" =/mob/living/simple_mob/vore/pakkun,
"Snapdragon" =/mob/living/simple_mob/vore/pakkun/snapdragon,
"Sand pakkun" = /mob/living/simple_mob/vore/pakkun/sand,
"Fire pakkun" = /mob/living/simple_mob/vore/pakkun/fire,
"Amethyst pakkun" = /mob/living/simple_mob/vore/pakkun/purple,
"Raptor" = /mob/living/simple_mob/vore/raptor,
"Giant Bat" = /mob/living/simple_mob/vore/bat,
"Scel (Orange)" = /mob/living/simple_mob/vore/scel/orange,
"Scel (Blue)" = /mob/living/simple_mob/vore/scel/blue,
"Scel (Purple)" = /mob/living/simple_mob/vore/scel/purple,
"Scel (Red)" = /mob/living/simple_mob/vore/scel/red,
"Scel (Green)" = /mob/living/simple_mob/vore/scel/green
)

/obj/structure/ghost_pod/ghost_activated/maintpred/create_occupant(var/mob/M)
..()
Expand All @@ -74,7 +27,7 @@
return

while(finalized == "No" && M.client)
choice = tgui_input_list(M, "What type of predator do you want to play as?", "Maintpred Choice", possible_mobs)
choice = tgui_input_list(M, "What type of predator do you want to play as?", "Maintpred Choice", GLOB.ghost_spawnable_mobs) //RS EDIT
if(!choice) //We probably pushed the cancel button on the mob selection. Let's just put the ghost pod back in the list.
to_chat(M, "<span class='notice'>No mob selected, cancelling.</span>")
reset_ghostpod()
Expand All @@ -87,7 +40,7 @@
reset_ghostpod()
return

var/mobtype = possible_mobs[choice]
var/mobtype = GLOB.ghost_spawnable_mobs[choice]
var/mob/living/simple_mob/newPred = new mobtype(get_turf(src))
qdel(newPred.ai_holder)
newPred.ai_holder = null
Expand Down
1 change: 1 addition & 0 deletions code/modules/admin/admin_verb_lists_vr.dm
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,7 @@ var/list/admin_verbs_admin = list(
/client/proc/fixatmos,
/datum/admins/proc/quick_nif, //VOREStation Add,
/datum/admins/proc/set_uplink, //VOREStation Add,
/datum/admins/proc/add_ghost_mob_spawns, //RS ADD,
/datum/admins/proc/sendFax,
/client/proc/despawn_player,
/datum/admins/proc/view_feedback,
Expand Down
3 changes: 1 addition & 2 deletions code/modules/events/event_container_vr.dm
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,6 @@
// Leaks gas into an unoccupied room.
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Atmos Leak", /datum/event/atmos_leak, 30, list(ASSIGNMENT_ENGINEER = 25), 1, min_jobs = list(ASSIGNMENT_ENGINEER = 1)),
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Carp School", /datum/event/carp_migration, 0, list(ASSIGNMENT_SECURITY = 30), 1, min_jobs = list(ASSIGNMENT_SECURITY = 3)),
// Just disables comms for a short while.
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Communication Blackout", /datum/event/communications_blackout, 500, list(ASSIGNMENT_AI = 100, ASSIGNMENT_SECURITY = 50), 1),
// Just blows out a few lights
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Electrical Storm", /datum/event/electrical_storm, 70, list(ASSIGNMENT_ENGINEER = 20, ASSIGNMENT_JANITOR = 150), 1),
// This one is just too fun.
Expand Down Expand Up @@ -92,6 +90,7 @@
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Radiation Storm", /datum/event/radiation_storm, 50, list(ASSIGNMENT_MEDICAL = 50), 1),
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Random Antagonist", /datum/event/random_antag, 2.5, list(ASSIGNMENT_SECURITY = 1), 1, 0, 5),
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Supply Demand", /datum/event/supply_demand, 0, list(ASSIGNMENT_ANY = 5, ASSIGNMENT_SCIENCE = 15, ASSIGNMENT_GARDENER = 10, ASSIGNMENT_ENGINEER = 10, ASSIGNMENT_MEDICAL = 15), 1),
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Communication Blackout", /datum/event/communications_blackout, 0, list(ASSIGNMENT_AI = 100, ASSIGNMENT_SECURITY = 50), 1), //RS remove - because it sucks
))

/datum/event_container/major/New()
Expand Down
138 changes: 138 additions & 0 deletions code/modules/mob/ghost_simplemob_spawn.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,138 @@
GLOBAL_VAR_INIT(ghost_mob_spawn_count, 0)
GLOBAL_LIST_INIT(ghost_spawnable_mobs,list(
"Rabbit" = /mob/living/simple_mob/vore/rabbit,
"Red Panda" = /mob/living/simple_mob/vore/redpanda,
"Fennec" = /mob/living/simple_mob/vore/fennec,
"Fennix" = /mob/living/simple_mob/vore/fennix,
"Space Bumblebee" = /mob/living/simple_mob/vore/bee,
"Space Bear" = /mob/living/simple_mob/animal/space/bear,
"Voracious Lizard" = /mob/living/simple_mob/vore/aggressive/dino,
"Giant Frog" = /mob/living/simple_mob/vore/aggressive/frog,
"Giant Rat" = /mob/living/simple_mob/vore/aggressive/rat,
"Jelly Blob" = /mob/living/simple_mob/vore/jelly,
"Wolf" = /mob/living/simple_mob/vore/wolf,
"Juvenile Solargrub" = /mob/living/simple_mob/vore/solargrub,
"Sect Queen" = /mob/living/simple_mob/vore/sect_queen,
"Sect Drone" = /mob/living/simple_mob/vore/sect_drone,
"Defanged Xenomorph" = /mob/living/simple_mob/vore/xeno_defanged,
"Panther" = /mob/living/simple_mob/vore/aggressive/panther,
"Giant Snake" = /mob/living/simple_mob/vore/aggressive/giant_snake,
"Deathclaw" = /mob/living/simple_mob/vore/aggressive/deathclaw,
"Otie" = /mob/living/simple_mob/vore/otie,
"Mutated Otie" =/mob/living/simple_mob/vore/otie/feral,
"Red Otie" = /mob/living/simple_mob/vore/otie/red,
"Corrupt Hound" = /mob/living/simple_mob/vore/aggressive/corrupthound,
"Corrupt Corrupt Hound" = /mob/living/simple_mob/vore/aggressive/corrupthound/prettyboi,
"Hunter Giant Spider" = /mob/living/simple_mob/animal/giant_spider/hunter,
"Lurker Giant Spider" = /mob/living/simple_mob/animal/giant_spider/lurker,
"Pepper Giant Spider" = /mob/living/simple_mob/animal/giant_spider/pepper,
"Thermic Giant Spider" = /mob/living/simple_mob/animal/giant_spider/thermic,
"Webslinger Giant Spider" = /mob/living/simple_mob/animal/giant_spider/webslinger,
"Frost Giant Spider" = /mob/living/simple_mob/animal/giant_spider/frost,
"Nurse Giant Spider" = /mob/living/simple_mob/animal/giant_spider/nurse/eggless,
"Giant Spider Queen" = /mob/living/simple_mob/animal/giant_spider/nurse/queen/eggless,
"Weretiger" = /mob/living/simple_mob/vore/weretiger,
"Catslug" = /mob/living/simple_mob/vore/alienanimals/catslug,
"Squirrel" = /mob/living/simple_mob/vore/squirrel/big,
"Pakkun" =/mob/living/simple_mob/vore/pakkun,
"Snapdragon" =/mob/living/simple_mob/vore/pakkun/snapdragon,
"Sand pakkun" = /mob/living/simple_mob/vore/pakkun/sand,
"Fire pakkun" = /mob/living/simple_mob/vore/pakkun/fire,
"Amethyst pakkun" = /mob/living/simple_mob/vore/pakkun/purple,
"Raptor" = /mob/living/simple_mob/vore/raptor,
"Giant Bat" = /mob/living/simple_mob/vore/bat,
"Scel (Orange)" = /mob/living/simple_mob/vore/scel/orange,
"Scel (Blue)" = /mob/living/simple_mob/vore/scel/blue,
"Scel (Purple)" = /mob/living/simple_mob/vore/scel/purple,
"Scel (Red)" = /mob/living/simple_mob/vore/scel/red,
"Scel (Green)" = /mob/living/simple_mob/vore/scel/green
))

/mob/observer/dead/verb/join_as_simplemob() //Copypasta from join_as_drone()
set category = "Ghost"
set name = "Join As Mob"
set desc = "Join as a simple mob if conditions are right!"

if(ticker.current_state < GAME_STATE_PLAYING)
to_chat(src, "<span class='danger'>The game hasn't started yet!</span>")
return

if(!(config.allow_ghost_mob_spawn))
to_chat(src, "<span class='danger'>That verb is not currently permitted.</span>")
return

if (!src.stat)
return

if (usr != src)
return 0 //something is terribly wrong

if(jobban_isbanned(src, "GhostRoles"))
to_chat(usr, "<span class='danger'>You are banned from playing as ghost roles, and so can not spawn as a mob.</span>")
return

if(GLOB.ghost_mob_spawn_count >= config.ghost_mob_count)
to_chat(src, "<span class='danger'>Too many mobs have already been spawned, you can not spawn as a mob at this time.</span>")
return

if(!MayRespawn(1))
return

var/deathtime = world.time - src.timeofdeath
var/deathtimeminutes = round(deathtime / (1 MINUTE))
var/pluralcheck = "minute"
if(deathtimeminutes == 0)
pluralcheck = ""
else if(deathtimeminutes == 1)
pluralcheck = " [deathtimeminutes] minute and"
else if(deathtimeminutes > 1)
pluralcheck = " [deathtimeminutes] minutes and"
var/deathtimeseconds = round((deathtime - deathtimeminutes * 1 MINUTE) / 10,1)

if (deathtime < 5 MINUTES)
to_chat(usr, "You have been dead for[pluralcheck] [deathtimeseconds] seconds.")
to_chat(usr, "You must wait 5 minutes to spawn as a mob!")
return

var/choice = tgui_input_list(src, "What type of mob do you want to spawn as?", "Mob Choice", GLOB.ghost_spawnable_mobs)
if(!choice)
return

for(var/mob/living/sus in viewers(get_turf(src))) //We can spawn the mob literally anywhere,
if(!isliving(sus)) //but let's make sure that people playing in the round can't see us when we spawn
continue
if(sus.ckey)
to_chat(src, "<span class='danger'>\The [sus] can see you here, try somewhere more discreet!</span>")
return

var/mobtype = GLOB.ghost_spawnable_mobs[choice]
var/mob/living/simple_mob/newPred = new mobtype(get_turf(src))
qdel(newPred.ai_holder)
newPred.ai_holder = null
if(mind)
mind.transfer_to(newPred)
to_chat(src, "<span class='notice'>You are <b>[newPred]</b>, somehow having gotten aboard the station in search of food. \
You are wary of environment around you, but you do feel rather peckish. Stick around dark, secluded places to avoid danger or, \
if you are cute enough, try to make friends with this place's inhabitants.</span>")
to_chat(src, "<span class='critical'>Please be advised, this role is NOT AN ANTAGONIST.</span>")
to_chat(src, "<span class='warning'>You may be a spooky space monster, but your role is to facilitate spooky space monster roleplay, not to fight the station and kill people. You can of course eat and/or digest people as you like if OOC prefs align, but this should be done as part of roleplay. If you intend to fight the station and kill people and such, you need permission from the staff team. GENERALLY, this role should avoid well populated areas. You’re a weird spooky space monster, so the bar is probably not where you’d want to go if you intend to survive. Of course, you’re welcome to try to make friends and roleplay how you will in this regard, but something to keep in mind.</span>")

log_and_message_admins("[newPred.ckey] used Join As Mob to become a [newPred].")
GLOB.ghost_mob_spawn_count ++

newPred.ckey = src.ckey
newPred.visible_message("<span class='warning'>[newPred] emerges from somewhere!</span>")

/datum/admins/proc/add_ghost_mob_spawns()
set category = "Fun"
set name = "Adjust total ghost mob spawns"
set desc = "Lets you adjust how many mobs ghosts can spawn as."

if(!check_rights(R_ADMIN))
return

var/amount = tgui_input_number(usr, "How many mobs should ghosts be able to spawn as?", "How many mobs", config.ghost_mob_count)
if(amount)
config.ghost_mob_count = amount
else
to_chat(usr, "<span class='warning'>Cancelled. The value was not updated.</span>")
Binary file modified icons/mob/mob.dmi
Binary file not shown.
Binary file modified icons/mob/pets.dmi
Binary file not shown.
Binary file modified icons/mob/screen_full_colorized_vore.dmi
Binary file not shown.
Binary file modified icons/mob/screen_full_colorized_vore_overlays.dmi
Binary file not shown.
Binary file modified icons/mob/screen_full_vore.dmi
Binary file not shown.
2 changes: 1 addition & 1 deletion maps/groundbase/groundbase_events.dm
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,6 @@
available_events = list(
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Nothing", /datum/event/nothing, 1600),
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Atmos Leak", /datum/event/atmos_leak, 30, list(ASSIGNMENT_ENGINEER = 25), 1, min_jobs = list(ASSIGNMENT_ENGINEER = 1)),
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Communication Blackout", /datum/event/communications_blackout, 500, list(), 1),
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Electrical Storm", /datum/event/electrical_storm, 70, list(ASSIGNMENT_ENGINEER = 25, ASSIGNMENT_JANITOR = 100), 1),
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Grid Check", /datum/event/grid_check, 0, list(ASSIGNMENT_ENGINEER = 25), 1, min_jobs = list(ASSIGNMENT_ENGINEER = 1)),
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Ion Storm", /datum/event/ionstorm, 0, list(ASSIGNMENT_AI = 80, ASSIGNMENT_CYBORG = 50, ASSIGNMENT_SCIENTIST = 20), min_jobs = list(ASSIGNMENT_AI = 1)),
Expand Down Expand Up @@ -88,6 +87,7 @@
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Gliding Rays", /datum/event/ray_migration, 0, list(ASSIGNMENT_SECURITY = 15, ASSIGNMENT_MEDICAL = 5), 1, min_jobs = list(ASSIGNMENT_SECURITY = 3)),
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Shark Pack", /datum/event/shark_migration, 0, list(ASSIGNMENT_SECURITY = 15, ASSIGNMENT_MEDICAL = 3), 1, min_jobs = list(ASSIGNMENT_SECURITY = 3)),
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Gnat Swarm", /datum/event/gnat_migration, 0, list(ASSIGNMENT_SECURITY = 15, ASSIGNMENT_MEDICAL = 3), 1, min_jobs = list(ASSIGNMENT_SECURITY = 3)),
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Communication Blackout", /datum/event/communications_blackout, 0, list(), 1), //RS REMOVE - because it sucks
))

/datum/event_container/major/New()
Expand Down
22 changes: 19 additions & 3 deletions maps/groundbase/rp-z1.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -3994,6 +3994,14 @@
},
/turf/simulated/floor,
/area/groundbase/cargo/mining)
"egk" = (
/obj/effect/landmark{
name = "maint_pred"
},
/turf/simulated/floor/outdoors/newdirt{
outdoors = 0
},
/area/groundbase/level1/ne)
"egG" = (
/turf/simulated/floor/outdoors/grass/seasonal/dark,
/area/groundbase/level1/nw)
Expand Down Expand Up @@ -9352,6 +9360,14 @@
/obj/structure/sign/department/telecoms,
/turf/simulated/wall/r_wall,
/area/groundbase/command/tcomms/foyer)
"jNJ" = (
/obj/effect/landmark{
name = "maint_pred"
},
/turf/simulated/floor/outdoors/newdirt{
outdoors = 0
},
/area/groundbase/level1/nw)
"jNK" = (
/obj/machinery/optable,
/turf/simulated/floor/tiled/white,
Expand Down Expand Up @@ -25644,7 +25660,7 @@ eHS
eHS
eHS
eHS
eHS
jNJ
iuY
kyu
oeu
Expand Down Expand Up @@ -28735,7 +28751,7 @@ awx
kyu
kyu
eHS
eHS
jNJ
tpV
wNr
tpV
Expand Down Expand Up @@ -37965,7 +37981,7 @@ awx
awx
awx
awx
irP
egk
khe
kBO
kkl
Expand Down
Loading