Fixes Body Scanner Issues

- no longer deletes you on deletion
- hostile mobs don't instantly lose sight of you upon jumping in one
This commit is contained in:
IK3I
2016-05-22 23:36:46 -05:00
parent 98c281e688
commit 3b29f033cb
3 changed files with 31 additions and 20 deletions
+1 -1
View File
@@ -361,7 +361,7 @@
/obj/machinery/sleeper/blob_act()
if(prob(75))
var/atom/movable/A = src.loc
var/atom/movable/A = src.occupant
go_out()
A.blob_act()
qdel(src)
+29 -18
View File
@@ -59,11 +59,14 @@
else
dir = 4
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
return
if(exchange_parts(user, G))
return
default_deconstruction_crowbar(G)
if(istype(G, /obj/item/weapon/crowbar))
default_deconstruction_crowbar(G)
return
if(istype(G, /obj/item/weapon/grab))
var/obj/item/weapon/grab/TYPECAST_YOUR_SHIT = G
@@ -158,31 +161,23 @@
return
/obj/machinery/bodyscanner/ex_act(severity)
var/mob/M = src.occupant
switch(severity)
if(1.0)
for(var/atom/movable/A as mob|obj in src)
A.loc = src.loc
ex_act(severity)
//Foreach goto(35)
//SN src = null
go_out()
M.ex_act(severity)
qdel(src)
return
if(2.0)
if (prob(50))
for(var/atom/movable/A as mob|obj in src)
A.loc = src.loc
ex_act(severity)
//Foreach goto(108)
//SN src = null
go_out()
M.ex_act(severity)
qdel(src)
return
if(3.0)
if (prob(25))
for(var/atom/movable/A as mob|obj in src)
A.loc = src.loc
ex_act(severity)
//Foreach goto(181)
//SN src = null
go_out()
M.ex_act(severity)
qdel(src)
return
else
@@ -190,10 +185,19 @@
/obj/machinery/bodyscanner/blob_act()
if(prob(50))
for(var/atom/movable/A as mob|obj in src)
A.loc = src.loc
var/atom/movable/A = src.occupant
go_out()
A.blob_act()
qdel(src)
/obj/machinery/bodyscanner/attack_animal(var/mob/living/simple_animal/M)//Stop putting hostile mobs in things guise
if(M.environment_smash)
M.do_attack_animation(src)
visible_message("<span class='danger'>[M.name] smashes [src] apart!</span>")
go_out()
qdel(src)
return
/obj/machinery/body_scanconsole
var/obj/machinery/bodyscanner/connected
var/delete
@@ -249,6 +253,13 @@
if(prob(50))
qdel(src)
/obj/machinery/body_scanconsole/attack_animal(var/mob/living/simple_animal/M)//Stop putting hostile mobs in things guise
if(M.environment_smash)
M.do_attack_animation(src)
visible_message("<span class='danger'>[M.name] smashes [src] apart!</span>")
qdel(src)
return
/obj/machinery/body_scanconsole/proc/findscanner()
var/obj/machinery/bodyscanner/bodyscannernew = null
// Loop through every direction
@@ -299,7 +299,7 @@
return
/mob/living/simple_animal/hostile/proc/FindHidden()
if(istype(target.loc, /obj/structure/closet) || istype(target.loc, /obj/machinery/disposal) || istype(target.loc, /obj/machinery/sleeper))
if(istype(target.loc, /obj/structure/closet) || istype(target.loc, /obj/machinery/disposal) || istype(target.loc, /obj/machinery/sleeper) || istype(target.loc, /obj/machinery/bodyscanner))
var/atom/A = target.loc
Goto(A,move_to_delay,minimum_distance)
if(A.Adjacent(src))