From b69deb13ae099575d3b245bbd198f66cb8b1994e Mon Sep 17 00:00:00 2001 From: ihatethisengine Date: Sun, 4 Jun 2023 02:13:52 +0300 Subject: [PATCH 01/15] test --- code/modules/cm_aliens/structures/special/pylon_core.dm | 9 +++++++-- code/modules/mob/living/carbon/xenomorph/xeno_defines.dm | 7 ++++++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/code/modules/cm_aliens/structures/special/pylon_core.dm b/code/modules/cm_aliens/structures/special/pylon_core.dm index 9376e2b6e914..2e6b40cd573b 100644 --- a/code/modules/cm_aliens/structures/special/pylon_core.dm +++ b/code/modules/cm_aliens/structures/special/pylon_core.dm @@ -148,12 +148,17 @@ if(players_with_xeno_pref && players_with_xeno_pref.len && can_spawn_larva()) spawn_burrowed_larva(pick(players_with_xeno_pref)) - if(linked_hive.hijack_burrowed_surge && (last_surge_time + surge_cooldown) < world.time) + + if(linked_hive.hijack_burrowed_surge && linked_hive.hijack_burrowed_left > 0 && (last_surge_time + surge_cooldown) < world.time) + xeno_message(SPAN_XENOBOLDNOTICE("[linked_hive.hijack_burrowed_left] reeeeeeeeee"),3, linked_hive.hivenumber) last_surge_time = world.time linked_hive.stored_larva++ - announce_dchat("The hive has gained another burrowed larva! Use the Join As Xeno verb to take it.", src) + linked_hive.hijack_burrowed_left-- + announce_dchat("The hive has gained another burrowed larva! Use the Join As Xeno verb to take it. [linked_hive.hijack_burrowed_left]", src) if(surge_cooldown > 30 SECONDS) //mostly for sanity purposes surge_cooldown = surge_cooldown - surge_incremental_reduction //ramps up over time + else if ((last_surge_time + surge_cooldown) < world.time) + xeno_message(SPAN_XENOBOLDNOTICE("[linked_hive.hijack_burrowed_left] reeeeeeeeee"),3, linked_hive.hivenumber) // Hive core can repair itself over time if(health < maxhealth && last_healed <= world.time) diff --git a/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm b/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm index b5431720e14a..f3577bcd0d61 100644 --- a/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm +++ b/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm @@ -285,6 +285,7 @@ var/larva_gestation_multiplier = 1 var/bonus_larva_spawn_chance = 1 var/hijack_burrowed_surge = FALSE //at hijack, start spawning lots of burrowed + var/hijack_burrowed_left = 0 //how many burrowed is going to spawn during larva surge var/ignore_slots = FALSE var/dynamic_evolution = TRUE @@ -895,8 +896,11 @@ xeno.handle_stomach_contents() qdel(xeno) stored_larva++ + var/shipside_humans = 0 for(var/i in GLOB.alive_mob_list) var/mob/living/potential_host = i + if(is_mainship_level(potential_host)) + shipside_humans++ if(!(potential_host.status_flags & XENO_HOST)) continue if(!is_ground_level(potential_host.z) || get_area(potential_host) == hijacked_dropship) @@ -908,8 +912,9 @@ embryo.hivenumber = XENO_HIVE_FORSAKEN potential_host.update_med_icon() hijack_burrowed_surge = TRUE + hijack_burrowed_left = max(n_ceil((shipside_humans - totalXenos.len) / 5), 0) hivecore_cooldown = FALSE - xeno_message(SPAN_XENOBOLDNOTICE("The weeds have recovered! A new hive core can be built!"),3,hivenumber) + xeno_message(SPAN_XENOBOLDNOTICE("The weeds have recovered! A new hive core can be built! [shipside_humans] [totalXenos.len] [hijack_burrowed_left]"),3,hivenumber) /datum/hive_status/proc/free_respawn(client/C) stored_larva++ From e6fae4b02cb62c6e9cc313868848cdcaa8817397 Mon Sep 17 00:00:00 2001 From: ihatethisengine Date: Sun, 4 Jun 2023 03:03:48 +0300 Subject: [PATCH 02/15] test2 --- .../mob/living/carbon/xenomorph/xeno_defines.dm | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm b/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm index f3577bcd0d61..cc18740c5d23 100644 --- a/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm +++ b/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm @@ -896,11 +896,8 @@ xeno.handle_stomach_contents() qdel(xeno) stored_larva++ - var/shipside_humans = 0 for(var/i in GLOB.alive_mob_list) var/mob/living/potential_host = i - if(is_mainship_level(potential_host)) - shipside_humans++ if(!(potential_host.status_flags & XENO_HOST)) continue if(!is_ground_level(potential_host.z) || get_area(potential_host) == hijacked_dropship) @@ -911,6 +908,14 @@ for(var/obj/item/alien_embryo/embryo in potential_host) embryo.hivenumber = XENO_HIVE_FORSAKEN potential_host.update_med_icon() + var/shipside_humans = 0 + for(var/mob/living/carbon/human/current_human as anything in GLOB.alive_human_list) + if(isspecieshuman(current_human)) + var/atom/where = current_human + if (where.z == 0 && current_human.loc) + where = current_human.loc + if(is_mainship_level(where.z)) + shipside_humans++ hijack_burrowed_surge = TRUE hijack_burrowed_left = max(n_ceil((shipside_humans - totalXenos.len) / 5), 0) hivecore_cooldown = FALSE From 09f903c37e215c039c1a205c58c06ac5558478ec Mon Sep 17 00:00:00 2001 From: ihatethisengine Date: Sun, 4 Jun 2023 04:00:41 +0300 Subject: [PATCH 03/15] tested --- code/modules/cm_aliens/structures/special/pylon_core.dm | 4 ---- code/modules/mob/living/carbon/xenomorph/xeno_defines.dm | 2 +- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/code/modules/cm_aliens/structures/special/pylon_core.dm b/code/modules/cm_aliens/structures/special/pylon_core.dm index 2e6b40cd573b..32d65916f8cd 100644 --- a/code/modules/cm_aliens/structures/special/pylon_core.dm +++ b/code/modules/cm_aliens/structures/special/pylon_core.dm @@ -148,17 +148,13 @@ if(players_with_xeno_pref && players_with_xeno_pref.len && can_spawn_larva()) spawn_burrowed_larva(pick(players_with_xeno_pref)) - if(linked_hive.hijack_burrowed_surge && linked_hive.hijack_burrowed_left > 0 && (last_surge_time + surge_cooldown) < world.time) - xeno_message(SPAN_XENOBOLDNOTICE("[linked_hive.hijack_burrowed_left] reeeeeeeeee"),3, linked_hive.hivenumber) last_surge_time = world.time linked_hive.stored_larva++ linked_hive.hijack_burrowed_left-- announce_dchat("The hive has gained another burrowed larva! Use the Join As Xeno verb to take it. [linked_hive.hijack_burrowed_left]", src) if(surge_cooldown > 30 SECONDS) //mostly for sanity purposes surge_cooldown = surge_cooldown - surge_incremental_reduction //ramps up over time - else if ((last_surge_time + surge_cooldown) < world.time) - xeno_message(SPAN_XENOBOLDNOTICE("[linked_hive.hijack_burrowed_left] reeeeeeeeee"),3, linked_hive.hivenumber) // Hive core can repair itself over time if(health < maxhealth && last_healed <= world.time) diff --git a/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm b/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm index cc18740c5d23..58375520b493 100644 --- a/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm +++ b/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm @@ -919,7 +919,7 @@ hijack_burrowed_surge = TRUE hijack_burrowed_left = max(n_ceil((shipside_humans - totalXenos.len) / 5), 0) hivecore_cooldown = FALSE - xeno_message(SPAN_XENOBOLDNOTICE("The weeds have recovered! A new hive core can be built! [shipside_humans] [totalXenos.len] [hijack_burrowed_left]"),3,hivenumber) + xeno_message(SPAN_XENOBOLDNOTICE("The weeds have recovered! A new hive core can be built!"),3,hivenumber) /datum/hive_status/proc/free_respawn(client/C) stored_larva++ From 9197f3c4c0ca9c7cf2a2b9ce058f19a770834f40 Mon Sep 17 00:00:00 2001 From: ihatethisengine Date: Sun, 4 Jun 2023 04:16:31 +0300 Subject: [PATCH 04/15] fix --- code/modules/mob/living/carbon/xenomorph/xeno_defines.dm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm b/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm index 58375520b493..98667d447ebe 100644 --- a/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm +++ b/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm @@ -909,6 +909,7 @@ embryo.hivenumber = XENO_HIVE_FORSAKEN potential_host.update_med_icon() var/shipside_humans = 0 + var/xenos_count = 0 for(var/mob/living/carbon/human/current_human as anything in GLOB.alive_human_list) if(isspecieshuman(current_human)) var/atom/where = current_human @@ -916,8 +917,12 @@ where = current_human.loc if(is_mainship_level(where.z)) shipside_humans++ + for(var/mob/living/carbon/xenomorph as anything in totalXenos) + if(isfacehugger(xenomorph)) + continue + xenos_count++ hijack_burrowed_surge = TRUE - hijack_burrowed_left = max(n_ceil((shipside_humans - totalXenos.len) / 5), 0) + hijack_burrowed_left = max(n_ceil((shipside_humans - xenos_count) / 5), 0) hivecore_cooldown = FALSE xeno_message(SPAN_XENOBOLDNOTICE("The weeds have recovered! A new hive core can be built!"),3,hivenumber) From 96d721539287305343005936045b5378b6291034 Mon Sep 17 00:00:00 2001 From: ihatethisengine <115417687+ihatethisengine@users.noreply.github.com> Date: Sun, 11 Jun 2023 07:41:45 +0000 Subject: [PATCH 05/15] empty --- code/modules/cm_aliens/structures/special/pylon_core.dm | 4 ++++ code/modules/mob/living/carbon/xenomorph/xeno_defines.dm | 8 ++++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/code/modules/cm_aliens/structures/special/pylon_core.dm b/code/modules/cm_aliens/structures/special/pylon_core.dm index 32d65916f8cd..681252d2f6e1 100644 --- a/code/modules/cm_aliens/structures/special/pylon_core.dm +++ b/code/modules/cm_aliens/structures/special/pylon_core.dm @@ -155,6 +155,10 @@ announce_dchat("The hive has gained another burrowed larva! Use the Join As Xeno verb to take it. [linked_hive.hijack_burrowed_left]", src) if(surge_cooldown > 30 SECONDS) //mostly for sanity purposes surge_cooldown = surge_cooldown - surge_incremental_reduction //ramps up over time + if(linked_hive.hijack_burrowed_surge && linked_hive.hijack_burrowed_left == 0) + linked_hive.hijack_burrowed_surge = FALSE + xeno_message(SPAN_XENOANNOUNCE("Hive surge is fading away. You will no longer gain burrowed larva over time."), 3, linked_hive.hivenumber) + // Hive core can repair itself over time if(health < maxhealth && last_healed <= world.time) diff --git a/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm b/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm index 98667d447ebe..dde5c4850f2f 100644 --- a/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm +++ b/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm @@ -908,21 +908,21 @@ for(var/obj/item/alien_embryo/embryo in potential_host) embryo.hivenumber = XENO_HIVE_FORSAKEN potential_host.update_med_icon() - var/shipside_humans = 0 + var/shipside_humans_count = 0 var/xenos_count = 0 for(var/mob/living/carbon/human/current_human as anything in GLOB.alive_human_list) - if(isspecieshuman(current_human)) + if(isspecieshuman(current_human) || isspeciessynth(current_human)) var/atom/where = current_human if (where.z == 0 && current_human.loc) where = current_human.loc if(is_mainship_level(where.z)) - shipside_humans++ + shipside_humans_count++ for(var/mob/living/carbon/xenomorph as anything in totalXenos) if(isfacehugger(xenomorph)) continue xenos_count++ hijack_burrowed_surge = TRUE - hijack_burrowed_left = max(n_ceil((shipside_humans - xenos_count) / 5), 0) + hijack_burrowed_left = max(n_ceil((shipside_humans_count - xenos_count) / 5), 1) hivecore_cooldown = FALSE xeno_message(SPAN_XENOBOLDNOTICE("The weeds have recovered! A new hive core can be built!"),3,hivenumber) From 1f597869dd497c2578991349ddb04b37e42211a6 Mon Sep 17 00:00:00 2001 From: ihatethisengine <115417687+ihatethisengine@users.noreply.github.com> Date: Sun, 11 Jun 2023 11:31:53 +0300 Subject: [PATCH 06/15] oops --- code/modules/cm_aliens/structures/special/pylon_core.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/cm_aliens/structures/special/pylon_core.dm b/code/modules/cm_aliens/structures/special/pylon_core.dm index 681252d2f6e1..4b2e64cacf8f 100644 --- a/code/modules/cm_aliens/structures/special/pylon_core.dm +++ b/code/modules/cm_aliens/structures/special/pylon_core.dm @@ -152,7 +152,7 @@ last_surge_time = world.time linked_hive.stored_larva++ linked_hive.hijack_burrowed_left-- - announce_dchat("The hive has gained another burrowed larva! Use the Join As Xeno verb to take it. [linked_hive.hijack_burrowed_left]", src) + announce_dchat("The hive has gained another burrowed larva! Use the Join As Xeno verb to take it.", src) if(surge_cooldown > 30 SECONDS) //mostly for sanity purposes surge_cooldown = surge_cooldown - surge_incremental_reduction //ramps up over time if(linked_hive.hijack_burrowed_surge && linked_hive.hijack_burrowed_left == 0) From 2305db76e39852175195b92deb2bf8f38a06b400 Mon Sep 17 00:00:00 2001 From: ihatethisengine <115417687+ihatethisengine@users.noreply.github.com> Date: Sun, 11 Jun 2023 12:29:30 +0300 Subject: [PATCH 07/15] Update code/modules/mob/living/carbon/xenomorph/xeno_defines.dm Co-authored-by: fira --- code/modules/mob/living/carbon/xenomorph/xeno_defines.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm b/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm index dde5c4850f2f..c5c9b3a0a08d 100644 --- a/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm +++ b/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm @@ -285,7 +285,8 @@ var/larva_gestation_multiplier = 1 var/bonus_larva_spawn_chance = 1 var/hijack_burrowed_surge = FALSE //at hijack, start spawning lots of burrowed - var/hijack_burrowed_left = 0 //how many burrowed is going to spawn during larva surge + /// how many burrowed is going to spawn during larva surge + var/hijack_burrowed_left = 0 var/ignore_slots = FALSE var/dynamic_evolution = TRUE From a6387d5144aebdda7f8c7f67b1800d1d75259f9d Mon Sep 17 00:00:00 2001 From: ihatethisengine <115417687+ihatethisengine@users.noreply.github.com> Date: Sun, 11 Jun 2023 09:37:51 +0000 Subject: [PATCH 08/15] fixes --- code/modules/cm_aliens/structures/special/pylon_core.dm | 4 ++-- code/modules/mob/living/carbon/xenomorph/xeno_defines.dm | 5 +---- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/code/modules/cm_aliens/structures/special/pylon_core.dm b/code/modules/cm_aliens/structures/special/pylon_core.dm index 4b2e64cacf8f..b3323ce97a7e 100644 --- a/code/modules/cm_aliens/structures/special/pylon_core.dm +++ b/code/modules/cm_aliens/structures/special/pylon_core.dm @@ -148,14 +148,14 @@ if(players_with_xeno_pref && players_with_xeno_pref.len && can_spawn_larva()) spawn_burrowed_larva(pick(players_with_xeno_pref)) - if(linked_hive.hijack_burrowed_surge && linked_hive.hijack_burrowed_left > 0 && (last_surge_time + surge_cooldown) < world.time) + if(linked_hive.hijack_burrowed_surge && (last_surge_time + surge_cooldown) < world.time) last_surge_time = world.time linked_hive.stored_larva++ linked_hive.hijack_burrowed_left-- announce_dchat("The hive has gained another burrowed larva! Use the Join As Xeno verb to take it.", src) if(surge_cooldown > 30 SECONDS) //mostly for sanity purposes surge_cooldown = surge_cooldown - surge_incremental_reduction //ramps up over time - if(linked_hive.hijack_burrowed_surge && linked_hive.hijack_burrowed_left == 0) + if(linked_hive.hijack_burrowed_surge && linked_hive.hijack_burrowed_left < 1) linked_hive.hijack_burrowed_surge = FALSE xeno_message(SPAN_XENOANNOUNCE("Hive surge is fading away. You will no longer gain burrowed larva over time."), 3, linked_hive.hivenumber) diff --git a/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm b/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm index c5c9b3a0a08d..92dbb10b73b9 100644 --- a/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm +++ b/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm @@ -913,10 +913,7 @@ var/xenos_count = 0 for(var/mob/living/carbon/human/current_human as anything in GLOB.alive_human_list) if(isspecieshuman(current_human) || isspeciessynth(current_human)) - var/atom/where = current_human - if (where.z == 0 && current_human.loc) - where = current_human.loc - if(is_mainship_level(where.z)) + if(is_mainship_level(current_human.z)) shipside_humans_count++ for(var/mob/living/carbon/xenomorph as anything in totalXenos) if(isfacehugger(xenomorph)) From c1b2707d41e3a0ed1b4b5d4941335d28ce65cfc4 Mon Sep 17 00:00:00 2001 From: ihatethisengine <115417687+ihatethisengine@users.noreply.github.com> Date: Sun, 11 Jun 2023 09:48:15 +0000 Subject: [PATCH 09/15] burrowed_left --- code/modules/mob/living/carbon/xenomorph/xeno_defines.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm b/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm index 92dbb10b73b9..74de26f64ffa 100644 --- a/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm +++ b/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm @@ -285,7 +285,7 @@ var/larva_gestation_multiplier = 1 var/bonus_larva_spawn_chance = 1 var/hijack_burrowed_surge = FALSE //at hijack, start spawning lots of burrowed - /// how many burrowed is going to spawn during larva surge + /// how many burrowed is going to spawn during larva surge var/hijack_burrowed_left = 0 var/ignore_slots = FALSE From 85d97e0fdaa06f7a88ff66a17b7563c19fd75482 Mon Sep 17 00:00:00 2001 From: ihatethisengine <115417687+ihatethisengine@users.noreply.github.com> Date: Sun, 11 Jun 2023 09:55:12 +0000 Subject: [PATCH 10/15] erm --- code/modules/mob/living/carbon/xenomorph/xeno_defines.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm b/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm index 74de26f64ffa..45984adf10e3 100644 --- a/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm +++ b/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm @@ -915,7 +915,7 @@ if(isspecieshuman(current_human) || isspeciessynth(current_human)) if(is_mainship_level(current_human.z)) shipside_humans_count++ - for(var/mob/living/carbon/xenomorph as anything in totalXenos) + for(var/mob/living/carbon/xenomorph/xenomorph as anything in totalXenos) if(isfacehugger(xenomorph)) continue xenos_count++ From d3d76dc354b2b86e73af52ee9f90d41286122e43 Mon Sep 17 00:00:00 2001 From: ihatethisengine <115417687+ihatethisengine@users.noreply.github.com> Date: Sun, 11 Jun 2023 10:46:44 +0000 Subject: [PATCH 11/15] turfs --- code/modules/mob/living/carbon/xenomorph/xeno_defines.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm b/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm index 45984adf10e3..7369da74cbfb 100644 --- a/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm +++ b/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm @@ -913,7 +913,8 @@ var/xenos_count = 0 for(var/mob/living/carbon/human/current_human as anything in GLOB.alive_human_list) if(isspecieshuman(current_human) || isspeciessynth(current_human)) - if(is_mainship_level(current_human.z)) + var/turf/turf = get_turf(current_human) + if(is_mainship_level(turf?.z)) shipside_humans_count++ for(var/mob/living/carbon/xenomorph/xenomorph as anything in totalXenos) if(isfacehugger(xenomorph)) From 7e486b279f3391bf82dbb18a47599bd8ae6720c6 Mon Sep 17 00:00:00 2001 From: ihatethisengine <115417687+ihatethisengine@users.noreply.github.com> Date: Sun, 11 Jun 2023 23:39:00 +0000 Subject: [PATCH 12/15] new formula --- code/modules/mob/living/carbon/xenomorph/xeno_defines.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm b/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm index 7369da74cbfb..e0fee9c9587b 100644 --- a/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm +++ b/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm @@ -921,7 +921,7 @@ continue xenos_count++ hijack_burrowed_surge = TRUE - hijack_burrowed_left = max(n_ceil((shipside_humans_count - xenos_count) / 5), 1) + hijack_burrowed_left = max(n_ceil(shipside_humans_count * 0.4) - xenos_count, 5) hivecore_cooldown = FALSE xeno_message(SPAN_XENOBOLDNOTICE("The weeds have recovered! A new hive core can be built!"),3,hivenumber) From e431cf86f89f18909a1dc5358618237a6f2ef24f Mon Sep 17 00:00:00 2001 From: ihatethisengine <115417687+ihatethisengine@users.noreply.github.com> Date: Sun, 18 Jun 2023 18:53:38 +0000 Subject: [PATCH 13/15] 50% --- code/modules/mob/living/carbon/xenomorph/xeno_defines.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm b/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm index e0fee9c9587b..ee3ecfc3f271 100644 --- a/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm +++ b/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm @@ -921,7 +921,7 @@ continue xenos_count++ hijack_burrowed_surge = TRUE - hijack_burrowed_left = max(n_ceil(shipside_humans_count * 0.4) - xenos_count, 5) + hijack_burrowed_left = max(n_ceil(shipside_humans_count * 0.5) - xenos_count, 5) hivecore_cooldown = FALSE xeno_message(SPAN_XENOBOLDNOTICE("The weeds have recovered! A new hive core can be built!"),3,hivenumber) From 593ee08f02aaee38eb93da88e88e2517b7a40ccf Mon Sep 17 00:00:00 2001 From: ihatethisengine <115417687+ihatethisengine@users.noreply.github.com> Date: Mon, 26 Jun 2023 10:26:32 +0000 Subject: [PATCH 14/15] changes --- .../structures/special/pylon_core.dm | 6 +++--- .../living/carbon/xenomorph/xeno_defines.dm | 20 ++++++++++--------- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/code/modules/cm_aliens/structures/special/pylon_core.dm b/code/modules/cm_aliens/structures/special/pylon_core.dm index b3323ce97a7e..9829d3ab1a9a 100644 --- a/code/modules/cm_aliens/structures/special/pylon_core.dm +++ b/code/modules/cm_aliens/structures/special/pylon_core.dm @@ -155,9 +155,9 @@ announce_dchat("The hive has gained another burrowed larva! Use the Join As Xeno verb to take it.", src) if(surge_cooldown > 30 SECONDS) //mostly for sanity purposes surge_cooldown = surge_cooldown - surge_incremental_reduction //ramps up over time - if(linked_hive.hijack_burrowed_surge && linked_hive.hijack_burrowed_left < 1) - linked_hive.hijack_burrowed_surge = FALSE - xeno_message(SPAN_XENOANNOUNCE("Hive surge is fading away. You will no longer gain burrowed larva over time."), 3, linked_hive.hivenumber) + if(linked_hive.hijack_burrowed_left < 1) + linked_hive.hijack_burrowed_surge = FALSE + xeno_message(SPAN_XENOANNOUNCE("The hive's power wanes. You will no longer gain pooled larva over time."), 3, linked_hive.hivenumber) // Hive core can repair itself over time diff --git a/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm b/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm index ee3ecfc3f271..c6a3b34be8e4 100644 --- a/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm +++ b/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm @@ -879,6 +879,8 @@ /datum/hive_status/proc/abandon_on_hijack() var/area/hijacked_dropship = get_area(living_xeno_queen) + var/shipside_humans_weighted_count = 0 + var/xenos_count = 0 for(var/name_ref in hive_structures) for(var/obj/effect/alien/resin/special/S in hive_structures[name_ref]) if(get_area(S) == hijacked_dropship) @@ -887,6 +889,10 @@ qdel(S) for(var/mob/living/carbon/xenomorph/xeno as anything in totalXenos) if(get_area(xeno) != hijacked_dropship && xeno.loc && is_ground_level(xeno.loc.z)) + if(isfacehugger(xeno)) + to_chat(xeno, SPAN_XENOANNOUNCE("The Queen has left without you, you quickly find a hiding place to enter hibernation as you lose touch with the hive mind.")) + qdel(xeno) + continue if(xeno.hunter_data.hunted && !isqueen(xeno)) to_chat(xeno, SPAN_XENOANNOUNCE("The Queen has left without you, seperating you from her hive! You must defend yourself from the headhunter before you can enter hibernation...")) xeno.set_hive_and_update(XENO_HIVE_FORSAKEN) @@ -897,6 +903,8 @@ xeno.handle_stomach_contents() qdel(xeno) stored_larva++ + continue + xenos_count++ for(var/i in GLOB.alive_mob_list) var/mob/living/potential_host = i if(!(potential_host.status_flags & XENO_HOST)) @@ -909,19 +917,13 @@ for(var/obj/item/alien_embryo/embryo in potential_host) embryo.hivenumber = XENO_HIVE_FORSAKEN potential_host.update_med_icon() - var/shipside_humans_count = 0 - var/xenos_count = 0 for(var/mob/living/carbon/human/current_human as anything in GLOB.alive_human_list) - if(isspecieshuman(current_human) || isspeciessynth(current_human)) + if((isspecieshuman(current_human) || isspeciessynth(current_human)) && current_human.job) var/turf/turf = get_turf(current_human) if(is_mainship_level(turf?.z)) - shipside_humans_count++ - for(var/mob/living/carbon/xenomorph/xenomorph as anything in totalXenos) - if(isfacehugger(xenomorph)) - continue - xenos_count++ + shipside_humans_weighted_count += RoleAuthority.calculate_role_weight(current_human.job) hijack_burrowed_surge = TRUE - hijack_burrowed_left = max(n_ceil(shipside_humans_count * 0.5) - xenos_count, 5) + hijack_burrowed_left = max(n_ceil(shipside_humans_weighted_count * 0.5) - xenos_count, 5) hivecore_cooldown = FALSE xeno_message(SPAN_XENOBOLDNOTICE("The weeds have recovered! A new hive core can be built!"),3,hivenumber) From a26a48de22c8a2acb85d90e205a91330f762a5ba Mon Sep 17 00:00:00 2001 From: ihatethisengine <115417687+ihatethisengine@users.noreply.github.com> Date: Mon, 26 Jun 2023 10:43:39 +0000 Subject: [PATCH 15/15] facehugger --- code/modules/mob/living/carbon/xenomorph/xeno_defines.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm b/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm index c6a3b34be8e4..5d3ee0b04ba7 100644 --- a/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm +++ b/code/modules/mob/living/carbon/xenomorph/xeno_defines.dm @@ -904,7 +904,8 @@ qdel(xeno) stored_larva++ continue - xenos_count++ + if(!isfacehugger(xeno)) + xenos_count++ for(var/i in GLOB.alive_mob_list) var/mob/living/potential_host = i if(!(potential_host.status_flags & XENO_HOST))