Fixing Gamma armory exploits

This commit is contained in:
ZomgPonies
2014-01-15 13:06:47 -05:00
parent 391cad7d5f
commit 42f286f210
5 changed files with 19 additions and 9 deletions
+7 -3
View File
@@ -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)
+2
View File
@@ -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()
@@ -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()
@@ -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
+1 -1
View File
@@ -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)