Merge pull request #4919 from Krausus/AltAppearanceFixes

Alternate Appearance Fixes
This commit is contained in:
Fox McCloud
2016-07-08 18:02:01 -04:00
committed by GitHub
2 changed files with 7 additions and 11 deletions
+5 -7
View File
@@ -30,7 +30,7 @@
if(!M.viewing_alternate_appearances)
M.viewing_alternate_appearances = list()
viewers |= M
M.viewing_alternate_appearances[key] = src
M.viewing_alternate_appearances += src
if(M.client)
M.client.images |= img
@@ -48,9 +48,7 @@
if(M.client)
M.client.images -= img
if(M.viewing_alternate_appearances && M.viewing_alternate_appearances.len)
M.viewing_alternate_appearances -= key
if(!M.viewing_alternate_appearances.len)
M.viewing_alternate_appearances = null
M.viewing_alternate_appearances -= src
viewers -= M
@@ -61,8 +59,6 @@
hide()
if(owner && owner.alternate_appearances)
owner.alternate_appearances -= key
if(!owner.alternate_appearances.len)
owner.alternate_appearances = null
/datum/alternate_appearance/Destroy()
@@ -74,7 +70,7 @@
/atom
var/list/alternate_appearances //the alternate appearances we own
var/list/viewing_alternate_appearances //the alternate appearances we're viewing, stored here to reestablish them after Logout()s
//these lists are built/destroyed as necessary, so atoms aren't all lugging around lists full of datums
//these lists are built as necessary, so atoms aren't all lugging around empty lists
/*
Builds an alternate_appearance datum for the supplied args, optionally displaying it straight away
@@ -102,6 +98,8 @@
AA.key = key
AA.owner = src
if(alternate_appearances[key])
qdel(alternate_appearances[key])
alternate_appearances[key] = AA
if(displayTo && displayTo.len)
display_alt_appearance(key, displayTo)
+2 -4
View File
@@ -74,10 +74,8 @@
add_click_catcher()
if(viewing_alternate_appearances && viewing_alternate_appearances.len)
for(var/aakey in viewing_alternate_appearances)
var/datum/alternate_appearance/AA = viewing_alternate_appearances[aakey]
if(AA)
AA.display_to(list(src))
for(var/datum/alternate_appearance/AA in viewing_alternate_appearances)
AA.display_to(list(src))
CallHook("Login", list("client" = src.client, "mob" = src))