Daedalus Dock - Modules - TypesDefine Details

code/__DEFINES/ai.dm

AI_MAX_PATH_LENGTHFor JPS pathing, the maximum length of a path we'll try to generate. Should be modularized depending on what we're doing later on
AI_FAILED_PLANNING_COOLDOWNCooldown on planning if planning failed last time
AI_CONTROLLER_INCOMPATIBLEFlags for ai_behavior new()
AI_BEHAVIOR_REQUIRE_MOVEMENTDoes this task require movement from the AI before it can be performed?
AI_BEHAVIOR_MOVE_AND_PERFORMDoes this task let you perform the action while you move closer? (Things like moving and shooting)
AI_BEHAVIOR_KEEP_MOVE_TARGET_ON_FINISHDoes finishing this task not null the current movement target?
AI_BEHAVIOR_KEEP_MOVING_TOWARDS_TARGET_ON_FINISHDoes finishing this task make the AI stop moving towards the target?
AI_BEHAVIOR_CAN_PLAN_DURING_EXECUTIONDoes this behavior NOT block planning?
AI_BEHAVIOR_REQUIRE_REACHDoes this require the current_movement_target to be adjacent and in reach?
STOP_MOVING_WHEN_PULLEDAI flags
SUBTREE_RETURN_FINISH_PLANNINGThis subtree should cancel any further planning, (Including from other subtrees)
RESIST_SUBTREE_PROBprobability that the pawn should try resisting out of restraints
SHOULD_RESISTmacro for whether it's appropriate to resist right now, used by resist subtree
IS_DEAD_OR_INCAPmacro for whether the pawn can act, used generally to prevent some horrifying ai disasters
BB_NEXT_HUNGRYtime until we should next eat, set by the generic hunger subtree
BB_FOOD_TARGETwhat we're going to eat next
BB_PATH_TO_USEPath we should use next time we use the JPS movement datum
BB_PATH_MAX_LENGTHMax path length we should use next time we use the JPS movement datum
BB_PATH_DIAGONAL_HANDLINGDiagonal handling we should use next time we use the JPS movement datum
BB_FRIENDS_LISTTypecache of refs to mobs this mob is friends with, will follow their instructions and won't attack them
BB_NEXT_MOVE_TIMEWorld.time of the last movement + the pawn's movement delay
BB_SONG_INSTRUMENTsong instrument blackboard, set by instrument subtrees
BB_SONG_LINESsong lines blackboard, set by default on controllers
HAUNTED_ITEM_ATTACK_HAUNT_CHANCEHaunted item controller defines Chance for haunted item to haunt someone
HAUNTED_ITEM_ESCAPE_GRASP_CHANCEChance for haunted item to try to get itself let go.
HAUNTED_ITEM_AGGRO_ADDITIONAmount of aggro you get when picking up a haunted item
BB_TO_HAUNT_LISTBlackboard keys for haunted items
BB_HAUNT_TARGETActual mob the item is haunting at the moment
BB_HAUNTED_THROW_ATTEMPT_COUNTAmount of successful hits in a row this item has had
BB_LIKES_EQUIPPERIf true, tolerates the equipper holding/equipping the hauntium
CURSED_VIEW_RANGECursed item controller defines how far a cursed item will still try to chase a target
BB_CURSE_TARGETActual mob the item is haunting at the moment
BB_TARGET_SLOTWhere the item wants to land on
BB_CURSED_THROW_ATTEMPT_COUNTAmount of successful hits in a row this item has had
BB_MOD_TARGETMob the MOD is trying to attach to
BB_MOD_IMPLANTThe implant the AI was created from
MOD_AI_RANGERange for a MOD AI controller.
BB_VENDING_CURRENT_TARGETVending machine AI controller blackboard keys
BB_CUSTOMER_CURRENT_ORDERRobot customer AI controller blackboard keys
BB_CUSTOMER_SAID_CANT_FIND_SEAT_LINERobot customer has said their can't find seat line at least once. Used to rate limit how often they'll complain after the first time.
BB_HOSTILE_ORDER_MODEHostile AI controller blackboard keys
BB_HOSTILE_VISION_RANGEBasically, what is our vision/hearing range.
AI_HOSTILE_COMMAND_COOLDOWNAfter either being given a verbal order or a pointing order, ignore further of each for this duration
HOSTILE_COMMAND_NONEDon't do anything (will still react to stuff around them though)
HOSTILE_COMMAND_ATTACKWill attack a target.
HOSTILE_COMMAND_FOLLOWWill follow a target.
BB_SIMPLE_CARRY_ITEMDog AI controller blackboard keys
AI_DOG_VISION_RANGEBasically, what is our vision/hearing range for picking up on things to fetch
AI_DOG_PET_FRIEND_PROBWhat are the odds someone petting us will become our friend?
AI_FETCH_IGNORE_DURATIONAfter this long without having fetched something, we clear our ignore list
AI_DOG_HEEL_DURATIONAfter being ordered to heel, we spend this long chilling out
AI_DOG_COMMAND_COOLDOWNAfter either being given a verbal order or a pointing order, ignore further of each for this duration
AI_DOG_HARASS_FRUSTRATE_TIMEIf the dog is set to harass someone but doesn't bite them for this long, give up
DOG_COMMAND_NONEDon't do anything (will still react to stuff around them though)
DOG_COMMAND_FETCHWill try to pick up and bring back whatever you point to
DOG_COMMAND_ATTACKWill get within a few tiles of whatever you point at and continually growl/bark. If the target is a living mob who gets too close, the dog will attack them with bites
BB_BANE_BATMANbane ai
BB_CURRENT_HUNTING_TARGETHunting BB keys
BB_BASIC_MOB_TIP_REACTINGBasic Mob Keys Tipped blackboards Bool that means a basic mob will start reacting to being tipped in it's planning
BB_BASIC_MOB_TIPPERthe motherfucker who tipped us
BB_BASIC_MOB_CURRENT_TARGETTargetting subtrees
BB_PLANNER_BEHAVIORSThe list of behaviors for the planners to select from. THIS IS ACTUALLY A SUBKEY!! See _behavior_planner.dm

Define Details

AI_BEHAVIOR_CAN_PLAN_DURING_EXECUTION

Does this behavior NOT block planning?

AI_BEHAVIOR_KEEP_MOVE_TARGET_ON_FINISH

Does finishing this task not null the current movement target?

AI_BEHAVIOR_KEEP_MOVING_TOWARDS_TARGET_ON_FINISH

Does finishing this task make the AI stop moving towards the target?

AI_BEHAVIOR_MOVE_AND_PERFORM

Does this task let you perform the action while you move closer? (Things like moving and shooting)

AI_BEHAVIOR_REQUIRE_MOVEMENT

Does this task require movement from the AI before it can be performed?

AI_BEHAVIOR_REQUIRE_REACH

Does this require the current_movement_target to be adjacent and in reach?

AI_CONTROLLER_INCOMPATIBLE

Flags for ai_behavior new()

AI_DOG_COMMAND_COOLDOWN

After either being given a verbal order or a pointing order, ignore further of each for this duration

AI_DOG_HARASS_FRUSTRATE_TIME

If the dog is set to harass someone but doesn't bite them for this long, give up

AI_DOG_HEEL_DURATION

After being ordered to heel, we spend this long chilling out

AI_DOG_PET_FRIEND_PROB

What are the odds someone petting us will become our friend?

AI_DOG_VISION_RANGE

Basically, what is our vision/hearing range for picking up on things to fetch

AI_FAILED_PLANNING_COOLDOWN

Cooldown on planning if planning failed last time

AI_FETCH_IGNORE_DURATION

After this long without having fetched something, we clear our ignore list

AI_HOSTILE_COMMAND_COOLDOWN

After either being given a verbal order or a pointing order, ignore further of each for this duration

AI_MAX_PATH_LENGTH

For JPS pathing, the maximum length of a path we'll try to generate. Should be modularized depending on what we're doing later on

BB_BANE_BATMAN

bane ai

BB_BASIC_MOB_CURRENT_TARGET

Targetting subtrees

BB_BASIC_MOB_TIPPER

the motherfucker who tipped us

BB_BASIC_MOB_TIP_REACTING

Basic Mob Keys Tipped blackboards Bool that means a basic mob will start reacting to being tipped in it's planning

BB_CURRENT_HUNTING_TARGET

Hunting BB keys

BB_CURSED_THROW_ATTEMPT_COUNT

Amount of successful hits in a row this item has had

BB_CURSE_TARGET

Actual mob the item is haunting at the moment

BB_CUSTOMER_CURRENT_ORDER

Robot customer AI controller blackboard keys

BB_CUSTOMER_SAID_CANT_FIND_SEAT_LINE

Robot customer has said their can't find seat line at least once. Used to rate limit how often they'll complain after the first time.

BB_FOOD_TARGET

what we're going to eat next

BB_FRIENDS_LIST

Typecache of refs to mobs this mob is friends with, will follow their instructions and won't attack them

BB_HAUNTED_THROW_ATTEMPT_COUNT

Amount of successful hits in a row this item has had

BB_HAUNT_TARGET

Actual mob the item is haunting at the moment

BB_HOSTILE_ORDER_MODE

Hostile AI controller blackboard keys

BB_HOSTILE_VISION_RANGE

Basically, what is our vision/hearing range.

BB_LIKES_EQUIPPER

If true, tolerates the equipper holding/equipping the hauntium

BB_MOD_IMPLANT

The implant the AI was created from

BB_MOD_TARGET

Mob the MOD is trying to attach to

BB_NEXT_HUNGRY

time until we should next eat, set by the generic hunger subtree

BB_NEXT_MOVE_TIME

World.time of the last movement + the pawn's movement delay

BB_PATH_DIAGONAL_HANDLING

Diagonal handling we should use next time we use the JPS movement datum

BB_PATH_MAX_LENGTH

Max path length we should use next time we use the JPS movement datum

BB_PATH_TO_USE

Path we should use next time we use the JPS movement datum

BB_PLANNER_BEHAVIORS

The list of behaviors for the planners to select from. THIS IS ACTUALLY A SUBKEY!! See _behavior_planner.dm

BB_SIMPLE_CARRY_ITEM

Dog AI controller blackboard keys

BB_SONG_INSTRUMENT

song instrument blackboard, set by instrument subtrees

BB_SONG_LINES

song lines blackboard, set by default on controllers

BB_TARGET_SLOT

Where the item wants to land on

BB_TO_HAUNT_LIST

Blackboard keys for haunted items

BB_VENDING_CURRENT_TARGET

Vending machine AI controller blackboard keys

CURSED_VIEW_RANGE

Cursed item controller defines how far a cursed item will still try to chase a target

DOG_COMMAND_ATTACK

Will get within a few tiles of whatever you point at and continually growl/bark. If the target is a living mob who gets too close, the dog will attack them with bites

DOG_COMMAND_FETCH

Will try to pick up and bring back whatever you point to

DOG_COMMAND_NONE

Don't do anything (will still react to stuff around them though)

HAUNTED_ITEM_AGGRO_ADDITION

Amount of aggro you get when picking up a haunted item

HAUNTED_ITEM_ATTACK_HAUNT_CHANCE

Haunted item controller defines Chance for haunted item to haunt someone

HAUNTED_ITEM_ESCAPE_GRASP_CHANCE

Chance for haunted item to try to get itself let go.

HOSTILE_COMMAND_ATTACK

Will attack a target.

HOSTILE_COMMAND_FOLLOW

Will follow a target.

HOSTILE_COMMAND_NONE

Don't do anything (will still react to stuff around them though)

IS_DEAD_OR_INCAP

macro for whether the pawn can act, used generally to prevent some horrifying ai disasters

MOD_AI_RANGE

Range for a MOD AI controller.

RESIST_SUBTREE_PROB

probability that the pawn should try resisting out of restraints

SHOULD_RESIST

macro for whether it's appropriate to resist right now, used by resist subtree

STOP_MOVING_WHEN_PULLED

AI flags

SUBTREE_RETURN_FINISH_PLANNING

This subtree should cancel any further planning, (Including from other subtrees)