Fixes cases of mobs not seeing pipe vision.

This commit is contained in:
Remie Richards
2015-04-23 15:23:46 +01:00
parent 0fbdadb4e4
commit cd7abf9942
4 changed files with 37 additions and 8 deletions
@@ -255,10 +255,9 @@ Doesn't work on other aliens/AI.*/
/obj/effect/proc_holder/alien/regurgitate/fire(var/mob/living/carbon/alien/user)
if(user.stomach_contents.len)
for(var/atom/movable/A in user.stomach_contents)
if(A in user.stomach_contents)
user.stomach_contents.Remove(A)
A.loc = user.loc
//Paralyse(10)
user.stomach_contents.Remove(A)
A.loc = user.loc
A.update_pipe_vision()
user.visible_message("<span class='alertealien'>[user] hurls out the contents of their stomach!</span>")
return
+3
View File
@@ -10,7 +10,10 @@
if("sandbox")
CanBuild()
//Vents
if(ventcrawler)
src << "<span class='notice'>You can ventcrawl! Use alt+click on vents to quickly travel about the station.</span>"
update_pipe_vision()
update_interface()
return .
+18 -4
View File
@@ -47,9 +47,9 @@ var/list/ventcrawl_machinery = list(/obj/machinery/atmospherics/unary/vent_pump,
for(var/obj/item/I in contents)
var/failed = 0
if(istype(I, /obj/item/weapon/implant))
var/obj/item/weapon/implant/imp = I
if(imp.imp_in != src)
failed++
continue
else
failed++
if(failed)
src << "<span class='warning'>You can't crawl around in the ventilation ducts with items!</span>"
@@ -80,4 +80,18 @@ var/list/ventcrawl_machinery = list(/obj/machinery/atmospherics/unary/vent_pump,
pipes_shown.len = 0
if(client)
client.eye = src
client.eye = src
//OOP
/atom/proc/update_pipe_vision()
return
/mob/living/update_pipe_vision()
if(pipes_shown.len)
if(!istype(loc, /obj/machinery/atmospherics))
remove_ventcrawl()
else
if(istype(loc, /obj/machinery/atmospherics))
add_ventcrawl(loc)
+13
View File
@@ -78,6 +78,8 @@
if (tr_flags & TR_DEFAULTMSG)
O << "<B>You are now a monkey.</B>"
O.update_pipe_vision()
for(var/A in loc.vars)
if(loc.vars[A] == src)
loc.vars[A] = O
@@ -191,6 +193,8 @@
if (tr_flags & TR_DEFAULTMSG)
O << "<B>You are now a human.</B>"
O.update_pipe_vision()
updateappearance(O)
. = O
@@ -238,6 +242,8 @@
else
O.key = key
O.update_pipe_vision()
var/obj/loc_landmark
for(var/obj/effect/landmark/start/sloc in landmarks_list)
if (sloc.name != "AI")
@@ -322,6 +328,8 @@
else
O.key = key
O.update_pipe_vision()
O.loc = loc
O.job = "Cyborg"
O.notify_ai(1)
@@ -357,6 +365,7 @@
new_xeno.key = key
new_xeno << "<B>You are now an alien.</B>"
new_xeno.update_pipe_vision()
. = new_xeno
qdel(src)
@@ -389,6 +398,7 @@
new_slime.key = key
new_slime << "<B>You are now a slime. Skreee!</B>"
new_slime.update_pipe_vision()
. = new_slime
qdel(src)
@@ -425,6 +435,7 @@
new_corgi.key = key
new_corgi << "<B>You are now a Corgi. Yap Yap!</B>"
new_corgi.update_pipe_vision()
. = new_corgi
qdel(src)
@@ -458,6 +469,7 @@
new_mob << "You suddenly feel more... animalistic."
new_mob.update_pipe_vision()
. = new_mob
qdel(src)
@@ -475,6 +487,7 @@
new_mob.key = key
new_mob.a_intent = "harm"
new_mob << "You feel more... animalistic"
new_mob.update_pipe_vision()
. = new_mob
qdel(src)