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