Skip to content

Commit

Permalink
changes
Browse files Browse the repository at this point in the history
  • Loading branch information
ihatethisengine committed Jun 26, 2023
1 parent e431cf8 commit 593ee08
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 12 deletions.
6 changes: 3 additions & 3 deletions code/modules/cm_aliens/structures/special/pylon_core.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
20 changes: 11 additions & 9 deletions code/modules/mob/living/carbon/xenomorph/xeno_defines.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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)
Expand All @@ -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))
Expand All @@ -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)

Expand Down

0 comments on commit 593ee08

Please sign in to comment.