From 9d3ad2b7a679bf17f573cf462fdc2b0185cf770f Mon Sep 17 00:00:00 2001 From: NewyearnewmeUwu <70115628+NewyearnewmeUwu@users.noreply.github.com> Date: Tue, 25 Jun 2024 04:11:50 -0700 Subject: [PATCH] Adds a means to clean up multiple monkey bodies using the xenobio console. (#83810) ## About The Pull Request This adds a functionality to the 'feed slimes' ctrl-click action for the xenobio console. Before placing a monkey, it checks for dead and therefore recycleable monkies, and then calls the proc to recycle said monkeys. It will also not place a monkey if it clears dead monkeys, meaning you can avoid adding more monkeys if you want to empty the pen. ## Why It's Good For The Game Pixel hunting for dead monkeys is just dogshit and this is way better. It's so easy to accidentally place monkeys while trying to clear ONE dead monkey. ## Changelog :cl: qol: The xenobio console's monkey placing command also clears dead monkeys on the tile. /:cl: --------- Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com> --- code/modules/research/xenobiology/xenobio_camera.dm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/code/modules/research/xenobiology/xenobio_camera.dm b/code/modules/research/xenobiology/xenobio_camera.dm index ea4ef0e9b7e..5dbe284026d 100644 --- a/code/modules/research/xenobiology/xenobio_camera.dm +++ b/code/modules/research/xenobiology/xenobio_camera.dm @@ -426,13 +426,20 @@ Due to keyboard shortcuts, the second one is not necessarily the remote eye's lo if(!isopenturf(target_turf)) return + var/cleanup = FALSE var/mob/camera/ai_eye/remote/xenobio/remote_eye = user.remote_control var/obj/machinery/computer/camera_advanced/xenobio/xeno_console = remote_eye.origin if(!xeno_console.validate_area(user, remote_eye, target_turf)) return - xeno_console.feed_slime(user, target_turf) + for(var/mob/monkey in target_turf) + if(ismonkey(monkey) && monkey.stat == DEAD) + cleanup = TRUE + xeno_console.monkey_recycle(user, monkey) + + if(!cleanup) + xeno_console.feed_slime(user, target_turf) ///Picks up a dead monkey for recycling /obj/machinery/computer/camera_advanced/xenobio/proc/XenoMonkeyClickCtrl(mob/living/user, mob/living/carbon/human/target_mob)