/tg/ Station 13 - Modules - TypesDefine Details

code/__DEFINES/ai/ai.dm

AI_STATUS_ONThe AI is currently active.
AI_STATUS_OFFThe AI is currently offline for any reason.
AI_STATUS_IDLEThe AI is currently in idle mode.
AI_UNABLE_TO_RUNpauses AI processing
AI_PREVENT_CANCEL_ACTIONSbypass canceling our actions on set_ai_status()
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_DELAYUpdate this behavior's cooldown
AI_BEHAVIOR_SUCCEEDEDFinish the behavior successfully
AI_BEHAVIOR_FAILEDFinish the behavior unsuccessfully
AI_BEHAVIOR_REQUIRE_MOVEMENTDoes this task require movement from the AI before it can be performed?
AI_BEHAVIOR_REQUIRE_REACHDoes this require the current_movement_target to be adjacent and in reach?
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_CAN_PLAN_DURING_EXECUTIONDoes this behavior NOT block planning?
STOP_MOVING_WHEN_PULLEDAI flags Don't move if being pulled
CAN_ACT_WHILE_DEADContinue processing even if dead
PAUSE_DURING_DO_AFTERStop processing while in a progress bar
CAN_ACT_IN_STASISContinue processing while in stasis
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

Define Details

AI_BEHAVIOR_CAN_PLAN_DURING_EXECUTION

Does this behavior NOT block planning?

AI_BEHAVIOR_DELAY

Update this behavior's cooldown

AI_BEHAVIOR_FAILED

Finish the behavior unsuccessfully

AI_BEHAVIOR_KEEP_MOVE_TARGET_ON_FINISH

Does finishing this task not null the current movement 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_BEHAVIOR_SUCCEEDED

Finish the behavior successfully

AI_CONTROLLER_INCOMPATIBLE

Flags for ai_behavior new()

AI_FAILED_PLANNING_COOLDOWN

Cooldown on planning if planning failed last time

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

AI_PREVENT_CANCEL_ACTIONS

bypass canceling our actions on set_ai_status()

AI_STATUS_IDLE

The AI is currently in idle mode.

AI_STATUS_OFF

The AI is currently offline for any reason.

AI_STATUS_ON

The AI is currently active.

AI_UNABLE_TO_RUN

pauses AI processing

CAN_ACT_IN_STASIS

Continue processing while in stasis

CAN_ACT_WHILE_DEAD

Continue processing even if dead

IS_DEAD_OR_INCAP

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

PAUSE_DURING_DO_AFTER

Stop processing while in a progress bar

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 Don't move if being pulled

SUBTREE_RETURN_FINISH_PLANNING

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