Alchemy

eruption.c

Smoke Bomb and Blast.

games/tbs/src/effect/parts/eruption.c on GitHub

Smoke Bomb and Blast. Part of effect.c, the battle effect object, compiled only through it.

Functions

BattleFx_RunSmokeBomb

void BattleFx_RunSmokeBomb(struct BattleEffectArgument *effect)

A fountain of grey motes and puffs of smoke bursts up beside the targets and falls back, flashing each target.

Abilities: Smoke Bomb, Sleep Bomb (kind 380).

It always uses the second row of gEruption_Counts: 32 motes, 16 puffs, 80 frames.

Used by gBattleFx_EffectHandlers.

Line 14

BattleFx_RunBlast

void BattleFx_RunBlast(struct BattleEffectArgument *effect)

A fountain of fire-coloured motes and puffs of smoke bursts up beside the targets and falls back, flashing each target and making it recoil.

Abilities: Blast, Mad Blast, Fiery Blast (kind 14).

Used by gBattleFx_EffectHandlers.

Line 21

BattleFx_RunEruption

void BattleFx_RunEruption(struct BattleEffectArgument *effect, s32 mode)

A fountain of motes and puffs of smoke bursts up beside the targets and falls back, hitting the targets one frame apart from frame 6.

Called by BattleFx_RunBlast (mode 0) and BattleFx_RunSmokeBomb (mode 1). A sound and a 6-frame screen shake start on frame 2, and the battle shows the damage 48 frames before the end. Writes the first 64 BG colours, sets work->shakeFrames, and ends with the transfer callback removed, the blitter freed and the canvas layer closed.

effect: the targets.
mode: 0 burns (the fire streak palette, the effect's variant picks the
      counts, and the targets recoil); 1 is grey (a ramp of greys,
      variant 1's counts).

Used by BattleFx_RunBlast, BattleFx_RunSmokeBomb.

Line 47

BattleFx_SpawnObjects

void BattleFx_SpawnObjects(s32 entryCount, s32 source, u32 priority)

Creates the effect's animation objects in gBattleFxWork's objects.

Called by the summon scenes (Ramses, Nereid, Kirin, Atalanta, Cybele, Neptune, Tiamat, Procne, Boreas, Thor), Judgment and the particle streams. Fills work->objects[0] to [entryCount - 1]: object n plays animation n, with its flags cleared and its sprite priority set. A slot whose object could not be created is left NULL.

entryCount: how many objects to create. source: the resource object every one of them is made from. priority: the sprite priority they take.

Used by BattleFx_RunAtalanta, BattleFx_RunBoreas, BattleFx_RunCybele, BattleFx_RunJudgment, BattleFx_RunKirin, BattleFx_RunNeptune, BattleFx_RunNereid, BattleFx_RunPaletteParticles, BattleFx_RunParticleStreams, BattleFx_RunProcne, BattleFx_RunRamses, BattleFx_RunThor.

Line 220

BattleFx_DoNothing

void BattleFx_DoNothing(void)

Does nothing. BattleFx_CallDoNothing calls it in a loop, 10000 times for Annihilation, a busy wait.

Used by BattleFx_CallDoNothing.

Line 242

Macros

ERUPTION_FIELD_MOTE_CELLS

#define ERUPTION_FIELD_MOTE_CELLS 0x3200

The mote pictures in the sheet: two sets, MOTE_SET_BYTES apart.

Used by BattleFx_RunEruption.

Line 32

On this page