| Field | Type | Offset | Description | Notes |
|---|---|---|---|---|
| logicId | s32 | 0x0 | The logic script to use for this character. | |
| battleGoalID | s32 | 0x4 | The battle script to use for this character. | |
| disablePathMove | s8 | 0x8 | If ON, then path movement using the navigation mesh is ignored, and direct movement occurs in a straight line (obstacles are not accounted for). | This field is a boolean. |
| bMoveOnHearSound | u8 | 0x9 | If ON, this character will to sound. | |
| TeamAttackEffectivity | u8 | 0xa | A value used to determine the number of simultaneous attackers within a group of characters that share the same team. Each potential attacker adds thier TeamAttackEffectivity to a total value. If this total value is or exceeds 100, no more attackers will be allowed to attack. In general, this means higher values reduce the number of potential attackers against a target. | |
| skipArrivalVisibleCheck | u8 | 0xb | If ON, arrival is achieved even if there is no line of sight. | This field is a boolean. |
| pad1 | dummy8 | 0xc | This field is padding. | |
| nearDist | f32 | 0x10 | The distance between this character and the target that is treated as 'short' for combat distance calculations. | |
| midDist | f32 | 0x14 | The distance between this character and the target that is treated as 'medium' for combat distance calculations. | |
| farDist | f32 | 0x18 | The distance between this character and the target that is treated as 'long' for combat distance calculations. | |
| outDist | f32 | 0x1c | The distance between this character and the target that ends combat aggression. A character outside of this range will no longer attempt combat actions. | |
| eye_dist | f32 | 0x20 | The maximum extent to check for when searching visually (sight) for this character. In metres. | |
| eye_angX | f32 | 0x24 | The horizontal cone within which the visual search is performed. In degrees. | |
| eye_angY | f32 | 0x28 | The vertical cone within which the visual search is performed. In degrees. | |
| ear_dist | f32 | 0x2c | The maximum extent to check for when searching aurally (sound) for this character. In metres. | |
| ear_soundcut_dist | f32 | 0x30 | The distance at which the size of a sound source will be reduced. Sounds below this distance will no longer be heard. In metres. | |
| ear_angX | u8 | 0x34 | The horizontal cone within which the aural search is performed. In degrees. | |
| ear_angY | u8 | 0x35 | The vertical cone within which the aural search is performed. In degrees. | |
| pad3 | dummy8 | 0x36 | This field is padding. | |
| nose_dist | f32 | 0x38 | The maximum extent to check for when searching olfactorily (smell) for this character. This method of searching is never blocked by any obstacle. In metres. | |
| maxBackhomeDist | f32 | 0x3c | The distance after which this character will always return home. In metres. A parameter for the COMMON_SetBattleActLogic script. | |
| backhomeDist | f32 | 0x40 | The distance after which this character will return home if in combat with a target. In metres. A parameter for the COMMON_SetBattleActLogic script. | |
| backhomeBattleDist | f32 | 0x44 | The distance whilst in combat, after which an attempt to return home will be aborted. In metres. A parameter for the COMMON_SetBattleActLogic script. | |
| nonBattleActLife | f32 | 0x48 | The duration for non-combat acts whilst this character is aware of a target. In seconds. A parameter for the COMMON_SetBattleActLogic script. | |
| BattleStartDist | f32 | 0x4c | ||
| BackHome_LookTargetTime | f32 | 0x50 | When this character is returning home, this is the duration they keep looking at their current target for. In seconds. | |
| BackHome_LookTargetDist | f32 | 0x54 | When this character is returning home, this is the distance at which they keep looking at their current target for. In metres. | |
| SightTargetForgetTime | u16 | 0x58 | The duration after a visual target has been acquired in which it will be forgotten. In frames. | |
| SoundTargetForgetTime | u16 | 0x5a | The duration after a aural target has been acquired in which it will be forgotten. In frames. | |
| idAttackCannotMove | s32 | 0x5c | The EzState ID to use for the action to perform when this character's movement is stopped by a destructible object. | |
| BackHomeLife_OnHitEneWal | f32 | 0x60 | The duration of the BackToHome goal when this character hits an enemy wall collision (which blocks movement). In seconds. | |
| pad6 | dummy8 | 0x64 | This field is padding. | |
| goalAction_ToCaution | u8 | 0x70 | The goal action when this character becomes alert. | This field uses the following enum: NPC_THINK_GOAL_ACTION |
| pad4 | dummy8 | 0x71 | This field is padding. | |
| goalID_ToCaution | s32 | 0x74 | The goal ID to use when this character enters the 'Caution' alert state. | |
| goalAction_ToFind | u8 | 0x78 | The goal action when this character acquires a target. | This field uses the following enum: NPC_THINK_GOAL_ACTION |
| pad5 | dummy8 | 0x79 | This field is padding. | |
| goalID_ToFind | s32 | 0x7c | The goal ID to use when this character enters the 'Search' alert state. |
| Option | Description | Notes |
|---|---|---|
0 | Do nothing | |
1 | Face towards Target | |
2 | Walk to Target | |
3 | Run to Target | |
4 | Set any Goal | |
5 | Away from Target | |
6 | Wander Around | |
7 | Hold up Shield → Walk to Target | |
8 | Route movement | |
9 | Walk around nearby |