From cdb3ff9e736267e0302078c1653a15d8a6a06cbb Mon Sep 17 00:00:00 2001 From: forest2001 Date: Thu, 22 Aug 2024 01:54:56 +0100 Subject: [PATCH] psy talk ability --- .../living/carbon/human/human_abilities.dm | 25 +++++++++++++++++++ .../chemistry_properties/prop_neutral.dm | 4 +-- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human_abilities.dm b/code/modules/mob/living/carbon/human/human_abilities.dm index 9976fe37a4ff..ebc27ef9b470 100644 --- a/code/modules/mob/living/carbon/human/human_abilities.dm +++ b/code/modules/mob/living/carbon/human/human_abilities.dm @@ -118,6 +118,31 @@ /datum/action/human_action/smartpack/repair_form/cooldown_check(obj/item/storage/backpack/marine/smartpack/S) return S.repairing + +/datum/action/human_action/psychic_whisper + name = "Psychic Whipser" + action_icon_state = "cultist_channel_hivemind" + +/datum/action/human_action/psychic_whisper/action_activate() + . = ..() + if(!ishuman(owner)) + return + var/mob/living/carbon/human/human_owner = owner + + if(human_owner.client.prefs.muted & MUTE_IC) + to_chat(human_owner, SPAN_DANGER("You cannot whisper (muted).")) + return + + var/list/target_list = list() + for(var/mob/living/carbon/possible_target in view(7, human_owner)) + if(possible_target == human_owner || !possible_target.client) continue + target_list += possible_target + + var/mob/living/carbon/target_mob = tgui_input_list(usr, "Target", "Send a Psychic Whisper to whom?", target_list, theme="hive_status") + if(!target_mob) return + + human_owner.psychic_whisper(target_mob) + /* CULT */ diff --git a/code/modules/reagents/chemistry_properties/prop_neutral.dm b/code/modules/reagents/chemistry_properties/prop_neutral.dm index 7bebb786aa34..9410f6f43ce7 100644 --- a/code/modules/reagents/chemistry_properties/prop_neutral.dm +++ b/code/modules/reagents/chemistry_properties/prop_neutral.dm @@ -531,11 +531,11 @@ ..() chem_host.pain.recalculate_pain() - remove_verb(chem_host, /mob/living/carbon/human/proc/psychic_whisper) + remove_action(chem_host, /datum/action/human_action/psychic_whisper) to_chat(chem_host, SPAN_NOTICE("The pain in your head subsides, and you are left feeling strangely alone.")) /datum/chem_property/neutral/encephalophrasive/reaction_mob(mob/chem_host, method=INGEST, volume, potency) - add_verb(chem_host, /mob/living/carbon/human/proc/psychic_whisper) + give_action(chem_host, /datum/action/human_action/psychic_whisper) to_chat(chem_host, SPAN_NOTICE("A terrible headache manifests, and suddenly it feels as though your mind is outside of your skull.")) /datum/chem_property/neutral/encephalophrasive/process(mob/living/chem_host, potency = 1, delta_time)