Master Data Reference of GS2-Quest

Reference of the format of master data and various models to be imported

Master Data Format

{
  "version": "2019-05-14",
  "groups": [
    {
      "name": "[string]Quest Group Model Name",
      "metadata": "[string?]Metadata",
      "quests": [
        {
          "questModelId": "[string]Quest Model GRN",
          "name": "[string]Quest Model Name",
          "metadata": "[string?]Metadata",
          "contents": [
            {
              "metadata": "[string?]Metadata",
              "completeAcquireActions": [
                {
                  "action": "[string]Types of actions to be performed in the acquire action",
                  "request": "[string]JSON string of the request used when executing the action"
                }
              ],
              "weight": "[int]Weight to be drawn"
            }
          ],
          "challengePeriodEventId": "[string?]GS2-Schedule event GRN that sets the time period during which the quest can be attempted.",
          "firstCompleteAcquireActions": [
            {
              "action": "[string]Types of actions to be performed in the acquire action",
              "request": "[string]JSON string of the request used when executing the action"
            }
          ],
          "verifyActions": [
            {
              "action": "[string]Types of actions to be performed in the verify task",
              "request": "[string]JSON string of the request used when executing the action"
            }
          ],
          "consumeActions": [
            {
              "action": "[string]Types of actions to be performed in the consume action",
              "request": "[string]JSON string of the request used when executing the action"
            }
          ],
          "failedAcquireActions": [
            {
              "action": "[string]Types of actions to be performed in the acquire action",
              "request": "[string]JSON string of the request used when executing the action"
            }
          ],
          "premiseQuestNames": [
            "[string]Quest Model Name"
          ]
        }
      ],
      "challengePeriodEventId": "[string?]GS2-Schedule event GRN that sets the time period during which the quest can be attempted."
    }
  ]
}
TypeConditionRequiredDefaultValue LimitsDescription
versionstring
2019-05-14Format version of master data
groupsList<QuestGroupModel>~ 10 itemsQuest Group Model
A quest group is an entity for grouping multiple quests, and only one quest progression can be executed simultaneously within the group.
This means that if you need to be able to progress quests in parallel, you must separate the groups.

Model

QuestGroupModel

Quest Group Model

A quest group is an entity for grouping multiple quests, and only one quest progression can be executed simultaneously within the group. This means that if you need to be able to progress quests in parallel, you must separate the groups.

TypeConditionRequiredDefaultValue LimitsDescription
questGroupModelIdstring
✓*
~ 1024 charsQuest Group GRN
* Automatically configured on the server
namestring
~ 128 charsQuest Group Model Name
Quest Group Model-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
metadatastring~ 1024 charsMetadata
Arbitrary values can be set in the metadata.
Since they do not affect GS2’s behavior, they can be used to store information used in the game.
questsList<QuestModel>[]0 ~ 1000 itemsQuests belonging to the group
challengePeriodEventIdstring~ 1024 charsGS2-Schedule event GRN that sets the time period during which the quest can be attempted.

QuestModel

Quest Model

A quest is an entity that holds the consideration required to start in-game and the reward for completing it.

The reward obtained upon completion of the quest can have multiple variations and can be drawn at the start of the quest. For example, the same content can be used to manage the clear flag of a quest, but two types of content can be prepared based on whether or not a rare monster appears.

TypeConditionRequiredDefaultValue LimitsDescription
questModelIdstring
✓*
~ 1024 charsQuest Model GRN
* Automatically configured on the server
namestring
~ 128 charsQuest Model Name
Quest Model-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
metadatastring~ 1024 charsMetadata
Arbitrary values can be set in the metadata.
Since they do not affect GS2’s behavior, they can be used to store information used in the game.
contentsList<Contents>
[]1 ~ 10 itemsQuest content variations
challengePeriodEventIdstring~ 1024 charsGS2-Schedule event GRN that sets the time period during which the quest can be attempted.
firstCompleteAcquireActionsList<AcquireAction>[]0 ~ 10 itemsList of First Clear Reward Actions
verifyActionsList<VerifyAction>[]0 ~ 10 itemsList of verification actions for quest participation conditions
consumeActionsList<ConsumeAction>[]0 ~ 10 itemsQuest entry fee
failedAcquireActionsList<AcquireAction>[]0 ~ 100 itemsReward for quest failure
premiseQuestNamesList<string>[]0 ~ 10 itemsList of quest names that must be cleared beforehand to challenge a quest

Contents

Contents

TypeConditionRequiredDefaultValue LimitsDescription
metadatastring~ 256 charsMetadata
Arbitrary values can be set in the metadata.
Since they do not affect GS2’s behavior, they can be used to store information used in the game.
completeAcquireActionsList<AcquireAction>[]0 ~ 10 itemsRewards for completing quests
weightint
11 ~ 2147483646Weight to be drawn

AcquireAction

Acquire Action

TypeConditionRequiredDefaultValue LimitsDescription
actionString Enum
enum {
"Gs2AdReward:AcquirePointByUserId",
"Gs2Dictionary:AddEntriesByUserId",
"Gs2Enchant:ReDrawBalanceParameterStatusByUserId",
"Gs2Enchant:SetBalanceParameterStatusByUserId",
"Gs2Enchant:ReDrawRarityParameterStatusByUserId",
"Gs2Enchant:AddRarityParameterStatusByUserId",
"Gs2Enchant:SetRarityParameterStatusByUserId",
"Gs2Enhance:DirectEnhanceByUserId",
"Gs2Enhance:UnleashByUserId",
"Gs2Enhance:CreateProgressByUserId",
"Gs2Exchange:ExchangeByUserId",
"Gs2Exchange:IncrementalExchangeByUserId",
"Gs2Exchange:CreateAwaitByUserId",
"Gs2Exchange:AcquireForceByUserId",
"Gs2Exchange:SkipByUserId",
"Gs2Experience:AddExperienceByUserId",
"Gs2Experience:SetExperienceByUserId",
"Gs2Experience:AddRankCapByUserId",
"Gs2Experience:SetRankCapByUserId",
"Gs2Experience:MultiplyAcquireActionsByUserId",
"Gs2Formation:AddMoldCapacityByUserId",
"Gs2Formation:SetMoldCapacityByUserId",
"Gs2Formation:AcquireActionsToFormProperties",
"Gs2Formation:SetFormByUserId",
"Gs2Formation:AcquireActionsToPropertyFormProperties",
"Gs2Friend:UpdateProfileByUserId",
"Gs2Grade:AddGradeByUserId",
"Gs2Grade:ApplyRankCapByUserId",
"Gs2Grade:MultiplyAcquireActionsByUserId",
"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName",
"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName",
"Gs2Idle:IncreaseMaximumIdleMinutesByUserId",
"Gs2Idle:SetMaximumIdleMinutesByUserId",
"Gs2Idle:ReceiveByUserId",
"Gs2Inbox:SendMessageByUserId",
"Gs2Inventory:AddCapacityByUserId",
"Gs2Inventory:SetCapacityByUserId",
"Gs2Inventory:AcquireItemSetByUserId",
"Gs2Inventory:AcquireItemSetWithGradeByUserId",
"Gs2Inventory:AddReferenceOfByUserId",
"Gs2Inventory:DeleteReferenceOfByUserId",
"Gs2Inventory:AcquireSimpleItemsByUserId",
"Gs2Inventory:SetSimpleItemsByUserId",
"Gs2Inventory:AcquireBigItemByUserId",
"Gs2Inventory:SetBigItemByUserId",
"Gs2JobQueue:PushByUserId",
"Gs2Limit:CountDownByUserId",
"Gs2Limit:DeleteCounterByUserId",
"Gs2LoginReward:DeleteReceiveStatusByUserId",
"Gs2LoginReward:UnmarkReceivedByUserId",
"Gs2Lottery:DrawByUserId",
"Gs2Lottery:ResetBoxByUserId",
"Gs2Mission:RevertReceiveByUserId",
"Gs2Mission:IncreaseCounterByUserId",
"Gs2Mission:SetCounterByUserId",
"Gs2Money:DepositByUserId",
"Gs2Money:RevertRecordReceipt",
"Gs2Money2:DepositByUserId",
"Gs2Quest:CreateProgressByUserId",
"Gs2Schedule:TriggerByUserId",
"Gs2Schedule:ExtendTriggerByUserId",
"Gs2Script:InvokeScript",
"Gs2SerialKey:RevertUseByUserId",
"Gs2SerialKey:IssueOnce",
"Gs2Showcase:DecrementPurchaseCountByUserId",
"Gs2Showcase:ForceReDrawByUserId",
"Gs2SkillTree:MarkReleaseByUserId",
"Gs2Stamina:RecoverStaminaByUserId",
"Gs2Stamina:RaiseMaxValueByUserId",
"Gs2Stamina:SetMaxValueByUserId",
"Gs2Stamina:SetRecoverIntervalByUserId",
"Gs2Stamina:SetRecoverValueByUserId",
"Gs2StateMachine:StartStateMachineByUserId",
}
Types of actions to be performed in the acquire action
requeststring
~ 524288 charsJSON string of the request used when executing the action

ConsumeAction

Consume Action

TypeConditionRequiredDefaultValue LimitsDescription
actionString Enum
enum {
"Gs2AdReward:ConsumePointByUserId",
"Gs2Dictionary:DeleteEntriesByUserId",
"Gs2Enhance:DeleteProgressByUserId",
"Gs2Exchange:DeleteAwaitByUserId",
"Gs2Experience:SubExperienceByUserId",
"Gs2Experience:SubRankCapByUserId",
"Gs2Formation:SubMoldCapacityByUserId",
"Gs2Grade:SubGradeByUserId",
"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName",
"Gs2Idle:DecreaseMaximumIdleMinutesByUserId",
"Gs2Inbox:OpenMessageByUserId",
"Gs2Inbox:DeleteMessageByUserId",
"Gs2Inventory:ConsumeItemSetByUserId",
"Gs2Inventory:ConsumeSimpleItemsByUserId",
"Gs2Inventory:ConsumeBigItemByUserId",
"Gs2JobQueue:DeleteJobByUserId",
"Gs2Limit:CountUpByUserId",
"Gs2LoginReward:MarkReceivedByUserId",
"Gs2Mission:ReceiveByUserId",
"Gs2Mission:BatchReceiveByUserId",
"Gs2Mission:DecreaseCounterByUserId",
"Gs2Mission:ResetCounterByUserId",
"Gs2Money:WithdrawByUserId",
"Gs2Money:RecordReceipt",
"Gs2Money2:WithdrawByUserId",
"Gs2Money2:VerifyReceiptByUserId",
"Gs2Quest:DeleteProgressByUserId",
"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId",
"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId",
"Gs2Schedule:DeleteTriggerByUserId",
"Gs2SerialKey:UseByUserId",
"Gs2Showcase:IncrementPurchaseCountByUserId",
"Gs2SkillTree:MarkRestrainByUserId",
"Gs2Stamina:DecreaseMaxValueByUserId",
"Gs2Stamina:ConsumeStaminaByUserId",
}
Types of actions to be performed in the consume action
requeststring
~ 524288 charsJSON string of the request used when executing the action

VerifyAction

Verify Action

TypeConditionRequiredDefaultValue LimitsDescription
actionString Enum
enum {
"Gs2Dictionary:VerifyEntryByUserId",
"Gs2Distributor:IfExpressionByUserId",
"Gs2Distributor:AndExpressionByUserId",
"Gs2Distributor:OrExpressionByUserId",
"Gs2Enchant:VerifyRarityParameterStatusByUserId",
"Gs2Experience:VerifyRankByUserId",
"Gs2Experience:VerifyRankCapByUserId",
"Gs2Grade:VerifyGradeByUserId",
"Gs2Grade:VerifyGradeUpMaterialByUserId",
"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName",
"Gs2Guild:VerifyIncludeMemberByUserId",
"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId",
"Gs2Inventory:VerifyItemSetByUserId",
"Gs2Inventory:VerifyReferenceOfByUserId",
"Gs2Inventory:VerifySimpleItemByUserId",
"Gs2Inventory:VerifyBigItemByUserId",
"Gs2Limit:VerifyCounterByUserId",
"Gs2Matchmaking:VerifyIncludeParticipantByUserId",
"Gs2Mission:VerifyCompleteByUserId",
"Gs2Mission:VerifyCounterValueByUserId",
"Gs2Ranking2:VerifyGlobalRankingScoreByUserId",
"Gs2Ranking2:VerifyClusterRankingScoreByUserId",
"Gs2Ranking2:VerifySubscribeRankingScoreByUserId",
"Gs2Schedule:VerifyTriggerByUserId",
"Gs2Schedule:VerifyEventByUserId",
"Gs2SerialKey:VerifyCodeByUserId",
"Gs2Stamina:VerifyStaminaValueByUserId",
"Gs2Stamina:VerifyStaminaMaxValueByUserId",
"Gs2Stamina:VerifyStaminaRecoverIntervalMinutesByUserId",
"Gs2Stamina:VerifyStaminaRecoverValueByUserId",
"Gs2Stamina:VerifyStaminaOverflowValueByUserId",
}
Types of actions to be performed in the verify task
requeststring
~ 524288 charsJSON string of the request used when executing the action