From 6a54f7a952bfaed57181d6e230f622359059b72a Mon Sep 17 00:00:00 2001 From: MistChristmas <7815982+MistChristmas@users.noreply.github.com> Date: Sun, 17 May 2026 10:40:36 +0100 Subject: [PATCH 1/5] ProbablyWorksWithTotallyNoIssuesWhyTestAnything --- code/modules/mob/living/carbon/xenomorph/Xenomorph.dm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm b/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm index a34051702bcc..54868cb44297 100644 --- a/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm +++ b/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm @@ -877,7 +877,7 @@ faction = new_faction //Call this function to set the hive and do other cleanup -/mob/living/carbon/xenomorph/proc/set_hive_and_update(new_hivenumber = XENO_HIVE_NORMAL) +/mob/living/carbon/xenomorph/proc/set_hive_and_update(new_hivenumber = XENO_HIVE_NORMAL, see_humans_on_tacmap = FALSE) var/datum/hive_status/new_hive = GLOB.hive_datum[new_hivenumber] if(!new_hive) return FALSE @@ -890,6 +890,9 @@ for(var/trait in new_hive.hive_inherited_traits) ADD_TRAIT(src, trait, TRAIT_SOURCE_HIVE) + if(see_humans_on_tacmap) + update_minimap_see_humans() + generate_name() lock_evolve = FALSE From 342469bc16489f70aa17e61c2652b07f358fd474 Mon Sep 17 00:00:00 2001 From: MistChristmas <7815982+MistChristmas@users.noreply.github.com> Date: Sun, 17 May 2026 11:00:53 +0100 Subject: [PATCH 2/5] YeahThatHelps --- code/datums/emergency_calls/forsaken_xenos.dm | 2 +- code/modules/mob/living/carbon/xenomorph/hive_status.dm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/code/datums/emergency_calls/forsaken_xenos.dm b/code/datums/emergency_calls/forsaken_xenos.dm index c609a2c780da..09898089d83a 100644 --- a/code/datums/emergency_calls/forsaken_xenos.dm +++ b/code/datums/emergency_calls/forsaken_xenos.dm @@ -26,7 +26,7 @@ new_member.transfer_to(new_xeno, TRUE) - new_xeno.set_hive_and_update(XENO_HIVE_FORSAKEN) + new_xeno.set_hive_and_update(XENO_HIVE_FORSAKEN, TRUE) new_xeno.lock_evolve = TRUE QDEL_NULL(current_mob) diff --git a/code/modules/mob/living/carbon/xenomorph/hive_status.dm b/code/modules/mob/living/carbon/xenomorph/hive_status.dm index 030b1efbd360..68dde9fe1a72 100644 --- a/code/modules/mob/living/carbon/xenomorph/hive_status.dm +++ b/code/modules/mob/living/carbon/xenomorph/hive_status.dm @@ -832,7 +832,7 @@ continue if(xeno.hunter_data.hunted && !isqueen(xeno)) to_chat(xeno, SPAN_XENOANNOUNCE("The Queen has left without you, separating you from her hive! You must defend yourself from the headhunter before you can enter hibernation...")) - xeno.set_hive_and_update(XENO_HIVE_FORSAKEN) + xeno.set_hive_and_update(XENO_HIVE_FORSAKEN, TRUE) else 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.")) if(xeno.hauled_mob?.resolve()) From 833370aa15553d1925f08a998054e3a35de27902 Mon Sep 17 00:00:00 2001 From: MistChristmas <7815982+MistChristmas@users.noreply.github.com> Date: Sun, 17 May 2026 12:44:53 +0100 Subject: [PATCH 3/5] UuuuuuuuhSureSureIKnowWhatI'mDoing --- code/controllers/subsystem/minimap.dm | 2 +- .../mob/living/carbon/xenomorph/Xenomorph.dm | 19 +++++++++++++------ 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/code/controllers/subsystem/minimap.dm b/code/controllers/subsystem/minimap.dm index a292c21890ee..ef5a4866d2c1 100644 --- a/code/controllers/subsystem/minimap.dm +++ b/code/controllers/subsystem/minimap.dm @@ -1336,7 +1336,7 @@ SUBSYSTEM_DEF(minimaps) . = ..() /datum/action/minimap/xeno/see_humans - minimap_flags = MINIMAP_FLAG_XENO|MINIMAP_FLAG_USCM|MINIMAP_FLAG_WY|MINIMAP_FLAG_WY|MINIMAP_FLAG_UPP + minimap_flags = MINIMAP_FLAG_CLF|MINIMAP_FLAG_USCM|MINIMAP_FLAG_WY|MINIMAP_FLAG_PMC|MINIMAP_FLAG_UPP /datum/action/minimap/xeno/action_activate() var/mob/living/carbon/xenomorph/xeno = owner diff --git a/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm b/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm index 54868cb44297..eaafb2ff8c76 100644 --- a/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm +++ b/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm @@ -529,10 +529,14 @@ if(hive.hivenumber != XENO_HIVE_NORMAL) remove_verb(src, /mob/living/carbon/xenomorph/verb/view_tacmaps) - minimap_ref = WEAKREF(new minimap_type(hive_number=hive.hivenumber)) - var/datum/action/minimap/ref = minimap_ref.resolve() - ref.give_to(src, ref) - RegisterSignal(hive, COMSIG_XENO_REVEAL_TACMAP, PROC_REF(update_minimap_see_humans)) + + if(hive.hivenumber == XENO_HIVE_FORSAKEN) + update_minimap_see_humans() + else + minimap_ref = WEAKREF(new minimap_type(hive_number=hive.hivenumber)) + var/datum/action/minimap/ref = minimap_ref.resolve() + ref.give_to(src, ref) + RegisterSignal(hive, COMSIG_XENO_REVEAL_TACMAP, PROC_REF(update_minimap_see_humans)) creation_time = world.time @@ -542,11 +546,14 @@ SEND_GLOBAL_SIGNAL(COMSIG_GLOB_XENO_SPAWN, src) /mob/living/carbon/xenomorph/proc/update_minimap_see_humans() - var/datum/action/minimap/ref = minimap_ref.resolve() - ref.remove_from(src) + var/datum/action/minimap/ref + if(minimap_ref) + ref = minimap_ref.resolve() + ref.remove_from(src) minimap_ref = WEAKREF(new /datum/action/minimap/xeno/see_humans) ref = minimap_ref.resolve() + ref.minimap_flags |= get_minimap_flag_for_faction() ref.give_to(src, ref) /mob/living/carbon/xenomorph/proc/handle_screech_act(mob/self, mob/living/carbon/xenomorph/queen/queen) From 466ced736ae2de8bbd8c8f22e9189aa0a0b1ab3f Mon Sep 17 00:00:00 2001 From: MistChristmas <7815982+MistChristmas@users.noreply.github.com> Date: Sun, 17 May 2026 12:53:58 +0100 Subject: [PATCH 4/5] Bleh --- code/datums/emergency_calls/forsaken_xenos.dm | 2 +- code/modules/mob/living/carbon/xenomorph/Xenomorph.dm | 4 ++-- code/modules/mob/living/carbon/xenomorph/hive_status.dm | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/code/datums/emergency_calls/forsaken_xenos.dm b/code/datums/emergency_calls/forsaken_xenos.dm index 09898089d83a..c609a2c780da 100644 --- a/code/datums/emergency_calls/forsaken_xenos.dm +++ b/code/datums/emergency_calls/forsaken_xenos.dm @@ -26,7 +26,7 @@ new_member.transfer_to(new_xeno, TRUE) - new_xeno.set_hive_and_update(XENO_HIVE_FORSAKEN, TRUE) + new_xeno.set_hive_and_update(XENO_HIVE_FORSAKEN) new_xeno.lock_evolve = TRUE QDEL_NULL(current_mob) diff --git a/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm b/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm index eaafb2ff8c76..f13892707108 100644 --- a/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm +++ b/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm @@ -884,7 +884,7 @@ faction = new_faction //Call this function to set the hive and do other cleanup -/mob/living/carbon/xenomorph/proc/set_hive_and_update(new_hivenumber = XENO_HIVE_NORMAL, see_humans_on_tacmap = FALSE) +/mob/living/carbon/xenomorph/proc/set_hive_and_update(new_hivenumber = XENO_HIVE_NORMAL) var/datum/hive_status/new_hive = GLOB.hive_datum[new_hivenumber] if(!new_hive) return FALSE @@ -897,7 +897,7 @@ for(var/trait in new_hive.hive_inherited_traits) ADD_TRAIT(src, trait, TRAIT_SOURCE_HIVE) - if(see_humans_on_tacmap) + if(new_hivenumber == XENO_HIVE_FORSAKEN) update_minimap_see_humans() generate_name() diff --git a/code/modules/mob/living/carbon/xenomorph/hive_status.dm b/code/modules/mob/living/carbon/xenomorph/hive_status.dm index 68dde9fe1a72..030b1efbd360 100644 --- a/code/modules/mob/living/carbon/xenomorph/hive_status.dm +++ b/code/modules/mob/living/carbon/xenomorph/hive_status.dm @@ -832,7 +832,7 @@ continue if(xeno.hunter_data.hunted && !isqueen(xeno)) to_chat(xeno, SPAN_XENOANNOUNCE("The Queen has left without you, separating you from her hive! You must defend yourself from the headhunter before you can enter hibernation...")) - xeno.set_hive_and_update(XENO_HIVE_FORSAKEN, TRUE) + xeno.set_hive_and_update(XENO_HIVE_FORSAKEN) else 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.")) if(xeno.hauled_mob?.resolve()) From 732f32c611f0c0dd5983781fa12ba205e0182efe Mon Sep 17 00:00:00 2001 From: MistChristmas <7815982+MistChristmas@users.noreply.github.com> Date: Sun, 17 May 2026 16:10:44 +0100 Subject: [PATCH 5/5] SlightlyEmbarrassing --- code/modules/mob/living/carbon/xenomorph/Xenomorph.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm b/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm index f13892707108..af126145955a 100644 --- a/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm +++ b/code/modules/mob/living/carbon/xenomorph/Xenomorph.dm @@ -553,7 +553,7 @@ minimap_ref = WEAKREF(new /datum/action/minimap/xeno/see_humans) ref = minimap_ref.resolve() - ref.minimap_flags |= get_minimap_flag_for_faction() + ref.minimap_flags |= get_minimap_flag_for_faction(hive.hivenumber) ref.give_to(src, ref) /mob/living/carbon/xenomorph/proc/handle_screech_act(mob/self, mob/living/carbon/xenomorph/queen/queen)