Files
Bubberstation/code/controllers/subsystem/skills.dm
Tastyfish 4733643f39 Clean up subsystem Initialize(), require an explicit result returned, give a formal way to fail (for SSlua) (#69775)
* cleanup SS API, give SSlua a proper way to error out

* New SS_INIT_ system
2022-09-14 23:52:10 -04:00

23 lines
821 B
Plaintext

/*!
This subsystem mostly exists to populate and manage the skill singletons.
*/
SUBSYSTEM_DEF(skills)
name = "Skills"
flags = SS_NO_FIRE
init_order = INIT_ORDER_SKILLS
///Dictionary of skill.type || skill ref
var/list/all_skills = list()
///List of level names with index corresponding to skill level
var/list/level_names = list("None", "Novice", "Apprentice", "Journeyman", "Expert", "Master", "Legendary") //List of skill level names. Note that indexes can be accessed like so: level_names[SKILL_LEVEL_NOVICE]
/datum/controller/subsystem/skills/Initialize()
InitializeSkills()
return SS_INIT_SUCCESS
///Ran on initialize, populates the skills dictionary
/datum/controller/subsystem/skills/proc/InitializeSkills()
for(var/type in GLOB.skill_types)
var/datum/skill/ref = new type
all_skills[type] = ref