Quest Tasks
Version Support
Section titled “Version Support”| Version | Status |
|---|---|
| v92 | Full |
| v90 | - |
| v86 | - |
Quest tasks define individual objectives within a quest. Each task has a type that determines its behavior and which body properties are valid.
This page documents all 31 task types organized by category.
Task Structure
Section titled “Task Structure”Every task follows this structure:
tasks: - taskId: 1 # Required: unique ID within quest type: HuntTask # Required: task type nextTaskId: 2 # Optional: next task (0 = complete) body: # Optional: type-specific properties targetCount: 10 templateId: 12345Body Properties Reference
Section titled “Body Properties Reference”Different task types use different body properties. This table shows which properties apply to which tasks:
| Property | Type | Used By |
|---|---|---|
targetCount | int | Hunt, HuntAndDeliver, HuntAndCollect, GroupHunt, Collect, Repeat, AbnormalState, SkillHit, FishingSuccess, MinigameComplete, SupplySuccess |
targetId | int | Hunt, HuntAndDeliver, HuntAndCollect, GroupHunt, MoveToPc, MoveToPcBranch, UseItem, AbnormalState, SkillHit, FishingSuccess, DarkRift, GuardianMissionReward, GuardianMissionScore, MinigameComplete, SupplySuccess |
templateId | int | Hunt, HuntAndDeliver, HuntAndCollect, GroupHunt, Transform |
npcId | int | Visit, DeliverItem, DeliverInjectedItem, Escort, Guardian, CollectionComplete, Social |
itemId | int | HuntAndDeliver, HuntAndCollect, Collect, DeliverItem, UseItem |
itemCount | int | DeliverItem, DeliverInjectedItem |
areaId | int | Visit, Hunt, Collect, MoveToPc, Escort, ObjectAction, UseItem, FishingSuccess, Teleport |
zoneId | int | DungeonEvent |
skillId | int | SkillHit |
objectId | int | ObjectAction |
Combat Tasks
Section titled “Combat Tasks”Tasks involving monster encounters and combat objectives.
HuntTask
Section titled “HuntTask”Kill a specified number of monsters.
- taskId: 1 type: HuntTask body: targetCount: 10 # Number of kills required templateId: 12345 # Monster template ID (or use targetId) areaId: 100 # Optional: restrict to area| Property | Type | Since | Description |
|---|---|---|---|
targetCount | int | v92 | Number of monsters to kill |
templateId | int | v92 | Monster template ID |
targetId | int | v92 | Alternative to templateId |
areaId | int | v92 | Optional area restriction |
HuntAndDeliverTask
Section titled “HuntAndDeliverTask”Kill monsters to collect items, then deliver to an NPC.
- taskId: 1 type: HuntAndDeliverTask body: targetCount: 5 # Items to collect templateId: 12345 # Monster template ID npcId: 63001 # Delivery NPC ID itemId: 98765 # Optional: specific item ID| Property | Type | Since | Description |
|---|---|---|---|
targetCount | int | v92 | Number of items to collect |
templateId | int | v92 | Monster template ID |
targetId | int | v92 | Alternative to templateId |
npcId | int | v92 | NPC to deliver items to |
itemId | int | v92 | Specific item ID (optional) |
HuntAndCollectTask
Section titled “HuntAndCollectTask”Kill monsters to collect quest items (no delivery required).
- taskId: 1 type: HuntAndCollectTask body: targetCount: 5 templateId: 12345 itemId: 98765| Property | Type | Since | Description |
|---|---|---|---|
targetCount | int | v92 | Number of items to collect |
templateId | int | v92 | Monster template ID |
targetId | int | v92 | Alternative to templateId |
itemId | int | v92 | Item ID to collect |
GroupHuntTask
Section titled “GroupHuntTask”Kill monsters from a specific monster group.
- taskId: 1 type: GroupHuntTask body: targetCount: 10 templateId: 12345 # Monster group ID| Property | Type | Since | Description |
|---|---|---|---|
targetCount | int | v92 | Number of kills required |
templateId | int | v92 | Monster group ID |
targetId | int | v92 | Alternative to templateId |
SkillHitTask
Section titled “SkillHitTask”Hit targets with a specific skill.
- taskId: 1 type: SkillHitTask body: skillId: 50001 # Skill to use targetId: 12345 # Target template ID targetCount: 5 # Number of hits required| Property | Type | Since | Description |
|---|---|---|---|
skillId | int | v92 | Skill ID to use |
targetId | int | v92 | Target template ID |
targetCount | int | v92 | Number of successful hits |
AbnormalStateTask
Section titled “AbnormalStateTask”Apply a status effect to targets.
- taskId: 1 type: AbnormalStateTask body: targetId: 30001 # Abnormal state ID targetCount: 3 # Stack count required| Property | Type | Since | Description |
|---|---|---|---|
targetId | int | v92 | Abnormal state ID |
targetCount | int | v92 | Required stack count |
EscortTask
Section titled “EscortTask”Escort an NPC to a destination.
- taskId: 1 type: EscortTask body: npcId: 63001 # NPC to escort areaId: 100 # Destination area| Property | Type | Since | Description |
|---|---|---|---|
npcId | int | v92 | NPC to escort |
areaId | int | v92 | Destination area ID |
GuardianTask
Section titled “GuardianTask”Protect a stationary NPC.
- taskId: 1 type: GuardianTask body: npcId: 63001 # NPC to protect| Property | Type | Since | Description |
|---|---|---|---|
npcId | int | v92 | NPC to protect |
Gathering Tasks
Section titled “Gathering Tasks”Tasks involving resource collection.
CollectTask
Section titled “CollectTask”Gather items from world nodes.
- taskId: 1 type: CollectTask body: itemId: 98765 # Item to collect targetCount: 5 # Amount required areaId: 100 # Optional: area restriction| Property | Type | Since | Description |
|---|---|---|---|
itemId | int | v92 | Item ID to collect |
targetCount | int | v92 | Amount required |
areaId | int | v92 | Optional area restriction |
CollectionCompleteTask
Section titled “CollectionCompleteTask”Complete a specific item collection set.
- taskId: 1 type: CollectionCompleteTask body: npcId: 63001 # Turn-in NPC| Property | Type | Since | Description |
|---|---|---|---|
npcId | int | v92 | Collection turn-in NPC |
NPC Interaction Tasks
Section titled “NPC Interaction Tasks”Tasks involving NPC dialogue and item delivery.
VisitTask
Section titled “VisitTask”Talk to a specific NPC.
- taskId: 1 type: VisitTask body: npcId: 63001 # NPC to visit areaId: 100 # Optional: area restriction| Property | Type | Since | Description |
|---|---|---|---|
npcId | int | v92 | NPC ID to visit |
areaId | int | v92 | Optional area restriction |
dialogueId | int | v92 | Dialogue reference |
DeliverItemTask
Section titled “DeliverItemTask”Deliver an inventory item to an NPC.
- taskId: 1 type: DeliverItemTask body: itemId: 98765 # Item to deliver itemCount: 1 # Amount required npcId: 63001 # Delivery NPC| Property | Type | Since | Description |
|---|---|---|---|
itemId | int | v92 | Item ID to deliver |
itemCount | int | v92 | Amount to deliver |
npcId | int | v92 | Delivery NPC ID |
DeliverInjectedItemTask
Section titled “DeliverInjectedItemTask”Deliver a quest-provided item to an NPC.
- taskId: 1 type: DeliverInjectedItemTask body: itemCount: 1 # Amount required npcId: 63001 # Delivery NPC| Property | Type | Since | Description |
|---|---|---|---|
itemCount | int | v92 | Amount to deliver |
npcId | int | v92 | Delivery NPC ID |
Movement Tasks
Section titled “Movement Tasks”Tasks involving player movement and teleportation.
MoveToPcTask
Section titled “MoveToPcTask”Move to a specific location (auto-completes on arrival).
- taskId: 1 type: MoveToPcTask body: targetId: 100 # Location/PC ID areaId: 200 # Area ID| Property | Type | Since | Description |
|---|---|---|---|
targetId | int | v92 | Target PC/location ID |
areaId | int | v92 | Area ID |
MoveToPcBranchTask
Section titled “MoveToPcBranchTask”Branch based on which region the player enters first.
- taskId: 1 type: MoveToPcBranchTask body: targetId: 100 # Target PC ID| Property | Type | Since | Description |
|---|---|---|---|
targetId | int | v92 | Target PC ID |
TeleportTask
Section titled “TeleportTask”Instantly teleport the player.
- taskId: 1 type: TeleportTask body: areaId: 100 # Destination ID| Property | Type | Since | Description |
|---|---|---|---|
areaId | int | v92 | Destination area/continent ID |
Activity Tasks
Section titled “Activity Tasks”Tasks involving player activities and interactions.
ObjectActionTask
Section titled “ObjectActionTask”Interact with a world object.
- taskId: 1 type: ObjectActionTask body: objectId: 50001 # Object to interact with areaId: 100 # Optional: area restriction| Property | Type | Since | Description |
|---|---|---|---|
objectId | int | v92 | World object ID |
areaId | int | v92 | Optional area restriction |
UseItemTask
Section titled “UseItemTask”Use a specific item.
- taskId: 1 type: UseItemTask body: itemId: 98765 # Item to use targetId: 12345 # Optional: target areaId: 100 # Optional: area restriction| Property | Type | Since | Description |
|---|---|---|---|
itemId | int | v92 | Item ID to use |
targetId | int | v92 | Optional target ID |
areaId | int | v92 | Optional area restriction |
SocialTask
Section titled “SocialTask”Perform emote or social actions.
- taskId: 1 type: SocialTask body: npcId: 63001 # Target NPC for emote| Property | Type | Since | Description |
|---|---|---|---|
npcId | int | v92 | Target NPC ID |
FishingSuccessTask
Section titled “FishingSuccessTask”Successfully catch fish.
- taskId: 1 type: FishingSuccessTask body: targetId: 40001 # Fish type ID targetCount: 5 # Number of catches areaId: 100 # Optional: fishing area| Property | Type | Since | Description |
|---|---|---|---|
targetId | int | v92 | Fish type ID |
targetCount | int | v92 | Number of successful catches |
areaId | int | v92 | Optional fishing area |
MinigameCompleteTask
Section titled “MinigameCompleteTask”Complete an in-game minigame.
- taskId: 1 type: MinigameCompleteTask body: targetId: 70001 # Minigame ID targetCount: 100 # Target score| Property | Type | Since | Description |
|---|---|---|---|
targetId | int | v92 | Minigame ID |
targetCount | int | v92 | Target score |
Flow Control Tasks
Section titled “Flow Control Tasks”Tasks that control quest progression flow.
BranchTask
Section titled “BranchTask”Route to different tasks based on choice or probability.
- taskId: 1 type: BranchTask body: {} # Branch options defined in XMLBranch options are typically defined directly in XML. This task type has minimal YAML body support.
ConditionTask
Section titled “ConditionTask”Complete based on event conditions.
- taskId: 1 type: ConditionTask body: {} # Conditions defined in XMLConditions are typically defined directly in XML. This task type has minimal YAML body support.
RepeatTask
Section titled “RepeatTask”Container for repeatable objectives.
- taskId: 1 type: RepeatTask body: targetCount: 3 # Number of repetitions| Property | Type | Since | Description |
|---|---|---|---|
targetCount | int | v92 | Number of repetitions required |
Special Tasks
Section titled “Special Tasks”Tasks for special game systems and events.
PlayMovieTask
Section titled “PlayMovieTask”Trigger a cinematic sequence.
- taskId: 1 type: PlayMovieTask body: {} # Cinematic ID set via cinematicId on taskUse the cinematicId property on the task itself, not in the body.
TransformTask
Section titled “TransformTask”Transform the player or an NPC.
- taskId: 1 type: TransformTask body: templateId: 80001 # Transform template ID| Property | Type | Since | Description |
|---|---|---|---|
templateId | int | v92 | Transform template ID |
DungeonEventTask
Section titled “DungeonEventTask”Trigger a scripted dungeon event.
- taskId: 1 type: DungeonEventTask body: zoneId: 9001 # Dungeon zone ID| Property | Type | Since | Description |
|---|---|---|---|
zoneId | int | v92 | Dungeon zone ID |
DarkRiftTask
Section titled “DarkRiftTask”Dark Rift world event task.
- taskId: 1 type: DarkRiftTask body: targetId: 90001 # Rift ID| Property | Type | Since | Description |
|---|---|---|---|
targetId | int | v92 | Dark Rift ID |
GuardianMissionRewardTask
Section titled “GuardianMissionRewardTask”Guardian Legion mission reward collection.
- taskId: 1 type: GuardianMissionRewardTask body: targetId: 85001 # Mission ID| Property | Type | Since | Description |
|---|---|---|---|
targetId | int | v92 | Guardian mission ID |
GuardianMissionScoreTask
Section titled “GuardianMissionScoreTask”Guardian Legion mission score achievement.
- taskId: 1 type: GuardianMissionScoreTask body: targetId: 85001 # Mission ID targetCount: 1000 # Target score| Property | Type | Since | Description |
|---|---|---|---|
targetId | int | v92 | Guardian mission ID |
targetCount | int | v92 | Target score |
SupplySuccessTask
Section titled “SupplySuccessTask”Trade to a reputation shop.
- taskId: 1 type: SupplySuccessTask body: targetId: 95001 # Supply ID targetCount: 10 # Amount required| Property | Type | Since | Description |
|---|---|---|---|
targetId | int | v92 | Supply target ID |
targetCount | int | v92 | Amount required |
Task Type Quick Reference
Section titled “Task Type Quick Reference”| Task Type | Category | Primary Properties |
|---|---|---|
HuntTask | Combat | targetCount, templateId |
HuntAndDeliverTask | Combat | targetCount, templateId, npcId |
HuntAndCollectTask | Combat | targetCount, templateId, itemId |
GroupHuntTask | Combat | targetCount, templateId |
SkillHitTask | Combat | skillId, targetId, targetCount |
AbnormalStateTask | Combat | targetId, targetCount |
EscortTask | Combat | npcId, areaId |
GuardianTask | Combat | npcId |
CollectTask | Gathering | itemId, targetCount |
CollectionCompleteTask | Gathering | npcId |
VisitTask | NPC | npcId |
DeliverItemTask | NPC | itemId, itemCount, npcId |
DeliverInjectedItemTask | NPC | itemCount, npcId |
MoveToPcTask | Movement | targetId, areaId |
MoveToPcBranchTask | Movement | targetId |
TeleportTask | Movement | areaId |
ObjectActionTask | Activity | objectId |
UseItemTask | Activity | itemId, targetId |
SocialTask | Activity | npcId |
FishingSuccessTask | Activity | targetId, targetCount |
MinigameCompleteTask | Activity | targetId, targetCount |
BranchTask | Flow | — |
ConditionTask | Flow | — |
RepeatTask | Flow | targetCount |
PlayMovieTask | Special | — |
TransformTask | Special | templateId |
DungeonEventTask | Special | zoneId |
DarkRiftTask | Special | targetId |
GuardianMissionRewardTask | Special | targetId |
GuardianMissionScoreTask | Special | targetId, targetCount |
SupplySuccessTask | Special | targetId, targetCount |
Common Pitfalls
Section titled “Common Pitfalls”-
Wrong body properties: Each task type only recognizes specific body properties. Using
itemIdon aHuntTaskhas no effect. -
templateId vs targetId: These are often interchangeable for monster-based tasks. Use whichever matches your data source.
-
Empty body tasks: Some tasks like
BranchTask,ConditionTask, andPlayMovieTaskhave minimal YAML body support. Their full configuration requires direct XML editing. -
Task chain ordering: Tasks execute based on
nextTaskId, not their position in the YAML list. Ensure your chain flows correctly. -
Final task: The last task in a quest chain should have
nextTaskId: 0to signal quest completion.