mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-01-03 05:51:56 +00:00
Ports a psionic system from Bay. (#7717)
* 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>
This commit is contained in:
40
code/controllers/subsystems/processing/psi.dm
Normal file
40
code/controllers/subsystems/processing/psi.dm
Normal file
@@ -0,0 +1,40 @@
|
||||
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
|
||||
Reference in New Issue
Block a user