/tg/ Station 13 - Modules - Types

code/datums/ai/dog/dog_bt.dm

/datum/bt_node/ai_behavior/basic_melee_attack/dogBT version of basic_melee_attack/dog. When adjacent and BB_DOG_HARASS_HARM = FALSE: paws harmlessly (animation, no damage). When adjacent and BB_DOG_HARASS_HARM = TRUE: bites normally. Returns FAILURE if targeting strategy rejects the target.
/datum/bt_node/ai_behavior/find_hated_dog_targetSearches for a target with TRAIT_HATED_BY_DOGS within 2 tiles. Sets BB_DOG_HARASS_TARGET and BB_DOG_HARASS_HARM = FALSE if found. Returns FAILURE if no valid target is found. Combine with a cooldown decorator or embed the SPT_PROB gate in the parent tree.
/datum/bt_node/ai_behavior/idle_dogDog-specific idle: random walks at a dog-appropriate rate, and occasionally spins/tail-chases. Reads BB_DOG_IS_SLOW to determine movement chance. Always returns BT_RUNNING.
/datum/bt_node/ai_behavior/random_speech_blackboard/dog_random_speechDog speech updates the BB keys based on the dogs swag
/datum/bt_node/subtree/dog_harassmentDog harassment: find a TRAIT_HATED_BY_DOGS target nearby, then approach and paw/bite it.