Events
The topics Eluvian emits, as events {"describe": true} lists them: wait for one with wait_for from the cursor an answer gives. Plugins describe topics of their own under their prefix.
eluvian.animation.played
A creature began a clip on its base layer, by the engine’s own play call: a command’s step (a swing, an evade, a deathblow, a knockdown), a conversation line, a walk, the idle. Clips the animation set starts on its own (a one-shot returning to the idle) are not seen. Often several a second in a fight: read it with match on the creature’s id or tag.
| Field | What |
|---|---|
id | the creature’s id |
tag | its tag |
row | the animation’s row of the animations table (anim_base, anim_combat, anim_placeables), a number |
label | the row’s Label |
speed | the play speed, 1 normal |
blend | the fade into it, in weight per second; -1 instant, -2 over a fifth of the clip |
flag | the play call’s last argument, as the engine passes it |
position | where the creature stood, [x, y, z] |
eluvian.area.loaded
An area finished loading: the party is placed in it and its load scripts have run. Once per load, a save’s own load aside (that is eluvian.game.loaded).
| Field | What |
|---|---|
area | the area |
eluvian.command.ended
A creature’s command ended. result says how.
| Field | What |
|---|---|
id | the creature’s id |
type | the kind of command |
playerIssued | whether the player gave the command |
target | the same as when it started |
point | the same as when it started |
ability | the same as when it started |
result | how it ended: success, a COMMAND_FAILED_* code saying why it failed, or cleared (dropped from the queue before it finished) |
success | true when it succeeded |
eluvian.command.started
A creature started a command from its queue: an attack, a move, an ability, a wait, an animation, and so on.
| Field | What |
|---|---|
id | the creature’s id |
type | the kind of command (Attack, MoveToObject, UseAbility, …) |
playerIssued | whether the player gave the command |
target | the object it acts on, for an attack, a use or a move to an object, if any |
point | the [x, y, z] point it moves to or aims at, for a move or an ability, if any |
ability | the ability’s id, for a UseAbility |
eluvian.creature.died
A creature died, or a party member fell, on the frame its health reached 0: any creature. The engine’s own eluvian.script.death fires about 2 seconds later, once the death has played out.
| Field | What |
|---|---|
id | the creature’s id |
name | its name |
killer | who killed it: the death’s own creator, else the last creature to hurt it; null for stage_kill’s, whose damage comes from no one |
eluvian.creature.ready
A creature just made (stage_spawn, a script’s) is set up by its spawn script: its health, equipment and abilities are now its own. A creature restored from a save gives none.
| Field | What |
|---|---|
id | the creature’s id |
name | its name |
tag | its tag |
eluvian.creature.revived
A dead creature or a fallen party member came back to life.
| Field | What |
|---|---|
id | the creature’s id |
name | its name |
tag | its tag |
eluvian.dialogue.chosen
The player chose a reply, and the conversation continues from it.
| Field | What |
|---|---|
index | the reply’s position in the conversation file |
text | the reply’s text |
eluvian.dialogue.line
Someone spoke a line: to the player in a conversation, or between creatures in passing (background chatter is a conversation too). Some lines have no text; they only lead on to the next line.
| Field | What |
|---|---|
index | the line’s position in the conversation file |
speaker | who speaks it, as the file names them: a creature’s tag, OWNER or PLAYER |
by | the creature who speaks it, as {id, name, tag}. OWNER means the conversation’s owner, PLAYER the hero, and a tag the creature with that tag |
to | who it is spoken to: listener as the file names it (often empty), and creature, the creature the game picks |
text | the line, in the player’s language |
eluvian.dialogue.replies
The player is offered replies, listed in the order shown on screen.
| Field | What |
|---|---|
replies | each reply with its position, index, text and icon |
eluvian.equipment.equipped
An item was put on a creature, by any means: the inventory screen, equip, or a script. It does not fire when equipping is refused, nor for the ammunition the engine gives each creature when an area loads.
| Field | What |
|---|---|
creature | the creature, as {id, name, tag} |
item | the item, as {id, name, tag} |
slot | the slot’s number (an INVENTORY_SLOT_* value) |
slotName | the slot’s name, as inventory names it |
eluvian.equipment.unequipped
An item was taken off a creature, by any means. When equipping one item pushes another out (a shield, for a two-handed weapon), the pushed-out item’s event comes first.
| Field | What |
|---|---|
creature | the creature, as {id, name, tag} |
item | the item, as {id, name, tag} |
slot | the slot it was in (an INVENTORY_SLOT_* value) |
slotName | the slot’s name |
displaced | true when equipping another item pushed it out |
eluvian.game.loaded
A save finished loading, or a new game started, and the world is ready.
| Field | What |
|---|---|
newGame | true for a new game |
character | the save’s character folder |
kind | the save’s kind: manual, auto or quick |
number | the save slot’s number |
eluvian.game.saved
The game wrote a save.
| Field | What |
|---|---|
character | the save’s character folder |
kind | the save’s kind: manual, auto or quick |
number | the save slot’s number |
eluvian.gui.message
A game screen sent a message to the engine, as its buttons and scripts do. It shows what the menu asked the game to do, in the same form input sends with message.
| Field | What |
|---|---|
screen | the screen that sent it, by the game’s name for it, such as “levelup” or “inventory” |
text | the message, as “Receiver.Message arguments” |
eluvian.input.back
The game takes the player’s input again: explore or combat entered from another mode (a load, a conversation, a cutscene, a screen).
| Field | What |
|---|---|
mode | the mode entered: explore or combat |
eluvian.mode.changed
The game’s mode changed. Modes include explore, combat, dialog, cutscene, loading, pregame (the main menu) and gui (a menu open over the game).
| Field | What |
|---|---|
from | the mode before the change |
to | the mode now |
eluvian.party.control_changed
The player now controls a different creature. It fires whatever caused the switch: the party bar, a key, a script, or an order move that hands control to a follower. After a load, it fires as a switch from nobody.
| Field | What |
|---|---|
before | the creature controlled before, as {id, name, tag}, or null for nobody |
now | the creature controlled now, as {id, name, tag} |
eluvian.paused
The game was paused or unpaused.
| Field | What |
|---|---|
paused | true when the game is now paused |
eluvian.script.ability_cast_impact
The game’s script event EVENT_TYPE_ABILITY_CAST_IMPACT (an EVENT_TYPE_* value), as the game’s scripts receive it.
| Field | What |
|---|---|
receiver | the object the event was sent to, which is not always the one it is about |
creator | the object that created the event |
objects | the event’s object parameters, as scripts read them with GetEventObject |
integers | the event’s whole-number parameters |
floats | the event’s decimal-number parameters |
eluvian.script.ability_cast_start
The game’s script event EVENT_TYPE_ABILITY_CAST_START (an EVENT_TYPE_* value), as the game’s scripts receive it.
| Field | What |
|---|---|
receiver | the object the event was sent to, which is not always the one it is about |
creator | the object that created the event |
objects | the event’s object parameters, as scripts read them with GetEventObject |
integers | the event’s whole-number parameters |
floats | the event’s decimal-number parameters |
eluvian.script.apply_effect
The game’s script event EVENT_TYPE_APPLY_EFFECT (an EVENT_TYPE_* value), as the game’s scripts receive it.
| Field | What |
|---|---|
receiver | the object the event was sent to, which is not always the one it is about |
creator | the object that created the event |
objects | the event’s object parameters, as scripts read them with GetEventObject |
integers | the event’s whole-number parameters |
floats | the event’s decimal-number parameters |
eluvian.script.area_loaded
The game’s script event EVENT_TYPE_AREALOAD_POSTLOADEXIT (an EVENT_TYPE_* value), as the game’s scripts receive it.
| Field | What |
|---|---|
receiver | the object the event was sent to, which is not always the one it is about |
creator | the object that created the event |
objects | the event’s object parameters, as scripts read them with GetEventObject |
integers | the event’s whole-number parameters |
floats | the event’s decimal-number parameters |
eluvian.script.attack_impact
The game’s script event EVENT_TYPE_ATTACK_IMPACT (an EVENT_TYPE_* value), as the game’s scripts receive it.
| Field | What |
|---|---|
receiver | the object the event was sent to, which is not always the one it is about |
creator | the object that created the event |
objects | the event’s object parameters, as scripts read them with GetEventObject |
integers | the event’s whole-number parameters |
floats | the event’s decimal-number parameters |
attacker | the attacker (the event is sent to them) |
target | the creature attacked |
hit | how the attack landed (a COMBAT_RESULT_* value) |
effectId | the id of the effect the hit made |
eluvian.script.combat_initiated
The game’s script event EVENT_TYPE_COMBAT_INITIATED (an EVENT_TYPE_* value), as the game’s scripts receive it.
| Field | What |
|---|---|
receiver | the object the event was sent to, which is not always the one it is about |
creator | the object that created the event |
objects | the event’s object parameters, as scripts read them with GetEventObject |
integers | the event’s whole-number parameters |
floats | the event’s decimal-number parameters |
eluvian.script.damaged
The game’s script event EVENT_TYPE_DAMAGED (an EVENT_TYPE_* value), as the game’s scripts receive it.
| Field | What |
|---|---|
receiver | the object the event was sent to, which is not always the one it is about |
creator | the object that created the event |
objects | the event’s object parameters, as scripts read them with GetEventObject |
integers | the event’s whole-number parameters |
floats | the event’s decimal-number parameters |
damager | the creature that dealt the damage |
amount | how much damage |
damageType | the kind of damage (a DAMAGE_TYPE_* value) |
ability | the ability that dealt it |
eluvian.script.death
The game’s script event EVENT_TYPE_DEATH (an EVENT_TYPE_* value), as the game’s scripts receive it.
| Field | What |
|---|---|
receiver | the object the event was sent to, which is not always the one it is about |
creator | the object that created the event |
objects | the event’s object parameters, as scripts read them with GetEventObject |
integers | the event’s whole-number parameters |
floats | the event’s decimal-number parameters |
eluvian.script.gamemode_change
The game’s script event EVENT_TYPE_GAMEMODE_CHANGE (an EVENT_TYPE_* value), as the game’s scripts receive it.
| Field | What |
|---|---|
receiver | the object the event was sent to, which is not always the one it is about |
creator | the object that created the event |
objects | the event’s object parameters, as scripts read them with GetEventObject |
integers | the event’s whole-number parameters |
floats | the event’s decimal-number parameters |
eluvian.script.order_received
The game’s script event EVENT_TYPE_ON_ORDER_RECEIVED (an EVENT_TYPE_* value), as the game’s scripts receive it.
| Field | What |
|---|---|
receiver | the object the event was sent to, which is not always the one it is about |
creator | the object that created the event |
objects | the event’s object parameters, as scripts read them with GetEventObject |
integers | the event’s whole-number parameters |
floats | the event’s decimal-number parameters |
eluvian.script.partymember_added
The game’s script event EVENT_TYPE_PARTYMEMBER_ADDED (an EVENT_TYPE_* value), as the game’s scripts receive it.
| Field | What |
|---|---|
receiver | the object the event was sent to, which is not always the one it is about |
creator | the object that created the event |
objects | the event’s object parameters, as scripts read them with GetEventObject |
integers | the event’s whole-number parameters |
floats | the event’s decimal-number parameters |
eluvian.script.popup_result
The game’s script event EVENT_TYPE_POPUP_RESULT (an EVENT_TYPE_* value), as the game’s scripts receive it.
| Field | What |
|---|---|
receiver | the object the event was sent to, which is not always the one it is about |
creator | the object that created the event |
objects | the event’s object parameters, as scripts read them with GetEventObject |
integers | the event’s whole-number parameters |
floats | the event’s decimal-number parameters |
eluvian.script.remove_effect
The game’s script event EVENT_TYPE_REMOVE_EFFECT (an EVENT_TYPE_* value), as the game’s scripts receive it.
| Field | What |
|---|---|
receiver | the object the event was sent to, which is not always the one it is about |
creator | the object that created the event |
objects | the event’s object parameters, as scripts read them with GetEventObject |
integers | the event’s whole-number parameters |
floats | the event’s decimal-number parameters |
eluvian.sound.played
The game started a sound: an FMOD event, by the event’s own start, so music, the interface, footsteps, blows, voices and ambience alike. Often many a second: read it with match on the path, or a part of the path’s own field. Which creature made it is not known.
| Field | What |
|---|---|
path | the event’s path, “project/group/…/event”, as the scripts’ PlaySound names it |
name | the event’s own name, the path’s last part |
positional | true for a sound placed in the world (FMOD’s 3-D mode); false for music and the interface |
position | where it was placed, [x, y, z], for a positional sound; a 3-D sound nobody placed yet is at its default, usually the origin |