mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-29 07:59:01 +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:
co-authored by
Fluffy
Matt Atlas
parent
a894c77990
commit
d9b79db97b
@@ -0,0 +1,13 @@
|
||||
/datum/component/armor/psionic
|
||||
full_block_message = "You block the blow with your mind!"
|
||||
partial_block_message = "You soften the blow with your mind!"
|
||||
|
||||
/datum/component/armor/psionic/Initialize(list/armor, armor_type)
|
||||
. = ..()
|
||||
var/datum/psi_complexus/PC = parent
|
||||
PC.armor_component = src
|
||||
|
||||
/datum/component/armor/psionic/Destroy()
|
||||
var/datum/psi_complexus/PC = parent
|
||||
PC.armor_component = null
|
||||
return ..()
|
||||
@@ -5,16 +5,17 @@
|
||||
..()
|
||||
if(psi)
|
||||
psi.update(TRUE)
|
||||
if(!psi.suppressed)
|
||||
psi.show_auras()
|
||||
|
||||
/mob/living/Destroy()
|
||||
QDEL_NULL(psi)
|
||||
. = ..()
|
||||
|
||||
/mob/living/proc/set_psi_rank(var/faculty, var/rank, var/take_larger, var/defer_update, var/temporary)
|
||||
/mob/living/proc/set_psi_rank(var/rank, var/defer_update, var/temporary)
|
||||
if(HAS_TRAIT(src, TRAIT_PSIONICALLY_DEAF))
|
||||
to_chat(src, SPAN_WARNING("Something tingles in your head."))
|
||||
return
|
||||
if(!psi)
|
||||
psi = new(src)
|
||||
var/current_rank = psi.get_rank(faculty)
|
||||
if(current_rank != rank && (!take_larger || current_rank < rank))
|
||||
psi.set_rank(faculty, rank, defer_update, temporary)
|
||||
var/current_rank = psi.get_rank()
|
||||
if(current_rank != rank && current_rank < rank)
|
||||
psi.set_rank(rank, defer_update, temporary)
|
||||
|
||||
@@ -1,79 +0,0 @@
|
||||
/mob/living/proc/show_psi_assay(var/mob/viewer)
|
||||
|
||||
if(!viewer) viewer = usr
|
||||
|
||||
var/use_He_is = "You are"
|
||||
var/use_He_has = "You have"
|
||||
if(istype(machine) || viewer != src)
|
||||
use_He_is = "[get_pronoun("He")] [get_pronoun("is")]"
|
||||
use_He_has = "[get_pronoun("He")] [get_pronoun("has")]"
|
||||
|
||||
var/list/dat = list()
|
||||
|
||||
dat += "<h2>Summary</h2>"
|
||||
dat += "<hr>"
|
||||
|
||||
if(psi)
|
||||
|
||||
// Hi Warhammer 40k rating system, how are you?
|
||||
// I hope you get along with the Galactic Milieu metapsychics.
|
||||
var/use_rating
|
||||
var/effective_rating = psi.rating
|
||||
if(effective_rating > 1 && psi.suppressed)
|
||||
effective_rating = max(0, psi.rating-2)
|
||||
var/rating_descriptor
|
||||
|
||||
if(viewer != usr && thralls.is_antagonist(mind) && ishuman(viewer))
|
||||
var/mob/living/H = viewer
|
||||
if(H.psi && H.psi.get_rank(PSI_REDACTION) >= PSI_RANK_GRANDMASTER)
|
||||
dat += "<font color='#FF0000'><b>Their mind has been cored like an apple, and enslaved by another operant psychic.</b></font>"
|
||||
|
||||
if(!use_rating)
|
||||
switch(effective_rating)
|
||||
if(1)
|
||||
use_rating = "[effective_rating]-Epsilon"
|
||||
rating_descriptor = "This indicates the presence of minor latent psi potential with little or no operant capabilities."
|
||||
if(2)
|
||||
use_rating = "[effective_rating]-Delta"
|
||||
rating_descriptor = "This indicates the presence of minor psi capabilities of the Operant rank or higher."
|
||||
if(3)
|
||||
use_rating = "<font color = '#F4F441'>[effective_rating]-Gamma</font>"
|
||||
rating_descriptor = "This indicates the presence of psi capabilities of the Master rank or higher."
|
||||
if(4)
|
||||
use_rating = "<font color = '#F4BC42'>[effective_rating]-Beta</font>"
|
||||
rating_descriptor = "This indicates the presence of significant psi capabilities of the Grandmaster rank or higher."
|
||||
if(5)
|
||||
use_rating = "<font color = '#FF0000'>[effective_rating]-Alpha</font>"
|
||||
rating_descriptor = "This indicates the presence of major psi capabilities of the Paramount Grandmaster rank or higher."
|
||||
else
|
||||
use_rating = "[effective_rating]-Lambda"
|
||||
rating_descriptor = "This indicates the presence of trace latent psi capabilities."
|
||||
|
||||
dat += "[use_He_has] an overall psi rating of [use_rating].<br><i>[rating_descriptor]</i><hr>"
|
||||
|
||||
dat += "[use_He_is] currently <b>[psi.suppressed ? "suppressing" : "not suppressing"]</b> your psychic operancy.<br>"
|
||||
dat += "[use_He_has] <b>[psi.stamina]/[psi.max_stamina]</b> psi stamina remaining.<br>"
|
||||
dat += "<hr>"
|
||||
|
||||
for(var/faculty_id in psi.ranks)
|
||||
var/datum/psionic_faculty/faculty = SSpsi.get_faculty(faculty_id)
|
||||
if(psi.ranks[faculty.id] > 0)
|
||||
dat += "[use_He_is] assayed at the rank of <b>[psychic_ranks_to_strings[psi.ranks[faculty.id]]]</b> for the <b>[faculty.name] faculty</b>.<br>"
|
||||
else
|
||||
dat += "[use_He_has] no notable power within the <b>[faculty.name] faculty</b>.<br>"
|
||||
dat += "<hr>"
|
||||
|
||||
if(viewer == usr)
|
||||
dat += "<table width = 100% border = 1><tr><td colspan = 2><h2>Psi-power Usage</h2></td></tr>"
|
||||
for(var/faculty_id in psi.ranks)
|
||||
var/list/check_powers = psi.get_powers_by_faculty(faculty_id)
|
||||
if(LAZYLEN(check_powers))
|
||||
var/datum/psionic_faculty/faculty = SSpsi.get_faculty(faculty_id)
|
||||
dat += "<tr><td colspan = 2>[use_He_has] access to the following psi-powers within the <b>[faculty.name] faculty</b>:</td></tr>"
|
||||
for(var/datum/psionic_power/power in check_powers)
|
||||
dat += "<tr><td><b>[power.name]</b></td><td>[power.use_description]</td></tr>"
|
||||
dat += "</table>"
|
||||
|
||||
var/datum/browser/popup = new(viewer, "psi_assay_\ref[src]", "Psi-Assay")
|
||||
popup.set_content(jointext(dat,null))
|
||||
popup.open()
|
||||
@@ -6,21 +6,24 @@
|
||||
return psiaug && !psiaug.is_broken()
|
||||
|
||||
/mob/living/proc/is_psi_blocked()
|
||||
return !can_commune()
|
||||
return !has_psionics()
|
||||
|
||||
/mob/living/carbon/is_psi_blocked()
|
||||
if(!psi && !has_psi_aug())
|
||||
if(isSynthetic())
|
||||
return SPAN_ALIEN("Reaching out, your mind grasps at nothing.")
|
||||
if (isvaurca(src))
|
||||
return SPAN_CULT("You reach out into the Nlom; your call sails right through and yields no response.")
|
||||
if (is_diona())
|
||||
return SPAN_ALIEN("[src]'s mind is incompatible, formless.")
|
||||
if(HAS_TRAIT(src, TRAIT_PSIONICALLY_DEAF))
|
||||
return SPAN_WARNING("[src]'s mind is inaccessible, like hitting a brick wall.")
|
||||
for (var/obj/item/implant/mindshield/I in src)
|
||||
if (I.implanted)
|
||||
return SPAN_WARNING("[src]'s mind is inaccessible, like hitting a brick wall.")
|
||||
return FALSE
|
||||
|
||||
/mob/living/proc/has_zona_bovinae()
|
||||
return TRUE
|
||||
|
||||
/mob/living/carbon/has_zona_bovinae()
|
||||
if(HAS_TRAIT(src, TRAIT_PSIONICALLY_DEAF))
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
/mob/living/proc/is_psi_pingable()
|
||||
return !is_psi_blocked()
|
||||
|
||||
|
||||
@@ -1,37 +0,0 @@
|
||||
#define INVOKE_PSI_POWERS(holder, powers, target, return_on_invocation) \
|
||||
if(holder && holder.psi && holder.psi.can_use()) { \
|
||||
for(var/thing in powers) { \
|
||||
var/datum/psionic_power/power = thing; \
|
||||
var/obj/item/result = power.invoke(holder, target); \
|
||||
if(result) { \
|
||||
power.handle_post_power(holder, target); \
|
||||
if(istype(result)) { \
|
||||
sound_to(holder, sound('sound/effects/psi/power_evoke.ogg')); \
|
||||
LAZYADD(holder.psi.manifested_items, result); \
|
||||
holder.put_in_hands(result); \
|
||||
} \
|
||||
return return_on_invocation; \
|
||||
} \
|
||||
} \
|
||||
}
|
||||
|
||||
/mob/living/UnarmedAttack(var/atom/A, var/proximity)
|
||||
. = ..()
|
||||
if(. && psi)
|
||||
INVOKE_PSI_POWERS(src, psi.get_melee_powers(SSpsi.faculties_by_intent[a_intent]), A, FALSE)
|
||||
|
||||
/mob/living/RangedAttack(var/atom/A, var/params)
|
||||
if(psi)
|
||||
INVOKE_PSI_POWERS(src, psi.get_ranged_powers(SSpsi.faculties_by_intent[a_intent]), A, TRUE)
|
||||
. = ..()
|
||||
|
||||
/mob/living/proc/check_psi_grab(var/obj/item/grab/grab)
|
||||
if(psi && ismob(grab.affecting))
|
||||
INVOKE_PSI_POWERS(src, psi.get_grab_powers(SSpsi.faculties_by_intent[a_intent]), grab.affecting, FALSE)
|
||||
|
||||
/mob/living/attack_empty_hand(var/bp_hand)
|
||||
if(psi)
|
||||
INVOKE_PSI_POWERS(src, psi.get_manifestations(), src, FALSE)
|
||||
. = ..()
|
||||
|
||||
#undef INVOKE_PSI_POWERS
|
||||
Reference in New Issue
Block a user