Psi-Protect Pills (#22449)

requires #22442 

This PR adds the new Psi-Protect pills required by the current Lemurian
Sea lore arc. They can be obtained exclusively via the psychiatric
medicine selection, and are a new prescription drug marketed by Zeng-Hu
Pharmaceuticals as a solution for ADPI exposure that doesn't require a
more invasive implant.

When taken, these pills provide 10 minutes of temporary protection from
telepathy, as well as a reduction in psi-sensitivity.

In the loadouts:

<img width="312" height="72" alt="image"
src="https://github.com/user-attachments/assets/2dc3a0bd-1d8e-4913-819b-b30fd5718d27"
/>

Spawning in:

<img width="914" height="98" alt="image"
src="https://github.com/user-attachments/assets/79223fe0-56f3-4fbc-9a1f-7afdaa87baa8"
/>

Messages playing when taking the pill
 
<img width="602" height="55" alt="image"
src="https://github.com/user-attachments/assets/2175b5bd-3b7f-47ee-957d-54154bc27197"
/>

Verifying in testing that the component correctly attaches

<img width="504" height="278" alt="image"
src="https://github.com/user-attachments/assets/f65a2d48-0337-47d2-ad79-fce548a07ab9"
/>

And verifying that component TTD is set, as well as Signals are being
correctly registered.

<img width="512" height="692" alt="image"
src="https://github.com/user-attachments/assets/31416703-1c59-47f7-bc80-36329d43905a"
/>
This commit is contained in:
VMSolidus
2026-05-18 19:18:23 +00:00
committed by GitHub
parent 6738b91576
commit be6b35485d
9 changed files with 270 additions and 2 deletions
@@ -179,6 +179,9 @@
psych_meds["Orastabin pills"] = /obj/item/storage/pill_bottle/orastabin
psych_meds["Parvosil pills"] = /obj/item/storage/pill_bottle/parvosil
psych_meds["Corophenidate pills"] = /obj/item/storage/pill_bottle/corophenidate
psych_meds["Psi-protect pills"] = /obj/item/storage/pill_bottle/psi_protect/yomi_genetics
psych_meds["Psi-protect pills (cheap)"] = /obj/item/storage/pill_bottle/psi_protect/yomi_genetics/cheap
psych_meds["Psi-protect pills (expensive)"] = /obj/item/storage/pill_bottle/psi_protect/yomi_genetics/expensive
gear_tweaks += new /datum/gear_tweak/path(psych_meds)
/datum/gear/drugs_meds/otc
@@ -20,7 +20,7 @@
var/ignores_drug_resistance = FALSE
/singleton/reagent/drugs/initial_effect(mob/living/carbon/human/M, alien, datum/reagents/holder)
if (effect_messages && REALTIMEOFDAY >= M.next_drug_message)
if (length(initial_effect_message_list) && effect_messages && REALTIMEOFDAY >= M.next_drug_message)
var/msg = pick(initial_effect_message_list)
to_chat(M, SPAN_GOOD("[msg]"))
M.next_drug_message = REALTIMEOFDAY + DRUG_MESSAGE_COOLDOWN
@@ -35,7 +35,7 @@
power = max(power - 2, 0)
/singleton/reagent/drugs/final_effect(mob/living/carbon/M, datum/reagents/holder)
if (effect_messages && REALTIMEOFDAY >= M.next_sober_message)
if (length(sober_message_list) && effect_messages && REALTIMEOFDAY >= M.next_sober_message)
var/msg = pick(sober_message_list)
to_chat(M, SPAN_WARNING("[msg]"))
M.next_sober_message = REALTIMEOFDAY + SOBER_MESSAGE_COOLDOWN
@@ -847,4 +847,28 @@
return
. = ..()
/singleton/reagent/drugs/psiblock
name = "PsiProtect"
description = "A drug that provides temporary protection against psionic effects. It is marketed towards explorers intending to enter or travel near to the Lemurian Sea."
color = "#b0b0b0"
taste_description = "inexplicably the color grey itself, then all other tastes fade into nothingness"
initial_effect_message_list = null
sober_message_list = null
var/component_to_add = /datum/component/timed_life/psiblock_drugs
var/component_timer = 10 MINUTES
/singleton/reagent/drugs/psiblock/affect_blood(mob/living/carbon/M, alien, removed, datum/reagents/holder)
var/datum/component/timed_life/psiblock_drugs/psiblock_comp = M.LoadComponent(component_to_add, component_timer)
psiblock_comp.refresh()
/singleton/reagent/drugs/psiblock/yomi_genetics
component_to_add = /datum/component/timed_life/psiblock_drugs/yomi_genetics
/singleton/reagent/drugs/psiblock/yomi_genetics/cheap
component_to_add = /datum/component/timed_life/psiblock_drugs/yomi_genetics/cheap
/singleton/reagent/drugs/psiblock/yomi_genetics/expensive
component_to_add = /datum/component/timed_life/psiblock_drugs/yomi_genetics/expensive
component_timer = 8 MINUTES
#undef DRUG_MESSAGE_DELAY
@@ -411,3 +411,18 @@
desc = "A strong psychotropic derived from certain species of mushroom."
icon_state = "pill10"
reagents_to_add = list(/singleton/reagent/drugs/psilocybin = 5)
/obj/item/reagent_containers/pill/psi_protect
name = "5u Psi-protect Pill"
desc = "A pill used to protect against ADPI and treat various psionic disorders"
icon_state = "pill10"
reagents_to_add = list(/singleton/reagent/drugs/psiblock = 5)
/obj/item/reagent_containers/pill/psi_protect/yomi_genetics
reagents_to_add = list(/singleton/reagent/drugs/psiblock/yomi_genetics = 5)
/obj/item/reagent_containers/pill/psi_protect/yomi_genetics/cheap
reagents_to_add = list(/singleton/reagent/drugs/psiblock/yomi_genetics/cheap = 5)
/obj/item/reagent_containers/pill/psi_protect/yomi_genetics/expensive
reagents_to_add = list(/singleton/reagent/drugs/psiblock/yomi_genetics/expensive = 5)