From cce3bad0d6904e2b84e1506b482d41624657800f Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sat, 25 Apr 2020 00:58:12 -0700 Subject: [PATCH] okay --- code/datums/skills/_skill.dm | 14 ++++++++++++++ code/datums/skills/_skill_holder.dm | 12 ++++++++++++ tgstation.dme | 1 + 3 files changed, 27 insertions(+) diff --git a/code/datums/skills/_skill.dm b/code/datums/skills/_skill.dm index 6480dbf553..a44a2b901d 100644 --- a/code/datums/skills/_skill.dm +++ b/code/datums/skills/_skill.dm @@ -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 diff --git a/code/datums/skills/_skill_holder.dm b/code/datums/skills/_skill_holder.dm index 4e4dc35da4..f37a359650 100644 --- a/code/datums/skills/_skill_holder.dm +++ b/code/datums/skills/_skill_holder.dm @@ -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("
| Skill | Value |
|---|---|
| [S.name] | [S.standard_render_value(skills[path])] |