mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-16 12:43:09 +00:00
[no gbp] fixes penguin ai runtimes (#87543)
This commit is contained in:
@@ -10,10 +10,13 @@
|
|||||||
var/emotes_blackboard_list = BB_EAT_EMOTES
|
var/emotes_blackboard_list = BB_EAT_EMOTES
|
||||||
|
|
||||||
/datum/ai_planning_subtree/find_food/SelectBehaviors(datum/ai_controller/controller, seconds_per_tick)
|
/datum/ai_planning_subtree/find_food/SelectBehaviors(datum/ai_controller/controller, seconds_per_tick)
|
||||||
|
var/list/foods_list = controller.blackboard[food_list_key]
|
||||||
|
if(!length(foods_list))
|
||||||
|
CRASH("the types of food has not been supplied in the [food_list_key] key!")
|
||||||
if(controller.blackboard[BB_NEXT_FOOD_EAT] > world.time)
|
if(controller.blackboard[BB_NEXT_FOOD_EAT] > world.time)
|
||||||
return
|
return
|
||||||
if(!controller.blackboard_key_exists(found_food_key))
|
if(!controller.blackboard_key_exists(found_food_key))
|
||||||
controller.queue_behavior(finding_behavior, found_food_key, controller.blackboard[food_list_key])
|
controller.queue_behavior(finding_behavior, found_food_key, foods_list)
|
||||||
return
|
return
|
||||||
controller.queue_behavior(/datum/ai_behavior/interact_with_target/eat_food, found_food_key, emotes_blackboard_list)
|
controller.queue_behavior(/datum/ai_behavior/interact_with_target/eat_food, found_food_key, emotes_blackboard_list)
|
||||||
return SUBTREE_RETURN_FINISH_PLANNING
|
return SUBTREE_RETURN_FINISH_PLANNING
|
||||||
|
|||||||
@@ -36,6 +36,13 @@
|
|||||||
AddElement(/datum/element/pet_bonus, "honk")
|
AddElement(/datum/element/pet_bonus, "honk")
|
||||||
AddElementTrait(TRAIT_WADDLING, INNATE_TRAIT, /datum/element/waddling)
|
AddElementTrait(TRAIT_WADDLING, INNATE_TRAIT, /datum/element/waddling)
|
||||||
ADD_TRAIT(src, TRAIT_MOB_CAN_DIG, INNATE_TRAIT)
|
ADD_TRAIT(src, TRAIT_MOB_CAN_DIG, INNATE_TRAIT)
|
||||||
|
|
||||||
|
var/static/list/fishable_objects = typecacheof(list(/turf/open/misc/ice))
|
||||||
|
ai_controller.set_blackboard_key(BB_FISHABLE_LIST, fishable_objects)
|
||||||
|
var/static/list/delicious_food = list(/obj/item/fish)
|
||||||
|
AddElement(/datum/element/basic_eating, heal_amt = 10, food_types = delicious_food)
|
||||||
|
ai_controller.set_blackboard_key(BB_BASIC_FOODS, typecacheof(delicious_food))
|
||||||
|
|
||||||
if(!can_lay_eggs)
|
if(!can_lay_eggs)
|
||||||
return
|
return
|
||||||
AddComponent(\
|
AddComponent(\
|
||||||
@@ -48,11 +55,6 @@
|
|||||||
max_eggs_held = 1,\
|
max_eggs_held = 1,\
|
||||||
egg_laid_callback = CALLBACK(src, PROC_REF(lay_penguin_egg)),\
|
egg_laid_callback = CALLBACK(src, PROC_REF(lay_penguin_egg)),\
|
||||||
)
|
)
|
||||||
var/static/list/fishable_objects = typecacheof(list(/turf/open/misc/ice))
|
|
||||||
ai_controller.set_blackboard_key(BB_FISHABLE_LIST, fishable_objects)
|
|
||||||
var/static/list/delicious_food = list(/obj/item/fish)
|
|
||||||
AddElement(/datum/element/basic_eating, heal_amt = 10, food_types = delicious_food)
|
|
||||||
ai_controller.set_blackboard_key(BB_BASIC_FOODS, typecacheof(delicious_food))
|
|
||||||
|
|
||||||
/mob/living/basic/pet/penguin/UnarmedAttack(atom/attack_target, proximity_flag, list/modifiers)
|
/mob/living/basic/pet/penguin/UnarmedAttack(atom/attack_target, proximity_flag, list/modifiers)
|
||||||
. = ..()
|
. = ..()
|
||||||
|
|||||||
Reference in New Issue
Block a user