From 2bf91a4b2e7ad5bcd4e85b7a221a88641fa9c4dc Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Sat, 9 Jan 2016 23:54:29 -0500 Subject: [PATCH] Adding back some stuff...but still need to work some shit out --- code/game/gamemodes/traitor/traitor.dm | 40 ++++++++++++++++++++++---- 1 file changed, 35 insertions(+), 5 deletions(-) diff --git a/code/game/gamemodes/traitor/traitor.dm b/code/game/gamemodes/traitor/traitor.dm index df18240e7bf..e95deef10be 100644 --- a/code/game/gamemodes/traitor/traitor.dm +++ b/code/game/gamemodes/traitor/traitor.dm @@ -337,15 +337,45 @@ traitor_mob.mind.store_memory("Potential Collaborator: [M.real_name]") /datum/game_mode/proc/update_traitor_icons_added(datum/mind/traitor_mind) - //var/ref = "\ref[traitor_mind]" var/datum/atom_hud/antag/tatorhud = huds[ANTAG_HUD_SOLO] - tatorhud.join_solo_hud(traitor_mind.current) - set_antag_hud(traitor_mind.current, "hudsyndicate") + var/ref = "\ref[traitor_mind]" + if(ref in implanter) + if(traitor_mind.current) + tatorhud.join_solo_hud(traitor_mind.current) + set_antag_hud(traitor_mind.current, "hudsyndicate") + for(var/headref in implanter) + for(var/datum/mind/t_mind in implanter[headref]) + var/datum/mind/head = locate(headref) + if(head) + if(head.current) + if(head.current.client) + tatorhud.join_solo_hud(head.current) + set_antag_hud(head.current, "hudsyndicate") + if(t_mind.current) + if(t_mind.current.client) + tatorhud.join_solo_hud(t_mind.current) + set_antag_hud(t_mind.current, "hudsyndicate") /datum/game_mode/proc/update_traitor_icons_removed(datum/mind/traitor_mind) var/datum/atom_hud/antag/tatorhud = huds[ANTAG_HUD_SOLO] - tatorhud.leave_hud(traitor_mind.current) - set_antag_hud(traitor_mind.current, null) + for(var/headref in implanter) + var/datum/mind/head = locate(headref) + for(var/datum/mind/t_mind in implanter[headref]) + if(t_mind.current) + if(t_mind.current.client) + tatorhud.leave_hud(t_mind.current) + set_antag_hud(t_mind.current, null) + + if(head) + //log_to_dd("found [head.name]") + if(head.current) + if(head.current.client) + tatorhud.leave_hud(head.current) + set_antag_hud(head.current, null) + if(traitor_mind.current.client) + tatorhud.leave_hud(traitor_mind.current) + set_antag_hud(traitor_mind.current, null) + /datum/game_mode/proc/remove_traitor_mind(datum/mind/traitor_mind, datum/mind/head) //var/list/removal