tx · 4SoAWkBc8nzkLZVga8zBKfE1SUbxDq8CDzeThHLUJjrt 3MuH9NgpoGaSQufEQLPRikXNS9PXhkhcLzp: -0.01400000 Waves 2022.05.19 15:34 [2058557] smart account 3MuH9NgpoGaSQufEQLPRikXNS9PXhkhcLzp > SELF 0.00000000 Waves
{ "type": 13, "id": "4SoAWkBc8nzkLZVga8zBKfE1SUbxDq8CDzeThHLUJjrt", "fee": 1400000, "feeAssetId": null, "timestamp": 1652963692376, "version": 2, "chainId": 84, "sender": "3MuH9NgpoGaSQufEQLPRikXNS9PXhkhcLzp", "senderPublicKey": "74D2dSZ2CcYprVwEPr2GayHyp7wbLrppDt4SWXZcfT1z", "proofs": [ "32fRFQp7dsyJxSjJRLbPaRG7w11HfTmJXa2r8Tbyk4bP6qSj4HCK7uMJA5GrTckdhZQyJZwtUQFY6RSAHv2Sc8oq" ], "script": "base64:AAIFAAAAAAAAAAwIAhIDCgEBEgMKAQEAAAAhAAAAAAlzZXBhcmF0b3ICAAAAAV8AAAAAE2tleUxhc3RCYXR0bGVIZWlnaHQCAAAAEmxhc3RfYmF0dGxlX2hlaWdodAAAAAANa2V5SXRlbXNDb3VudAIAAAALaXRlbXNfY291bnQAAAAADGtleUl0ZW1Pd25lcgIAAAAKaXRlbV9vd25lcgAAAAAPa2V5SXRlbUNhdGVnb3J5AgAAAA1pdGVtX2NhdGVnb3J5AAAAAAtrZXlJdGVtVHlwZQIAAAAJaXRlbV90eXBlAAAAABJrZXlJdGVtRWZmZWN0VHlwZTECAAAAEml0ZW1fZWZmZWN0X3R5cGVfMQAAAAATa2V5SXRlbUVmZmVjdFZhbHVlMQIAAAATaXRlbV9lZmZlY3RfdmFsdWVfMQAAAAASa2V5SXRlbUVmZmVjdFR5cGUyAgAAABJpdGVtX2VmZmVjdF90eXBlXzIAAAAAE2tleUl0ZW1FZmZlY3RWYWx1ZTICAAAAE2l0ZW1fZWZmZWN0X3ZhbHVlXzIAAAAAEmtleUl0ZW1FZmZlY3RUeXBlMwIAAAASaXRlbV9lZmZlY3RfdHlwZV8zAAAAABNrZXlJdGVtRWZmZWN0VmFsdWUzAgAAABNpdGVtX2VmZmVjdF92YWx1ZV8zAAAAABJrZXlJdGVtRWZmZWN0VHlwZTQCAAAAEml0ZW1fZWZmZWN0X3R5cGVfNAAAAAATa2V5SXRlbUVmZmVjdFZhbHVlNAIAAAATaXRlbV9lZmZlY3RfdmFsdWVfNAAAAAAGZ292QXBwCQEAAAARQGV4dHJOYXRpdmUoMTA2MikAAAABAgAAACMzTXl4Znd2YnVlVUJ5bllIZlFzdXROWFpOcU5vekdpTW5zRwAAAAAVa2V5RWNvc3lzdGVtQWRkcmVzc2VzAgAAABNlY29zeXN0ZW1fYWRkcmVzc2VzAAAAABNrZXlCYXR0bGVSZXN0UGVyaW9kAgAAABJiYXR0bGVfcmVzdF9wZXJpb2QAAAAAGWtleUJhdHRsZVdpbkNoYW5jZUhhcmRjYXACAAAAGWJhdHRsZV93aW5fY2hhbmNlX2hhcmRjYXAAAAAAHmtleUJhdHRsZVdpbkNoYW5jZUluY3JQZXJCbG9jawIAAAAgYmF0dGxlX3dpbl9jaGFuY2VfaW5jcl9wZXJfYmxvY2sAAAAAGWtleUJhdHRsZUxvb3RSYXJpdHlSYW5nZXMCAAAAGWJhdHRsZV9sb290X3Jhcml0eV9yYW5nZXMAAAAAIGtleUNoYXJzTmF0dXJhbEJhdHRsZUJvbnVzUmFuZ2VzAgAAACFjaGFyc19uYXR1cmFsX2JhdHRsZV9ib251c19yYW5nZXMAAAAAEmtleUl0ZW1zQ2F0ZWdvcmllcwIAAAAQaXRlbXNfY2F0ZWdvcmllcwAAAAATa2V5SXRlbXNUeXBlc1BlckNhdAIAAAATaXRlbXNfdHlwZXNfcGVyX2NhdAAAAAAPa2V5SXRlbXNFZmZlY3RzAgAAAA1pdGVtc19lZmZlY3RzAAAAABhrZXlpdGVtc0VmZmVjdHNNYXhSYW5nZXMCAAAAF2l0ZW1zX2VmZmVjdHNfbWF4X3JhbmdlAAAAAAhjaGFyc0FwcAkBAAAAEUBleHRyTmF0aXZlKDEwNjIpAAAAAQIAAAAjM05BM0xSU2lnazZrbkxaMTZ1VHpjZExOb3cyRVFadFhUYUoAAAAACGtleU93bmVyAgAAAAVvd25lcgAAAAAVa2V5TmF0dXJhbEJhdHRsZUJvbnVzAgAAABRuYXR1cmFsX2JhdHRsZV9ib251cwAAAAAIbGFuZHNBcHAJAQAAABFAZXh0ck5hdGl2ZSgxMDYyKQAAAAECAAAAIzNNeGlKTHJZNlFhNWJTWXh4U0ZIU0c1YlZWMm41OXgxTUduAQAAAAxpbnZva2VDaGVja3MAAAABAAAACmNhbGxlckFkZHIDCQEAAAACIT0AAAACCQAEHgAAAAEFAAAABmdvdkFwcAcJAAACAAAAAQIAAAAXR292ZXJuaW5nIGFwcCBub3QgcmVhZHkEAAAAEmVjb3N5c3RlbUFkZHJlc3NlcwkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAGZ292QXBwBQAAABVrZXlFY29zeXN0ZW1BZGRyZXNzZXMDCQEAAAACIT0AAAACCQEAAAAIY29udGFpbnMAAAACBQAAABJlY29zeXN0ZW1BZGRyZXNzZXMJAAQlAAAAAQUAAAAKY2FsbGVyQWRkcgcJAAACAAAAAQIAAAANQWNjZXNzIGRlbmllZAYBAAAADmVjb3N5c3RlbUNoZWNrAAAAAQAAAAZjYWxsZXIDCQEA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AAAAAgkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAAEGl0ZW1SYXJpdHlSYW5nZXMAAAAAAAAAAAIFAAAACml0ZW1SYXJpdHkAAAAAAAAAAAMAAAAAAAAAAAQEAAAAEml0ZW1FZmZlY3RzQW1vdW50cwkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAGZ292QXBwBQAAAA9rZXlJdGVtc0VmZmVjdHMEAAAAFGl0ZW1FZmZlY3RzTWF4UmFuZ2VzCQAEtQAAAAIJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABmdvdkFwcAUAAAAYa2V5aXRlbXNFZmZlY3RzTWF4UmFuZ2VzBQAAAAlzZXBhcmF0b3IEAAAAD2l0ZW1FZmZlY3RUeXBlMQkBAAAAB3JhbmRJbnQAAAAEAAAAAAAAAAABBQAAABJpdGVtRWZmZWN0c0Ftb3VudHMFAAAABHR4SWQAAAAAAAAAAAQEAAAAEGl0ZW1FZmZlY3RWYWx1ZTEJAQAAAAdyYW5kSW50AAAABAAAAAAAAAAAAQkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAAFGl0ZW1FZmZlY3RzTWF4UmFuZ2VzBQAAAA9pdGVtRWZmZWN0VHlwZTEFAAAABHR4SWQAAAAAAAAAAAUEAAAAD2l0ZW1FZmZlY3RUeXBlMgMJAABmAAAAAgUAAAAPaXRlbUVmZmVjdFNsb3RzAAAAAAAAAAABCQEAAAAHcmFuZEludAAAAAQAAAAAAAAAAAEFAAAAEml0ZW1FZmZlY3RzQW1vdW50cwUAAAAEdHhJZAAAAAAAAAAABgAAAAAAAAAAAAQAAAAQaXRlbUVmZmVjdFZhbHVlMgMJAABmAAAAAgUAAAAPaXRlbUVmZmVjdFNsb3RzAAAAAAAAAAABCQEAAAAHcmFuZEludAAAAAQAAAAAAAAAAAEJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAABRpdGVtRWZmZWN0c01heFJhbmdlcwUAAAAPaXRlbUVmZmVjdFR5cGUyBQAAAAR0eElkAAAAAAAAAAAHAAAAAAAAAAAABAAAAA9pdGVtRWZmZWN0VHlwZTMDCQAAZgAAAAIFAAAAD2l0ZW1FZmZlY3RTbG90cwAAAAAAAAAAAgkBAAAAB3JhbmRJbnQAAAAEAAAAAAAAAAABBQAAABJpdGVtRWZmZWN0c0Ftb3VudHMFAAAABHR4SWQAAAAAAAAAAAgAAAAAAAAAAAAEAAAAEGl0ZW1FZmZlY3RWYWx1ZTMDCQAAZgAAAAIFAAAAD2l0ZW1FZmZlY3RTbG90cwAAAAAAAAAAAgkBAAAAB3JhbmRJbnQAAAAEAAAAAAAAAAABCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAUaXRlbUVmZmVjdHNNYXhSYW5nZXMFAAAAD2l0ZW1FZmZlY3RUeXBlMwUAAAAEdHhJZAAAAAAAAAAACQAAAAAAAAAAAAQAAAAPaXRlbUVmZmVjdFR5cGU0AwkAAGYAAAACBQAAAA9pdGVtRWZmZWN0U2xvdHMAAAAAAAAAAAMJAQAAAAdyYW5kSW50AAAABAAAAAAAAAAAAQUAAAASaXRlbUVmZmVjdHNBbW91bnRzBQAAAAR0eElkAAAAAAAAAAAKAAAAAAAAAAAABAAAABBpdGVtRWZmZWN0VmFsdWU0AwkAAGYAAAACBQAAAA9pdGVtRWZmZWN0U2xvdHMAAAAAAAAAAAMJAQAAAAdyYW5kSW50AAAABAAAAAAAAAAAAQkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAAFGl0ZW1FZmZlY3RzTWF4UmFuZ2VzBQAAAA9pdGVtRWZmZWN0VHlwZTQFAAAABHR4SWQAAAAAAAAAAAsAAAAAAAAAAAAEAAAABml0ZW1JZAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzBQAAAA1rZXlJdGVtc0NvdW50AAAAAAAAAAABCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAEd2l0aAAAAAIFAAAAE2tleUxhc3RCYXR0bGVIZWlnaHQFAAAABmNoYXJJZAUAAAAGaGVpZ2h0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA1rZXlJdGVtc0NvdW50CQAAZAAAAAIFAAAABml0ZW1JZAAAAAAAAAAAAQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAEd2l0aAAAAAIFAAAADGtleUl0ZW1Pd25lcgUAAAAGaXRlbUlkBQAAAApjYWxsZXJBZGRyCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAEd2l0aAAAAAIFAAAAD2tleUl0ZW1DYXRlZ29yeQUAAAAGaXRlbUlkBQAAAAdpdGVtQ2F0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAEd2l0aAAAAAIFAAAAC2tleUl0ZW1UeXBlBQAAAAZpdGVtSWQFAAAACGl0ZW1UeXBlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAEd2l0aAAAAAIFAAAAEmtleUl0ZW1FZmZlY3RUeXBlMQUAAAAGaXRlbUlkBQAAAA9pdGVtRWZmZWN0VHlwZTEJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAAR3aXRoAAAAAgUAAAATa2V5SXRlbUVmZmVjdFZhbHVlMQUAAAAGaXRlbUlkBQAAABBpdGVtRWZmZWN0VmFsdWUxCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAEd2l0aAAAAAIFAAAAEmtleUl0ZW1FZmZlY3RUeXBlMgUAAAAGaXRlbUlkBQAAAA9pdGVtRWZmZWN0VHlwZTIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAAR3aXRoAAAAAgUAAAATa2V5SXRlbUVmZmVjdFZhbHVlMgUAAAAGaXRlbUlkBQAAABBpdGVtRWZmZWN0VmFsdWUyCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAEd2l0aAAAAAIFAAAAEmtleUl0ZW1FZmZlY3RUeXBlMwUAAAAGaXRlbUlkBQAAAA9pdGVtRWZmZWN0VHlwZTMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAAR3aXRoAAAAAgUAAAATa2V5SXRlbUVmZmVjdFZhbHVlMwUAAAAGaXRlbUlkBQAAABBpdGVtRWZmZWN0VmFsdWUzCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAEd2l0aAAAAAIFAAAAEmtleUl0ZW1FZmZlY3RUeXBlNAUAAAAGaXRlbUlkBQAAAA9pdGVtRWZmZWN0VHlwZTQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAAR3aXRoAAAAAgUAAAATa2V5SXRlbUVmZmVjdFZhbHVlNAUAAAAGaXRlbUlkBQAAABBpdGVtRWZmZWN0VmFsdWU0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAEd2l0aAAAAAICAAAACXdpbkNoYW5jZQUAAAAGaXRlbUlkBQAAAAl3aW5DaGFuY2UJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAAR3aXRoAAAAAgIAAAAHcmFuZE5icgUAAAAGaXRlbUlkBQAAAAdyYW5kTmJyBQAAAANuaWwAAAABaQEAAAAWdXBkYXRlTGFzdEJhdHRsZUhlaWdodAAAAAEAAAAGY2hhcklkAwkBAAAAAiE9AAAAAgkBAAAADmVjb3N5c3RlbUNoZWNrAAAAAQgFAAAAAWkAAAAGY2FsbGVyBgkBAAAABXRocm93AAAAAAkABRQAAAACCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAEd2l0aAAAAAIFAAAAE2tleUxhc3RCYXR0bGVIZWlnaHQFAAAABmNoYXJJZAUAAAAGaGVpZ2h0BQAAAANuaWwFAAAABmhlaWdodAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V5VNpz6w==", "height": 2058557, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: CxZnjP1gyGM8PUjk69DEtgGBYw5Hu2HqDGLGCXgMppei Next: Awg9M16HtAqjmxTmc2RF53D9goPNGe49u7nDY3k6yC6Y Diff:
Old | New | Differences | |
---|---|---|---|
113 | 113 | then throw("Still resting") | |
114 | 114 | else { | |
115 | 115 | let Y = min([((getIntegerValue(o, s) * (height - X)) + (getIntegerValue(z, I(B, W)) * 100)), getIntegerValue(o, r)]) | |
116 | - | if ((Y > P(0, 10000, S, 0))) | |
117 | - | then [IntegerEntry(I(b, W), height), IntegerEntry("test", Y)] | |
116 | + | let Z = P(0, 1000000, S, 0) | |
117 | + | if ((Y > Z)) | |
118 | + | then [IntegerEntry(I(b, W), height), IntegerEntry("winChance", Y), IntegerEntry("randNbr", Z)] | |
118 | 119 | else { | |
119 | - | let | |
120 | - | let | |
121 | - | let | |
122 | - | let | |
123 | - | let | |
124 | - | let | |
120 | + | let aa = P(1, getIntegerValue(o, v), S, 1) | |
121 | + | let ab = parseIntValue(split(getStringValue(o, w), a)[(aa - 1)]) | |
122 | + | let ac = P(1, ab, S, 2) | |
123 | + | let ad = split(getStringValue(o, t), a) | |
124 | + | let ae = P(0, 10000, S, 3) | |
125 | + | let af = if ((parseIntValue(ad[0]) >= ae)) | |
125 | 126 | then 1 | |
126 | - | else if ((parseIntValue( | |
127 | + | else if ((parseIntValue(ad[1]) >= ae)) | |
127 | 128 | then 2 | |
128 | - | else if ((parseIntValue( | |
129 | + | else if ((parseIntValue(ad[2]) >= ae)) | |
129 | 130 | then 3 | |
130 | 131 | else 4 | |
131 | - | let | |
132 | - | let | |
133 | - | let | |
134 | - | let | |
135 | - | let | |
136 | - | then P(1, | |
132 | + | let ag = getIntegerValue(o, x) | |
133 | + | let ah = split(getStringValue(o, y), a) | |
134 | + | let ai = P(1, ag, S, 4) | |
135 | + | let aj = P(1, parseIntValue(ah[ai]), S, 5) | |
136 | + | let ak = if ((af > 1)) | |
137 | + | then P(1, ag, S, 6) | |
137 | 138 | else 0 | |
138 | - | let | |
139 | - | then P(1, parseIntValue( | |
139 | + | let al = if ((af > 1)) | |
140 | + | then P(1, parseIntValue(ah[ak]), S, 7) | |
140 | 141 | else 0 | |
141 | - | let | |
142 | - | then P(1, | |
142 | + | let am = if ((af > 2)) | |
143 | + | then P(1, ag, S, 8) | |
143 | 144 | else 0 | |
144 | - | let | |
145 | - | then P(1, parseIntValue( | |
145 | + | let an = if ((af > 2)) | |
146 | + | then P(1, parseIntValue(ah[am]), S, 9) | |
146 | 147 | else 0 | |
147 | - | let | |
148 | - | then P(1, | |
148 | + | let ao = if ((af > 3)) | |
149 | + | then P(1, ag, S, 10) | |
149 | 150 | else 0 | |
150 | - | let | |
151 | - | then P(1, parseIntValue( | |
151 | + | let ap = if ((af > 3)) | |
152 | + | then P(1, parseIntValue(ah[ao]), S, 11) | |
152 | 153 | else 0 | |
153 | - | let | |
154 | - | [IntegerEntry(I(b, W), height), IntegerEntry(c, ( | |
154 | + | let aq = valueOrElse(getInteger(this, c), 1) | |
155 | + | [IntegerEntry(I(b, W), height), IntegerEntry(c, (aq + 1)), StringEntry(I(d, aq), E), IntegerEntry(I(e, aq), aa), IntegerEntry(I(f, aq), ac), IntegerEntry(I(g, aq), ai), IntegerEntry(I(h, aq), aj), IntegerEntry(I(i, aq), ak), IntegerEntry(I(j, aq), al), IntegerEntry(I(k, aq), am), IntegerEntry(I(l, aq), an), IntegerEntry(I(m, aq), ao), IntegerEntry(I(n, aq), ap), IntegerEntry(I("winChance", aq), Y), IntegerEntry(I("randNbr", aq), Z)] | |
155 | 156 | } | |
156 | 157 | } | |
157 | 158 | } | |
165 | 166 | else $Tuple2([IntegerEntry(I(b, W), height)], height) | |
166 | 167 | ||
167 | 168 | ||
168 | - | @Verifier( | |
169 | - | func | |
169 | + | @Verifier(ar) | |
170 | + | func as () = sigVerify(ar.bodyBytes, ar.proofs[0], ar.senderPublicKey) | |
170 | 171 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let a = "_" | |
5 | 5 | ||
6 | 6 | let b = "last_battle_height" | |
7 | 7 | ||
8 | 8 | let c = "items_count" | |
9 | 9 | ||
10 | 10 | let d = "item_owner" | |
11 | 11 | ||
12 | 12 | let e = "item_category" | |
13 | 13 | ||
14 | 14 | let f = "item_type" | |
15 | 15 | ||
16 | 16 | let g = "item_effect_type_1" | |
17 | 17 | ||
18 | 18 | let h = "item_effect_value_1" | |
19 | 19 | ||
20 | 20 | let i = "item_effect_type_2" | |
21 | 21 | ||
22 | 22 | let j = "item_effect_value_2" | |
23 | 23 | ||
24 | 24 | let k = "item_effect_type_3" | |
25 | 25 | ||
26 | 26 | let l = "item_effect_value_3" | |
27 | 27 | ||
28 | 28 | let m = "item_effect_type_4" | |
29 | 29 | ||
30 | 30 | let n = "item_effect_value_4" | |
31 | 31 | ||
32 | 32 | let o = addressFromStringValue("3MyxfwvbueUBynYHfQsutNXZNqNozGiMnsG") | |
33 | 33 | ||
34 | 34 | let p = "ecosystem_addresses" | |
35 | 35 | ||
36 | 36 | let q = "battle_rest_period" | |
37 | 37 | ||
38 | 38 | let r = "battle_win_chance_hardcap" | |
39 | 39 | ||
40 | 40 | let s = "battle_win_chance_incr_per_block" | |
41 | 41 | ||
42 | 42 | let t = "battle_loot_rarity_ranges" | |
43 | 43 | ||
44 | 44 | let u = "chars_natural_battle_bonus_ranges" | |
45 | 45 | ||
46 | 46 | let v = "items_categories" | |
47 | 47 | ||
48 | 48 | let w = "items_types_per_cat" | |
49 | 49 | ||
50 | 50 | let x = "items_effects" | |
51 | 51 | ||
52 | 52 | let y = "items_effects_max_range" | |
53 | 53 | ||
54 | 54 | let z = addressFromStringValue("3NA3LRSigk6knLZ16uTzcdLNow2EQZtXTaJ") | |
55 | 55 | ||
56 | 56 | let A = "owner" | |
57 | 57 | ||
58 | 58 | let B = "natural_battle_bonus" | |
59 | 59 | ||
60 | 60 | let C = addressFromStringValue("3MxiJLrY6Qa5bSYxxSFHSG5bVV2n59x1MGn") | |
61 | 61 | ||
62 | 62 | func D (E) = if ((isDataStorageUntouched(o) != false)) | |
63 | 63 | then throw("Governing app not ready") | |
64 | 64 | else { | |
65 | 65 | let F = getStringValue(o, p) | |
66 | 66 | if ((contains(F, toString(E)) != false)) | |
67 | 67 | then throw("Access denied") | |
68 | 68 | else true | |
69 | 69 | } | |
70 | 70 | ||
71 | 71 | ||
72 | 72 | func G (H) = if ((contains(getStringValue(o, p), toBase58String(H.bytes)) != true)) | |
73 | 73 | then throw("Access denied") | |
74 | 74 | else true | |
75 | 75 | ||
76 | 76 | ||
77 | 77 | func I (J,K) = { | |
78 | 78 | let L = { | |
79 | 79 | let M = K | |
80 | 80 | if ($isInstanceOf(M, "Int")) | |
81 | 81 | then { | |
82 | 82 | let N = M | |
83 | 83 | toString(N) | |
84 | 84 | } | |
85 | 85 | else if ($isInstanceOf(M, "String")) | |
86 | 86 | then { | |
87 | 87 | let O = M | |
88 | 88 | O | |
89 | 89 | } | |
90 | 90 | else throw("Matching issue in with function") | |
91 | 91 | } | |
92 | 92 | ((L + a) + J) | |
93 | 93 | } | |
94 | 94 | ||
95 | 95 | ||
96 | 96 | func P (Q,R,S,T) = { | |
97 | 97 | let U = value(sha256_16Kb(((value(value(blockInfoByHeight(height)).vrf) + S) + toBytes(T)))) | |
98 | 98 | value(((value(toInt(U)) % ((R - Q) + 1)) + Q)) | |
99 | 99 | } | |
100 | 100 | ||
101 | 101 | ||
102 | 102 | @Callable(V) | |
103 | 103 | func battle (W) = if ((D(V.caller) != true)) | |
104 | 104 | then throw() | |
105 | 105 | else { | |
106 | 106 | let E = toBase58String(V.caller.bytes) | |
107 | 107 | let S = V.transactionId | |
108 | 108 | if ((getStringValue(z, I(A, W)) != E)) | |
109 | 109 | then throw("Caller doesn't own this char") | |
110 | 110 | else { | |
111 | 111 | let X = (getIntegerValue(this, I(b, W)) + getIntegerValue(o, q)) | |
112 | 112 | if ((X > height)) | |
113 | 113 | then throw("Still resting") | |
114 | 114 | else { | |
115 | 115 | let Y = min([((getIntegerValue(o, s) * (height - X)) + (getIntegerValue(z, I(B, W)) * 100)), getIntegerValue(o, r)]) | |
116 | - | if ((Y > P(0, 10000, S, 0))) | |
117 | - | then [IntegerEntry(I(b, W), height), IntegerEntry("test", Y)] | |
116 | + | let Z = P(0, 1000000, S, 0) | |
117 | + | if ((Y > Z)) | |
118 | + | then [IntegerEntry(I(b, W), height), IntegerEntry("winChance", Y), IntegerEntry("randNbr", Z)] | |
118 | 119 | else { | |
119 | - | let | |
120 | - | let | |
121 | - | let | |
122 | - | let | |
123 | - | let | |
124 | - | let | |
120 | + | let aa = P(1, getIntegerValue(o, v), S, 1) | |
121 | + | let ab = parseIntValue(split(getStringValue(o, w), a)[(aa - 1)]) | |
122 | + | let ac = P(1, ab, S, 2) | |
123 | + | let ad = split(getStringValue(o, t), a) | |
124 | + | let ae = P(0, 10000, S, 3) | |
125 | + | let af = if ((parseIntValue(ad[0]) >= ae)) | |
125 | 126 | then 1 | |
126 | - | else if ((parseIntValue( | |
127 | + | else if ((parseIntValue(ad[1]) >= ae)) | |
127 | 128 | then 2 | |
128 | - | else if ((parseIntValue( | |
129 | + | else if ((parseIntValue(ad[2]) >= ae)) | |
129 | 130 | then 3 | |
130 | 131 | else 4 | |
131 | - | let | |
132 | - | let | |
133 | - | let | |
134 | - | let | |
135 | - | let | |
136 | - | then P(1, | |
132 | + | let ag = getIntegerValue(o, x) | |
133 | + | let ah = split(getStringValue(o, y), a) | |
134 | + | let ai = P(1, ag, S, 4) | |
135 | + | let aj = P(1, parseIntValue(ah[ai]), S, 5) | |
136 | + | let ak = if ((af > 1)) | |
137 | + | then P(1, ag, S, 6) | |
137 | 138 | else 0 | |
138 | - | let | |
139 | - | then P(1, parseIntValue( | |
139 | + | let al = if ((af > 1)) | |
140 | + | then P(1, parseIntValue(ah[ak]), S, 7) | |
140 | 141 | else 0 | |
141 | - | let | |
142 | - | then P(1, | |
142 | + | let am = if ((af > 2)) | |
143 | + | then P(1, ag, S, 8) | |
143 | 144 | else 0 | |
144 | - | let | |
145 | - | then P(1, parseIntValue( | |
145 | + | let an = if ((af > 2)) | |
146 | + | then P(1, parseIntValue(ah[am]), S, 9) | |
146 | 147 | else 0 | |
147 | - | let | |
148 | - | then P(1, | |
148 | + | let ao = if ((af > 3)) | |
149 | + | then P(1, ag, S, 10) | |
149 | 150 | else 0 | |
150 | - | let | |
151 | - | then P(1, parseIntValue( | |
151 | + | let ap = if ((af > 3)) | |
152 | + | then P(1, parseIntValue(ah[ao]), S, 11) | |
152 | 153 | else 0 | |
153 | - | let | |
154 | - | [IntegerEntry(I(b, W), height), IntegerEntry(c, ( | |
154 | + | let aq = valueOrElse(getInteger(this, c), 1) | |
155 | + | [IntegerEntry(I(b, W), height), IntegerEntry(c, (aq + 1)), StringEntry(I(d, aq), E), IntegerEntry(I(e, aq), aa), IntegerEntry(I(f, aq), ac), IntegerEntry(I(g, aq), ai), IntegerEntry(I(h, aq), aj), IntegerEntry(I(i, aq), ak), IntegerEntry(I(j, aq), al), IntegerEntry(I(k, aq), am), IntegerEntry(I(l, aq), an), IntegerEntry(I(m, aq), ao), IntegerEntry(I(n, aq), ap), IntegerEntry(I("winChance", aq), Y), IntegerEntry(I("randNbr", aq), Z)] | |
155 | 156 | } | |
156 | 157 | } | |
157 | 158 | } | |
158 | 159 | } | |
159 | 160 | ||
160 | 161 | ||
161 | 162 | ||
162 | 163 | @Callable(V) | |
163 | 164 | func updateLastBattleHeight (W) = if ((G(V.caller) != true)) | |
164 | 165 | then throw() | |
165 | 166 | else $Tuple2([IntegerEntry(I(b, W), height)], height) | |
166 | 167 | ||
167 | 168 | ||
168 | - | @Verifier( | |
169 | - | func | |
169 | + | @Verifier(ar) | |
170 | + | func as () = sigVerify(ar.bodyBytes, ar.proofs[0], ar.senderPublicKey) | |
170 | 171 |
github/deemru/w8io/169f3d6 61.17 ms ◑