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.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, at the moment it happened. It is noticed only for creatures that were hurt, or killed with stage_kill. The engine’s own eluvian.script.death fires 1.5 to 2.5 seconds later, once the death has played out.

Field What
id the creature’s id
name its name
killer the last creature to hurt it, if known

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.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