Chrono Trigger (SNES)/Tech and Attack Documentation

From Data Crystal
Jump to navigation Jump to search

List of Techs

01 - Cyclone
02 - Slash
03 - Lightning
04 - Spincut
05 - Lightning 2
06 - life
07 - confuse
08 - Luminaire
09 - Aura
0A - Provoke
0B - Ice
0C - Cure
0D - Haste
0E - Ice 2
0F - Marle's Cure 2
10 - Marle's Life 2
11 - Flame Toss
12 - Hypno Wave
13 - Fire
14 - Napalm
15 - Protect
16 - Fire 2
17 - MegaBomb
18 - Lucca's Flare
19 - Rocket Punch
1A - Cure Beam
1B - Laser Spin
1C - Robo Tackle
1D - Heal Beam
1E - Uzzi Punch
1F - Area Bomb
20 - Robo's Shock
21 - Slurp
22 - Slurpcut
23 - Water
24 - Heal
25 - Leap Slash
26 - Water 2
27 - Frog's Cure 2
28 - Frog Summon
29 - Kiss
2A - Rollo Kick
2B - Cat Attack
2C - Rock Throw
2D - Charm
2E - Tail Spin
2F - Dino Tail
30 - Triple Kick
31 - Lightning 2
32 - Ice 2
33 - Fire 2
34 - Dark Bomb
35 - Magic Wall
36 - Dark Mist
37 - Black Hole
38 - Dark Matter
39 - Aura Whirl
3A - Dual Ice Slash
3B - Dual Ice Slash 2
3C - Dual Flame Whirl
3D - Dual Fire Sword
3E - Dual Fire Sword 2
3F - Dual Rocket Roll
40 - Dual Max Cyclone
41 - Dual Super Volt
42 - Dual X-Strike
43 - Sword Stream
44 - Dual Spire
45 - Dual Drill Kick
46 - Dual Volt Bite
47 - Dual Falcon Hit
48 - Dual AntiPod
49 - Dual AntiPod 2
4A - Dual AntiPod 3
4B - Dual Aura Beam
4C - Dual Ice Tackle
4D - Dual Cure Touch
4E - Dual Ice Water
4F - Dual Glacier
50 - Dual Double Cure
51 - Dual Twin Charm
52 - Dual Ice Toss
53 - Dual Cube Toss 

54 - Dual Fire Punch
55 - Dual Fire Tackle
56 - Dual Double Bomb
57 - Dual Flame Kick
58 - Dual Flame Whirl
59 - Dual Blaze Kick
5A - Dual Blade Toss
5B - Dual Bubble Snap
5C - Dual Cure Wave
5D - Dual Boogie
5E - Dual Spin Kick
5F - Dual Beast Toss
60 - Dual Slurp Kiss
61 - Dual Bubble Hit
62 - Dual Drop Kick
63 - Dual Red Pin
64 - Dual Line Bomb
65 - Dual Frong Flare
66 - Triple Delta Force
67 - Triple Life Line
68 - Triple Arc Impulse
69 - Triple Gatling Kick
6A - Triple Fire Zone
6B - Triple Delta Storm
6C - Triple Final Kick
6D - Triple Triple Raid
6E - Triple Twister
6F - Triple 3D Attack
70 - Triple Dark Eternal
71 - Triple Omega Flare
72 - Triple Spin Strike
73 - Triple Pogozo Dance
74 - Triple Grand Dream
75 -
76 -
77 -
78 -
79 -
7A - Angel Attack
7B -
7C -
7D -
7E -
7F -
80 - 

Decoded Tech Hex Command

01 unknown
02 aa Load Animation aa
03 aa Load Animation aa
04 xx Unknown
05 xx Unknown
06 aa Load Animation aa
07 Unknown
08 Unknown
09 Set speed (slower)
0A Set speed (Slow)
0B Set speed (fast)
0C Set speed (faster)
0D xx Unknown
0E Unknown
0F Unknown
10 xx yy Believed to be slide sprite  
11 Unknown
12 tt Send to target tt
13 xx yy zz Unknown
14 xx Unknown
15 xx yy Unknown
16 Unknown
17 Unknown
18 Unknown
19 xx yy Teleport to coordinates xx yy
1A Draw at coordinates (requires set coordinates command be done previously)
1B tt Load sprite at target tt (00 caster, 01 caster+1, 02 caster+2, 03 enemy 1 etc)
1C tt Load sprite at target tt (00 caster, 01 caster+1, 02 caster+2, 03 enemy 1 etc)
1D Unknown
1E ss perform super command ss (example cyclone)
1F Unknown 
20 tt pause for time tt
21 unknown 
22 tt pause for time tt
23 ss waits for subsection ss to be hit (used for synchronization between objects)
24 ss waits for section ss to be hit (used for synchronization between objects)
25 xx Unknown
26 aa bb Loads static animation aa bb not well documented thought to be animation/frame
27 Unknown
28 Unknown
29 Thought to be hide PC
2A Thought to be show PC
2B Unknown
2C Unknown
2D Unknown
2E Unknown
2F Unknown
30 aa mm Displace on axis aa for magnitude mm.  Make sure you call SetObjectCoordinates after this.  Absolute. 3A is relative version of this
31 xx Unknown
32 xx unknown
33 oo set at object oo (00 PC, 01 PC+1, 02 PC+2, etc)
34 xx Loads the Graphic associated with byte 7 in the graphics handler.  xx = 1A hide xx = 1B show 
35 increment subsection
36 increment section
37 xx Unknown 
38 Unknown
39 Unknown
3A aa mm Displace on axis aa for magnitude mm.  Make sure you call SetObjectCoordinates after this.  Relative. 3A is absolute version of this
3B xx Unknown
3C xx Unknown
3D tt Load sprite at target tt (00 caster, 01 caster+1, 02 caster+2, 03 enemy 1 etc)
3E xx Unknown
3F xx Unknown
40 xx Unknown
41 xx yy Unknown
42 xx Unknown 
43 xx yy zz Unknown
44 Unknown
45 xx Unknown 
46 xx Unknown
47 ss Unknown
48 xx Unknown
49 xx yy Unknown
4A Unknown
4B Unknown 
4C Unknown
4D Unknown
4E Unknown
4F Unknown
50 Unknown
51 Unknown
52 Unknown
53 Unknown
54 Unknown
55 Unknown
56 Unknown
57 Unknown
58 Unknown
59 Unknown
5A Unknown
5B Unknown
5C Unknown
5D Unknown
5E Unknown
5F Unknown
60 pp switch to pallette pp (Maybe?) 
61 aa bb cc Morphs pallette not well documented
62 xx yy zz Unknown possibly pallette morph related
63 xx yy zz Unknown possibly pallette morph related
64 xx yy zz Unknown possibly pallette morph related
65 Unknown
66 Unknown
67 Unknown
68 Unknown
69 xx Unknown
6A Unknown
6B xx Unknown 
6C xx yy 
6D Unknown
6E Unknown
6F Unknown
70 Unknown
71 Unknown
72 xx Unknown
73 xx Unknown
74 xx Unknown
75 Reset Screen Color
76 xx yy 
77 xx Unknown
78 xx Unknown
79 xx Unknown 
7A xx yy 
7B xx yy 
7C Play weapon sound
7D Unknown
7E Unknown
7F Unknown
80 xx yy Possibly change screen color
81 xx Unknown 
82 xx Unknown 
83 xx Unknown 
84 xx Unknown 
85 xx Possibly set facing
86 Unknown
87 Unknown
88 Unknown
89 Unknown
8A Unknown
8B Unknown
8C Unknown
8D Unknown
8E Unknown
8F Unknown
90 Unknown
91 Unknown
92 Unknown
93 Unknown
94 Unknown
95 Unknown
96 Unknown
97 Unknown
98 xx yy 
99 Unknown
9A xx yy 
9B Unknown
9C xx yy 
9D Unknown
9E Unknown
9F Unknown
A0 Unknown
A1 Unknown
A2 Unknown
A3 Unknown
A4 xx yy 
A5 Unknown
A6 Unknown
A7 Unknown
A8 xx Unknown
A9 xx Unknown
AA Unknown
AB Unknown
AC Unknown
AD Unknown
AE Unknown
AF Unknown
B0 Unknown
B1 Unknown
B2 Unknown
B3 Unknown
B4 Unknown
B5 Unknown
B6 Unknown
B7 Unknown
B8 Unknown
B9 Unknown
BA Unknown
BB Unknown
BC Unknown
BD Unknown
BE Unknown
BF Unknown
C0 ww xx yy zz Unknown
C1 ww xx yy Unknown
C2 ww xx yy zz Unknown
C3 ww xx yy Unknown
C4 xx yy 
C5 Unknown
C6 Unknown
C7 Unknown
C8 Unknown
C9 Unknown
CA Unknown
CB Unknown
CC Unknown
CD Unknown
CE Unknown
CF Unknown
D0 Unknown
D1 Unknown
D2 xx Unknown
D3 Unknown
D4 Unknown
D5 Unknown
D6 Unknown
D7 xx yy
D8 xx ss nn Shake Sprite nn times at speed ss.  xx is undocumented 
D9 xx Unknown
DA xx Unknown
DB Unknown

The 1E XX Command

1E XX is like a tech in itself, it has scene manipulation sprite movement and sound all in one. Sometimes it's animated in which case you must call the animation command before the 1E XX command. Here are confirmed XX's

00,01 get hit 02-04 get hit darker 05-09 get hit side 0A run to enemy 0B hit side 0C hit top, freeze 0D-0E run up run up 0F falls to ground 10 - 11 fall down goes to enemy 12 - flashes 13 charges enemy hands out 14 flashes 16 sound effect freezes game 17 toward enemy then to side x strike sound effect 18 flash animatin 19 glitchy 1a freezes 1b flashes 1c freezes 1D darkens screen 1E darkens screen comes back 1F cyclone movement with sound 20 move towards enemy with animation 21 Move towards enemy quickly 22 move accross screen with animatoin 23 animated quick circle 24 sprint away from enemy 26 freezes 27 28 19 animated dissapears didn't come back 2A falls to ground 2B spins to enemy then attacks 2C down then up 2D spins to enemy 2E off screen 2F jumps up shadow belo 30 - freezes 31- spins then animated 32 off screen 33 jump higher 34 goes off screen and reappears on top animated 35 freezes

Tech Properties

Each tech has certain properties associated with it. They start at 0x0C214B and are 12 bytes each.

Byte 01: Mgc Type, 01 Status Negative,  03 Time, 04 Status Positive, 46 steal.  Other values Magic Power if TechType= magic or numHits if techType=multihit 
Byte 02: Tech Type, 00 Healing, 01 Status Positive, 02 Status Negative, 03 Damage, 06 Stealing, 08 Multi Hit
Byte 03: If Tech Type is status related the bits of this determine which status gets added
Byte 04: Insignificant part of two byte hit%
Byte 05: Significant part of two byte hit%
Byte 06: Unknown
Byte 07: Higher values = less damage
Byte 08: Unknown
Byte 09: Higher values = more damage
Byte 10: Higher values make magic techtypes do more damage
Byte 11: Higher values make physical tech types do more damage
Byte 12: Unknown

Status Bits

For techs which impact status the 3rd byte of the Tech Properties will determine which statuses changed. Each bit in that byte corresponds to a status these are listed below:

           positive/negative
Bit 1(80): beserk/stop
Bit 2(40): shell/poison
Bit 3(20): regen/unknown
Bit 4(10): unknown/doom
Bit 5(08): unknown/silence
Bit 6(04): protect/confused
Bit 7(02): unknown/sleep
Bit 8(01): unknown/blind

Offsets Pertinent to Techs

All offsets given in terms of an unheadered Chrono Trigger ROM.

0x02BD40 ~ 0x?????: Tech names and descriptions that appear in the character status menus.
 The data are arranged like so: FF NN
  FF: Tech index of a character's first tech.
  NN: First tech index of the next character's first tech.
  Thus, Crono's data is 01 09; 01 is the index of Cyclone, and 09 is the index of Marle's Aura.
  Magus' techs are encompassed by 31 39; perhaps 39 pertains to the double tech Aura Whirl?

0xC0230 ~ 0xC0236: Tech learning progress (00 - 08)
 The effects of this offset range have not yet been explored thoroughly.

0xC0237 ~ 0xC023D: Techs learned (00, 80, C0, E0, F0, F8, FC, FE, FF)
 The effects of this offset range have not yet been explored thoroughly.

0x0C15CF ~ 0x0C1ACA: Tech names (11 bytes each)
 See the alphabet section for appropriate values.
 Tech names are supported in Temporal Flux as well.

0x0C1ACD ~ 0x0?????: Tech targeting. 2 bytes each.
 Some common values are:
  07 00: One enemy (Example: Confuse, Charm)
  08 00: All enemies (Example: Dark Matter, Ice 2, Luminaire)
  80 00: One ally (Example: Cure, Aura)
  81 00: All allies (Example: Heal Beam, Aura Whirl)
  03 00: One fallen ally (Example: Life)
  04 00: All fallen allies 
  12 03: Enemy area (Example: Cyclone, Dark Bomb)
  0B 01: Enemy line (Example: Slash)
  0C 05: Enemy line (Example: Flame Toss)
  11 02: Area around character (Example: Area Bomb, Tail Spin)
  1B 0A: Area around character (Example: Black Hole)
  13 02: Area around character (Example: Max Cylone, Fire Zone)
  0F 0B: Horizontal line (Example: Falcon Hit)
  00 00: One ally status (Example: Haste, Magic Wall)
  01 00: All allies status (Example: Life Line)
  13 06: (Example: Double Bomb)
  0D 01: (Example: Blade Toss)

0x0C214B ~ 0x0C23EA: ST Tech power: 12 bytes per tech, 8 techs per character.  
  If the tech heals, 2nd byte affects power. For attack techs, 10th byte affects power.
0xC214B = cyclone attack
0xC2157 = Slash
0xC2163 = Lightning 
0xC216F = Spincut 
0xC217B = Lightning 2
0xC2187 = life 
0xC2193 = confuse
0xC219F = lumiaire
0xC21AB = aura
0xC21B7 = provoke
0xC21C3 = ice
...

0x0C23EB ~ 0x0C247A: Some extra data for 12 combo techs.  
 (4th = Crono's Confuse power, 5th = Triple Kick power, 9th = Double Cure?, 
  10th = Grand Dream, 11th = Twin Charm?, 12th = Slurp Kiss)

0x0C253C ~ 0x0C2573: Tech MP cost (1 byte per tech)
 56 techs total (Cyclone through Dark Matter)

0x0C2577 ~ 0x0C257F: Redundant MP Costs (Confuse, Triple Kick, Life2, Charm, Slurp Cut, Cure2, Frog Squash, Charm, Kiss)

0x0C29D7 ~ 0x0C2AD6: "Stat increase" values 
 (The "Item Secondary" byte "04" points to this array): 128 elements, 2 bytes per element
 Byte 1 = Stats to change:
  Power ~ 80
  Speed ~ 40
  Stamina ~ 20
  Hit ~ 10
  Evade ~ 8
  Magic ~ 4
  Magic Defense ~ 2

 You can combine stats to change, but they will all be changed by the same amount.

 Byte 2 = Change:
  00 - 7F: Increase by 0 to 127
  80 - FF: Decrease by 128 to 1


0x0D45AD ~ 0x0D4925: Unknown tech data; 7 bytes each (127 techs). May point to graphics and sound data.
 The bytes are structured as follows: aa bb cc dd ee ff gg
  aa = An unknown tech index. May point to two-byte "slots" beginning at address 0x0D5EF0
  bb = 
  cc =
  dd =
  ee =
  ff =
  gg = 
 Crono's first tech, Cyclone, will be used to illustrate. Its 7 bytes in this region are: 01 DA EF 20 01 01 FF
  01: Points to the second "slot" in offset range 0x0D5EF0 ~ 0x??????

0x0D5EF0 ~ 0x0D5FDB: Possible pointers to sound and personal tech animations. 2 bytes per tech.
 These do not seem to pertain to spell graphics packets (i.e., exchanging Cyclone data for
Lightning causes the Lightning sound to be played and causes Crono to act as if he is casting
Lightning, but the sparkles and Lightning bolt graphics are still Cyclone slashes).
 The extent of this data is unclear. The ending point may not occur until 0xD612F.

0x3DA89D ~ 0x?????: Tech names and descriptions that appear in the character battle menus.
 The data are arranged like so: FF NN
  FF: Tech index of a character's first tech.
  NN: First tech index of the next character's first tech.
  Thus, Crono's data is 01 09; 01 is the index of Cyclone, and 09 is the index of Marle's Aura.
  Magus' techs are encompassed by 31 39; perhaps 39 pertains to the double tech Aura Whirl?

Lots of people need to be thanked for this, including Justin3009, Maelstrom, and AdNova. The list will grow...

Tech Name Alphabet

2F - Spell "Star" Symbol

Capital Letters

A0 - A
A1 - B
A2 - C
A3 - D
A4 - E
A5 - F
A6 - G
A7 - H
A8 - I
A9 - J
AA - K
AB - L
AC - M
AD - N
AE - O
AF - P
B0 - Q
B1 - R
B2 - S
B3 - T
B4 - U
B5 - V
B6 - W
B7 - X
B8 - Y
B9 - Z


Lower Case Letters

BA - a
BB - b
BC - c
BD - d
BE - e
BF - f
C0 - g
C1 - h
C2 - i
C3 - j
C4 - k
C5 - l
C6 - m
C7 - n
C8 - o
C9 - p
CA - q
CB - r
CC - s
CD - t
CE - u
CF - v
D0 - w
D1 - x
D2 - y
D3 – z

Numbers

D4 - 0
D5 - 1
D6 - 2
D7 - 3
D8 - 4
D9 - 5
DA - 6
DB - 7
DC - 8
DD – 9

Grammatical stuff

DE - !
DF - ?
E0 - /
E1 - ``
E2 - `` (going left)
E3 - :
Random Symbols

E4 - %
E5 - (
E6 - )
E7 - '

Grammatical

E8 - .
E9 - ,

Math Stuff

EA - =
EB - -
EC - +
ED - \

FF - Blank Space

Tech Addresses

Crono

CD5EE6:

09 09 - (CD45AC) Cyclone
9C 09 - Slash

CD5EF6:

64 0A - (CD45C1) *Lightning
B2 0B - Spin Cut
94 0C - *Lightning 2
02 0E - *Life
96 0E - Confuse (Rainbow Light 64 0a)
90 0F - Luminaire

Marle/Nadia

CD5EF6 (End Part):

Aura - D7 0F
Provoke - 6F 10

CD5F06:

Cure - AB 10 (cd45F2 - cd4600 - For Graphics)
Ice - 36 11
Haste- D3 11
Cure 2 - 3D 12
Ice 2 - E1 12
Life 2 - 5E 13

Lucca

CD5F06 (End Part):

38 14 - Flame Toss
4A 15 - Hypno Wave

CD5F16:

6D 15 - *Fire
81 16 - Napalm
E3 17 - *Protect
64 18 - *Fire 2
FA 18 - Mega Bomb
B4 1A - Flare

Robo/R-66Y

CD5F16 (End Part):

(cd4655)
B3 1C - RocketPunch
0E 1E - Cure Beam

CD5F26:

AE 1E - Laser Spin
6A 12 - Heal Beam?
12 12 - Robo Tackle
A5 20 - Uzzi Punch
E4 21 - Area Bomb?
46 23 - Shock

Frog/Glenn

CD5F26 (End Part):

8F 23 - Slurp
97 24 - Slurp Cut

CD5F36:

B9 26 - *Water
81 27 - *Heal
22 28 - Leap Slash
11 29 - *Water 2
EE 29 - *Cure 2
13 2A - Frog Squash

Ayla

CD5F36 (End Part):

93 2A - Kiss
00 2B - Rollo Kick?

CD5F46:

F2 2B - Cat Attack
67 2C - Rock Throw
F6 2C - Charm
98 2D - Triple Kick
72 2E - Tail Spin
F9 2E - Dino Tail

Magus (Janus)

CD5F46 (End Part):

2E 2F - *Lightning 2
74 2F - *Dark Mist

CD5F56: E1 2F - *Fire 2
2A 30 - *Dark Bomb
A3 30 - *Ice 2
D7 30 - *Magic Wall
2F 31 - *Black Hole
C9 31 - *Dark Matter

Double Techs

CD5F56 (End Part):

0E 32 - Aura Whirl
0D 33 - Ice Sword (3a)

CD5F66:

9B 34 - Ice Sword 2
A9 35 - Fire Whirl cd474A - cd474f(3c)
2F 37 - Fire Sword
E6 38 - Fire Sword 2
95 3A - Rocket Roll
57 3B - Max Cyclone
E7 3B - Super Volt
9A 3C - X-Strike

CD5F76:

19 3D - Sword Stream
D3 3D - Spire
75 3F - Drill Kick
74 40 - Volt Bite
09 43 - Falcon Hit
4C 44 - Antipode
7E 45 - Antipode 2
F8 46 - Antipode 3

CD5F86: (50)

E6 47 - Aura Beam
19 48 - Ice Tackle
F3 48 - Cure Touch
FE 49 - Ice Water
FE 94 - Frog/Crono Unused Tech?
C4 4B - Glacier
4A 4D - Double Cure
1C 4F - Twin Charm
D8 4F - Ice Toss

CD5F96:

6E 51 - Cube toss
DE 52 - Fire Punch
03 55 - Fire Tackle
49 56 - DoublevBomb
E6 58 - Flame Kick
AB 5A - Blaze Kick
B7 5B - Unused Tech (Fire Twister?) (5f)
86 5D - Blade Toss

CD5FA6:

48 5E - Bubble Snap
42 5F - Cure Wave?
76 5F - Boogie
F6 60 - Spin Kick
B0 61 - Beast Toss
49 63 - Slurp Kiss
BD 64 - Bubble Hit
1B 65 - Drop Kick

CD5FC6:

86 76 - Unused Fire Sword
FB 77 - Line Bomb
B6 79 - Flare Frog

Triple Techs

CD5FB6: 

69 66 - Delta Force
31 68 - Life Line
B7 69 - Arc Impluse
AF 6B - Final Kick
AD 6D - Fire Zone
8C 6F - Delta Storm
26 70 - GatlingKick
4F 72 - Triple Raid

CD5FC6: 

33 73 - Twister
80 75 - 3D Attack
1E 7A - Eternal Dream
14 7B - Omega Laser
85 7C - Ice Sword 3?

CD5FD6: 

85 7E - Poyozo Dance (79)
A7 7F - Unused One
E0 81 - Life?

Unknown

E0 81 - ???
6F 15 - Fire Walk?
73 36 - ???
79 D5 - Screen Fades to Dark Red as in Flare's
85 F2 - Boss Death (Game Freezes)
00 2B - Ayla Attack?