Skip to content

Commit

Permalink
heal off weeds
Browse files Browse the repository at this point in the history
  • Loading branch information
ihatethisengine committed Jul 26, 2023
1 parent 3f1b338 commit d5568e0
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 15 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,6 @@
var/mob/living/carbon/xenomorph/xeno
var/pull_multiplier = 1
var/egg_laying_multiplier = 1
var/need_weeds = TRUE
//Strains Below
remaining_points = 6

Expand Down
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 @@ -960,7 +960,6 @@
if(iscarrier(src))
huggers_max = caste.huggers_max
eggs_max = caste.eggs_max
need_weeds = mutators.need_weeds


/mob/living/carbon/xenomorph/proc/recalculate_acid()
Expand Down
18 changes: 9 additions & 9 deletions code/modules/mob/living/carbon/xenomorph/life.dm
Original file line number Diff line number Diff line change
Expand Up @@ -334,11 +334,6 @@ Make sure their actual health updates immediately.*/
if(!T || !istype(T))
return

var/is_runner_hiding

if(isrunner(src) && layer != initial(layer))
is_runner_hiding = 1

if(caste)
if(caste.innate_healing || check_weeds_for_healing())
if(!hive) return // can't heal if you have no hive, sorry bud
Expand Down Expand Up @@ -369,8 +364,15 @@ Make sure their actual health updates immediately.*/
if(armor_integrity > armor_integrity_max)
armor_integrity = armor_integrity_max

else //Xenos restore plasma VERY slowly off weeds, regardless of health, as long as they are not using special abilities
if(prob(50) && !is_runner_hiding && !current_aura)
else
if(!need_weeds) //corrupted and renegades can heal off weeds, but slowly
if(lying || resting)
if(health < 0) //Unconscious
heal_wounds(caste.heal_knocked_out * regeneration_multiplier * 0.15, recoveryActual * 0.5)
else
heal_wounds(caste.heal_resting * regeneration_multiplier * 0.15, recoveryActual * 0.5)
plasma_stored += round(plasma_gain * plasma_max / 100 * recovery_aura/4 * 0.15)
else if(prob(50) && !current_aura) //Xenos restore plasma VERY slowly off weeds, regardless of health, as long as they are not using special abilities
plasma_stored += 0.1 * plasma_max / 100


Expand Down Expand Up @@ -604,8 +606,6 @@ Make sure their actual health updates immediately.*/

if(W && W.linked_hive.is_ally(src))
return TRUE //weeds, yes!
if(need_weeds)
return FALSE //needs weeds, doesn't have any
if(hive && hive.living_xeno_queen && !is_mainship_level(hive.living_xeno_queen.loc.z) && is_mainship_level(loc.z))
return FALSE //We are on the ship, but the Queen isn't
return TRUE //we have off-weed healing, and either we're on Almayer with the Queen, or we're on non-Almayer, or the Queen is dead, good enough!
Expand Down
10 changes: 6 additions & 4 deletions code/modules/mob/living/carbon/xenomorph/xeno_defines.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1115,13 +1115,15 @@

var/list/defectors = list()

/datum/hive_status/corrupted/add_xeno(mob/living/carbon/xenomorph/X)
/datum/hive_status/corrupted/add_xeno(mob/living/carbon/xenomorph/xeno)
. = ..()
X.add_language(LANGUAGE_ENGLISH)
xeno.add_language(LANGUAGE_ENGLISH)
xeno.need_weeds = FALSE

/datum/hive_status/corrupted/remove_xeno(mob/living/carbon/xenomorph/X, hard)
/datum/hive_status/corrupted/remove_xeno(mob/living/carbon/xenomorph/xeno, hard)
. = ..()
X.remove_language(LANGUAGE_ENGLISH)
xeno.remove_language(LANGUAGE_ENGLISH)
xeno.need_weeds = FALSE

/datum/hive_status/corrupted/can_delay_round_end(mob/living/carbon/xenomorph/xeno)
if(!faction_is_ally(FACTION_MARINE, TRUE))
Expand Down

0 comments on commit d5568e0

Please sign in to comment.