Master Data Reference of GS2-Mission

{
  "version": "2019-05-28",
  "groups": [
    {
      "name": "[string]Mission Group Name",
      "metadata": "[string?]metadata",
      "tasks": [
        {
          "missionTaskId": "[string]Mission Task GRN",
          "name": "[string]Task Name",
          "metadata": "[string?]metadata",
          "verifyCompleteType": "[string]Completion criteria type",
          "targetCounter": {
            "counterName": "[string]Counter Name",
            "resetType": "[string?]Target Reset timing",
            "value": "[long]Target value"
          },
          "verifyCompleteConsumeActions": [
            {
              "action": "[string]Types of actions to be performed in the stamp task",
              "request": "[string]JSON of request"
            }
          ],
          "completeAcquireActions": [
            {
              "action": "[string]Types of actions to be performed in the stamp sheet",
              "request": "[string]JSON of request"
            }
          ],
          "challengePeriodEventId": "[string?]GS2-Schedule event GRN with a set period of time during which rewards can be received",
          "premiseMissionTaskName": "[string?]Name of the tasks accomplish to attempt this task",
          "counterName": "[string]Counter Name",
          "targetResetType": "[string?]Target Reset timing",
          "targetValue": "[long]Target value"
        }
      ],
      "resetType": "[string]Reset timing",
      "resetDayOfMonth": "[int]Date to reset (If the value exceeds the days of the month, it is treated as the last day.)",
      "resetDayOfWeek": "[string]Day of the week to reset",
      "resetHour": "[int]Hour of Reset",
      "completeNotificationNamespaceId": "[string?]Namespace GRN"
    }
  ],
  "counters": [
    {
      "name": "[string]Counter Name",
      "metadata": "[string?]metadata",
      "scopes": [
        {
          "resetType": "[string]Reset timing",
          "resetDayOfMonth": "[int]Date to reset (If the value exceeds the days of the month, it is treated as the last day.)",
          "resetDayOfWeek": "[string]Day of the week to reset",
          "resetHour": "[int]Hour of Reset"
        }
      ],
      "challengePeriodEventId": "[string?]GS2-Schedule event GRN that sets the period during which the counter can be operated."
    }
  ]
}
TypeConditionRequireDefaultLimitationDescription
version2019-05-28Format version of master data
groupsList<MissionGroupModel>~ 10 itemsMission Group Model
countersList<CounterModel>~ 1000 itemsCounter Model

CounterScopeModel

Counter Reset Timing Model

TypeConditionRequireDefaultLimitationDescription
resetTypeenum [
“notReset”,
“daily”,
“weekly”,
“monthly”
]
~ 128 charsReset timing
resetDayOfMonthint{resetType} == “monthly”1 ~ 31Date to reset (If the value exceeds the days of the month, it is treated as the last day.)
resetDayOfWeekenum [
“sunday”,
“monday”,
“tuesday”,
“wednesday”,
“thursday”,
“friday”,
“saturday”
]
{resetType} == “weekly”~ 128 charsDay of the week to reset
resetHourint{resetType} in [“monthly”, “weekly”, “daily”]~ 23Hour of Reset

CounterModel

Counter Model

The counter model is an entity that can be set as a condition for accomplishing mission tasks. Since counter values can be referenced by multiple mission groups, a single counter can be set as an accomplishment condition for multiple mission groups, such as weekly and daily missions.

TypeConditionRequireDefaultLimitationDescription
counterIdstring~ 1024 charsCounter Model GRN
namestring~ 128 charsCounter Name
metadatastring~ 1024 charsmetadata
scopesList<CounterScopeModel>[]1 ~ 100 itemsList of Counter reset timing
challengePeriodEventIdstring~ 1024 charsGS2-Schedule event GRN that sets the period during which the counter can be operated.

MissionGroupModel

Mission Group Model

A mission group is an entity that groups tasks by counter reset timing. For example, one group for daily missions. One group for Weekly Mission.

TypeConditionRequireDefaultLimitationDescription
missionGroupIdstring~ 1024 charsMission Group GRN
namestring~ 128 charsMission Group Name
metadatastring~ 1024 charsmetadata
tasksList<MissionTaskModel>~ 1000 itemsList of Mission Task
resetTypeenum [
“notReset”,
“daily”,
“weekly”,
“monthly”
]
“notReset”~ 128 charsReset timing
resetDayOfMonthint{resetType} == “monthly”1 ~ 31Date to reset (If the value exceeds the days of the month, it is treated as the last day.)
resetDayOfWeekenum [
“sunday”,
“monday”,
“tuesday”,
“wednesday”,
“thursday”,
“friday”,
“saturday”
]
{resetType} == “weekly”~ 128 charsDay of the week to reset
resetHourint{resetType} in [“monthly”, “weekly”, “daily”]~ 23Hour of Reset
completeNotificationNamespaceIdstring~ 1024 charsNamespace GRN

MissionTaskModel

Mission Task Model Master

A mission task is an entity that defines the conditions under which a reward will be given if the value of the associated counter exceeds a certain level.

TypeConditionRequireDefaultLimitationDescription
missionTaskIdstring~ 1024 charsMission Task GRN
namestring~ 128 charsTask Name
metadatastring~ 1024 charsmetadata
verifyCompleteTypeenum [
“counter”,
“consumeActions”
]
“counter”~ 128 charsCompletion criteria type
targetCounterTargetCounterModel{verifyCompleteType} == “counter”Target Counter
verifyCompleteConsumeActionsList<ConsumeAction>{verifyCompleteType} == “consumeActions”~ 10 itemsConsume actions to be verified when the task is completed
completeAcquireActionsList<AcquireAction>[]~ 100 itemsRewards for mission accomplishment
challengePeriodEventIdstring~ 1024 charsGS2-Schedule event GRN with a set period of time during which rewards can be received
premiseMissionTaskNamestring~ 128 charsName of the tasks accomplish to attempt this task
counterNamestring~ 128 charsCounter Name
targetResetTypeenum [
“notReset”,
“daily”,
“weekly”,
“monthly”
]
~ 128 charsTarget Reset timing
targetValuelong1 ~ 9223372036854775805Target value

ScopedValue

Reset timing

TypeConditionRequireDefaultLimitationDescription
resetTypeenum [
“notReset”,
“daily”,
“weekly”,
“monthly”
]
~ 128 charsReset timing
valuelong0~ 9223372036854775805Count value
nextResetAtlongNext reset timing
updatedAtlongDatetime of last update

TargetCounterModel

Target Counter

Information about the counter that serves as the achievement goal for the mission

TypeConditionRequireDefaultLimitationDescription
counterNamestring~ 128 charsCounter Name
resetTypeenum [
“notReset”,
“daily”,
“weekly”,
“monthly”
]
~ 128 charsTarget Reset timing
valuelong1 ~ 9223372036854775805Target value

AcquireAction

Acquire Action

TypeConditionRequireDefaultLimitationDescription
actionenum [
"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:UnlockIncrementalExchangeByUserId",
"Gs2Exchange:CreateAwaitByUserId",
"Gs2Exchange:SkipByUserId",
"Gs2Experience:AddExperienceByUserId",
"Gs2Experience:SetExperienceByUserId",
"Gs2Experience:AddRankCapByUserId",
"Gs2Experience:SetRankCapByUserId",
"Gs2Experience:MultiplyAcquireActionsByUserId",
"Gs2Formation:AddMoldCapacityByUserId",
"Gs2Formation:SetMoldCapacityByUserId",
"Gs2Formation:AcquireActionsToFormProperties",
"Gs2Formation:SetFormByUserId",
"Gs2Formation:AcquireActionsToPropertyFormProperties",
"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",
"Gs2Quest:CreateProgressByUserId",
"Gs2Schedule:TriggerByUserId",
"Gs2SerialKey:RevertUseByUserId",
"Gs2Showcase:DecrementPurchaseCountByUserId",
"Gs2Showcase:ForceReDrawByUserId",
"Gs2SkillTree:MarkReleaseByUserId",
"Gs2Stamina:RecoverStaminaByUserId",
"Gs2Stamina:RaiseMaxValueByUserId",
"Gs2Stamina:SetMaxValueByUserId",
"Gs2Stamina:SetRecoverIntervalByUserId",
"Gs2Stamina:SetRecoverValueByUserId",
"Gs2StateMachine:StartStateMachineByUserId",
]
~ 128 charsTypes of actions to be performed in the stamp sheet
requeststring~ 1048576 charsJSON of request

ConsumeAction

Consume Action

TypeConditionRequireDefaultLimitationDescription
actionenum [
"Gs2AdReward:ConsumePointByUserId",
"Gs2Dictionary:DeleteEntriesByUserId",
"Gs2Dictionary:VerifyEntryByUserId",
"Gs2Enchant:VerifyRarityParameterStatusByUserId",
"Gs2Enhance:DeleteProgressByUserId",
"Gs2Exchange:DeleteAwaitByUserId",
"Gs2Experience:SubExperienceByUserId",
"Gs2Experience:SubRankCapByUserId",
"Gs2Experience:VerifyRankByUserId",
"Gs2Experience:VerifyRankCapByUserId",
"Gs2Formation:SubMoldCapacityByUserId",
"Gs2Grade:SubGradeByUserId",
"Gs2Grade:VerifyGradeByUserId",
"Gs2Grade:VerifyGradeUpMaterialByUserId",
"Gs2Guild:DecreaseMaximumCurrentMaximumMemberCountByGuildName",
"Gs2Guild:VerifyCurrentMaximumMemberCountByGuildName",
"Gs2Guild:VerifyIncludeMemberByUserId",
"Gs2Idle:DecreaseMaximumIdleMinutesByUserId",
"Gs2Inbox:OpenMessageByUserId",
"Gs2Inbox:DeleteMessageByUserId",
"Gs2Inventory:VerifyInventoryCurrentMaxCapacityByUserId",
"Gs2Inventory:ConsumeItemSetByUserId",
"Gs2Inventory:VerifyItemSetByUserId",
"Gs2Inventory:VerifyReferenceOfByUserId",
"Gs2Inventory:ConsumeSimpleItemsByUserId",
"Gs2Inventory:VerifySimpleItemByUserId",
"Gs2Inventory:ConsumeBigItemByUserId",
"Gs2Inventory:VerifyBigItemByUserId",
"Gs2JobQueue:DeleteJobByUserId",
"Gs2Limit:CountUpByUserId",
"Gs2Limit:VerifyCounterByUserId",
"Gs2LoginReward:MarkReceivedByUserId",
"Gs2Matchmaking:VerifyIncludeParticipantByUserId",
"Gs2Mission:ReceiveByUserId",
"Gs2Mission:VerifyCompleteByUserId",
"Gs2Mission:DecreaseCounterByUserId",
"Gs2Mission:VerifyCounterValueByUserId",
"Gs2Money:WithdrawByUserId",
"Gs2Money:RecordReceipt",
"Gs2Quest:DeleteProgressByUserId",
"Gs2Ranking2:CreateGlobalRankingReceivedRewardByUserId",
"Gs2Ranking2:CreateClusterRankingReceivedRewardByUserId",
"Gs2Schedule:DeleteTriggerByUserId",
"Gs2Schedule:VerifyEventByUserId",
"Gs2SerialKey:UseByUserId",
"Gs2Showcase:IncrementPurchaseCountByUserId",
"Gs2SkillTree:MarkRestrainByUserId",
"Gs2Stamina:DecreaseMaxValueByUserId",
"Gs2Stamina:ConsumeStaminaByUserId",
]
~ 128 charsTypes of actions to be performed in the stamp task
requeststring~ 1048576 charsJSON of request