List of Character Actions - X-Hax/SADXModdingGuide GitHub Wiki
Character actions ("modes" for the game developers) are the main character states. They can be set without crashing the game, but most will return to the normal state immediately because of failsafes.
Pointers to the main characters data ("taskwk" for the game developers) are listed at 0x03B42E10
, one per player (8 players are possible internally, but only the first and second for the AI are used). The action is the very first byte that the pointer points to.
In code, you can change the action by simply doing EntityData1Ptrs[CharID]->Action = ActionID
. "EntityData1Ptrs" is actually what is at 0x03B42E10
.
Characters are listed in their internal character index order:
- Sonic (Metal/Super Sonic)
- Eggman (unused)
- Tails
- Knuckles
- Tikal (unused)
- Amy
- Gamma
- Big
- Transition Actions
Sonic
Sonic and Metal Sonic share the same actions, Metal Sonic being a reskin. Super Sonic is technically the same character object as well, but it has its own set of actions.
ID |
Dev name |
Description |
0 |
INIT |
Initialize |
1 |
STND |
Stand |
2 |
WALK |
Walk |
3 |
1DWK |
Path |
4 |
SPIN |
Spindash |
5 |
SPDS |
Roll |
6 |
LSDS |
Light Speed Dash |
7 |
1DSP |
DashPanel |
8 |
JUMP |
Jump |
9 |
SPRG |
Spring |
10 |
LNCH |
Launched |
11 |
PARA |
Thrown, paralyzed |
12 |
FALL |
Fall |
13 |
STOP |
Brake |
14 |
SPAT |
Homing Attack |
15 |
PUSH |
Push |
16 |
DAMG |
Hurt, damage |
17 |
BACK |
Unknown |
18 |
CRSH |
Knocked back |
19 |
SLID |
Slide |
20 |
PLON |
Object Control |
21 |
PICK |
Pick object |
22 |
PUT_ |
Put object |
23 |
HOLD |
Hold object |
24 |
TOCH |
Hold tree |
25 |
HWLK |
Walk with object |
26 |
THRW |
Throw object |
27 |
HSTP |
Brake with object |
28 |
HFLL |
Fall with object |
29 |
HJMP |
Jump with object |
30 |
HSPR |
Spring with object |
31 |
HLNC |
Launched with object |
32 |
PULL |
Pull |
33 |
THRU |
Throw object in air |
34 |
SHAK |
Shake tree |
35 |
ESHK |
Shaken, nuzzle |
36 |
HGWT |
On monkey bars |
37 |
HGGO |
Moving on monkey bars |
38 |
LDWT |
On ladder |
39 |
LDGO |
Climbing ladder |
40 |
PNJP |
Jumping from Jump Panel |
41 |
PNWT |
Standing on Jump Panel |
42 |
CAPT |
Captured |
43 |
ICED |
Frozen |
44 |
LSA_ |
Light Speed Attack |
45 |
S3A2_CART |
Bumper Car |
46 |
S4A2_WALK |
SH: Run down building |
47 |
S4A2_SPDS |
SH: Roll down building |
48 |
S4A2_FALL |
SH: Fall while running down building |
49 |
S4A2_JUMP |
SH: Jump while running down building |
50 |
S4A2_CRSH |
SH: Hurt while running down building |
51 |
S6A1_WAIT |
SD: Cylinder stand |
52 |
S6A1_SLID |
SD: Cylinder slide down |
53 |
S6A1_LROT |
SD: Cylinder left |
54 |
S6A1_RROT |
SD: Cylinder Right |
55 |
S8A2_WAIT |
IC: Hang on icicle |
56 |
S8A2_SLIP |
IC: Slip off icicle |
57 |
S8A2_LROT |
IC: Move left around icicle |
58 |
S8A2_RROT |
IC: Move right around icicle |
59 |
S8A2_JUMP |
IC: Jump off icicle |
60 |
S8A2_CLMB |
IC: Climb up icicle |
61 |
S8A2_FLY_ |
IC: Launch off icicle |
62 |
S8A3_SLID |
Board slide |
63 |
S8A3_FSLD |
Board slide faster |
64 |
S8A3_BRAK |
Board brake |
65 |
S8A3_FALL |
Board fall |
66 |
S8A3_JUMP |
Board jump |
67 |
S8A3_SPEC |
Board trick launch |
68 |
S8A3_CRSH |
Board hurt |
69 |
S9A1_PINB |
Pinball mode |
70 |
S9A1_PINF |
Pinball falling |
71 |
CNADE_START |
Pet chao (start) |
72 |
CNADE_LOOP |
Pet chao |
73 |
CNADE_END |
Pet chao (release) |
74 |
CFUE |
Whistle |
75 |
STND |
Super Sonic Stand |
76 |
WALK |
Super Sonic Walk |
77 |
1DWK |
Super Sonic Path |
78 |
FALL |
Super Sonic Fall |
79 |
LNCH |
Super Sonic Launched |
80 |
SPRG |
Super Sonic Spring |
81 |
SPAT |
Super Sonic Homing Attack |
82 |
JUMP |
Super Sonic Jump |
83 |
POSE |
Showering/look around |
84 |
EVENT |
Event |
85 |
DOZA |
Drowning |
86 |
KILL |
Death |
87 |
EDIT |
Debug |
Eggman
ID |
Dev name |
Description |
0 |
INIT |
Initialize |
1 |
STND |
Stand |
2 |
WALK |
Walk |
3 |
1DWK |
Path |
4 |
1DSP |
DashPanel |
5 |
JUMP |
Jump |
6 |
SPRG |
Spring |
7 |
LNCH |
Launch |
8 |
FALL |
Fall |
9 |
STOP |
Brake |
10 |
PUSH |
Push |
11 |
DAMG |
Hurt, damage |
12 |
BACK |
Unknown |
13 |
PLON |
Object Control |
14 |
CRSH |
Knocked back |
15 |
EVENT |
Event |
16 |
KILL |
Death |
17 |
EDIT |
Debug |
Tails
ID |
Dev name |
Description |
0 |
INIT |
Initialize |
1 |
STND |
Stand |
2 |
WALK |
Walk |
3 |
1DWK |
Path |
4 |
ROLL |
Roll |
5 |
1DSP |
DashPanel |
6 |
JUMP |
Jump |
7 |
SPRG |
Spring |
8 |
LNCH |
Launched |
9 |
PARA |
Paralized |
10 |
FALL |
Fall, jump cancel |
11 |
STOP |
Brake |
12 |
PUSH |
Push |
13 |
DAMG |
Damage |
14 |
BACK |
Unknown |
15 |
FLY_ |
Fly |
16 |
CRSH |
Knocked back |
17 |
SLID |
Slide |
18 |
PLON |
Object Control |
19 |
TIRE |
Tired |
20 |
TATK |
Tail attack |
21 |
PICK |
Pick object |
22 |
PUT_ |
Put object |
23 |
HOLD |
Hold object |
24 |
TOCH |
Hold tree |
25 |
HWLK |
Walk with object |
26 |
THRW |
Throw object |
27 |
HSTP |
Brake with object |
28 |
HFLL |
Fall with object |
29 |
HJMP |
Jump with object |
30 |
HSPR |
Spring with object |
31 |
HLNC |
Launched with object |
32 |
PULL |
Pull |
33 |
THRU |
Throw object in air |
34 |
SHAK |
Shake Tree |
35 |
ESHK |
Shaken |
36 |
HGWT |
On monkey bars |
37 |
HGGO |
Moving on monkey bars |
38 |
LDWT |
On ladder |
39 |
LDGO |
Climbing ladder |
40 |
PNJP |
Jumping from Jump Panel |
41 |
PNWT |
Standing on Jump Panel |
42 |
CAPT |
Captured |
43 |
S3A2_CART |
Bumper Car |
44 |
S6A1_WAIT |
SD: Cylinder stand |
45 |
S6A1_SLID |
SD: Cylinder slide down |
46 |
S6A1_LROT |
SD: Cylinder left |
47 |
S6A1_RROT |
SD: Cylinder right |
48 |
S8A3_SLID |
Board slide |
49 |
S8A3_FSLD |
Board slide faster |
50 |
S8A3_BRAK |
Board brake |
51 |
S8A3_FALL |
Board fall |
52 |
S8A3_JUMP |
Board jump |
53 |
S8A3_SPEC |
Board trick |
54 |
S8A3_CRSH |
Board hurt |
55 |
S9A1_PINB |
Pinball mode |
56 |
S9A1_PINF |
Pinball fall |
57 |
POSE |
Showering/look around |
58 |
EVENT |
Event |
59 |
DOZA |
Drowning |
60 |
KILL |
Death |
61 |
PROP |
Dash Hoop/Character select |
62 |
KIME |
Won/lost level |
63 |
CNADE_START |
Pet chao (start) |
64 |
CNADE_LOOP |
Pet chao |
65 |
CNADE_END |
Pet chao (release) |
66 |
CFUE |
Whistle |
67 |
EDIT |
Debug |
Knuckles
ID |
Dev name |
Description |
0 |
INIT |
Initialize |
1 |
STND |
Stand |
2 |
WALK |
Walk |
3 |
1DWK |
Path |
4 |
ROLL |
Roll |
5 |
1DSP |
DashPanel |
6 |
JUMP |
Jump |
7 |
SPRG |
Spring |
8 |
LNCH |
Launched |
9 |
FALL |
Fall, jump cancel |
10 |
STOP |
Brake |
11 |
GLID |
Glide |
12 |
GTRN |
Glide out of level boundaries |
13 |
PUSH |
Push |
14 |
DAMG |
Hurt, damage |
15 |
BACK |
Unknown |
16 |
PLON |
Object Control |
17 |
CRSH |
Knocked back |
18 |
HMG0 |
Max Heat Attack |
19 |
DIGD |
Dig (start) |
20 |
DIGU |
Dig |
21 |
DIGT |
Dig (jump off) |
22 |
DGX0 |
Cannot dig 1 |
23 |
DGX1 |
Cannot dig 2 |
24 |
CLIM |
Climb |
25 |
CLIU |
Climb end (reached the top) |
26 |
PUNC |
Punch |
27 |
PICK |
Pick object |
28 |
PUT_ |
Put object |
29 |
HOLD |
Hold object |
30 |
TOCH |
Hold tree |
31 |
HWLK |
Walk with object |
32 |
THRW |
Throw object |
33 |
HSTP |
Brake with object |
34 |
HFLL |
Fall with object |
35 |
HJMP |
Jump with object |
36 |
HSPR |
Spring with object |
37 |
HLNC |
Launched with object |
38 |
PULL |
Pull |
39 |
THRU |
Throw object in air |
40 |
SHAK |
Shake Tree |
41 |
ESHK |
Shaken |
42 |
HGWT |
On monkey bars |
43 |
HGGO |
Moving on monkey bars |
44 |
LDWT |
On ladder |
45 |
LDGO |
Climbing ladder |
46 |
PNJP |
Jumping from Jump Panel |
47 |
PNWT |
Standing on Jump Panel |
48 |
ICED |
Frozen |
49 |
EVENT |
Event |
50 |
DOZA |
Drowning |
51 |
KILL |
Death |
52 |
S3A2_CART |
Bumper Car |
53 |
CNADE_START |
Pet chao (start) |
54 |
CNADE_LOOP |
Pet chao |
55 |
CNADE_END |
Pet chao (release) |
56 |
CFUE |
Whistle |
57 |
EDIT |
Debug |
Tikal
ID |
Dev name |
Description |
0 |
INIT |
Initialize |
1 |
STND |
Stand |
2 |
WALK |
Walk |
3 |
JUMP |
Jump |
4 |
SPRG |
Spring |
5 |
LNCH |
Launched |
6 |
FALL |
Fall |
7 |
STOP |
Brake |
8 |
PLON |
Object Control |
9 |
EVENT |
Event |
10 |
KILL |
Death |
11 |
EDIT |
Debug |
Amy
ID |
Dev name |
Description |
0 |
INIT |
Initialization |
1 |
STND |
Stand |
2 |
WALK |
Walk |
3 |
1DWK |
Path |
4 |
1DSP |
DashPanel |
5 |
JUMP |
Jump |
6 |
SPRG |
Spring |
7 |
LNCH |
Launched |
8 |
FALL |
Fall |
9 |
STOP |
Brake |
10 |
PUSH |
Push |
11 |
DAMG |
Damage |
12 |
BACK |
Unknown |
13 |
PLON |
Object Control |
14 |
CRSH |
Knocked back |
15 |
HNDL |
Handle |
16 |
BLNC |
Balance (statue in Hot Shelter) |
17 |
DRTK |
Put on barrel |
18 |
DROF |
Put off barrel |
19 |
HAT_ |
Hammer Attack |
20 |
RHM_ |
Hammer Spin |
21 |
HMJ_ |
Hammer Jump |
22 |
FHM_ |
Air Hammer Attack |
23 |
PICK |
Pick Object |
24 |
PUT_ |
Put Object |
25 |
HOLD |
Hold Object |
26 |
TOCH |
Hold tree |
27 |
HWLK |
Walk with object |
28 |
THRW |
Throw object |
29 |
HSTP |
Brake with object |
30 |
HFLL |
Fall with object |
31 |
HJMP |
Jump with object |
32 |
HSPR |
Spring with object |
33 |
HLNC |
Launched with object |
34 |
PULL |
Pull |
35 |
THRU |
Throw object in air |
36 |
SHAK |
Shake Tree |
37 |
ESHK |
Shaken (by Egg Keeper) |
38 |
HGWT |
On monkey bars |
39 |
HGGO |
Moving on monkey bars |
40 |
LDWT |
On ladder |
41 |
LDGO |
Climbing ladder |
42 |
PNJP |
Jumping from Jump Panel |
43 |
PNWT |
Standing on Jump Panel |
44 |
CAPT |
Captured |
45 |
EVENT |
Event |
46 |
DOZA |
Drowning |
47 |
KILL |
Death |
48 |
S3A2_CART |
Bumper Car |
49 |
CNADE_START |
Pet chao (start) |
50 |
CNADE_LOOP |
Pet chao |
51 |
CNADE_END |
Pet chao (leave) |
52 |
CFUE |
Whistle |
53 |
EDIT |
Debug |
Gamma
ID |
Dev name |
Description |
0 |
INIT |
Initialize |
1 |
STND |
Stand |
2 |
WALK |
Walk |
3 |
1DWK |
Path |
4 |
JUMP |
Jump |
5 |
SPRG |
Spring |
6 |
LNCH |
Launched |
7 |
FALL |
Fall |
8 |
STOP |
Brake |
9 |
PUSH |
Push |
10 |
DAMG |
Hurt, damage |
11 |
BACK |
Unknown |
12 |
CRSH |
Knocked back |
13 |
SLID |
Slide |
14 |
PLON |
Object Control |
15 |
PICK |
Pick object |
16 |
PUT_ |
Put object |
17 |
HOLD |
Hold object |
18 |
TOCH |
Hold tree |
19 |
HWLK |
Walk with object |
20 |
THRW |
Throw object |
21 |
HSTP |
Brake with object |
22 |
HFLL |
Fall with object |
23 |
HJMP |
Jump with object |
24 |
HSPR |
Spring with object |
25 |
HLNC |
Launched with object |
26 |
PULL |
Pull |
27 |
THRU |
Throw object in air |
28 |
SHAK |
Shake Tree |
29 |
PJUMP |
Unknown |
30 |
PHJMP |
Unknown |
31 |
GRUN |
Wheel mode |
32 |
GRNH |
Unknown |
33 |
WRUN |
Hover mode |
34 |
WRNH |
Unknown |
35 |
WJMP |
Hover jump |
36 |
WJPH |
Unknown |
37 |
GJMP |
Wheel jump |
38 |
GJPH |
Unknown |
39 |
GSTP |
Wheel brake |
40 |
GHST |
Unknown |
41 |
AP_JUMP_I |
Unknown |
42 |
AP_JUMP |
Unknown |
43 |
AP_FALL |
Unknown |
44 |
AP_HOVER |
Unknown |
45 |
AP_CHG_R |
Dashpanel wheel transition |
46 |
AP_CHG_W |
Unknown |
47 |
LDWT |
On ladder |
48 |
LDGO |
Climbing ladder |
49 |
TIMEOVER1 |
Time Over 1 |
50 |
TIMEOVER2 |
Time Over 2 |
51 |
KILL |
Death |
52 |
KIME |
Winning pose |
53 |
CART |
Bumper Car |
54 |
ESHK |
Shaken (by Egg Keeper) |
55 |
CNADE_START |
Pet chao (start) |
56 |
CNADE_LOOP |
Pet chao |
57 |
CNADE_END |
Pet chao (release) |
58 |
CFUE |
Whistle |
59 |
EVENT |
Event |
60 |
EDIT |
Debug |
Big
ID |
Dev name |
Description |
0 |
INIT |
Initialize |
1 |
STND |
Stand |
2 |
WALK |
Walk |
3 |
1DWK |
Path |
4 |
JUMP |
Jump |
5 |
SPRG |
Spring |
6 |
LNCH |
Launched |
7 |
PARA |
Thrown, paralyzed |
8 |
FALL |
Fall |
9 |
STOP |
Brake |
10 |
PUSH |
Push |
11 |
DAMG |
Damage |
12 |
CRSH |
Knocked back |
13 |
SLID |
Slide |
14 |
PLON |
Object Control |
15 |
PICK |
Pick Object |
16 |
PUT_ |
Put Object |
17 |
HOLD |
Hold Object |
18 |
TOCH |
Hold tree |
19 |
HWLK |
Walk with object |
20 |
THRW |
Throw object |
21 |
HSTP |
Brake with object |
22 |
HFLL |
Fall with object |
23 |
HJMP |
Jump with object |
24 |
HSPR |
Spring with object |
25 |
HLNC |
Launched with object |
26 |
PULL |
Pull |
27 |
THRU |
Throw object in air |
28 |
SHAK |
Shake Tree |
29 |
LDWT |
On ladder |
30 |
LDGO |
Climbing ladder |
31 |
ATCK |
Rod attack |
32 |
CAST |
Cast line |
33 |
CAS1 |
Adjust line left |
34 |
CAS2 |
Adjust line right |
35 |
FISH |
Fishing |
36 |
SAO_ |
Fish lured |
37 |
JOY_ |
Caught a fish |
38 |
POSE |
Win pose |
39 |
MISS |
Missed a fish |
40 |
W_CAST |
Cast line on water |
41 |
W_CAS1 |
Adjust line left on water |
42 |
W_CAS2 |
Adjust line right on water |
43 |
W_FISH |
Fish on water |
44 |
WSAO |
Fish lured on water |
45 |
WJOY |
Caught a fish on water |
46 |
W_POSE |
Win pose on water |
47 |
W_WAIT |
Floating on water |
48 |
W_SWIM |
Swimming on water |
49 |
W_DIVE |
Diving in water |
50 |
ESHK |
Shaken |
51 |
CNADE_START |
Pet chao (start) |
52 |
CNADE_LOOP |
Pet chao |
53 |
CNADE_END |
Pet chao (release) |
54 |
CFUE |
Whistle |
55 |
CART |
Bumper Car |
56 |
EVENT |
Event |
57 |
DOZA |
Drowning |
58 |
KILL |
Death |
59 |
EDIT |
Debug |
Transition Actions
There is a list of transition actions in the game to easily change the current action of a player (with proper animation & status swap). It is common to every character so that you can force an action without knowing the character type. For example if you do ForcePlayerAction(0, 3)
it will make the player go into its springing action (9 for sonic, 7 for tails, etc.)
Not all actions are concerned by this list however, only actions that external objects can trigger.
Some characters have code to handle the Transition Action that is actually a failsafe. For example only Sonic and Tails have proper code for WindPaths, the other characters will simply go into their running action.
ID |
Action |
Characters |
0 |
Unused |
|
1 |
WindPath (1DWK actions) |
All |
2 |
DashPanel (1DSP actions) |
All |
3 |
Vertical Spring |
All |
4 |
Spring |
All |
5 |
Launched (cannons) |
Sonic, Tails |
6 |
Trampoline 1 |
All |
7 |
Trampoline 2 |
All |
8 |
Trampoline 3 |
All |
9 |
Trampoline 4 |
All |
10 |
Trampoline 5 |
All |
11 |
Updraft |
All |
12 |
Stand (Object Control) |
Sonic, Tails, Knuckles, Amy |
13 |
Spin (Object Control) |
Sonic, Tails, Knuckles |
14 |
Run (Object Control) |
Sonic, Tails |
15 |
Push (Object Control) |
Sonic, Tails, Knuckles, Amy |
16 |
Holding hook/pulley/helicopter (Object Control) |
Sonic, Tails, Knuckles |
17 |
Fall (Object Control) |
All |
18 |
Bumper Car |
All |
19 |
Winning |
All |
20 |
Rocket start (Object Control) |
Sonic, Tails |
21 |
Holding horizontal rocket (Object Control) |
Sonic, Tails |
22 |
Holding vertical rocket (Object Control) |
Sonic, Tails |
23 |
Waterslide (Object Control) |
Sonic |
24 |
Reset actions |
All |
25 |
Roll (Triple spring, bowling) |
Sonic |
26 |
Loop, paths |
All |
28 |
Exit Bumper Cars |
Sonic |
27 |
Unused |
|
29 |
Monkey Bars |
Sonic, Tails, Knuckles |
30 |
Icicle |
Sonic |
31 |
Ladder |
All |
32 |
Sky Deck Cylinder |
Sonic, Tails |
33 |
Egg Keeper |
Sonic, Tails, Amy, Gamma |
34 |
Look Around (POSE actions) |
Sonic, Tails |
35 |
Hit something |
Sonic, Tails, Knuckles |
36 |
Breathe bubble |
Sonic, Tails |
37 |
Hold object |
All |
38 |
Frozen |
Sonic, Knuckles |
39 |
Drown |
All but gamma |
40 |
Shower |
Sonic; Tails (no anim) |
41 |
Shower end |
Sonic, Tails |
42 |
Shake off (casinopolis sewers) |
Sonic, Tails |
43 |
Run down building |
Sonic |
44 |
Snowboard |
Sonic, Tails |
45 |
Pinball mode |
Sonic, Tails |
46 |
Super Sonic |
Sonic |
47 |
Super Sonic stop |
Sonic |
48 |
Fly |
Tails |
49 |
Character Select |
Tails (PROP action) |
50 |
Death |
All |