mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-22 08:01:06 +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>
50 lines
1.6 KiB
Plaintext
50 lines
1.6 KiB
Plaintext
/datum/psi_complexus/proc/rebuild_power_cache()
|
|
if(rebuild_power_cache)
|
|
|
|
melee_powers = list()
|
|
grab_powers = list()
|
|
ranged_powers = list()
|
|
manifestation_powers = list()
|
|
powers_by_faculty = list()
|
|
|
|
for(var/faculty in ranks)
|
|
var/relevant_rank = get_rank(faculty)
|
|
var/datum/psionic_faculty/faculty_decl = SSpsi.get_faculty(faculty)
|
|
for(var/thing in faculty_decl.powers)
|
|
var/datum/psionic_power/power = thing
|
|
if(relevant_rank >= power.min_rank)
|
|
if(!powers_by_faculty[power.faculty]) powers_by_faculty[power.faculty] = list()
|
|
powers_by_faculty[power.faculty] += power
|
|
if(power.use_ranged)
|
|
if(!ranged_powers[faculty]) ranged_powers[faculty] = list()
|
|
ranged_powers[faculty] += power
|
|
if(power.use_melee)
|
|
if(!melee_powers[faculty]) melee_powers[faculty] = list()
|
|
melee_powers[faculty] += power
|
|
if(power.use_manifest)
|
|
manifestation_powers += power
|
|
if(power.use_grab)
|
|
if(!grab_powers[faculty]) grab_powers[faculty] = list()
|
|
grab_powers[faculty] += power
|
|
rebuild_power_cache = FALSE
|
|
|
|
/datum/psi_complexus/proc/get_powers_by_faculty(var/faculty)
|
|
rebuild_power_cache()
|
|
return powers_by_faculty[faculty]
|
|
|
|
/datum/psi_complexus/proc/get_melee_powers(var/faculty)
|
|
rebuild_power_cache()
|
|
return melee_powers[faculty]
|
|
|
|
/datum/psi_complexus/proc/get_ranged_powers(var/faculty)
|
|
rebuild_power_cache()
|
|
return ranged_powers[faculty]
|
|
|
|
/datum/psi_complexus/proc/get_grab_powers(var/faculty)
|
|
rebuild_power_cache()
|
|
return grab_powers[faculty]
|
|
|
|
/datum/psi_complexus/proc/get_manifestations()
|
|
rebuild_power_cache()
|
|
return manifestation_powers
|