From 46b8b05b101eeef64ea30d2fac177a9989483713 Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Sun, 23 Jul 2017 04:25:46 -0400 Subject: [PATCH] Can Point While Lying Down --- code/modules/mob/dead/observer/observer.dm | 2 +- code/modules/mob/living/living.dm | 14 +++++++------- code/modules/mob/living/living_defense.dm | 6 +----- .../mob/living/silicon/robot/update_status.dm | 4 ++-- code/modules/mob/living/update_status.dm | 6 +++--- code/modules/mob/update_status.dm | 4 ++-- 6 files changed, 16 insertions(+), 20 deletions(-) diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 0750fd9841e..f73236d9720 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -657,7 +657,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp return FALSE -/mob/dead/observer/incapacitated() +/mob/dead/observer/incapacitated(ignore_restraints = FALSE, ignore_grab = FALSE, ignore_lying = FALSE) return TRUE //this is a mob verb instead of atom for performance reasons diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 487b6240b61..46e06826c18 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -168,23 +168,23 @@ //same as above /mob/living/pointed(atom/A as mob|obj|turf in view()) - if(incapacitated()) - return 0 + if(incapacitated(ignore_lying = TRUE)) + return FALSE if(status_flags & FAKEDEATH) - return 0 + return FALSE if(!..()) - return 0 + return FALSE var/obj/item/hand_item = get_active_hand() if(istype(hand_item, /obj/item/weapon/gun) && A != hand_item) if(a_intent == INTENT_HELP || !ismob(A)) visible_message("[src] points to [A] with [hand_item]") - return 1 + return TRUE A.visible_message("[src] points [hand_item] at [A]!", "[src] points [hand_item] at you!") A << 'sound/weapons/TargetOn.ogg' - return 1 + return TRUE visible_message("[src] points to [A]") - return 1 + return TRUE /mob/living/verb/succumb() set hidden = 1 diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index fc9d5823602..fa9624aa036 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -260,8 +260,4 @@ if(!supress_message) visible_message("[user] has grabbed [src] passively!") - return G - -/mob/living/incapacitated() - if(stat || paralysis || stunned || weakened || restrained()) - return 1 + return G \ No newline at end of file diff --git a/code/modules/mob/living/silicon/robot/update_status.dm b/code/modules/mob/living/silicon/robot/update_status.dm index a28aae28278..ca755748231 100644 --- a/code/modules/mob/living/silicon/robot/update_status.dm +++ b/code/modules/mob/living/silicon/robot/update_status.dm @@ -1,7 +1,7 @@ // No args for restraints because robots don't have those -/mob/living/silicon/robot/incapacitated() +/mob/living/silicon/robot/incapacitated(ignore_restraints = FALSE, ignore_grab = FALSE, ignore_lying = FALSE) if(stat || lockcharge || weakened || stunned || paralysis || !is_component_functioning("actuator")) - return 1 + return TRUE /mob/living/silicon/robot/update_stat() if(status_flags & GODMODE) diff --git a/code/modules/mob/living/update_status.dm b/code/modules/mob/living/update_status.dm index 257a4bc87c1..9466806a78b 100644 --- a/code/modules/mob/living/update_status.dm +++ b/code/modules/mob/living/update_status.dm @@ -56,9 +56,9 @@ return !(weakened || paralysis || stat || (status_flags & FAKEDEATH)) // Whether the mob is capable of actions or not -/mob/living/incapacitated(ignore_restraints = 0, ignore_grab = 0, ignore_lying = 0) - if(stat || paralysis || stunned || (weakened && lying) || (!ignore_restraints && restrained()) || (!ignore_lying && lying)) - return 1 +/mob/living/incapacitated(ignore_restraints = FALSE, ignore_grab = FALSE, ignore_lying = FALSE) + if(stat || paralysis || stunned || weakened || (!ignore_restraints && restrained()) || (!ignore_lying && lying)) + return TRUE // wonderful proc names, I know - used to check whether the blur overlay // should show or not diff --git a/code/modules/mob/update_status.dm b/code/modules/mob/update_status.dm index b9245fc1b6e..7e1df6171e7 100644 --- a/code/modules/mob/update_status.dm +++ b/code/modules/mob/update_status.dm @@ -43,8 +43,8 @@ /mob/proc/can_speak() return 1 -/mob/proc/incapacitated(ignore_restraints, ignore_grab) - return 0 +/mob/proc/incapacitated(ignore_restraints = FALSE, ignore_grab = FALSE, ignore_lying = FALSE) + return FALSE /mob/proc/restrained(ignore_grab) // All are created free