1#ifndef ALCHEMY_UNIT_EFFECT_EFFECT_TABLE_H
2#define ALCHEMY_UNIT_EFFECT_EFFECT_TABLE_H
9#define STRIKE_KIND_SLASH 0
10#define STRIKE_KIND_COLUMN 1
14#define STRIKE_ABSORB 2
15#define STRIKE_GLINTS 4
16#define STRIKE_SPARKS 8
17#define STRIKE_HEAVY 16
s16 gParticleStreams_DropPoints[][2]
Where the seven drops fall, in pixels.
u16 gBoreas_BoulderCells[]
u8 gRagnarok_StrikeColumns[][3]
The canvas x of each strike column, three for each side.
struct Vector3 gStars_Points[]
The two star points, 48 and 28 pixels up (16.16).
u8 gHelmSplitter_RightEightZ[]
u8 gTiamat_DropSpeeds[]
Ember speeds, by ember index & 3.
u16 gCybele_ThornOffsets[]
u8 gBurstScene_Records[][7]
Each burst scene mode, by the BURST_SCENE_ columns (burst_scene.c).
s8 gBoreas_ShakeOffsets[]
The backdrop's jolt on frames 176 to 179.
u8 gBoreas_SprayHeights[]
u16 gBattleFx_PuffArcCells[]
u8 gCybele_ThornHeights[]
u8 gDeathPlunge_PieceStartY[]
u16 gParticleStreams_FlashCells[]
u16 gJudgment_ShardCells[]
u8 gHelmSplitter_SmallEightZ[]
u8 gHelmSplitter_RightEightX[]
s8 gSpiderWeb_CellBiasY[]
u8 gProjectiles_FlashSteps[]
u8 gCondemn_PanelX[][7]
Where each stage of the panel is drawn: seven x positions for each side of the field,...
u8 gDeathPlunge_DrawFlags[]
u8 gHelmSplitter_ImpactBurstCellHeights[]
u8 gFrost_ColumnHeights[]
s32 gTitanBlade_DustGravity[]
Dust gravity, by particle index & 3.
u8 gBoreas_BoulderWidths[]
u8 gRagnarok_FlashCells[]
The flash picture for each three frames at the end of a flash's life.
u8 gPlasma_FlashCells[]
The flash picture for each three frames at the end of a flash's life.
u16 gCybele_ChipOffsets[]
u8 gProjectiles_FlashHeights[]
u8 gProjectiles_FlashRises[]
u8 gRamses_ObjectColumns[]
u8 gBattleFx_PuffArcCellHeights[]
u8 gGrowth_HeightLimits[]
u8 gFrost_Timings[][3]
Motes, ice columns and the burst frame, for each variant.
u8 gCastingImpact_ImageX[][7]
u8 gLobbedShells_ShardWidths[]
Lobbed shells: nine tumbling images in two sets, the second (cells 9 to 17) smaller.
u16 gGrowth_ThornPuffCells[]
u8 gHail_ChipFlips[]
The composite flips a chip may take.
u16 gLobbedShells_ShardOffsets[]
struct Vector3 gBind_Vertex[]
The spinning triangle's first vertex, 24 up from its centre.
u8 gGatheringLights_Counts[][2]
Gathering lights (Demon Night, Rumble, Haunting), by mode: the lights per target and the frames befor...
u8 gDeathPlunge_CellHeights[]
u8 gTargetMotes_GlintFlips[]
Glint orientations: none, and mirrored each way and both.
u8 gVolcano_Counts[]
How many pillars stand, by variant.
s8 gGrowth_ColumnOffsets[]
Each vine's root, across from the middle of the targets.
u8 gTargetStrike_Heights[]
u8 gBattleFx_GlintCellHeights[]
u8 gEruption_Counts[][3]
Motes, puffs of smoke and frames, for each variant.
u8 gHelmSplitter_TwelveZ[]
u8 gVortices_Shapes[][3]
Whirlwind, by variant: the WHIRLWIND_ columns.
u8 gStatChange_ShardWidths[]
u8 gDjinnBeams_HeadHeights[]
s8 gStreaks_Tremble[]
Pixels the target trembles by, frame by frame.
u16 gPlasma_Sparks[][2]
Plasma, by variant: sparks per pillar and shake frames.
u8 gHelmSplitter_TwelveX[]
u8 gSpiderWeb_CellHeights[]
s32 gNereid_Gravity[]
Ember gravity while falling, by ember index & 3.
u8 gPrism_ShardStarts[][2]
Where each of the 16 shards starts in the crystal: x, then y.
u8 gBoreas_DebrisWidths[]
u8 gGrowth_Counts[]
Thorns by variant.
u8 gDeathPlunge_PieceStartX[]
u8 gFire_Counts[]
Embers by variant, at most FIRE_EMBERS (fire.c).
u16 gBattleFx_FlareCells[]
Flare cells: the first ten are squares 2x2 to 20x20, cell n (from 0) n + 1 pixels from its centre to ...
u8 gLobbedShells_ShardHeights[]
u8 gSpire_ShardOffsets[32][2]
Where each of a rock's 21 shards starts, x then y, before the rock's offset across.
u8 gGrowth_ThornPuffHeights[]
u8 gBattleFx_PuffSizes[]
Each puff cell's side.
u16 gCastingImpact_IceChipCells[]
The four ice chip cells, 8x8.
u8 gHelmSplitter_CellHeights[]
s32 gPrism_ShardOffsets[]
u8 gFalling_IceCounts[][2]
Ice, by variant: shards and frames (ICE_SHARD_COUNT, ICE_FRAMES).
u8 gJudgment_ShardWidths[]
u8 gProjectiles_CometHeights[]
Comet picture heights, by comet kind.
u16 gBattleFx_PuffCells[]
Nine square puff cells, read by the falling, frost, healing, Djinni heal and Boreas parts.
u8 gRay_Sparks[][2]
Sparks by variant; [1] is how many each bolt throws a frame.
u16 gDeathPlunge_PieceCells[]
u16 gCybele_LeafOffsets[]
s32 gNeptune_Gravity[]
Spray gravity, by particle index & 3.
s16 gParticleStreams_OrbitPoints[][3]
The seven sparks that orbit the rising formation.
u8 gTargetStrike_Records[][7]
Each of the twelve target strike styles, by the TARGET_STRIKE_ columns (target_strike....
u8 gBattleFx_PuffArcCellBiasY[]
u8 gSpiderWeb_CellWidths[]
u16 gBattleFx_MoteCells[]
Mote cells: particle sheets hold ten, cell n (from 0) n + 1 pixels wide and twice that tall.
u16 gMirroredWall_Cells[]
u8 gPrism_Counts[][2]
Prism, by variant: crystals and frames.
u8 gHelmSplitter_CellWidths[]
u8 gDjinnBeams_HeadWidths[]
u8 gPlasma_Columns[][7]
Each pillar's canvas x, seven for each side.
s8 gGrowth_PillarHeights[]
struct Vector3 gBind_TriangleStrikeVertex[]
The striking triangle's first vertex, the same.
u8 gFrost_ColumnSpots[][2]
Where each ice column stands: x, then the y of its foot.
u16 gTargetStrike_Offsets[]
s32 gDrain_Gravities[]
Ice shards: shard i falls with gravity i & 3.
u8 gBattleFx_PuffArcCellWidths[]
u8 gDjinnAttacks_LaunchFrames[]
The frames on which the Djinni fires each of its five flames.
u16 gStatChange_ShardCells[]
u16 gPlasma_Shapes[][5]
The spark groups, by variant: the SPARK_GROUPS_ columns.
u8 gBoreas_BoulderHeights[]
u8 gJudgment_BurstHeights[]
u8 gVolcano_StartFrames[]
The frame each pillar starts.
u8 gProjectiles_Modes[][5]
Each projectile volley mode, by the PROJECTILE_VOLLEY_ columns (projectiles.c).
u8 gDeathPlunge_PieceHeights[]
u8 gQuake_Timings[][3]
Rock wall timing, by variant: frames in the effect, frames each pillar stands, and how far the screen...
s8 gGaia_Bg2Shifts[][3]
BG2's x shift, by side and variant.
u8 gCybele_ObjectPoses[][2]
Poses of objects 3 and 4 while they wave, three pairs.
u16 gJudgment_BurstCells[]
u16 gProjectiles_PelletOffsets[]
Ice chip pictures, by shot index & 3.
u8 gUnused_SheetHeights[]
u8 gStatChange_ShardHeights[]
s8 gHelmSplitter_CellBiasY[]
u16 gHelmSplitter_Cells[]
u8 gNereid_Columns[][2]
Nereid's four columns of fire (NEREID_COLUMN_X, NEREID_COLUMN_Y).
u8 gPlasma_Counts[]
How many pillars strike, by variant.
u16 gUnused_SheetCells6[]
u8 gMirroredWall_CellWidths[]
u8 gVortices_Counts[][2]
Froth, by variant: motes and frames.
u8 gBolt_Counts[][4]
Bolt, by variant: sparks each bolt throws, glints a frame around each target, how far the glints spre...
u8 gTargetStrike_Widths[]
u8 gDeathPlunge_PieceWidths[]
The 33 pieces of the TileAnimationMask picture: where each starts on the canvas, its size,...
u16 gCybele_SparkOffsets[]
u8 gBoreas_Points[][2]
Rock and ice scene: where the rocks stand (and later the boulders, 56 pixels further left),...
u16 gBattleFx_GlintCells[]
u8 gFalling_Counts[][4]
Douse, by variant: the FALLING_BOLT_ columns.
u16 gProjectiles_FlashOffsets[]
u8 gGaia_LateRockColumns[]
The columns rock particles[16] to particles[21] take.
struct SpriteScale gAtalanta_UnitScale
Staged particle scale: Atalanta's formation objects keep this scale, one to one, throughout.
u8 gJudgment_ShardHeights[]
u8 gDjinnBeams_MotePictures[]
The picture of each step of a mote's eight-step cycle.
u8 gHelmSplitter_ImpactBurstCellWidths[]
u8 gThor_TargetPalettes[]
The colours a target flashes when a bolt strikes it, chosen at random: white, black,...
u8 gGrowth_PillarWidths[]
u8 gTargetStrike_GlintDrawFlags[]
The flips a glint may be drawn in.
s8 gGrowth_ThornPuffWidths[]
u16 gBoreas_DebrisCells[]
u16 gDjinnBeams_HeadOffsets[]
u8 gGrowth_ColumnCounts[]
u8 gDeathPlunge_CellWidths[]
u8 gBattleFx_GlintCellWidths[]
u16 gParticleStreams_FlashSizes[]
u8 gBoreas_Animations[]
The third object's animations from frame 209, one every 4 frames.
u8 gTiamat_StreakWidths[]
s8 gHelmSplitter_CellBiasX[]
u16 gCybele_EmberOffsets[]
s8 gStreaks_Records[][4]
Each streak style's animation, hit, motion and shake, by the STREAKS_ columns (streaks....
u8 gHelmSplitter_SmallEightX[]
u8 gCastingImpact_ImageY[]
u16 gUndeadSword_SparkSizes[]
u16 gUndeadSword_SparkCells[]
u16 gEruption_PuffCells[]
u8 gTitanBlade_FlashCells[]
The flash picture for each three frames at the end of a flash's life.
u16 gTiamat_StreakOffsets[]
u16 gGrowth_PillarCells[]
u8 gBoreas_DebrisHeights[]
u8 gMirroredWall_CellHeights[]
u8 gTiamat_DropSizes[]
Ember sizes, by ember index & 3.
u16 gEruption_PuffSizes[]
u8 gTiamat_SparkPixels[]
A spark's 1x2 picture.
s8 gVolcano_Depths[][4]
Each pillar's depth, by variant.
u8 gThor_SmokeFlips[]
Flip flags for the smoke puffs, chosen at random.
u8 gProjectiles_FlashWidths[]
u8 gCastingImpact_GlintDrawFlags[]
The flips a glint may take, picked at random.
u16 gHelmSplitter_ImpactBurstCells[]
u8 gTiamat_StreakHeights[]
s8 gLobbedShells_Records[]
Two bytes for each lobbed shell mode.
u8 gTargetStrike_ColumnStages[]
The column stage shown by each picture of a rise.
@ SPARK_GROUPS_BURSTS
bursts, 8 frames apart
@ SPARK_GROUPS_SPARKS
sparks each burst throws
@ SPARK_GROUPS_OFFSET
burst i's offset across, in pixels, at [2 + i]
@ GATHERING_LIGHTS_COUNT
lights for each target
@ GATHERING_LIGHTS_FRAMES
frames before the targets' turns
@ PRISM_CRYSTAL_COUNT
crystals drawn
@ PRISM_FRAMES
the effect's frames
@ FROTH_MOTE_COUNT
motes, at most FROTH_MOTES (vortices.c)
@ FROTH_FRAMES
the effect's frames; the damage shows 16 before
@ PLASMA_SHAKE_FRAMES
frames the screen shakes at each strike
@ PLASMA_SPARKS
sparks each lightning pillar throws
@ FALLING_BOLT_DURATION
the effect's frames
@ FALLING_BOLT_WAVE_COUNT
bolts that drop, of the 64 placed
@ FALLING_BOLT_SPACING
pixels between bolts along the slant
@ FALLING_BOLT_SPARKS_PER_BOLT
sparks each bolt throws
@ ICE_FRAMES
the effect's frames; the damage shows 16 before
@ ICE_SHARD_COUNT
shards that fall
@ CYBELE_POSE_OBJECT4
object 4's animation
@ CYBELE_POSE_OBJECT3
object 3's animation
@ WHIRLWIND_SHAKE
Camera_ApplyShake's range.
@ WHIRLWIND_TORNADOES
tornadoes drawn
@ WHIRLWIND_SWAY
how far each sways across, in pixels
@ PRISM_SHARD_START_X
pixels from the crystal's left
@ PRISM_SHARD_START_Y
pixels from its top
@ RISING_MOTES_COLUMN_X
canvas x of the column's left edge
@ RISING_MOTES_COLUMN_FOOT
canvas y of its foot
@ NEREID_COLUMN_Y
canvas y of its foot
@ NEREID_COLUMN_X
canvas x of the column's middle
A sprite's screen position and scale.
Horizontal and vertical sprite scale; 0x10000 is the original size.
Three coordinates, x, y and z: a position, a velocity or a direction.
The integer types, TRUE, UNUSED and the fixed-address macros.
Vector3, a three-coordinate vector.