1#ifndef ALCHEMY_BATTLE_EFFECT_ARGUMENT_H
2#define ALCHEMY_BATTLE_EFFECT_ARGUMENT_H
33#define DEFINE_EFFECT_KIND(name, runner, arg) \
34 void name(struct BattleEffectArgument *effect) { runner(effect, arg); }
39#define EFFECT_FOR_EACH_TARGET(i, effect) \
40 for ((i) = 0; (i) != (effect)->count; (i)++)
STATIC_ASSERT, a compile-time check that emits nothing.
#define STATIC_ASSERT(condition)
C89 permits repeated extern declarations of the same array.
#define offsetof(type, member)
The command shared by an effect's caller, dispatcher and handlers.
s32 range
forwarded action range, otherwise initialized to 1
s32 actor
the user's unit id
s32 side
1 when the targets are the party, 0 for enemies
s32 kind
handler table index; 200 more for a critical hit
s16 actors[8]
the targets' unit ids, count of them
s32 variant
the ability's size, from 0 (Quake, then Earthquake)
s32 count
targets in actors, at least 1
s32 prelude
1 plays a prelude: in some effects a Djinni appears
s32 firstTarget
the action's first target, standing or not
s32 unk0020
not named by TBS code
The integer types, TRUE, UNUSED and the fixed-address macros.