Files
Bubberstation/code/controllers/subsystem/skills.dm
SkyratBot a00cad0164 [MIRROR] Clean up subsystem Initialize(), require an explicit result returned, give a formal way to fail (for SSlua) [MDB IGNORE] (#16248)
* Clean up subsystem Initialize(), require an explicit result returned, give a formal way to fail (for SSlua)

* [PR for MIRROR PR] Changes for 16248 (#16277)

* Merge skyrat changes, update SR SS's, and remove lobby_eye

* Apply suggestions from code review

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Update modular_skyrat/modules/autotransfer/code/autotransfer.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* restore lobby_cam for now

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

Co-authored-by: Tastyfish <crazychris32@gmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2022-09-24 17:32:40 -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