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 a34051702bcc..af126145955a 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(hive.hivenumber) ref.give_to(src, ref) /mob/living/carbon/xenomorph/proc/handle_screech_act(mob/self, mob/living/carbon/xenomorph/queen/queen) @@ -890,6 +897,9 @@ for(var/trait in new_hive.hive_inherited_traits) ADD_TRAIT(src, trait, TRAIT_SOURCE_HIVE) + if(new_hivenumber == XENO_HIVE_FORSAKEN) + update_minimap_see_humans() + generate_name() lock_evolve = FALSE