Skip to content

Commit

Permalink
d
Browse files Browse the repository at this point in the history
  • Loading branch information
Matt Atlas committed Jul 26, 2023
1 parent b2f4b2c commit ff202ce
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@
display_name = "psionic receiver"
description = "An augment installed into the head that functions as a surrogate for a missing zona bovinae, also functioning as a filter for the psionically-challenged."
path = /obj/item/organ/internal/augment/psi
whitelisted = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_ZHAN, SPECIES_TAJARA_MSAI, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_BREEDER, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL)
whitelisted = list(SPECIES_HUMAN, SPECIES_HUMAN_OFFWORLD, SPECIES_TAJARA, SPECIES_TAJARA_ZHAN, SPECIES_TAJARA_MSAI, SPECIES_UNATHI, SPECIES_VAURCA_WORKER, SPECIES_VAURCA_WARRIOR, SPECIES_VAURCA_BULWARK, SPECIES_VAURCA_BREEDER, SPECIES_IPC, SPECIES_IPC_G1, SPECIES_IPC_G2, SPECIES_IPC_XION, SPECIES_IPC_ZENGHU, SPECIES_IPC_BISHOP, SPECIES_IPC_SHELL)
/datum/gear/augment/memory_inhibitor
display_name = "memory inhibitor"
description = "A Zeng Hu implant that allows one to have control over their memories, allowing you to set a timer and remove any memories developed within it."
Expand Down
23 changes: 10 additions & 13 deletions code/modules/psionics/abilities/read_mind.dm
Original file line number Diff line number Diff line change
Expand Up @@ -44,32 +44,29 @@
safe_mode = TRUE

user.visible_message(SPAN_WARNING("[user] lays a palm on [hit_atom]'s forehead..."))
var/question = sanitize(input(user, "Ask your question.", "Read Mind") as null|text)

if(!question || user.incapacitated())
var/question
if(!safe_mode)
question = sanitize(input(user, "Ask your question.", "Read Mind") as null|text)
if((!safe_mode && !question) || user.incapacitated())
return TRUE

var/started_mindread = world.time
if(target.has_psi_aug())
to_chat(user, SPAN_NOTICE("<b>Your psyche links with [target]'s psi-receiver, seeking an answer from their mind's surface: <i>[question]</i></b>"))
to_chat(target, SPAN_NOTICE("<b>[user]'s psyche links with your psi-receiver. [safe_mode ? "You must answer with what you think when the following question comes to mind.\
It does not have to be the answer, just your immediate thought." : "You cannot avoid the question, and must answer truthfully."] <i>[question]</i></b>"))
to_chat(user, SPAN_NOTICE("<b>Your psyche links with [target]'s psi-receiver, seeking [safe_mode ? "their surface thoughts." : "an answer from their mind's surface: <i>[question]</i>"]</b>"))
to_chat(target, SPAN_NOTICE("<b>[user]'s psyche links with your psi-receiver. [safe_mode ? "What are you thinking about, currently?" : "You cannot avoid the following question, and must answer truthfully: <i>[question]</i>"]</b>"))
else
to_chat(user, SPAN_NOTICE("<b>You dip your mentality into the surface layer of \the [target]'s mind, seeking an answer: <i>[question]</i></b>"))
to_chat(target, SPAN_NOTICE("<b>Your mind is compelled to answer. [safe_mode ? "You must answer with what you think when the following question comes to mind.\
It does not have to be the answer, just your immediate thought." : "You cannot avoid the question, and must answer truthfully."]: <i>[question]</i></b>"))
var/answer = sanitize(input(target, "[question]\n[safe_mode ? "You must answer with your first thoughts when you think about the question. They do not have to be an answer, only \
your first impression, or thoughts." : "You may not resist, \
and must answer truthfully."]\nYou have 25 seconds to type a response.", "Read Mind") as null|text)
to_chat(target, SPAN_NOTICE("<b>Your mind is compelled to answer. [safe_mode ? "What are you thinking about, currently?" : "You cannot avoid the following question, and must answer truthfully: <i>[question]</i>"]</b>"))
var/answer = sanitize(input(target, "[question]\n[safe_mode ? "You must answer with what you are currently thinking about." : "You must answer truthfully."]\nYou have 25 seconds to type a response.", "Read Mind") as null|text)
if(!answer || world.time > started_mindread + 25 SECONDS || user.stat != CONSCIOUS)
to_chat(user, SPAN_NOTICE("<b>You receive nothing useful from \the [target].</b>"))
to_chat(target, SPAN_NOTICE("Your mind blanks out momentarily."))
else
if(safe_mode)
to_chat(user, SPAN_NOTICE("<b>You skim the first thoughts that come to mind when [target] thinks about your question: <i>[answer]</i></b>"))
to_chat(user, SPAN_NOTICE("<b>You skim the first thoughts in [target]'s mind: <i>[answer]</i></b>"))
else
to_chat(user, SPAN_NOTICE("<b>You pry the answer to your question from [target]'s mind: <i>[answer]</i></b>"))
msg_admin_attack("[key_name(user)] read mind of [key_name(target)] [safe_mode ? "skimming their surface thoughts" : "forcing them to answer truthfully"] with question \"[question]\" and [answer?"got answer \"[answer]\".":"got no answer."]")
msg_admin_attack("[key_name(user)] read mind of [key_name(target)] [safe_mode ? "skimming their surface thoughts" : "forcing them to answer truthfully with question \"[question]\""] and [answer?"got answer \"[answer]\".":"got no answer."]")
if(safe_mode)
target.confused += 15
to_chat(target, SPAN_WARNING("You feel somewhat nauseated..."))
Expand Down

0 comments on commit ff202ce

Please sign in to comment.