tx · HLxJRSU93d7ffCqEUYoFyVxoCXkA253yX7p5nUjgsPeC

3MuH9NgpoGaSQufEQLPRikXNS9PXhkhcLzp:  -0.01900000 Waves

2022.05.23 17:55 [2064473] smart account 3MuH9NgpoGaSQufEQLPRikXNS9PXhkhcLzp > SELF 0.00000000 Waves

{ "type": 13, "id": "HLxJRSU93d7ffCqEUYoFyVxoCXkA253yX7p5nUjgsPeC", "fee": 1900000, "feeAssetId": null, "timestamp": 1653317767459, "version": 2, "chainId": 84, "sender": "3MuH9NgpoGaSQufEQLPRikXNS9PXhkhcLzp", "senderPublicKey": "74D2dSZ2CcYprVwEPr2GayHyp7wbLrppDt4SWXZcfT1z", "proofs": [ "6WTWtbUqodxUw6wt2Um5hCXZL6pLx1kgQJRPDmtRLMZrJYJ1XueFkxEWM3SsrYMKn5JfXeXjDWNMmYXHEuBkKgS" ], "script": "base64:AAIFAAAAAAAAABsIAhIDCgEBEgMKAQESBwoFCAEBAQESBAoCCAEAAABNAAAAAAlzZXBhcmF0b3ICAAAAAV8AAAAABmdvdkFwcAkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQIAAAAjM015eGZ3dmJ1ZVVCeW5ZSGZRc3V0TlhaTnFOb3pHaU1uc0cAAAAACGNoYXJzQXBwCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABAgAAACMzTkEzTFJTaWdrNmtuTFoxNnVUemNkTE5vdzJFUVp0WFRhSgAAAAAIbGFuZHNBcHAJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAECAAAAIzNNeGlKTHJZNlFhNWJTWXh4U0ZIU0c1YlZWMm41OXgxTUduAAAAAApiYXR0bGVzQXBwCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABAgAAACMzTXVIOU5ncG9HYVNRdWZFUUxQUmlrWE5TOVBYaGtoY0x6cAAAAAAVa2V5RWNvc3lzdGVtQWRkcmVzc2VzAgAAABNlY29zeXN0ZW1fYWRkcmVzc2VzAAAAAAprZXlUb2tlbklkAgAAAAh0b2tlbl9pZAAAAAAUa2V5VG9rZW5FbWlzc2lvblJhdGUCAAAAE3Rva2VuX2VtaXNzaW9uX3JhdGUAAAAAEWtleVRva2VuR2VuZXJhdGVkAgAAAA90b2tlbl9nZW5lcmF0ZWQAAAAAG2tleVRva2VuR2VuZXJhdGVkTGFzdFVwZGF0ZQIAAAAbdG9rZW5fZ2VuZXJhdGVkX2xhc3RfdXBkYXRlAAAAABJrZXlDaGFyc0JvZHlBbW91bnQCAAAAEWNoYXJzX2JvZHlfYW1vdW50AAAAABJrZXlDaGFyc0V5ZXNBbW91bnQCAAAAEWNoYXJzX2V5ZXNfYW1vdW50AAAAABNrZXlDaGFyc01vdXRoQW1vdW50AgAAABJjaGFyc19tb3V0aF9hbW91bnQAAAAAGGtleUNoYXJzU3RhdHNUaWVyc1JhbmdlcwIAAAAYY2hhcnNfc3RhdHNfdGllcnNfcmFuZ2VzAAAAAB5rZXlDaGFyc05hdHVyYWxFbGVtQm9udXNSYW5nZXMCAAAAH2NoYXJzX25hdHVyYWxfZWxlbV9ib251c19yYW5nZXMAAAAAIGtleUNoYXJzTmF0dXJhbEJhdHRsZUJvbnVzUmFuZ2VzAgAAACFjaGFyc19uYXR1cmFsX2JhdHRsZV9ib251c19yYW5nZXMAAAAAJGtleUNoYXJzTmF0dXJhbEdlbmVyYXRpbmdCb251c1JhbmdlcwIAAAAlY2hhcnNfbmF0dXJhbF9nZW5lcmF0aW5nX2JvbnVzX3JhbmdlcwAAAAANa2V5VG90YWxMYW5kcwIAAAALdG90YWxfbGFuZHMAAAAAE2tleUJhdHRsZVJlc3RQZXJpb2QCAAAAEmJhdHRsZV9yZXN0X3BlcmlvZAAAAAAZa2V5QmF0dGxlV2luQ2hhbmNlSGFyZGNhcAIAAAAZYmF0dGxlX3dpbl9jaGFuY2VfaGFyZGNhcAAAAAAea2V5QmF0dGxlV2luQ2hhbmNlSW5jclBlckJsb2NrAgAAACBiYXR0bGVfd2luX2NoYW5jZV9pbmNyX3Blcl9ibG9jawAAAAAZa2V5QmF0dGxlTG9vdFJhcml0eVJhbmdlcwIAAAAZYmF0dGxlX2xvb3RfcmFyaXR5X3JhbmdlcwAAAAASa2V5SXRlbXNDYXRlZ29yaWVzAgAAABBpdGVtc19jYXRlZ29yaWVzAAAAABNrZXlJdGVtc1R5cGVzUGVyQ2F0AgAAABNpdGVtc190eXBlc19wZXJfY2F0AAAAABVrZXlJdGVtc0VmZmVjdHNBbW91bnQCAAAAFGl0ZW1zX2VmZmVjdHNfYW1vdW50AAAAABhrZXlpdGVtc0VmZmVjdHNNYXhSYW5nZXMCAAAAF2l0ZW1zX2VmZmVjdHNfbWF4X3JhbmdlAAAAAA1rZXlDaGFyc0NvdW50AgAAAAtjaGFyc19jb3VudAAAAAAIa2V5T3duZXICAAAABW93bmVyAAAAAA1rZXlBcHBlYXJhbmNlAgAAAAphcHBlYXJhbmNlAAAAABNrZXlOYXR1cmFsUHlyb0JvbnVzAgAAABJuYXR1cmFsX3B5cm9fYm9udXMAAAAAE2tleU5hdHVyYWxBcXVhQm9udXMCAAAAEm5hdHVyYWxfYXF1YV9ib251cwAAAAAUa2V5TmF0dXJhbFRlcnJhQm9udXMCAAAAE25hdHVyYWxfdGVycmFfYm9udXMAAAAAE2tleU5hdHVyYWxBZXJvQm9udXMCAAAAEm5hdHVyYWxfYWVyb19ib251cwAAAAAVa2V5TmF0dXJhbEJhdHRsZUJvbnVzAgAAABRuYXR1cmFsX2JhdHRsZV9ib251cwAAAAAZa2V5TmF0dXJhbEdlbmVyYXRpbmdCb251cwIAAAAYbmF0dXJhbF9nZW5lcmF0aW5nX2JvbnVzAAAAABJrZXlDaGFyQ3VycmVudExhbmQCAAAAEWNoYXJfY3VycmVudF9sYW5kAAAAABBrZXlMYW5kUHlyb1Bvd2VyAgAAAA9sYW5kX3B5cm9fcG93ZXIAAAAAEGtleUxhbmRBcXVhUG93ZXICAAAAD2xhbmRfYXF1YV9wb3dlcgAAAAARa2V5TGFuZFRlcnJhUG93ZXICAAAAEGxhbmRfdGVycmFfcG93ZXIAAAAAEGtleUxhbmRBZXJvUG93ZXICAAAAD2xhbmRfYWVyb19wb3dlcgAAAAASa2V5Q2hhclRvdGFsSW5jb21lAgAAABFjaGFyX3RvdGFsX2luY29tZQAAAAAVa2V5QWRkcmVzc1RvdGFsSW5jb21lAgAAABRhZGRyZXNzX3RvdGFsX2luY29tZQAAAAAQa2V5Q2hhclB5cm9Qb3dlcgIAAAAPY2hhcl9weXJvX3Bvd2VyAAAAABBrZXlDaGFyQXF1YVBvd2VyAgAAAA9jaGFyX2FxdWFfcG93ZXIAAAAAEWtleUNoYXJUZXJyYVBvd2VyAgAAABBjaGFyX3RlcnJhX3Bvd2VyAAAAABBrZXlDaGFyQWVyb1Bvd2VyAgAAAA9jaGFyX2Flcm9fcG93ZXIAAAAAGGtleUNoYXJJbml0aWFsUHlyb1NoYXJlcwIAAAAYY2hhcl9pbml0aWFsX3B5cm9fc2hhcmVzAAAAABhrZXlDaGFySW5pdGlhbEFxdWFTaGFyZXMCAAAAGGNoYXJfaW5pdGlhbF9hcXVhX3NoYXJlcwAAAAAZa2V5Q2hhckluaXRpYWxUZXJyYVNoYXJlcwIAAAAZY2hhcl9pbml0aWFsX3RlcnJhX3NoYXJlcwAAAAAYa2V5Q2hhckluaXRpYWxBZXJvU2hhcmVzAgAAABhjaGFyX2luaXRpYWxfYWVyb19zaGFyZXMAAAAAI2tleUNoYXJJbml0aWFsTGFuZFB5cm9HcmFudGVkVG9rZW5zAgAAACVjaGFyX2luaXRpYWxfbGFuZF9weXJvX2dyYW50ZWRfdG9rZW5zAAAAACNrZXlDaGFySW5pdGlhbExhbmRBcXVhR3JhbnRlZFRva2VucwIAAAAlY2hhcl9pbml0aWFsX2xhbmRfYXF1YV9ncmFudGVkX3Rva2VucwAAAAAka2V5Q2hhckluaXRpYWxMYW5kVGVycmFHcmFudGVkVG9rZW5zAgAAACZjaGFyX2luaXRpYWxfbGFuZF90ZXJyYV9ncmFudGVkX3Rva2VucwAAAAAja2V5Q2hhckluaXRpYWxMYW5kQWVyb0dyYW50ZWRUb2tlbnMCAAAAJWNoYXJfaW5pdGlhbF9sYW5kX2Flcm9fZ3JhbnRlZF90b2tlbnMAAAAAImtleUxhbmRMYXN0VG9rZW5EaXN0cmlidXRpb25VcGRhdGUCAAAAI2xhbmRfbWFzdF90b2tlbl9kaXN0cmlidXRpb25fdXBkYXRlAAAAAB1rZXlMYW5kUHlyb1RvdGFsR3JhbnRlZFRva2VucwIAAAAebGFuZF9weXJvX3RvdGFsX2dyYW50ZWRfdG9rZW5zAAAAAB1rZXlMYW5kQXF1YVRvdGFsR3JhbnRlZFRva2VucwIAAAAebGFuZF9hcXVhX3RvdGFsX2dyYW50ZWRfdG9rZW5zAAAAAB5rZXlMYW5kVGVycmFUb3RhbEdyYW50ZWRUb2tlbnMCAAAAH2xhbmRfdGVycmFfdG90YWxfZ3JhbnRlZF90b2tlbnMAAAAAHWtleUxhbmRBZXJvVG90YWxHcmFudGVkVG9rZW5zAgAAAB5sYW5kX2Flcm9fdG90YWxfZ3JhbnRlZF90b2tlbnMAAAAAE2tleUxhc3RCYXR0bGVIZWlnaHQCAAAAEmxhc3RfYmF0dGxlX2hlaWdodAAAAAANa2V5SXRlbXNDb3VudAIAAAALaXRlbXNfY291bnQAAAAADGtleUl0ZW1Pd25lcgIAAAAKaXRlbV9vd25lcgAAAAAPa2V5SXRlbUNhdGVnb3J5AgAAAA1pdGVtX2NhdGVnb3J5AAAAAAtrZXlJdGVtVHlwZQIAAAAJaXRlbV90eXBlAAAAAA5rZXlJdGVtRWZmZWN0cwIAAAAMaXRlbV9lZmZlY3RzAAAAABNrZXlJdGVtSXNFcXVpcHBlZEJ5AgAAABNpdGVtX2lzX2VxdWlwcGVkX2J5AAAAAA1rZXlDaGFyV2VhcG9uAgAAAAtjaGFyX3dlYXBvbgAAAAAM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ZmVjdHMAAAAAAAAAAAIJAARMAAAAAgkAAaQAAAABCQEAAAAPY2FsY0VmZmVjdFZhbHVlAAAAAgUAAAALaXRlbUVmZmVjdHMAAAAAAAAAAAMJAARMAAAAAgkAAaQAAAABCQEAAAAPY2FsY0VmZmVjdFZhbHVlAAAAAgUAAAALaXRlbUVmZmVjdHMAAAAAAAAAAAQJAARMAAAAAgkAAaQAAAABCQEAAAAPY2FsY0VmZmVjdFZhbHVlAAAAAgUAAAALaXRlbUVmZmVjdHMAAAAAAAAAAAUJAARMAAAAAgkAAaQAAAABCQEAAAAPY2FsY0VmZmVjdFZhbHVlAAAAAgUAAAALaXRlbUVmZmVjdHMAAAAAAAAAAAYJAARMAAAAAgkAAaQAAAABCQEAAAAPY2FsY0VmZmVjdFZhbHVlAAAAAgUAAAALaXRlbUVmZmVjdHMAAAAAAAAAAAcJAARMAAAAAgkAAaQAAAABCQEAAAAPY2FsY0VmZmVjdFZhbHVlAAAAAgUAAAALaXRlbUVmZmVjdHMAAAAAAAAAAAgJAARMAAAAAgkAAaQAAAABCQEAAAAPY2FsY0VmZmVjdFZhbHVlAAAAAgUAAAALaXRlbUVmZmVjdHMAAAAAAAAAAAkJAARMAAAAAgkAAaQAAAABCQEAAAAPY2FsY0VmZmVjdFZhbHVlAAAAAgUAAAALaXRlbUVmZmVjdHMAAAAAAAAAAAoJAARMAAAAAgkAAaQAAAABCQEAAAAPY2FsY0VmZmVjdFZhbHVlAAAAAgUAAAALaXRlbUVmZmVjdHMAAAAAAAAAAAsJAARMAAAAAgkAAaQAAAABCQEAAAAPY2FsY0VmZmVjdFZhbHVlAAAAAgUAAAALaXRlbUVmZmVjdHMAAAAAAAAAAAwJAARMAAAAAgkAAaQAAAABCQEAAAAPY2FsY0VmZmVjdFZhbHVlAAAAAgUAAAALaXRlbUVmZmVjdHMAAAAAAAAAAA0JAARMAAAAAgkAAaQAAAABCQEAAAAPY2FsY0VmZmVjdFZhbHVlAAAAAgUAAAALaXRlbUVmZmVjdHMAAAAAAAAAAA4JAARMAAAAAgkAAaQAAAABCQEAAAAPY2FsY0VmZmVjdFZhbHVlAAAAAgUAAAALaXRlbUVmZmVjdHMAAAAAAAAAAA8JAARMAAAAAgkAAaQAAAABCQEAAAAPY2FsY0VmZmVjdFZhbHVlAAAAAgUAAAALaXRlbUVmZmVjdHMAAAAAAAAAABAJAARMAAAAAgkAAaQAAAABCQEAAAAPY2FsY0VmZmVjdFZhbHVlAAAAAgUAAAALaXRlbUVmZmVjdHMAAAAAAAAAABEJAARMAAAAAgkAAaQAAAABCQEAAAAPY2FsY0VmZmVjdFZhbHVlAAAAAgUAAAALaXRlbUVmZmVjdHMAAAAAAAAAABIJAARMAAAAAgkAAaQAAAABCQEAAAAPY2FsY0VmZmVjdFZhbHVlAAAAAgUAAAALaXRlbUVmZmVjdHMAAAAAAAAAABMJAARMAAAAAgkAAaQAAAABCQEAAAAPY2FsY0VmZmVjdFZhbHVlAAAAAgUAAAALaXRlbUVmZmVjdHMAAAAAAAAAABQJAARMAAAAAgkAAaQAAAABCQEAAAAPY2FsY0VmZmVjdFZhbHVlAAAAAgUAAAALaXRlbUVmZmVjdHMAAAAAAAAAABUJAARMAAAAAgkAAaQAAAABCQEAAAAPY2FsY0VmZmVjdFZhbHVlAAAAAgUAAAALaXRlbUVmZmVjdHMAAAAAAAAAABYJAARMAAAAAgkAAaQAAAABCQEAAAAPY2FsY0VmZmVjdFZhbHVlAAAAAgUAAAALaXRlbUVmZmVjdHMAAAAAAAAAABcJAARMAAAAAgkAAaQAAAABCQEAAAAPY2FsY0VmZmVjdFZhbHVlAAAAAgUAAAALaXRlbUVmZmVjdHMAAAAAAAAAABgJAARMAAAAAgkAAaQAAAABCQEAAAAPY2FsY0VmZmVjdFZhbHVlAAAAAgUAAAALaXRlbUVmZmVjdHMAAAAAAAAAABkJAARMAAAAAgkAAaQAAAABCQEAAAAPY2FsY0VmZmVjdFZhbHVlAAAAAgUAAAALaXRlbUVmZmVjdHMAAAAAAAAAABoJAARMAAAAAgkAAaQAAAABCQEAAAAPY2FsY0VmZmVjdFZhbHVlAAAAAgUAAAALaXRlbUVmZmVjdHMAAAAAAAAAABsJAARMAAAAAgkAAaQAAAABCQEAAAAPY2FsY0VmZmVjdFZhbHVlAAAAAgUAAAALaXRlbUVmZmVjdHMAAAAAAAAAABwJAARMAAAAAgkAAaQAAAABCQEAAAAPY2FsY0VmZmVjdFZhbHVlAAAAAgUAAAALaXRlbUVmZmVjdHMAAAAAAAAAAB0JAARM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", "height": 2064473, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: Acoxx3rnMAbhXsotJ8MP3ML3TvCfEAV7QoXm37DrNfhT Next: none Diff:
OldNewDifferences
151151 }
152152
153153
154-func ecosystemCheck (caller) = if ((contains(getStringValue(this, keyEcosystemAddresses), toBase58String(caller.bytes)) != true))
154+func ecosystemCheck (caller) = if ((contains(getStringValue(govApp, keyEcosystemAddresses), toBase58String(caller.bytes)) != true))
155155 then throw("Access denied ")
156156 else true
157157
251251
252252
253253 @Callable(i)
254-func setEquipment (callerAddr,charId,weaponId,armorId,jewelId) = if ((ecosystemCheck(i.caller) != true))
254+func setEquipment (callerAddr,charId,weaponId,armorId,jewelId) = if (!(ecosystemCheck(i.caller)))
255255 then throw()
256256 else {
257257 func equipItem (key,itemId,itemCat) = if (if (if ((getStringValue(this, with(keyItemOwner, itemId)) != callerAddr))
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let separator = "_"
55
66 let govApp = addressFromStringValue("3MyxfwvbueUBynYHfQsutNXZNqNozGiMnsG")
77
88 let charsApp = addressFromStringValue("3NA3LRSigk6knLZ16uTzcdLNow2EQZtXTaJ")
99
1010 let landsApp = addressFromStringValue("3MxiJLrY6Qa5bSYxxSFHSG5bVV2n59x1MGn")
1111
1212 let battlesApp = addressFromStringValue("3MuH9NgpoGaSQufEQLPRikXNS9PXhkhcLzp")
1313
1414 let keyEcosystemAddresses = "ecosystem_addresses"
1515
1616 let keyTokenId = "token_id"
1717
1818 let keyTokenEmissionRate = "token_emission_rate"
1919
2020 let keyTokenGenerated = "token_generated"
2121
2222 let keyTokenGeneratedLastUpdate = "token_generated_last_update"
2323
2424 let keyCharsBodyAmount = "chars_body_amount"
2525
2626 let keyCharsEyesAmount = "chars_eyes_amount"
2727
2828 let keyCharsMouthAmount = "chars_mouth_amount"
2929
3030 let keyCharsStatsTiersRanges = "chars_stats_tiers_ranges"
3131
3232 let keyCharsNaturalElemBonusRanges = "chars_natural_elem_bonus_ranges"
3333
3434 let keyCharsNaturalBattleBonusRanges = "chars_natural_battle_bonus_ranges"
3535
3636 let keyCharsNaturalGeneratingBonusRanges = "chars_natural_generating_bonus_ranges"
3737
3838 let keyTotalLands = "total_lands"
3939
4040 let keyBattleRestPeriod = "battle_rest_period"
4141
4242 let keyBattleWinChanceHardcap = "battle_win_chance_hardcap"
4343
4444 let keyBattleWinChanceIncrPerBlock = "battle_win_chance_incr_per_block"
4545
4646 let keyBattleLootRarityRanges = "battle_loot_rarity_ranges"
4747
4848 let keyItemsCategories = "items_categories"
4949
5050 let keyItemsTypesPerCat = "items_types_per_cat"
5151
5252 let keyItemsEffectsAmount = "items_effects_amount"
5353
5454 let keyitemsEffectsMaxRanges = "items_effects_max_range"
5555
5656 let keyCharsCount = "chars_count"
5757
5858 let keyOwner = "owner"
5959
6060 let keyAppearance = "appearance"
6161
6262 let keyNaturalPyroBonus = "natural_pyro_bonus"
6363
6464 let keyNaturalAquaBonus = "natural_aqua_bonus"
6565
6666 let keyNaturalTerraBonus = "natural_terra_bonus"
6767
6868 let keyNaturalAeroBonus = "natural_aero_bonus"
6969
7070 let keyNaturalBattleBonus = "natural_battle_bonus"
7171
7272 let keyNaturalGeneratingBonus = "natural_generating_bonus"
7373
7474 let keyCharCurrentLand = "char_current_land"
7575
7676 let keyLandPyroPower = "land_pyro_power"
7777
7878 let keyLandAquaPower = "land_aqua_power"
7979
8080 let keyLandTerraPower = "land_terra_power"
8181
8282 let keyLandAeroPower = "land_aero_power"
8383
8484 let keyCharTotalIncome = "char_total_income"
8585
8686 let keyAddressTotalIncome = "address_total_income"
8787
8888 let keyCharPyroPower = "char_pyro_power"
8989
9090 let keyCharAquaPower = "char_aqua_power"
9191
9292 let keyCharTerraPower = "char_terra_power"
9393
9494 let keyCharAeroPower = "char_aero_power"
9595
9696 let keyCharInitialPyroShares = "char_initial_pyro_shares"
9797
9898 let keyCharInitialAquaShares = "char_initial_aqua_shares"
9999
100100 let keyCharInitialTerraShares = "char_initial_terra_shares"
101101
102102 let keyCharInitialAeroShares = "char_initial_aero_shares"
103103
104104 let keyCharInitialLandPyroGrantedTokens = "char_initial_land_pyro_granted_tokens"
105105
106106 let keyCharInitialLandAquaGrantedTokens = "char_initial_land_aqua_granted_tokens"
107107
108108 let keyCharInitialLandTerraGrantedTokens = "char_initial_land_terra_granted_tokens"
109109
110110 let keyCharInitialLandAeroGrantedTokens = "char_initial_land_aero_granted_tokens"
111111
112112 let keyLandLastTokenDistributionUpdate = "land_mast_token_distribution_update"
113113
114114 let keyLandPyroTotalGrantedTokens = "land_pyro_total_granted_tokens"
115115
116116 let keyLandAquaTotalGrantedTokens = "land_aqua_total_granted_tokens"
117117
118118 let keyLandTerraTotalGrantedTokens = "land_terra_total_granted_tokens"
119119
120120 let keyLandAeroTotalGrantedTokens = "land_aero_total_granted_tokens"
121121
122122 let keyLastBattleHeight = "last_battle_height"
123123
124124 let keyItemsCount = "items_count"
125125
126126 let keyItemOwner = "item_owner"
127127
128128 let keyItemCategory = "item_category"
129129
130130 let keyItemType = "item_type"
131131
132132 let keyItemEffects = "item_effects"
133133
134134 let keyItemIsEquippedBy = "item_is_equipped_by"
135135
136136 let keyCharWeapon = "char_weapon"
137137
138138 let keyCharArmor = "char_armor"
139139
140140 let keyCharJewel = "char_jewel"
141141
142142 let keyItemEffectsValuesPerTypes = "item_effects_values_per_types"
143143
144144 func invokeChecks (callerAddr) = if ((isDataStorageUntouched(govApp) != false))
145145 then throw("Governing app not ready")
146146 else {
147147 let ecosystemAddresses = getStringValue(govApp, keyEcosystemAddresses)
148148 if ((contains(ecosystemAddresses, toString(callerAddr)) != false))
149149 then throw("Access denied")
150150 else true
151151 }
152152
153153
154-func ecosystemCheck (caller) = if ((contains(getStringValue(this, keyEcosystemAddresses), toBase58String(caller.bytes)) != true))
154+func ecosystemCheck (caller) = if ((contains(getStringValue(govApp, keyEcosystemAddresses), toBase58String(caller.bytes)) != true))
155155 then throw("Access denied ")
156156 else true
157157
158158
159159 func with (a,b) = makeString([toString(b), a], separator)
160160
161161
162162 func withStr (a,b) = makeString([b, a], separator)
163163
164164
165165 func randInt (min,max,txId,nonce) = {
166166 let hash = value(sha256_16Kb(((value(value(blockInfoByHeight(height)).vrf) + txId) + toBytes(nonce))))
167167 value(((value(toInt(hash)) % ((max - min) + 1)) + min))
168168 }
169169
170170
171171 func calcEffectValue (itemEffects,effectId) = ((((if ((itemEffects[0][0] == effectId))
172172 then itemEffects[0][1]
173173 else 0) + (if ((itemEffects[1][0] == effectId))
174174 then itemEffects[1][1]
175175 else 0)) + (if ((itemEffects[2][0] == effectId))
176176 then itemEffects[2][1]
177177 else 0)) + (if ((itemEffects[3][0] == effectId))
178178 then itemEffects[3][1]
179179 else 0))
180180
181181
182182 func createItem (callerAddr,startingNonce,txId) = {
183183 let itemCat = randInt(1, getIntegerValue(govApp, keyItemsCategories), txId, startingNonce)
184184 let itemCatTypesAmount = parseIntValue(split(getStringValue(govApp, keyItemsTypesPerCat), separator)[itemCat])
185185 let itemType = randInt(1, itemCatTypesAmount, txId, (startingNonce + 1))
186186 let itemRarityRanges = split(getStringValue(govApp, keyBattleLootRarityRanges), separator)
187187 let itemRarity = randInt(0, 10000, txId, (startingNonce + 2))
188188 let itemEffectSlots = if ((parseIntValue(itemRarityRanges[0]) >= itemRarity))
189189 then 1
190190 else if ((parseIntValue(itemRarityRanges[1]) >= itemRarity))
191191 then 2
192192 else if ((parseIntValue(itemRarityRanges[2]) >= itemRarity))
193193 then 3
194194 else 4
195195 let itemEffectsAmounts = getIntegerValue(govApp, keyItemsEffectsAmount)
196196 let itemEffectsMaxRanges = split(getStringValue(govApp, keyitemsEffectsMaxRanges), separator)
197197 let effectType1 = randInt(1, itemEffectsAmounts, txId, (startingNonce + 3))
198198 let effectType2 = if ((itemEffectSlots > 1))
199199 then randInt(1, itemEffectsAmounts, txId, (startingNonce + 5))
200200 else 0
201201 let effectType3 = if ((itemEffectSlots > 2))
202202 then randInt(1, itemEffectsAmounts, txId, (startingNonce + 7))
203203 else 0
204204 let effectType4 = if ((itemEffectSlots > 3))
205205 then randInt(1, itemEffectsAmounts, txId, (startingNonce + 9))
206206 else 0
207207 let itemEffects = [[effectType1, randInt(1, parseIntValue(itemEffectsMaxRanges[effectType1]), txId, (startingNonce + 4))], [effectType2, if ((itemEffectSlots > 1))
208208 then randInt(1, parseIntValue(itemEffectsMaxRanges[effectType2]), txId, (startingNonce + 6))
209209 else 0], [effectType3, if ((itemEffectSlots > 2))
210210 then randInt(1, parseIntValue(itemEffectsMaxRanges[effectType3]), txId, (startingNonce + 8))
211211 else 0], [effectType4, if ((itemEffectSlots > 3))
212212 then randInt(1, parseIntValue(itemEffectsMaxRanges[effectType4]), txId, (startingNonce + 10))
213213 else 0]]
214214 let itemEffectsValuesPerTypes = makeString(["0", toString(calcEffectValue(itemEffects, 1)), toString(calcEffectValue(itemEffects, 2)), toString(calcEffectValue(itemEffects, 3)), toString(calcEffectValue(itemEffects, 4)), toString(calcEffectValue(itemEffects, 5)), toString(calcEffectValue(itemEffects, 6)), toString(calcEffectValue(itemEffects, 7)), toString(calcEffectValue(itemEffects, 8)), toString(calcEffectValue(itemEffects, 9)), toString(calcEffectValue(itemEffects, 10)), toString(calcEffectValue(itemEffects, 11)), toString(calcEffectValue(itemEffects, 12)), toString(calcEffectValue(itemEffects, 13)), toString(calcEffectValue(itemEffects, 14)), toString(calcEffectValue(itemEffects, 15)), toString(calcEffectValue(itemEffects, 16)), toString(calcEffectValue(itemEffects, 17)), toString(calcEffectValue(itemEffects, 18)), toString(calcEffectValue(itemEffects, 19)), toString(calcEffectValue(itemEffects, 20)), toString(calcEffectValue(itemEffects, 21)), toString(calcEffectValue(itemEffects, 22)), toString(calcEffectValue(itemEffects, 23)), toString(calcEffectValue(itemEffects, 24)), toString(calcEffectValue(itemEffects, 25)), toString(calcEffectValue(itemEffects, 26)), toString(calcEffectValue(itemEffects, 27)), toString(calcEffectValue(itemEffects, 28)), toString(calcEffectValue(itemEffects, 29)), toString(calcEffectValue(itemEffects, 30)), toString(calcEffectValue(itemEffects, 31)), toString(calcEffectValue(itemEffects, 32))], separator)
215215 let itemId = valueOrElse(getInteger(this, keyItemsCount), 1)
216216 [IntegerEntry(keyItemsCount, (itemId + 1)), IntegerEntry(with(keyItemCategory, itemId), itemCat), IntegerEntry(with(keyItemType, itemId), itemType), StringEntry(with(keyItemEffectsValuesPerTypes, itemId), itemEffectsValuesPerTypes), StringEntry(with(keyItemOwner, itemId), callerAddr), IntegerEntry(with(keyItemIsEquippedBy, itemId), 0)]
217217 }
218218
219219
220220 @Callable(i)
221221 func battle (charId) = if ((invokeChecks(i.caller) != true))
222222 then throw()
223223 else {
224224 let callerAddr = toBase58String(i.caller.bytes)
225225 let txId = i.transactionId
226226 if ((getStringValue(charsApp, with(keyOwner, charId)) != callerAddr))
227227 then throw("Caller doesn't own this char")
228228 else {
229229 let battleReadyHeight = (getIntegerValue(this, with(keyLastBattleHeight, charId)) + getIntegerValue(govApp, keyBattleRestPeriod))
230230 if ((battleReadyHeight > height))
231231 then throw("Still resting")
232232 else {
233233 let winChance = min([((getIntegerValue(govApp, keyBattleWinChanceIncrPerBlock) * (height - battleReadyHeight)) + (getIntegerValue(charsApp, with(keyNaturalBattleBonus, charId)) * 100)), getIntegerValue(govApp, keyBattleWinChanceHardcap)])
234234 if ((randInt(0, 1000000, txId, 0) > winChance))
235235 then [IntegerEntry(with(keyLastBattleHeight, charId), height)]
236236 else {
237237 let newItem = createItem(callerAddr, 1, txId)
238238 ([IntegerEntry(with(keyLastBattleHeight, charId), height)] ++ newItem)
239239 }
240240 }
241241 }
242242 }
243243
244244
245245
246246 @Callable(i)
247247 func updateLastBattleHeight (charId) = if (!(ecosystemCheck(i.caller)))
248248 then throw()
249249 else $Tuple2([IntegerEntry(with(keyLastBattleHeight, charId), height)], height)
250250
251251
252252
253253 @Callable(i)
254-func setEquipment (callerAddr,charId,weaponId,armorId,jewelId) = if ((ecosystemCheck(i.caller) != true))
254+func setEquipment (callerAddr,charId,weaponId,armorId,jewelId) = if (!(ecosystemCheck(i.caller)))
255255 then throw()
256256 else {
257257 func equipItem (key,itemId,itemCat) = if (if (if ((getStringValue(this, with(keyItemOwner, itemId)) != callerAddr))
258258 then true
259259 else (getIntegerValue(this, with(keyItemIsEquippedBy, itemId)) != 0))
260260 then true
261261 else (getIntegerValue(this, with(keyItemCategory, itemId)) != itemCat))
262262 then $Tuple2(nil, 0)
263263 else $Tuple2([IntegerEntry(with(keyItemIsEquippedBy, itemId), charId), IntegerEntry(with(key, charId), itemId)], itemId)
264264
265265 let weapon = if ((weaponId != 0))
266266 then equipItem(keyCharWeapon, weaponId, 1)
267267 else $Tuple2(nil, 0)
268268 let armor = if ((armorId != 0))
269269 then equipItem(keyCharArmor, armorId, 2)
270270 else $Tuple2(nil, 0)
271271 let jewel = if ((jewelId != 0))
272272 then equipItem(keyCharJewel, jewelId, 3)
273273 else $Tuple2(nil, 0)
274274 $Tuple2(((weapon._1 ++ armor._1) ++ jewel._1), makeString([toString(weapon._2), toString(armor._2), toString(jewel._2)], separator))
275275 }
276276
277277
278278
279279 @Callable(i)
280280 func removeEquipment (callerAddr,charId) = if ((ecosystemCheck(i.caller) != true))
281281 then throw()
282282 else {
283283 let weaponId = getIntegerValue(this, with(keyCharWeapon, charId))
284284 let armorId = getIntegerValue(this, with(keyCharArmor, charId))
285285 let jewelId = getIntegerValue(this, with(keyCharJewel, charId))
286286 $Tuple2([IntegerEntry(with(keyCharWeapon, charId), 0), IntegerEntry(with(keyCharArmor, charId), 0), IntegerEntry(with(keyCharJewel, charId), 0), IntegerEntry(with(keyItemIsEquippedBy, weaponId), 0), IntegerEntry(with(keyItemIsEquippedBy, armorId), 0), IntegerEntry(with(keyItemIsEquippedBy, jewelId), 0)], makeString([toString(weaponId), toString(armorId), toString(jewelId)], separator))
287287 }
288288
289289
290290 @Verifier(tx)
291291 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
292292

github/deemru/w8io/169f3d6 
75.78 ms