From 72abc2665ecedf9c1e543978dbe8a036750497dc Mon Sep 17 00:00:00 2001 From: Arkatos1 Date: Mon, 20 May 2019 15:42:20 +0200 Subject: [PATCH] fixes for cling aug vision and general action buttons --- code/datums/spell.dm | 8 +++++-- .../changeling/powers/augmented_eyesight.dm | 22 ++++++++++++------- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/code/datums/spell.dm b/code/datums/spell.dm index 813604a1431..3d00394d278 100644 --- a/code/datums/spell.dm +++ b/code/datums/spell.dm @@ -167,6 +167,8 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin if("holdervar") adjust_var(user, holder_var_type, holder_var_amount) + if(action) + action.UpdateButtonIcon() return 1 /obj/effect/proc_holder/spell/proc/invocation(mob/user = usr) //spelling the spell out and setting it on recharge/reducing charges amount @@ -235,6 +237,8 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin else cast(targets, user = user) after_cast(targets) + if(action) + action.UpdateButtonIcon() /obj/effect/proc_holder/spell/proc/before_cast(list/targets) if(overlay) @@ -291,8 +295,8 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin charge_counter++ if("holdervar") adjust_var(user, holder_var_type, -holder_var_amount) - - return + if(action) + action.UpdateButtonIcon() /obj/effect/proc_holder/spell/proc/updateButtonIcon() if(action) diff --git a/code/game/gamemodes/changeling/powers/augmented_eyesight.dm b/code/game/gamemodes/changeling/powers/augmented_eyesight.dm index 1caba8b59d5..b0b77a456d5 100644 --- a/code/game/gamemodes/changeling/powers/augmented_eyesight.dm +++ b/code/game/gamemodes/changeling/powers/augmented_eyesight.dm @@ -8,18 +8,25 @@ button_icon_state = "augmented_eyesight" chemical_cost = 0 dna_cost = 2 //Would be 1 without thermal vision + active = FALSE -/datum/action/changeling/augmented_eyesight/sting_action(mob/living/carbon/human/user) +/datum/action/changeling/augmented_eyesight/on_purchase(mob/user) //The ability starts inactive, so we should be protected from flashes. + ..() + var/obj/item/organ/internal/cyberimp/eyes/O = new /obj/item/organ/internal/cyberimp/eyes/shield/ling() + O.insert(user) + active = FALSE + +/datum/action/changeling/augmented_eyesight/sting_action(mob/living/carbon/user) if(!istype(user)) return - if(user.get_int_organ(/obj/item/organ/internal/cyberimp/eyes/thermals/ling)) - var/obj/item/organ/internal/cyberimp/eyes/O = new /obj/item/organ/internal/cyberimp/eyes/shield/ling() - O.insert(user) - - else + if(!active) var/obj/item/organ/internal/cyberimp/eyes/O = new /obj/item/organ/internal/cyberimp/eyes/thermals/ling() O.insert(user) - + active = TRUE + else + var/obj/item/organ/internal/cyberimp/eyes/O = new /obj/item/organ/internal/cyberimp/eyes/shield/ling() + O.insert(user) + active = FALSE return 1 /datum/action/changeling/augmented_eyesight/Remove(mob/user) @@ -50,7 +57,6 @@ S.reagents.add_reagent("oculine", 15) return S - /obj/item/organ/internal/cyberimp/eyes/thermals/ling name = "heat receptors" desc = "These heat receptors dramatically increases eyes light sensing ability."