Alchemy

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 it

Used by gBattleFx_EffectHandlers.

Line 41

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.

Line 20

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.

On this page