Master Data Reference of GS2-Limit

Reference of the format of master data and various models to be imported
{
  "version": "2019-04-05",
  "limitModels": [
    {
      "name": "[string]Limit Model Name",
      "metadata": "[string?]Metadata",
      "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]Reset hour",
      "anchorTimestamp": "[long]Anchor date to elapsed days",
      "days": "[int]Number of days to reset"
    }
  ]
}
TypeConditionRequiredDefaultValue LimitsDescription
version
2019-04-05Format version of master data
limitModelsList<LimitModel>~ 100 itemsLimit Model
You can set the timing for resetting the usage count for frequency limits.
The reset interval can be selected from four options: “Daily,” “Weekly,” “Monthly,” or “Do not reset.”

Additionally, the maximum value for frequency limits is not fixed in the master data.
This is to dynamically change the maximum allowed count based on the in-game context.
For example, in a step-up gacha:
- Items purchasable when the purchase counter is under 3
- When the above items are unavailable, another item purchasable if the purchase counter is under 5

The design assumes the ability to switch the “maximum count” based on the situation.

LimitModel

Limit Model

You can set the timing for resetting the usage count for frequency limits. The reset interval can be selected from four options: “Daily,” “Weekly,” “Monthly,” or “Do not reset.”

Additionally, the maximum value for frequency limits is not fixed in the master data. This is to dynamically change the maximum allowed count based on the in-game context. For example, in a step-up gacha:

  • Items purchasable when the purchase counter is under 3
  • When the above items are unavailable, another item purchasable if the purchase counter is under 5

The design assumes the ability to switch the “maximum count” based on the situation.

TypeConditionRequiredDefaultValue LimitsDescription
limitModelIdstring
~ 1024 charsLimit Model GRN
namestring
~ 128 charsLimit Model Name
metadatastring~ 2048 charsMetadata
resetTypeString Enum
enum {
    “notReset”,
    “daily”,
    “weekly”,
    “monthly”,
    “days”
}
~ 128 charsReset timing
Enumerator String DefinitionDescription
“notReset”Not resetting.
“daily”Daily
“weekly”Weekly
“monthly”Monthly
“days”Days
resetDayOfMonthint{resetType} == “monthly”
✓*
1 ~ 31Date to reset (If the value exceeds the days of the month, it is treated as the last day.)
* Required if resetType is “monthly”
resetDayOfWeekString Enum
enum {
    “sunday”,
    “monday”,
    “tuesday”,
    “wednesday”,
    “thursday”,
    “friday”,
    “saturday”
}
{resetType} == “weekly”
✓*
~ 128 charsDay of the week to reset
Enumerator String DefinitionDescription
“sunday”Sunday
“monday”Monday
“tuesday”Tuesday
“wednesday”Wednesday
“thursday”Thursday
“friday”Friday
“saturday”Saturday

* Required if resetType is “weekly”
resetHourint{resetType} in [“monthly”, “weekly”, “daily”]
✓*
0 ~ 23Reset hour
* Required if resetType is “monthly”,“weekly”,“daily”
anchorTimestamplong{resetType} == “days”
✓*
Anchor date to elapsed days
* Required if resetType is “days”
daysint{resetType} == “days”
✓*
1 ~ 2147483646Number of days to reset
* Required if resetType is “days”