From c874e8d1d9630b70e182fa70bd718e297aded9bc Mon Sep 17 00:00:00 2001 From: Bjamcham <107899953+Bjamcham@users.noreply.github.com> Date: Mon, 24 Jul 2023 10:45:58 -0400 Subject: [PATCH] The automatic Cryo storage Portal will no longer spark on use (#21739) * New cryo portal subtype * A better way to do it * Update code/game/objects/effects/portals.dm Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com> --------- Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com> --- code/game/machinery/cryopod.dm | 2 +- code/game/objects/effects/portals.dm | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm index a5eed2f444d..4be69c2f006 100644 --- a/code/game/machinery/cryopod.dm +++ b/code/game/machinery/cryopod.dm @@ -743,7 +743,7 @@ target_cryopod = safepick(free_cryopods) if(target_cryopod.check_occupant_allowed(person_to_cryo)) var/turf/T = get_turf(person_to_cryo) - var/obj/effect/portal/SP = new /obj/effect/portal(T, null, null, 40) + var/obj/effect/portal/SP = new /obj/effect/portal(T, null, null, 40, FALSE) SP.name = "NT SSD Teleportation Portal" target_cryopod.take_occupant(person_to_cryo, 1) return 1 diff --git a/code/game/objects/effects/portals.dm b/code/game/objects/effects/portals.dm index c8ededddd88..f8b45da7c42 100644 --- a/code/game/objects/effects/portals.dm +++ b/code/game/objects/effects/portals.dm @@ -22,8 +22,10 @@ var/one_use = FALSE // Does this portal go away after one teleport? /// The time after which the effects should play again. Too many effects can lag the server var/effect_cooldown = 0 - -/obj/effect/portal/New(loc, turf/_target, obj/creation_object = null, lifespan = 300, mob/creation_mob = null) + ///Whether or not portal use will cause sparks + var/create_sparks = TRUE + +/obj/effect/portal/New(loc, turf/_target, obj/creation_object = null, lifespan = 300, mob/creation_mob = null, create_sparks = TRUE) ..() GLOB.portals += src @@ -44,7 +46,8 @@ if(!QDELETED(O)) O.portal_destroyed(src) target = null - do_sparks(5, 0, loc) + if(create_sparks) + do_sparks(5, 0, loc) return ..() /obj/effect/portal/singularity_pull() @@ -142,7 +145,8 @@ /obj/effect/portal/proc/invalid_teleport() visible_message("[src] flickers and fails due to bluespace interference!") - do_sparks(5, 0, loc) + if(create_sparks) + do_sparks(5, 0, loc) qdel(src) #define UNSTABLE_TIME_DELAY 2 SECONDS