24#define FLAME_PUFF_CELLS {0, 552, 1480, 2590, 3913, 5185}
25#define FLAME_PUFF_CELL_WIDTHS {24, 29, 30, 27, 24, 16}
26#define FLAME_PUFF_CELL_HEIGHTS {23, 32, 37, 49, 53, 52}
28#define FLAME_PUFF_CELL_BIAS_Y {41, 32, 26, 11, 4, 2}
30#define BLAST_CELL_SIZES {16, 32, 48, 48, 48, 48, 48}
32#define BLAST_CELLS {0, 256, 1280, 3584, 5888, 8192, 10496}
33#define EARTH_WALL_CELL_WIDTHS {17, 19, 20}
34#define EARTH_WALL_CELL_HEIGHTS {49, 55, 64}
36#define EARTH_WALL_CELLS {2702, 3535, 4580}
37#define SLASH_CELL_WIDTHS {38, 54, 71, 74, 77, 65}
38#define SLASH_CELL_HEIGHTS {7, 9, 11, 13, 13, 11}
40#define SLASH_CELL_REACH {58, 42, 25, 13, 5, 0}
42#define FLASH_FADE_CELLS {5, 5, 4, 3, 2, 1}
44#define GLINT_FLIPS {0, COMPOSITE_FLIP_X, COMPOSITE_FLIP_Y, COMPOSITE_FLIP}
56u16 gBattleFx_FlareCells[] = {0, 4, 20, 56, 120, 220, 364, 560, 816, 1140,
57 0, 8, 40, 112, 240, 440, 728, 1120, 1632, 2280};
151u8 gDeathPlunge_PieceWidths[] = {21, 20, 24, 30, 35, 69, 19, 23, 9, 22, 33,
152 10, 18, 9, 7, 9, 17, 55, 30, 25, 40, 29,
153 10, 28, 14, 5, 32, 23, 19, 32, 8, 43, 15};
154u8 gDeathPlunge_PieceHeights[] = {23, 47, 25, 40, 20, 53, 28, 29, 23, 14, 35,
155 17, 18, 14, 15, 12, 13, 37, 38, 41, 60, 41,
156 15, 45, 59, 41, 26, 50, 21, 35, 12, 57, 11};
158 0, 483, 1423, 2023, 3223, 3923, 7580, 8112, 8779,
159 8986, 9294, 10449, 10619, 10943, 11069, 11174, 11282, 11503,
160 13538, 14678, 15703, 18103, 19292, 19442, 20702, 21528, 21733,
161 22565, 23715, 24114, 25234, 25330, 27781, 27946};
162u8 gDeathPlunge_PieceStartX[] = {0, 21, 28, 46, 70, 51, 0, 13, 37, 77, 87,
163 19, 25, 35, 44, 45, 48, 65, 0, 0, 0, 5,
164 33, 15, 36, 46, 47, 50, 53, 65, 72, 77, 105};
165u8 gDeathPlunge_PieceStartY[] = {0, 0, 0, 0, 0, 0, 19, 17, 23, 28, 8,
166 36, 43, 43, 40, 47, 48, 37, 42, 67, 60, 79,
167 62, 75, 61, 62, 60, 70, 74, 85, 108, 63, 74};
181u8 gSpiderWeb_CellX[] = {72, 0, 0, 0, 32, 64, 16, 16, 16, 16, 8, 0};
228 6, 7, 7, 7, 6, 6, 8, 8, 8};
230 8, 7, 6, 6, 8, 6, 4, 3, 3};
232 684, 816, 948, 1092, 1140, 1189,
233 1231, 1273, 1321, 1357, 1389, 1413};
240 {10, 30, 0, 0, 0, 6, 52},
241 {60, 0, 0, 0, 0, 0, 0},
244 {0, 20, 2, 2, 34, 64, 68},
245 {0, 9, 4, 4, 4, 4, 4},
259 {.x = 0, .y = 28 << 16, .z = 0}};
314 {32, 60}, {33, 82}, {49, 94}, {41, 89}, {49, 76}, {32, 99},
315 {54, 69}, {34, 82}, {45, 71}, {31, 91}, {32, 69}, {26, 80},
316 {40, 68}, {41, 60}, {46, 60}, {36, 63}, {0, 0},
326u8 gPrism_ShardWidths[] = {5, 10, 11, 14, 12, 11, 19, 18, 23, 12, 22, 22};
327u8 gPrism_ShardHeights[] = {14, 10, 7, 13, 14, 14, 32, 30, 24, 38, 20, 20};
329 751, 1359, 1899, 2451, 2907, 3347};
342 {32, 64, 16, 48, 72, 96, 64},
343 {88, 56, 104, 72, 48, 24, 56},
356 {340, 1, 16, 24, 48},
367s8 gVolcano_Depths[][4] = {{0, 0, 0, 0}, {24, -24, 0, 0}, {-20, 20, -60, 60}};
658 {86, 126}, {85, 98}, {64, 98}, {98, 96},
659 {77, 87}, {84, 88}, {68, 67}, {81, 49},
660 {94, 70}, {70, 51}, {93, 36}, {81, 50}};
671u8 gBoreas_DebrisWidths[] = {12, 11, 8, 10, 8, 12, 5, 7, 7, 6, 7};
672u8 gBoreas_DebrisHeights[] = {10, 16, 14, 15, 4, 4, 3, 4, 6, 12, 10};
674 5142, 5157, 5185, 5227, 5299};
694 408, 471, 567, 607, 631, 661};
695u8 gStatChange_ShardWidths[] = {10, 5, 6, 5, 6, 7, 9, 8, 4, 6, 6, 7};
696u8 gStatChange_ShardHeights[] = {12, 12, 13, 8, 9, 8, 7, 12, 10, 4, 5, 5};
718 {53, 108}, {73, 110}, {29, 110}, {73, 108}, {33, 104}, {96, 106}, {8, 109},
719 {62, 98}, {33, 100}, {87, 100}, {21, 95}, {53, 90}, {33, 90}, {72, 91},
720 {82, 91}, {77, 86}, {52, 84}, {18, 92}, {56, 81},
756 796, 1120, 1520, 1900, 2300};
777 32, 104, 24, 72, 56, 80, 48, 88};
785 -24, 24, -12, -40, -4, -16, -32, 12};
870 {65, 104}, {68, 95}, {64, 93}, {61, 93}, {64, 87}, {72, 85}, {56, 88},
871 {51, 80}, {61, 75}, {72, 81}, {69, 71}, {66, 70}, {71, 64}, {49, 71},
872 {59, 69}, {53, 68}, {78, 73}, {55, 67}, {75, 62}, {61, 65}, {53, 61},
882 19, 12, 17, 22, 15, 16, 14};
884 12, 21, 17, 13, 16, 16, 15};
886 862, 1090, 1342, 1631, 1917, 2157, 2413, 2623};
893 {1, 0, 5, 16, 12, 80, 0},
894 {1, 1, 7, 16, 12, 104, 0},
895 {1, 2, 9, 16, 12, 128, 0},
896 {1, 3, 1, 16, 16, 36, 0},
897 {1, 3, 2, 20, 16, 52, 0},
898 {1, 3, 3, 24, 16, 68, 0},
899 {0, 2, 1, 32, 12, 28, 1},
900 {0, 2, 2, 32, 12, 40, 1},
901 {0, 2, 3, 32, 12, 52, 1},
933 {10, 30, 0, 0, 0, 6, 52},
934 {60, 0, 0, 0, 0, 0, 0},
955u8 gHelmSplitter_TwelveX[] = {52, 25, 57, 89, 7, 39, 71, 103, 21, 53, 85, 117};
956u8 gHelmSplitter_TwelveZ[] = {0, 32, 32, 32, 64, 64, 64, 64, 96, 96, 96, 96};
965 16020, 18684, 20668, 22020};
972 {-64, -96, 24}, {-48, -120, 32}, {-32, -80, -48}, {-16, -72, -24},
973 {16, -80, 16}, {32, -112, -32}, {48, -96, 56}};
976 {32, 32}, {48, 96}, {80, 80}, {112, 100}, {176, 80}, {196, 64}, {204, 96}};
void BattleFx_RunAnnihilation(struct BattleEffectArgument *effect)
The user closes on the first target and fire bursts from it in a shower of shards.
void BattleFx_RunBind(struct BattleEffectArgument *effect)
A triangle of light spins and shrinks onto the first target for 64 frames, then a rune stands on the ...
void BattleFx_RunTriangleStrike(struct BattleEffectArgument *effect)
The spinning triangle and rune of BattleFx_RunBind without the Djinni; on frame 46 the user steps up ...
void BattleFx_RunBolt(struct BattleEffectArgument *effect)
A bolt of lightning strikes each target in turn, 8 frames apart.
void BattleFx_RunRansack(struct BattleEffectArgument *effect)
Ransack: the same five strikes as Bear Claw (mode 0).
void BattleFx_RunGust(struct BattleEffectArgument *effect)
Gust: the burst scene in mode 6, 7 or 8 as the variant grows, one to three strikes that each fill the...
void BattleFx_RunFlyingAttack(struct BattleEffectArgument *effect)
Flying Attack: the burst scene in mode 3, 4 or 5 as the variant grows, one to three strikes.
void BattleFx_RunBearClaw(struct BattleEffectArgument *effect)
Bear Claw: five strikes, the burst scene in mode 0.
void BattleFx_RunFreebiteRush(struct BattleEffectArgument *effect)
Freebite Rush: nine strikes in the blue palette (mode 2).
void BattleFx_RunBacteriaRush(struct BattleEffectArgument *effect)
Bacteria Rush: seven strikes in the lime palette (mode 1).
void BattleFx_RunDeadlyGas(struct BattleEffectArgument *effect)
The user fires a stream of Mars-coloured bursts at the targets, from 28 pixels in front of it.
void BattleFx_RunStormBlessing(struct BattleEffectArgument *effect)
Shows violet lightning between the user and targets instead of bursts: a bolt flickers through three ...
void BattleFx_RunFireBlessing(struct BattleEffectArgument *effect)
The user fires a stream of flash bursts at the targets, one a frame, each towards a random point near...
void BattleFx_RunEvilBlessing(struct BattleEffectArgument *effect)
The user fires a stream of demon faces at the targets, from 16 pixels in front of it.
void BattleFx_RunAcidBlessing(struct BattleEffectArgument *effect)
Fires pink bursts from 16 pixels below the normal origin.
void BattleFx_RunDarkBlessing(struct BattleEffectArgument *effect)
The user fires a stream of grey bursts at the targets, which turn solid black and stay so.
void BattleFx_RunWaterBlessing(struct BattleEffectArgument *effect)
The user fires a stream of bursts at the targets in the water-spray palette.
void BattleFx_RunCondemn(struct BattleEffectArgument *effect)
A tall panel (57x98) swings across the screen three times, each pass fading out through a ripple,...
void BattleFx_RunDeathPlunge(struct BattleEffectArgument *effect)
The user runs 9/10 of the way to the first target, then both leap and turn upside down in the air; on...
void BattleFx_RunMars(struct BattleEffectArgument *effect)
Mars Djinni flames: a glowing orb flares, the small Mars Djinni dives to the ground,...
void BattleFx_RunMercury(struct BattleEffectArgument *effect)
Mercury Djinni flames: the small Mercury Djinni spirals around (96, 60) and fires five blue flames to...
void BattleFx_RunJupiter(struct BattleEffectArgument *effect)
Jupiter Djinni fall: the small Jupiter Djinni spirals while eight flameballs fall from the top right ...
void BattleFx_RunVenus(struct BattleEffectArgument *effect)
Venus Djinni columns: the small Venus Djinni sways while ten columns of flame in its colours rise fro...
void BattleFx_RunDew(struct BattleEffectArgument *effect)
With a Mercury Djinni: the same beams of light as Revive.
void BattleFx_RunRevive(struct BattleEffectArgument *effect)
With a Venus Djinni: beams of light, where motes drift down over each target and a column of light fa...
void BattleFx_RunDragonCloud(struct BattleEffectArgument *effect)
A flame leaves the user along a stored path with a fading trail of 19 copies behind it,...
void BattleFx_RunBreak(struct BattleEffectArgument *effect)
Ice shards burst up from each target in turn, 20 frames apart, tinting the target as they go,...
void BattleFx_RunDrain(struct BattleEffectArgument *effect)
Drain: motes of light burst from each target in turn, 20 frames apart, and are pulled into the centre...
void BattleFx_RunFrost(struct BattleEffectArgument *effect)
Rising motes: motes spiral upwards while ice columns spring up one every 3 frames from frame 36; at t...
void BattleFx_RunVine(struct BattleEffectArgument *effect)
Rising vines: sixteen green vines grow from the middle of the row of targets, 2 frames apart,...
void BattleFx_RunThorn(struct BattleEffectArgument *effect)
Rising thorns: thorns burst from the ground one every 8 frames, throwing up dust from their roots.
void BattleFx_RunPunji(struct BattleEffectArgument *effect)
Grows green pillars from the ground, scattering dust from each root.
void BattleFx_RunGrowth(struct BattleEffectArgument *effect)
Grows vines from the ground, scattering dust from each root.
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[]
#define FLAME_PUFF_CELLS
The six cells of an erupting flame puff: where each begins in the sheet.
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.
#define EARTH_WALL_CELL_HEIGHTS
and heights
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.
#define EARTH_WALL_CELLS
Where each earth wall picture begins.
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.
#define GLINT_FLIPS
The flips a glint may be drawn in: none, and mirrored each way and both.
u8 gTargetStrike_Heights[]
u8 gBattleFx_GlintCellHeights[]
#define FLAME_PUFF_CELL_BIAS_Y
How far below its anchor each cell's top goes.
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.
#define FLAME_PUFF_CELL_HEIGHTS
heights
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 ...
#define SLASH_CELL_HEIGHTS
and heights
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.
#define FLASH_FADE_CELLS
The flash picture for each three frames at the end of a flash's life.
u16 gCastingImpact_IceChipCells[]
The four ice chip cells, 8x8.
BattleFxHandler gBattleFx_EffectHandlers[BATTLE_FX_KIND_COUNT - 1]
The effect handlers, indexed by effect kind minus one, which BattleFx_RunTableEffect calls; kind zero...
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[]
#define SLASH_CELL_WIDTHS
the six slash widths
u8 gDjinnBeams_HeadWidths[]
u8 gPlasma_Columns[][7]
Each pillar's canvas x, seven for each side.
#define SLASH_CELL_REACH
Each slash picture's reach from the target.
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).
#define EARTH_WALL_CELL_WIDTHS
the earth wall's three widths
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.
#define BLAST_CELLS
Where each blast picture begins.
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[]
#define FLAME_PUFF_CELL_WIDTHS
widths
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[]
#define BLAST_CELL_SIZES
The sides of the seven square pictures of a blast, a puff or a flash.
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.
#define STRIKE_KIND_SLASH
sideways slashes
#define STRIKE_HEAVY
one heavy hit: a big shake and the target recoils
#define STRIKE_GLINTS
glints sparkle around the target
#define STRIKE_SMOKE
each hit raises smoke puffs from the target's feet
#define STRIKE_ABSORB
motes fly out of the target and back into the user
#define STRIKE_SPARKS
each hit scatters sparks
#define STRIKE_KIND_COLUMN
columns of light
void BattleFx_RunSmokeBomb(struct BattleEffectArgument *effect)
A fountain of grey motes and puffs of smoke bursts up beside the targets and falls back,...
void BattleFx_RunBlast(struct BattleEffectArgument *effect)
A fountain of fire-coloured motes and puffs of smoke bursts up beside the targets and falls back,...
void BattleFx_RunIce(struct BattleEffectArgument *effect)
Ice shards rain down diagonally onto the targets' side of the field and shatter into puffs of sparkle...
void BattleFx_RunDouse(struct BattleEffectArgument *effect)
Blue bolts streak down diagonally onto the targets' side of the field, each bursting into a fountain ...
void BattleFx_RunFire(struct BattleEffectArgument *effect)
Homing embers: embers burst from the top of the user two a frame, turn towards the targets 48 frames ...
void BattleFx_RunFlare(struct BattleEffectArgument *effect)
Flame arc: nine flames rise one after another, 4 frames apart, along a half circle,...
void BattleFx_RunGaia(struct BattleEffectArgument *effect)
Rising wall: the ground swells, a wall of rock rises from it, stands while rocks tumble up its face a...
void BattleFx_RunRumble(struct BattleEffectArgument *effect)
Eight lights in Mars Djinn colours burst out of the user and are pulled into each target.
void BattleFx_RunDemonNight(struct BattleEffectArgument *effect)
Sixteen pink lights burst out of the user and are pulled into each target, with the heavy impact soun...
void BattleFx_RunHaunting(struct BattleEffectArgument *effect)
Twelve lights in Mercury Djinn colours burst out of the user and are pulled into each target.
void BattleFx_RunHail(struct BattleEffectArgument *effect)
Water burst: after a Mercury Djinni enters, ice chips burst out of the first target and waves rise al...
void BattleFx_RunGround(struct BattleEffectArgument *effect)
Venus Djinni rock toss: after a Venus Djinni enters, six rocks rise from the user shedding chips,...
void BattleFx_RunCure(struct BattleEffectArgument *effect)
Cure (mode 2): a ring of healing motes below each target closes in on it, in the blast sheet's colour...
void BattleFx_RunPsyCrystal(struct BattleEffectArgument *effect)
Psy Crystal: healing motes gather around each target in the Mars Djinni palette; with a prelude,...
void BattleFx_RunCurePoison(struct BattleEffectArgument *effect)
Cure Poison: sparkles twinkle around each target, four more a frame, and go out one by one instead of...
void BattleFx_RunPly(struct BattleEffectArgument *effect)
Ply: sparkles of light swirl around each target and close in on it, in the ice shard's or ice block's...
void BattleFx_RunTonic(struct BattleEffectArgument *effect)
Tonic (scattering style 5): sparkles twinkle around each target, turning on two axes,...
void BattleFx_RunWish(struct BattleEffectArgument *effect)
Wish (scattering style 1): healing motes tumble in from all around each target.
void BattleFx_RunHelmSplitter(struct BattleEffectArgument *effect)
The user leaps at the first target and strikes through a fire swirl; on frame 18 the target flashes a...
void BattleFx_RunMadSpatter(struct BattleEffectArgument *effect)
Gold shells that burst into shards.
void BattleFx_RunStickyPoison(struct BattleEffectArgument *effect)
Lime shells that burst into smoke.
void BattleFx_RunDecompose(struct BattleEffectArgument *effect)
Green shells that burst into smoke.
void BattleFx_RunBoneChiller(struct BattleEffectArgument *effect)
Blue shells that burst into smoke.
void BattleFx_RunStickyGoo(struct BattleEffectArgument *effect)
Shells in the spider web's colours that burst into smoke.
void BattleFx_RunRottenBlood(struct BattleEffectArgument *effect)
Green shells that burst into shards.
void BattleFx_RunPoisonInk(struct BattleEffectArgument *effect)
Shells in Mars Djinn colours that burst into smoke.
void BattleFx_RunRecovery(struct BattleEffectArgument *effect)
A wide wall of fire, without a shake.
void BattleFx_RunBerserk(struct BattleEffectArgument *effect)
The wall rises wide and shakes the screen hard.
void BattleFx_RunSpasm(struct BattleEffectArgument *effect)
The wall rises with a long gentle shake and the recovery sound.
void BattleFx_RunOuterSpace(struct BattleEffectArgument *effect)
The user leaps up, and two objects rise out of a dissolving starfield and burst into embers and flash...
void BattleFx_RunHaunt(struct BattleEffectArgument *effect)
Skulls close in on each target in turn.
void BattleFx_RunOrbitingSpirals(struct BattleEffectArgument *effect)
Four spirals circle 40 pixels above each target in turn, 16 frames apart, for 60 frames each,...
void BattleFx_RunPlanetDiver(struct BattleEffectArgument *effect)
The user flashes and leaps into the air, turns into a ball of fire, falls onto the first target and b...
void BattleFx_RunNova(struct BattleEffectArgument *effect)
Bursts at (60, 48), the canvas behind the battle's first layer (priority 1).
void BattleFx_RunPlasma(struct BattleEffectArgument *effect)
Pillars of lightning strike one every 8 frames, each with a white flash, throwing sparks up from the ...
void BattleFx_RunDynamite(struct BattleEffectArgument *effect)
Orange bursts at (60, 64), the canvas in front (priority 0).
void BattleFx_RunPrism(struct BattleEffectArgument *effect)
Crystals drop out of the sky onto the targets' side, 8 frames apart, and shatter on the ground into 1...
void BattleFx_RunWingBeat(struct BattleEffectArgument *effect)
Ten small yellow sparks stream level at each target, one a frame.
void BattleFx_RunWingFlutter(struct BattleEffectArgument *effect)
Five yellow sparks fly level at each target, five frames apart.
void BattleFx_RunCuttingEdge(struct BattleEffectArgument *effect)
From the user's action pose, one large comet in ice colours flies at each target and bursts into 80 s...
void BattleFx_RunIceBlessing(struct BattleEffectArgument *effect)
Sixty ice chips stream at each target, one a frame, without knocking it back.
void BattleFx_RunSleet(struct BattleEffectArgument *effect)
Thirty ice chips fall from high above the user onto each target, without shaking the screen or knocki...
void BattleFx_RunHeatWave(struct BattleEffectArgument *effect)
From the user's action pose, seven fireballs trailing embers fly at each target, two frames apart,...
void BattleFx_RunSlash(struct BattleEffectArgument *effect)
Six comets fly at each target, three frames apart, and burst into a flash and sparks; the effect's va...
void BattleFx_RunBlizzard(struct BattleEffectArgument *effect)
From the user's action pose, sixty ice chips stream at each target, one a frame, scattered up and dow...
void BattleFx_RunCrazyVoice(struct BattleEffectArgument *effect)
Ten pellets fly slowly at each target and bounce off it, up or down at random.
void BattleFx_RunShuriken(struct BattleEffectArgument *effect)
Four spinning shurikens fly at each target, five frames apart, and vanish once past it.
void BattleFx_RunWingStroke(struct BattleEffectArgument *effect)
Ten large yellow sparks stream level at each target, one a frame, spread up and down.
void BattleFx_RunQuake(struct BattleEffectArgument *effect)
Rock wall: three rock pillars rise from the left, 4 frames apart, and sink again, throwing the target...
void BattleFx_RunRagnarok(struct BattleEffectArgument *effect)
A huge flaming blade swings down over the targets and two columns of light strike through them.
void BattleFx_RunRay(struct BattleEffectArgument *effect)
Closing bolts: four bolts turn in towards the centre for 16 frames, scattering sparks from their root...
A sprite's screen position and scale.
void BattleFx_RunBoneCharge(struct BattleEffectArgument *effect)
Rushes the target and scatters sparks in the fire pillar palette.
void BattleFx_RunHeadbutt(struct BattleEffectArgument *effect)
Rushes the target and scatters sparks in the blast palette.
void BattleFx_RunOnslaught(struct BattleEffectArgument *effect)
Rushes the target and scatters sparks in the pink-burst palette.
void BattleFx_RunBruteForce(struct BattleEffectArgument *effect)
Rushes the target and scatters sparks in the ice-block palette.
void BattleFx_RunSpinningBeat(struct BattleEffectArgument *effect)
A magenta swipe that throws the target into the air.
void BattleFx_RunSpiderWeb(struct BattleEffectArgument *effect)
A spider web spreads over the targets, drawn as four mirrored 32x32 quarters around the point between...
void BattleFx_RunPoisonBeat(struct BattleEffectArgument *effect)
A lime swipe that knocks the target back.
void BattleFx_RunSpire(struct BattleEffectArgument *effect)
Shattering rocks: boulders drop along the row of targets, centred on it, and burst into tumbling shar...
void BattleFx_RunShiningStar(struct BattleEffectArgument *effect)
Eight spinning star outlines fall from 120 pixels above the user towards the first target,...
void BattleFx_RunAstralBlast(struct BattleEffectArgument *effect)
Three star-shaped rings of light fly from 40 pixels above the user at the first target,...
void BattleFx_RunGranite(struct BattleEffectArgument *effect)
Gathers stat-boost light and displays a violet streak in Venus colours.
void BattleFx_RunWard(struct BattleEffectArgument *effect)
Gathers stat-boost light and displays a shield in Jupiter colours.
void BattleFx_RunDull(struct BattleEffectArgument *effect)
Breaks the dagger picture into shards that fade through darker copies.
void BattleFx_RunZephyr(struct BattleEffectArgument *effect)
Gathers stat-boost light and displays a wisp without replacing its palette.
void BattleFx_RunImpair(struct BattleEffectArgument *effect)
A shield appears over each target and breaks into shards that fade through darker copies,...
void BattleFx_RunWeaken(struct BattleEffectArgument *effect)
A shield appears over each target and breaks into fading shards, in the pink burst's colours (style 2...
void BattleFx_RunFlash(struct BattleEffectArgument *effect)
Gathers stat-boost light and displays a violet streak in Mars colours.
void BattleFx_RunGuard(struct BattleEffectArgument *effect)
Gathers stat-boost light and displays a shield in Mars colours.
void BattleFx_RunImpact(struct BattleEffectArgument *effect)
Gathers stat-boost light and displays a dagger in Mars colours.
void BattleFx_RunWickedHowl(struct BattleEffectArgument *effect)
Red streaks.
void BattleFx_RunSleepStar(struct BattleEffectArgument *effect)
Rising motes that drift onto the targets and strike.
void BattleFx_RunBansheeHowl(struct BattleEffectArgument *effect)
Violet streaks.
void BattleFx_RunShriek(struct BattleEffectArgument *effect)
Lime streaks.
void BattleFx_RunSonicWave(struct BattleEffectArgument *effect)
Ember streaks.
void BattleFx_RunSoothingStar(struct BattleEffectArgument *effect)
Rising healing motes.
void BattleFx_RunWarCry(struct BattleEffectArgument *effect)
Cyan streaks.
The command shared by an effect's caller, dispatcher and handlers.
Horizontal and vertical sprite scale; 0x10000 is the original size.
Three coordinates, x, y and z: a position, a velocity or a direction.
void BattleFx_RunDelude(struct BattleEffectArgument *effect)
Cyan smoke that rises.
void BattleFx_RunParalyze(struct BattleEffectArgument *effect)
Rising smoke with glints.
void BattleFx_RunSleep(struct BattleEffectArgument *effect)
Twelve sheep drop onto the targets' side, one every 4 frames, tumbling through eight images (the last...
void BattleFx_RunHeartrender(struct BattleEffectArgument *effect)
Hearts.
void BattleFx_RunDemonFire(struct BattleEffectArgument *effect)
Glowing orbs in Mars Djinn colours, and the user strikes.
void BattleFx_RunMysticFlame(struct BattleEffectArgument *effect)
Glowing orbs.
void BattleFx_RunDrown(struct BattleEffectArgument *effect)
Vortex motes.
void BattleFx_RunTaint(struct BattleEffectArgument *effect)
Lime smoke (effect->variant 0) or pink smoke.
void BattleFx_RunCurse(struct BattleEffectArgument *effect)
A small flame burns above each target in turn, 16 frames apart, for 72 frames each,...
void BattleFx_RunDrainFang(struct BattleEffectArgument *effect)
Three additive columns that drain the target with large motes, Mars Djinn colours.
void BattleFx_RunElectricBite(struct BattleEffectArgument *effect)
Three lightning columns with glints.
void BattleFx_RunTwinBeaks(struct BattleEffectArgument *effect)
Two slashes with sparks, lightning colours.
void BattleFx_RunRabidFang(struct BattleEffectArgument *effect)
One column with smoke, Mars Djinn colours.
void BattleFx_RunAcidBite(struct BattleEffectArgument *effect)
Three pink columns with smoke.
void BattleFx_RunPoisonousBite(struct BattleEffectArgument *effect)
One lime column with smoke.
void BattleFx_RunPoisonTail(struct BattleEffectArgument *effect)
One lime slash with smoke.
void BattleFx_RunNumbingSting(struct BattleEffectArgument *effect)
One slash with glints, lightning colours.
void BattleFx_RunVampiricFang(struct BattleEffectArgument *effect)
Three columns that drain the target, Mars Djinn colours.
void BattleFx_RunDoubleFang(struct BattleEffectArgument *effect)
Two blue columns with sparks.
void BattleFx_RunCannibalFang(struct BattleEffectArgument *effect)
Three ember columns that drain the target into the user.
void BattleFx_RunMortalBlow(struct BattleEffectArgument *effect)
One heavy slash with sparks, Mars Djinn colours.
void BattleFx_RunSparkApproachVariant3(struct BattleEffectArgument *effect)
The user leaps at the first target, then a burst of 340 sparks rises beneath it and the canvas flashe...
void BattleFx_RunThrash(struct BattleEffectArgument *effect)
The user leaps high at the first target, then a burst of 32 sparks rises beneath it.
void BattleFx_RunVorpalSlash(struct BattleEffectArgument *effect)
The user steps up to the first target, four pictures flash across the effect layer,...
void BattleFx_RunQuickStrike(struct BattleEffectArgument *effect)
The user leaps at the first target, four pictures flash across the effect layer, then it fills with o...
void BattleFx_RunDragonDriver(struct BattleEffectArgument *effect)
The rising embers from the user's side, in the LightningBolt colours.
void BattleFx_RunTitanBlade(struct BattleEffectArgument *effect)
A huge sword drops onto the first target amid charging flashes, dust and sparks.
void BattleFx_RunKite(struct BattleEffectArgument *effect)
Shows the extended Jupiter Djinni prelude over the first target, mirrored from the usual side; the Dj...
void BattleFx_RunTorch(struct BattleEffectArgument *effect)
A fiery disc fades in, its rings running outward while every scanline ripples, then fades out.
The integer types, TRUE, UNUSED and the fixed-address macros.
void BattleFx_RunUndeadSword(struct BattleEffectArgument *effect)
Two mirrored columns of light rise at the first target's feet and sink again, scattering 16 sparks th...
@ BATTLE_FX_EVIL_BLESSING
@ BATTLE_FX_SOOTHING_STAR
@ BATTLE_FX_FREEBITE_RUSH
@ BATTLE_FX_BACTERIA_RUSH
@ BATTLE_FX_FLYING_ATTACK_329
@ BATTLE_FX_ORBITING_SPIRALS
no ability uses it
@ BATTLE_FX_ACID_BLESSING
@ BATTLE_FX_BEAR_CLAW_342
@ BATTLE_FX_HEARTRENDER_346
@ BATTLE_FX_POISONOUS_BITE_323
@ BATTLE_FX_HELM_SPLITTER
@ BATTLE_FX_DARK_BLESSING
@ BATTLE_FX_FLYING_ATTACK
@ BATTLE_FX_FIRE_BLESSING
@ BATTLE_FX_CANNIBAL_FANG
@ BATTLE_FX_ELECTRIC_BITE
@ BATTLE_FX_SPARK_APPROACH_VARIANT3
no ability uses it
@ BATTLE_FX_VAMPIRIC_FANG
@ BATTLE_FX_SPINNING_BEAT
@ BATTLE_FX_WATER_BLESSING
@ BATTLE_FX_NUMBING_STING
@ BATTLE_FX_DRAGON_DRIVER
@ BATTLE_FX_POISONOUS_BITE
@ BATTLE_FX_STICKY_POISON
@ BATTLE_FX_TRIANGLE_STRIKE
no ability uses it
@ BATTLE_FX_STORM_BLESSING
@ BATTLE_FX_KIND_COUNT
one more than the last kind
void(*) BattleFxHandler(struct BattleEffectArgument *effect)
An effect handler: plays one effect over the battle, frame by frame, and returns when it is over.
Vector3, a three-coordinate vector.
void BattleFx_RunVolcano(struct BattleEffectArgument *effect)
One, two or four columns of fire (gVolcano_Counts by effect->variant) rise near the far edge on the t...
void BattleFx_RunWhirlwind(struct BattleEffectArgument *effect)
Tornadoes sweep across the targets for 80 frames, sparkling with glints; the canvas flashes and the t...
void BattleFx_RunFroth(struct BattleEffectArgument *effect)
Motes fly out of the top of the user, hang, and from 48 frames after each appears home in on the targ...