mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-22 16:12:19 +00:00
* Ports a psionic system from Bay. * Rip out this shitcode. * shitcoden't * fixes * it should work fully now * Admin fixes * Remove todos * remove todos part 2 * Removes psi-armour. We don't need this for now. * Skrell are now operants. Tweaks coercion. * Adds thralls. * Temp removal of psiarmour. Fixes psigrabs. * Thrall assay. * fixes * More fixes * unused define cleanup * Log and powers * Skrell powers are done. * Update code/modules/psionics/events/mini_spasm.dm Co-Authored-By: Geeves <ggrobler447@gmail.com> * Update code/modules/psionics/events/mini_spasm.dm Co-Authored-By: Geeves <ggrobler447@gmail.com> * Update code/modules/psionics/equipment/cerebro_enhancers.dm * did this work??? * jargon * arrow's fixes Co-authored-by: Geeves <ggrobler447@gmail.com>
40 lines
1.4 KiB
Plaintext
40 lines
1.4 KiB
Plaintext
var/global/list/psychic_ranks_to_strings = list("Latent", "Operant", "Masterclass", "Grandmasterclass", "Paramount")
|
|
/var/datum/controller/subsystem/processing/psi/SSpsi
|
|
|
|
/datum/controller/subsystem/processing/psi
|
|
name = "Psychics"
|
|
priority = SS_PRIORITY_PSYCHICS
|
|
flags = SS_POST_FIRE_TIMING | 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/armour_faculty_by_type = list()
|
|
var/list/faculties_by_intent = 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/Initialize()
|
|
. = ..()
|
|
|
|
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 |