mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-07-18 11:30:35 +01:00
Psionics Rework: Kyoushiki Murasaki (#16951)
* Your unbeatable smile wrecks the media We wanna know your secret, so mysterious * Even the things she lacks end up in her area Such a perfect liar, you are * Miss ingenious, godly idol! (You're my savior, you're my saving grace) * So, what'd you eat today? What's your favorite book? * And if you wanna go to play, where are you gonna go? I haven't eaten at all * That's a secret No matter what you ask * She's elusive, evasive * So nonchalant Yet still shining bright; * Her secret: out of sight, as if visible, has the taste of honey There is none, none, none of this * And also none, none, none of that What type of guy do you like? * Who is your partner? Come on, answer me * "I don't understand what falling in love with someone else is like" (Hey! Hey!) I cannot tell what is true from what is a lie (Hey! Hey! Hey! Hey!) * And yet again, someone falls for such words (Hey! Hey! Hey! Hey!) Gently lulled into love * Drawing everyone's eyes You are the perfect, ultimate idol * Never to appear again A reincarnation of Venus * With that smile, with that "I love you" You captivate everyone * Even if those eyes, those words, are false They make up a perfect love (Ai) * Yeah, yeah, that girl stands out, exceptional We were extras from the beginning * BS that acted as adornments for the star's leading role Everything we've accomplished is thanks to her — no! * How impudent How could envy and jealousy not exist? * examine * This isn't some made-up drama for appearances So I cannot forgive * You're not perfect, I cannot forgive you I cannot forgive myself * I cannot accept any version of you other than the one stronger than everyone else * Everybody trusts and worships The very strongest, most invincible idol * Weaknesses and whatnot are not to be found Carrying the morning star within * Showing any weakness is no good, no good (Hey! Hey!) Don't let them see anything that they don't want to know (Hey! Hey! Hey! Hey!) * Anything but being one-of-a-kind is a definite no, no (Hey! Hey! Hey! Hey!) That is the real love (Hey!) * can commune fixes * can commune rename * fix is psi blocked * fixes agian * My signature smile that fires up the media The only secret that I shall keep is this: * My career was built upon fake "I love you"s This is love, in my own way * Even the flowing sweats are beautiful Aqua These eyelids that hid the Ruby within * Sing, dance, flutter, I am Maria — Right, lying is the most exquisite form of love * I have never been loved by anyone Nor have I loved anyone else * That such lies of mine will become true someday I trust in it * Someday, surely, I will have it all in hand I am such a greedy idol * Because I wish to love everybody properly in a life-sized way I shall lie today as well (Hey! Hey! Hey! Hey!) * a * b * c * d * And yet, still, (Hey! Hey!) I have been unable to tell you, and you, alone (Hey! Hey! Hey! Hey!) * jesus christ * Update code/controllers/subsystems/processing/psi.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> * Update code/controllers/subsystems/processing/psi.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> * Update code/controllers/subsystems/processing/psi.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> * Update code/game/gamemodes/technomancer/spell_objs.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> * Update code/modules/mob/living/carbon/human/human.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> * Update code/modules/mob/living/carbon/human/human_helpers.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> * Update code/modules/organs/organ_external.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> * Update code/modules/psionics/abilities/assay.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> * Update code/modules/psionics/abilities/command.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> * Update code/modules/psionics/abilities/emotional_suggestion.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> * Update code/modules/psionics/abilities/grip.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> * Update code/modules/psionics/abilities/grip.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> * Update code/modules/psionics/abilities/mend.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> * Update code/modules/psionics/abilities/mend.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> * Update code/modules/psionics/abilities/mend.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> * Update code/modules/psionics/abilities/psi_search.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> * Update code/modules/psionics/abilities/shockwave.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> * Update code/modules/psionics/abilities/shockwave.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> * Update code/modules/psionics/abilities/singularity.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> * Update code/modules/psionics/abilities/time_stop.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> * Update code/modules/psionics/events/mini_spasm.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> * Update code/modules/psionics/interface/ui_hub.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> * Update code/modules/psionics/interface/ui_hub.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> * Update code/modules/psionics/interface/ui_hub.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> * Update code/modules/psionics/interface/ui_hub.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> * Update code/modules/psionics/interface/ui_hub.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> * Update code/modules/psionics/interface/ui_hub.dm Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com> * cl update --------- Co-authored-by: Matt Atlas <liermattia@gmail.com> Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com>
This commit is contained in:
@@ -1,40 +1,100 @@
|
||||
var/global/list/psychic_ranks_to_strings = list("Latent", "Operant", "Masterclass", "Grandmasterclass", "Paramount")
|
||||
var/global/list/psychic_ranks_to_strings = list("Psionically Sensitive", "Psionically Harmonious", "Psionic Apex", "Limitless")
|
||||
|
||||
/var/datum/controller/subsystem/processing/psi/SSpsi
|
||||
|
||||
/datum/controller/subsystem/processing/psi
|
||||
name = "Psychics"
|
||||
name = "Psionics"
|
||||
priority = SS_PRIORITY_PSYCHICS
|
||||
flags = SS_POST_FIRE_TIMING | SS_BACKGROUND
|
||||
flags = SS_BACKGROUND
|
||||
|
||||
var/list/faculties_by_id = list()
|
||||
var/list/faculties_by_name = list()
|
||||
var/list/all_aura_images = list()
|
||||
var/list/all_psi_complexes = list()
|
||||
var/list/psi_dampeners = list()
|
||||
var/list/psi_monitors = list()
|
||||
var/list/armor_faculty_by_type = list()
|
||||
var/list/faculties_by_intent = list()
|
||||
var/checking_nlom = FALSE
|
||||
var/last_nlom_awareness_check = 0
|
||||
var/completing_nlom = FALSE
|
||||
var/complete_nlom_time = 0
|
||||
var/list/nlom_votes = list()
|
||||
var/list/nlom_voters = list()
|
||||
var/list/all_aura_images = list()
|
||||
var/list/all_psi_complexes = list()
|
||||
|
||||
/datum/controller/subsystem/processing/psi/New()
|
||||
NEW_SS_GLOBAL(SSpsi)
|
||||
|
||||
/datum/controller/subsystem/processing/psi/proc/get_faculty(var/faculty)
|
||||
return faculties_by_name[faculty] || faculties_by_id[faculty]
|
||||
/datum/controller/subsystem/processing/psi/fire(resumed)
|
||||
..()
|
||||
if((world.time >= (last_nlom_awareness_check + 30 MINUTES)) && !checking_nlom && !completing_nlom)
|
||||
checking_nlom = TRUE
|
||||
nlom_votes = list(
|
||||
"Calm" = 0,
|
||||
"Happy" = 0,
|
||||
"Sad" = 0,
|
||||
"Fearful" = 0,
|
||||
"Angry" = 0,
|
||||
"Stressed" = 0,
|
||||
"Confused" = 0
|
||||
)
|
||||
for(var/datum/psi_complexus/PC in all_psi_complexes)
|
||||
if(PC.psionic_rank >= PSI_RANK_SENSITIVE)
|
||||
to_chat(PC.owner, SPAN_NOTICE(FONT_HUGE("The Nlom field prompts you for your emotional state.")))
|
||||
to_chat(PC.owner,
|
||||
"<a href='?src=\ref[src];emotion=Calm;voter=[ref(PC)]'>Calm</a> | <a href='?src=\ref[src];emotion=Happy;voter=[ref(PC)]'>Happy</a> | \
|
||||
<a href='?src=\ref[src];emotion=Sad;voter=[ref(PC)]'>Sad</a> | <a href='?src=\ref[src];emotion=Fearful;voter=[ref(PC)]'>Fearful</a> | \
|
||||
<a href='?src=\ref[src];emotion=Angry;voter=[ref(PC)]'>Angry</a> | <a href='?src=\ref[src];emotion=Stressed;voter=[ref(PC)]'>Stressed</a> | \
|
||||
<a href='?src=\ref[src];emotion=Confused;voter=[ref(PC)]'>Confused</a")
|
||||
complete_nlom_time = world.time + 2 MINUTES
|
||||
completing_nlom = TRUE
|
||||
if(completing_nlom && world.time >= complete_nlom_time)
|
||||
var/highest_emotion = "Happy"
|
||||
for(var/emotion in nlom_votes)
|
||||
if(nlom_votes[highest_emotion] < nlom_votes[emotion])
|
||||
highest_emotion = emotion
|
||||
for(var/datum/psi_complexus/PC in all_psi_complexes)
|
||||
if(PC.psionic_rank >= PSI_RANK_SENSITIVE)
|
||||
var/static/nlom_to_span = list(
|
||||
"Calm" = "good",
|
||||
"Happy" = "good",
|
||||
"Sad" = "notice",
|
||||
"Fearful" = "alien",
|
||||
"Angry" = "danger",
|
||||
"Stressed" = "warning",
|
||||
"Confused" = "cult"
|
||||
)
|
||||
var/static/nlom_to_chat_text = list(
|
||||
"Calm" = "calmness",
|
||||
"Happy" = "happiness",
|
||||
"Sad" = "sadness",
|
||||
"Fearful" = "fear",
|
||||
"Angry" = "anger",
|
||||
"Stressed" = "stress",
|
||||
"Confused" = "confusion"
|
||||
)
|
||||
if(nlom_votes[highest_emotion] > 0)
|
||||
to_chat(PC.owner, SPAN_NOTICE(FONT_HUGE("A sense of <b><span class='[nlom_to_span[highest_emotion]]'>[nlom_to_chat_text[highest_emotion]]</span></b> washes over you.")))
|
||||
else
|
||||
to_chat(PC.owner, SPAN_WARNING(FONT_HUGE("The Nlom is silent and still. You feel uneasy.")))
|
||||
checking_nlom = FALSE
|
||||
completing_nlom = FALSE
|
||||
last_nlom_awareness_check = world.time
|
||||
nlom_votes.Cut()
|
||||
nlom_voters.Cut()
|
||||
|
||||
/datum/controller/subsystem/processing/psi/Initialize()
|
||||
/datum/controller/subsystem/processing/psi/Topic(href, href_list)
|
||||
. = ..()
|
||||
if(.)
|
||||
return
|
||||
|
||||
var/list/faculties = subtypesof(/datum/psionic_faculty)
|
||||
for(var/ftype in faculties)
|
||||
var/datum/psionic_faculty/faculty = new ftype
|
||||
faculties_by_id[faculty.id] = faculty
|
||||
faculties_by_name[faculty.name] = faculty
|
||||
faculties_by_intent[faculty.associated_intent] = faculty.id
|
||||
|
||||
var/list/powers = subtypesof(/datum/psionic_power)
|
||||
for(var/ptype in powers)
|
||||
var/datum/psionic_power/power = new ptype
|
||||
if(power.faculty)
|
||||
var/datum/psionic_faculty/faculty = get_faculty(power.faculty)
|
||||
if(faculty)
|
||||
faculty.powers |= power
|
||||
if(href_list["emotion"])
|
||||
var/emotion = href_list["emotion"]
|
||||
var/datum/psi_complexus/PC = locate(href_list["voter"])
|
||||
if(PC in nlom_voters)
|
||||
to_chat(PC.owner, SPAN_WARNING("You have already sent your emotional state to the Nlom."))
|
||||
return
|
||||
if(emotion in nlom_votes)
|
||||
var/base_vote = 1
|
||||
var/psi_rank = PC.get_rank()
|
||||
if(psi_rank == PSI_RANK_HARMONIOUS)
|
||||
base_vote = 2
|
||||
else if(psi_rank == PSI_RANK_APEX)
|
||||
base_vote = 4
|
||||
nlom_votes[emotion] += base_vote
|
||||
to_chat(PC.owner, SPAN_NOTICE("You have transmitted your emotional state to the Nlom."))
|
||||
nlom_voters |= PC
|
||||
|
||||
Reference in New Issue
Block a user