Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/ai/blackboard_defines.dm

BB_CURRENT_MIN_MOVE_DISTANCEThe closest we're allowed to / required to get to a target.
BB_BASIC_MOB_IDLE_WALK_CHANCEHow likely is this mob to move when idle per tick?
BB_BASIC_MOB_STOP_FLEEINGFlag to set on if you want your mob to STOP running away
BB_BASIC_MOB_FLEE_TARGETKey of something we're running away from
BB_BASIC_MOB_FLEE_TARGET_HIDING_LOCATIONKey for the current hidden location of something we're running away from
BB_FLEE_TARGETING_STRATEGYKey defining the targeting strategy for things to flee from
BB_BREED_READYare we ready to breed?
BB_MAX_CHILDRENmaximum kids we can have
BB_BASIC_MOB_FLEE_DISTANCEKey defining how far we attempt to get away from something we're fleeing from
BB_SEARCH_RANGEkey holding a range to look for stuff in
BB_TARGETED_ACTIONGeneric key for a non-specific targeted action
BB_GENERIC_ACTIONGeneric key for a non-specific action
BB_AGGRO_RANGEHow 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_TARGETKey for our current target.
BB_BASIC_MOB_CURRENT_TARGET_HIDING_LOCATIONKey for the current hidden location of our target if applicable.
BB_TARGETING_STRATEGYKey for the type of targeting strategy we will apply.
BB_TARGET_MINIMUM_STATKey for the minimum status at which we want to target mobs (does not need to be specified if CONSCIOUS)
BB_ALWAYS_IGNORE_FACTIONShould we skip the faction check for the targeting strategy?
BB_TEMPORARILY_IGNORE_FACTIONAre 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_LISTList of mobs who have damaged us
BB_OBSTACLE_TARGETING_WHITELISTBlackboard key for a whitelist typecache of "things we can target while trying to move"
BB_BASIC_MOB_EXECUTION_TARGETsome behaviors that check current_target also set this on deep crit mobs
BB_BASIC_MOB_HAS_TARGET_TIMEBlackboard key storing how long your targeting strategy has held a particular target
BB_CURRENT_HUNTING_TARGETKey that holds our current hunting target
BB_LOW_PRIORITY_HUNTING_TARGETKey that holds our less priority hunting target
BB_HUNTING_COOLDOWNKey that holds the cooldown for our hunting subtree
BB_FOUND_MOMkey holds the adult we found
BB_FIND_MOM_TYPESlist of types of mobs we will look for
BB_IGNORE_MOM_TYPESlist of types of mobs we must ignore
BB_BABIES_PARTNER_TYPESTypes of animal we can make babies with.
BB_BABIES_CHILD_TYPESTypes of animal that we make as a baby.
BB_BABIES_TARGETCurrent partner target
BB_PARTNER_SEARCH_TIMEOUTTimeout for finding partners when theres too many of us in 1 location
BB_RANDOM_AGGRO_CHANCEChance to randomly acquire a new target
BB_RANDOM_DEAGGRO_CHANCEChance to randomly drop all of our targets
BB_NEXT_HUNGRYtime until we should next eat, set by the generic hunger subtree
BB_FOOD_TARGETwhat we're going to eat next
BB_CHECK_HUNGRYare we hungry? determined by the udder component
BB_BASIC_FOODSlist of foods this mob likes
BB_TARGET_FOODkey holding any food we've found
BB_EAT_EMOTESkey holding emotes we play after eating
BB_NEXT_FOOD_EATkey holding the next time we eat
BB_EAT_FOOD_COOLDOWNkey holding our eating cooldown
BB_VENTCRAWL_FINAL_TARGETkey holding the turf we will move to
BB_VENTCRAWL_ENTRANCEkey holding the vent we will move to
BB_VENTCRAWL_EXITkey holding the vent we will ventcrawl to
BB_VENTCRAWL_IS_ENTERINGkey holding a boolean value if we're entering into a vent
BB_VENTCRAWL_DELAYkey holding the amount of delay between steps in a vent (recommended: 1)
BB_VENT_SEARCH_RANGEkey holding a range to look for vents (recommended: 10)
BB_RANGED_SKIRMISH_MIN_DISTANCEMinimum range to keep target within
BB_RANGED_SKIRMISH_MAX_DISTANCEMaximum range to keep target within
BB_BASIC_MOB_TIP_REACTINGBool that means a basic mob will start reacting to being tipped in its planning
BB_BASIC_MOB_TIPPERthe motherfucker who tipped us
BB_STATIONARY_CAUSEIs there something that scared us into being stationary? If so, hold the reference here
BB_STATIONARY_SECONDSHow long should we remain stationary for?
BB_STATIONARY_MOVE_TO_TARGETShould we move towards the target that triggered us to be stationary?
BB_STATIONARY_TARGETSWhat targets will trigger us to be stationary? Must be a list.
BB_STATIONARY_COOLDOWNHow often can we get spooked by a target?
BB_MINEBOT_LIGHT_ABILITYkey that stores our toggle light ability
BB_MINEBOT_DUMP_ABILITYkey that stores our dump ore ability
BB_TARGET_MINERAL_TURFkey that stores our target turf
BB_BLACKLIST_MINERAL_TURFSkey that stores list of the turfs we ignore
BB_PREVIOUS_UNREACHABLE_WALLkey that stores the previous blocked wall
BB_AUTOMATED_MININGkey that stores our mining mode
BB_NEARBY_DEAD_MINERkey that stores the nearest dead human
BB_DRONE_DEFENDkey that holds the drone we defend
BB_MINIMUM_SHOOTING_DISTANCEkey that holds the minimum distance before we flee
BB_MINER_FRIENDkey that holds the miner we must befriend
BB_MINEBOT_AUTO_DEFENDshould we auto protect?
BB_MINEBOT_GIBTONITE_RUNgibtonite wall we need to run away from
BB_LEGION_CORPSECorpse we have consumed
BB_LEGION_RECENT_LINESThings our target recently said
BB_LEGION_BROOD_CREATORThe creator of our legion skull
BB_ACTIVE_PET_COMMANDBlackboard field for the most recent command the pet was given
BB_CURRENT_PET_TARGETBlackboard field for what we actually want the pet to target
BB_PET_TARGETING_STRATEGYBlackboard field for how we target things, as usually we want to be more permissive than normal
BB_FRIENDS_LISTList of UIDs to mobs this mob is friends with, will follow their instructions and won't attack them
BB_OWNER_SELF_HARM_RESPONSESList of strings we might say to encourage someone to make better choices.
BB_OWNER_FRIENDLY_FIRE_APOLOGIESList of strings used to apologize for attacking friends.
BB_HIVE_PARTNERthe hivebot partner we will go communicate with
BB_CLEAN_TARGETTarget define for cleaning
BB_FIND_TARGETS_FIELDFor /datum/ai_behavior/find_potential_targets, what if any field are we using currently
BB_TARGET_MINERAL_WALLkey that tells the wall we will mine
BB_ORE_TARGETkey that holds the ore we will eat
BB_ORE_IGNORE_TYPESwhich ore types we will not eat
BB_SPIDER_WEB_TARGETOur webbing target
BB_SPIDER_WEB_ACTIONKey where we store the web-spinning ability
BB_SPIDER_WRAP_TARGETOur wrapping target
BB_SPIDER_WRAP_ACTIONKey where we define the wrapping ability
BB_SPIDER_EGG_LAYING_ACTIONKey where we define the egg laying ability
BB_CHANGELING_SPIDER_ORDERKey used by changelings who control spiders
BB_MALF_DRONE_PASSIVEAre we active?
BB_CURRENT_HOMEthe bee hive we live inside
BB_TARGET_HYDROthe hydro we will pollinate
BB_GOLIATH_TENTACLESKey where we store the tentacleing ability
BB_GOLIATH_HOLE_TARGETKey where goliath stores a hole it wants to get into
BB_NIAN_CATERPILLAR_SPIN_MOTHSILK_ACTIONKey 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)