diff --git a/code/modules/antagonists/changeling/changeling.dm b/code/modules/antagonists/changeling/changeling.dm index cc15147312..e27ba2316f 100644 --- a/code/modules/antagonists/changeling/changeling.dm +++ b/code/modules/antagonists/changeling/changeling.dm @@ -31,6 +31,7 @@ var/isabsorbing = 0 var/islinking = 0 var/geneticpoints = 10 + var/maxgeneticpoints = 10 var/purchasedpowers = list() var/mimicing = "" var/canrespec = 0 @@ -98,17 +99,24 @@ to_chat(H, "You have evolved beyond your clownish nature, allowing you to wield weapons without harming yourself.") H.dna.remove_mutation(CLOWNMUT) -/datum/antagonist/changeling/proc/reset_properties() +/datum/antagonist/changeling/proc/reset_properties(hardReset = FALSE) changeling_speak = 0 chosen_sting = null - geneticpoints = initial(geneticpoints) + + geneticpoints = maxgeneticpoints sting_range = initial(sting_range) - chem_storage = initial(chem_storage) - chem_recharge_rate = initial(chem_recharge_rate) - chem_charges = min(chem_charges, chem_storage) chem_recharge_slowdown = initial(chem_recharge_slowdown) mimicing = "" + if (hardReset) + chem_storage = initial(chem_storage) + chem_recharge_rate = initial(chem_recharge_rate) + geneticpoints = initial(geneticpoints) + maxgeneticpoints = initial(maxgeneticpoints) + + chem_charges = min(chem_charges, chem_storage) + + /datum/antagonist/changeling/proc/remove_changeling_powers() if(ishuman(owner.current) || ismonkey(owner.current)) reset_properties() diff --git a/code/modules/antagonists/changeling/powers/absorb.dm b/code/modules/antagonists/changeling/powers/absorb.dm index 5cb4faa86e..c3c4ec78a3 100644 --- a/code/modules/antagonists/changeling/powers/absorb.dm +++ b/code/modules/antagonists/changeling/powers/absorb.dm @@ -96,6 +96,7 @@ to_chat(user, "[target] was one of us. We have absorbed their power.") target_ling.remove_changeling_powers() changeling.geneticpoints += round(target_ling.geneticpoints/2) + changeling.maxgeneticpoints += round(target_ling.geneticpoints/2) target_ling.geneticpoints = 0 target_ling.canrespec = 0 changeling.chem_storage += round(target_ling.chem_storage/2)