Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactors totalXenos, tweaks some tier 0 things, adds a xeno anti-delay warning #5847

Closed
wants to merge 10 commits into from
4 changes: 2 additions & 2 deletions code/controllers/subsystem/hijack.dm
Original file line number Diff line number Diff line change
Expand Up @@ -201,7 +201,7 @@ SUBSYSTEM_DEF(hijack)
var/datum/hive_status/hive
for(var/hivenumber in GLOB.hive_datum)
hive = GLOB.hive_datum[hivenumber]
if(!length(hive.totalXenos))
if(!length(hive.total_living_xenos))
continue

switch(announce)
Expand Down Expand Up @@ -307,7 +307,7 @@ SUBSYSTEM_DEF(hijack)
var/datum/hive_status/hive
for(var/hivenumber in GLOB.hive_datum)
hive = GLOB.hive_datum[hivenumber]
if(!length(hive.totalXenos))
if(!length(hive.total_living_xenos))
continue

xeno_announcement(SPAN_XENOANNOUNCE("The talls may be attempting to take their ship down with them in Engineering, stop them!"), hive.hivenumber, XENO_HIJACK_ANNOUNCE)
Expand Down
2 changes: 1 addition & 1 deletion code/datums/event_info_text.dm
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@
for(var/hivenumber in GLOB.hive_datum)
hive = GLOB.hive_datum[hivenumber]
if(hive.name == faction)
for(var/mob/M in hive.totalXenos)
for(var/mob/M in hive.total_living_xenos)
show_player_event_info(M)
return

Expand Down
6 changes: 2 additions & 4 deletions code/datums/medal_awards.dm
Original file line number Diff line number Diff line change
Expand Up @@ -288,11 +288,9 @@ GLOBAL_LIST_INIT(xeno_medals, list(XENO_SLAUGHTER_MEDAL, XENO_RESILIENCE_MEDAL,
var/list/possible_recipients = list()
var/list/recipient_castes = list()
var/list/recipient_mobs = list()
for(var/mob/living/carbon/xenomorph/xeno in hive.totalXenos)
for(var/mob/living/carbon/xenomorph/xeno in hive.total_living_xenos_advanced)
if (xeno.persistent_ckey == usr.persistent_ckey) // Don't award self
continue
if (xeno.tier == 0) // Don't award larva or facehuggers
continue
if (!as_admin && istype(xeno.caste, /datum/caste_datum/queen)) // Don't award queens unless admin
continue
var/recipient_name = xeno.real_name
Expand Down Expand Up @@ -338,7 +336,7 @@ GLOBAL_LIST_INIT(xeno_medals, list(XENO_SLAUGHTER_MEDAL, XENO_RESILIENCE_MEDAL,
var/recipient_ckey = recipient_mob.persistent_ckey
var/posthumous = !isliving(recipient_mob) || recipient_mob.stat == DEAD
if(!as_admin) // Don't need to check for giver mob in admin mode
for(var/mob/mob in hive.totalXenos)
for(var/mob/mob in hive.total_living_xenos_advanced)
if(mob == usr)
// Giver: Increment their medals given stat
giver_mob = mob
Expand Down
6 changes: 3 additions & 3 deletions code/game/gamemodes/cm_initialize.dm
Original file line number Diff line number Diff line change
Expand Up @@ -505,7 +505,7 @@ Additional game mode variables.
var/last_active_hive = 0
for(var/hivenumber in GLOB.hive_datum)
hive = GLOB.hive_datum[hivenumber]
if(hive.totalXenos.len <= 0)
if(length(hive.total_living_xenos_advanced) <= 0)
continue
active_hives[hive.name] = hive.hivenumber
last_active_hive = hive.hivenumber
Expand All @@ -526,7 +526,7 @@ Additional game mode variables.
//We have our Hive picked, time to figure out what we can join via
var/list/available_facehugger_sources = list()

for(var/mob/living/carbon/xenomorph/carrier/carrier in hive.totalXenos)
for(var/mob/living/carbon/xenomorph/carrier/carrier in hive.total_living_xenos_advanced)
if(carrier.huggers_cur > carrier.huggers_reserved)
var/area_name = get_area_name(carrier)
var/descriptive_name = "[carrier.name] in [area_name]"
Expand Down Expand Up @@ -571,7 +571,7 @@ Additional game mode variables.
var/last_active_hive = 0
for(var/hivenumber in GLOB.hive_datum)
hive = GLOB.hive_datum[hivenumber]
if(hive.totalXenos.len <= 0)
if(length(hive.total_living_xenos_advanced) <= 0)
continue
active_hives[hive.name] = hive.hivenumber
last_active_hive = hive.hivenumber
Expand Down
2 changes: 2 additions & 0 deletions code/game/gamemodes/cm_process.dm
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@

#define QUEEN_DEATH_COUNTDOWN 10 MINUTES //10 minutes. Can be changed into a variable if it needs to be manipulated later.
/// Marine major if we have this many or less xenos after the queen timer runs out; also used for warning last xenos
#define XENO_HIVE_COLLAPSE_THRESHOLD 3

#define MODE_INFESTATION_X_MAJOR "Xenomorph Major Victory"
#define MODE_INFESTATION_M_MAJOR "Marine Major Victory"
Expand Down
2 changes: 1 addition & 1 deletion code/game/gamemodes/colonialmarines/colonialmarines.dm
Original file line number Diff line number Diff line change
Expand Up @@ -332,7 +332,7 @@
if(HS.living_xeno_queen && !should_block_game_interaction(HS.living_xeno_queen.loc))
//Some Queen is alive, we shouldn't end the game yet
return
if (HS.totalXenos <= 3)
if(length(HS.total_living_xenos_advanced) <= XENO_HIVE_COLLAPSE_THRESHOLD)
round_finished = MODE_INFESTATION_M_MAJOR
else
round_finished = MODE_INFESTATION_M_MINOR
Expand Down
14 changes: 7 additions & 7 deletions code/game/machinery/nuclearbomb.dm
Original file line number Diff line number Diff line change
Expand Up @@ -345,7 +345,7 @@ GLOBAL_VAR_INIT(bomb_set, FALSE)
var/datum/hive_status/hive
for(var/hivenumber in GLOB.hive_datum)
hive = GLOB.hive_datum[hivenumber]
if(!hive.totalXenos.len)
if(!length(hive.total_living_xenos))
return
xeno_announcement(SPAN_XENOANNOUNCE(warning), hive.hivenumber, XENO_GENERAL_ANNOUNCE)
return
Expand All @@ -358,7 +358,7 @@ GLOBAL_VAR_INIT(bomb_set, FALSE)
yautja_announcement(SPAN_YAUTJABOLDBIG("WARNING!<br>A human purification device has been detected. You have approximately [t_left] to abandon the hunting grounds before it activates."))
for(var/hivenumber in GLOB.hive_datum)
hive = GLOB.hive_datum[hivenumber]
if(!hive.totalXenos.len)
if(!length(hive.total_living_xenos))
continue
xeno_announcement(SPAN_XENOANNOUNCE("The tallhosts have deployed a hive killer at [get_area_name(loc)]! Stop it at all costs!"), hive.hivenumber, XENO_GENERAL_ANNOUNCE)
else
Expand All @@ -367,7 +367,7 @@ GLOBAL_VAR_INIT(bomb_set, FALSE)
yautja_announcement(SPAN_YAUTJABOLDBIG("WARNING!<br>The human purification device's signature has disappeared."))
for(var/hivenumber in GLOB.hive_datum)
hive = GLOB.hive_datum[hivenumber]
if(!hive.totalXenos.len)
if(!length(hive.total_living_xenos))
continue
xeno_announcement(SPAN_XENOANNOUNCE("The hive killer has been disabled! Rejoice!"), hive.hivenumber, XENO_GENERAL_ANNOUNCE)
return
Expand Down Expand Up @@ -574,7 +574,7 @@ GLOBAL_VAR_INIT(bomb_set, FALSE)
var/datum/hive_status/hive
for(var/hivenumber in GLOB.hive_datum)
hive = GLOB.hive_datum[hivenumber]
if(!length(hive.totalXenos))
if(!length(hive.total_living_xenos))
return
xeno_announcement(SPAN_XENOANNOUNCE("We get a sense of impending doom... the hive killer is ready to be activated."), hive.hivenumber, XENO_GENERAL_ANNOUNCE)
return
Expand All @@ -594,7 +594,7 @@ GLOBAL_VAR_INIT(bomb_set, FALSE)
var/datum/hive_status/hive
for(var/hivenumber in GLOB.hive_datum)
hive = GLOB.hive_datum[hivenumber]
if(!hive.totalXenos.len)
if(!length(hive.total_living_xenos))
return
xeno_announcement(SPAN_XENOANNOUNCE(warning), hive.hivenumber, XENO_GENERAL_ANNOUNCE)
return
Expand All @@ -607,7 +607,7 @@ GLOBAL_VAR_INIT(bomb_set, FALSE)
yautja_announcement(SPAN_YAUTJABOLDBIG("WARNING!<br>A human purification device has been detected. You have approximately [time_left] before it finishes its initial phase."))
for(var/hivenumber in GLOB.hive_datum)
hive = GLOB.hive_datum[hivenumber]
if(!length(hive.totalXenos))
if(!length(hive.total_living_xenos))
continue
xeno_announcement(SPAN_XENOANNOUNCE("The tallhosts have started the initial phase of a hive killer at [get_area_name(loc)]! Destroy their communications relays!"), hive.hivenumber, XENO_GENERAL_ANNOUNCE)
return
Expand All @@ -617,7 +617,7 @@ GLOBAL_VAR_INIT(bomb_set, FALSE)
yautja_announcement(SPAN_YAUTJABOLDBIG("WARNING!<br>The human purification device's signature has disappeared."))
for(var/hivenumber in GLOB.hive_datum)
hive = GLOB.hive_datum[hivenumber]
if(!length(hive.totalXenos))
if(!length(hive.total_living_xenos))
continue
xeno_announcement(SPAN_XENOANNOUNCE("The hive killer's initial phase has been halted! Rejoice!"), hive.hivenumber, XENO_GENERAL_ANNOUNCE)

Expand Down
2 changes: 1 addition & 1 deletion code/modules/admin/tabs/event_tab.dm
Original file line number Diff line number Diff line change
Expand Up @@ -438,7 +438,7 @@
var/datum/hive_status/hive
for(var/hivenumber in GLOB.hive_datum)
hive = GLOB.hive_datum[hivenumber]
if(hive.totalXenos.len > 0 || hive.total_dead_xenos.len > 0)
if(length(hive.total_living_xenos_advanced) > 0 || hive.total_dead_xenos.len > 0)
hives += list("[hive.name]" = hive.hivenumber)
last_hive_checked = hive

Expand Down
2 changes: 1 addition & 1 deletion code/modules/admin/topic/topic_teleports.dm
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@
to_chat(owner, SPAN_ALERT("Hive choice error. Aborting."))
return
var/datum/hive_status/Hive = GLOB.hive_datum[hives[faction]]
var/list/targets = Hive.totalXenos
var/list/targets = Hive.total_living_xenos
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

completely unrelated to your refactor really but this needs a .Copy() at the end, as otherwise this ends up mutating the actual list

for(var/mob/living/carbon/xenomorph/X in targets)
var/area/AR = get_area(X)
if(X.stat == DEAD || AR.statistic_exempt)
Expand Down
6 changes: 3 additions & 3 deletions code/modules/cm_aliens/XenoStructures.dm
Original file line number Diff line number Diff line change
Expand Up @@ -295,7 +295,7 @@

X.hive.mark_ui.update_all_data()

for(var/mob/living/carbon/xenomorph/XX in X.hive.totalXenos)
for(var/mob/living/carbon/xenomorph/XX in X.hive.total_living_xenos)
XX.hud_set_marks() //this should be a hud thing, but that code is too confusing so I am doing it here

addtimer(CALLBACK(src, PROC_REF(check_for_weeds)), 30 SECONDS, TIMER_UNIQUE)
Expand All @@ -306,7 +306,7 @@
if(builder_hive)
builder_hive.resin_marks -= src

for(var/mob/living/carbon/xenomorph/XX in builder_hive.totalXenos)
for(var/mob/living/carbon/xenomorph/XX in builder_hive.total_living_xenos)
XX.built_structures -= src
if(!XX.client)
continue
Expand All @@ -329,7 +329,7 @@
. = ..()
var/mob/living/carbon/xenomorph/xeno_createdby
var/datum/hive_status/builder_hive = GLOB.hive_datum[hivenumber]
for(var/mob/living/carbon/xenomorph/X in builder_hive.totalXenos)
for(var/mob/living/carbon/xenomorph/X in builder_hive.total_living_xenos)
if(X.nicknumber == createdby)
xeno_createdby = X
if(isxeno(user) || isobserver(user))
Expand Down
8 changes: 4 additions & 4 deletions code/modules/cm_aliens/structures/special/pylon_core.dm
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@
. = ..()

var/lesser_count = 0
for(var/mob/living/carbon/xenomorph/lesser_drone/lesser in linked_hive.totalXenos)
for(var/mob/living/carbon/xenomorph/lesser_drone/lesser in linked_hive.total_living_xenos)
lesser_count++

. += "Currently holding [SPAN_NOTICE("[Floor(lesser_drone_spawns)]")]/[SPAN_NOTICE("[lesser_drone_spawn_limit]")] lesser drones."
Expand Down Expand Up @@ -152,7 +152,7 @@

for(var/hivenumber in GLOB.hive_datum)
var/datum/hive_status/checked_hive = GLOB.hive_datum[hivenumber]
if(!length(checked_hive.totalXenos))
if(!length(checked_hive.total_living_xenos))
continue

if(checked_hive == linked_hive)
Expand All @@ -168,7 +168,7 @@

for(var/hivenumber in GLOB.hive_datum)
var/datum/hive_status/checked_hive = GLOB.hive_datum[hivenumber]
if(!length(checked_hive.totalXenos))
if(!length(checked_hive.total_living_xenos))
continue

if(checked_hive == linked_hive)
Expand All @@ -191,7 +191,7 @@
if(linked_hive.check_if_hit_larva_from_pylon_limit())
return

linked_hive.partial_larva += (linked_hive.get_real_total_xeno_count() + linked_hive.stored_larva) * LARVA_ADDITION_MULTIPLIER
linked_hive.partial_larva += (length(linked_hive.total_living_xenos_advanced) + linked_hive.stored_larva) * LARVA_ADDITION_MULTIPLIER
linked_hive.convert_partial_larva_to_full_larva()
linked_hive.hive_ui.update_burrowed_larva()

Expand Down
4 changes: 2 additions & 2 deletions code/modules/mob/dead/observer/observer.dm
Original file line number Diff line number Diff line change
Expand Up @@ -865,7 +865,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
var/datum/hive_status/hive
for(var/hivenumber in GLOB.hive_datum)
hive = GLOB.hive_datum[hivenumber]
if(hive.totalXenos.len > 0)
if(length(hive.total_living_xenos))
hives += list("[hive.name]" = hive.hivenumber)
last_hive_checked = hive

Expand Down Expand Up @@ -893,7 +893,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
set category = "Ghost.View"

var/datum/hive_status/hive = GLOB.hive_datum[XENO_HIVE_NORMAL]
if(!hive || !length(hive.totalXenos))
if(!hive || !length(hive.total_living_xenos))
to_chat(src, SPAN_ALERT("There seems to be no living normal hive at the moment"))
return

Expand Down
2 changes: 1 addition & 1 deletion code/modules/mob/living/carbon/human/death.dm
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@
break
last_living_human = cur_human

if(!see_humans_on_tacmap && shipside_humans_count < (main_hive.get_real_total_xeno_count() * HIJACK_RATIO_FOR_TACMAP))
if(!see_humans_on_tacmap && shipside_humans_count < (length(main_hive.total_living_xenos_advanced) * 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)
Expand Down
2 changes: 1 addition & 1 deletion code/modules/mob/living/carbon/xenomorph/Abilities.dm
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@
tunnelobj.tunnel_desc = "[msg]"

if(X.hive.living_xeno_queen || X.hive.allow_no_queen_actions)
for(var/mob/living/carbon/xenomorph/target_for_message as anything in X.hive.totalXenos)
for(var/mob/living/carbon/xenomorph/target_for_message as anything in X.hive.total_living_xenos)
var/overwatch_target = XENO_OVERWATCH_TARGET_HREF
var/overwatch_src = XENO_OVERWATCH_SRC_HREF
to_chat(target_for_message, SPAN_XENOANNOUNCE("Hive: A new tunnel[description ? " ([description])" : ""] has been created by [X] (<a href='byond://?src=\ref[target_for_message];[overwatch_target]=\ref[X];[overwatch_src]=\ref[target_for_message]'>watch</a>) at <b>[get_area_name(tunnelobj)]</b>."))
Expand Down
9 changes: 3 additions & 6 deletions code/modules/mob/living/carbon/xenomorph/Evolution.dm
Original file line number Diff line number Diff line change
Expand Up @@ -391,15 +391,12 @@
used_tier_3_slots -= min(slots_used, slots_free)

var/burrowed_factor = min(hive.stored_larva, sqrt(4*hive.stored_larva))
var/totalXenos = round(burrowed_factor)
for(var/mob/living/carbon/xenomorph/xeno as anything in hive.totalXenos)
if(xeno.counts_for_slots)
totalXenos++
var/evolution_threshold = length(hive.total_living_xenos_advanced) + round(burrowed_factor)

if(tier == 1 && (((used_tier_2_slots + used_tier_3_slots) / totalXenos) * hive.tier_slot_multiplier) >= 0.5 && castepick != XENO_CASTE_QUEEN)
if(tier == 1 && (((used_tier_2_slots + used_tier_3_slots) / evolution_threshold) * hive.tier_slot_multiplier) >= 0.5 && castepick != XENO_CASTE_QUEEN)
to_chat(src, SPAN_WARNING("The hive cannot support another Tier 2, wait for either more aliens to be born or someone to die."))
return FALSE
else if(tier == 2 && ((used_tier_3_slots / totalXenos) * hive.tier_slot_multiplier) >= 0.20 && castepick != XENO_CASTE_QUEEN)
else if(tier == 2 && ((used_tier_3_slots / evolution_threshold) * hive.tier_slot_multiplier) >= 0.20 && castepick != XENO_CASTE_QUEEN)
to_chat(src, SPAN_WARNING("The hive cannot support another Tier 3, wait for either more aliens to be born or someone to die."))
return FALSE
else if(hive.allow_queen_evolve && !hive.living_xeno_queen && potential_queens == 1 && islarva(src) && castepick != XENO_CASTE_DRONE)
Expand Down
2 changes: 1 addition & 1 deletion code/modules/mob/living/carbon/xenomorph/Powers.dm
Original file line number Diff line number Diff line change
Expand Up @@ -206,7 +206,7 @@
if(hive.living_xeno_queen)
var/current_area_name = get_area_name(target_turf)

for(var/mob/living/carbon/xenomorph/X in hive.totalXenos)
for(var/mob/living/carbon/xenomorph/X in hive.total_living_xenos)
to_chat(X, SPAN_XENOANNOUNCE("[src.name] has declared: [NM.mark_meaning.desc] in [sanitize_area(current_area_name)]! (<a href='?src=\ref[X];overwatch=1;target=\ref[NM]'>Watch</a>) (<a href='?src=\ref[X];track=1;target=\ref[NM]'>Track</a>)"))
//this is killing the tgui chat and I dont know why
return TRUE
1 change: 0 additions & 1 deletion code/modules/mob/living/carbon/xenomorph/Xenomorph.dm
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,6 @@
var/death_fontsize = 3

var/small_explosives_stun = TRUE // Have to put this here, otherwise it can't be strain specific
var/counts_for_slots = TRUE
var/counts_for_roundend = TRUE
var/refunds_larva_if_banished = TRUE
var/can_hivemind_speak = TRUE
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -308,15 +308,15 @@
to_chat(usr, SPAN_XENOWARNING("You must give some time for larva to spawn before sacrificing them. Please wait another [round((SSticker.mode.round_time_lobby + SHUTTLE_TIME_LOCK - world.time) / 600)] minutes."))
return

var/choice = tgui_input_list(user_xeno, "Choose a xenomorph to give evolution points for a burrowed larva:", "Give Evolution Points", user_xeno.hive.totalXenos, theme="hive_status")
var/choice = tgui_input_list(user_xeno, "Choose a xenomorph to give evolution points for a burrowed larva:", "Give Evolution Points", user_xeno.hive.total_living_xenos_advanced, theme="hive_status")

if(!choice)
return
var/evo_points_per_larva = 250
var/required_larva = 1
var/mob/living/carbon/xenomorph/target_xeno

for(var/mob/living/carbon/xenomorph/xeno in user_xeno.hive.totalXenos)
for(var/mob/living/carbon/xenomorph/xeno in user_xeno.hive.total_living_xenos_advanced)
if(html_encode(xeno.name) == html_encode(choice))
target_xeno = xeno
break
Expand Down Expand Up @@ -397,14 +397,14 @@
if(!user_xeno.check_plasma(plasma_cost_banish))
return

var/choice = tgui_input_list(user_xeno, "Choose a xenomorph to banish:", "Banish", user_xeno.hive.totalXenos, theme="hive_status")
var/choice = tgui_input_list(user_xeno, "Choose a xenomorph to banish:", "Banish", user_xeno.hive.total_living_xenos, theme="hive_status")

if(!choice)
return

var/mob/living/carbon/xenomorph/target_xeno

for(var/mob/living/carbon/xenomorph/xeno in user_xeno.hive.totalXenos)
for(var/mob/living/carbon/xenomorph/xeno in user_xeno.hive.total_living_xenos)
if(html_encode(xeno.name) == html_encode(choice))
target_xeno = xeno
break
Expand Down Expand Up @@ -483,7 +483,7 @@
var/banished_living = FALSE
var/mob/living/carbon/xenomorph/target_xeno

for(var/mob/living/carbon/xenomorph/xeno in user_xeno.hive.totalXenos)
for(var/mob/living/carbon/xenomorph/xeno in user_xeno.hive.total_living_xenos)
if(xeno.ckey == banished_ckey)
target_xeno = xeno
banished_living = TRUE
Expand Down Expand Up @@ -627,7 +627,7 @@
to_chat(Q, SPAN_XENONOTICE("You rally the hive to the queen beacon!"))
LAZYCLEARLIST(transported_xenos)
RegisterSignal(SSdcs, COMSIG_GLOB_XENO_SPAWN, PROC_REF(tunnel_xeno))
for(var/xeno in hive.totalXenos)
for(var/xeno in hive.total_living_xenos)
if(xeno == Q)
continue
tunnel_xeno(src, xeno)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,6 @@
life_value = 0
default_honor_value = 0
show_only_numbers = TRUE
counts_for_slots = FALSE
counts_for_roundend = FALSE
refunds_larva_if_banished = FALSE
can_hivemind_speak = FALSE
Expand Down
4 changes: 2 additions & 2 deletions code/modules/mob/living/carbon/xenomorph/castes/Queen.dm
Original file line number Diff line number Diff line change
Expand Up @@ -496,7 +496,7 @@

if(hive && hive.living_xeno_queen == src)
var/mob/living/carbon/xenomorph/queen/next_queen = null
for(var/mob/living/carbon/xenomorph/queen/queen in hive.totalXenos)
for(var/mob/living/carbon/xenomorph/queen/queen in hive.total_living_xenos_advanced)
if(!should_block_game_interaction(queen) && queen != src && !QDELETED(queen))
next_queen = queen
break
Expand Down Expand Up @@ -778,7 +778,7 @@

// Reset the banished ckey list
if(length(hive.banished_ckeys))
for(var/mob/living/carbon/xenomorph/target_xeno in hive.totalXenos)
for(var/mob/living/carbon/xenomorph/target_xeno in hive.total_living_xenos)
if(!target_xeno.ckey)
continue
for(var/mob_name in hive.banished_ckeys)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,6 @@
life_value = 0
default_honor_value = 0
show_only_numbers = TRUE
counts_for_slots = FALSE
counts_for_roundend = FALSE
refunds_larva_if_banished = FALSE
crit_health = 0
Expand Down
Loading
Loading