GS2-Enhance Transaction Actions

Specification of verify/consume/acquire transaction actions

ConsumeAction

Gs2Enhance:DeleteProgressByUserId

Delete running enhancement by specifying a user ID

Deletes the progress record of the enhancement currently in progress for the specified user. This cancels the ongoing 2-phase enhancement, discarding the pre-calculated experience and bonus rate. Materials that were already consumed during the Start phase are not automatically refunded.

Whether the action allows quantity specification: NO

Whether the action is reversible: NO

TypeConditionRequiredDefaultValue LimitsDescription
namespaceNamestring
~ 128 charsNamespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
userIdstring
~ 128 charsUser ID
Set #{userId} to replace the currently logged in user ID.
timeOffsetTokenstring~ 1024 charsTime offset token
{
    "action": "Gs2Enhance:DeleteProgressByUserId",
    "request": {
        "namespaceName": "[string]Namespace name",
        "userId": "[string]User ID",
        "timeOffsetToken": "[string]Time offset token"
    }
}
action: Gs2Enhance:DeleteProgressByUserId
request:
  namespaceName: "[string]Namespace name"
  userId: "[string]User ID"
  timeOffsetToken: "[string]Time offset token"
transaction.service("enhance").consume.delete_progress_by_user_id({
    namespaceName="[string]Namespace name",
    userId="[string]User ID",
    timeOffsetToken="[string]Time offset token",
})

AcquireAction

Gs2Enhance:DirectEnhanceByUserId

Perform enhancement by specifying a user ID

Consumes the specified materials to grant experience to the target item set based on the Enhanced Rate Model. The experience gained is calculated from the materials according to the experience hierarchy defined in the rate model, and a bonus rate is drawn from the configured bonus rate probability table. The result includes the acquired experience amount and the bonus rate applied. A transaction (transaction) is issued to execute the material consumption and experience acquisition.

Whether the action allows quantity specification: NO

Whether the action is reversible: NO

TypeConditionRequiredDefaultValue LimitsDescription
namespaceNamestring
~ 128 charsNamespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
rateNamestring
~ 128 charsEnhancement Rate Model name
Enhancement Rate Model-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
userIdstring
~ 128 charsUser ID
Set #{userId} to replace the currently logged in user ID.
targetItemSetIdstring
~ 1024 charsGRN for the enhanced Item Set
materialsList<Material>
1 ~ 10 itemsList of Material
configList<Config>[]0 ~ 32 itemsSet values to be applied to transaction variables
timeOffsetTokenstring~ 1024 charsTime offset token
{
    "action": "Gs2Enhance:DirectEnhanceByUserId",
    "request": {
        "namespaceName": "[string]Namespace name",
        "rateName": "[string]Enhancement Rate Model name",
        "userId": "[string]User ID",
        "targetItemSetId": "[string]GRN for the enhanced Item Set",
        "materials": [
            {
                "materialItemSetId": "[string]GRN of Item Set that will be used as materials for enhancement",
                "count": "[int]Number of consumption"
            }
        ],
        "config": [
            {
                "key": "[string]Name",
                "value": "[string]Value"
            }
        ],
        "timeOffsetToken": "[string]Time offset token"
    }
}
action: Gs2Enhance:DirectEnhanceByUserId
request:
  namespaceName: "[string]Namespace name"
  rateName: "[string]Enhancement Rate Model name"
  userId: "[string]User ID"
  targetItemSetId: "[string]GRN for the enhanced Item Set"
  materials: 
    - materialItemSetId: "[string]GRN of Item Set that will be used as materials for enhancement"
      count: "[int]Number of consumption"
  config: 
    - key: "[string]Name"
      value: "[string]Value"
  timeOffsetToken: "[string]Time offset token"
transaction.service("enhance").acquire.direct_enhance_by_user_id({
    namespaceName="[string]Namespace name",
    rateName="[string]Enhancement Rate Model name",
    userId="[string]User ID",
    targetItemSetId="[string]GRN for the enhanced Item Set",
    materials={
        {
            materialItemSetId="[string]GRN of Item Set that will be used as materials for enhancement",
            count="[int]Number of consumption"
        }
    },
    config={
        {
            key="[string]Name",
            value="[string]Value"
        }
    },
    timeOffsetToken="[string]Time offset token",
})

Gs2Enhance:UnleashByUserId

Perform unleash by specifying a user ID

Used for enhancement processing to raise the grade of the resource managed by GS2-Grade. In particular, it is used for the type of unleash that raises the level cap by consuming the same type of item as a material.

Instead of consuming the specified material, the grade of the resource to be unleashed can be increased by 1. Even if the material resource has a resource such as experience value, the resource will not be inherited. If inheritance is required, the resource must be converted to a resource for inheritance in advance.

Whether the action allows quantity specification: NO

Whether the action is reversible: NO

TypeConditionRequiredDefaultValue LimitsDescription
namespaceNamestring
~ 128 charsNamespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
rateNamestring
~ 128 charsEnhancement Rate Model name
Enhancement Rate Model-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
userIdstring
~ 128 charsUser ID
Set #{userId} to replace the currently logged in user ID.
targetItemSetIdstring
~ 1024 charsGRN for the Item Set subject to limit break
materialsList<string>
1 ~ 1000 itemsList of materials that break the limit
configList<Config>[]0 ~ 32 itemsSet values to be applied to transaction variables
timeOffsetTokenstring~ 1024 charsTime offset token
{
    "action": "Gs2Enhance:UnleashByUserId",
    "request": {
        "namespaceName": "[string]Namespace name",
        "rateName": "[string]Enhancement Rate Model name",
        "userId": "[string]User ID",
        "targetItemSetId": "[string]GRN for the Item Set subject to limit break",
        "materials": [
            "[string]Material"
        ],
        "config": [
            {
                "key": "[string]Name",
                "value": "[string]Value"
            }
        ],
        "timeOffsetToken": "[string]Time offset token"
    }
}
action: Gs2Enhance:UnleashByUserId
request:
  namespaceName: "[string]Namespace name"
  rateName: "[string]Enhancement Rate Model name"
  userId: "[string]User ID"
  targetItemSetId: "[string]GRN for the Item Set subject to limit break"
  materials: 
    - "[string]Material"
  config: 
    - key: "[string]Name"
      value: "[string]Value"
  timeOffsetToken: "[string]Time offset token"
transaction.service("enhance").acquire.unleash_by_user_id({
    namespaceName="[string]Namespace name",
    rateName="[string]Enhancement Rate Model name",
    userId="[string]User ID",
    targetItemSetId="[string]GRN for the Item Set subject to limit break",
    materials={
        "[string]Material"
    },
    config={
        {
            key="[string]Name",
            value="[string]Value"
        }
    },
    timeOffsetToken="[string]Time offset token",
})

Gs2Enhance:CreateProgressByUserId

Start enhancement by specifying a user ID

Creates a progress record for a 2-phase enhancement flow. Validates the target item set and materials against the rate model, calculates the experience to be gained from the materials, and draws a bonus rate from the probability table. The calculated experience and bonus rate are stored in the progress record for later use when the enhancement is completed via the End API. If force is true, any existing progress for the user will be discarded and replaced.

Whether the action allows quantity specification: NO

Whether the action is reversible: YES

TypeConditionRequiredDefaultValue LimitsDescription
namespaceNamestring
~ 128 charsNamespace name
Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.).
userIdstring
~ 128 charsUser ID
Set #{userId} to replace the currently logged in user ID.
rateNamestring
~ 128 charsEnhancement Rate Model name
The name of the Enhancement Rate Model that defines the parameters for this enhancement operation. References the model that specifies the target inventory, material inventory, experience hierarchy, and bonus rates.
targetItemSetIdstring
~ 1024 charsGRN for the enhanced Item Set
materialsList<Material>0 ~ 10 itemsList of materials
forceboolfalseIf there is an enhancement that has already been started, it can be discarded and started, or
timeOffsetTokenstring~ 1024 charsTime offset token
{
    "action": "Gs2Enhance:CreateProgressByUserId",
    "request": {
        "namespaceName": "[string]Namespace name",
        "userId": "[string]User ID",
        "rateName": "[string]Enhancement Rate Model name",
        "targetItemSetId": "[string]GRN for the enhanced Item Set",
        "materials": [
            {
                "materialItemSetId": "[string]GRN of Item Set that will be used as materials for enhancement",
                "count": "[int]Number of consumption"
            }
        ],
        "force": "[bool]If there is an enhancement that has already been started, it can be discarded and started, or",
        "timeOffsetToken": "[string]Time offset token"
    }
}
action: Gs2Enhance:CreateProgressByUserId
request:
  namespaceName: "[string]Namespace name"
  userId: "[string]User ID"
  rateName: "[string]Enhancement Rate Model name"
  targetItemSetId: "[string]GRN for the enhanced Item Set"
  materials: 
    - materialItemSetId: "[string]GRN of Item Set that will be used as materials for enhancement"
      count: "[int]Number of consumption"
  force: "[bool]If there is an enhancement that has already been started, it can be discarded and started, or"
  timeOffsetToken: "[string]Time offset token"
transaction.service("enhance").acquire.create_progress_by_user_id({
    namespaceName="[string]Namespace name",
    userId="[string]User ID",
    rateName="[string]Enhancement Rate Model name",
    targetItemSetId="[string]GRN for the enhanced Item Set",
    materials={
        {
            materialItemSetId="[string]GRN of Item Set that will be used as materials for enhancement",
            count="[int]Number of consumption"
        }
    },
    force="[bool]If there is an enhancement that has already been started, it can be discarded and started, or",
    timeOffsetToken="[string]Time offset token",
})