diff --git a/code/controllers/subsystem/processing/quirks.dm b/code/controllers/subsystem/processing/quirks.dm index 5edbe026ee7..d85104d379b 100644 --- a/code/controllers/subsystem/processing/quirks.dm +++ b/code/controllers/subsystem/processing/quirks.dm @@ -17,19 +17,28 @@ PROCESSING_SUBSYSTEM_DEF(quirks) ///An assoc list of quirks that can be obtained as a hardcore character, and their hardcore value. var/list/hardcore_quirks = list() + var/static/list/quirks_blacklist = list( + list("Blind","Nearsighted"), + list("Jolly","Depression","Apathetic","Hypersensitive"), + list("Ageusia","Vegetarian","Deviant Tastes"), + list("Ananas Affinity","Ananas Aversion"), + list("Alcohol Tolerance","Light Drinker"), + list("Clown Fan","Mime Fan"), + list("Bad Touch", "Friendly"), + list("Extrovert", "Introvert"), + ) + /datum/controller/subsystem/processing/quirks/Initialize(timeofday) - if(!quirks.len) + get_quirks() + return ..() + +/// Returns the list of possible quirks +/datum/controller/subsystem/processing/quirks/proc/get_quirks() + RETURN_TYPE(/list) + if (!quirks.len) SetupQuirks() - quirk_blacklist = list(list("Blind","Nearsighted"), \ - list("Jolly","Depression","Apathetic","Hypersensitive"), \ - list("Ageusia","Vegetarian","Deviant Tastes"), \ - list("Ananas Affinity","Ananas Aversion"), \ - list("Alcohol Tolerance","Light Drinker"), \ - list("Clown Fan","Mime Fan"), \ - list("Bad Touch", "Friendly"), \ - list("Extrovert", "Introvert")) - return ..() + return quirks /datum/controller/subsystem/processing/quirks/proc/SetupQuirks() // Sort by Positive, Negative, Neutral; and then by name diff --git a/code/modules/client/preferences/middleware/quirks.dm b/code/modules/client/preferences/middleware/quirks.dm index f508c204ab5..babbad37d2b 100644 --- a/code/modules/client/preferences/middleware/quirks.dm +++ b/code/modules/client/preferences/middleware/quirks.dm @@ -29,8 +29,10 @@ /datum/preference_middleware/quirks/get_constant_data() var/list/quirk_info = list() - for (var/quirk_name in SSquirks.quirks) - var/datum/quirk/quirk = SSquirks.quirks[quirk_name] + var/list/quirks = SSquirks.get_quirks() + + for (var/quirk_name in quirks) + var/datum/quirk/quirk = quirks[quirk_name] quirk_info[sanitize_css_class_name(quirk_name)] = list( "description" = initial(quirk.desc), "icon" = initial(quirk.icon),