diff --git a/code/datums/mind.dm b/code/datums/mind.dm index 2a492dfefc6..41f90511484 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -49,9 +49,7 @@ var/miming = 0 // Mime's vow of silence var/list/antag_datums var/antag_hud_icon_state = null //this mind's ANTAG_HUD should have this icon_state - var/team_antag_hud_icon_state = null //this mind's ANTAG_HUD should have this icon_state - var/datum/atom_hud/antag/antag_hud = null //this mind's global antag HUD - var/datum/atom_hud/antag/team_antag_hud = null //this mind's antag HUD + var/datum/atom_hud/antag/antag_hud = null //this mind's antag HUD var/damnation_type = 0 var/datum/mind/soulOwner //who owns the soul. Under normal circumstances, this will point to src var/hasSoul = TRUE // If false, renders the character unable to sell their soul. @@ -105,8 +103,7 @@ if(new_character.mind) //disassociate any mind currently in our new body's mind variable new_character.mind.current = null - var/datum/atom_hud/antag/global_hud_to_transfer = antag_hud //we need these because leave_hud() will clear this list - var/datum/atom_hud/antag/team_hud_to_transfer = team_antag_hud + var/datum/atom_hud/antag/hud_to_transfer = antag_hud//we need this because leave_hud() will clear this list var/mob/living/old_current = current if(current) current.transfer_observers_to(new_character) //transfer anyone observing the old character to the new one @@ -118,7 +115,7 @@ if(iscarbon(new_character)) var/mob/living/carbon/C = new_character C.last_mind = src - transfer_antag_huds(global_hud_to_transfer, team_hud_to_transfer) //inherit the antag HUD + transfer_antag_huds(hud_to_transfer) //inherit the antag HUD transfer_actions(new_character) transfer_martial_arts(new_character) RegisterSignal(new_character, COMSIG_MOB_DEATH, .proc/set_death_time) diff --git a/code/modules/antagonists/_common/antag_hud.dm b/code/modules/antagonists/_common/antag_hud.dm index a871a146639..845f6aaca5a 100644 --- a/code/modules/antagonists/_common/antag_hud.dm +++ b/code/modules/antagonists/_common/antag_hud.dm @@ -1,35 +1,23 @@ /datum/atom_hud/antag hud_icons = list(ANTAG_HUD) var/self_visible = TRUE - var/team_hud = FALSE /datum/atom_hud/antag/hidden self_visible = FALSE -/datum/atom_hud/antag/team - team_hud = TRUE - /datum/atom_hud/antag/proc/join_hud(mob/M) - var/datum/atom_hud/antag/mind_hud = M.mind.antag_hud - - if (team_hud) - mind_hud = M.mind.team_antag_hud - //sees_hud should be set to 0 if the mob does not get to see it's own hud type. if(!istype(M)) CRASH("join_hud(): [M] ([M.type]) is not a mob!") - if(mind_hud) //note: please let this runtime if a mob has no mind, as mindless mobs shouldn't be getting antagged - mind_hud.leave_hud(M) + if(M.mind.antag_hud) //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(ANTAG_HUD in M.hud_possible) //Current mob does not support antag huds ie newplayer add_to_hud(M) if(self_visible) add_hud_to(M) - if (!team_hud) - M.mind.antag_hud = src - else - M.mind.team_antag_hud = src + M.mind.antag_hud = src /datum/atom_hud/antag/proc/leave_hud(mob/M) if(!M) @@ -39,39 +27,30 @@ remove_from_hud(M) remove_hud_from(M) if(M.mind) - if (!team_hud) - M.mind.antag_hud = null - else - M.mind.team_antag_hud = null - + M.mind.antag_hud = null + + //GAME_MODE PROCS //called to set a mob's antag icon state -/proc/set_antag_hud(mob/M, new_icon_state, team_hud=FALSE) +/proc/set_antag_hud(mob/M, new_icon_state) if(!istype(M)) CRASH("set_antag_hud(): [M] ([M.type]) is not a mob!") var/image/holder = M.hud_list[ANTAG_HUD] if(holder) holder.icon_state = new_icon_state if(M.mind || new_icon_state) //in mindless mobs, only null is acceptable, otherwise we're antagging a mindless mob, meaning we should runtime - if (!team_hud) - M.mind.antag_hud_icon_state = new_icon_state - else - M.mind.team_antag_hud_icon_state = new_icon_state + M.mind.antag_hud_icon_state = new_icon_state + //MIND PROCS //these are called by mind.transfer_to() -/datum/mind/proc/transfer_antag_huds(datum/atom_hud/antag/global_newhud, datum/atom_hud/antag/team_newhud) +/datum/mind/proc/transfer_antag_huds(datum/atom_hud/antag/newhud) leave_all_antag_huds() - set_antag_hud(current, antag_hud_icon_state) - set_antag_hud(current, team_antag_hud_icon_state, TRUE) - - if(global_newhud) - global_newhud.join_hud(current) - if(team_newhud) - team_newhud.join_hud(current) + if(newhud) + newhud.join_hud(current) /datum/mind/proc/leave_all_antag_huds() for(var/datum/atom_hud/antag/hud in GLOB.huds) if(hud.hudusers[current]) - hud.leave_hud(current) + hud.leave_hud(current) \ No newline at end of file diff --git a/code/modules/antagonists/_common/antag_team.dm b/code/modules/antagonists/_common/antag_team.dm index a5ba72b0353..4a910ca4d44 100644 --- a/code/modules/antagonists/_common/antag_team.dm +++ b/code/modules/antagonists/_common/antag_team.dm @@ -7,18 +7,10 @@ GLOBAL_LIST_EMPTY(antagonist_teams) var/member_name = "member" var/list/objectives = list() //common objectives, these won't be added or removed automatically, subtypes handle this, this is here for bookkeeping purposes. var/show_roundend_report = TRUE - var/has_hud = FALSE /// Does the team have its own HUD? - var/hud_icon_state = "traitor" /// Default icon - var/datum/atom_hud/antag/team/team_hud = new /// HUD datum /datum/team/New(starting_members) . = ..() GLOB.antagonist_teams += src - - if (has_hud) - team_hud.self_visible = TRUE - GLOB.huds += team_hud - if(starting_members) if(islist(starting_members)) for(var/datum/mind/M in starting_members) @@ -34,17 +26,9 @@ GLOBAL_LIST_EMPTY(antagonist_teams) return members.len == 1 /datum/team/proc/add_member(datum/mind/new_member) - if (has_hud) - team_hud.join_hud(new_member.current) - set_antag_hud(new_member.current, hud_icon_state, TRUE) - members |= new_member /datum/team/proc/remove_member(datum/mind/member) - if (has_hud) - team_hud.leave_hud(member.current) - set_antag_hud(member.current, null, TRUE) - members -= member //Display members/victory/failure/objectives for the team diff --git a/code/modules/antagonists/brother/brother.dm b/code/modules/antagonists/brother/brother.dm index 97cc8b7b289..d8e68de95cf 100644 --- a/code/modules/antagonists/brother/brother.dm +++ b/code/modules/antagonists/brother/brother.dm @@ -89,9 +89,6 @@ /datum/team/brother_team name = "brotherhood" member_name = "blood brother" - has_hud = TRUE - hud_icon_state = "brother" - var/meeting_area var/static/meeting_areas = list("The Bar", "Dorms", "Escape Dock", "Arrivals", "Holodeck", "Primary Tool Storage", "Recreation Area", "Chapel", "Library")