diff --git a/code/datums/spells/ethereal_jaunt.dm b/code/datums/spells/ethereal_jaunt.dm index 9991e8d676c..1cd85fb1b2a 100644 --- a/code/datums/spells/ethereal_jaunt.dm +++ b/code/datums/spells/ethereal_jaunt.dm @@ -18,9 +18,10 @@ /obj/effect/proc_holder/spell/targeted/ethereal_jaunt/cast(list/targets) //magnets, so mostly hardcoded for(var/mob/living/target in targets) spawn(0) - var/mobloc = get_turf(target.loc) - var/obj/effect/dummy/spell_jaunt/holder = new /obj/effect/dummy/spell_jaunt( mobloc ) - var/atom/movable/overlay/animation = new /atom/movable/overlay( mobloc ) + var/mobloc + var/originalloc = get_turf(target.loc) + var/obj/effect/dummy/spell_jaunt/holder = new /obj/effect/dummy/spell_jaunt( originalloc ) + var/atom/movable/overlay/animation = new /atom/movable/overlay( originalloc ) animation.name = "water" animation.density = 0 animation.anchored = 1 @@ -38,6 +39,9 @@ target.client.eye = holder sleep(jaunt_duration) mobloc = get_turf(target.loc) + if(get_area(mobloc) == /area/security/armoury/gamma) + target << "A strange energy repels you!" + mobloc = originalloc animation.loc = mobloc target.canmove = 0 sleep(20) diff --git a/code/datums/spells/knock.dm b/code/datums/spells/knock.dm index b96c96455a8..9fbb8e571b5 100644 --- a/code/datums/spells/knock.dm +++ b/code/datums/spells/knock.dm @@ -14,6 +14,8 @@ for(var/turf/T in targets) for(var/obj/machinery/door/door in T.contents) spawn(1) + if(istype(door,/obj/machinery/door/airlock/hatch/gamma)) + return if(istype(door,/obj/machinery/door/airlock)) door:locked = 0 door.open() diff --git a/code/game/gamemodes/vampire/vampire_powers.dm b/code/game/gamemodes/vampire/vampire_powers.dm index c03af44cad8..abe179df568 100644 --- a/code/game/gamemodes/vampire/vampire_powers.dm +++ b/code/game/gamemodes/vampire/vampire_powers.dm @@ -359,9 +359,9 @@ if(M.current.vampire_power(30, 0)) if(M.current.buckled) M.current.buckled.unbuckle() spawn(0) - var/mobloc = get_turf(M.current.loc) - var/obj/effect/dummy/spell_jaunt/holder = new /obj/effect/dummy/spell_jaunt( mobloc ) - var/atom/movable/overlay/animation = new /atom/movable/overlay( mobloc ) + var/originalloc = get_turf(M.current.loc) + var/obj/effect/dummy/spell_jaunt/holder = new /obj/effect/dummy/spell_jaunt( originalloc ) + var/atom/movable/overlay/animation = new /atom/movable/overlay( originalloc ) animation.name = "water" animation.density = 0 animation.anchored = 1 @@ -376,10 +376,13 @@ M.current.loc = holder M.current.client.eye = holder var/datum/effect/effect/system/steam_spread/steam = new /datum/effect/effect/system/steam_spread() - steam.set_up(10, 0, mobloc) + steam.set_up(10, 0, originalloc) steam.start() sleep(jaunt_duration) - mobloc = get_turf(M.current.loc) + var/mobloc = get_turf(M.current.loc) + if(get_area(mobloc) == /area/security/armoury/gamma) + M << "A strange energy repels you!" + mobloc = originalloc animation.loc = mobloc steam.location = mobloc steam.start() diff --git a/code/modules/security levels/security levels.dm b/code/modules/security levels/security levels.dm index a8d1271dfbd..626536f0944 100644 --- a/code/modules/security levels/security levels.dm +++ b/code/modules/security levels/security levels.dm @@ -79,6 +79,7 @@ R.update_icon() for(var/obj/machinery/door/airlock/hatch/gamma/H in world) if(H.z == 1) + H.locked = 0 H.open() spawn(10) H.locked = 1 diff --git a/maps/tgstation-redux-WIP.dmm b/maps/tgstation-redux-WIP.dmm index 848e8148a60..5253c43b7a0 100644 --- a/maps/tgstation-redux-WIP.dmm +++ b/maps/tgstation-redux-WIP.dmm @@ -170,7 +170,7 @@ "adn" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall/r_wall,/area) "ado" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/airlock/highsecurity/red{locked = 1},/turf/simulated/floor{icon_state = "dark"},/area/security/armoury) "adp" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/wall/r_wall,/area) -"adq" = (/obj/machinery/door/airlock/hatch/gamma{req_access_txt = "109"; use_power = 0},/turf/simulated/floor{icon_state = "dark"},/area/security/armoury/gamma) +"adq" = (/obj/machinery/door/airlock/hatch/gamma{locked = 1; req_access_txt = "109"; use_power = 0},/turf/simulated/floor{icon_state = "dark"},/area/security/armoury/gamma) "adr" = (/obj/structure/sign/securearea,/turf/simulated/wall/r_wall,/area) "ads" = (/obj/machinery/door/airlock/vault{icon_state = "door_locked"; locked = 1; req_access_txt = "53"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/security/nuke_storage) "adt" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/engine,/area/security/armoury)