From b79269259baf1a626143678cd2484bf02ecddb43 Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Sat, 29 Apr 2017 02:39:14 -0400 Subject: [PATCH] fox tweaks --- code/modules/shuttle/ripple.dm | 7 ++++--- code/modules/shuttle/shuttle.dm | 19 +++++++++++++------ 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/code/modules/shuttle/ripple.dm b/code/modules/shuttle/ripple.dm index d666e48240a..31acda6f8f1 100644 --- a/code/modules/shuttle/ripple.dm +++ b/code/modules/shuttle/ripple.dm @@ -1,4 +1,4 @@ -/obj/effect/ripple +/obj/effect/overlay/temp/ripple name = "hyperspace ripple" desc = "Something is coming through hyperspace, you can see the \ visual disturbances. It's probably best not to be on top of these \ @@ -10,13 +10,14 @@ smooth = SMOOTH_TRUE layer = RIPPLE_LAYER alpha = 0 + duration = 3 * SHUTTLE_RIPPLE_TIME -/obj/effect/ripple/New() +/obj/effect/overlay/temp/ripple/New() . = ..() smooth_icon(src) animate(src, alpha=255, time=SHUTTLE_RIPPLE_TIME) // In case something goes wrong, delete us in a bit addtimer(src, "delself", 3 * SHUTTLE_RIPPLE_TIME, FALSE) -/obj/effect/ripple/proc/delself() +/obj/effect/overlay/temp/ripple/proc/delself() qdel(src) \ No newline at end of file diff --git a/code/modules/shuttle/shuttle.dm b/code/modules/shuttle/shuttle.dm index d5ef8865a5b..5995ccd8b1e 100644 --- a/code/modules/shuttle/shuttle.dm +++ b/code/modules/shuttle/shuttle.dm @@ -331,11 +331,6 @@ if(mode != SHUTTLE_CALL) return - if(ripples.len) - for(var/i in ripples) - qdel(i) - ripples.Cut() - timer = world.time - timeLeft(1) mode = SHUTTLE_RECALL @@ -388,7 +383,14 @@ /obj/docking_port/mobile/proc/create_ripples(obj/docking_port/stationary/S1) var/list/turfs = ripple_area(S1) for(var/i in turfs) - ripples += new /obj/effect/ripple(i) + ripples += new /obj/effect/overlay/temp/ripple(i) + +/obj/docking_port/mobile/proc/remove_ripples() + if(ripples.len) + for(var/i in ripples) + qdel(i) + ripples.Cut() + /obj/docking_port/mobile/proc/ripple_area(obj/docking_port/stationary/S1) var/list/L0 = return_ordered_turfs(x, y, z, dir, areaInstance) @@ -412,6 +414,10 @@ //it handles all the generic behaviour, such as sanity checks, closing doors on the shuttle, stunning mobs, etc /obj/docking_port/mobile/proc/dock(obj/docking_port/stationary/S1, force=FALSE) // Crashing this ship with NO SURVIVORS + if(S1.get_docked() == src) + remove_ripples() + return + if(!force) if(!check_dock(S1)) return -1 @@ -419,6 +425,7 @@ if(canMove()) return -1 + // //rotate transit docking ports, so we don't need zillions of variants // if(istype(S1, /obj/docking_port/stationary/transit)) // S1.dir = turn(NORTH, -travelDir)