diff --git a/code/modules/antagonists/changeling/changeling_power.dm b/code/modules/antagonists/changeling/changeling_power.dm index 4a00b88fcbd..70ee60d2510 100644 --- a/code/modules/antagonists/changeling/changeling_power.dm +++ b/code/modules/antagonists/changeling/changeling_power.dm @@ -69,6 +69,7 @@ /datum/action/changeling/proc/take_chemical_cost() cling.chem_charges -= chemical_cost + cling.update_chem_charges_ui() /datum/action/changeling/proc/can_sting(mob/user, mob/target) SHOULD_CALL_PARENT(TRUE) diff --git a/code/modules/antagonists/changeling/datum_changeling.dm b/code/modules/antagonists/changeling/datum_changeling.dm index bc97091c41e..2ca7e16979c 100644 --- a/code/modules/antagonists/changeling/datum_changeling.dm +++ b/code/modules/antagonists/changeling/datum_changeling.dm @@ -183,15 +183,18 @@ if(!owner || !owner.current) return PROCESS_KILL var/mob/living/carbon/human/H = owner.current - if(H.hud_used?.lingchemdisplay) - H.hud_used.lingchemdisplay.invisibility = 0 - H.hud_used.lingchemdisplay.maptext = "
[round(chem_charges)]
" if(H.stat == DEAD) chem_charges = clamp(0, chem_charges + chem_recharge_rate - chem_recharge_slowdown, chem_storage * 0.5) genetic_damage = directional_bounded_sum(genetic_damage, -1, LING_DEAD_GENETIC_DAMAGE_HEAL_CAP, 0) else // Not dead? no chem/genetic_damage caps. chem_charges = clamp(0, chem_charges + chem_recharge_rate - chem_recharge_slowdown, chem_storage) genetic_damage = max(0, genetic_damage - 1) + update_chem_charges_ui(H) + +/datum/antagonist/changeling/proc/update_chem_charges_ui(mob/living/carbon/human/H = owner.current) + if(H.hud_used?.lingchemdisplay) + H.hud_used.lingchemdisplay.invisibility = 0 + H.hud_used.lingchemdisplay.maptext = "
[round(chem_charges)]
" /** * Respec the changeling's powers after first checking if they're able to respec.