GS2-Mission マスターデータリファレンス

{
  "version": "2019-05-28",
  "groups": [
    {
      "name": "[string]ミッショングループ名",
      "metadata": "[string?]メタデータ",
      "tasks": [
        {
          "missionTaskId": "[string]ミッションタスクGRN",
          "name": "[string]タスク名",
          "metadata": "[string?]メタデータ",
          "verifyCompleteType": "[string]達成条件種別",
          "targetCounter": {
            "counterName": "[string]カウンター名",
            "scopeType": "[string]スコープの種類",
            "resetType": "[string?]目標リセットタイミング",
            "conditionName": "[string]条件名",
            "value": "[long]目標値"
          },
          "verifyCompleteConsumeActions": [
            {
              "action": "[string]検証アクションで実行するアクションの種類",
              "request": "[string]リクエストのJSON"
            }
          ],
          "completeAcquireActions": [
            {
              "action": "[string]入手アクションで実行するアクションの種類",
              "request": "[string]リクエストのJSON"
            }
          ],
          "challengePeriodEventId": "[string?]報酬が受け取り可能な期間を設定した GS2-Schedule イベントGRN",
          "premiseMissionTaskName": "[string?]このタスクに挑戦するために達成しておく必要のあるタスクの名前",
          "counterName": "[string]カウンター名",
          "targetResetType": "[string?]目標リセットタイミング",
          "targetValue": "[long]目標値"
        }
      ],
      "resetType": "[string]リセットタイミング",
      "resetDayOfMonth": "[int]リセットをする日にち(月の日数を超える場合は、最終日として扱われます)",
      "resetDayOfWeek": "[string]リセットする曜日",
      "resetHour": "[int]リセット時刻",
      "completeNotificationNamespaceId": "[string?]ネームスペースGRN"
    }
  ],
  "counters": [
    {
      "name": "[string]カウンター名",
      "metadata": "[string?]メタデータ",
      "scopes": [
        {
          "scopeType": "[string]スコープの種類",
          "resetType": "[string]リセットタイミング",
          "resetDayOfMonth": "[int]リセットをする日にち(月の日数を超える場合は、最終日として扱われます)",
          "resetDayOfWeek": "[string]リセットする曜日",
          "resetHour": "[int]リセット時刻",
          "conditionName": "[string]条件名",
          "condition": {
            "action": "[string]検証アクションで実行するアクションの種類",
            "request": "[string]リクエストのJSON"
          }
        }
      ],
      "challengePeriodEventId": "[string?]カウンターの操作が可能な期間を設定した GS2-Schedule イベントGRN"
    }
  ]
}
有効化条件必須デフォルト値の制限説明
version2019-05-28マスターデータのフォーマットバージョン
groupsList<MissionGroupModel>~ 10 itemsミッショングループモデル
countersList<CounterModel>~ 1000 itemsカウンターモデル

CounterScopeModel

カウンターリセットタイミングモデル

有効化条件必須デフォルト値の制限説明
scopeTypeenum {
    “resetTiming”,
    “verifyAction”
}
“resetTiming”~ 128文字スコープの種類
resetTypeenum {
    “notReset”,
    “daily”,
    “weekly”,
    “monthly”
}
{scopeType} == “resetTiming”~ 128文字リセットタイミング
resetDayOfMonthint{resetType} == “monthly”1 ~ 31リセットをする日にち(月の日数を超える場合は、最終日として扱われます)
resetDayOfWeekenum {
    “sunday”,
    “monday”,
    “tuesday”,
    “wednesday”,
    “thursday”,
    “friday”,
    “saturday”
}
{resetType} == “weekly”~ 128文字リセットする曜日
resetHourint{resetType} in [“monthly”, “weekly”, “daily”]~ 23リセット時刻
conditionNamestring{scopeType} == “verifyAction”~ 128文字条件名
conditionVerifyAction{scopeType} == “verifyAction”条件

scopeType に指定する列挙型の定義

定義説明
resetTimingリセットタイミング
verifyAction検証アクション

resetType に指定する列挙型の定義

定義説明
notResetリセットしない
daily毎日
weekly毎週
monthly毎月

resetDayOfWeek に指定する列挙型の定義

定義説明
sunday日曜日
monday月曜日
tuesday火曜日
wednesday水曜日
thursday木曜日
friday金曜日
saturday土曜日

CounterModel

カウンターモデル

カウンターモデルはミッションタスクの達成条件に設定可能なエンティティです。
カウンターの値は複数のミッショングループから参照可能なため、1つのカウンターでウィークリーミッションとデイリーミッションといった複数のミッショングループの達成条件に設定ができます。

有効化条件必須デフォルト値の制限説明
counterIdstring~ 1024文字カウンターモデルGRN
namestring~ 128文字カウンター名
metadatastring~ 1024文字メタデータ
scopesList<CounterScopeModel>[]1 ~ 20 itemsカウンターのリセットタイミングリスト
challengePeriodEventIdstring~ 1024文字カウンターの操作が可能な期間を設定した GS2-Schedule イベントGRN

MissionGroupModel

ミッショングループモデル

ミッショングループはカウンターのリセットタイミングでタスクをグルーピングするエンティティです。
たとえば、デイリーミッションで1つのグループ。ウィークリーミッションで1つのグループとなります。

有効化条件必須デフォルト値の制限説明
missionGroupIdstring~ 1024文字ミッショングループGRN
namestring~ 128文字ミッショングループ名
metadatastring~ 1024文字メタデータ
tasksList<MissionTaskModel>~ 1000 itemsミッションタスクリスト
resetTypeenum {
    “notReset”,
    “daily”,
    “weekly”,
    “monthly”
}
“notReset”~ 128文字リセットタイミング
resetDayOfMonthint{resetType} == “monthly”1 ~ 31リセットをする日にち(月の日数を超える場合は、最終日として扱われます)
resetDayOfWeekenum {
    “sunday”,
    “monday”,
    “tuesday”,
    “wednesday”,
    “thursday”,
    “friday”,
    “saturday”
}
{resetType} == “weekly”~ 128文字リセットする曜日
resetHourint{resetType} in [“monthly”, “weekly”, “daily”]~ 23リセット時刻
completeNotificationNamespaceIdstring~ 1024文字ネームスペースGRN

resetType に指定する列挙型の定義

定義説明
notResetリセットしない
daily毎日
weekly毎週
monthly毎月

resetDayOfWeek に指定する列挙型の定義

定義説明
sunday日曜日
monday月曜日
tuesday火曜日
wednesday水曜日
thursday木曜日
friday金曜日
saturday土曜日

MissionTaskModel

ミッションタスクモデル

ミッションタスクは関連付けたカウンターの値が一定を超えたら報酬が貰える条件を定義するエンティティです。

有効化条件必須デフォルト値の制限説明
missionTaskIdstring~ 1024文字ミッションタスクGRN
namestring~ 128文字タスク名
metadatastring~ 1024文字メタデータ
verifyCompleteTypeenum {
    “counter”,
    “verifyActions”
}
“counter”~ 128文字達成条件種別
targetCounterTargetCounterModel{verifyCompleteType} == “counter”目標カウンター
verifyCompleteConsumeActionsList<VerifyAction>{verifyCompleteType} == “consumeActions”~ 10 itemsタスク達成判定に使用する検証アクション
completeAcquireActionsList<AcquireAction>[]~ 100 itemsミッション達成時の報酬
challengePeriodEventIdstring~ 1024文字報酬が受け取り可能な期間を設定した GS2-Schedule イベントGRN
premiseMissionTaskNamestring~ 128文字このタスクに挑戦するために達成しておく必要のあるタスクの名前

verifyCompleteType に指定する列挙型の定義

定義説明
counterカウンター
verifyActions検証アクション

ScopedValue

リセットタイミング

有効化条件必須デフォルト値の制限説明
scopeTypeenum {
    “resetTiming”,
    “verifyAction”
}
“resetTiming”~ 128文字スコープの種類
resetTypeenum {
    “notReset”,
    “daily”,
    “weekly”,
    “monthly”
}
{scopeType} == “resetTiming”~ 128文字リセットタイミング
conditionNamestring{scopeType} == “verifyAction”~ 128文字条件名
valuelong0~ 9223372036854775805カウント
nextResetAtlong (UNIX時間 単位:ミリ秒)次回リセットタイミング (UNIX時間 単位:ミリ秒)
updatedAtlong現在時刻最終更新日時 (UNIX時間 単位:ミリ秒)

scopeType に指定する列挙型の定義

定義説明
resetTimingリセットタイミング
verifyAction検証アクション

resetType に指定する列挙型の定義

定義説明
notResetリセットしない
daily毎日
weekly毎週
monthly毎月

TargetCounterModel

目標カウンター

ミッションの達成目標となるカウンターの情報

有効化条件必須デフォルト値の制限説明
counterNamestring~ 128文字カウンター名
scopeTypeenum {
    “resetTiming”,
    “verifyAction”
}
“resetTiming”~ 128文字スコープの種類
resetTypeenum {
    “notReset”,
    “daily”,
    “weekly”,
    “monthly”
}
{scopeType} == “resetTiming”~ 128文字目標リセットタイミング
conditionNamestring{scopeType} == “verifyAction”~ 128文字条件名
valuelong1 ~ 9223372036854775805目標値

scopeType に指定する列挙型の定義

定義説明
resetTimingリセットタイミング
verifyAction検証アクション

resetType に指定する列挙型の定義

定義説明
notResetリセットしない
daily毎日
weekly毎週
monthly毎月

AcquireAction

入手アクション

有効化条件必須デフォルト値の制限説明
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: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",
"Gs2Showcase:DecrementPurchaseCountByUserId",
"Gs2Showcase:ForceReDrawByUserId",
"Gs2SkillTree:MarkReleaseByUserId",
"Gs2Stamina:RecoverStaminaByUserId",
"Gs2Stamina:RaiseMaxValueByUserId",
"Gs2Stamina:SetMaxValueByUserId",
"Gs2Stamina:SetRecoverIntervalByUserId",
"Gs2Stamina:SetRecoverValueByUserId",
"Gs2StateMachine:StartStateMachineByUserId",
}
~ 128文字入手アクションで実行するアクションの種類
requeststring~ 1048576文字リクエストのJSON

ConsumeAction

消費アクション

有効化条件必須デフォルト値の制限説明
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",
"Gs2SerialKey:VerifyCodeByUserId",
"Gs2Showcase:IncrementPurchaseCountByUserId",
"Gs2SkillTree:MarkRestrainByUserId",
"Gs2Stamina:DecreaseMaxValueByUserId",
"Gs2Stamina:ConsumeStaminaByUserId",
}
~ 128文字消費アクションで実行するアクションの種類
requeststring~ 1048576文字リクエストのJSON

VerifyAction

検証アクション

有効化条件必須デフォルト値の制限説明
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",
"Gs2Schedule:VerifyTriggerByUserId",
"Gs2Schedule:VerifyEventByUserId",
}
~ 128文字検証アクションで実行するアクションの種類
requeststring~ 1048576文字リクエストのJSON