From be7e466c08b04240a1525b70e34b0ad63e9ce60f Mon Sep 17 00:00:00 2001 From: Krausus Date: Sun, 10 Jul 2016 16:53:04 -0400 Subject: [PATCH 1/2] Actually fixes alternate appearances This time, for real. Also, some other minor tweaks. --- code/game/alternate_appearance.dm | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/code/game/alternate_appearance.dm b/code/game/alternate_appearance.dm index 53e7d6704fd..212d156e623 100644 --- a/code/game/alternate_appearance.dm +++ b/code/game/alternate_appearance.dm @@ -30,7 +30,7 @@ if(!M.viewing_alternate_appearances) M.viewing_alternate_appearances = list() viewers |= M - M.viewing_alternate_appearances += src + M.viewing_alternate_appearances |= src if(M.client) M.client.images |= img @@ -43,8 +43,7 @@ if(hideFrom) hiding = hideFrom - for(var/m in hiding) - var/mob/M = m + for(var/mob/M in hiding) if(M.client) M.client.images -= img if(M.viewing_alternate_appearances && M.viewing_alternate_appearances.len) @@ -117,8 +116,7 @@ /atom/proc/remove_alt_appearance(key) if(alternate_appearances) if(alternate_appearances[key]) - var/datum/alternate_appearance/AA = alternate_appearances[key] - qdel(AA) + qdel(alternate_appearances[key]) /* From 308c8a56670378772af5c7926433d70316246593 Mon Sep 17 00:00:00 2001 From: Krausus Date: Sun, 10 Jul 2016 17:56:53 -0400 Subject: [PATCH 2/2] Fixes alternate appearances right Still uses inefficient for loops in Login and Destroy, though~ --- code/game/alternate_appearance.dm | 3 ++- code/modules/mob/mob.dm | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/code/game/alternate_appearance.dm b/code/game/alternate_appearance.dm index 212d156e623..891d7725313 100644 --- a/code/game/alternate_appearance.dm +++ b/code/game/alternate_appearance.dm @@ -43,7 +43,8 @@ if(hideFrom) hiding = hideFrom - for(var/mob/M in hiding) + for(var/m in hiding) + var/mob/M = m if(M.client) M.client.images -= img if(M.viewing_alternate_appearances && M.viewing_alternate_appearances.len) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 77054087e31..cc9788a15fe 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -14,6 +14,10 @@ following_mobs = null if(buckled) buckled.unbuckle_mob() + if(viewing_alternate_appearances) + for(var/datum/alternate_appearance/AA in viewing_alternate_appearances) + AA.viewers -= src + viewing_alternate_appearances = null return ..() /mob/New()