From 96cc04888151416e9c8c06fbde844e9f0d5ac5e2 Mon Sep 17 00:00:00 2001 From: Git-Nivrak <59925169+Git-Nivrak@users.noreply.github.com> Date: Thu, 16 May 2024 11:02:37 +0300 Subject: [PATCH 1/4] a --- code/__DEFINES/mode.dm | 1 + code/game/gamemodes/cm_initialize.dm | 1 + code/game/jobs/role_authority.dm | 4 ++-- code/modules/mob/new_player/new_player.dm | 9 +++++++-- 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/code/__DEFINES/mode.dm b/code/__DEFINES/mode.dm index fea9ebeebb2c..ca35fadd396b 100644 --- a/code/__DEFINES/mode.dm +++ b/code/__DEFINES/mode.dm @@ -77,6 +77,7 @@ #define ROUNDSTATUS_FOG_DOWN 1 #define ROUNDSTATUS_PODDOORS_OPEN 2 +#define LATEJOIN_MARINES_PER_LATEJOIN_LARVA_EARLY 4 #define LATEJOIN_MARINES_PER_LATEJOIN_LARVA 2.5 //================================================= diff --git a/code/game/gamemodes/cm_initialize.dm b/code/game/gamemodes/cm_initialize.dm index c9c180295b1a..96e2db4f3b38 100644 --- a/code/game/gamemodes/cm_initialize.dm +++ b/code/game/gamemodes/cm_initialize.dm @@ -74,6 +74,7 @@ Additional game mode variables. var/monkey_amount = 0 //How many monkeys do we spawn on this map ? var/list/monkey_types = list() //What type of monkeys do we spawn var/latejoin_tally = 0 //How many people latejoined Marines + var/latejoin_larva_drop_early = LATEJOIN_MARINES_PER_LATEJOIN_LARVA_EARLY var/latejoin_larva_drop = LATEJOIN_MARINES_PER_LATEJOIN_LARVA //A larva will spawn in once the tally reaches this level. If set to 0, no latejoin larva drop /// Amount of latejoin_tally already awarded as larvas var/latejoin_larva_used = 0 diff --git a/code/game/jobs/role_authority.dm b/code/game/jobs/role_authority.dm index 58c9ad5b5092..10ba98dafcd9 100644 --- a/code/game/jobs/role_authority.dm +++ b/code/game/jobs/role_authority.dm @@ -259,8 +259,8 @@ I hope it's easier to tell what the heck this proc is even doing, unlike previou var/list/roles_left = list() var/assigned = 0 for(var/priority in HIGH_PRIORITY to LOW_PRIORITY) - // Assigning xenos first. - assigned += assign_initial_roles(priority, roles_for_mode & GLOB.ROLES_XENO, unassigned_players) + // Assigning xenos first, should not be counted + assign_initial_roles(priority, roles_for_mode & GLOB.ROLES_XENO, unassigned_players) // Assigning special roles second. (survivor, predator) assigned += assign_initial_roles(priority, roles_for_mode & (GLOB.ROLES_WHITELISTED|GLOB.ROLES_SPECIAL), unassigned_players) // Assigning command third. diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index 1883b0ed9292..f94c62615b6d 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -267,8 +267,13 @@ sq.max_engineers = engi_slot_formula(GLOB.clients.len) sq.max_medics = medic_slot_formula(GLOB.clients.len) - if(SSticker.mode.latejoin_larva_drop && SSticker.mode.latejoin_tally - SSticker.mode.latejoin_larva_used >= SSticker.mode.latejoin_larva_drop) - SSticker.mode.latejoin_larva_used += SSticker.mode.latejoin_larva_drop + var/latejoin_larva_drop = SSticker.mode.latejoin_larva_drop + + if (ROUND_TIME < XENO_ROUNDSTART_PROGRESS_TIME_2) + latejoin_larva_drop = SStgui.mode.latejoin_larva_drop_early + + if(latejoin_larva_drop && SSticker.mode.latejoin_tally - SSticker.mode.latejoin_larva_used >= latejoin_larva_drop) + SSticker.mode.latejoin_larva_used += latejoin_larva_drop var/datum/hive_status/hive for(var/hivenumber in GLOB.hive_datum) hive = GLOB.hive_datum[hivenumber] From d33950f1ba7550f059c4e61cf5f024583b51ce12 Mon Sep 17 00:00:00 2001 From: Git-Nivrak <59925169+Git-Nivrak@users.noreply.github.com> Date: Thu, 16 May 2024 11:13:34 +0300 Subject: [PATCH 2/4] autocomplete moment --- code/modules/mob/new_player/new_player.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index f94c62615b6d..1bdf075c938e 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -270,7 +270,7 @@ var/latejoin_larva_drop = SSticker.mode.latejoin_larva_drop if (ROUND_TIME < XENO_ROUNDSTART_PROGRESS_TIME_2) - latejoin_larva_drop = SStgui.mode.latejoin_larva_drop_early + latejoin_larva_drop = SSticker.mode.latejoin_larva_drop_early if(latejoin_larva_drop && SSticker.mode.latejoin_tally - SSticker.mode.latejoin_larva_used >= latejoin_larva_drop) SSticker.mode.latejoin_larva_used += latejoin_larva_drop From 347598dfc950561f3b50cd596c884f9c38367e2a Mon Sep 17 00:00:00 2001 From: Git-Nivrak <59925169+Git-Nivrak@users.noreply.github.com> Date: Sat, 18 May 2024 08:34:19 +0300 Subject: [PATCH 3/4] Update role_authority.dm --- code/game/jobs/role_authority.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/jobs/role_authority.dm b/code/game/jobs/role_authority.dm index 10ba98dafcd9..8423d3ca661b 100644 --- a/code/game/jobs/role_authority.dm +++ b/code/game/jobs/role_authority.dm @@ -259,8 +259,8 @@ I hope it's easier to tell what the heck this proc is even doing, unlike previou var/list/roles_left = list() var/assigned = 0 for(var/priority in HIGH_PRIORITY to LOW_PRIORITY) - // Assigning xenos first, should not be counted - assign_initial_roles(priority, roles_for_mode & GLOB.ROLES_XENO, unassigned_players) + // Assigning xenos first + assigned += assign_initial_roles(priority, roles_for_mode & GLOB.ROLES_XENO, unassigned_players) // Assigning special roles second. (survivor, predator) assigned += assign_initial_roles(priority, roles_for_mode & (GLOB.ROLES_WHITELISTED|GLOB.ROLES_SPECIAL), unassigned_players) // Assigning command third. From 01a8969d506380e7dae025d3210c995d81f5e77f Mon Sep 17 00:00:00 2001 From: Git-Nivrak <59925169+Git-Nivrak@users.noreply.github.com> Date: Sat, 18 May 2024 08:35:34 +0300 Subject: [PATCH 4/4] Update role_authority.dm --- code/game/jobs/role_authority.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/jobs/role_authority.dm b/code/game/jobs/role_authority.dm index 8423d3ca661b..58c9ad5b5092 100644 --- a/code/game/jobs/role_authority.dm +++ b/code/game/jobs/role_authority.dm @@ -259,7 +259,7 @@ I hope it's easier to tell what the heck this proc is even doing, unlike previou var/list/roles_left = list() var/assigned = 0 for(var/priority in HIGH_PRIORITY to LOW_PRIORITY) - // Assigning xenos first + // Assigning xenos first. assigned += assign_initial_roles(priority, roles_for_mode & GLOB.ROLES_XENO, unassigned_players) // Assigning special roles second. (survivor, predator) assigned += assign_initial_roles(priority, roles_for_mode & (GLOB.ROLES_WHITELISTED|GLOB.ROLES_SPECIAL), unassigned_players)