diff --git a/code/_helpers/datum_pool.dm b/code/_helpers/datum_pool.dm index b5bcea123fe..007a9976104 100644 --- a/code/_helpers/datum_pool.dm +++ b/code/_helpers/datum_pool.dm @@ -94,8 +94,8 @@ var/global/list/GlobalPool = list() loc = args ..() -/datum/proc/ResetVars(var/list/exlude = list()) - var/list/excluded = list("animate_movement", "loc", "locs", "parent_type", "vars", "verbs", "type") + exlude +/datum/proc/ResetVars(var/list/exclude = list()) + var/list/excluded = list("animate_movement", "loc", "locs", "parent_type", "vars", "verbs", "type") + exclude for(var/V in vars) if(V in excluded) diff --git a/code/_onclick/hud/spell_screen_objects.dm b/code/_onclick/hud/spell_screen_objects.dm index a59474749a1..213a4ed16aa 100644 --- a/code/_onclick/hud/spell_screen_objects.dm +++ b/code/_onclick/hud/spell_screen_objects.dm @@ -23,9 +23,9 @@ spell_holder.client.screen -= src spell_holder = null -/obj/screen/movable/spell_master/ResetVars() - ..("spell_objects", args) - spell_objects = list() +/obj/screen/movable/spell_master/ResetVars(var/list/exclude = list()) + exclude += "spell_objects" + ..(exclude) /obj/screen/movable/spell_master/MouseDrop() if(showing) diff --git a/code/datums/expansions/expansion.dm b/code/datums/expansions/expansion.dm index 7eee07e0d9c..96227aa98e0 100644 --- a/code/datums/expansions/expansion.dm +++ b/code/datums/expansions/expansion.dm @@ -25,12 +25,16 @@ var/list/datum/expansion/expansions = list() /obj/Destroy() - if(istype(expansions)) - for(var/expansion in expansions) - qdel(expansions[expansion]) - expansions.Cut() + for(var/expansion in expansions) + qdel(expansions[expansion]) + expansions.Cut() return ..() +/obj/ResetVars(var/list/exclude = list()) + exclude += "expansions" + ..(exclude) + //expansions = list() + /obj/proc/set_expansion(var/type, var/instance) if(expansions[type]) qdel(expansions[type])