Skip to content

DungeonData: Event Groups

Part of DungeonData. Event groups are the primary scripting mechanism for dungeon encounters. Each group defines a trigger condition and contains event tasks that execute when triggered.


DungeonData events use a 4-level hierarchy:

EventGroup (trigger definition)
└── Event (optional quest/text association)
└── EventTaskGroup (probability-weighted selection)
└── EventTask (individual scripted action)

94% of dungeons use the flat tasks shorthand, which omits the Event and EventTaskGroup wrappers. The mapper automatically creates them with default values (single Event, single EventTaskGroup with probability 1.0):

eventGroups:
- type: enterTerritory
territoryId: "99001"
tasks:
- type: spawn
next: "none"
huntingZoneId: 990
templateId: 100
- type: message
next: "none"
string: "@dungeon:welcome"
style: combat

Use the nested syntax when you need multiple EventTaskGroups with different probabilities, or event-level properties:

eventGroups:
- type: npcHp
uniqueId: "990,1000"
value: "30"
events:
- eventTaskGroups:
- probability: 0.7
eventTasks:
- type: spawn
next: "none"
huntingZoneId: 990
templateId: 200
- probability: 0.3
eventTasks:
- type: spawn
next: "none"
huntingZoneId: 990
templateId: 300

PropertyTypeSinceDescription
typeEventGroupTypev92Trigger type for the event group
repeatboolv92Allow the event group to repeat
uniqueIdstringv92NPC reference as huntingZone,templateId
valuestringv92Trigger threshold value
namestringv92Event group name identifier
idintv92Numeric event group ID
timerNamestringv92Referenced timer name
territoryIdstringv92Territory ID trigger
killCountNamestringv92Kill counter name reference
triggerUserClassstringv92Restrict trigger to player class
stopWhenDeathboolv92Stop event group on entity death
eventNamestringv92Named event reference
comparisonEventGroupComparisonv92Value comparison operator
stopWhenResetboolv92Stop event group on dungeon reset
targetNpcIdstringv92Target NPC as huntingZone,templateId
value2stringv92Secondary trigger value
logRecordboolv92Enable log recording
checkVillagerMenuboolv92Check villager menu state
phaseLevelintv92Dungeon phase level requirement
stopWhenCombatboolv92Stop event group when combat starts
repeatAliveboolv92Repeat only while NPC is alive
needAllMemberboolv92Require all party members present
nextstringv92Next event group reference
nextValuestringv92Parameter for next event group
taskslistv92Flat task list (shorthand syntax)
eventslistv92Nested event list (full syntax)

PropertyTypeSinceDescription
questIdstringv92Associated quest ID
taskIdstringv92Associated quest task ID
textIdstringv92Display text string ID
repeatboolv92Allow event to repeat
eventTaskGroupslistv92Weighted task group list

PropertyTypeSinceDescription
probabilitydecimalv92Selection weight (0.0-1.0)
eventTaskslistv92Task entries in this group

ValueSinceDescription
"none"v92No trigger (manual activation)
npcHpv92NPC HP threshold reached
flagv92Flag value changed
timerv92Timer expired
enterTerritoryv92Player enters territory
npcResetv92NPC reset to initial state
eliminatev92All target NPCs eliminated
killCountv92Kill count threshold reached
npcStatev92NPC state changed
questProgressv92Quest progress updated
initializev92Dungeon initialization
Workobjectv92Work object interaction
talkNpcv92NPC dialogue triggered
eventGagev92Event gauge threshold reached
eliminateRepeatlyv92Repeated elimination trigger
npcPartBreakv92NPC part destroyed
annihilatedv92Party wiped
questFailv92Quest objective failed
userCountInTerritoryv92Player count in territory changed
leaveTerritoryv92Player leaves territory
phaseInitializev92Phase initialization
userCountInDungeonv92Player count in dungeon changed
ValueSinceDescription
"none"v92No comparison (exact match)
gtv92Greater than
ltv92Less than