diff --git a/code/datums/jobs/job/marines.dm b/code/datums/jobs/job/marines.dm index 56545b62b54cf..8fdae2c7c6aea 100644 --- a/code/datums/jobs/job/marines.dm +++ b/code/datums/jobs/job/marines.dm @@ -376,12 +376,9 @@ You are also in charge of communicating with command and letting them know about return if(!new_human.assigned_squad) return - if(new_human.assigned_squad.squad_leader != new_human) - if(new_human.assigned_squad.squad_leader) - new_human.assigned_squad.demote_leader() + if(!ismarineleaderjob(new_human.assigned_squad?.squad_leader?.job)) //If there's no proper SL already in the squad, promote to leader new_human.assigned_squad.promote_leader(new_human) - /datum/job/terragov/squad/vatgrown title = SQUAD_MARINE paygrade = "VM" diff --git a/code/datums/jobs/squads.dm b/code/datums/jobs/squads.dm index 54bf41a65eaae..42698129189bc 100644 --- a/code/datums/jobs/squads.dm +++ b/code/datums/jobs/squads.dm @@ -303,7 +303,9 @@ H.hud_set_job(faction) H.update_inv_head() H.update_inv_wear_suit() - + if(istype(H.wear_ear, /obj/item/radio/headset/mainship/)) + var/obj/item/radio/headset/mainship/radio = H.wear_ear + radio.update_minimap_icon() /datum/squad/proc/promote_leader(mob/living/carbon/human/H) if(squad_leader) @@ -330,6 +332,9 @@ squad_leader.hud_set_job(faction) squad_leader.update_inv_head() squad_leader.update_inv_wear_suit() + if(istype(squad_leader.wear_ear, /obj/item/radio/headset/mainship/)) + var/obj/item/radio/headset/mainship/radio = squad_leader.wear_ear + radio.update_minimap_icon() to_chat(squad_leader, "You're now the Squad Leader for [src]!") diff --git a/code/game/data_huds.dm b/code/game/data_huds.dm index 8a922aab22431..25789943dc10f 100644 --- a/code/game/data_huds.dm +++ b/code/game/data_huds.dm @@ -599,13 +599,13 @@ if(assigned_squad) var/squad_color = assigned_squad.color var/rank = job.comm_title - if(assigned_squad.squad_leader == src) - rank = JOB_COMM_TITLE_SQUAD_LEADER if(job.job_flags & JOB_FLAG_PROVIDES_SQUAD_HUD) var/image/IMG = image('icons/mob/hud/job.dmi', src, "") IMG.color = squad_color holder.overlays += IMG holder.overlays += image('icons/mob/hud/job.dmi', src, "[rank]") + if(assigned_squad?.squad_leader == src) + holder.overlays += image('icons/mob/hud/job.dmi', src, "leader_trim") var/fireteam = wear_id?.assigned_fireteam if(fireteam) var/image/IMG2 = image('icons/mob/hud/job.dmi', src, "fireteam_[fireteam]") diff --git a/code/game/objects/items/radio/headset.dm b/code/game/objects/items/radio/headset.dm index ebfd5f9b88661..b00dc776cde4b 100644 --- a/code/game/objects/items/radio/headset.dm +++ b/code/game/objects/items/radio/headset.dm @@ -296,6 +296,11 @@ GLOBAL_LIST_INIT(channel_tokens, list( var/image/overlay = image('icons/UI_icons/map_blips.dmi', null, wearer.job.minimap_icon) overlay.color = wearer.assigned_squad.color underlay.overlays += overlay + + if(wearer.assigned_squad?.squad_leader == wearer) + var/image/leader_trim = image('icons/UI_icons/map_blips.dmi', null, "leader_trim") + underlay.overlays += leader_trim + SSminimaps.add_marker(wearer, marker_flags, underlay) return SSminimaps.add_marker(wearer, marker_flags, image('icons/UI_icons/map_blips.dmi', null, wearer.job.minimap_icon)) diff --git a/icons/UI_Icons/map_blips.dmi b/icons/UI_Icons/map_blips.dmi index aed7ee7d771a9..ed698a9c15152 100644 Binary files a/icons/UI_Icons/map_blips.dmi and b/icons/UI_Icons/map_blips.dmi differ diff --git a/icons/mob/hud/job.dmi b/icons/mob/hud/job.dmi index f9dd094356d09..261e7fb993f6f 100644 Binary files a/icons/mob/hud/job.dmi and b/icons/mob/hud/job.dmi differ