mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-30 00:29:02 +01:00
Merge pull request #16023 from lordpidey/hud_fix_lordpidey
[S] Removes edge cases of traitors seeing own antag hud upon body switch.
This commit is contained in:
+4
-4
@@ -14,10 +14,10 @@ var/datum/atom_hud/huds = list( \
|
||||
ANTAG_HUD_SHADOW = new/datum/atom_hud/antag(), \
|
||||
ANTAG_HUD_HOG_BLUE = new/datum/atom_hud/antag(),\
|
||||
ANTAG_HUD_HOG_RED = new/datum/atom_hud/antag(),\
|
||||
ANTAG_HUD_TRAITOR = new/datum/atom_hud/antag(),\
|
||||
ANTAG_HUD_NINJA = new/datum/atom_hud/antag(),\
|
||||
ANTAG_HUD_CHANGELING = new/datum/atom_hud/antag(),\
|
||||
ANTAG_HUD_ABDUCTOR = new/datum/atom_hud/antag(),\
|
||||
ANTAG_HUD_TRAITOR = new/datum/atom_hud/antag/hidden(),\
|
||||
ANTAG_HUD_NINJA = new/datum/atom_hud/antag/hidden(),\
|
||||
ANTAG_HUD_CHANGELING = new/datum/atom_hud/antag/hidden(),\
|
||||
ANTAG_HUD_ABDUCTOR = new/datum/atom_hud/antag/hidden(),\
|
||||
)
|
||||
|
||||
/datum/atom_hud
|
||||
|
||||
@@ -1,14 +1,18 @@
|
||||
/datum/atom_hud/antag
|
||||
hud_icons = list(ANTAG_HUD)
|
||||
var/self_visible = 1
|
||||
|
||||
/datum/atom_hud/antag/proc/join_hud(mob/M, var/sees_hud = 1)
|
||||
/datum/atom_hud/antag/hidden
|
||||
self_visible = 0
|
||||
|
||||
/datum/atom_hud/antag/proc/join_hud(mob/M)
|
||||
//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(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)
|
||||
add_to_hud(M)
|
||||
if(sees_hud)
|
||||
if(self_visible)
|
||||
add_hud_to(M)
|
||||
M.mind.antag_hud = src
|
||||
|
||||
|
||||
@@ -504,7 +504,7 @@ var/list/slot2type = list("head" = /obj/item/clothing/head/changeling, "wear_mas
|
||||
|
||||
/datum/game_mode/proc/update_changeling_icons_added(datum/mind/changling_mind)
|
||||
var/datum/atom_hud/antag/hud = huds[ANTAG_HUD_CHANGELING]
|
||||
hud.join_hud(changling_mind.current, 0)
|
||||
hud.join_hud(changling_mind.current)
|
||||
set_antag_hud(changling_mind.current, "changling")
|
||||
|
||||
/datum/game_mode/proc/update_changeling_icons_removed(datum/mind/changling_mind)
|
||||
|
||||
@@ -344,7 +344,7 @@
|
||||
|
||||
/datum/game_mode/proc/update_abductor_icons_added(datum/mind/alien_mind)
|
||||
var/datum/atom_hud/antag/hud = huds[ANTAG_HUD_ABDUCTOR]
|
||||
hud.join_hud(alien_mind.current, 0)
|
||||
hud.join_hud(alien_mind.current)
|
||||
set_antag_hud(alien_mind.current, ((alien_mind in abductors) ? "abductor" : "abductee"))
|
||||
|
||||
/datum/game_mode/proc/update_abductor_icons_removed(datum/mind/alien_mind)
|
||||
|
||||
@@ -377,7 +377,7 @@
|
||||
|
||||
/datum/game_mode/proc/update_traitor_icons_added(datum/mind/traitor_mind)
|
||||
var/datum/atom_hud/antag/traitorhud = huds[ANTAG_HUD_TRAITOR]
|
||||
traitorhud.join_hud(traitor_mind.current, 0)
|
||||
traitorhud.join_hud(traitor_mind.current)
|
||||
set_antag_hud(traitor_mind.current, "traitor")
|
||||
|
||||
/datum/game_mode/proc/update_traitor_icons_removed(datum/mind/traitor_mind)
|
||||
|
||||
@@ -215,9 +215,9 @@ Contents:
|
||||
return 1
|
||||
|
||||
/datum/game_mode/proc/update_ninja_icons_added(var/mob/living/carbon/human/ninja)
|
||||
var/datum/atom_hud/antag/ninjahud = huds[ANTAG_HUD_TRAITOR]
|
||||
ninjahud.join_hud(ninja, 0)
|
||||
set_antag_hud(ninja, "traitor")
|
||||
var/datum/atom_hud/antag/ninjahud = huds[ANTAG_HUD_NINJA]
|
||||
ninjahud.join_hud(ninja)
|
||||
set_antag_hud(ninja, "ninja")
|
||||
|
||||
/datum/game_mode/proc/update_ninja_icons_removed(datum/mind/ninja_mind)
|
||||
var/datum/atom_hud/antag/ninjahud = huds[ANTAG_HUD_NINJA]
|
||||
|
||||
Reference in New Issue
Block a user