Alchemy

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.

Line 10

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.

Line 24

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.

Line 58

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.

Line 100

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.

Line 111

On this page