Migrate organs to the new attack chain. (#32156)

* Migrate organs to the new attack chain.

* Migrate additional organs and rod of asclepius.

* Update regenerative core.

* Call parent activate_self of regenerative core.
This commit is contained in:
Alan
2026-07-17 06:13:01 +00:00
committed by GitHub
parent 6807c223b3
commit 225a38b7de
9 changed files with 110 additions and 101 deletions
@@ -12,15 +12,18 @@
/obj/item/organ/internal/heart/demon/prepare_eat()
return // Just so people don't accidentally waste it
/obj/item/organ/internal/heart/demon/attack_self__legacy__attackchain(mob/living/user)
/obj/item/organ/internal/heart/demon/activate_self(mob/living/user)
if(!user)
return ..()
user.visible_message(SPAN_WARNING("[user] raises [src] to [user.p_their()] mouth and tears into it with [user.p_their()] teeth!"), \
SPAN_DANGER("An unnatural hunger consumes you. You raise [src] to your mouth and devour it!"))
playsound(user, 'sound/misc/demon_consume.ogg', 50, 1)
/// SLAUGHTER DEMON HEART
/obj/item/organ/internal/heart/demon/slaughter/attack_self__legacy__attackchain(mob/living/user)
..()
/obj/item/organ/internal/heart/demon/slaughter/activate_self(mob/living/user)
if(..())
return ITEM_INTERACT_COMPLETE
// Eating the heart for the first time. Gives basic bloodcrawling. This is the only time we need to insert the heart.
if(!HAS_TRAIT(user, TRAIT_BLOODCRAWL))
@@ -29,18 +32,19 @@
ADD_TRAIT(user, TRAIT_BLOODCRAWL, "bloodcrawl")
user.drop_item()
insert(user) //Consuming the heart literally replaces your heart with a demon heart. H A R D C O R E.
return TRUE
return ITEM_INTERACT_COMPLETE
// Eating a 2nd heart. Gives the ability to drag people into blood and eat them.
if(HAS_TRAIT(user, TRAIT_BLOODCRAWL))
to_chat(user, "You feel differ-[SPAN_DANGER(" CONSUME THEM!")]")
ADD_TRAIT(user, TRAIT_BLOODCRAWL_EAT, "bloodcrawl_eat")
qdel(src) // Replacing their demon heart with another demon heart is pointless, just delete this one and return.
return TRUE
return ITEM_INTERACT_COMPLETE
// Eating any more than 2 demon hearts does nothing.
to_chat(user, SPAN_WARNING("...and you don't feel any different."))
qdel(src)
return ITEM_INTERACT_COMPLETE
/obj/item/organ/internal/heart/demon/slaughter/insert(mob/living/carbon/M, special = 0)
. = ..()
@@ -60,10 +64,11 @@
desc = "It still beats furiously, emitting an aura of fear."
color = COLOR_BLACK
/obj/item/organ/internal/heart/demon/shadow/attack_self__legacy__attackchain(mob/living/user)
. = ..()
/obj/item/organ/internal/heart/demon/shadow/activate_self(mob/living/user)
..()
user.drop_item()
insert(user)
return ITEM_INTERACT_COMPLETE
/obj/item/organ/internal/heart/demon/shadow/insert(mob/living/carbon/M, special = 0)
. = ..()
@@ -85,10 +90,11 @@
. = ..()
set_light(13, 2, "#bbbb00")
/obj/item/organ/internal/heart/demon/pulse/attack_self__legacy__attackchain(mob/living/user)
. = ..()
/obj/item/organ/internal/heart/demon/pulse/activate_self(mob/living/user)
..()
user.drop_item()
insert(user)
return ITEM_INTERACT_COMPLETE
/obj/item/organ/internal/heart/demon/pulse/insert(mob/living/carbon/M, special, dont_remove_slot)
. = ..()