Chao evolution

This page lists all of the offsets related to a chao’s evolution.

Chao type

Offset (hex)0x80
Offset (decimal)128
Data typeByte (ChaoType enum)
A value from 0 to 25 representing the type of the chao. This value determines whether the chao exists, is an egg, is a child, is any of the available first evolutions, or is a character chao. See the ChaoType enum for more information.

Alignment

Offset (hex)0xB0
Offset (decimal)176
Data typeFloat
A floating point value from -1 to +1 representing the chao’s alignment. This visibly alters the chao’s appearance (known as gradual evolution), but only when it is a child. This also determines what the first evolution will be when the chao evolves. Values less than or equal to -0.5 indicate a dark-type chao. Values greater than or equal to +0.5 indicate a hero-type chao. Values greater than -0.5 and less than +0.5 indicate a neutral-type chao. Values outside of the -1 to +1 range may make a chao’s transformation look more extreme, or it may simply appear glitched.

Run ↔ Power transformation

Offset (hex)0xA8
Offset (decimal)168
Data typeFloat
A floating point value from -1 to +1 representing the chao’s run/power transformation. This visibly alters the chao’s appearance (known as second evolution or gradual evolution), regardless of whether it’s a child or an adult. For child chao, this also determines what the first evolution will be when it evolves. Values less than or equal to -0.5 indicate a run-type chao. Values greater than or equal to +0.5 indicate a power-type chao. Values greater than -0.5 and less than +0.5 indicate a normal-type chao. Values outside of the -1 to +1 range may make a chao’s transformation look more extreme, or it may simply appear glitched. For child chao, animals modify this value by 0.1 in the appropriate direction, whereas Chaos Drives modify this value by 0.05 instead. For adult chao, animals modify this value by 0.05 in the appropriate direction, whereas Chaos Drives modify this value by 0.025 instead.

Swim ↔ Fly transformation

Offset (hex)0xAC
Offset (decimal)172
Data typeFloat
A floating point value from -1 to +1 representing the chao’s swim/fly transformation. This visibly alters the chao’s appearance (known as second evolution or gradual evolution), regardless of whether it’s a child or an adult. For child chao, this also determines what the first evolution will be when it evolves. Values less than or equal to -0.5 indicate a swim-type chao. Values greater than or equal to +0.5 indicate a fly-type chao. Values greater than -0.5 and less than +0.5 indicate a normal-type chao. Values outside of the -1 to +1 range may make a chao’s transformation look more extreme, or it may simply appear glitched. For child chao, animals modify this value by 0.1 in the appropriate direction, whereas Chaos Drives modify this value by 0.05 instead. For adult chao, animals modify this value by 0.05 in the appropriate direction, whereas Chaos Drives modify this value by 0.025 instead.

Transformation magnitude

Offset (hex)0xC0
Offset (decimal)192
Data typeFloat
A floating point value from 0 to +1.2 representing the magnitude of the chao’s gradual transformation. This determines the strength and visibility of the chao’s transformation. This value simply increases over time; feeding fruit to the chao will also increase this value. A value of 0 means that the chao’s gradual transformation (based on the Alignment, Run/Power, and Swim/Fly values above) will not visible. As the value increases, the transformation will become more and more visibly pronounced. Child chao will evolve when this value reaches 1.

PC Chao Hacking Guide

Coco the Mascot Chao