GS2-Enhance トランザクションアクション

検証/消費/入手の各トランザクションアクションの仕様

ConsumeAction

消費アクション

Gs2Enhance:DeleteProgressByUserId

ユーザーIDを指定して実行中の強化の進行情報を削除

指定されたユーザーの現在進行中の強化の進行情報レコードを削除します。
進行中の2フェーズ強化がキャンセルされ、事前計算された経験値とボーナスレートは破棄されます。
Start フェーズで既に消費された素材は自動的には返還されません。

数量指定可能なアクション:いいえ

反転可能なアクション:いいえ

有効化条件必須デフォルト値の制限説明
namespaceNamestring
~ 128文字ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
userIdstring
~ 128文字ユーザーID
#{userId} と設定することでログイン中のユーザーIDに置換されます。
timeOffsetTokenstring~ 1024文字タイムオフセットトークン
{
    "action": "Gs2Enhance:DeleteProgressByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "userId": "[string]ユーザーID",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
action: Gs2Enhance:DeleteProgressByUserId
request:
  namespaceName: "[string]ネームスペース名"
  userId: "[string]ユーザーID"
  timeOffsetToken: "[string]タイムオフセットトークン"
transaction.service("enhance").consume.delete_progress_by_user_id({
    namespaceName="[string]ネームスペース名",
    userId="[string]ユーザーID",
    timeOffsetToken="[string]タイムオフセットトークン",
})

AcquireAction

入手アクション

Gs2Enhance:DirectEnhanceByUserId

ユーザーIDを指定して強化を実行

強化レートモデルに基づいて、指定された素材を消費して対象アイテムセットに経験値を付与します。
獲得経験値はレートモデルで定義された経験値階層に従って素材から計算され、ボーナスレートは設定されたボーナスレート確率テーブルから抽選されます。
結果には獲得した経験値量と適用されたボーナスレートが含まれます。
素材の消費と経験値の取得を実行するためのトランザクションが発行されます。

数量指定可能なアクション:いいえ

反転可能なアクション:いいえ

有効化条件必須デフォルト値の制限説明
namespaceNamestring
~ 128文字ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
rateNamestring
~ 128文字強化レートモデル名
強化レートモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
userIdstring
~ 128文字ユーザーID
#{userId} と設定することでログイン中のユーザーIDに置換されます。
targetItemSetIdstring
~ 1024文字強化対象のアイテムセットの GRN
materialsList<Material>
1 ~ 10 items強化素材リスト
configList<Config>[]0 ~ 32 itemsトランザクションの変数に適用する設定値
timeOffsetTokenstring~ 1024文字タイムオフセットトークン
{
    "action": "Gs2Enhance:DirectEnhanceByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "rateName": "[string]強化レートモデル名",
        "userId": "[string]ユーザーID",
        "targetItemSetId": "[string]強化対象のアイテムセットのGRN",
        "materials": [
            {
                "materialItemSetId": "[string]強化の素材となるアイテムセットの GRN",
                "count": "[int]消費数量"
            }
        ],
        "config": [
            {
                "key": "[string]名前",
                "value": "[string]値"
            }
        ],
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
action: Gs2Enhance:DirectEnhanceByUserId
request:
  namespaceName: "[string]ネームスペース名"
  rateName: "[string]強化レートモデル名"
  userId: "[string]ユーザーID"
  targetItemSetId: "[string]強化対象のアイテムセットのGRN"
  materials: 
    - materialItemSetId: "[string]強化の素材となるアイテムセットの GRN"
      count: "[int]消費数量"
  config: 
    - key: "[string]名前"
      value: "[string]値"
  timeOffsetToken: "[string]タイムオフセットトークン"
transaction.service("enhance").acquire.direct_enhance_by_user_id({
    namespaceName="[string]ネームスペース名",
    rateName="[string]強化レートモデル名",
    userId="[string]ユーザーID",
    targetItemSetId="[string]強化対象のアイテムセットのGRN",
    materials={
        {
            materialItemSetId="[string]強化の素材となるアイテムセットの GRN",
            count="[int]消費数量"
        }
    },
    config={
        {
            key="[string]名前",
            value="[string]値"
        }
    },
    timeOffsetToken="[string]タイムオフセットトークン",
})

Gs2Enhance:UnleashByUserId

ユーザーIDを指定して限界突破を実行

GS2-Grade で管理するグレードを引き上げる強化処理で利用します。
なかでも、同種アイテムを素材として消費することでレベルキャップを引き上げるタイプの限界突破に利用します。

指定された素材を消費する代わりに限界突破対象のリソースのグレードを1引き上げることができます。
素材となるリソースが経験値などのリソースを持っていたとしても、そのリソースは引き継がれません。
引き継ぎが必要な場合は、事前に別のリソースに引き継ぐためのリソースに変換しておく必要があります。

数量指定可能なアクション:いいえ

反転可能なアクション:いいえ

有効化条件必須デフォルト値の制限説明
namespaceNamestring
~ 128文字ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
rateNamestring
~ 128文字強化レートモデル名
強化レートモデル固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
userIdstring
~ 128文字ユーザーID
#{userId} と設定することでログイン中のユーザーIDに置換されます。
targetItemSetIdstring
~ 1024文字限界突破対象のアイテムセットの GRN
materialsList<string>
1 ~ 1000 items限界突破素材リスト
configList<Config>[]0 ~ 32 itemsトランザクションの変数に適用する設定値
timeOffsetTokenstring~ 1024文字タイムオフセットトークン
{
    "action": "Gs2Enhance:UnleashByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "rateName": "[string]強化レートモデル名",
        "userId": "[string]ユーザーID",
        "targetItemSetId": "[string]限界突破対象のアイテムセットのGRN",
        "materials": [
            "[string]素材"
        ],
        "config": [
            {
                "key": "[string]名前",
                "value": "[string]値"
            }
        ],
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
action: Gs2Enhance:UnleashByUserId
request:
  namespaceName: "[string]ネームスペース名"
  rateName: "[string]強化レートモデル名"
  userId: "[string]ユーザーID"
  targetItemSetId: "[string]限界突破対象のアイテムセットのGRN"
  materials: 
    - "[string]素材"
  config: 
    - key: "[string]名前"
      value: "[string]値"
  timeOffsetToken: "[string]タイムオフセットトークン"
transaction.service("enhance").acquire.unleash_by_user_id({
    namespaceName="[string]ネームスペース名",
    rateName="[string]強化レートモデル名",
    userId="[string]ユーザーID",
    targetItemSetId="[string]限界突破対象のアイテムセットのGRN",
    materials={
        "[string]素材"
    },
    config={
        {
            key="[string]名前",
            value="[string]値"
        }
    },
    timeOffsetToken="[string]タイムオフセットトークン",
})

Gs2Enhance:CreateProgressByUserId

ユーザーIDを指定して強化を開始

2フェーズ強化フローのための進行情報レコードを作成します。
対象アイテムセットと素材をレートモデルに対して検証し、素材から獲得経験値を計算し、確率テーブルからボーナスレートを抽選します。
計算された経験値とボーナスレートは進行情報レコードに保存され、End API で強化完了時に使用されます。
force が true の場合、ユーザーの既存の進行情報は破棄され置き換えられます。

数量指定可能なアクション:いいえ

反転可能なアクション:はい

有効化条件必須デフォルト値の制限説明
namespaceNamestring
~ 128文字ネームスペース名
ネームスペース固有の名前。英数字および -(ハイフン) _(アンダースコア) .(ピリオド)で指定します。
userIdstring
~ 128文字ユーザーID
#{userId} と設定することでログイン中のユーザーIDに置換されます。
rateNamestring
~ 128文字強化レートモデル名
この強化操作のパラメータを定義する強化レートモデルの名前です。対象インベントリ、素材インベントリ、経験値階層、ボーナスレートを指定するモデルを参照します。
targetItemSetIdstring
~ 1024文字強化対象のアイテムセットの GRN
materialsList<Material>0 ~ 10 items強化素材リスト
forceboolfalseすでに開始している強化がある場合にそれを破棄して開始するか
timeOffsetTokenstring~ 1024文字タイムオフセットトークン
{
    "action": "Gs2Enhance:CreateProgressByUserId",
    "request": {
        "namespaceName": "[string]ネームスペース名",
        "userId": "[string]ユーザーID",
        "rateName": "[string]強化レートモデル名",
        "targetItemSetId": "[string]強化対象のアイテムセットのGRN",
        "materials": [
            {
                "materialItemSetId": "[string]強化の素材となるアイテムセットの GRN",
                "count": "[int]消費数量"
            }
        ],
        "force": "[bool]すでに開始している強化がある場合にそれを破棄して開始するか",
        "timeOffsetToken": "[string]タイムオフセットトークン"
    }
}
action: Gs2Enhance:CreateProgressByUserId
request:
  namespaceName: "[string]ネームスペース名"
  userId: "[string]ユーザーID"
  rateName: "[string]強化レートモデル名"
  targetItemSetId: "[string]強化対象のアイテムセットのGRN"
  materials: 
    - materialItemSetId: "[string]強化の素材となるアイテムセットの GRN"
      count: "[int]消費数量"
  force: "[bool]すでに開始している強化がある場合にそれを破棄して開始するか"
  timeOffsetToken: "[string]タイムオフセットトークン"
transaction.service("enhance").acquire.create_progress_by_user_id({
    namespaceName="[string]ネームスペース名",
    userId="[string]ユーザーID",
    rateName="[string]強化レートモデル名",
    targetItemSetId="[string]強化対象のアイテムセットのGRN",
    materials={
        {
            materialItemSetId="[string]強化の素材となるアイテムセットの GRN",
            count="[int]消費数量"
        }
    },
    force="[bool]すでに開始している強化がある場合にそれを破棄して開始するか",
    timeOffsetToken="[string]タイムオフセットトークン",
})