dragon_cloud.c
Dragon Cloud.
games/tbs/src/effect/parts/dragon_cloud.c on GitHub
Dragon Cloud. Part of effect.c, the battle effect object, compiled only through it.
Functions
BattleFx_RunDragonCloud
void BattleFx_RunDragonCloud(struct BattleEffectArgument *effect)
A flame leaves the user along a stored path with a fading trail of 19 copies behind it, then strikes the first target on DRAGON_CLOUD_STRIKE_FRAME and bursts into embers and flashes.
Abilities: Dragon Cloud (kind 49).
The trail's last nine copies are darker versions of the trail picture, each DRAGON_CLOUD_TRAIL_CELL_BYTES long. The camera turns over the first 64 of the DRAGON_CLOUD_FRAMES frames:
0 to 17 a pair of puffs, one mirrored, bursts in front of the user
18 to 58 the flame follows its stored path
50 the first target flashes, the screen shakes and eight puffs
rise in an arc
78 to 83 the flame dives in again
83 the target is struck; embers and flashes burst from itUsed by gBattleFx_EffectHandlers.
Macros
DRAGON_CLOUD_DRAW_PUFF
#define DRAGON_CLOUD_DRAW_PUFF(blit, canvas, sheet, cell, x, y)
Draws puff picture cell of sheet on canvas at (x, y) with blit, sized by the puff tables.
Used by BattleFx_RunDragonCloud.
Also, macros without a comment: DRAGON_CLOUD_FRAMES, DRAGON_CLOUD_STRIKE_FRAME, DRAGON_CLOUD_TRAIL_CELL_BYTES, DRAGON_CLOUD_FIRST_EMBER, DRAGON_CLOUD_FIRST_FLASH, DRAGON_CLOUD_TRAIL_CELLS, DRAGON_CLOUD_PUFF_CELLS, DRAGON_CLOUD_PUFFS, DRAGON_CLOUD_EMBERS, DRAGON_CLOUD_FLASHES.