Hopefully final magic fixes, and fixes the possessor

This commit is contained in:
Markolie
2016-10-25 23:32:35 +02:00
parent 755a763439
commit 0fa43f7f41
12 changed files with 61 additions and 83 deletions
@@ -49,30 +49,13 @@
return 1
/obj/structure/closet/proc/dump_contents()
//Cham Projector Exception
for(var/obj/effect/dummy/chameleon/AD in src)
AD.forceMove(loc)
for(var/obj/I in src)
I.forceMove(loc)
for(var/mob/M in src)
moveMob(M, loc)
if(M.client)
M.client.eye = M.client.mob
M.client.perspective = MOB_PERSPECTIVE
/obj/structure/closet/proc/moveMob(var/mob/M, var/atom/destination)
loc.Exited(M)
M.loc = destination
if(isturf(loc))
loc.Entered(M, src, ignoreRest = 1)
else
loc.Entered(M, src)
for(var/atom/movable/AM in loc)
if(istype(AM, /obj/item))
continue
AM.Crossed(M)
var/turf/T = get_turf(src)
for(var/atom/movable/AM in src)
AM.forceMove(T)
if(throwing) // you keep some momentum when getting out of a thrown closet
step(AM, dir)
if(throwing)
throwing = 0
/obj/structure/closet/proc/open()
if(src.opened)
@@ -126,7 +109,7 @@
M.client.perspective = EYE_PERSPECTIVE
M.client.eye = src
moveMob(M, src)
M.forceMove(src)
itemcount++
src.icon_state = src.icon_closed
@@ -60,10 +60,9 @@
qdel(src)
/obj/structure/closet/statue/dump_contents()
if(istype(src.loc, /mob/living/simple_animal/hostile/statue))
var/mob/living/simple_animal/hostile/statue/S = src.loc
src.loc = S.loc
if(istype(loc, /mob/living/simple_animal/hostile/statue))
var/mob/living/simple_animal/hostile/statue/S = loc
forceMove(S.loc)
if(S.mind)
for(var/mob/M in contents)
S.mind.transfer_to(M)
@@ -71,24 +70,19 @@
break
qdel(S)
for(var/obj/O in src)
O.loc = src.loc
for(var/mob/living/M in src)
M.loc = src.loc
M.forceMove(loc)
M.disabilities -= MUTE
M.take_overall_damage((M.health - health - 100),0) //any new damage the statue incurred is transfered to the mob
if(M.client)
M.client.eye = M.client.mob
M.client.perspective = MOB_PERSPECTIVE
..()
/obj/structure/closet/statue/open()
return
/obj/structure/closet/statue/open()
return