Alchemy
Loading...
Searching...
No Matches

healing.c File Reference

Healing motes: Ply, Wish, Cure, Cure Poison. More...

Go to the source code of this file.

Macros

#define HEALING_DJINNI_CELLS   0x1000
 the djinni picture in the sheet
#define HEALING_MOTES   512
 motes in PARTICLES
#define HEALING_SLOTS   64
 particles reserved for each target
#define HEALING_STAGGER   8
 frames between one target's start and the next
#define HEALING_SOUND_DELAY   20
 frames from a target's start to its sound
#define HEALING_TINT_DELAY   36
 frames from a target's start to its tint
#define HEALING_TINT_FRAMES   28
 frames a target stays tinted white
#define HEALING_DAMAGE_FRAME   40
 the frame the battle shows the recovery

Functions

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 colours; the canvas is shown at its own width, centred on the first target.
void BattleFx_RunWish (struct BattleEffectArgument *effect)
 Wish (scattering style 1): healing motes tumble in from all around each target.
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 colours.
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 closing in.
UNUSED void BattleFx_RunHealingMotesMode4 (struct BattleEffectArgument *effect)
 Healing sparkles with scattering style 4, sent out from each target, as Cure Poison plays them for variants other than 0.
void BattleFx_RunTonic (struct BattleEffectArgument *effect)
 Tonic (scattering style 5): sparkles twinkle around each target, turning on two axes, and go out one by one; mode 5 plays as mode 4 does.
void BattleFx_RunPsyCrystal (struct BattleEffectArgument *effect)
 Psy Crystal: healing motes gather around each target in the Mars Djinni palette; with a prelude, a Mars Djinni appears first.
void BattleFx_RunHealingMotes (struct BattleEffectArgument *effect, u32 mode)
 Healing sparkles: motes of light scattered around each target swirl in towards it, one target every 8 frames, with the recovery sound on each target's 20th frame and a tint on its 36th.

Detailed Description

Healing motes: Ply, Wish, Cure, Cure Poison.

Part of effect.c, the battle effect object, compiled only through it.

Definition in file healing.c.

Macro Definition Documentation

◆ HEALING_DJINNI_CELLS

#define HEALING_DJINNI_CELLS   0x1000

the djinni picture in the sheet

Definition at line 17 of file healing.c.

Referenced by BattleFx_RunHealingMotes().

◆ HEALING_MOTES

#define HEALING_MOTES   512

motes in PARTICLES

Definition at line 75 of file healing.c.

Referenced by BattleFx_RunHealingMotes().

◆ HEALING_SLOTS

#define HEALING_SLOTS   64

particles reserved for each target

Definition at line 76 of file healing.c.

Referenced by BattleFx_RunHealingMotes().

◆ HEALING_STAGGER

#define HEALING_STAGGER   8

frames between one target's start and the next

Definition at line 77 of file healing.c.

Referenced by BattleFx_RunHealingMotes().

◆ HEALING_SOUND_DELAY

#define HEALING_SOUND_DELAY   20

frames from a target's start to its sound

Definition at line 78 of file healing.c.

Referenced by BattleFx_RunHealingMotes().

◆ HEALING_TINT_DELAY

#define HEALING_TINT_DELAY   36

frames from a target's start to its tint

Definition at line 79 of file healing.c.

Referenced by BattleFx_RunHealingMotes().

◆ HEALING_TINT_FRAMES

#define HEALING_TINT_FRAMES   28

frames a target stays tinted white

Definition at line 80 of file healing.c.

Referenced by BattleFx_RunHealingMotes().

◆ HEALING_DAMAGE_FRAME

#define HEALING_DAMAGE_FRAME   40

the frame the battle shows the recovery

Definition at line 81 of file healing.c.

Referenced by BattleFx_RunHealingMotes().

Function Documentation

◆ BattleFx_RunPly()

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 colours; the canvas is shown at its own width, centred on the first target.

Abilities: Ply, Ply Well, Pure Ply, Herb, Nut, Vial, Potion, Soothing Water (kind 22); Fizz (kind 204).

Definition at line 25 of file healing.c.

Referenced by BattleFx_RunPly().

◆ BattleFx_RunWish()

void BattleFx_RunWish ( struct BattleEffectArgument * effect)

Wish (scattering style 1): healing motes tumble in from all around each target.

Abilities: Wish, Wish Well, Pure Wish (kind 23); Regenerate (kind 44); Reflect (kind 45); Spritz (kind 206).

Definition at line 33 of file healing.c.

Referenced by BattleFx_RunWish().

◆ BattleFx_RunCure()

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 colours.

Abilities: Cure, Cure Well, Potent Cure, Corn (kind 21); Worms (kind 352).

Definition at line 40 of file healing.c.

Referenced by BattleFx_RunCure().

◆ BattleFx_RunCurePoison()

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 closing in.

Abilities: Cure Poison, Restore, Antidote, Elixir (kind 24).

Definition at line 47 of file healing.c.

Referenced by BattleFx_RunCurePoison().

◆ BattleFx_RunHealingMotesMode4()

UNUSED void BattleFx_RunHealingMotesMode4 ( struct BattleEffectArgument * effect)

Healing sparkles with scattering style 4, sent out from each target, as Cure Poison plays them for variants other than 0.

No effect table entry reaches this one.

Definition at line 58 of file healing.c.

Referenced by BattleFx_RunHealingMotesMode4().

◆ BattleFx_RunTonic()

void BattleFx_RunTonic ( struct BattleEffectArgument * effect)

Tonic (scattering style 5): sparkles twinkle around each target, turning on two axes, and go out one by one; mode 5 plays as mode 4 does.

Abilities: Tonic (kind 208).

Definition at line 65 of file healing.c.

Referenced by BattleFx_RunTonic().

◆ BattleFx_RunPsyCrystal()

void BattleFx_RunPsyCrystal ( struct BattleEffectArgument * effect)

Psy Crystal: healing motes gather around each target in the Mars Djinni palette; with a prelude, a Mars Djinni appears first.

Abilities: Psy Crystal, Adept Ring, Ember (kind 212).

Definition at line 72 of file healing.c.

Referenced by BattleFx_RunPsyCrystal().

◆ BattleFx_RunHealingMotes()

void BattleFx_RunHealingMotes ( struct BattleEffectArgument * effect,
u32 mode )

Healing sparkles: motes of light scattered around each target swirl in towards it, one target every 8 frames, with the recovery sound on each target's 20th frame and a tint on its 36th.

Called by the wrappers above: BattleFx_RunPly (mode 0), BattleFx_RunWish (1), BattleFx_RunCure (2), BattleFx_RunCurePoison (3 or 4), BattleFx_RunTonic (5) and BattleFx_RunPsyCrystal (6).

Sets work->effect, overwrites PARTICLES 0 to 511 and the first 64 colours of the background palette, decodes into the battle sheet slot and work->sheet, and in mode 0 writes REG_BG2X and REG_BG2PA. After a djinni prelude it clears effect->variant, so the variant's mote count and resource fall back to variant 0's. The transfer callback it adds is removed again at the end, with the blitters and the canvas layer.

effect: the targets. With prelude 1, a djinni (Mars in mode 6, Mercury otherwise) appears first, sways and rises. variant picks the motes per target (0: 32, 2: 128, others: 64) and, in modes 0, 1, 3, 4 and 5, the resource (0: ice shard, others: ice block). mode: how the motes scatter and turn. Only mode 0 shows the canvas at its own width, centred on the first target. Modes 3, 4 and 5 put the motes out one by one instead of drawing them in; modes 0, 3, 4 and 5 draw sparkle dots. Mode 6 takes the Mars resource, mode 2 the blast resource.

Definition at line 107 of file healing.c.

Referenced by BattleFx_RunCure(), BattleFx_RunCurePoison(), BattleFx_RunHealingMotes(), BattleFx_RunHealingMotesMode4(), BattleFx_RunPly(), BattleFx_RunPsyCrystal(), BattleFx_RunTonic(), and BattleFx_RunWish().