This commit is contained in:
kevinz000
2020-04-25 00:58:12 -07:00
parent 6c5d42b5f5
commit cce3bad0d6
3 changed files with 27 additions and 0 deletions
+14
View File
@@ -47,6 +47,12 @@ GLOBAL_LIST_INIT(skill_datums, init_skill_datums())
/datum/skill/proc/is_value_greater(existing, new_value)
return new_value > existing
/**
* Standard value "render"
*/
/datum/skill/proc/standard_render_value(value)
return value
// Just saying, the choice to use different sub-parent-types is to force coders to resolve issues as I won't be implementing custom procs to grab skill levels in a certain context.
// Aka: So people don't forget to change checks if they change a skill's progression type.
@@ -57,6 +63,9 @@ GLOBAL_LIST_INIT(skill_datums, init_skill_datums())
/datum/skill/binary/sanitize_value(new_value)
return new_value? TRUE : FALSE
/datum/skill/binary/standard_render_value(value)
return value? "Yes" : "No"
/datum/skill/numerical
abstract_type = /datum/skill/numerical
progression_type = SKILL_PROGRESSION_NUMERICAL
@@ -64,10 +73,15 @@ GLOBAL_LIST_INIT(skill_datums, init_skill_datums())
var/max_value = 100
/// Min value of this skill
var/min_value = 0
/// Display as a percent in standard_render_value?
var/display_as_percent = FALSE
/datum/skill/numerical/sanitize_value(new_value)
return clamp(new_value, min_value, max_value)
/datum/skill/numerical/standard_render_value(value)
return display_as_percent? "[round(value/max_value/100, 0.01)]%" : "[value] / [max_value]"
/datum/skill/enum
abstract_type = /datum/skill/enum
progression_type = SKILL_PROGRESSION_ENUM
+12
View File
@@ -60,3 +60,15 @@
var/current = get_skill_value(skill)
var/affinity = get_skill_affinity(skill)
bosst_skill_value_to(skill, current + (value * affinity))
/**
* Generates a HTML readout of our skills.
* Port to tgui-next when?
*/
/datum/skill_holder/proc/html_readout()
. = list("<center><h1>Skills</h1></center><hr>")
. += "<table style=\"width:100%\"><tr><th><b>Skill</b><th><b>Value</b></tr>"
for(var/path in skills)
var/datum/skill/S = GLOB.skill_datums[path]
. += "<tr><td>[S.name]</td><td>[S.standard_render_value(skills[path])]</td></tr>"
. += "</table>"