From f40daffbe83c5e3d870f2ac001252eee9ee52f03 Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Sat, 16 Jan 2016 15:50:43 -0500 Subject: [PATCH] I FIXED IT --- code/game/gamemodes/antag_hud.dm | 10 +++++----- code/game/gamemodes/traitor/traitor.dm | 11 ++++++----- code/game/gamemodes/vampire/vampire_powers.dm | 3 ++- code/game/objects/items/weapons/implants/implant.dm | 13 ++++++++----- code/modules/mob/dead/observer/observer.dm | 5 +---- 5 files changed, 22 insertions(+), 20 deletions(-) diff --git a/code/game/gamemodes/antag_hud.dm b/code/game/gamemodes/antag_hud.dm index e7df5173c1b..0b2ee9320de 100644 --- a/code/game/gamemodes/antag_hud.dm +++ b/code/game/gamemodes/antag_hud.dm @@ -1,20 +1,20 @@ /datum/atom_hud/antag hud_icons = list(SPECIALROLE_HUD,NATIONS_HUD) -/datum/atom_hud/antag/proc/join_hud(mob/M) +/datum/atom_hud/antag/proc/join_hud(mob/M,var/slave) if(!istype(M)) CRASH("join_hud(): [M] ([M.type]) is not a mob!") - if(M.mind.antag_hud) //note: please let this runtime if a mob has no mind, as mindless mobs shouldn't be getting antagged + if(M.mind.antag_hud && !slave) //note: please let this runtime if a mob has no mind, as mindless mobs shouldn't be getting antagged M.mind.antag_hud.leave_hud(M) if(!ismask(M))//FUCK YOU MASK OF NARNAR! add_to_hud(M) add_hud_to(M) M.mind.antag_hud = src -/datum/atom_hud/antag/proc/join_solo_hud(mob/M)//for non team antags and for observer huds +/datum/atom_hud/antag/proc/join_solo_hud(mob/M,var/slave)//for non team antags and for observer huds if(!istype(M)) CRASH("join_hud(): [M] ([M.type]) is not a mob!") - if(M.mind.antag_hud) //note: please let this runtime if a mob has no mind, as mindless mobs shouldn't be getting antagged + if(M.mind.antag_hud && !slave) //note: please let this runtime if a mob has no mind, as mindless mobs shouldn't be getting antagged M.mind.antag_hud.leave_hud(M) add_to_hud(M) M.mind.antag_hud = src @@ -91,7 +91,7 @@ thrallhud = new() /datum/mindslaves/proc/add_serv_hud(datum/mind/serv_mind,var/icon) - thrallhud.join_hud(serv_mind.current) + thrallhud.join_hud(serv_mind.current,1) icontype = "hud[icon]" ticker.mode.set_antag_hud(serv_mind.current,icontype) diff --git a/code/game/gamemodes/traitor/traitor.dm b/code/game/gamemodes/traitor/traitor.dm index 228dc66fe30..c975aa8292c 100644 --- a/code/game/gamemodes/traitor/traitor.dm +++ b/code/game/gamemodes/traitor/traitor.dm @@ -358,12 +358,13 @@ implanter[ref] -= traitor_mind implanted -= traitor_mind traitors -= traitor_mind - var/datum/mindslaves/slaved = traitor_mind.som - slaved.serv -= traitor_mind - traitor_mind.special_role = null - traitor_mind.som = null + if(traitor_mind.som) + var/datum/mindslaves/slaved = traitor_mind.som + slaved.serv -= traitor_mind + traitor_mind.special_role = null + traitor_mind.som = null + slaved.leave_serv_hud(traitor_mind) - slaved.leave_serv_hud(traitor_mind) update_traitor_icons_removed(traitor_mind) //world << "Removed [traitor_mind.current.name] from traitor shit" traitor_mind.current << "\red The fog clouding your mind clears. You remember nothing from the moment you were implanted until now.(You don't remember who implanted you)" diff --git a/code/game/gamemodes/vampire/vampire_powers.dm b/code/game/gamemodes/vampire/vampire_powers.dm index 7d64abe7809..e07f24983b1 100644 --- a/code/game/gamemodes/vampire/vampire_powers.dm +++ b/code/game/gamemodes/vampire/vampire_powers.dm @@ -326,9 +326,10 @@ else ticker.mode.vampire_thralls[ref] += H.mind - //ticker.mode.update_vampire_icons_added(H.mind) + ticker.mode.update_vampire_icons_added(H.mind) ticker.mode.update_vampire_icons_added(src.mind) var/datum/mindslaves/slaved = src.mind.som + H.mind.som = slaved slaved.serv += H slaved.add_serv_hud(src.mind,"vampire")//handles master servent icons slaved.add_serv_hud(H.mind,"vampthrall") diff --git a/code/game/objects/items/weapons/implants/implant.dm b/code/game/objects/items/weapons/implants/implant.dm index 79dca7fa122..d27cd74140d 100644 --- a/code/game/objects/items/weapons/implants/implant.dm +++ b/code/game/objects/items/weapons/implants/implant.dm @@ -415,12 +415,15 @@ the implant may become unstable and either pre-maturely inject the subject or si H << "Objective #1: [objective.explanation_text]" ticker.mode.update_traitor_icons_added(user.mind) - var/datum/mindslaves/slaved = user.mind.som - slaved.serv += H - slaved.add_serv_hud(user.mind,"syndicate")//handles master servent icons - slaved.add_serv_hud(H.mind,"mindslave") + ticker.mode.update_traitor_icons_added(H.mind)//handles datahuds/observerhuds + + if(user.mind.som)//do not add if not a traitor..and you just picked up an implanter in the hall... + var/datum/mindslaves/slaved = user.mind.som + H.mind.som = slaved + slaved.serv += H + slaved.add_serv_hud(user.mind,"syndicate")//handles master servent icons + slaved.add_serv_hud(H.mind,"mindslave") - //ticker.mode.update_traitor_icons_added(H.mind)//handles datahuds/observerhuds log_admin("[ckey(user.key)] has mind-slaved [ckey(H.key)].") return 1 diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 0ba96f3e5bb..de34f55df94 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -307,11 +307,8 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp //var/datum/atom_hud/A = huds[DATA_HUD_SECURITY_ADVANCED] //var/adding_hud = (usr in A.hudusers) ? 0 : 1 - var/serv_huds = list()//mindslaves and/or vampire thralls - for(var/datum/mindslaves/serv in (ticker.mode.vampires | ticker.mode.traitors)) - serv_huds += serv.thrallhud - for(var/datum/atom_hud/antag/H in (huds|serv_huds)) + for(var/datum/atom_hud/antag/H in (huds)) //if(istype(H, /datum/atom_hud/antag))// || istype(H, /datum/atom_hud/data/human/security/advanced)) if(!M.antagHUD) //(adding_hud) ? H.add_hud_to(usr) : H.remove_hud_from(usr)