Skip to content

Commit

Permalink
Xenos now see marines on the tacmap during hijack if xenos outnumber …
Browse files Browse the repository at this point in the history
…marines for more than 25% (#5278)

# About the pull request
Xenos now see marines on the tacmap during hijack if xenos outnumber
marines for more than 25%.

# Explain why it's good for the game
Hide and seek is boring. Queen need to be on ovi to access tacmap, so
marines would still have a chance.


# Testing Photographs and Procedure
<details>
<summary>Screenshots & Videos</summary>
I am lazy but it worked when I tested.

</details>


# Changelog
:cl: ihatethisengine
add: Xenos now see marines on the tacmap during hijack if xenos
outnumber marines for more than 25%.
/:cl:

---------

Co-authored-by: Contrabang <[email protected]>
Co-authored-by: Drathek <[email protected]>
  • Loading branch information
3 people authored Jan 6, 2024
1 parent 089b42d commit d826531
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 2 deletions.
3 changes: 3 additions & 0 deletions code/__DEFINES/xeno.dm
Original file line number Diff line number Diff line change
Expand Up @@ -183,6 +183,9 @@
/// For how long the buff lasts
#define XENO_HIJACK_EVILUTION_TIME (3 MINUTES)

/// If this is marine to xeno ratio during hijack, xenos see marines on tacmap
#define HIJACK_RATIO_FOR_TACMAP 0.8

/// Xenos need to have their number to marines ratio lower than this to get larvae from pylons
#define ENDGAME_LARVA_CAP_MULTIPLIER 0.5

Expand Down
5 changes: 5 additions & 0 deletions code/controllers/subsystem/minimap.dm
Original file line number Diff line number Diff line change
Expand Up @@ -691,6 +691,11 @@ SUBSYSTEM_DEF(minimaps)
if(faction == FACTION_NEUTRAL && isobserver(user))
faction = allowed_flags == MINIMAP_FLAG_XENO ? XENO_HIVE_NORMAL : FACTION_MARINE

if(is_xeno && xeno.hive.see_humans_on_tacmap && targeted_ztrait != ZTRAIT_MARINE_MAIN_SHIP)
allowed_flags |= MINIMAP_FLAG_USCM|MINIMAP_FLAG_PMC|MINIMAP_FLAG_UPP|MINIMAP_FLAG_CLF
targeted_ztrait = ZTRAIT_MARINE_MAIN_SHIP
map_holder = null

new_current_map = get_unannounced_tacmap_data_png(faction)
old_map = get_tacmap_data_png(faction)
current_svg = get_tacmap_data_svg(faction)
Expand Down
12 changes: 10 additions & 2 deletions code/modules/mob/living/carbon/human/death.dm
Original file line number Diff line number Diff line change
Expand Up @@ -75,14 +75,22 @@
// Finding the last guy for anti-delay.
if(SSticker.mode && SSticker.mode.is_in_endgame && SSticker.current_state != GAME_STATE_FINISHED && is_mainship_level(z))
var/mob/last_living_human
var/shipside_humans_count = 0
var/datum/hive_status/main_hive = GLOB.hive_datum[XENO_HIVE_NORMAL]
var/see_humans_on_tacmap = main_hive.see_humans_on_tacmap
for(var/mob/living/carbon/human/cur_human as anything in GLOB.alive_human_list)
if(!is_mainship_level(cur_human.z))
continue
if(last_living_human)
shipside_humans_count++
if(last_living_human && see_humans_on_tacmap)
last_living_human = null
break
last_living_human = cur_human
if(last_living_human && (GLOB.last_qm_callout + 2 MINUTES) < world.time)

if(!see_humans_on_tacmap && shipside_humans_count < (main_hive.get_real_total_xeno_count() * HIJACK_RATIO_FOR_TACMAP))
xeno_announcement("There is only a handful of tallhosts left, they are now visible on our hive mind map.", XENO_HIVE_NORMAL, SPAN_ANNOUNCEMENT_HEADER_BLUE("[QUEEN_MOTHER_ANNOUNCE]"))
main_hive.see_humans_on_tacmap = TRUE
if(last_living_human && shipside_humans_count <= 1 && (GLOB.last_qm_callout + 2 MINUTES) < world.time)
GLOB.last_qm_callout = world.time
// Tell the xenos where the human is.
xeno_announcement("I sense the last tallhost hiding in [get_area(last_living_human)].", XENO_HIVE_NORMAL, SPAN_ANNOUNCEMENT_HEADER_BLUE("[QUEEN_MOTHER_ANNOUNCE]"))
Expand Down
2 changes: 2 additions & 0 deletions code/modules/mob/living/carbon/xenomorph/hive_status.dm
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,8 @@
/// If hit limit of larva from pylons
var/hit_larva_pylon_limit = FALSE

var/see_humans_on_tacmap = FALSE

var/list/hive_inherant_traits

// Cultist Info
Expand Down

0 comments on commit d826531

Please sign in to comment.