Moves the compressor grind special species actions to the species datum (#29779)

This commit is contained in:
Migratingcocofruit
2025-07-21 15:10:40 +00:00
committed by GitHub
parent 3d98a979ec
commit a9df4b4f5c
6 changed files with 21 additions and 17 deletions
@@ -114,7 +114,7 @@
if(delta_now < 3 SECONDS)
return
// Stop counting, print, and reset
if(timer_id != TIMER_ID_NULL)
if(timer_id != TIMER_ID_NULL)
deltimer(timer_id)
timer_id = TIMER_ID_NULL
print_summary()
@@ -155,10 +155,6 @@
/mob/living/carbon/human/vox/Initialize(mapload)
. = ..(mapload, /datum/species/vox)
/mob/living/carbon/human/vox/compressor_grind(turf/location)
new /obj/item/food/fried_vox(loc)
return ..()
/mob/living/carbon/human/skeleton/Initialize(mapload)
. = ..(mapload, /datum/species/skeleton)
@@ -186,10 +182,6 @@
/mob/living/carbon/human/diona/Initialize(mapload)
. = ..(mapload, /datum/species/diona)
/mob/living/carbon/human/diona/compressor_grind()
new /obj/item/food/salad(loc)
return ..()
/mob/living/carbon/human/pod_diona/Initialize(mapload)
. = ..(mapload, /datum/species/diona/pod)
@@ -199,10 +191,6 @@
/mob/living/carbon/human/machine/created
name = "Integrated Robotic Chassis"
/mob/living/carbon/human/machine/compressor_grind()
new /obj/item/stack/sheet/mineral/titanium(loc)
return ..()
/mob/living/carbon/human/machine/created/Initialize(mapload)
. = ..()
rename_character(null, "Integrated Robotic Chassis ([rand(1, 9999)])")
@@ -225,10 +213,6 @@
/mob/living/carbon/human/drask/Initialize(mapload)
. = ..(mapload, /datum/species/drask)
/mob/living/carbon/human/drask/compressor_grind(turf/location)
new /obj/item/soap(loc)
return ..()
/mob/living/carbon/human/monkey/Initialize(mapload)
. = ..(mapload, /datum/species/monkey)
@@ -2289,3 +2273,8 @@ Eyes need to have significantly high darksight to shine unless the mob has the X
changeNext_move(CLICK_CD_POINT)
DEFAULT_QUEUE_OR_CALL_VERB(VERB_CALLBACK(src, PROC_REF(run_pointed), A))
/// Default behavior when getting ground up in a compressor
/mob/living/carbon/human/compressor_grind()
dna.species.do_compressor_grind(src)
. = ..()
@@ -1224,3 +1224,7 @@ It'll return null if the organ doesn't correspond, so include null checks when u
/// Is this species able to be legion infested?
/datum/species/proc/can_be_legion_infested()
return TRUE
/// Prototype for additional behaviour when a specific species is ground by a compressor.
/datum/species/proc/do_compressor_grind(mob/living/carbon/human)
return
@@ -137,3 +137,6 @@
species_traits = list(NO_HAIR, NOT_SELECTABLE)
pod = TRUE
inherent_factions = list("plants", "vines")
/datum/species/diona/do_compressor_grind(mob/living/carbon/human/H)
new /obj/item/food/salad(H.loc)
@@ -68,3 +68,5 @@
)
autohiss_exempt = list("Orluum")
/datum/species/drask/do_compressor_grind(mob/living/carbon/human/H)
new /obj/item/soap(H.loc)
@@ -220,3 +220,6 @@
)
var/error_message = pick(error_messages)
to_chat(H, "<span class='boldwarning'>[error_message]</span>")
/datum/species/machine/do_compressor_grind(mob/living/carbon/human/H)
new /obj/item/stack/sheet/mineral/titanium(H.loc)
@@ -139,3 +139,6 @@
return FALSE //Handling reagent removal on our own.
return ..()
/datum/species/vox/do_compressor_grind(mob/living/carbon/human/H)
new /obj/item/food/fried_vox(H.loc)