[MIRROR] organs NEW to INIT (#10103)

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
This commit is contained in:
CHOMPStation2StaffMirrorBot
2025-02-07 20:43:04 -07:00
committed by GitHub
parent ad1eb24b96
commit 9fbaf7932d
13 changed files with 153 additions and 127 deletions

View File

@@ -11,7 +11,7 @@
origin_tech = list(TECH_BIO = 5)
/obj/item/organ/internal/malignant/New(var/mob/living/holder, var/internal, var/force_location = null, var/forcetag = null)
/obj/item/organ/internal/malignant/Initialize(mapload, var/internal, var/force_location = null, var/forcetag = null)
organ_tag = "[initial(organ_tag)]_[rand(1,9999)]"
if(forcetag)
organ_tag = forcetag
@@ -23,22 +23,22 @@
// done here, because New() does all the setup for placing the organ...
// attempt to select a valid exterior organ that isn't synthetic!
parent_organ = pick(validBPspawns)
if(isliving(holder))
var/obj/item/organ/checklimb = holder.organs_by_name[parent_organ]
if(isliving(owner))
var/obj/item/organ/checklimb = owner.organs_by_name[parent_organ]
if(checklimb)
// valid limb, check if organic!
if(checklimb.status == 0 && checklimb.robotic < ORGAN_ROBOT)
return ..( holder, internal)
return ..(mapload, internal)
else
parent_organ = force_location
return ..( holder, internal)
return ..(mapload, internal)
// invalid, spawn as dead...
status = ORGAN_DEAD
else
// engineered ones don't do all of the above
if(force_location)
parent_organ = force_location
return ..( holder, internal)
return ..(mapload, internal)
/mob/living/carbon/human/proc/random_malignant_organ( var/allowtumors = TRUE, var/allowparasites = TRUE, var/allowengineered = TRUE)
// get a list of valid malignant organs and spawn one
@@ -606,9 +606,9 @@
origin_tech = list(TECH_BIO = 3)
/obj/item/organ/internal/malignant/engineered/lattice/New(var/mob/living/holder, var/internal, var/force_location = null, var/forcetag = null)
/obj/item/organ/internal/malignant/engineered/lattice/Initialize(mapload, var/internal, var/force_location = null, var/forcetag = null)
growth_trigger = rand(150,200)
return ..( holder, internal, force_location, forcetag)
return ..(mapload, internal, force_location, forcetag)
/obj/item/organ/internal/malignant/engineered/lattice/process()
. = ..()