tx · 7e1SZbreNagfWDwEeg2ZiMBozR22ViWHR1Y98os7XZ4

3MuH9NgpoGaSQufEQLPRikXNS9PXhkhcLzp:  -0.01400000 Waves

2022.05.19 15:09 [2058531] smart account 3MuH9NgpoGaSQufEQLPRikXNS9PXhkhcLzp > SELF 0.00000000 Waves

{ "type": 13, "id": "7e1SZbreNagfWDwEeg2ZiMBozR22ViWHR1Y98os7XZ4", "fee": 1400000, "feeAssetId": null, "timestamp": 1652962191431, "version": 2, "chainId": 84, "sender": "3MuH9NgpoGaSQufEQLPRikXNS9PXhkhcLzp", "senderPublicKey": "74D2dSZ2CcYprVwEPr2GayHyp7wbLrppDt4SWXZcfT1z", "proofs": [ "64382fNd2ZTYqdupkKzimrTpWtQ2TYmVgP71FtSru4owoJgmZBrpWKQHHs9nnRTvFuTw2A4iJnH36egLsEHu1oxU" ], "script": "base64:AAIFAAAAAAAAAAwIAhIDCgEBEgMKAQEAAAAhAAAAAAlzZXBhcmF0b3ICAAAAAV8AAAAAE2tleUxhc3RCYXR0bGVIZWlnaHQCAAAAEmxhc3RfYmF0dGxlX2hlaWdodAAAAAANa2V5SXRlbXNDb3VudAIAAAALaXRlbXNfY291bnQAAAAADGtleUl0ZW1Pd25lcgIAAAAKaXRlbV9vd25lcgAAAAAPa2V5SXRlbUNhdGVnb3J5AgAAAA1pdGVtX2NhdGVnb3J5AAAAAAtrZXlJdGVtVHlwZQIAAAAJaXRlbV90eXBlAAAAABJrZXlJdGVtRWZmZWN0VHlwZTECAAAAEml0ZW1fZWZmZWN0X3R5cGVfMQAAAAATa2V5SXRlbUVmZmVjdFZhbHVlMQIAAAATaXRlbV9lZmZlY3RfdmFsdWVfMQAAAAASa2V5SXRlbUVmZmVjdFR5cGUyAgAAABJpdGVtX2VmZmVjdF90eXBlXzIAAAAAE2tleUl0ZW1FZmZlY3RWYWx1ZTICAAAAE2l0ZW1fZWZmZWN0X3ZhbHVlXzIAAAAAEmtleUl0ZW1FZmZlY3RUeXBlMwIAAAASaXRlbV9lZmZlY3RfdHlwZV8zAAAAABNrZXlJdGVtRWZmZWN0VmFsdWUzAgAAABNpdGVtX2VmZmVjdF92YWx1ZV8zAAAAABJrZXlJdGVtRWZmZWN0VHlwZTQCAAAAEml0ZW1fZWZmZWN0X3R5cGVfNAAAAAATa2V5SXRlbUVmZmVjdFZhbHVlNAIAAAATaXRlbV9lZmZlY3RfdmFsdWVfNAAAAAAGZ292QXBwCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABAgAAACMzTXl4Znd2YnVlVUJ5bllIZlFzdXROWFpOcU5vekdpTW5zRwAAAAAVa2V5RWNvc3lzdGVtQWRkcmVzc2VzAgAAABNlY29zeXN0ZW1fYWRkcmVzc2VzAAAAABNrZXlCYXR0bGVSZXN0UGVyaW9kAgAAABJiYXR0bGVfcmVzdF9wZXJpb2QAAAAAGWtleUJhdHRsZVdpbkNoYW5jZUhhcmRjYXACAAAAGWJhdHRsZV93aW5fY2hhbmNlX2hhcmRjYXAAAAAAHmtleUJhdHRsZVdpbkNoYW5jZUluY3JQZXJCbG9jawIAAAAgYmF0dGxlX3dpbl9jaGFuY2VfaW5jcl9wZXJfYmxvY2sAAAAAGWtleUJhdHRsZUxvb3RSYXJpdHlSYW5nZXMCAAAAGWJhdHRsZV9sb290X3Jhcml0eV9yYW5nZXMAAAAAIGtleUNoYXJzTmF0dXJhbEJhdHRsZUJvbnVzUmFuZ2VzAgAAACFjaGFyc19uYXR1cmFsX2JhdHRsZV9ib251c19yYW5nZXMAAAAAEmtleUl0ZW1zQ2F0ZWdvcmllcwIAAAAQaXRlbXNfY2F0ZWdvcmllcwAAAAATa2V5SXRlbXNUeXBlc1BlckNhdAIAAAATaXRlbXNfdHlwZXNfcGVyX2NhdAAAAAAPa2V5SXRlbXNFZmZlY3RzAgAAAA1pdGVtc19lZmZlY3RzAAAAABhrZXlpdGVtc0VmZmVjdHNNYXhSYW5nZXMCAAAAF2l0ZW1zX2VmZmVjdHNfbWF4X3JhbmdlAAAAAAhjaGFyc0FwcAkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQIAAAAjM05BM0xSU2lnazZrbkxaMTZ1VHpjZExOb3cyRVFadFhUYUoAAAAACGtleU93bmVyAgAAAAVvd25lcgAAAAAVa2V5TmF0dXJhbEJhdHRsZUJvbnVzAgAAABRuYXR1cmFsX2JhdHRsZV9ib251cwAAAAAIbGFuZHNBcHAJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAECAAAAIzNNeGlKTHJZNlFhNWJTWXh4U0ZIU0c1YlZWMm41OXgxTUduAQAAAAxpbnZva2VDaGVja3MAAAABAAAACmNhbGxlckFkZHIDCQEAAAACIT0AAAACCQAEHgAAAAEFAAAABmdvdkFwcAcJAAACAAAAAQIAAAAXR292ZXJuaW5nIGFwcCBub3QgcmVhZHkEAAAAEmVjb3N5c3RlbUFkZHJlc3NlcwkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAGZ292QXBwBQAAABVrZXlFY29zeXN0ZW1BZGRyZXNzZXMDCQEAAAACIT0AAAACCQEAAAAIY29udGFpbnMAAAACBQAAABJlY29zeXN0ZW1BZGRyZXNzZXMJAAQlAAAAAQUAAAAKY2FsbGVyQWRkcgcJAAACAAAAAQIAAAANQWNjZXNzIGRlbmllZAYBAAAADmVjb3N5c3RlbUNoZWNrAAAAAQAAAAZjYWxsZXIDCQEA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Z292QXBwBQAAAA9rZXlJdGVtc0VmZmVjdHMEAAAAFGl0ZW1FZmZlY3RzTWF4UmFuZ2VzCQAEtQAAAAIJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABmdvdkFwcAUAAAAYa2V5aXRlbXNFZmZlY3RzTWF4UmFuZ2VzBQAAAAlzZXBhcmF0b3IEAAAAD2l0ZW1FZmZlY3RUeXBlMQkBAAAAB3JhbmRJbnQAAAAEAAAAAAAAAAABBQAAABJpdGVtRWZmZWN0c0Ftb3VudHMFAAAABHR4SWQAAAAAAAAAAAQEAAAAEGl0ZW1FZmZlY3RWYWx1ZTEJAQAAAAdyYW5kSW50AAAABAAAAAAAAAAAAQkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAAFGl0ZW1FZmZlY3RzTWF4UmFuZ2VzBQAAAA9pdGVtRWZmZWN0VHlwZTEFAAAABHR4SWQAAAAAAAAAAAUEAAAAD2l0ZW1FZmZlY3RUeXBlMgMJAABmAAAAAgUAAAAPaXRlbUVmZmVjdFNsb3RzAAAAAAAAAAABCQEAAAAHcmFuZEludAAAAAQAAAAAAAAAAAEFAAAAEml0ZW1FZmZlY3RzQW1vdW50cwUAAAAEdHhJZAAAAAAAAAAABgAAAAAAAAAAAAQAAAAQaXRlbUVmZmVjdFZhbHVlMgMJAABmAAAAAgUAAAAPaXRlbUVmZmVjdFNsb3RzAAAAAAAAAAABCQEAAAAHcmFuZEludAAAAAQAAAAAAAAAAAEJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAABRpdGVtRWZmZWN0c01heFJhbmdlcwUAAAAPaXRlbUVmZmVjdFR5cGUyBQAAAAR0eElkAAAAAAAAAAAHAAAAAAAAAAAABAAAAA9pdGVtRWZmZWN0VHlwZTMDCQAAZgAAAAIFAAAAD2l0ZW1FZmZlY3RTbG90cwAAAAAAAAAAAgkBAAAAB3JhbmRJbnQAAAAEAAAAAAAAAAABBQAAABJpdGVtRWZmZWN0c0Ftb3VudHMFAAAABHR4SWQAAAAAAAAAAAgAAAAAAAAAAAAEAAAAEGl0ZW1FZmZlY3RWYWx1ZTMDCQAAZgAAAAIFAAAAD2l0ZW1FZmZlY3RTbG90cwAAAAAAAAAAAgkBAAAAB3JhbmRJbnQAAAAEAAAAAAAAAAABCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAUaXRlbUVmZmVjdHNNYXhSYW5nZXMFAAAAD2l0ZW1FZmZlY3RUeXBlMwUAAAAEdHhJZAAAAAAAAAAACQAAAAAAAAAAAAQAAAAPaXRlbUVmZmVjdFR5cGU0AwkAAGYAAAACBQAAAA9pdGVtRWZmZWN0U2xvdHMAAAAAAAAAAAMJAQAAAAdyYW5kSW50AAAABAAAAAAAAAAAAQUAAAASaXRlbUVmZmVjdHNBbW91bnRzBQAAAAR0eElkAAAAAAAAAAAKAAAAAAAAAAAABAAAABBpdGVtRWZmZWN0VmFsdWU0AwkAAGYAAAACBQAAAA9pdGVtRWZmZWN0U2xvdHMAAAAAAAAAAAMJAQAAAAdyYW5kSW50AAAABAAAAAAAAAAAAQkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAAFGl0ZW1FZmZlY3RzTWF4UmFuZ2VzBQAAAA9pdGVtRWZmZWN0VHlwZTQFAAAABHR4SWQAAAAAAAAAAAsAAAAAAAAAAAAEAAAABml0ZW1JZAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAAA1rZXlJdGVtc0NvdW50AAAAAAAAAAABCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAEd2l0aAAAAAIFAAAAE2tleUxhc3RCYXR0bGVIZWlnaHQFAAAABmNoYXJJZAUAAAAGaGVpZ2h0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA1rZXlJdGVtc0NvdW50CQAAZAAAAAIFAAAABml0ZW1JZAAAAAAAAAAAAQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAEd2l0aAAAAAIFAAAADGtleUl0ZW1Pd25lcgUAAAAGaXRlbUlkBQAAAApjYWxsZXJBZGRyCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAEd2l0aAAAAAIFAAAAD2tleUl0ZW1DYXRlZ29yeQUAAAAGaXRlbUlkBQAAAAdpdGVtQ2F0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAEd2l0aAAAAAIFAAAAC2tleUl0ZW1UeXBlBQAAAAZpdGVtSWQFAAAACGl0ZW1UeXBlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAEd2l0aAAAAAIFAAAAEmtleUl0ZW1FZmZlY3RUeXBlMQUAAAAGaXRlbUlkBQAAAA9pdGVtRWZmZWN0VHlwZTEJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAAR3aXRoAAAAAgUAAAATa2V5SXRlbUVmZmVjdFZhbHVlMQUAAAAGaXRlbUlkBQAAABBpdGVtRWZmZWN0VmFsdWUxCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAEd2l0aAAAAAIFAAAAEmtleUl0ZW1FZmZlY3RUeXBlMgUAAAAGaXRlbUlkBQAAAA9pdGVtRWZmZWN0VHlwZTIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAAR3aXRoAAAAAgUAAAATa2V5SXRlbUVmZmVjdFZhbHVlMgUAAAAGaXRlbUlkBQAAABBpdGVtRWZmZWN0VmFsdWUyCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAEd2l0aAAAAAIFAAAAEmtleUl0ZW1FZmZlY3RUeXBlMwUAAAAGaXRlbUlkBQAAAA9pdGVtRWZmZWN0VHlwZTMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAAR3aXRoAAAAAgUAAAATa2V5SXRlbUVmZmVjdFZhbHVlMwUAAAAGaXRlbUlkBQAAABBpdGVtRWZmZWN0VmFsdWUzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAEd2l0aAAAAAIFAAAAEmtleUl0ZW1FZmZlY3RUeXBlNAUAAAAGaXRlbUlkBQAAAA9pdGVtRWZmZWN0VHlwZTQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAAR3aXRoAAAAAgUAAAATa2V5SXRlbUVmZmVjdFZhbHVlNAUAAAAGaXRlbUlkBQAAABBpdGVtRWZmZWN0VmFsdWU0BQAAAANuaWwAAAABaQEAAAAWdXBkYXRlTGFzdEJhdHRsZUhlaWdodAAAAAEAAAAGY2hhcklkAwkBAAAAAiE9AAAAAgkBAAAADmVjb3N5c3RlbUNoZWNrAAAAAQgFAAAAAWkAAAAGY2FsbGVyBgkBAAAABXRocm93AAAAAAkABRQAAAACCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAEd2l0aAAAAAIFAAAAE2tleUxhc3RCYXR0bGVIZWlnaHQFAAAABmNoYXJJZAUAAAAGaGVpZ2h0BQAAAANuaWwFAAAABmhlaWdodAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V50zWmZQ==", "height": 2058531, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: CpkC2rZHyT7bxghCZKwzjxWzGdJ6qKnfuhV9qK1Zq3Lx Next: 3VCV6AQtm5NEA7BUxjEWcyd5W2437knQKFFfT3FEnX8Z Diff:
OldNewDifferences
144144 let itemEffectValue4 = if ((itemEffectSlots > 3))
145145 then randInt(1, parseIntValue(itemEffectsMaxRanges[itemEffectType4]), txId, 11)
146146 else 0
147- let itemId = getIntegerValue(this, keyItemsCount)
147+ let itemId = valueOrElse(getInteger(this, keyItemsCount), 1)
148148 [IntegerEntry(with(keyLastBattleHeight, charId), height), IntegerEntry(keyItemsCount, (itemId + 1)), StringEntry(with(keyItemOwner, itemId), callerAddr), IntegerEntry(with(keyItemCategory, itemId), itemCat), IntegerEntry(with(keyItemType, itemId), itemType), IntegerEntry(with(keyItemEffectType1, itemId), itemEffectType1), IntegerEntry(with(keyItemEffectValue1, itemId), itemEffectValue1), IntegerEntry(with(keyItemEffectType2, itemId), itemEffectType2), IntegerEntry(with(keyItemEffectValue2, itemId), itemEffectValue2), IntegerEntry(with(keyItemEffectType3, itemId), itemEffectType3), IntegerEntry(with(keyItemEffectValue3, itemId), itemEffectValue3), IntegerEntry(with(keyItemEffectType4, itemId), itemEffectType4), IntegerEntry(with(keyItemEffectValue4, itemId), itemEffectValue4)]
149149 }
150150 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let separator = "_"
55
66 let keyLastBattleHeight = "last_battle_height"
77
88 let keyItemsCount = "items_count"
99
1010 let keyItemOwner = "item_owner"
1111
1212 let keyItemCategory = "item_category"
1313
1414 let keyItemType = "item_type"
1515
1616 let keyItemEffectType1 = "item_effect_type_1"
1717
1818 let keyItemEffectValue1 = "item_effect_value_1"
1919
2020 let keyItemEffectType2 = "item_effect_type_2"
2121
2222 let keyItemEffectValue2 = "item_effect_value_2"
2323
2424 let keyItemEffectType3 = "item_effect_type_3"
2525
2626 let keyItemEffectValue3 = "item_effect_value_3"
2727
2828 let keyItemEffectType4 = "item_effect_type_4"
2929
3030 let keyItemEffectValue4 = "item_effect_value_4"
3131
3232 let govApp = addressFromStringValue("3MyxfwvbueUBynYHfQsutNXZNqNozGiMnsG")
3333
3434 let keyEcosystemAddresses = "ecosystem_addresses"
3535
3636 let keyBattleRestPeriod = "battle_rest_period"
3737
3838 let keyBattleWinChanceHardcap = "battle_win_chance_hardcap"
3939
4040 let keyBattleWinChanceIncrPerBlock = "battle_win_chance_incr_per_block"
4141
4242 let keyBattleLootRarityRanges = "battle_loot_rarity_ranges"
4343
4444 let keyCharsNaturalBattleBonusRanges = "chars_natural_battle_bonus_ranges"
4545
4646 let keyItemsCategories = "items_categories"
4747
4848 let keyItemsTypesPerCat = "items_types_per_cat"
4949
5050 let keyItemsEffects = "items_effects"
5151
5252 let keyitemsEffectsMaxRanges = "items_effects_max_range"
5353
5454 let charsApp = addressFromStringValue("3NA3LRSigk6knLZ16uTzcdLNow2EQZtXTaJ")
5555
5656 let keyOwner = "owner"
5757
5858 let keyNaturalBattleBonus = "natural_battle_bonus"
5959
6060 let landsApp = addressFromStringValue("3MxiJLrY6Qa5bSYxxSFHSG5bVV2n59x1MGn")
6161
6262 func invokeChecks (callerAddr) = if ((isDataStorageUntouched(govApp) != false))
6363 then throw("Governing app not ready")
6464 else {
6565 let ecosystemAddresses = getStringValue(govApp, keyEcosystemAddresses)
6666 if ((contains(ecosystemAddresses, toString(callerAddr)) != false))
6767 then throw("Access denied")
6868 else true
6969 }
7070
7171
7272 func ecosystemCheck (caller) = if ((contains(getStringValue(govApp, keyEcosystemAddresses), toBase58String(caller.bytes)) != true))
7373 then throw("Access denied")
7474 else true
7575
7676
7777 func with (a,b) = {
7878 let c = match b {
7979 case isInt: Int =>
8080 toString(isInt)
8181 case isStr: String =>
8282 isStr
8383 case _ =>
8484 throw("Matching issue in with function")
8585 }
8686 ((c + separator) + a)
8787 }
8888
8989
9090 func randInt (min,max,txId,nonce) = {
9191 let hash = value(sha256_16Kb(((value(value(blockInfoByHeight(height)).vrf) + txId) + toBytes(nonce))))
9292 value(((value(toInt(hash)) % ((max - min) + 1)) + min))
9393 }
9494
9595
9696 @Callable(i)
9797 func battle (charId) = if ((invokeChecks(i.caller) != true))
9898 then throw()
9999 else {
100100 let callerAddr = toBase58String(i.caller.bytes)
101101 let txId = i.transactionId
102102 if ((getStringValue(charsApp, with(keyOwner, charId)) != callerAddr))
103103 then throw("Caller doesn't own this char")
104104 else {
105105 let battleReadyHeight = (getIntegerValue(this, with(keyLastBattleHeight, charId)) + getIntegerValue(govApp, keyBattleRestPeriod))
106106 if ((battleReadyHeight > height))
107107 then throw("Still resting")
108108 else {
109109 let winChance = min([((getIntegerValue(govApp, keyBattleWinChanceIncrPerBlock) * (height - battleReadyHeight)) + getIntegerValue(charsApp, with(keyNaturalBattleBonus, charId))), getIntegerValue(govApp, keyBattleWinChanceHardcap)])
110110 if ((winChance > randInt(0, 10000, txId, 0)))
111111 then [IntegerEntry(with(keyLastBattleHeight, charId), height)]
112112 else {
113113 let itemCat = randInt(1, getIntegerValue(govApp, keyItemsCategories), txId, 1)
114114 let itemCatTypesAmount = parseIntValue(split(getStringValue(govApp, keyItemsTypesPerCat), separator)[(itemCat - 1)])
115115 let itemType = randInt(1, itemCatTypesAmount, txId, 2)
116116 let itemRarityRanges = split(getStringValue(govApp, keyBattleLootRarityRanges), separator)
117117 let itemRarity = randInt(0, 10000, txId, 3)
118118 let itemEffectSlots = if ((parseIntValue(itemRarityRanges[0]) >= itemRarity))
119119 then 1
120120 else if ((parseIntValue(itemRarityRanges[1]) >= itemRarity))
121121 then 2
122122 else if ((parseIntValue(itemRarityRanges[2]) >= itemRarity))
123123 then 3
124124 else 4
125125 let itemEffectsAmounts = getIntegerValue(govApp, keyItemsEffects)
126126 let itemEffectsMaxRanges = split(getStringValue(govApp, keyitemsEffectsMaxRanges), separator)
127127 let itemEffectType1 = randInt(1, itemEffectsAmounts, txId, 4)
128128 let itemEffectValue1 = randInt(1, parseIntValue(itemEffectsMaxRanges[itemEffectType1]), txId, 5)
129129 let itemEffectType2 = if ((itemEffectSlots > 1))
130130 then randInt(1, itemEffectsAmounts, txId, 6)
131131 else 0
132132 let itemEffectValue2 = if ((itemEffectSlots > 1))
133133 then randInt(1, parseIntValue(itemEffectsMaxRanges[itemEffectType2]), txId, 7)
134134 else 0
135135 let itemEffectType3 = if ((itemEffectSlots > 2))
136136 then randInt(1, itemEffectsAmounts, txId, 8)
137137 else 0
138138 let itemEffectValue3 = if ((itemEffectSlots > 2))
139139 then randInt(1, parseIntValue(itemEffectsMaxRanges[itemEffectType3]), txId, 9)
140140 else 0
141141 let itemEffectType4 = if ((itemEffectSlots > 3))
142142 then randInt(1, itemEffectsAmounts, txId, 10)
143143 else 0
144144 let itemEffectValue4 = if ((itemEffectSlots > 3))
145145 then randInt(1, parseIntValue(itemEffectsMaxRanges[itemEffectType4]), txId, 11)
146146 else 0
147- let itemId = getIntegerValue(this, keyItemsCount)
147+ let itemId = valueOrElse(getInteger(this, keyItemsCount), 1)
148148 [IntegerEntry(with(keyLastBattleHeight, charId), height), IntegerEntry(keyItemsCount, (itemId + 1)), StringEntry(with(keyItemOwner, itemId), callerAddr), IntegerEntry(with(keyItemCategory, itemId), itemCat), IntegerEntry(with(keyItemType, itemId), itemType), IntegerEntry(with(keyItemEffectType1, itemId), itemEffectType1), IntegerEntry(with(keyItemEffectValue1, itemId), itemEffectValue1), IntegerEntry(with(keyItemEffectType2, itemId), itemEffectType2), IntegerEntry(with(keyItemEffectValue2, itemId), itemEffectValue2), IntegerEntry(with(keyItemEffectType3, itemId), itemEffectType3), IntegerEntry(with(keyItemEffectValue3, itemId), itemEffectValue3), IntegerEntry(with(keyItemEffectType4, itemId), itemEffectType4), IntegerEntry(with(keyItemEffectValue4, itemId), itemEffectValue4)]
149149 }
150150 }
151151 }
152152 }
153153
154154
155155
156156 @Callable(i)
157157 func updateLastBattleHeight (charId) = if ((ecosystemCheck(i.caller) != true))
158158 then throw()
159159 else $Tuple2([IntegerEntry(with(keyLastBattleHeight, charId), height)], height)
160160
161161
162162 @Verifier(tx)
163163 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
164164

github/deemru/w8io/169f3d6 
44.21 ms