no longer can you wave at unseen things, nor bystanders will be informed of what you are waving at if they can't see it themselves.

This commit is contained in:
Ghommie
2020-01-23 04:18:23 +01:00
parent 86c5d43a1b
commit 0bfe3ab87e
+32 -11
View File
@@ -9,21 +9,42 @@
return TRUE
/mob/living/carbon/human/AltRangedAttack(atom/A, params)
if(isturf(A) || incapacitated()) // pretty annoying to wave your fist at floors and walls. And useless.
return TRUE
var/list/target_viewers = viewers(11, A) //Byond proc, doesn't check for blindness.
if(!(src in target_viewers)) //click catcher issuing calls for out of view turfs.
return TRUE
if(!has_active_hand())
to_chat(src, "<span class='notice'>You ponder your life choices and sigh.</span>")
return TRUE
var/list/src_viewers = get_hearers_in_view(DEFAULT_MESSAGE_RANGE, src) - src // src has a different message.
var/the_action = "waves to [A]"
var/what_action = "waves to something you can't see"
var/self_action = "wave to [A]"
if(!incapacitated())
switch(a_intent)
if(INTENT_HELP)
visible_message("<span class='notice'>[src] waves to [A].</span>", "<span class='notice'>You wave to [A].</span>")
if(INTENT_DISARM)
visible_message("<span class='notice'>[src] shoos away [A].</span>", "<span class='notice'>You shoo away [A].</span>")
if(INTENT_GRAB)
visible_message("<span class='notice'>[src] beckons [A] to come.</span>", "<span class='notice'>You beckon [A] to come.</span>") //This sounds lewder than it actually is. Fuck.
if(INTENT_HARM)
visible_message("<span class='notice'>[src] shakes [p_their()] fist at [A].</span>", "<span class='notice'>You shake your fist at [A].</span>")
return TRUE
switch(a_intent)
if(INTENT_DISARM)
the_action = "shoos away [A]"
what_action = "shoo away something you can't see"
self_action = "shoo away [A]"
if(INTENT_GRAB)
the_action = "beckons [A] to come"
what_action = "beckons something you can't see to come"
self_action = "beckon [A] to come"
if(INTENT_HARM)
var/pronoun = "[p_their()]"
the_action = "shakes [pronoun] fist at [A]"
what_action = "shakes [pronoun] fist at something you can't see"
self_action = "shake your fist at [A]"
if(!eye_blind)
to_chat(src, "You [self_action].")
for(var/B in src_viewers)
var/mob/M = B
if(!M.eye_blind)
var/message = (M in target_viewers) ? the_action : what_action
to_chat(M, "[src] [message].", MSG_VISUAL)
return TRUE
/atom/proc/alt_attack_hand(mob/user)
return FALSE