diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 547c9e3afb1..145c070e9d8 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -224,7 +224,7 @@ Works together with spawning an observer, noted above. if(antagHUD) var/list/target_list = list() for(var/mob/living/target in oview(src)) - if( target.mind&&(target.mind.special_role||issilicon(target)) ) + if( target.mind&&(target.mind.antag_roles.len > 0 || issilicon(target)) ) target_list += target if(target_list.len) assess_targets(target_list, src) @@ -309,29 +309,13 @@ Works together with spawning an observer, noted above. var/icon/tempHud = 'icons/mob/hud.dmi' for(var/mob/living/target in target_list) if(iscarbon(target)) - switch(target.mind.special_role) - if("traitor","Syndicate") - U.client.images += image(tempHud,target,"hudsyndicate") - if("Revolutionary") - U.client.images += image(tempHud,target,"hudrevolutionary") - if("Head Revolutionary") - U.client.images += image(tempHud,target,"hudheadrevolutionary") - if("Cultist") - U.client.images += image(tempHud,target,"hudcultist") - if("Changeling") - U.client.images += image(tempHud,target,"hudchangeling") - if("Wizard","Fake Wizard") - U.client.images += image(tempHud,target,"hudwizard") - if("Hunter","Sentinel","Drone","Queen") - U.client.images += image(tempHud,target,"hudalien") - if("Death Commando") - U.client.images += image(tempHud,target,"huddeathsquad") - if("Vampire") - U.client.images += image(tempHud,target,"vampire") - if("VampThrall") - U.client.images += image(tempHud,target,"vampthrall") - else//If we don't know what role they have but they have one. - U.client.images += image(tempHud,target,"hudunknown1") + for (var/R in target.mind.antag_roles) + var/datum/role/role = target.mind.antag_roles[R] + var/image/I = image('icons/role_HUD_icons.dmi', target, role.logo_state) + I.pixel_x = 20 * PIXEL_MULTIPLIER + I.pixel_y = 20 * PIXEL_MULTIPLIER + I.plane = ANTAG_HUD_PLANE + U.client.images += I else if(issilicon(target))//If the silicon mob has no law datum, no inherent laws, or a law zero, add them to the hud. var/mob/living/silicon/silicon_target = target if(!silicon_target.laws||(silicon_target.laws&&(silicon_target.laws.zeroth||!silicon_target.laws.inherent.len))||silicon_target.mind.special_role=="traitor")