Flow Control Tasks
Tasks that control quest progression: branching, conditions, and repeatable loops.
Task Types
Section titled “Task Types”- BranchTask — Present the player with choices that route to different next tasks.
- ConditionTask — Complete based on a specific game condition. Routes to true/false next tasks.
- RepeatTask — A repeatable objective container with configurable repeat method and target.
For properties common to all tasks (header, completion items, journal text) see the Task Overview.
BranchTask
Section titled “BranchTask”Present the player with choices that route to different next tasks.
<이름> discriminator: 분기Task
tasks: - taskId: 1 type: BranchTask body: targetNpc: "63,1001" branchType: "manual" preBranchDialogue: 5| YAML property | Type | Description |
|---|---|---|
targetNpc | string | NPC presenting the choices. |
preBranchDialogue | int | Dialogue ID shown before choices appear. |
branchType | string | Branch type (auto or manual). |
completionButtonText | string | Completion button label. |
| YAML property | XML element | XML location |
|---|---|---|
targetNpc | <대상NPC지정> | <Body> → <대상NPC지정> |
preBranchDialogue | <분기선택전대사> | <Body> → <분기선택전대사> |
branchType | <분기유형> | <Body> → <분기유형> |
completionButtonText | <완료버튼Text> | <Body> → <완료버튼Text> |
<Body> <분기작성> <대상NPC지정>63,1001</대상NPC지정> <분기선택전대사>5</분기선택전대사> <분기유형>manual</분기유형> <분기작성> <선택지Text>Choice A</선택지Text> <연결Task>2</연결Task> </분기작성> <분기작성> <선택지Text>Choice B</선택지Text> <연결Task>3</연결Task> </분기작성> </분기작성></Body>ConditionTask
Section titled “ConditionTask”Complete based on a specific game condition. Routes to true/false next tasks.
<이름> discriminator: 조건Task
tasks: - taskId: 1 type: ConditionTask body: conditionType: useItem conditionItemId: 98 conditionItemCount: 1| YAML property | Type | Description |
|---|---|---|
conditionType | string | Condition variant. Values: useItem, rest, enhance, gamble, learnSkill, winBattlefield. |
conditionItemId | int | Item ID — only valid when conditionType: useItem. |
conditionItemCount | int | Item quantity — only valid when conditionType: useItem. |
| YAML property | XML element | XML location |
|---|---|---|
conditionType | <(sub-element name)> | <Body> → <완료조건> → <sub-element> |
conditionItemId | <아이템Id> | <Body> → <완료조건> → <아이템사용> → <아이템Id> |
conditionItemCount | <아이템갯수> | <Body> → <완료조건> → <아이템사용> → <아이템갯수> |
<Body> <완료조건> <아이템사용> <아이템Id>98</아이템Id> <아이템갯수>1</아이템갯수> </아이템사용> </완료조건> <저널Text>@quest:1001001</저널Text> <성공메시지>@quest:1001002</성공메시지></Body>RepeatTask
Section titled “RepeatTask”A repeatable objective container with configurable repeat method and target.
<이름> discriminator: 반복Task
tasks: - taskId: 1 type: RepeatTask body: repeatMethod: "daily" repeatCount: 3| YAML property | Type | Description |
|---|---|---|
repeatMethod | string | Repeat method type. |
repeatTarget | string | Repeat target specification. |
repeatCount / targetCount | int | Number of repetitions. repeatCount takes precedence over targetCount. |
maxFlagCount | int | Maximum flag item count. |
sequentialDistribution | string | Sequential distribution mode. |
targetNpc | string | Target NPC spec string. |
normalDialogue | int | Dialogue ID shown normally. |
incompleteDialogue | int | Dialogue ID shown when incomplete. |
rewardChoiceText | string | Reward choice button label. |
| YAML property | XML element | XML location |
|---|---|---|
repeatMethod | <반복방식> | <Body> → <반복방식> |
repeatTarget | <반복목표> | <Body> → <반복목표> |
repeatCount / targetCount | <반복횟수> | <Body> → <반복횟수> |
maxFlagCount | <최대Flag소지량> | <Body> → <최대Flag소지량> |
sequentialDistribution | <순차분배> | <Body> → <순차분배> |
targetNpc | <대상NPC지정> | <Body> → <대상NPC지정> |
normalDialogue | <일반대사작성> | <Body> → <일반대사작성> |
incompleteDialogue | <미완료시대사작성> | <Body> → <미완료시대사작성> |
rewardChoiceText | <보상획득선택지Text> | <Body> → <보상획득선택지Text> |
<Body> <반복방식>daily</반복방식> <반복횟수>3</반복횟수></Body>