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",
            "scopeType": "[string]Scope type",
            "resetType": "[string?]Target Reset timing",
            "conditionName": "[string]Condition Name",
            "value": "[long]Target value"
          },
          "verifyCompleteConsumeActions": [
            {
              "action": "[string]Types of actions to be performed in the verify task",
              "request": "[string]JSON of request"
            }
          ],
          "completeAcquireActions": [
            {
              "action": "[string]Types of actions to be performed in the acquire action",
              "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": [
        {
          "scopeType": "[string]Scope type",
          "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",
          "conditionName": "[string]Condition Name",
          "condition": {
            "action": "[string]Types of actions to be performed in the verify task",
            "request": "[string]JSON of request"
          }
        }
      ],
      "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
scopeTypeenum {
    “resetTiming”,
    “verifyAction”
}
“resetTiming”~ 128 charsScope type
resetTypeenum {
    “notReset”,
    “daily”,
    “weekly”,
    “monthly”
}
{scopeType} == “resetTiming”~ 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
conditionNamestring{scopeType} == “verifyAction”~ 128 charsCondition Name
conditionVerifyAction{scopeType} == “verifyAction”Condition

Enumeration type definition to specify as scopeType

Enumerator String DefinitionDescription
resetTimingReset timing
verifyActionVerify action

Enumeration type definition to specify as resetType

Enumerator String DefinitionDescription
notResetNot resetting.
dailyDaily
weeklyWeekly
monthlyMonthly

Enumeration type definition to specify as resetDayOfWeek

Enumerator String DefinitionDescription
sundaySunday
mondayMonday
tuesdayTuesday
wednesdayWednesday
thursdayThuesday
fridayFriday
saturdaySaturday

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 ~ 20 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

Enumeration type definition to specify as resetType

Enumerator String DefinitionDescription
notResetNot resetting.
dailyDaily
weeklyWeekly
monthlyMonthly

Enumeration type definition to specify as resetDayOfWeek

Enumerator String DefinitionDescription
sundaySunday
mondayMonday
tuesdayTuesday
wednesdayWednesday
thursdayThuesday
fridayFriday
saturdaySaturday

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”,
    “verifyActions”
}
“counter”~ 128 charsCompletion criteria type
targetCounterTargetCounterModel{verifyCompleteType} == “counter”Target Counter
verifyCompleteConsumeActionsList<VerifyAction>{verifyCompleteType} == “consumeActions”~ 10 itemsVerify actions when task is accomplished
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

Enumeration type definition to specify as verifyCompleteType

Enumerator String DefinitionDescription
counterCounter
verifyActionsVerify Actions

ScopedValue

Reset timing

TypeConditionRequireDefaultLimitationDescription
scopeTypeenum {
    “resetTiming”,
    “verifyAction”
}
“resetTiming”~ 128 charsScope type
resetTypeenum {
    “notReset”,
    “daily”,
    “weekly”,
    “monthly”
}
{scopeType} == “resetTiming”~ 128 charsReset timing
conditionNamestring{scopeType} == “verifyAction”~ 128 charsCondition Name
valuelong0~ 9223372036854775805Count value
nextResetAtlongNext reset timing (Unix time unit:milliseconds)
updatedAtlongNowDatetime of last update (Unix time unit:milliseconds)

Enumeration type definition to specify as scopeType

Enumerator String DefinitionDescription
resetTimingReset timing
verifyActionVerify action

Enumeration type definition to specify as resetType

Enumerator String DefinitionDescription
notResetNot resetting.
dailyDaily
weeklyWeekly
monthlyMonthly

TargetCounterModel

Target Counter

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

TypeConditionRequireDefaultLimitationDescription
counterNamestring~ 128 charsCounter Name
scopeTypeenum {
    “resetTiming”,
    “verifyAction”
}
“resetTiming”~ 128 charsScope type
resetTypeenum {
    “notReset”,
    “daily”,
    “weekly”,
    “monthly”
}
{scopeType} == “resetTiming”~ 128 charsTarget Reset timing
conditionNamestring{scopeType} == “verifyAction”~ 128 charsCondition Name
valuelong1 ~ 9223372036854775805Target value

Enumeration type definition to specify as scopeType

Enumerator String DefinitionDescription
resetTimingReset timing
verifyActionVerify action

Enumeration type definition to specify as resetType

Enumerator String DefinitionDescription
notResetNot resetting.
dailyDaily
weeklyWeekly
monthlyMonthly

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: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",
"Gs2Script:InvokeScript",
"Gs2SerialKey:RevertUseByUserId",
"Gs2SerialKey:IssueOnce",
"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 acquire action
requeststring~ 1048576 charsJSON of request

ConsumeAction

Consume Action

TypeConditionRequireDefaultLimitationDescription
actionenum {
"Gs2Matchmaking:VerifyIncludeParticipantByUserId",
"Gs2AdReward:ConsumePointByUserId",
"Gs2Dictionary:DeleteEntriesByUserId",
"Gs2Distributor:IfExpressionByUserId",
"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",
"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",
}
~ 128 charsTypes of actions to be performed in the consume action
requeststring~ 1048576 charsJSON of request

VerifyAction

Verify Action

TypeConditionRequireDefaultLimitationDescription
actionenum {
"Gs2Dictionary:VerifyEntryByUserId",
"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",
"Gs2Mission:VerifyCompleteByUserId",
"Gs2Mission:VerifyCounterValueByUserId",
"Gs2Ranking2:VerifyGlobalRankingScoreByUserId",
"Gs2Ranking2:VerifyClusterRankingScoreByUserId",
"Gs2Ranking2:VerifySubscribeRankingScoreByUserId",
"Gs2Schedule:VerifyTriggerByUserId",
"Gs2Schedule:VerifyEventByUserId",
"Gs2SerialKey:VerifyCodeByUserId",
}
~ 128 charsTypes of actions to be performed in the verify task
requeststring~ 1048576 charsJSON of request