From 317c8be1b03cf223e0e6a35ef97579b6cc5d3c35 Mon Sep 17 00:00:00 2001 From: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com> Date: Sun, 14 Sep 2025 15:03:24 -0400 Subject: [PATCH] Fixes nian caterpillars becoming ravenous when fully fed (#30386) * Fixes nian caterpillars becoming ravenous when fully fed * Cooldown --- .../mob/living/basic/friendly/nian_caterpillar.dm | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/basic/friendly/nian_caterpillar.dm b/code/modules/mob/living/basic/friendly/nian_caterpillar.dm index 2768ae1cac7..e6c4f4eb778 100644 --- a/code/modules/mob/living/basic/friendly/nian_caterpillar.dm +++ b/code/modules/mob/living/basic/friendly/nian_caterpillar.dm @@ -191,9 +191,20 @@ /datum/ai_planning_subtree/random_speech/moth_caterpillar, /datum/ai_planning_subtree/find_nearest_thing_which_attacked_me_to_flee, /datum/ai_planning_subtree/flee_target, - /datum/ai_planning_subtree/find_food, + /datum/ai_planning_subtree/find_food/nian_caterpillar, ) +/datum/ai_planning_subtree/find_food/nian_caterpillar + +/datum/ai_planning_subtree/find_food/nian_caterpillar/select_behaviors(datum/ai_controller/controller, seconds_per_tick) + var/mob/living/basic/nian_caterpillar/caterpillar = controller.pawn + if(caterpillar.nutrition >= caterpillar.nutrition_need) + // Put eating on cooldown so it doesn't keep trying to eat. + var/food_cooldown = controller.blackboard[BB_EAT_FOOD_COOLDOWN] || EAT_FOOD_COOLDOWN + controller.set_blackboard_key(BB_NEXT_FOOD_EAT, world.time + food_cooldown) + return SUBTREE_RETURN_FINISH_PLANNING + return ..() + /datum/ai_planning_subtree/random_speech/moth_caterpillar speech_chance = 2 emote_hear = list("flutters.", "chitters.", "chatters.")