From cd2baa7a9e502e47f4db67530a1e87c481e402f0 Mon Sep 17 00:00:00 2001 From: forest2001 <41653574+realforest2001@users.noreply.github.com> Date: Tue, 25 Jul 2023 13:24:25 +0100 Subject: [PATCH] Yautja Falcon Relay (#3981) # About the pull request This PR allows the Yautja Falcon Drones to relay chat back to their operator. # Explain why it's good for the game Allows Yautja to stalk their prey somewhat more effectively, also makes reasonable sense as a spy/recon drone would hopefully hear things around it, as it's not that far above the heads of those it's watching. # Testing Photographs and Procedure
Screenshots & Videos Put screenshots and videos here with an empty line between the screenshots and the `
` tags.
# Changelog :cl: add: Allowed Falcon Drones to relay speech back to their operators. /:cl: --- code/modules/cm_preds/falcon.dm | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/code/modules/cm_preds/falcon.dm b/code/modules/cm_preds/falcon.dm index 7b369d6b1032..19977a7bd84a 100644 --- a/code/modules/cm_preds/falcon.dm +++ b/code/modules/cm_preds/falcon.dm @@ -11,12 +11,27 @@ ) flags_equip_slot = SLOT_EAR flags_item = ITEM_PREDATOR + flags_atom = FPRINT|USES_HEARING + + +/obj/item/falcon_drone/hear_talk(mob/living/sourcemob, message, verb, datum/language/language, italics) + var/mob/hologram/falcon/hologram = loc + if(!istype(hologram)) + return FALSE + var/mob/living/carbon/human/user = hologram.owned_bracers.loc + if(!ishuman(user) || user == sourcemob) + return FALSE + + to_chat(user, SPAN_YAUTJABOLD("Falcon Relay: [sourcemob.name] [verb], \"[message]\"")) + if(user && user.client && user.client.prefs && !user.client.prefs.lang_chat_disabled \ + && !user.ear_deaf && user.say_understands(sourcemob, language)) + sourcemob.langchat_display_image(user) + + return TRUE /obj/item/falcon_drone/get_examine_location(mob/living/carbon/human/wearer, mob/examiner, slot, t_he = "They", t_his = "their", t_him = "them", t_has = "have", t_is = "are") switch(slot) - if(WEAR_L_EAR) - return "on [t_his] shoulder" - if(WEAR_R_EAR) + if(WEAR_L_EAR, WEAR_R_EAR) return "on [t_his] shoulder" return ..()