Alchemy

goma_cave_entrance.c

Goma Cave's entrance: the stump caught in ivy, the two pillars, and Ivan, who rejoins the party and blows the ivy away with Whirlwind.

games/tbs/src/scene/goma_cave_entrance.c on GitHub

Goma Cave's entrance: the stump caught in ivy, the two pillars, and Ivan, who rejoins the party and blows the ivy away with Whirlwind.

Functions

GomaCaveEntrance_SayThenWait

static void GomaCaveEntrance_SayThenWait(s32 actorId, s32 frames)

Shows the next message over the speaker, then pauses.

Used by Event_IvanRejoins.

Line 59

Event_MoveWestPillar

static void Event_MoveWestPillar(void)

Move on the west pillar, and after each push: the pillar stands on one of three columns, and the map cells and flags follow it.

Used by Event_PushWestPillar, gGomaCaveEntranceEvents, gGomaCavePillar_Events.

Line 78

Event_MoveEastPillar

static void Event_MoveEastPillar(void)

Move on the east pillar: once it reaches column 23 it settles into the floor and can be walked over.

Used by Event_PushEastPillar, gGomaCaveEntranceEvents, gGomaCavePillar_Events, gTunnelRuinsEventsOther.

Line 99

Event_PushWestPillar

static void Event_PushWestPillar(void)

Walking into the west pillar from the west (trigger 5) or the east (trigger 6): the leader leans on it and pushes it one step.

Used by gGomaCaveEntranceEvents.

Line 117

GomaCaveEntrance_NoOpA

UNUSED static void GomaCaveEntrance_NoOpA(void)

Reserved overlay hook; no current scene calls it.

Line 142

GomaCaveEntrance_NoOpB

UNUSED static void GomaCaveEntrance_NoOpB(void)

A second reserved hook, also unused by the scene.

Line 145

Event_BlowAwayIvy

static void Event_BlowAwayIvy(void)

Whirlwind on the other ivy: it is blown away for good.

Used by gGomaCaveEntranceEvents.

Line 148

Scene_Initialize

s32 Scene_Initialize(void)

Puts the stump and pillars where the party left them, and the stump's ivy away once Ivan has blown it off.

Line 160

Event_IvanRejoins

static void Event_IvanRejoins(void)

Move on the stump while the ivy holds it: Garet says their Psynergy is not strong enough. Once the thieves in Vault are jailed, Ivan turns up, blows the ivy away with Whirlwind and asks to join the party, and gets back the Shaman's Rod.

Used by gGomaCaveEntranceEvents.

Line 216

Event_MoveStump

static void Event_MoveStump(void)

Move on the freed stump: from column 11 it spins, leaps away and lies where it lands.

Used by gGomaCaveEntranceEvents, gGomaCaveWaterwayEventsOther.

Line 423

GomaCaveEntrance_WhirlwindOnStumpIvy

static void GomaCaveEntrance_WhirlwindOnStumpIvy(void)

Ivan casts Whirlwind on the stump's ivy, and the scene waits for it.

Used by Event_IvanRejoins.

Line 441

GomaCaveEntrance_SpinStump

static void GomaCaveEntrance_SpinStump(union FieldObject *fieldObject)

The leaping stump's update hook turns its sprite a fixed amount per frame.

Used by GomaCaveEntrance_LeapStump.

Line 460

GomaCaveEntrance_LeapStump

static void GomaCaveEntrance_LeapStump(s32 id)

The stump spins in place, leaps and lands with a shake and a ring of dust, then comes to rest a little further on.

Used by Event_MoveStump.

Line 473

GomaCaveEntrance_GiveShamansRod

static void GomaCaveEntrance_GiveShamansRod(void)

Gives Ivan the Shaman's Rod and equips it. With his items full, he drops another to make room; later patches skip items marked only indispensable.

Used by Event_IvanRejoins.

Line 540

Also, functions without a comment: Scene_GetEntrances, Scene_GetRegions, Scene_GetExits, Scene_GetPlacements, Scene_GetEvents.

Macros, without a comment: STUMP, WEST_PILLAR, EAST_PILLAR, STUMP_IVY, IVY.

Globals, without a comment: gEffectScript0, gEffectScript1, gEffectScript2, gEffectScripts, gGomaCaveEntranceTallIvyScript, gGomaCaveEntranceEntrances, gGomaCaveEntranceExits, gGomaCaveEntrancePlacements, gGomaCaveEntranceEvents.

On this page