Update Conditions authored by Taiyou06's avatar Taiyou06
_Part of [Mythic Mobs Integration](Mythic-Mobs-Integration)._ _Part of [Mythic Mobs Integration](Mythic-Mobs-Integration)._
These triggers fire on every Mythic Mob inside the dungeon instance world when the corresponding dungeon event occurs. Skills using these triggers receive the relevant player (when applicable) as `<trigger>`. Dungeon Conditions can be used in any Mythic skill, condition list, or targeter filter. They evaluate against the dungeon instance that contains the caster (or the target, where noted).
#### ~onDungeonStart `(v2.0.1)` #### Dungeon Alive Count `(v2.0.1)`
Fired once when a dungeon instance starts (after the optional lobby readycheck). `- dungeonalivecount{count=2;op=>=}`
**Aliases:** `~onDungeonStart` Compares the number of *living* (non-spectating) players in the caster's dungeon against a threshold.
**Aliases:**
- `dungeonalivecount`
- `dalivecount`
#### ~onDungeonEnd `(v2.0.1)` **Arguments:**
Fired once when a dungeon instance ends, regardless of how it ended. - **count | c | amount | a** :: The threshold to compare against. Default `0`.
**Aliases:** `~onDungeonEnd` - **op | operator** :: One of `>=`, `>`, `<=`, `<`, `==`, `!=`. Default `>=`.
#### ~onDungeonComplete `(v2.0.1)` #### Dungeon Depth `(v2.0.1)`
Fired when a player runs a "Finish Dungeon" function. `<trigger>` is the finishing player. `- dungeondepth{depth=3;op=>=}`
**Aliases:** `~onDungeonComplete` *ONLY WORKS IN PROCEDURAL DUNGEONS!* Compares the depth (distance from the start room) of the caster's current room against a threshold.
**Aliases:**
- `dungeondepth`
- `roomdepth`
#### ~onDungeonLeave `(v2.0.1)` **Arguments:**
Fired when a player leaves the dungeon by any means. `<trigger>` is the leaving player. - **depth | d** :: The threshold depth. Default `1`.
**Aliases:** `~onDungeonLeave` - **op | operator** :: Comparison operator. Default `>=`.
#### ~onDungeonPlayerEnter `(v2.0.1)` #### Dungeon Difficulty `(v1.3.1)`
Fired when a player enters the dungeon instance. `<trigger>` is the entering player. `- dungeondifficulty{d=difficultylevel}`
**Aliases:** `~onDungeonPlayerEnter`, `~onDungeonEnter` Checks if the dungeon at the target has its difficulty set to the specified value.
**Aliases:**
- `dungeondifficulty`
- `dungeondifficultylevel`
#### ~onDungeonPlayerDeath `(v2.0.1)` **Arguments:**
Fired when a player dies inside the dungeon instance. `<trigger>` is the dying player. - **difficulty | d** :: The difficulty namespace this condition expects.
**Aliases:** `~onDungeonPlayerDeath`
#### ~onDungeonPlayerRespawn `(v2.0.1)` #### Dungeon Elapsed Time `(v2.0.1)`
Fired when a player respawns inside the dungeon instance. `<trigger>` is the respawning player. `- dungeonelapsedtime{time=60;op=>=}`
**Aliases:** `~onDungeonPlayerRespawn` Compares the elapsed dungeon time (in seconds) against a threshold.
**Aliases:**
- `dungeonelapsedtime`
- `dungeonelapsed`
#### ~onDungeonCheckpoint `(v2.0.1)` **Arguments:**
Fired when a player activates a "Checkpoint" function. `<trigger>` is the player who hit the checkpoint. - **time | t | seconds | s** :: The threshold in seconds. Default `0`.
**Aliases:** `~onDungeonCheckpoint` - **op | operator** :: Comparison operator. Default `>=`.
#### ~onSpectatorInteract `(v2.0.1)` #### Dungeon Is `(v2.0.1)`
Fired when a spectating player interacts with a clickable object. `- dungeonis{dungeon=MyDungeon}`
**Aliases:** `~onSpectatorInteract`, `~onDungeonSpectatorInteract`, `~onSpecInteract` Checks if the target is currently in a dungeon with the specified world name.
**Aliases:**
- `dungeonis`
- `isindungeonnamed`
**Arguments:**
- **dungeon | d | name | n** :: The dungeon's world name.
#### Dungeon Is Finished `(v2.0.1)`
`- dungeonisfinished`
Checks if the caster's dungeon instance has been marked as finished.
**Aliases:**
- `dungeonisfinished`
- `disfinished`
#### Dungeon Is Started `(v2.0.1)`
`- dungeonisstarted`
Checks if the caster's dungeon instance has been started.
**Aliases:**
- `dungeonisstarted`
- `disstarted`
#### Dungeon Player Count `(v2.0.1)`
`- dungeonplayercount{count=2;op=>=}`
Compares the total player count in the caster's dungeon against a threshold.
**Aliases:**
- `dungeonplayercount`
- `dpcount`
**Arguments:**
- **count | c | amount | a** :: The threshold to compare against. Default `0`.
- **op | operator** :: Comparison operator. Default `>=`.
#### Has Dungeon Cooldown
`- dungeoncooldown{d=Dungeon Name}`
Checks if the target player is on access cooldown for the specified dungeon. (Returns `true` if they are on cooldown.)
**Aliases:**
- `dungeoncooldown`
- `hasdungeoncooldown`
**Arguments:**
- **dungeon | d** :: The name of the dungeon to check the cooldown of.
#### Has Finished Dungeon
`- dungeonfinished{d=Dungeon Name}`
Checks if the target player has completed the specified dungeon before.
**Aliases:**
- `dungeonfinished`
- `finisheddungeon`
**Arguments:**
- **dungeon | d** :: The name of the dungeon the player must have completed.
#### In Room `(v2.0.1)`
`- inroom{room=BossRoom}`
Checks if the target is inside the bounds of a room with the given source namespace.
**Aliases:**
- `inroom`
- `inroomnamed`
**Arguments:**
- **room | r | name | n** :: The room namespace (the room's source map name).
#### In Same Room `(v2.0.0)`
`- insameroom`
*ONLY WORKS IN PROCEDURAL DUNGEONS!* Checks if the target entity is in the same room as the casting entity.
*NOTE: If the entity was spawned by the dungeon, this checks based on the room that spawned the casting entity, not the entity's current room!*
**Aliases:**
- `insameroom`
- `sameroom`
- `isr`
#### Is In Dungeon
`- isindungeon`
Checks if the target is currently in any dungeon instance.
**Aliases:**
- `isindungeon`
- `indungeon`
- `isd`
#### Shares Dungeon Party
`- sharesparty`
Checks if the target entity (including players) is in the same dungeon party as the caster. Also respects other mobs summoned by those players.
**Aliases:**
- `sharesparty`
- `dungeonparty`