/tg/ Station 13 - Modules - Types

code/datums/ai/basic_mobs/pet_commands/pet_command_bt.dm

/datum/bt_node/ai_behavior/protect_owner_checkValidates a protect_owner target; clears command + target if invalid.
/datum/bt_node/ai_behavior/fetch_seekValidates a fetch item at target_key; adds to ignore list and clears keys on failure.
/datum/bt_node/ai_behavior/forget_failed_fetchesClears the fetch ignore list at most once per AI_FETCH_IGNORE_DURATION. Always succeeds.
/datum/bt_node/ai_behavior/clear_pet_commandClears BB_ACTIVE_PET_COMMAND and removes the SUBPLAN_ID_PET_COMMAND override.
/datum/bt_node/subtree/pet_command/stayWaits forever; blocks normal AI while stay/idle is active.
/datum/bt_node/subtree/pet_command/followLoops move_to_target toward BB_CURRENT_PET_TARGET until the key is cleared.
/datum/bt_node/subtree/pet_command/play_deadPlays dead (10%/tick to get up). Clears command on revival.
/datum/bt_node/subtree/pet_command/attackAttacks BB_CURRENT_PET_TARGET in a looping melee combat parallel.
/datum/bt_node/subtree/pet_command/protect_ownerProtect owner: loops a validity check then melee attack. Clears command if target invalid.
/datum/bt_node/subtree/pet_command/move_toTravels to BB_CURRENT_PET_TARGET, clears command on arrival.
/datum/bt_node/subtree/pet_command/fishMoves to BB_CURRENT_PET_TARGET and fishes there on a loop.
/datum/bt_node/subtree/pet_command/breedMoves to BB_CURRENT_PET_TARGET and breeds once. Clears command on completion.
/datum/bt_node/subtree/pet_command/targeted_abilityMoves to BB_CURRENT_PET_TARGET and fires BB_TARGETED_ACTION on it once.
/datum/bt_node/subtree/pet_command/untargeted_abilityFires the ability stored in BB_PET_ACTIVE_ABILITY once (untargeted).
/datum/bt_node/subtree/pet_command/fetchFetch: seek > pick up > deliver. Falls back to clear_pet_command if nothing to do.
/datum/bt_node/subtree/pet_command/attack/dogAttacks BB_CURRENT_PET_TARGET using the dog's melee behavior (paws if BB_DOG_HARASS_HARM is false, bites otherwise).
/datum/bt_node/subtree/pet_command/attack/ranged/glockroachAttacks BB_CURRENT_PET_TARGET with glockroach ranged attack (1s cooldown).
/datum/bt_node/subtree/pet_command/attack/minebotAttacks BB_CURRENT_PET_TARGET with minebot ranged attack (avoids friendly fire).
/datum/bt_node/subtree/pet_command/protect_owner/ranged/glockroachProtect owner: loops validity check then glockroach ranged attack. Clears command if target invalid.