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