Point Rework

This commit is contained in:
Fox-McCloud
2015-09-17 22:26:03 -04:00
parent a788d22e7e
commit 480613208d
9 changed files with 55 additions and 44 deletions
+10 -1
View File
@@ -630,4 +630,13 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
return 0
/mob/dead/observer/can_admin_interact()
return check_rights(R_ADMIN, 0, src)
return check_rights(R_ADMIN, 0, src)
//this is a mob verb instead of atom for performance reasons
//see /mob/verb/examinate() in mob.dm for more info
//overriden here and in /mob/living for different point span classes and sanity checks
/mob/dead/observer/pointed(atom/A as mob|obj|turf in view())
if(!..())
return 0
usr.visible_message("<span class='deadsay'><b>[src]</b> points to [A].</span>")
return 1
@@ -518,9 +518,9 @@
if ("point")
if (!src.restrained())
var/mob/M = null
var/atom/M = null
if (param)
for (var/atom/A as mob|obj|turf|area in view(null, null))
for (var/atom/A as mob|obj|turf in view())
if (param == A.name)
M = A
break
@@ -528,11 +528,7 @@
if (!M)
message = "<B>[src]</B> points."
else
M.point()
if (M)
message = "<B>[src]</B> points to [M]."
else
pointed(M)
m_type = 1
if ("raise")
+12
View File
@@ -25,6 +25,18 @@
special_role = null
current << "\red <FONT size = 3><B>The fog clouding your mind clears. You remember nothing from the moment you were implanted until now..(You don't remember who enslaved you)</B></FONT>"
*/
//same as above
/mob/living/pointed(atom/A as mob|obj|turf in view())
if(src.stat || !src.canmove || src.restrained())
return 0
if(src.status_flags & FAKEDEATH)
return 0
if(!..())
return 0
visible_message("<b>[src]</b> points to [A]")
return 1
/mob/living/verb/succumb()
set hidden = 1
if (InCritical())
@@ -46,11 +46,6 @@
set src = usr.contents
return 0
/mob/aiEye/point()
set popup_menu = 0
set src = usr.contents
return 0
// Use this when setting the aiEye's location.
// It will also stream the chunk that the new loc is in.
/mob/aiEye/setLoc(var/T, var/cancel_tracking = 1)
+27
View File
@@ -73,6 +73,8 @@
/mob/visible_message(var/message, var/self_message, var/blind_message)
for(var/mob/M in viewers(src))
if(M.see_invisible < invisibility)
continue //can't view the invisible
var/msg = message
if(self_message && M==src)
msg = self_message
@@ -494,6 +496,31 @@ var/list/slot_equipment_priority = list( \
face_atom(A)
A.examine(src)
//same as above
//note: ghosts can point, this is intended
//visible_message will handle invisibility properly
//overriden here and in /mob/dead/observer for different point span classes and sanity checks
/mob/verb/pointed(atom/A as mob|obj|turf in view())
set name = "Point To"
set category = "Object"
if(!src || !isturf(src.loc))
return 0
if(istype(A, /obj/effect/decal/point))
return 0
var/tile = get_turf(A)
if (!tile)
return 0
var/obj/P = new /obj/effect/decal/point(tile)
P.invisibility = invisibility
spawn (20)
if(P)
qdel(P)
return 1
/mob/proc/ret_grab(obj/effect/list_container/mobl/L as obj, flag)
if ((!( istype(l_hand, /obj/item/weapon/grab) ) && !( istype(r_hand, /obj/item/weapon/grab) )))
if (!( L ))