Revives Organ Datumization (#23397)

* first runthrough lol

* okay make this shit actually work

* nerfs slime people

* fixes

* more changes

* fix

* bim bim bam bam

* ok back in the head becuz i dont give a shit

* Sirryan review

* Sirryan review

* Fixes CI

* Stealthy CI fail

---------

Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com>
This commit is contained in:
DGamerL
2024-01-21 22:23:51 +00:00
committed by GitHub
co-authored by Contrabang
parent 0b8c196f67
commit 79a7558df7
32 changed files with 653 additions and 521 deletions
@@ -29,7 +29,7 @@
/datum/surgery_step/internal/extract_organ/begin_step(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
for(var/obj/item/I in target.internal_organs)
// Allows for multiple subtypes of heart.
// Allows for multiple subtypes of heart. Doesn't use the organ datum so that slimes dont get their brains pulled out of their head
if(istype(I, /obj/item/organ/internal/heart))
IC = I
break
@@ -6,14 +6,15 @@
dead_icon = null
status = ORGAN_ROBOT
origin_tech = "materials=4;biotech=7;abductor=3"
beating = TRUE
organ_datums = list(/datum/organ/heart/always_beating) // alien glands are immune to stopping
tough = TRUE //not easily broken by combat damage
var/cooldown_low = 300
var/cooldown_high = 300
var/next_activation = 0
var/uses // -1 For inifinite
var/human_only = FALSE
var/active = FALSE
tough = TRUE //not easily broken by combat damage
var/mind_control_uses = 1
var/mind_control_duration = 1800
@@ -84,9 +85,6 @@
update_gland_hud()
/obj/item/organ/internal/heart/gland/on_life()
if(!beating)
// alien glands are immune to stopping.
beating = TRUE
if(!active)
return
if(!ownerCheck())
@@ -212,6 +212,7 @@
icon = 'icons/obj/surgery.dmi'
icon_state = "demon_heart"
origin_tech = "combat=5;biotech=7"
organ_datums = list(/datum/organ/heart/always_beating)
/obj/item/organ/internal/heart/demon/update_icon_state()
return //always beating visually
@@ -219,9 +220,6 @@
/obj/item/organ/internal/heart/demon/prepare_eat()
return // Just so people don't accidentally waste it
/obj/item/organ/internal/heart/demon/Stop()
return 0 // Always beating.
/obj/item/organ/internal/heart/demon/attack_self(mob/living/user)
user.visible_message("<span class='warning'>[user] raises [src] to [user.p_their()] mouth and tears into it with [user.p_their()] teeth!</span>", \
"<span class='danger'>An unnatural hunger consumes you. You raise [src] to your mouth and devour it!</span>")