ply.c
Ply.
games/tbs/src/object/psynergy_effects/ply.c on GitHub
Ply. Part of psynergy_effects.c, compiled only through it.
Functions
BattleFx_SwayParticle
void BattleFx_SwayParticle(union FieldObject *fieldObject)
Per-frame update: sways 4 pixels either side of anchorX, once every 128 frames. The update of each spark BattleFx_RunSparkEmitter sheds; it writes the spark's x and advances its phase.
Used by BattleFx_RunSparkEmitter.
BattleFx_UpdateShrinkingOrbitObject
void BattleFx_UpdateShrinkingOrbitObject(union FieldObject *fieldObject)
Per-frame update: spirals in on a point 10 pixels above the effect's position, at a radius of as many pixels as frames are left; released when timer reaches 0. The update of FieldFx_RunPly's eight spiralling particles; each one's work holds its starting angle.
Used by FieldFx_RunPly.
BattleFx_RunSparkEmitter
void BattleFx_RunSparkEmitter(union FieldObject *fieldObject)
Per-frame update: sways 6 pixels either side (a 64-frame cycle) 16 pixels above the effect's position, and every 3 frames sheds a spark that sways as it slowly falls. With phase -1 it stays where it is. The update FieldFx_RunPly gives the centre particle; spawns object 0x11d for each spark.
Used by FieldFx_RunPly.
FieldFx_RunPlyOnTarget
void FieldFx_RunPlyOnTarget(s32 unused)
Runs FieldFx_RunPly, then stops the caster's hook. Called by BattleFx_DispatchRequestKind.
Abilities: Ply, Ply Well, Pure Ply (field kind 3), cast on a target.
Used by BattleFx_DispatchRequestKind.
FieldFx_RunPly
void FieldFx_RunPly(void)
Eight particles spiral into the centre, where one appears, sheds sparks and flies far away. Called by BattleFx_Run and FieldFx_RunPlyOnTarget; frees the particles' shared sprite resource slot at the end and runs the effect scene's finishCallback.
Abilities: Ply, Ply Well, Pure Ply (field kind 3).
Used by BattleFx_Run, FieldFx_RunPlyOnTarget.