{
  "GS2TemplateFormatVersion": "2019-05-01",
  "Resources": {
    "ItemActionsNamespace": {
      "Type": "GS2::Exchange::Namespace",
      "Properties": {
        "Name": "adventure-item-actions",
        "TransactionSettingV2": {
          "DistributorNamespaceId": "grn:gs2:{region}:{ownerId}:distributor:default",
          "EnableParallelExecution": false
        }
      }
    },
    "ItemActionsMaster": {
      "Type": "GS2::Exchange::CurrentRateMaster",
      "Properties": {
        "NamespaceName": "adventure-item-actions",
        "Mode": "direct",
        "Settings": {
          "version": "2019-08-19",
          "rateModels": [
            {
              "name": "use_potion",
              "timingType": "immediate",
              "consumeActions": [
                {
                  "action": "Gs2Inventory:ConsumeSimpleItemsByUserId",
                  "request": "{\"userId\": \"#{userId}\", \"namespaceName\": \"Inventory\", \"inventoryName\": \"Inventory\", \"consumeCounts\": [{\"itemName\": \"potion\", \"count\": 1}]}"
                }
              ],
              "acquireActions": [
                {
                  "action": "Gs2Stamina:RecoverStaminaByUserId",
                  "request": "{\"userId\": \"#{userId}\", \"namespaceName\": \"Energy\", \"staminaName\": \"stamina\", \"recoverValue\": 5}"
                }
              ]
            },
            {
              "name": "buy_potion",
              "timingType": "immediate",
              "consumeActions": [
                {
                  "action": "Gs2Money2:WithdrawByUserId",
                  "request": "{\"userId\": \"#{userId}\", \"namespaceName\": \"Currency\", \"slot\": 0, \"withdrawCount\": 20, \"paidOnly\": false}"
                }
              ],
              "acquireActions": [
                {
                  "action": "Gs2Inventory:AcquireSimpleItemsByUserId",
                  "request": "{\"userId\": \"#{userId}\", \"namespaceName\": \"Inventory\", \"inventoryName\": \"Inventory\", \"acquireCounts\": [{\"itemName\": \"potion\", \"count\": 1}]}"
                }
              ]
            }
          ]
        }
      },
      "DependsOn": [
        "ItemActionsNamespace"
      ]
    }
  }
}
