Difference between revisions of "AI"

From Dragon Age Toolset Wiki
Jump to: navigation, search
(split out of creature)
 
(alphabetizing, adding a missed one)
Line 4: Line 4:
  
 
{{variable table start}}
 
{{variable table start}}
{{Variable table row| AI_BALLISTA_SHOOTER_STATUS | int || When set to AI_BALLISTA_SHOOTER_STATUS_AVAILABLE, will try to move to nearby available ballistae and fire them. Set to AI_BALLISTA_SHOOTER_STATUS_INACTIVE to disable. This variable is modified by the ai_ballista_h script to keep track of ballista-related activities while active.}}
+
{{Variable table row| AI_BALLISTA_SHOOTER_STATUS | int || When set to AI_BALLISTA_SHOOTER_STATUS_AVAILABLE, will try to move to nearby available ballistae and fire them. Set to AI_BALLISTA_SHOOTER_STATUS_INACTIVE to disable. This variable is modified by the ai_ballista_h script to keep track of ballista-related activities while active.}}
{{Variable table row| AI_CUSTOM_AI_ACTIVE | int || Set via  the CAI_SetCustomAI function (include cai_h in your script for [[custom AI]] support.) }}
+
{{Variable table row| AI_CUSTOM_AI_ACTIVE | int || Set via  the CAI_SetCustomAI function (include cai_h in your script for [[custom AI]] support.) }}
{{Variable table row| AI_CUSTOM_AI_VAR_FLOAT | float || A float value that can be used by custom AI scripts for any purpose. }}
+
{{Variable table row| AI_CUSTOM_AI_VAR_FLOAT | float || A float value that can be used by custom AI scripts for any purpose. }}
{{Variable table row| AI_CUSTOM_AI_VAR_INT | int || An int value that can be used by custom AI scripts for any purpose. }}
+
{{Variable table row| AI_CUSTOM_AI_VAR_INT | int || An int value that can be used by custom AI scripts for any purpose. }}
{{Variable table row| AI_CUSTOM_AI_VAR_OBJECT | object |0| An object value that can be used by custom AI scripts for any purpose}}
+
{{Variable table row| AI_CUSTOM_AI_VAR_OBJECT | object |0| An object value that can be used by custom AI scripts for any purpose}}
{{Variable table row| AI_CUSTOM_AI_VAR_STRING | string || A string value that can be used by custom AI scripts for any purpose }}
+
{{Variable table row| AI_CUSTOM_AI_VAR_STRING | string || A string value that can be used by custom AI scripts for any purpose }}
{{Variable table row| AI_DISABLE_PATH_BLOCKED_ACTION | int || }}
+
{{Variable table row| AI_DISABLE_PATH_BLOCKED_ACTION | int || }}
{{Variable table row| AI_FLAG_PREFERS_RANGED | int |0| If the creature prefers to use ranged combat. Should be set on-spawn for enemies and when switching weapons for followers outside of combat only}}
+
{{Variable table row| AI_FLAG_PREFERS_RANGED | int |0| If the creature prefers to use ranged combat. Should be set on-spawn for enemies and when switching weapons for followers outside of combat only}}
{{Variable table row| AI_FLAG_STATIONARY | int |0| if set to 1 the creature will try not to move to attack. For follower this flag is used to tell if a follower can start attacking yet}}
+
{{Variable table row| AI_FLAG_STATIONARY | int |0| if set to 1 the creature will try not to move to attack. For follower this flag is used to tell if a follower can start attacking yet}}
{{Variable table row| AI_HELP_TEAM_STATUS | int |0| 0, not active, 1 active, 2 currently helping, 3 called for help}}
+
{{Variable table row| AI_HELP_TEAM_STATUS | int |0| 0, not active, 1 active, 2 currently helping, 3 called for help}}
{{Variable table row| AI_LAST_TACTIC | int |0| }}
+
{{Variable table row| AI_LAST_TACTIC | int |0| }}
{{Variable table row| AI_LIGHT_ACTIVE | int || }}
+
{{Variable table row| AI_LIGHT_ACTIVE | int || }}
{{Variable table row| AI_MOVE_TIMER | int |0| }}
+
{{Variable table row| AI_MOVE_TIMER | int |0| }}
{{Variable table row| AI_PLACEABLE_BEING_USED | object|0| }}
+
{{Variable table row| AI_PLACEABLE_BEING_USED | object|0| }}
{{Variable table row| AI_REGISTERED_WP | object | 0| An AI waypoint registered by the current creature. A creature registers a waypoint by changing its tag and storing the object ID on itself. A creature un-registers a waypoint by retrieving the waypoint stored on itself and re-setting its tag}}
+
{{Variable table row| AI_REGISTERED_WP | object | 0| An AI waypoint registered by the current creature. A creature registers a waypoint by changing its tag and storing the object ID on itself. A creature un-registers a waypoint by retrieving the waypoint stored on itself and re-setting its tag}}
{{Variable table row| AI_TARGET_OVERRIDE_DUR_COUNT | int |0|For how many rounds the target have been overriden, so we can limit it. }}
+
{{Variable table row| AI_TARGET_OVERRIDE | object || }}
{{Variable table row| AI_TARGET_OVERRIDE | object || }}
+
{{Variable table row| AI_TARGET_OVERRIDE_DUR_COUNT | int |0|For how many rounds the target have been overriden, so we can limit it. }}
{{Variable table row|  AI_THREAT_GENERATE_EXTRA_THREAT| float |0| Used in custom fights to have some creatures generate this extra specified amount of threat when perceived.}}
+
{{Variable table row| AI_THREAT_GENERATE_EXTRA_THREAT| float |0| Used in custom fights to have some creatures generate this extra specified amount of threat when perceived.}}
{{Variable table row| AI_THREAT_HATED_CLASS | int || Used by target selection AI ([[ai_threat_h]]) to weight target selection in favor of a particular class }}
+
{{Variable table row| AI_THREAT_HATED_CLASS | int || Used by target selection AI ([[ai_threat_h]]) to weight target selection in favor of a particular class }}
{{Variable table row| AI_THREAT_HATED_GENDER | int || Used by target selection AI (ai_threat_h) to weight target selection in favor of a particular gender }}
+
{{Variable table row| AI_THREAT_HATED_GENDER | int || Used by target selection AI (ai_threat_h) to weight target selection in favor of a particular gender }}
{{Variable table row| AI_THREAT_HATED_RACE | int || Used by target selection AI (ai_threat_h) to weight target selection in favor of a particular race }}
+
{{Variable table row| AI_THREAT_HATED_RACE | int || Used by target selection AI (ai_threat_h) to weight target selection in favor of a particular race }}
{{Variable table row| AI_THREAT_TARGET| object| 0 | }}
+
{{Variable table row| AI_THREAT_SWITCH_TIMER | int || }}
{{Variable table row| AI_THREAT_TARGET_OVERRIDE| object| 0 | }}
+
{{Variable table row| AI_THREAT_SWITCH_TIMER_MIN | int || }}
{{Variable table row| AI_THREAT_SWITCH_TIMER | int || }}
+
{{Variable table row| AI_THREAT_TARGET| object| 0 | }}
{{Variable table row| AI_THREAT_SWITCH_TIMER_MIN | int || }}
+
{{Variable table row| AI_THREAT_TARGET_SWITCH_COUNTER| int| 0 | }}
{{Variable table row| AI_WAIT_TIMER | int || }}
+
{{Variable table row| AI_WAIT_TIMER | int || }}
 
{{variable table end}}
 
{{variable table end}}

Revision as of 22:05, 5 September 2009

See also Custom AI for a means of overriding creature AI directly on a lower level.

The core AI scripts that control what a creature does makes use of a large set of variables in the default var_creature.xls local variable table. The variables and their affects are:

Variable name Type Default Description
AI_BALLISTA_SHOOTER_STATUS int When set to AI_BALLISTA_SHOOTER_STATUS_AVAILABLE, will try to move to nearby available ballistae and fire them. Set to AI_BALLISTA_SHOOTER_STATUS_INACTIVE to disable. This variable is modified by the ai_ballista_h script to keep track of ballista-related activities while active.
AI_CUSTOM_AI_ACTIVE int Set via the CAI_SetCustomAI function (include cai_h in your script for custom AI support.)
AI_CUSTOM_AI_VAR_FLOAT float A float value that can be used by custom AI scripts for any purpose.
AI_CUSTOM_AI_VAR_INT int An int value that can be used by custom AI scripts for any purpose.
AI_CUSTOM_AI_VAR_OBJECT object 0 An object value that can be used by custom AI scripts for any purpose
AI_CUSTOM_AI_VAR_STRING string A string value that can be used by custom AI scripts for any purpose
AI_DISABLE_PATH_BLOCKED_ACTION int
AI_FLAG_PREFERS_RANGED int 0 If the creature prefers to use ranged combat. Should be set on-spawn for enemies and when switching weapons for followers outside of combat only
AI_FLAG_STATIONARY int 0 if set to 1 the creature will try not to move to attack. For follower this flag is used to tell if a follower can start attacking yet
AI_HELP_TEAM_STATUS int 0 0, not active, 1 active, 2 currently helping, 3 called for help
AI_LAST_TACTIC int 0
AI_LIGHT_ACTIVE int
AI_MOVE_TIMER int 0
AI_PLACEABLE_BEING_USED object 0
AI_REGISTERED_WP object 0 An AI waypoint registered by the current creature. A creature registers a waypoint by changing its tag and storing the object ID on itself. A creature un-registers a waypoint by retrieving the waypoint stored on itself and re-setting its tag
AI_TARGET_OVERRIDE object
AI_TARGET_OVERRIDE_DUR_COUNT int 0 For how many rounds the target have been overriden, so we can limit it.
AI_THREAT_GENERATE_EXTRA_THREAT float 0 Used in custom fights to have some creatures generate this extra specified amount of threat when perceived.
AI_THREAT_HATED_CLASS int Used by target selection AI (ai_threat_h) to weight target selection in favor of a particular class
AI_THREAT_HATED_GENDER int Used by target selection AI (ai_threat_h) to weight target selection in favor of a particular gender
AI_THREAT_HATED_RACE int Used by target selection AI (ai_threat_h) to weight target selection in favor of a particular race
AI_THREAT_SWITCH_TIMER int
AI_THREAT_SWITCH_TIMER_MIN int
AI_THREAT_TARGET object 0
AI_THREAT_TARGET_SWITCH_COUNTER int 0
AI_WAIT_TIMER int