Skip to content

Commit

Permalink
Fixes APS (#4347)
Browse files Browse the repository at this point in the history
# About the pull request

It was hardcoded

# Explain why it's good for the game

Oops

# Changelog

:cl:
fix: The APS property works correctly again
/:cl:
  • Loading branch information
BeagleGaming1 authored Sep 8, 2023
1 parent 816ba22 commit ce20f42
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 18 deletions.
5 changes: 3 additions & 2 deletions code/modules/mob/living/carbon/xenomorph/Embryo.dm
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,12 @@
var/flags_embryo = FALSE // Used in /ciphering/predator property
/// The ckey of any player hugger that made this embryo
var/hugger_ckey
/// The total time the person is hugged divided by stages until burst
var/per_stage_hugged_time = 90 //Set in Initialize due to config

/obj/item/alien_embryo/Initialize(mapload, ...)
. = ..()
per_stage_hugged_time = CONFIG_GET(number/embryo_burst_timer) / 5
if(istype(loc, /mob/living))
affected_mob = loc
affected_mob.status_flags |= XENO_HOST
Expand Down Expand Up @@ -76,8 +79,6 @@

/obj/item/alien_embryo/proc/process_growth(delta_time)
var/datum/hive_status/hive = GLOB.hive_datum[hivenumber]
/// The total time the person is hugged divided by stages until burst
var/per_stage_hugged_time = CONFIG_GET(number/embryo_burst_timer) / 5
//Low temperature seriously hampers larva growth (as in, way below livable), so does stasis
if(!hive.hardcore) // Cannot progress if the hive has entered hardcore mode.
if(affected_mob.in_stasis || affected_mob.bodytemperature < 170)
Expand Down
32 changes: 16 additions & 16 deletions code/modules/reagents/chemistry_properties/prop_positive.dm
Original file line number Diff line number Diff line change
Expand Up @@ -481,24 +481,24 @@
description = "Antimicrobial property specifically targeting parasitic pathogens in the body disrupting their growth and potentially killing them."
rarity = PROPERTY_UNCOMMON

/datum/chem_property/positive/antiparasitic/process(mob/living/M, potency = 1, delta_time)
if(!ishuman(M))
return
var/mob/living/carbon/human/H = M
for(var/content in H.contents)
var/obj/item/alien_embryo/A = content
if(A && istype(A))
if(A.counter > 0)
A.counter = A.counter - potency
H.take_limb_damage(0,POTENCY_MULTIPLIER_MEDIUM*potency)
/datum/chem_property/positive/antiparasitic/process(mob/living/current_mob, potency = 1, delta_time)
if(!ishuman(current_mob))
return
var/mob/living/carbon/human/current_human = current_mob
for(var/content in current_human.contents)
var/obj/item/alien_embryo/embryo = content
if(embryo && istype(embryo))
if(embryo.counter > 0)
embryo.counter = embryo.counter - potency
current_human.take_limb_damage(0,POTENCY_MULTIPLIER_MEDIUM*potency)
else
A.stage--
if(A.stage <= 0)//if we reach this point, the embryo dies and the occupant takes a nasty amount of acid damage
qdel(A)
H.take_limb_damage(0,rand(20,40))
H.vomit()
embryo.stage--
if(embryo.stage <= 0)//if we reach this point, the embryo dies and the occupant takes a nasty amount of acid damage
qdel(embryo)
current_human.take_limb_damage(0,rand(20,40))
current_human.vomit()
else
A.counter = 90
embryo.counter = embryo.per_stage_hugged_time

/datum/chem_property/positive/antiparasitic/process_overdose(mob/living/M, potency = 1)
M.apply_damage(potency, TOX)
Expand Down

0 comments on commit ce20f42

Please sign in to comment.