pub enum ConditionAst {
Show 33 variants
Always,
EnterRoom(String),
TakeItem(String),
TouchItem(String),
TalkToNpc(String),
OpenItem(String),
LeaveRoom(String),
LookAtItem(String),
UseItem {
item: String,
ability: String,
},
GiveToNpc {
item: String,
npc: String,
},
UseItemOnItem {
tool: String,
target: String,
interaction: String,
},
Ingest {
item: String,
mode: IngestModeAst,
},
ActOnItem {
target: String,
action: String,
},
TakeFromNpc {
item: String,
npc: String,
},
InsertItemInto {
item: String,
container: String,
},
DropItem(String),
UnlockItem(String),
MissingFlag(String),
HasFlag(String),
HasItem(String),
PlayerInRoom(String),
HasVisited(String),
MissingItem(String),
FlagInProgress(String),
FlagComplete(String),
WithNpc(String),
NpcHasItem {
npc: String,
item: String,
},
NpcInState {
npc: String,
state: String,
},
ContainerHasItem {
container: String,
item: String,
},
Ambient {
spinner: String,
rooms: Option<Vec<String>>,
},
ChancePercent(f64),
All(Vec<ConditionAst>),
Any(Vec<ConditionAst>),
}Expand description
Trigger condition variants.
Variants§
Always
Event: trigger has no event; conditions only.
EnterRoom(String)
Event: player enters a room.
TakeItem(String)
Event: player takes an item.
TouchItem(String)
Event: player touches / presses an item
TalkToNpc(String)
Event: player talks to an NPC.
OpenItem(String)
Event: player opens an item.
LeaveRoom(String)
Event: player leaves a room.
LookAtItem(String)
Event: player looks at an item.
UseItem
Event: player uses an item with an ability.
GiveToNpc
Event: player gives an item to an NPC.
UseItemOnItem
Event: player uses one item on another item with an interaction.
Ingest
Event: player ingests an item using a specific mode (eat, drink, inhale).
ActOnItem
Event: player performs an interaction on an item (tool-agnostic).
TakeFromNpc
Event: player takes an item from an NPC.
InsertItemInto
Event: player inserts an item into a container item.
DropItem(String)
Event: player drops an item.
UnlockItem(String)
Event: player unlocks an item.
MissingFlag(String)
Require that a flag is missing (by name).
HasFlag(String)
Require that a flag is present (by name).
HasItem(String)
Require that the player has an item (by symbol id).
PlayerInRoom(String)
Require that the player is currently in a room (by symbol id).
HasVisited(String)
MissingItem(String)
FlagInProgress(String)
FlagComplete(String)
WithNpc(String)
NpcHasItem
NpcInState
ContainerHasItem
Ambient
ChancePercent(f64)
Random chance in percent (0-100).
All(Vec<ConditionAst>)
All of the nested conditions must hold.
Any(Vec<ConditionAst>)
Any of the nested conditions may hold (not yet compilable for triggers).
Trait Implementations§
Source§impl Clone for ConditionAst
impl Clone for ConditionAst
Source§fn clone(&self) -> ConditionAst
fn clone(&self) -> ConditionAst
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more