More globals (#19111)

This commit is contained in:
Kashargul
2026-01-30 19:51:21 +01:00
committed by GitHub
parent 48e8d0df0b
commit d0678d4046
73 changed files with 258 additions and 248 deletions
@@ -1,9 +1,11 @@
///Changeling component.
///Stores changeling powers, changeling recharge thingie, changeling absorbed DNA and changeling ID (for changeling hivemind)
GLOBAL_LIST_INIT(possible_changeling_IDs,list("Alpha","Beta","Chi","Delta","Epsilon","Eta","Gamma","Iota","Kappa","Lambda","Mu","Nu","Omega","Omicron","Phi","Pi","Psi","Rho","Sigma","Tau","Theta","Upsilon","Xi","Zeta")) //ALPHABETICAL ORDER.
//Needs cleanup
var/list/powers = subtypesof(/datum/power/changeling) //needed for the badmin verb for now
var/list/datum/power/changeling/powerinstances = list()
GLOBAL_LIST_INIT(changeling_powers, subtypesof(/datum/power/changeling)) //needed for the badmin verb for now
GLOBAL_LIST_EMPTY_TYPED(powerinstances, /datum/power/changeling)
/datum/power //Could be used by other antags too
var/name = "Power"
var/desc = "Placeholder"
@@ -159,12 +161,12 @@ var/list/datum/power/changeling/powerinstances = list()
mind.antag_holder.changeling = comp
var/lesser_form = !ishuman(src)
if(!powerinstances.len)
for(var/P in powers)
powerinstances += new P()
if(!GLOB.powerinstances.len)
for(var/P in GLOB.changeling_powers)
GLOB.powerinstances += new P()
// Code to auto-purchase free powers.
for(var/datum/power/changeling/P in powerinstances)
for(var/datum/power/changeling/P in GLOB.powerinstances)
if(!P.genomecost) // Is it free?
if(!(P in comp.purchased_powers)) // Do we not have it already?
comp.purchasePower(comp.owner, P.name, 0)// Purchase it. Don't remake our verbs, we're doing it after this.
@@ -363,9 +365,9 @@ var/list/datum/power/changeling/powerinstances = list()
if(!comp)
to_chat(src, "You are not a changeling!")
return
if(!powerinstances.len)
for(var/changeling_power in powers)
powerinstances += new changeling_power()
if(!GLOB.powerinstances.len)
for(var/changeling_power in GLOB.changeling_powers)
GLOB.powerinstances += new changeling_power()
if(!comp.power_panel)
comp.power_panel = new()
comp.power_panel.comp = comp
@@ -377,7 +379,7 @@ var/list/datum/power/changeling/powerinstances = list()
var/datum/power/changeling/Thepower = Pname
for (var/datum/power/changeling/P in powerinstances)
for (var/datum/power/changeling/P in GLOB.powerinstances)
//to_world("[P] - [Pname] = [P.name == Pname ? "True" : "False"]")
if(P.name == Pname)
Thepower = P
@@ -471,7 +473,7 @@ var/list/datum/power/changeling/powerinstances = list()
var/list/data = list()
var/list/power_list = list()
for(var/datum/power/changeling/P in powerinstances)
for(var/datum/power/changeling/P in GLOB.powerinstances)
var/list/all_powers = list(
"power_name" = P.name,
"power_cost" = P.genomecost,