venus.c
A Venus Djinni joining the party.
games/tbs/src/object/psynergy_effects/venus.c on GitHub
A Venus Djinni joining the party. Part of psynergy_effects.c, compiled only through it.
Functions
BattleFx_RunVenusDjinnCapture
void BattleFx_RunVenusDjinnCapture(s32 djinniId)
A Venus Djinni joins the party: it hops twice, spins and leaps, then shrinks away; the leader turns to the camera and plays animation 28 while 24 particles rise round it (BattleFx_UpdateRadialSpread). Then 24 motes spiral down onto the leader from 120 pixels above (BattleFx_UpdateDescendingOrbitObject) and 8 sparks burst from the leader. Called by Djinn_JoinParty for a Venus Djinni, which then clears the Djinni's actor slot. Uses all 24 effect slots, tints the field palette green and fades it back at the end.
Used by Djinn_JoinParty.
BattleFx_UpdateRandomTargetParticle
void BattleFx_UpdateRandomTargetParticle(struct EffectSlot *effect)
Effect slot callback of a Mercury Djinni's droplets: each falls from 100 pixels above (on screen) to a random point 2 to 8 pixels round a spot 15 to 20 pixels over the leader, at 3 to 6 pixels a frame (state 0), and where it lands splashes 12 pixels in a random direction, at half size, with SE_143. In state 1 it then falls again 6 frames later (back to state 0); once BattleFx_RunMercuryDjinnCapture sets state 2, its next splash is its last (state 3, which frees it).
Used by BattleFx_RunMercuryDjinnCapture.
BattleFx_HalveDistanceToTarget
void BattleFx_HalveDistanceToTarget(union FieldObject *fieldObject)
Per-frame update of an afterimage: closes half the distance to the object it is linked to. Set on the Mercury Djinni's afterimages by BattleFx_RunMercuryDjinnCapture.
Used by BattleFx_RunMercuryDjinnCapture.