target_strike.c
Monster bites, fangs and slashes on one target.
games/tbs/src/effect/parts/target_strike.c on GitHub
Monster bites, fangs and slashes on one target. Part of effect.c, the battle effect object, compiled only through it.
Functions
BattleFx_RunNumbingSting
void BattleFx_RunNumbingSting(struct BattleEffectArgument *effect)
One slash with glints, lightning colours.
Abilities: Numbing Sting (kind 313).
Used by gBattleFx_EffectHandlers.
BattleFx_RunCannibalFang
void BattleFx_RunCannibalFang(struct BattleEffectArgument *effect)
Three ember columns that drain the target into the user.
Abilities: Cannibal Fang (kind 316).
Used by gBattleFx_EffectHandlers.
BattleFx_RunPoisonousBite
void BattleFx_RunPoisonousBite(struct BattleEffectArgument *effect)
One lime column with smoke.
Abilities: Poisonous Bite (kind 318); Poison Fang (kind 323).
Used by gBattleFx_EffectHandlers.
BattleFx_RunRabidFang
void BattleFx_RunRabidFang(struct BattleEffectArgument *effect)
One column with smoke, Mars Djinn colours.
Abilities: Rabid Fang (kind 336).
Used by gBattleFx_EffectHandlers.
BattleFx_RunElectricBite
void BattleFx_RunElectricBite(struct BattleEffectArgument *effect)
Three lightning columns with glints.
Abilities: Electric Bite (kind 324).
Used by gBattleFx_EffectHandlers.
BattleFx_RunPoisonTail
void BattleFx_RunPoisonTail(struct BattleEffectArgument *effect)
One lime slash with smoke.
Abilities: Poison Tail (kind 325).
Used by gBattleFx_EffectHandlers.
BattleFx_RunVampiricFang
void BattleFx_RunVampiricFang(struct BattleEffectArgument *effect)
Three columns that drain the target, Mars Djinn colours.
Abilities: Vampiric Fang (kind 327).
Used by gBattleFx_EffectHandlers.
BattleFx_RunDoubleFang
void BattleFx_RunDoubleFang(struct BattleEffectArgument *effect)
Two blue columns with sparks.
Abilities: Double Fang (kind 332).
Used by gBattleFx_EffectHandlers.
BattleFx_RunMortalBlow
void BattleFx_RunMortalBlow(struct BattleEffectArgument *effect)
One heavy slash with sparks, Mars Djinn colours.
Abilities: Mortal Blow (kind 333).
Used by gBattleFx_EffectHandlers.
BattleFx_RunTwinBeaks
void BattleFx_RunTwinBeaks(struct BattleEffectArgument *effect)
Two slashes with sparks, lightning colours.
Abilities: Twin Beaks (kind 335).
Used by gBattleFx_EffectHandlers.
BattleFx_RunAcidBite
void BattleFx_RunAcidBite(struct BattleEffectArgument *effect)
Three pink columns with smoke.
Abilities: Acid Bite (kind 337).
Used by gBattleFx_EffectHandlers.
BattleFx_RunDrainFang
void BattleFx_RunDrainFang(struct BattleEffectArgument *effect)
Three additive columns that drain the target with large motes, Mars Djinn colours.
Abilities: Drain Fang (kind 386).
Used by gBattleFx_EffectHandlers.
BattleFx_RunTargetStrike
void BattleFx_RunTargetStrike(struct BattleEffectArgument *effect, s32 mode)
Strikes the first target TARGET_STRIKE_HITS times with a sideways slash or a column of light, with the extras its flags choose, and lets the battle show the damage on the hits.
Called by the twelve wrappers above, from BattleFx_RunNumbingSting to BattleFx_RunDrainFang. Loads the style's colours over the first 64 of the background palette; uses work->particles 0 to 63 for smoke, PARTICLES 0 to 127 for motes and TARGET_STRIKE_SPARKS for sparks; builds and frees its blitters in both slots every frame, sets work->shakeFrames on each hit and lights the user while an absorb runs. Leaves the canvas layer closed.
mode : the style, 0 to 11, a row of gTargetStrike_Records.
Used by BattleFx_RunAcidBite, BattleFx_RunCannibalFang, BattleFx_RunDoubleFang, BattleFx_RunDrainFang, BattleFx_RunElectricBite, BattleFx_RunMortalBlow, BattleFx_RunNumbingSting, BattleFx_RunPoisonTail, BattleFx_RunPoisonousBite, BattleFx_RunRabidFang, BattleFx_RunTwinBeaks, BattleFx_RunVampiricFang.
Macros
TARGET_STRIKE_SPARKS
#define TARGET_STRIKE_SPARKS ((struct EffectStep *)(Ram_MapCellBuffer + 0x3800))
The strike sparks, 512 of them, live after the motes in PARTICLES. Only the first 128 are drawn; a heavy hit lights all 512.
Used by BattleFx_RunTargetStrike.
TARGET_STRIKE_SMOKE_CELLS
#define TARGET_STRIKE_SMOKE_CELLS 0x3200
The smoke pictures in the sheet: six 24x48 puffs.
Used by BattleFx_RunTargetStrike.
TARGET_STRIKE_VALUE
#define TARGET_STRIKE_VALUE(mode, field) gTargetStrike_Records[(mode)][(field)]
Column field of style mode's row of gTargetStrike_Records.
Used by BattleFx_RunTargetStrike.