TAE is referred to as “TimeActEditor” in the game's code. Each character's ANIBND archive contains one or more .tae files which govern the specific events that occur during animations. A .tae file contains a list of animation entries, each of which contains a list of events, or actions, which occur at specific times (hence the phrase “TimeAct”). These events have a type field which indicates the function to be performed during the specified time window in the animation. Some examples:
It's worth noting that vanilla TAE files have events placed in 30 Hz ticks across the series but they are stored as floating point seconds values rather than frame values and they can execute as precisely as the game's rendering framerate.
Does various actions, specified by JumpTableID. There are also some arguments after the ID.
| Type | Name | Description | |
|---|---|---|---|
| s32 | JumpTableID | ID of the action to perform. | |
| 3: Set Guard Type - Sets the character's guard type to the value of [#event-type-225-argb ArgB] for the duration of this event. This activates the actual hitbox for guarding on both players and enemies. Note that the player's stamina regen rate reduction while guarding is simply a [#event-type-225 Set Stamina Regeneration Rate (type 225)] event happening simultaneously. | |||
23: AI ComboAtk Cancel - Allows the animation to cancel early for NPCs when a GOAL_COMMON_ComboRepeat subgoal is queued next in the AI lua script. | |||
| 49: Disable Locking Onto Character - Makes it so the character (whose TAE this event is in) cannot be locked onto. | |||
| f32 | ArgA | A general purpose extra value that can be sent alongside a couple of the JumpTableID types. | |
| s32 | ArgB | A general purpose extra value that can be sent alongside a couple of the JumpTableID types. | |
| u8 | ArgC | A general purpose extra value that can be sent alongside a couple of the JumpTableID types. | |
| u8 | ArgD | A general purpose extra value that can be sent alongside a couple of the JumpTableID types. | |
| s16 | StateInfo | Unknown what this does. |
Executes an attack behavior.
| Type | Name | Description | |
|---|---|---|---|
| s32 | Attack Type | Specifies the type of attack. | |
| 0: Standard | |||
| 1: Unknown - Used only for Infested Ghoul's jump slash attack in DS1. | |||
| 2: Forward+R1 Attack | |||
| 62: Plunging Attack | |||
| 64: Parry | |||
| s32 | Unknown 1 | Unknown what this value does. | |
| s32 | BehaviorJudgeID | The behaviorJudgeId value used with a weapon's (in the case of the player) or an NPC's behaviorVariationId to lookup the desired BehaviorParam entry. See BehaviorParam_PC and BehaviorParam for more information. | |
| DS3 / SDT Added Parameters: | |||
| u8 | Direction Type | Unknown what this value does. | |
| u8 | Unknown 2 | Unknown what this value does. | |
| s16 | StateInfo | Unknown what this value does. |
Causes the opacity of a character to smoothly fade from one value to another over the duration of the event.
| Type | Name | Description |
|---|---|---|
| f32 | OpacityStart | The opacity value to have at the start of the event. 1 = 100% opacity, .5 = 50% opacity |
| f32 | OpacityEnd | The opacity value to have at the end of the event. 1 = 100% opacity, .5 = 50% opacity |
It's worth noting that as soon as the event ends, the character returns to the default opacity value. The way FromSoft holds the same fade value at the end is by placing another opacity fade event afterward which starts and ends on the same opacity value.
Sets the rotation speed of the character for the duration of the event. Once the event ends the character returns to default rotation speed.
| Type | Name | Description |
|---|---|---|
| f32 | RotationSpeed | The speed at which to rotate. Appears that it may be represented in degrees per second. More research is needed. |
Modifies the stamina regeneration rate of the character for the duration of the event.
| Type | Name | Description |
|---|---|---|
| u8 | StaminaRegenRate | 100 = 100% stamina regeneration (default), 50 = 50% stamina regeneration |
Allows modifying the vertical facing angle (pitch) of a character's upper body via camera angle for the duration of the event. Values are represented in degrees.
| Type | Name | Description |
|---|---|---|
| u8 | Upper turning limit | Maximum angle character can aim up. |
| u8 | Lower turning limit | Maximum angle character can aim down. |
| u8 | Angle threshold for aiming up | Angle required for character to start aiming up. |
| u8 | Angle threshold for aiming down | Angle required for character to start aiming down. |
Able to reduce how far animations actually move. Higher reduction values decrease movement more (values can be greater than 1), values less than 0 will have no effect. How values are applied is unknown.
| Type | Name | Description |
|---|---|---|
| f32 | ReductionAtEventStart | Reduction applied at the start of the event. |
| f32 | ReductionAtEventEnd | Reduction applied by the end of the event. |
| u8 | ReductionType | Affects how much reduction is applied. 0 = always apply, 1 = determined by character equip weight ratio (higher weight ratio = more reduction) |