Alchemy
Loading...
Searching...
No Matches

ply.c File Reference

Ply. More...

Go to the source code of this file.

Functions

void BattleFx_SwayParticle (union FieldObject *fieldObject)
 Per-frame update: sways 4 pixels either side of anchorX, once every 128 frames.
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.
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.
void FieldFx_RunPlyOnTarget (s32 unused)
 Runs FieldFx_RunPly, then stops the caster's hook.
void FieldFx_RunPly (void)
 Eight particles spiral into the centre, where one appears, sheds sparks and flies far away.

Detailed Description

Ply.

Part of psynergy_effects.c, compiled only through it.

Definition in file ply.c.

Function Documentation

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

Definition at line 10 of file ply.c.

Referenced by BattleFx_RunSparkEmitter(), BattleFx_SwayParticle(), and Djinn_ResolvePendingEvent().

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

Definition at line 24 of file ply.c.

Referenced by BattleFx_UpdateShrinkingOrbitObject(), Djinn_ResolvePendingEvent(), and 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.

Definition at line 58 of file ply.c.

Referenced by BattleFx_RunSparkEmitter(), Djinn_ResolvePendingEvent(), and 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.

Definition at line 98 of file ply.c.

Referenced by BattleFx_DispatchRequestKind(), Djinn_ResolvePendingEvent(), and FieldFx_RunPlyOnTarget().

◆ 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).

Definition at line 109 of file ply.c.

Referenced by BattleFx_Run(), Djinn_ResolvePendingEvent(), FieldFx_RunPly(), and FieldFx_RunPlyOnTarget().