diff --git a/code/game/gamemodes/nations/flagprocs.dm b/code/game/gamemodes/nations/flagprocs.dm index ccfb21d53b5..8749dcfb133 100644 --- a/code/game/gamemodes/nations/flagprocs.dm +++ b/code/game/gamemodes/nations/flagprocs.dm @@ -37,7 +37,7 @@ if(user.mind) if(user.mind.nation) var/obj/item/flag/nation/F = locate(user.mind.nation.flagpath) - if(user.mind.nation.type == nation) //Same team as flag + if(user.mind.nation == nation) //Same team as flag if(liege && liege == F.liege) user << "You can't steal your liege's flags!" return @@ -61,10 +61,8 @@ for(var/mob/living/carbon/human/H in player_list) if(H.mind && H.mind.nation && liege && nation) if(H.mind.nation.name == liege.name) //we have to check based on the name var since they will be different instances of the nation datum - world << "Stop being liege message works" H.mind.current << "You are no longer the liege of [nation]!" if(H.mind.nation.name == nation.name) - world << "Stop being vassal message works" H.mind.current << "You are no longer vassals of [liege]!" if(N) N.vassals -= nation diff --git a/code/game/gamemodes/nations/nations.dm b/code/game/gamemodes/nations/nations.dm index 55f48e89a2d..7cf84cfd2d8 100644 --- a/code/game/gamemodes/nations/nations.dm +++ b/code/game/gamemodes/nations/nations.dm @@ -62,77 +62,77 @@ datum/game_mode/nations if(H.mind) if(H.mind.assigned_role in engineering_positions) H.mind.nation = all_nations["Atmosia"] - H.hud_updateflag |= 1 << SPECIALROLE_HUD + H.hud_updateflag |= 1 << NATIONS_HUD var/I = image('icons/mob/hud.dmi', loc = H.mind.current, icon_state = "hudatmosia") H.client.images += I H.verbs += /mob/proc/respawn_self -// H.verbs += /mob/proc/nations_status + H.verbs += /mob/proc/nations_status H.verbs -= /mob/living/verb/ghost H.equip_or_collect(new /obj/item/weapon/pinpointer/advpinpointer/flag(H), slot_r_hand) H << "You are now part of the great sovereign nation of [H.mind.nation.name]!" continue else if(H.mind.assigned_role in medical_positions) H.mind.nation = all_nations["Medistan"] - H.hud_updateflag |= 1 << SPECIALROLE_HUD + H.hud_updateflag |= 1 << NATIONS_HUD var/I = image('icons/mob/hud.dmi', loc = H.mind.current, icon_state = "hudmedistan") H.client.images += I H.verbs += /mob/proc/respawn_self -// H.verbs += /mob/proc/nations_status + H.verbs += /mob/proc/nations_status H.verbs -= /mob/living/verb/ghost H.equip_or_collect(new /obj/item/weapon/pinpointer/advpinpointer/flag(H), slot_r_hand) H << "You are now part of the great sovereign nation of [H.mind.nation.name]!" continue else if(H.mind.assigned_role in science_positions) H.mind.nation = all_nations["Scientopia"] - H.hud_updateflag |= 1 << SPECIALROLE_HUD + H.hud_updateflag |= 1 << NATIONS_HUD var/I = image('icons/mob/hud.dmi', loc = H.mind.current, icon_state = "hudscientopia") H.client.images += I H.verbs += /mob/proc/respawn_self -// H.verbs += /mob/proc/nations_status + H.verbs += /mob/proc/nations_status H.verbs -= /mob/living/verb/ghost H.equip_or_collect(new /obj/item/weapon/pinpointer/advpinpointer/flag(H), slot_r_hand) H << "You are now part of the great sovereign nation of [H.mind.nation.name]!" continue else if(H.mind.assigned_role in security_positions) H.mind.nation = all_nations["Brigston"] - H.hud_updateflag |= 1 << SPECIALROLE_HUD + H.hud_updateflag |= 1 << NATIONS_HUD var/I = image('icons/mob/hud.dmi', loc = H.mind.current, icon_state = "hudbrigston") H.client.images += I H.verbs += /mob/proc/respawn_self -// H.verbs += /mob/proc/nations_status + H.verbs += /mob/proc/nations_status H.verbs -= /mob/living/verb/ghost H.equip_or_collect(new /obj/item/weapon/pinpointer/advpinpointer/flag(H), slot_r_hand) H << "You are now part of the great sovereign nation of [H.mind.nation.name]!" continue else if(H.mind.assigned_role in cargonians) H.mind.nation = all_nations["Cargonia"] - H.hud_updateflag |= 1 << SPECIALROLE_HUD + H.hud_updateflag |= 1 << NATIONS_HUD var/I = image('icons/mob/hud.dmi', loc = H.mind.current, icon_state = "hudcargonia") H.client.images += I H.verbs += /mob/proc/respawn_self -// H.verbs += /mob/proc/nations_status + H.verbs += /mob/proc/nations_status H.verbs -= /mob/living/verb/ghost H.equip_or_collect(new /obj/item/weapon/pinpointer/advpinpointer/flag(H), slot_r_hand) H << "You are now part of the great sovereign nation of [H.mind.nation.name]!" continue else if(H.mind.assigned_role in civilian_positions) H.mind.nation = all_nations["People's Republic of Commandzakstan"] - H.hud_updateflag |= 1 << SPECIALROLE_HUD + H.hud_updateflag |= 1 << NATIONS_HUD var/I = image('icons/mob/hud.dmi', loc = H.mind.current, icon_state = "hudcommand") H.client.images += I H.verbs += /mob/proc/respawn_self -// H.verbs += /mob/proc/nations_status + H.verbs += /mob/proc/nations_status H.verbs -= /mob/living/verb/ghost H.equip_or_collect(new /obj/item/weapon/pinpointer/advpinpointer/flag(H), slot_r_hand) H << "You are now part of the great sovereign nation of [H.mind.nation.name]!" continue else if(H.mind.assigned_role in command_positions) H.mind.nation = all_nations["People's Republic of Commandzakstan"] - H.hud_updateflag |= 1 << SPECIALROLE_HUD + H.hud_updateflag |= 1 << NATIONS_HUD var/I = image('icons/mob/hud.dmi', loc = H.mind.current, icon_state = "hudcommand") H.client.images += I H.verbs += /mob/proc/respawn_self -// H.verbs += /mob/proc/nations_status + H.verbs += /mob/proc/nations_status H.verbs -= /mob/living/verb/ghost H.equip_or_collect(new /obj/item/weapon/pinpointer/advpinpointer/flag(H), slot_r_hand) H << "You are now part of the great sovereign nation of [H.mind.nation.name]!" @@ -180,13 +180,13 @@ datum/game_mode/nations -/mob/living/carbon/human/proc/nations_status() +/mob/proc/nations_status() set category = "OOC" set name = "Nation Status" set desc = "Information on your nation and your allies." - var/datum/game_mode/nations/mode = get_nations_mode() - if (!mode) return + if (!( ticker )) return + if (ticker.mode.name != "nations") return if(!mind) return if(!mind.nation) return @@ -318,7 +318,7 @@ datum/game_mode/nations data_core.manifest_inject(new_character) new_character << "You have been fully respawned. Get back in the fight!." - new_character.hud_updateflag |= 1 << SPECIALROLE_HUD + new_character.hud_updateflag |= 1 << NATIONS_HUD return new_character @@ -338,77 +338,77 @@ datum/game_mode/nations if(H.mind) if(H.mind.assigned_role in engineering_positions) H.mind.nation = all_nations["Atmosia"] - H.hud_updateflag |= 1 << SPECIALROLE_HUD + H.hud_updateflag |= 1 << NATIONS_HUD var/I = image('icons/mob/hud.dmi', loc = H.mind.current, icon_state = "hudatmosia") H.client.images += I H.verbs += /mob/proc/respawn_self -// H.verbs += /mob/proc/nations_status + H.verbs += /mob/proc/nations_status H.verbs -= /mob/living/verb/ghost H.equip_or_collect(new /obj/item/weapon/pinpointer/advpinpointer/flag(H), slot_r_hand) H << "You are now part of the great sovereign nation of [H.mind.nation.name]!" return else if(H.mind.assigned_role in medical_positions) H.mind.nation = all_nations["Medistan"] - H.hud_updateflag |= 1 << SPECIALROLE_HUD + H.hud_updateflag |= 1 << NATIONS_HUD var/I = image('icons/mob/hud.dmi', loc = H.mind.current, icon_state = "hudmedistan") H.client.images += I H.verbs += /mob/proc/respawn_self -// H.verbs += /mob/proc/nations_status + H.verbs += /mob/proc/nations_status H.verbs -= /mob/living/verb/ghost H.equip_or_collect(new /obj/item/weapon/pinpointer/advpinpointer/flag(H), slot_r_hand) H << "You are now part of the great sovereign nation of [H.mind.nation.name]!" return else if(H.mind.assigned_role in science_positions) H.mind.nation = all_nations["Scientopia"] - H.hud_updateflag |= 1 << SPECIALROLE_HUD + H.hud_updateflag |= 1 << NATIONS_HUD var/I = image('icons/mob/hud.dmi', loc = H.mind.current, icon_state = "hudscientopia") H.client.images += I H.verbs += /mob/proc/respawn_self -// H.verbs += /mob/proc/nations_status + H.verbs += /mob/proc/nations_status H.verbs -= /mob/living/verb/ghost H.equip_or_collect(new /obj/item/weapon/pinpointer/advpinpointer/flag(H), slot_r_hand) H << "You are now part of the great sovereign nation of [H.mind.nation.name]!" return else if(H.mind.assigned_role in security_positions) H.mind.nation = all_nations["Brigston"] - H.hud_updateflag |= 1 << SPECIALROLE_HUD + H.hud_updateflag |= 1 << NATIONS_HUD var/I = image('icons/mob/hud.dmi', loc = H.mind.current, icon_state = "hudbrigston") H.client.images += I H.verbs += /mob/proc/respawn_self -// H.verbs += /mob/proc/nations_status + H.verbs += /mob/proc/nations_status H.verbs -= /mob/living/verb/ghost H.equip_or_collect(new /obj/item/weapon/pinpointer/advpinpointer/flag(H), slot_r_hand) H << "You are now part of the great sovereign nation of [H.mind.nation.name]!" return else if(H.mind.assigned_role in cargonians) H.mind.nation = all_nations["Cargonia"] - H.hud_updateflag |= 1 << SPECIALROLE_HUD + H.hud_updateflag |= 1 << NATIONS_HUD var/I = image('icons/mob/hud.dmi', loc = H.mind.current, icon_state = "hudcargonia") H.client.images += I H.verbs += /mob/proc/respawn_self -// H.verbs += /mob/proc/nations_status + H.verbs += /mob/proc/nations_status H.verbs -= /mob/living/verb/ghost H.equip_or_collect(new /obj/item/weapon/pinpointer/advpinpointer/flag(H), slot_r_hand) H << "You are now part of the great sovereign nation of [H.mind.nation.name]!" return else if(H.mind.assigned_role in civilian_positions) H.mind.nation = all_nations["People's Republic of Commandzakstan"] - H.hud_updateflag |= 1 << SPECIALROLE_HUD + H.hud_updateflag |= 1 << NATIONS_HUD var/I = image('icons/mob/hud.dmi', loc = H.mind.current, icon_state = "hudcommand") H.client.images += I H.verbs += /mob/proc/respawn_self -// H.verbs += /mob/proc/nations_status + H.verbs += /mob/proc/nations_status H.verbs -= /mob/living/verb/ghost H.equip_or_collect(new /obj/item/weapon/pinpointer/advpinpointer/flag(H), slot_r_hand) H << "You are now part of the great sovereign nation of [H.mind.nation.name]!" return else if(H.mind.assigned_role in command_positions) H.mind.nation = all_nations["People's Republic of Commandzakstan"] - H.hud_updateflag |= 1 << SPECIALROLE_HUD + H.hud_updateflag |= 1 << NATIONS_HUD var/I = image('icons/mob/hud.dmi', loc = H.mind.current, icon_state = "hudcommand") H.client.images += I H.verbs += /mob/proc/respawn_self -// H.verbs += /mob/proc/nations_status + H.verbs += /mob/proc/nations_status H.verbs -= /mob/living/verb/ghost H.equip_or_collect(new /obj/item/weapon/pinpointer/advpinpointer/flag(H), slot_r_hand) H << "You are now part of the great sovereign nation of [H.mind.nation.name]!" diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 5968a6e33d3..48d7d08292b 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -115,6 +115,7 @@ Works together with spawning an observer, noted above. var/client/C = U.client for(var/mob/living/carbon/human/target in target_list) C.images += target.hud_list[SPECIALROLE_HUD] + C.images += target.hud_list[NATIONS_HUD] /* diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 2df048df9b4..585d23c1743 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -1543,6 +1543,14 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc see_in_dark = species.darksight see_invisible = SEE_INVISIBLE_LIVING + if(ticker && ticker.mode.name == "nations") + var/list/target_list = list() + for(var/mob/living/target in oview(src, 14)) + if(target.mind&&(target.mind.nation)) + target_list += target + if(target_list.len) + assess_targets(target_list, src) + if(healths) if (analgesic) @@ -2004,6 +2012,16 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc holder.icon_state = "loyalist" if("head_mutineer") holder.icon_state = "mutineer" + + + hud_list[SPECIALROLE_HUD] = holder + + if(hud_updateflag & 1 << NATIONS_HUD) + var/image/holder = hud_list[NATIONS_HUD] + holder.icon_state = "hudblank" + + if(mind) + switch(mind.nation.name) if("Atmosia") holder.icon_state = "hudatmosia" @@ -2018,10 +2036,15 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc if("Scientopia") holder.icon_state = "hudscientopia" - hud_list[SPECIALROLE_HUD] = holder + hud_list[NATIONS_HUD] = holder hud_updateflag = 0 +/mob/living/carbon/human/proc/assess_targets(list/target_list, mob/dead/observer/U) + var/client/C = U.client + for(var/mob/living/carbon/human/target in target_list) + C.images += target.hud_list[NATIONS_HUD] + #undef HUMAN_MAX_OXYLOSS #undef HUMAN_CRIT_MAX_OXYLOSS diff --git a/code/setup.dm b/code/setup.dm index d7b7fb92704..5cbe6769042 100644 --- a/code/setup.dm +++ b/code/setup.dm @@ -755,6 +755,7 @@ var/list/be_special_flags = list( #define IMPTRACK_HUD 7 // tracking implant #define SPECIALROLE_HUD 8 // AntagHUD image #define STATUS_HUD_OOC 9 // STATUS_HUD without virus db check for someone being ill. +#define NATIONS_HUD 10 //Show nations icons during nations gamemode //Pulse levels, very simplified #define PULSE_NONE 0 //so !M.pulse checks would be possible