From 4e9ad98cb658bee793145757dec59336fab4c53c Mon Sep 17 00:00:00 2001 From: Kaffe-work Date: Fri, 5 Jun 2020 23:50:37 +0200 Subject: [PATCH] Changeling on changeling absorb fix (#51444) * adds changeling vars needed due to changeling that absorbs a changeling that absorbs a changeling getting more chems * Update changeling.dm changes reset_properties() to reflect things that sohuldn't reset to baseline - this is not pretty * fix spell error * spelling error * add some comment on why change was done This really speaks for itself in my opinion --- code/modules/antagonists/changeling/changeling.dm | 6 ++++-- code/modules/antagonists/changeling/powers/absorb.dm | 2 ++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/code/modules/antagonists/changeling/changeling.dm b/code/modules/antagonists/changeling/changeling.dm index 2db8f664ab2..6381383947d 100644 --- a/code/modules/antagonists/changeling/changeling.dm +++ b/code/modules/antagonists/changeling/changeling.dm @@ -34,6 +34,8 @@ var/isabsorbing = 0 var/islinking = 0 var/geneticpoints = 10 + var/total_geneticspoints = 10 + var/total_chem_storage = 75 var/purchasedpowers = list() var/mimicing = "" @@ -107,9 +109,9 @@ /datum/antagonist/changeling/proc/reset_properties() changeling_speak = 0 chosen_sting = null - geneticpoints = initial(geneticpoints) + geneticpoints = total_geneticspoints sting_range = initial(sting_range) - chem_storage = initial(chem_storage) + chem_storage = total_chem_storage chem_recharge_rate = initial(chem_recharge_rate) chem_charges = min(chem_charges, chem_storage) chem_recharge_slowdown = initial(chem_recharge_slowdown) diff --git a/code/modules/antagonists/changeling/powers/absorb.dm b/code/modules/antagonists/changeling/powers/absorb.dm index d9a75b0b135..1f76d6cd818 100644 --- a/code/modules/antagonists/changeling/powers/absorb.dm +++ b/code/modules/antagonists/changeling/powers/absorb.dm @@ -123,9 +123,11 @@ 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.total_geneticspoints = changeling.geneticpoints //updates the total sum of genetic points when you absorb another ling target_ling.geneticpoints = 0 target_ling.canrespec = 0 changeling.chem_storage += round(target_ling.chem_storage/2) + changeling.total_chem_storage = changeling.chem_storage //updates the total sum of chemicals stored for when you absorb another ling changeling.chem_charges += min(target_ling.chem_charges, changeling.chem_storage) target_ling.chem_charges = 0 target_ling.chem_storage = 0