code/__DEFINES/ai/blackboard_defines.dm 
| BB_CURRENT_MIN_MOVE_DISTANCE | The closest we're allowed to / required to get to a target. |
|---|---|
| BB_BASIC_MOB_IDLE_WALK_CHANCE | How likely is this mob to move when idle per tick? |
| BB_BASIC_MOB_STOP_FLEEING | Flag to set on if you want your mob to STOP running away |
| BB_BASIC_MOB_FLEE_TARGET | Key of something we're running away from |
| BB_BASIC_MOB_FLEE_TARGET_HIDING_LOCATION | Key for the current hidden location of something we're running away from |
| BB_FLEE_TARGETING_STRATEGY | Key defining the targeting strategy for things to flee from |
| BB_BREED_READY | are we ready to breed? |
| BB_MAX_CHILDREN | maximum kids we can have |
| BB_BASIC_MOB_FLEE_DISTANCE | Key defining how far we attempt to get away from something we're fleeing from |
| BB_SEARCH_RANGE | key holding a range to look for stuff in |
| BB_TARGETED_ACTION | Generic key for a non-specific targeted action |
| BB_GENERIC_ACTION | Generic key for a non-specific action |
| BB_AGGRO_RANGE | How close a mob must be for us to select it as a target, if that is less than how far we can maintain it as a target |
| BB_BASIC_MOB_CURRENT_TARGET | Key for our current target. |
| BB_BASIC_MOB_CURRENT_TARGET_HIDING_LOCATION | Key for the current hidden location of our target if applicable. |
| BB_TARGETING_STRATEGY | Key for the type of targeting strategy we will apply. |
| BB_TARGET_MINIMUM_STAT | Key for the minimum status at which we want to target mobs (does not need to be specified if CONSCIOUS) |
| BB_ALWAYS_IGNORE_FACTION | Should we skip the faction check for the targeting strategy? |
| BB_TEMPORARILY_IGNORE_FACTION | Are we in some kind of temporary state of ignoring factions when targeting? can result in volatile results if multiple behaviours touch this |
| BB_BASIC_MOB_RETALIATE_LIST | List of mobs who have damaged us |
| BB_OBSTACLE_TARGETING_WHITELIST | Blackboard key for a whitelist typecache of "things we can target while trying to move" |
| BB_BASIC_MOB_EXECUTION_TARGET | some behaviors that check current_target also set this on deep crit mobs |
| BB_BASIC_MOB_HAS_TARGET_TIME | Blackboard key storing how long your targeting strategy has held a particular target |
| BB_CURRENT_HUNTING_TARGET | Key that holds our current hunting target |
| BB_LOW_PRIORITY_HUNTING_TARGET | Key that holds our less priority hunting target |
| BB_HUNTING_COOLDOWN | Key that holds the cooldown for our hunting subtree |
| BB_FOUND_MOM | key holds the adult we found |
| BB_FIND_MOM_TYPES | list of types of mobs we will look for |
| BB_IGNORE_MOM_TYPES | list of types of mobs we must ignore |
| BB_BABIES_PARTNER_TYPES | Types of animal we can make babies with. |
| BB_BABIES_CHILD_TYPES | Types of animal that we make as a baby. |
| BB_BABIES_TARGET | Current partner target |
| BB_PARTNER_SEARCH_TIMEOUT | Timeout for finding partners when theres too many of us in 1 location |
| BB_RANDOM_AGGRO_CHANCE | Chance to randomly acquire a new target |
| BB_RANDOM_DEAGGRO_CHANCE | Chance to randomly drop all of our targets |
| BB_NEXT_HUNGRY | time until we should next eat, set by the generic hunger subtree |
| BB_FOOD_TARGET | what we're going to eat next |
| BB_CHECK_HUNGRY | are we hungry? determined by the udder component |
| BB_BASIC_FOODS | list of foods this mob likes |
| BB_TARGET_FOOD | key holding any food we've found |
| BB_EAT_EMOTES | key holding emotes we play after eating |
| BB_NEXT_FOOD_EAT | key holding the next time we eat |
| BB_EAT_FOOD_COOLDOWN | key holding our eating cooldown |
| BB_VENTCRAWL_FINAL_TARGET | key holding the turf we will move to |
| BB_VENTCRAWL_ENTRANCE | key holding the vent we will move to |
| BB_VENTCRAWL_EXIT | key holding the vent we will ventcrawl to |
| BB_VENTCRAWL_IS_ENTERING | key holding a boolean value if we're entering into a vent |
| BB_VENTCRAWL_DELAY | key holding the amount of delay between steps in a vent (recommended: 1) |
| BB_VENT_SEARCH_RANGE | key holding a range to look for vents (recommended: 10) |
| BB_RANGED_SKIRMISH_MIN_DISTANCE | Minimum range to keep target within |
| BB_RANGED_SKIRMISH_MAX_DISTANCE | Maximum range to keep target within |
| BB_BASIC_MOB_TIP_REACTING | Bool that means a basic mob will start reacting to being tipped in its planning |
| BB_BASIC_MOB_TIPPER | the motherfucker who tipped us |
| BB_STATIONARY_CAUSE | Is there something that scared us into being stationary? If so, hold the reference here |
| BB_STATIONARY_SECONDS | How long should we remain stationary for? |
| BB_STATIONARY_MOVE_TO_TARGET | Should we move towards the target that triggered us to be stationary? |
| BB_STATIONARY_TARGETS | What targets will trigger us to be stationary? Must be a list. |
| BB_STATIONARY_COOLDOWN | How often can we get spooked by a target? |
| BB_MINEBOT_LIGHT_ABILITY | key that stores our toggle light ability |
| BB_MINEBOT_DUMP_ABILITY | key that stores our dump ore ability |
| BB_TARGET_MINERAL_TURF | key that stores our target turf |
| BB_BLACKLIST_MINERAL_TURFS | key that stores list of the turfs we ignore |
| BB_PREVIOUS_UNREACHABLE_WALL | key that stores the previous blocked wall |
| BB_AUTOMATED_MINING | key that stores our mining mode |
| BB_NEARBY_DEAD_MINER | key that stores the nearest dead human |
| BB_DRONE_DEFEND | key that holds the drone we defend |
| BB_MINIMUM_SHOOTING_DISTANCE | key that holds the minimum distance before we flee |
| BB_MINER_FRIEND | key that holds the miner we must befriend |
| BB_MINEBOT_AUTO_DEFEND | should we auto protect? |
| BB_MINEBOT_GIBTONITE_RUN | gibtonite wall we need to run away from |
| BB_LEGION_CORPSE | Corpse we have consumed |
| BB_LEGION_RECENT_LINES | Things our target recently said |
| BB_LEGION_BROOD_CREATOR | The creator of our legion skull |
| BB_ACTIVE_PET_COMMAND | Blackboard field for the most recent command the pet was given |
| BB_CURRENT_PET_TARGET | Blackboard field for what we actually want the pet to target |
| BB_PET_TARGETING_STRATEGY | Blackboard field for how we target things, as usually we want to be more permissive than normal |
| BB_FRIENDS_LIST | List of UIDs to mobs this mob is friends with, will follow their instructions and won't attack them |
| BB_OWNER_SELF_HARM_RESPONSES | List of strings we might say to encourage someone to make better choices. |
| BB_OWNER_FRIENDLY_FIRE_APOLOGIES | List of strings used to apologize for attacking friends. |
| BB_HIVE_PARTNER | the hivebot partner we will go communicate with |
| BB_CLEAN_TARGET | Target define for cleaning |
| BB_FIND_TARGETS_FIELD | For /datum/ai_behavior/find_potential_targets, what if any field are we using currently |
| BB_TARGET_MINERAL_WALL | key that tells the wall we will mine |
| BB_ORE_TARGET | key that holds the ore we will eat |
| BB_ORE_IGNORE_TYPES | which ore types we will not eat |
| BB_SPIDER_WEB_TARGET | Our webbing target |
| BB_SPIDER_WEB_ACTION | Key where we store the web-spinning ability |
| BB_SPIDER_WRAP_TARGET | Our wrapping target |
| BB_SPIDER_WRAP_ACTION | Key where we define the wrapping ability |
| BB_SPIDER_EGG_LAYING_ACTION | Key where we define the egg laying ability |
| BB_CHANGELING_SPIDER_ORDER | Key used by changelings who control spiders |
| BB_MALF_DRONE_PASSIVE | Are we active? |
| BB_CURRENT_HOME | the bee hive we live inside |
| BB_TARGET_HYDRO | the hydro we will pollinate |
| BB_GOLIATH_TENTACLES | Key where we store the tentacleing ability |
| BB_GOLIATH_HOLE_TARGET | Key where goliath stores a hole it wants to get into |
| BB_NIAN_CATERPILLAR_SPIN_MOTHSILK_ACTION | Key that stores the silk spin ability |
Define Details
BB_ACTIVE_PET_COMMAND 
Blackboard field for the most recent command the pet was given
BB_AGGRO_RANGE 
How close a mob must be for us to select it as a target, if that is less than how far we can maintain it as a target
BB_ALWAYS_IGNORE_FACTION 
Should we skip the faction check for the targeting strategy?
BB_AUTOMATED_MINING 
key that stores our mining mode
BB_BABIES_CHILD_TYPES 
Types of animal that we make as a baby.
BB_BABIES_PARTNER_TYPES 
Types of animal we can make babies with.
BB_BABIES_TARGET 
Current partner target
BB_BASIC_FOODS 
list of foods this mob likes
BB_BASIC_MOB_CURRENT_TARGET 
Key for our current target.
BB_BASIC_MOB_CURRENT_TARGET_HIDING_LOCATION 
Key for the current hidden location of our target if applicable.
BB_BASIC_MOB_EXECUTION_TARGET 
some behaviors that check current_target also set this on deep crit mobs
BB_BASIC_MOB_FLEE_DISTANCE 
Key defining how far we attempt to get away from something we're fleeing from
BB_BASIC_MOB_FLEE_TARGET 
Key of something we're running away from
BB_BASIC_MOB_FLEE_TARGET_HIDING_LOCATION 
Key for the current hidden location of something we're running away from
BB_BASIC_MOB_HAS_TARGET_TIME 
Blackboard key storing how long your targeting strategy has held a particular target
BB_BASIC_MOB_IDLE_WALK_CHANCE 
How likely is this mob to move when idle per tick?
BB_BASIC_MOB_RETALIATE_LIST 
List of mobs who have damaged us
BB_BASIC_MOB_STOP_FLEEING 
Flag to set on if you want your mob to STOP running away
BB_BASIC_MOB_TIPPER 
the motherfucker who tipped us
BB_BASIC_MOB_TIP_REACTING 
Bool that means a basic mob will start reacting to being tipped in its planning
BB_BLACKLIST_MINERAL_TURFS 
key that stores list of the turfs we ignore
BB_BREED_READY 
are we ready to breed?
BB_CHANGELING_SPIDER_ORDER 
Key used by changelings who control spiders
BB_CHECK_HUNGRY 
are we hungry? determined by the udder component
BB_CLEAN_TARGET 
Target define for cleaning
BB_CURRENT_HOME 
the bee hive we live inside
BB_CURRENT_HUNTING_TARGET 
Key that holds our current hunting target
BB_CURRENT_MIN_MOVE_DISTANCE 
The closest we're allowed to / required to get to a target.
BB_CURRENT_PET_TARGET 
Blackboard field for what we actually want the pet to target
BB_DRONE_DEFEND 
key that holds the drone we defend
BB_EAT_EMOTES 
key holding emotes we play after eating
BB_EAT_FOOD_COOLDOWN 
key holding our eating cooldown
BB_FIND_MOM_TYPES 
list of types of mobs we will look for
BB_FIND_TARGETS_FIELD 
For /datum/ai_behavior/find_potential_targets, what if any field are we using currently
BB_FLEE_TARGETING_STRATEGY 
Key defining the targeting strategy for things to flee from
BB_FOOD_TARGET 
what we're going to eat next
BB_FOUND_MOM 
key holds the adult we found
BB_FRIENDS_LIST 
List of UIDs to mobs this mob is friends with, will follow their instructions and won't attack them
BB_GENERIC_ACTION 
Generic key for a non-specific action
BB_GOLIATH_HOLE_TARGET 
Key where goliath stores a hole it wants to get into
BB_GOLIATH_TENTACLES 
Key where we store the tentacleing ability
BB_HIVE_PARTNER 
the hivebot partner we will go communicate with
BB_HUNTING_COOLDOWN 
Key that holds the cooldown for our hunting subtree
BB_IGNORE_MOM_TYPES 
list of types of mobs we must ignore
BB_LEGION_BROOD_CREATOR 
The creator of our legion skull
BB_LEGION_CORPSE 
Corpse we have consumed
BB_LEGION_RECENT_LINES 
Things our target recently said
BB_LOW_PRIORITY_HUNTING_TARGET 
Key that holds our less priority hunting target
BB_MALF_DRONE_PASSIVE 
Are we active?
BB_MAX_CHILDREN 
maximum kids we can have
BB_MINEBOT_AUTO_DEFEND 
should we auto protect?
BB_MINEBOT_DUMP_ABILITY 
key that stores our dump ore ability
BB_MINEBOT_GIBTONITE_RUN 
gibtonite wall we need to run away from
BB_MINEBOT_LIGHT_ABILITY 
key that stores our toggle light ability
BB_MINER_FRIEND 
key that holds the miner we must befriend
BB_MINIMUM_SHOOTING_DISTANCE 
key that holds the minimum distance before we flee
BB_NEARBY_DEAD_MINER 
key that stores the nearest dead human
BB_NEXT_FOOD_EAT 
key holding the next time we eat
BB_NEXT_HUNGRY 
time until we should next eat, set by the generic hunger subtree
BB_NIAN_CATERPILLAR_SPIN_MOTHSILK_ACTION 
Key that stores the silk spin ability
BB_OBSTACLE_TARGETING_WHITELIST 
Blackboard key for a whitelist typecache of "things we can target while trying to move"
BB_ORE_IGNORE_TYPES 
which ore types we will not eat
BB_ORE_TARGET 
key that holds the ore we will eat
BB_OWNER_FRIENDLY_FIRE_APOLOGIES 
List of strings used to apologize for attacking friends.
BB_OWNER_SELF_HARM_RESPONSES 
List of strings we might say to encourage someone to make better choices.
BB_PARTNER_SEARCH_TIMEOUT 
Timeout for finding partners when theres too many of us in 1 location
BB_PET_TARGETING_STRATEGY 
Blackboard field for how we target things, as usually we want to be more permissive than normal
BB_PREVIOUS_UNREACHABLE_WALL 
key that stores the previous blocked wall
BB_RANDOM_AGGRO_CHANCE 
Chance to randomly acquire a new target
BB_RANDOM_DEAGGRO_CHANCE 
Chance to randomly drop all of our targets
BB_RANGED_SKIRMISH_MAX_DISTANCE 
Maximum range to keep target within
BB_RANGED_SKIRMISH_MIN_DISTANCE 
Minimum range to keep target within
BB_SEARCH_RANGE 
key holding a range to look for stuff in
BB_SPIDER_EGG_LAYING_ACTION 
Key where we define the egg laying ability
BB_SPIDER_WEB_ACTION 
Key where we store the web-spinning ability
BB_SPIDER_WEB_TARGET 
Our webbing target
BB_SPIDER_WRAP_ACTION 
Key where we define the wrapping ability
BB_SPIDER_WRAP_TARGET 
Our wrapping target
BB_STATIONARY_CAUSE 
Is there something that scared us into being stationary? If so, hold the reference here
BB_STATIONARY_COOLDOWN 
How often can we get spooked by a target?
BB_STATIONARY_MOVE_TO_TARGET 
Should we move towards the target that triggered us to be stationary?
BB_STATIONARY_SECONDS 
How long should we remain stationary for?
BB_STATIONARY_TARGETS 
What targets will trigger us to be stationary? Must be a list.
BB_TARGETED_ACTION 
Generic key for a non-specific targeted action
BB_TARGETING_STRATEGY 
Key for the type of targeting strategy we will apply.
BB_TARGET_FOOD 
key holding any food we've found
BB_TARGET_HYDRO 
the hydro we will pollinate
BB_TARGET_MINERAL_TURF 
key that stores our target turf
BB_TARGET_MINERAL_WALL 
key that tells the wall we will mine
BB_TARGET_MINIMUM_STAT 
Key for the minimum status at which we want to target mobs (does not need to be specified if CONSCIOUS)
BB_TEMPORARILY_IGNORE_FACTION 
Are we in some kind of temporary state of ignoring factions when targeting? can result in volatile results if multiple behaviours touch this
BB_VENTCRAWL_DELAY 
key holding the amount of delay between steps in a vent (recommended: 1)
BB_VENTCRAWL_ENTRANCE 
key holding the vent we will move to
BB_VENTCRAWL_EXIT 
key holding the vent we will ventcrawl to
BB_VENTCRAWL_FINAL_TARGET 
key holding the turf we will move to
BB_VENTCRAWL_IS_ENTERING 
key holding a boolean value if we're entering into a vent
BB_VENT_SEARCH_RANGE 
key holding a range to look for vents (recommended: 10)