Alchemy
Loading...
Searching...
No Matches

mercury_lighthouse_pillar.h File Reference

Go to the source code of this file.

Macros

#define MAP_CELLS   ((struct MapCell *)Ram_MapCellBuffer)

Functions

static s32 SceneEffect_AdvanceAnchoredRiseFrame (struct ScriptInterpreter *interpreter)
 Raises the spark while its scale follows a half-sine pulse.
static s32 OverlayObject_RampWords24And28Over16Frames (struct ScriptInterpreter *interpreter)
 Grows the moving light over the first sixteen script frames.
static s32 OverlayObject_AdvanceScaleCounter (struct ScriptInterpreter *interpreter)
 Expands the released light before its script removes it.
static s32 MercuryLighthouse_FollowLeader (struct ScriptInterpreter *interpreter)
 Follows the linked actor and alternates the light's animation parameter.
static void MercuryLighthouse_SpawnSparkPair (void)
 Places the two spark animations on the selected actor.
void MercuryLighthouse_ChargeLights (void)
 Touch trigger 11, the pool's heart: the column of light appears over the leader if it is not there, and grows a stage with each pair of sparks, half a second apart, up to three lights.
void MercuryLighthouse_LoseLights (void)
 Touch trigger 31: the leader loses their lights, and the column swells and fades away.
void MercuryLighthouse_HopAcrossPool (void)
 Pushing against the pool's edge (triggers 11, 21 and 31): the leader hops two cells the way the pad points, unless the hop leads into the pool without a light or is blocked.
void MercuryLighthouse_SparkleAtLeader (void)
 Touch trigger 21: while the leader stands there, a sparkle rises from them every 10 to 39 frames.
static void MercuryLighthouse_RemoveColumnOnRetreat (void)
 Retreat (PSYNERGY_IN_AREA(ABILITY_RETREAT, 1)): remove the column of light.

Macro Definition Documentation

◆ MAP_CELLS

#define MAP_CELLS   ((struct MapCell *)Ram_MapCellBuffer)

Definition at line 244 of file mercury_lighthouse_pillar.h.

Function Documentation

◆ SceneEffect_AdvanceAnchoredRiseFrame()

s32 SceneEffect_AdvanceAnchoredRiseFrame ( struct ScriptInterpreter * interpreter)
static

Raises the spark while its scale follows a half-sine pulse.

Definition at line 35 of file mercury_lighthouse_pillar.h.

Referenced by SceneEffect_AdvanceAnchoredRiseFrame().

◆ OverlayObject_RampWords24And28Over16Frames()

s32 OverlayObject_RampWords24And28Over16Frames ( struct ScriptInterpreter * interpreter)
static

Grows the moving light over the first sixteen script frames.

Definition at line 55 of file mercury_lighthouse_pillar.h.

Referenced by OverlayObject_RampWords24And28Over16Frames().

◆ OverlayObject_AdvanceScaleCounter()

s32 OverlayObject_AdvanceScaleCounter ( struct ScriptInterpreter * interpreter)
static

Expands the released light before its script removes it.

Definition at line 71 of file mercury_lighthouse_pillar.h.

Referenced by OverlayObject_AdvanceScaleCounter().

◆ MercuryLighthouse_FollowLeader()

s32 MercuryLighthouse_FollowLeader ( struct ScriptInterpreter * interpreter)
static

Follows the linked actor and alternates the light's animation parameter.

Definition at line 86 of file mercury_lighthouse_pillar.h.

Referenced by MercuryLighthouse_FollowLeader().

◆ MercuryLighthouse_SpawnSparkPair()

void MercuryLighthouse_SpawnSparkPair ( void )
static

Places the two spark animations on the selected actor.

Definition at line 149 of file mercury_lighthouse_pillar.h.

Referenced by MercuryLighthouse_ChargeLights(), and MercuryLighthouse_SpawnSparkPair().

◆ MercuryLighthouse_ChargeLights()

void MercuryLighthouse_ChargeLights ( void )

Touch trigger 11, the pool's heart: the column of light appears over the leader if it is not there, and grows a stage with each pair of sparks, half a second apart, up to three lights.

The column's cell is where a sinking leader comes back to; flag 0x161 is set while the leader has lights.

Definition at line 192 of file mercury_lighthouse_pillar.h.

Referenced by MercuryLighthouse_ChargeLights(), MercuryLighthouse_RaiseTouchedPillar(), and MercuryLighthouseEntrance_RaiseTouchedPillar().

◆ MercuryLighthouse_LoseLights()

void MercuryLighthouse_LoseLights ( void )

Touch trigger 31: the leader loses their lights, and the column swells and fades away.

Definition at line 248 of file mercury_lighthouse_pillar.h.

Referenced by MercuryLighthouse_LoseLights(), MercuryLighthouse_ReleaseRaisedPillar(), and MercuryLighthouseEntrance_ReleaseRaisedPillar().

◆ MercuryLighthouse_HopAcrossPool()

void MercuryLighthouse_HopAcrossPool ( void )

Pushing against the pool's edge (triggers 11, 21 and 31): the leader hops two cells the way the pad points, unless the hop leads into the pool without a light or is blocked.

A hop into the pool spends a light, which flies ahead to the landing cell; the column shrinks a stage, or goes with the last light. Landing in the pool with no light under them, the leader sinks until a key is pressed after half a second, and is put back at the heart.

Definition at line 275 of file mercury_lighthouse_pillar.h.

Referenced by MercuryLighthouse_HopAcrossPool(), MercuryLighthouse_TryPillarStep(), and MercuryLighthouseEntrance_TryPillarStep().

◆ MercuryLighthouse_SparkleAtLeader()

void MercuryLighthouse_SparkleAtLeader ( void )

Touch trigger 21: while the leader stands there, a sparkle rises from them every 10 to 39 frames.

Definition at line 395 of file mercury_lighthouse_pillar.h.

Referenced by MercuryLighthouse_SparkleAtLeader(), MercuryLighthouse_SpawnTimedRiseEffect(), and MercuryLighthouseEntrance_SpawnTimedRiseEffect().

◆ MercuryLighthouse_RemoveColumnOnRetreat()

void MercuryLighthouse_RemoveColumnOnRetreat ( void )
static

Retreat (PSYNERGY_IN_AREA(ABILITY_RETREAT, 1)): remove the column of light.

Definition at line 411 of file mercury_lighthouse_pillar.h.

Referenced by MercuryLighthouse_RemoveColumnOnRetreat().