diff --git a/code/game/gamemodes/changeling/evolution_menu.dm b/code/game/gamemodes/changeling/evolution_menu.dm index 13f19bcce30..e8d266d2dd5 100644 --- a/code/game/gamemodes/changeling/evolution_menu.dm +++ b/code/game/gamemodes/changeling/evolution_menu.dm @@ -422,9 +422,3 @@ var/list/sting_paths if(power.name == P.name) return 1 return 0 - -/datum/changeling/proc/regain_powers() //for when action buttons are lost and need to be regained, such as when the mind enters a new mob - for(var/power in purchasedpowers) - var/datum/action/changeling/S = power - if(istype(S) && S.needs_button) - S.Grant(src) diff --git a/code/modules/mob/living/login.dm b/code/modules/mob/living/login.dm index 401136997e0..580996e54d9 100644 --- a/code/modules/mob/living/login.dm +++ b/code/modules/mob/living/login.dm @@ -18,9 +18,13 @@ if(ranged_ability) ranged_ability.add_ranged_ability(src, "You currently have [ranged_ability] active!") - var/datum/changeling/changeling = mind.has_antag_datum(/datum/changeling) + //for when action buttons are lost and need to be regained, such as when the mind enters a new mob + var/datum/changeling/changeling = usr.mind.changeling if(changeling) - changeling.regain_powers() + for(var/power in changeling.purchasedpowers) + var/datum/action/changeling/S = power + if(istype(S) && S.needs_button) + S.Grant(src) //Should update regardless of if we can ventcrawl, since we can end up in pipes in other ways. update_pipe_vision()