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:
- i-frames
- parry windows
- applying an "SpEffect" (special temporary statuses such as ring effects, poisoning, buffs, AI triggers, etc)
- allowing animation cancelling
- forcing death
- creating "SFX" (particle effects)
- playing sound effects such as footsteps, sword swooshes, etc.
- doing an attack behavior (does damage to opponent, drains stamina from player, etc all in one event)
- doing a "bullet" (projectile) behavior (fires projectile, drains stamina from player, etc all in one event)
- doing a "common" behavior (like attack behaviors but for simpler things such as falling on someone's head causing stagger)
- creating motion blur on weapon swings
- setting the opacity of a character (used for getting summoned into other worlds, teleportation, etc)
- setting attack aim tracking speed of a character
- shaking the camera (e.g. Smough's footsteps)
- playing additional animation layers (e.g. all of Gwyn's animations have events to play his clothes-blowing-in-wind animation layer)
- many more that we haven't even figured out yet!
Tools
DS Anim Studio –– TAE editor for DS1, DSR, DS3, BB, Sekiro, and Elden Ring.
MegaTAE –– Editor for TAE files inside DS3/Sekiro ANIBND packages.
Notes
Event Types
Type 0 - Jumptable
Does various actions, specified by JumpTableID. There are also some arguments after the ID.
Parameters: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 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 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. |
Type 1 - Attack Behavior
Executes an attack behavior.
Parameters: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. |
Type 193 - Opacity Fade
Causes the opacity of a character to smoothly fade from one value to another over the duration of the event.
Parameters: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.
Type 224 - Set Character Rotation Speed
Sets the rotation speed of the character for the duration of the event. Once the event ends the character returns to default rotation speed.
Parameters: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. |
Type 225 - Set Stamina Regeneration Rate
Modifies the stamina regeneration rate of the character for the duration of the event.
Parameters:Type | Name | Description |
---|---|---|
u8 | StaminaRegenRate | 100 = 100% stamina regeneration (default), 50 = 50% stamina regeneration |
Type 232 - Set Vertical Aiming
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.
Parameters: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. |
Type 236 - RootMotionReduction
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.
Parameters: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) |
[https://gist.github.com/Meowmaritus/43ee5d3212197c2b6ac4e0aef26d25c2 DS3 Alpha TAE Jumptable Names