From d25ba20e326ed45b7a271c99038c7853230c4f7d Mon Sep 17 00:00:00 2001 From: Luc <89928798+lewcc@users.noreply.github.com> Date: Fri, 10 May 2024 15:35:58 -0400 Subject: [PATCH] Moves pre-round observers to the wizden (#25330) * let's see if people like this * Update code/game/objects/effects/landmarks.dm Co-authored-by: GDN <96800819+GDNgit@users.noreply.github.com> Signed-off-by: Luc <89928798+lewcc@users.noreply.github.com> * Update code/game/objects/effects/landmarks.dm Co-authored-by: GDN <96800819+GDNgit@users.noreply.github.com> Signed-off-by: Luc <89928798+lewcc@users.noreply.github.com> --------- Signed-off-by: Luc <89928798+lewcc@users.noreply.github.com> Co-authored-by: GDN <96800819+GDNgit@users.noreply.github.com> --- _maps/map_files/generic/centcomm.dmm | 6 ++++++ code/_globalvars/mapping_vars.dm | 1 + code/game/objects/effects/landmarks.dm | 9 ++++++++- code/modules/mob/new_player/new_player.dm | 9 +++++++-- 4 files changed, 22 insertions(+), 3 deletions(-) diff --git a/_maps/map_files/generic/centcomm.dmm b/_maps/map_files/generic/centcomm.dmm index a5a7a216fc8..f21ccb4e85c 100644 --- a/_maps/map_files/generic/centcomm.dmm +++ b/_maps/map_files/generic/centcomm.dmm @@ -725,6 +725,7 @@ dir = 6; color = "#63009c" }, +/obj/effect/landmark/spawner/roundstart_observer, /turf/simulated/floor/wood, /area/wizard_station) "cO" = ( @@ -1369,6 +1370,7 @@ dir = 4; color = "#63009c" }, +/obj/effect/landmark/spawner/roundstart_observer, /turf/simulated/floor/wood, /area/wizard_station) "fp" = ( @@ -1432,6 +1434,7 @@ /obj/structure/chair/sofa/right{ color = "#63009c" }, +/obj/effect/landmark/spawner/roundstart_observer, /turf/simulated/floor/wood, /area/wizard_station) "fx" = ( @@ -8159,6 +8162,7 @@ name = "wizard council throne"; dir = 1 }, +/obj/effect/landmark/spawner/roundstart_observer, /turf/simulated/floor/carpet/red, /area/wizard_station) "CY" = ( @@ -12077,6 +12081,7 @@ /obj/structure/chair/sofa{ color = "#63009c" }, +/obj/effect/landmark/spawner/roundstart_observer, /turf/simulated/floor/wood, /area/wizard_station) "Qm" = ( @@ -14263,6 +14268,7 @@ /obj/structure/chair/comfy/purp{ name = "wizard council throne" }, +/obj/effect/landmark/spawner/roundstart_observer, /turf/simulated/floor/carpet/red, /area/wizard_station) "Yp" = ( diff --git a/code/_globalvars/mapping_vars.dm b/code/_globalvars/mapping_vars.dm index 1aa65439ad0..cff1c4251b6 100644 --- a/code/_globalvars/mapping_vars.dm +++ b/code/_globalvars/mapping_vars.dm @@ -38,6 +38,7 @@ GLOBAL_LIST_EMPTY(nukedisc_respawn) GLOBAL_LIST_EMPTY(ninjastart) GLOBAL_LIST_EMPTY(carplist) //list of all carp-spawn landmarks GLOBAL_LIST_EMPTY(syndicateofficer) +GLOBAL_LIST_EMPTY(roundstart_observer_start) //List of preloaded templates GLOBAL_LIST_EMPTY(map_templates) diff --git a/code/game/objects/effects/landmarks.dm b/code/game/objects/effects/landmarks.dm index a977b08c726..a87d2909654 100644 --- a/code/game/objects/effects/landmarks.dm +++ b/code/game/objects/effects/landmarks.dm @@ -235,6 +235,14 @@ INITIALIZE_IMMEDIATE(/obj/effect/landmark/newplayer_start) //Without this you sp /obj/effect/landmark/spawner/nuke_code name = "nukecode" +/obj/effect/landmark/spawner/roundstart_observer + name = "Roundstart Observer" + icon_state = "spooky" + +/obj/effect/landmark/spawner/roundstart_observer/Initialize(mapload) + spawner_list = GLOB.roundstart_observer_start + return ..() + /obj/effect/landmark/Destroy() GLOB.landmarks_list -= src ..() @@ -414,7 +422,6 @@ INITIALIZE_IMMEDIATE(/obj/effect/landmark/newplayer_start) //Without this you sp name = "Warden" icon_state = "Warden" - /obj/effect/landmark/start/set_tag() tag = "start*[name]" diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index f1b21c4e32d..9e354111a88 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -185,9 +185,14 @@ to_chat(src, "As you observed [period_human_readable], you can freely toggle antag-hud without losing respawnability.") observer.started_as_observer = 1 close_spawn_windows() - var/obj/O = locate("landmark*Observer-Start") + var/obj/spawn_point + if(SSticker.current_state < GAME_STATE_PLAYING) + spawn_point = pick(GLOB.roundstart_observer_start) + else + spawn_point = locate("landmark*Observer-Start") + to_chat(src, "Now teleporting.") - observer.forceMove(O.loc) + observer.forceMove(get_turf(spawn_point)) observer.timeofdeath = world.time // Set the time of death so that the respawn timer works correctly. client.prefs.active_character.update_preview_icon(1) observer.icon = client.prefs.active_character.preview_icon