Alchemy
Loading...
Searching...
No Matches

battle_effect_argument.h File Reference

BattleEffectArgument, the command an effect's caller, dispatcher and handlers share, and the macros that define effect kinds. More...

Go to the source code of this file.

Data Structures

struct  BattleEffectArgument
 The command shared by an effect's caller, dispatcher and handlers. More...

Macros

#define DEFINE_EFFECT_KIND(name, runner, arg)
 Defines the battle effect kind name as a call of a shared runner with one fixed argument, its style or variant.
#define EFFECT_FOR_EACH_TARGET(i, effect)
 Loops i over the effect's targets, effect->actors[0] to effect->actors[effect->count - 1]: the loops that flash, shake, strike or aim at each target in turn.

Functions

 STATIC_ASSERT (sizeof(struct BattleEffectArgument)==0x34)
 STATIC_ASSERT (offsetof(struct BattleEffectArgument, count)==0x14)
 STATIC_ASSERT (offsetof(struct BattleEffectArgument, actors)==0x24)

Detailed Description

BattleEffectArgument, the command an effect's caller, dispatcher and handlers share, and the macros that define effect kinds.

Definition in file battle_effect_argument.h.

Macro Definition Documentation

◆ DEFINE_EFFECT_KIND

#define DEFINE_EFFECT_KIND ( name,
runner,
arg )
Value:
void name(struct BattleEffectArgument *effect) { runner(effect, arg); }
The command shared by an effect's caller, dispatcher and handlers.

Defines the battle effect kind name as a call of a shared runner with one fixed argument, its style or variant.

The strike, volley, shower, mote and stat-change families each have one runner and a kind like this for each ability that uses it.

Definition at line 33 of file battle_effect_argument.h.

◆ EFFECT_FOR_EACH_TARGET

#define EFFECT_FOR_EACH_TARGET ( i,
effect )
Value:
for ((i) = 0; (i) != (effect)->count; (i)++)

Loops i over the effect's targets, effect->actors[0] to effect->actors[effect->count - 1]: the loops that flash, shake, strike or aim at each target in turn.

Definition at line 39 of file battle_effect_argument.h.

Referenced by BattleFx_RunBolt(), BattleFx_RunBoreas(), BattleFx_RunBreak(), BattleFx_RunCurse(), BattleFx_RunCybele(), BattleFx_RunDjinnBeams(), BattleFx_RunDjinnHeal(), BattleFx_RunDouse(), BattleFx_RunDrain(), BattleFx_RunEruption(), BattleFx_RunFrost(), BattleFx_RunFroth(), BattleFx_RunGaia(), BattleFx_RunGatheringLights(), BattleFx_RunHaunt(), BattleFx_RunHealingMotes(), BattleFx_RunIce(), BattleFx_RunJudgment(), BattleFx_RunJupiter(), BattleFx_RunKirin(), BattleFx_RunLobbedShells(), BattleFx_RunMars(), BattleFx_RunMercury(), BattleFx_RunMoteFountain(), BattleFx_RunNeptune(), BattleFx_RunNereid(), BattleFx_RunOrbitingSkulls(), BattleFx_RunPaletteParticles(), BattleFx_RunPlasma(), BattleFx_RunPrism(), BattleFx_RunProcne(), BattleFx_RunProjectileVolley(), BattleFx_RunQuake(), BattleFx_RunRagnarok(), BattleFx_RunRamses(), BattleFx_RunRay(), BattleFx_RunShiningStar(), BattleFx_RunSleep(), BattleFx_RunSparkGroups(), BattleFx_RunSpiderWeb(), BattleFx_RunSpire(), BattleFx_RunStatBoost(), BattleFx_RunStatReduction(), BattleFx_RunStreakVolley(), BattleFx_RunTargetBursts(), BattleFx_RunTargetMotes(), BattleFx_RunThor(), BattleFx_RunThorn(), BattleFx_RunTitanBlade(), BattleFx_RunVenus(), BattleFx_RunVine(), BattleFx_RunVolcano(), and BattleFx_RunWhirlwind().

Function Documentation

◆ STATIC_ASSERT() [1/3]

STATIC_ASSERT ( sizeof(struct BattleEffectArgument) = =0x34)

◆ STATIC_ASSERT() [2/3]

STATIC_ASSERT ( offsetof(struct BattleEffectArgument, count) = =0x14)

◆ STATIC_ASSERT() [3/3]

STATIC_ASSERT ( offsetof(struct BattleEffectArgument, actors) = =0x24)