Alchemy
Loading...
Searching...
No Matches

SceneEvent Struct Reference

A scene event: its kind and detail, the trigger it answers, its condition and its value (a message or an event script). More...

#include <field_scene.h>

Data Fields

u32 control
 The kind and its detail, read by Scene_FindEvent and the item, Psynergy and search lookups; -1 ends the table.
s16 trigger
 What the event answers: an actor id, a tile's collision code, a marker id or a raised value.
s16 condition
 -1 always, a flag | 0x1000 set, else the flag clear
u32 value
 A message below 0x10000, else an event function; for an exit, the exit kind its scene's exit table matches, and for a search, a FIND_ value.

Detailed Description

A scene event: its kind and detail, the trigger it answers, its condition and its value (a message or an event script).

Definition at line 118 of file field_scene.h.

Field Documentation

◆ control

u32 SceneEvent::control

The kind and its detail, read by Scene_FindEvent and the item, Psynergy and search lookups; -1 ends the table.

The detail bits depend on the kind. bits: 30..28 Psynergy phase | 15..12 touch facing | 15..8 item or ability | 11 short push | 10 facing | 9 walking | 8..4 search target | 7 Psynergy in area | 5..4 exit sound | 4 on an actor | 3..0 kind

Definition at line 124 of file field_scene.h.

Referenced by Field_PlaceMapMarkers(), Field_SearchTile(), FieldEffect_SpawnNearbyMarkers(), WorldMap_ActivateSite138(), and WorldMap_RestoreExitTrigger().

◆ trigger

s16 SceneEvent::trigger

What the event answers: an actor id, a tile's collision code, a marker id or a raised value.

Item and Psynergy events read it as bits below; bit 10 also skips a search's checking message and a Psynergy's effect. bits: 15..12 facing | 11 needs facing | 10 own message | 7..0 target

Definition at line 129 of file field_scene.h.

Referenced by Field_PlaceMapMarkers(), Field_SearchTile(), Field_UseItem(), Field_UsePsynergy(), and FieldEffect_SpawnNearbyMarkers().

◆ condition

s16 SceneEvent::condition

-1 always, a flag | 0x1000 set, else the flag clear

Definition at line 130 of file field_scene.h.

Referenced by Field_PlaceMapMarkers(), Field_SearchTile(), and FieldEffect_SpawnNearbyMarkers().

◆ value

u32 SceneEvent::value

A message below 0x10000, else an event function; for an exit, the exit kind its scene's exit table matches, and for a search, a FIND_ value.

Definition at line 133 of file field_scene.h.

Referenced by Event_InspectFirstMinotaurRelief(), Field_PlaceMapMarkers(), Field_SearchTile(), Field_UseItem(), FieldEffect_SpawnNearbyMarkers(), WorldMap_ActivateSite138(), and WorldMap_RestoreExitTrigger().