diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm index dc6c8d0d7bc..500553e1f28 100644 --- a/code/__HELPERS/global_lists.dm +++ b/code/__HELPERS/global_lists.dm @@ -20,7 +20,7 @@ init_datum_subtypes(/datum/job, joblist, list(/datum/job/ai, /datum/job/cyborg), "title") init_datum_subtypes(/datum/superheroes, all_superheroes, null, "name") - init_datum_subtypes(/datum/nations, all_nations, null, "name") + init_datum_subtypes(/datum/nations, all_nations, null, "default_name") init_datum_subtypes(/datum/language, all_languages, null, "name") for (var/language_name in all_languages) diff --git a/code/game/gamemodes/nations/nations.dm b/code/game/gamemodes/nations/nations.dm index 24c7bc1e82b..2d453e60d57 100644 --- a/code/game/gamemodes/nations/nations.dm +++ b/code/game/gamemodes/nations/nations.dm @@ -15,6 +15,7 @@ datum/game_mode/nations split_teams() set_ai() // remove_access() + assign_leaders() for(var/mob/M in player_list) if(!istype(M,/mob/new_player)) M << sound('sound/effects/purge_siren.ogg') @@ -39,7 +40,12 @@ datum/game_mode/nations 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 << "You are now part of the great sovereign nation of [H.mind.nation.name]!" + H.mind.nation.membership += H.mind.current + if(H.mind.assigned_role == H.mind.nation.default_leader) + H.mind.nation.current_leader = H.mind.current + H << "You have been chosent to lead the nation of [H.mind.nation.default_name]!" + continue + H << "You are now part of the great sovereign nation of [H.mind.nation.default_name]!" continue if(H.mind.assigned_role in medical_positions) @@ -47,7 +53,12 @@ datum/game_mode/nations 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 << "You are now part of the great sovereign nation of [H.mind.nation.name]!" + H.mind.nation.membership += H.mind.current + if(H.mind.assigned_role == H.mind.nation.default_leader) + H.mind.nation.current_leader = H.mind.current + H << "You have been chosent to lead the nation of [H.mind.nation.default_name]!" + continue + H << "You are now part of the great sovereign nation of [H.mind.nation.default_name]!" continue if(H.mind.assigned_role in science_positions) @@ -55,7 +66,12 @@ datum/game_mode/nations 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 << "You are now part of the great sovereign nation of [H.mind.nation.name]!" + H.mind.nation.membership += H.mind.current + if(H.mind.assigned_role == H.mind.nation.default_leader) + H.mind.nation.current_leader = H.mind.current + H << "You have been chosent to lead the nation of [H.mind.nation.default_name]!" + continue + H << "You are now part of the great sovereign nation of [H.mind.nation.default_name]!" continue if(H.mind.assigned_role in security_positions) @@ -63,7 +79,12 @@ datum/game_mode/nations 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 << "You are now part of the great sovereign nation of [H.mind.nation.name]!" + H.mind.nation.membership += H.mind.current + if(H.mind.assigned_role == H.mind.nation.default_leader) + H.mind.nation.current_leader = H.mind.current + H << "You have been chosent to lead the nation of [H.mind.nation.default_name]!" + continue + H << "You are now part of the great sovereign nation of [H.mind.nation.default_name]!" continue if(H.mind.assigned_role in cargonians) @@ -71,7 +92,12 @@ datum/game_mode/nations 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 << "You are now part of the great sovereign nation of [H.mind.nation.name]!" + H.mind.nation.membership += H.mind.current + if(H.mind.assigned_role == H.mind.nation.default_leader) + H.mind.nation.current_leader = H.mind.current + H << "You have been chosent to lead the nation of [H.mind.nation.default_name]!" + continue + H << "You are now part of the great sovereign nation of [H.mind.nation.default_name]!" continue if(H.mind.assigned_role in servicion) @@ -79,7 +105,12 @@ datum/game_mode/nations H.hud_updateflag |= 1 << NATIONS_HUD var/I = image('icons/mob/hud.dmi', loc = H.mind.current, icon_state = "hudservice") H.client.images += I - H << "You are now part of the great sovereign nation of [H.mind.nation.name]!" + H.mind.nation.membership += H.mind.current + if(H.mind.assigned_role == H.mind.nation.default_leader) + H.mind.nation.current_leader = H.mind.current + H << "You have been chosent to lead the nation of [H.mind.nation.default_name]!" + continue + H << "You are now part of the great sovereign nation of [H.mind.nation.default_name]!" continue if(H.mind.assigned_role in support_positions) @@ -87,7 +118,12 @@ datum/game_mode/nations 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 << "You are now part of the great sovereign nation of [H.mind.nation.name]!" + H.mind.nation.membership += H.mind.current + if(H.mind.assigned_role == H.mind.nation.default_leader) + H.mind.nation.current_leader = H.mind.current + H << "You have been chosent to lead the nation of [H.mind.nation.default_name]!" + continue + H << "You are now part of the great sovereign nation of [H.mind.nation.default_name]!" continue if(H.mind.assigned_role in command_positions) @@ -95,7 +131,12 @@ datum/game_mode/nations 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 << "You are now part of the great sovereign nation of [H.mind.nation.name]!" + H.mind.nation.membership += H.mind.current + if(H.mind.assigned_role == H.mind.nation.default_leader) + H.mind.nation.current_leader = H.mind.current + H << "You have been chosent to lead the nation of [H.mind.nation.default_name]!" + continue + H << "You are now part of the great sovereign nation of [H.mind.nation.default_name]!" continue if(H.mind.assigned_role in civilian_positions) @@ -129,6 +170,15 @@ datum/game_mode/nations if(W.z in config.station_levels) W.req_access = list() + +/datum/game_mode/nations/proc/assign_leaders() + for(var/datum/nations/N in all_nations) + if(!N.current_name) + N.current_name = N.default_name + if(!N.current_leader) + N.current_leader = pick(N.membership) + N.current_leader << "You have been chosen to lead the nation of [N.current_name]!" + /** * LateSpawn hook. * Called in newplayer.dm when a humanoid character joins the round after it started. @@ -148,7 +198,8 @@ datum/game_mode/nations 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 << "You are now part of the great sovereign nation of [H.mind.nation.name]!" + H.mind.nation.membership += H.mind.current + H << "You are now part of the great sovereign nation of [H.mind.nation.current_name]!" return 1 if(H.mind.assigned_role in medical_positions) @@ -156,7 +207,8 @@ datum/game_mode/nations 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 << "You are now part of the great sovereign nation of [H.mind.nation.name]!" + H.mind.nation.membership += H.mind.current + H << "You are now part of the great sovereign nation of [H.mind.nation.current_name]!" return 1 if(H.mind.assigned_role in science_positions) @@ -164,7 +216,8 @@ datum/game_mode/nations 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 << "You are now part of the great sovereign nation of [H.mind.nation.name]!" + H.mind.nation.membership += H.mind.current + H << "You are now part of the great sovereign nation of [H.mind.nation.current_name]!" return 1 if(H.mind.assigned_role in security_positions) @@ -172,7 +225,8 @@ datum/game_mode/nations 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 << "You are now part of the great sovereign nation of [H.mind.nation.name]!" + H.mind.nation.membership += H.mind.current + H << "You are now part of the great sovereign nation of [H.mind.nation.current_name]!" return 1 if(H.mind.assigned_role in cargonians) @@ -180,7 +234,8 @@ datum/game_mode/nations 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 << "You are now part of the great sovereign nation of [H.mind.nation.name]!" + H.mind.nation.membership += H.mind.current + H << "You are now part of the great sovereign nation of [H.mind.nation.current_name]!" return 1 if(H.mind.assigned_role in servicion) @@ -188,7 +243,8 @@ datum/game_mode/nations H.hud_updateflag |= 1 << NATIONS_HUD var/I = image('icons/mob/hud.dmi', loc = H.mind.current, icon_state = "hudservice") H.client.images += I - H << "You are now part of the great sovereign nation of [H.mind.nation.name]!" + H.mind.nation.membership += H.mind.current + H << "You are now part of the great sovereign nation of [H.mind.nation.current_name]!" return 1 if(H.mind.assigned_role in support_positions) @@ -196,7 +252,8 @@ datum/game_mode/nations 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 << "You are now part of the great sovereign nation of [H.mind.nation.name]!" + H.mind.nation.membership += H.mind.current + H << "You are now part of the great sovereign nation of [H.mind.nation.current_name]!" return 1 if(H.mind.assigned_role in command_positions) @@ -204,7 +261,8 @@ datum/game_mode/nations 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 << "You are now part of the great sovereign nation of [H.mind.nation.name]!" + H.mind.nation.membership += H.mind.current + H << "You are now part of the great sovereign nation of [H.mind.nation.current_name]!" return 1 if(H.mind.assigned_role in civilian_positions) diff --git a/code/game/gamemodes/nations/nationsdatums.dm b/code/game/gamemodes/nations/nationsdatums.dm index 64067acb041..5e9373b2ac6 100644 --- a/code/game/gamemodes/nations/nationsdatums.dm +++ b/code/game/gamemodes/nations/nationsdatums.dm @@ -1,23 +1,34 @@ /datum/nations - var/name + var/default_name + var/current_name + var/default_leader + var/current_leader + var/list/membership = list() /datum/nations/atmosia - name = "Atmosia" + default_name = "Atmosia" + default_leader = "Chief Engineer" /datum/nations/brigston - name = "Brigston" + default_name = "Brigston" + default_leader = "Head of Security" /datum/nations/cargonia - name = "Cargonia" + default_name = "Cargonia" + default_leader = "Quartermaster" /datum/nations/command - name = "People's Republic of Commandzakstan" + default_name = "People's Republic of Commandzakstan" + default_leader = "Captain" /datum/nations/medistan - name = "Medistan" + default_name = "Medistan" + default_leader = "Chief Medical Officer" /datum/nations/scientopia - name = "Scientopia" + default_name = "Scientopia" + default_leader = "Research Director" /datum/nations/service - name = "Servicion" \ No newline at end of file + default_name = "Servicion" + default_leader = "Bartender" \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index f3a376ee180..a04d048aff3 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -245,6 +245,9 @@ stat(null, "Intent: [a_intent]") stat(null, "Move Mode: [m_intent]") + + stat(null, "Station Time: [worldtime2text()]") + if(ticker && ticker.mode && ticker.mode.name == "AI malfunction") if(ticker.mode:malf_mode_declared) stat(null, "Time left: [max(ticker.mode:AI_win_timeleft/(ticker.mode:apcs/3), 0)]") @@ -275,7 +278,11 @@ if(mind.changeling) stat("Chemical Storage", "[mind.changeling.chem_charges]/[mind.changeling.chem_storage]") stat("Absorbed DNA", mind.changeling.absorbedcount) - stat(null, "Station Time: [worldtime2text()]") + + if(mind.nation) + stat("Nation Name", mind.nation.current_name) + stat("Nation Leader", mind.nation.current_leader) + if(istype(loc, /obj/spacepod)) // Spacdpods! var/obj/spacepod/S = loc diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 74832646851..dd0f0bb9c4a 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -1488,7 +1488,7 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc holder.icon_state = "hudblank" if(mind && mind.nation) - switch(mind.nation.name) + switch(mind.nation.default_name) if("Atmosia") holder.icon_state = "hudatmosia" if("Brigston")