From b37b2651d3da9a487ba2c3b723cfa2054a5c1532 Mon Sep 17 00:00:00 2001 From: tkdrg Date: Fri, 24 Oct 2014 03:00:58 -0300 Subject: [PATCH 1/2] Point is now a mob verb to reduce lag --- code/game/objects/effects/decals/misc.dm | 5 ----- code/game/verbs/atom_verbs.dm | 25 ----------------------- code/modules/mob/living/emote.dm | 9 +++----- code/modules/mob/mob.dm | 26 ++++++++++++++++++++++++ 4 files changed, 29 insertions(+), 36 deletions(-) diff --git a/code/game/objects/effects/decals/misc.dm b/code/game/objects/effects/decals/misc.dm index 2919abd0090..c8cb4754943 100644 --- a/code/game/objects/effects/decals/misc.dm +++ b/code/game/objects/effects/decals/misc.dm @@ -6,11 +6,6 @@ anchored = 1 mouse_opacity = 0 -/obj/effect/decal/point/point() - set src in oview() - set hidden = 1 - return - // Used for spray that you spray at walls, tables, hydrovats etc /obj/effect/decal/spraystill density = 0 diff --git a/code/game/verbs/atom_verbs.dm b/code/game/verbs/atom_verbs.dm index 2ff6efcf260..2726c11875f 100644 --- a/code/game/verbs/atom_verbs.dm +++ b/code/game/verbs/atom_verbs.dm @@ -6,28 +6,3 @@ if(Adjacent(usr)) usr.start_pulling(src) return - -/atom/verb/point() - set name = "Point To" - set category = "Object" - set src in oview() - var/atom/this = src//detach proc from src - src = null - - if(!usr || !isturf(usr.loc)) - return - if(usr.stat || usr.restrained()) - return - if(usr.status_flags & FAKEDEATH) - return - - var/tile = get_turf(this) - if (!tile) - return - - var/obj/P = new /obj/effect/decal/point(tile) - spawn (20) - if(P) - P.loc = null - - usr.visible_message("[usr] points to [this]") diff --git a/code/modules/mob/living/emote.dm b/code/modules/mob/living/emote.dm index 38586236e9a..ed75ad5e894 100644 --- a/code/modules/mob/living/emote.dm +++ b/code/modules/mob/living/emote.dm @@ -158,19 +158,16 @@ 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(1, src)) + for (var/atom/A as mob|obj|turf in view()) if (param == A.name) M = A break if (!M) message = "[src] points." else - M.point() - if (M) - message = "[src] points to [M]." - else + pointed(M) m_type = 1 if ("scream") diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index a8a5cb65d9b..611596e6945 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -298,6 +298,32 @@ var/list/slot_equipment_priority = list( \ face_atom(A) A.examine(src) +//same as above +/mob/verb/pointed(atom/A as mob|obj|turf in view()) + set name = "Point To" + set category = "Object" + + if(!src || !isturf(src.loc)) + return + if(src.stat || src.restrained()) + return + if(src.status_flags & FAKEDEATH) + return + if(istype(A, /obj/effect/decal/point)) + return + + var/tile = get_turf(A) + if (!tile) + return + + var/obj/P = new /obj/effect/decal/point(tile) + spawn (20) + if(P) + P.loc = null + + usr.visible_message("[src] points to [A]") + + /mob/verb/mode() set name = "Activate Held Object" set category = "Object" From c83bf83108f46c3de6a7011e89ae0cfdb028cb4b Mon Sep 17 00:00:00 2001 From: tkdrg Date: Fri, 24 Oct 2014 03:28:34 -0300 Subject: [PATCH 2/2] Fixes #2098 --- code/modules/mob/mob.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 611596e6945..83e54e7ad10 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -309,6 +309,8 @@ var/list/slot_equipment_priority = list( \ return if(src.status_flags & FAKEDEATH) return + if(!(A in view(src.loc))) + return if(istype(A, /obj/effect/decal/point)) return