tx · 6YyjNaUkUT4W1vyeRNDSk4655qnqxQr1MgJK5Z195FxQ 3N3mV2Baor8EY7CYQ7QgAm3tL8KruH1VpKA: -0.01000000 Waves 2021.07.24 18:52 [1627918] smart account 3N3mV2Baor8EY7CYQ7QgAm3tL8KruH1VpKA > SELF 0.00000000 Waves
{ "type": 13, "id": "6YyjNaUkUT4W1vyeRNDSk4655qnqxQr1MgJK5Z195FxQ", "fee": 1000000, "feeAssetId": null, "timestamp": 1627141953757, "version": 2, "chainId": 84, "sender": "3N3mV2Baor8EY7CYQ7QgAm3tL8KruH1VpKA", "senderPublicKey": "4P5V3b5K49wXNGa4M6SwDgHAMBa582FxTsF5qjWePQo3", "proofs": [ "28cvkD3cfiEhQVNobUdWen7d7WY7rMtmnHBq9y41kW1myTTqSF1SJCb3JVsjJiggutxPs8GLRzK5c57yoJB3tyaJ" ], "script": "base64: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AAAMc3RhdHVzQ2FyZDA0CQAETAAAAAIFAAAADHN0YXR1c0NhcmQwNQkABEwAAAACBQAAAAxzdGF0dXNDYXJkMDYJAARMAAAAAgUAAAAMc3RhdHVzQ2FyZDA3CQAETAAAAAIFAAAADHN0YXR1c0NhcmQwOAkABEwAAAACBQAAAAxzdGF0dXNDYXJkMDkJAARMAAAAAgUAAAAMc3RhdHVzQ2FyZDEwBQAAAANuaWwEAAAAEGZpcnN0U3RhdHVzQ2FyZHMJAARPAAAAAgUAAAALc3RhdHVzQ2FyZHMGBAAAAA9sYXN0U3RhdHVzQ2FyZHMJAARQAAAAAgUAAAALc3RhdHVzQ2FyZHMGAwMJAQAAAAEhAAAAAQkBAAAAD2NvbnRhaW5zRWxlbWVudAAAAAIFAAAACWNsYXNzR2FtZQUAAAAFY2xhc3MJAQAAAAEhAAAAAQkBAAAAD2NvbnRhaW5zRWxlbWVudAAAAAIFAAAACWNhcmRzR2FtZQUAAAAEY2FyZAcJAAACAAAAAQIAAABCQSBjbGFzc2UgZW52aWFkYSBuw6NvIGV4aXN0ZSBubyBnYW1lISBQb3IgZmF2b3IgY29udGF0ZSBvIHN1cG9ydGUhAwkAAAAAAAACBQAAABBmaXJzdFN0YXR1c0NhcmRzBQAAAA9sYXN0U3RhdHVzQ2FyZHMJAAACAAAAAQIAAAAYU3RhdHVzIGRhcyBjYXJ0YXMgaWd1YWlzAwkAAGYAAAACAAAAAAAAAAAACQAD8AAAAAIFAAAACmN1cnJlbnRLZXkFAAAABnVuZGVhZAkAAAIAAAABAgAAAGFFIG5lY2Vzc8OhcmlvIHRlciBvIHRva2VuIGRvIGRlY2sgZW0gc3VhIGNhcnRlaXJhISBQYXJhIGFkcXVpcmlyLCByZWFsaXplIGEgY29tcHJhIGVtIFN3YXAgRGVja3MuAwMJAAAAAAAAAgUAAAAOY2FyZEluVGhlQXJlbmECAAAAAAYJAAAAAAAAAgUAAAAQcGxheWVySW5UaGVBcmVuYQIAAAAACQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAICAAAAEHBsYXllckluVGhlQXJlbmEFAAAAD2N1cnJlbnRLZXlCeXRlcwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACAgAAAA5jYXJkSW5UaGVBcmVuYQUAAAAIY2FyZE5hbWUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAADmFyZW5hQ2FyZFNjb3JlBQAAABBjdXJyZW50Q2FyZFNjb3JlBQAAAANuaWwDCQAAAAAAAAIFAAAAEWN1cnJlbnRDYXJkU3RhdHVzAgAAAARVc2VkCQAAAgAAAAECAAAAX0VzdGEgY2FydGEgasOhIGZvaSB1dGlsaXphZGEhIFV0aWxpemUgdG9kYXMgYXMgY2FydGFzIGRvIGRlY2sgcGFyYSBlc3RhIHNlciBsaWJlcmFkYSBub3ZhbWVudGUhAwkAAAAAAAACBQAAABBmaXJzdFN0YXR1c0NhcmRzBQAAAA9sYXN0U3RhdHVzQ2FyZHMJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAHc3RhdHVzXwUAAAAFY2xhc3MCAAAABF8wMV8FAAAAD2N1cnJlbnRLZXlCeXRlcwIAAAAACQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAB3N0YXR1c18FAAAABWNsYXNzAgAAAARfMDJfBQAAAA9jdXJyZW50S2V5Qnl0ZXMCAAAAAAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAdzdGF0dXNfBQAAAAVjbGFzcwIAAAAEXzAzXwUAAAAPY3VycmVudEtleUJ5dGVzAgAAAAAJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAHc3RhdHVzXwUAAAAFY2xhc3MCAAAABF8wNF8FAAAAD2N1cnJlbnRLZXlCeXRlcwIAAAAACQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAB3N0YXR1c18FAAAABWNsYXNzAgAAAARfMDVfBQAAAA9jdXJyZW50S2V5Qnl0ZXMCAAAAAAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAdzdGF0dXNfBQAAAAVjbGFzcwIAAAAEXzA2XwUAAAAPY3VycmVudEtleUJ5dGVzAgAAAAAJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAHc3RhdHVzXwUAAAAFY2xhc3MCAAAABF8wN18FAAAAD2N1cnJlbnRLZXlCeXRlcwIAAAAACQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAB3N0YXR1c18FAAAABWNsYXNzAgAAAARfMDhfBQAAAA9jdXJyZW50S2V5Qnl0ZXMCAAAAAAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAdzdGF0dXNfBQAAAAVjbGFzcwIAAAAEXzA5XwUAAAAPY3VycmVudEtleUJ5dGVzAgAAAAAJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAHc3RhdHVzXwUAAAAFY2xhc3MCAAAABF8xMF8FAAAAD2N1cnJlbnRLZXlCeXRlcwIAAAAABQAAAANuaWwEAAAABndpbm5lcgMJAABmAAAAAgUAAAAQY3VycmVudENhcmRTY29yZQUAAAAOYXJlbmFDYXJkU2NvcmUFAAAAD2N1cnJlbnRLZXlCeXRlcwUAAAAQcGxheWVySW5UaGVBcmVuYQQAAAALd2lubmluZ0NhcmQDCQAAZgAAAAIFAAAAEGN1cnJlbnRDYXJkU2NvcmUFAAAADmFyZW5hQ2FyZFNjb3JlBQAAAAhjYXJkTmFtZQUAAAAOY2FyZEluVGhlQXJlbmEEAAAAHHBvaW50c1JlbWFpbmluZ09uV2lubmluZ0NhcmQDCQAAZgAAAAIFAAAAEGN1cnJlbnRDYXJkU2NvcmUFAAAADmFyZW5hQ2FyZFNjb3JlCQAAZQAAAAIFAAAAEGN1cnJlbnRDYXJkU2NvcmUFAAAADmFyZW5hQ2FyZFNjb3JlCQAAZQAAAAIFAAAADmFyZW5hQ2FyZFNjb3JlBQAAABBjdXJyZW50Q2FyZFNjb3JlCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAICAAAAEXBsYXllckludFRoZUFyZW5hBQAAAAZ3aW5uZXIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgIAAAAOY2FyZEluVGhlQXJlbmEFAAAACGNhcmROYW1lCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAA5hcmVuYUNhcmRTY29yZQUAAAAccG9pbnRzUmVtYWluaW5nT25XaW5uaW5nQ2FyZAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAICAAAAB3N0YXR1c18FAAAAFWNhcmROYW1lQ3VycmVudFBsYXllcgIAAAAEVXNlZAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAhoaXN0b3J5XwUAAAAPY3VycmVudEtleUJ5dGVzAgAAAAFfBQAAAA10cmFuc2FjdGlvbklkCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAJdXNlZENhcmQ6BQAAAAhjYXJkTmFtZQIAAAASLyBjYXJkSW5UaGVBcmVuYTogBQAAAA5jYXJkSW5UaGVBcmVuYQIAAAARLyBhcmVuYUNhcmRTY29yZToJAAGkAAAAAQUAAAAOYXJlbmFDYXJkU2NvcmUCAAAACS8gd2lubmVyOgUAAAAGd2lubmVyAgAAAA4vIHdpbm5pbmdDYXJkOgUAAAALd2lubmluZ0NhcmQCAAAAHy8gcG9pbnRzUmVtYWluaW5nT25XaW5uaW5nQ2FyZDoJAAGkAAAAAQUAAAAccG9pbnRzUmVtYWluaW5nT25XaW5uaW5nQ2FyZAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACAgAAABZSZXN1bHRhZG8gZGEgUGFydGlkYTogCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAACXVzZWRDYXJkOgUAAAAIY2FyZE5hbWUCAAAACS8gd2lubmVyOgUAAAAGd2lubmVyAgAAAA4vIHdpbm5pbmdDYXJkOgUAAAALd2lubmluZ0NhcmQCAAAAHy8gcG9pbnRzUmVtYWluaW5nT25XaW5uaW5nQ2FyZDoJAAGkAAAAAQUAAAAccG9pbnRzUmVtYWluaW5nT25XaW5uaW5nQ2FyZAUAAAADbmlsAAAAAPqN3FY=", "height": 1627918, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 6jgwtDt8nXKJZtFDg4Pdv4p9jvVuzhJU6FyH8g7fTQfX Next: 5n2Fg1WBFKLamfYV9qpzhfTrR3ax7PcSjJv3YyCvnHaK Diff:
Old | New | Differences | |
---|---|---|---|
51 | 51 | case _ => | |
52 | 52 | "" | |
53 | 53 | } == "Used") | |
54 | - | let statusCard02 = match getString(this, ((("status_" + class) + "_02_") + currentKeyBytes)) { | |
54 | + | let statusCard02 = ( match getString(this, ((("status_" + class) + "_02_") + currentKeyBytes)) { | |
55 | 55 | case t: String => | |
56 | 56 | t | |
57 | 57 | case _ => | |
58 | 58 | "" | |
59 | - | } | |
60 | - | let statusCard03 = match getString(this, ((("status_" + class) + "_03_") + currentKeyBytes)) { | |
59 | + | } == "Used") | |
60 | + | let statusCard03 = ( match getString(this, ((("status_" + class) + "_03_") + currentKeyBytes)) { | |
61 | 61 | case t: String => | |
62 | 62 | t | |
63 | 63 | case _ => | |
64 | 64 | "" | |
65 | - | } | |
66 | - | let statusCard04 = match getString(this, ((("status_" + class) + "_04_") + currentKeyBytes)) { | |
65 | + | } == "Used") | |
66 | + | let statusCard04 = ( match getString(this, ((("status_" + class) + "_04_") + currentKeyBytes)) { | |
67 | 67 | case t: String => | |
68 | 68 | t | |
69 | 69 | case _ => | |
70 | 70 | "" | |
71 | - | } | |
72 | - | let statusCard05 = match getString(this, ((("status_" + class) + "_05_") + currentKeyBytes)) { | |
71 | + | } == "Used") | |
72 | + | let statusCard05 = ( match getString(this, ((("status_" + class) + "_05_") + currentKeyBytes)) { | |
73 | 73 | case t: String => | |
74 | 74 | t | |
75 | 75 | case _ => | |
76 | 76 | "" | |
77 | - | } | |
78 | - | let statusCard06 = match getString(this, ((("status_" + class) + "_06_") + currentKeyBytes)) { | |
77 | + | } == "Used") | |
78 | + | let statusCard06 = ( match getString(this, ((("status_" + class) + "_06_") + currentKeyBytes)) { | |
79 | 79 | case t: String => | |
80 | 80 | t | |
81 | 81 | case _ => | |
82 | 82 | "" | |
83 | - | } | |
83 | + | } == "Used") | |
84 | 84 | let statusCard07 = ( match getString(this, ((("status_" + class) + "_07_") + currentKeyBytes)) { | |
85 | 85 | case t: String => | |
86 | 86 | t | |
87 | 87 | case _ => | |
88 | 88 | "" | |
89 | 89 | } == "Used") | |
90 | - | let statusCard08 = match getString(this, ((("status_" + class) + "_08_") + currentKeyBytes)) { | |
90 | + | let statusCard08 = ( match getString(this, ((("status_" + class) + "_08_") + currentKeyBytes)) { | |
91 | 91 | case t: String => | |
92 | 92 | t | |
93 | 93 | case _ => | |
94 | 94 | "" | |
95 | - | } | |
96 | - | let statusCard09 = match getString(this, ((("status_" + class) + "_09_") + currentKeyBytes)) { | |
95 | + | } == "Used") | |
96 | + | let statusCard09 = ( match getString(this, ((("status_" + class) + "_09_") + currentKeyBytes)) { | |
97 | 97 | case t: String => | |
98 | 98 | t | |
99 | 99 | case _ => | |
100 | 100 | "" | |
101 | - | } | |
102 | - | let statusCard10 = match getString(this, ((("status_" + class) + "_10_") + currentKeyBytes)) { | |
101 | + | } == "Used") | |
102 | + | let statusCard10 = ( match getString(this, ((("status_" + class) + "_10_") + currentKeyBytes)) { | |
103 | 103 | case t: String => | |
104 | 104 | t | |
105 | 105 | case _ => | |
106 | 106 | "" | |
107 | - | } | |
107 | + | } == "Used") | |
108 | + | let statusCards = [statusCard01, statusCard02, statusCard03, statusCard04, statusCard05, statusCard06, statusCard07, statusCard08, statusCard09, statusCard10] | |
109 | + | let firstStatusCards = indexOf(statusCards, true) | |
110 | + | let lastStatusCards = lastIndexOf(statusCards, true) | |
108 | 111 | if (if (!(containsElement(classGame, class))) | |
109 | 112 | then !(containsElement(cardsGame, card)) | |
110 | 113 | else false) | |
111 | 114 | then throw("A classe enviada não existe no game! Por favor contate o suporte!") | |
112 | - | else if ((0 > assetBalance(currentKey, undead))) | |
113 | - | then throw("E necessário ter o token do deck em sua carteira! Para adquirir, realize a compra em Swap Decks.") | |
114 | - | else if (if ((cardInTheArena == "")) | |
115 | - | then true | |
116 | - | else (playerInTheArena == "")) | |
117 | - | then [StringEntry("playerInTheArena", currentKeyBytes), StringEntry("cardInTheArena", cardName), IntegerEntry("arenaCardScore", currentCardScore)] | |
118 | - | else if ((currentCardStatus == "Used")) | |
119 | - | then throw("Esta carta já foi utilizada! Utilize todas as cartas do deck para esta ser liberada novamente!") | |
120 | - | else { | |
121 | - | let winner = if ((currentCardScore > arenaCardScore)) | |
122 | - | then currentKeyBytes | |
123 | - | else playerInTheArena | |
124 | - | let winningCard = if ((currentCardScore > arenaCardScore)) | |
125 | - | then cardName | |
126 | - | else cardInTheArena | |
127 | - | let pointsRemainingOnWinningCard = if ((currentCardScore > arenaCardScore)) | |
128 | - | then (currentCardScore - arenaCardScore) | |
129 | - | else (arenaCardScore - currentCardScore) | |
130 | - | [StringEntry("playerIntTheArena", winner), StringEntry("cardInTheArena", cardName), IntegerEntry("arenaCardScore", pointsRemainingOnWinningCard), if (statusCard01) | |
131 | - | then StringEntry("teste", "Deu true") | |
132 | - | else StringEntry("teste", "Deu false"), StringEntry(("status_" + cardNameCurrentPlayer), "Used"), StringEntry(((("history_" + currentKeyBytes) + "_") + transactionId), ((((((((((("usedCard:" + cardName) + "/ cardInTheArena: ") + cardInTheArena) + "/ arenaCardScore:") + toString(arenaCardScore)) + "/ winner:") + winner) + "/ winningCard:") + winningCard) + "/ pointsRemainingOnWinningCard:") + toString(pointsRemainingOnWinningCard))), StringEntry("Resultado da Partida: ", ((((((("usedCard:" + cardName) + "/ winner:") + winner) + "/ winningCard:") + winningCard) + "/ pointsRemainingOnWinningCard:") + toString(pointsRemainingOnWinningCard)))] | |
133 | - | } | |
115 | + | else if ((firstStatusCards == lastStatusCards)) | |
116 | + | then throw("Status das cartas iguais") | |
117 | + | else if ((0 > assetBalance(currentKey, undead))) | |
118 | + | then throw("E necessário ter o token do deck em sua carteira! Para adquirir, realize a compra em Swap Decks.") | |
119 | + | else if (if ((cardInTheArena == "")) | |
120 | + | then true | |
121 | + | else (playerInTheArena == "")) | |
122 | + | then [StringEntry("playerInTheArena", currentKeyBytes), StringEntry("cardInTheArena", cardName), IntegerEntry("arenaCardScore", currentCardScore)] | |
123 | + | else if ((currentCardStatus == "Used")) | |
124 | + | then throw("Esta carta já foi utilizada! Utilize todas as cartas do deck para esta ser liberada novamente!") | |
125 | + | else if ((firstStatusCards == lastStatusCards)) | |
126 | + | then [StringEntry(((("status_" + class) + "_01_") + currentKeyBytes), ""), StringEntry(((("status_" + class) + "_02_") + currentKeyBytes), ""), StringEntry(((("status_" + class) + "_03_") + currentKeyBytes), ""), StringEntry(((("status_" + class) + "_04_") + currentKeyBytes), ""), StringEntry(((("status_" + class) + "_05_") + currentKeyBytes), ""), StringEntry(((("status_" + class) + "_06_") + currentKeyBytes), ""), StringEntry(((("status_" + class) + "_07_") + currentKeyBytes), ""), StringEntry(((("status_" + class) + "_08_") + currentKeyBytes), ""), StringEntry(((("status_" + class) + "_09_") + currentKeyBytes), ""), StringEntry(((("status_" + class) + "_10_") + currentKeyBytes), "")] | |
127 | + | else { | |
128 | + | let winner = if ((currentCardScore > arenaCardScore)) | |
129 | + | then currentKeyBytes | |
130 | + | else playerInTheArena | |
131 | + | let winningCard = if ((currentCardScore > arenaCardScore)) | |
132 | + | then cardName | |
133 | + | else cardInTheArena | |
134 | + | let pointsRemainingOnWinningCard = if ((currentCardScore > arenaCardScore)) | |
135 | + | then (currentCardScore - arenaCardScore) | |
136 | + | else (arenaCardScore - currentCardScore) | |
137 | + | [StringEntry("playerIntTheArena", winner), StringEntry("cardInTheArena", cardName), IntegerEntry("arenaCardScore", pointsRemainingOnWinningCard), StringEntry(("status_" + cardNameCurrentPlayer), "Used"), StringEntry(((("history_" + currentKeyBytes) + "_") + transactionId), ((((((((((("usedCard:" + cardName) + "/ cardInTheArena: ") + cardInTheArena) + "/ arenaCardScore:") + toString(arenaCardScore)) + "/ winner:") + winner) + "/ winningCard:") + winningCard) + "/ pointsRemainingOnWinningCard:") + toString(pointsRemainingOnWinningCard))), StringEntry("Resultado da Partida: ", ((((((("usedCard:" + cardName) + "/ winner:") + winner) + "/ winningCard:") + winningCard) + "/ pointsRemainingOnWinningCard:") + toString(pointsRemainingOnWinningCard)))] | |
138 | + | } | |
134 | 139 | } | |
135 | 140 | ||
136 | 141 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | ||
5 | 5 | ||
6 | 6 | @Callable(inv) | |
7 | 7 | func play (card,class) = { | |
8 | 8 | let transactionId = toBase58String(inv.transactionId) | |
9 | 9 | let currentKey = inv.caller | |
10 | 10 | let btcAmount = value(inv.payments[0].amount) | |
11 | 11 | let currentKeyBytes = toBase58String(inv.caller.bytes) | |
12 | 12 | let cardName = ((class + "_") + card) | |
13 | 13 | let cardNameCurrentPlayer = ((((class + "_") + card) + "_") + currentKeyBytes) | |
14 | 14 | let undead = base58'3btiz2mNkbcFhcAww6Zn6WaRtDY3mLHf2dbJHNNbdUFk' | |
15 | 15 | let cardsGame = ["Undead_01", "Undead_02", "Undead_03", "Undead_04", "Undead_05", "Undead_07", "Undead_08", "Undead_09", "Undead_10"] | |
16 | 16 | let classGame = ["Undead"] | |
17 | 17 | let assetsGame = ["3btiz2mNkbcFhcAww6Zn6WaRtDY3mLHf2dbJHNNbdUFk"] | |
18 | 18 | let currentCardStatus = match getString(this, ("status_" + cardNameCurrentPlayer)) { | |
19 | 19 | case t: String => | |
20 | 20 | t | |
21 | 21 | case _ => | |
22 | 22 | "" | |
23 | 23 | } | |
24 | 24 | let currentCardScore = match getInteger(this, cardName) { | |
25 | 25 | case t: Int => | |
26 | 26 | t | |
27 | 27 | case _ => | |
28 | 28 | 0 | |
29 | 29 | } | |
30 | 30 | let playerInTheArena = match getString(this, "playerInTheArena") { | |
31 | 31 | case t: String => | |
32 | 32 | t | |
33 | 33 | case _ => | |
34 | 34 | "" | |
35 | 35 | } | |
36 | 36 | let cardInTheArena = match getString(this, "cardInTheArena") { | |
37 | 37 | case t: String => | |
38 | 38 | t | |
39 | 39 | case _ => | |
40 | 40 | "" | |
41 | 41 | } | |
42 | 42 | let arenaCardScore = match getInteger(this, "arenaCardScore") { | |
43 | 43 | case t: Int => | |
44 | 44 | t | |
45 | 45 | case _ => | |
46 | 46 | 0 | |
47 | 47 | } | |
48 | 48 | let statusCard01 = ( match getString(this, ((("status_" + class) + "_01_") + currentKeyBytes)) { | |
49 | 49 | case t: String => | |
50 | 50 | t | |
51 | 51 | case _ => | |
52 | 52 | "" | |
53 | 53 | } == "Used") | |
54 | - | let statusCard02 = match getString(this, ((("status_" + class) + "_02_") + currentKeyBytes)) { | |
54 | + | let statusCard02 = ( match getString(this, ((("status_" + class) + "_02_") + currentKeyBytes)) { | |
55 | 55 | case t: String => | |
56 | 56 | t | |
57 | 57 | case _ => | |
58 | 58 | "" | |
59 | - | } | |
60 | - | let statusCard03 = match getString(this, ((("status_" + class) + "_03_") + currentKeyBytes)) { | |
59 | + | } == "Used") | |
60 | + | let statusCard03 = ( match getString(this, ((("status_" + class) + "_03_") + currentKeyBytes)) { | |
61 | 61 | case t: String => | |
62 | 62 | t | |
63 | 63 | case _ => | |
64 | 64 | "" | |
65 | - | } | |
66 | - | let statusCard04 = match getString(this, ((("status_" + class) + "_04_") + currentKeyBytes)) { | |
65 | + | } == "Used") | |
66 | + | let statusCard04 = ( match getString(this, ((("status_" + class) + "_04_") + currentKeyBytes)) { | |
67 | 67 | case t: String => | |
68 | 68 | t | |
69 | 69 | case _ => | |
70 | 70 | "" | |
71 | - | } | |
72 | - | let statusCard05 = match getString(this, ((("status_" + class) + "_05_") + currentKeyBytes)) { | |
71 | + | } == "Used") | |
72 | + | let statusCard05 = ( match getString(this, ((("status_" + class) + "_05_") + currentKeyBytes)) { | |
73 | 73 | case t: String => | |
74 | 74 | t | |
75 | 75 | case _ => | |
76 | 76 | "" | |
77 | - | } | |
78 | - | let statusCard06 = match getString(this, ((("status_" + class) + "_06_") + currentKeyBytes)) { | |
77 | + | } == "Used") | |
78 | + | let statusCard06 = ( match getString(this, ((("status_" + class) + "_06_") + currentKeyBytes)) { | |
79 | 79 | case t: String => | |
80 | 80 | t | |
81 | 81 | case _ => | |
82 | 82 | "" | |
83 | - | } | |
83 | + | } == "Used") | |
84 | 84 | let statusCard07 = ( match getString(this, ((("status_" + class) + "_07_") + currentKeyBytes)) { | |
85 | 85 | case t: String => | |
86 | 86 | t | |
87 | 87 | case _ => | |
88 | 88 | "" | |
89 | 89 | } == "Used") | |
90 | - | let statusCard08 = match getString(this, ((("status_" + class) + "_08_") + currentKeyBytes)) { | |
90 | + | let statusCard08 = ( match getString(this, ((("status_" + class) + "_08_") + currentKeyBytes)) { | |
91 | 91 | case t: String => | |
92 | 92 | t | |
93 | 93 | case _ => | |
94 | 94 | "" | |
95 | - | } | |
96 | - | let statusCard09 = match getString(this, ((("status_" + class) + "_09_") + currentKeyBytes)) { | |
95 | + | } == "Used") | |
96 | + | let statusCard09 = ( match getString(this, ((("status_" + class) + "_09_") + currentKeyBytes)) { | |
97 | 97 | case t: String => | |
98 | 98 | t | |
99 | 99 | case _ => | |
100 | 100 | "" | |
101 | - | } | |
102 | - | let statusCard10 = match getString(this, ((("status_" + class) + "_10_") + currentKeyBytes)) { | |
101 | + | } == "Used") | |
102 | + | let statusCard10 = ( match getString(this, ((("status_" + class) + "_10_") + currentKeyBytes)) { | |
103 | 103 | case t: String => | |
104 | 104 | t | |
105 | 105 | case _ => | |
106 | 106 | "" | |
107 | - | } | |
107 | + | } == "Used") | |
108 | + | let statusCards = [statusCard01, statusCard02, statusCard03, statusCard04, statusCard05, statusCard06, statusCard07, statusCard08, statusCard09, statusCard10] | |
109 | + | let firstStatusCards = indexOf(statusCards, true) | |
110 | + | let lastStatusCards = lastIndexOf(statusCards, true) | |
108 | 111 | if (if (!(containsElement(classGame, class))) | |
109 | 112 | then !(containsElement(cardsGame, card)) | |
110 | 113 | else false) | |
111 | 114 | then throw("A classe enviada não existe no game! Por favor contate o suporte!") | |
112 | - | else if ((0 > assetBalance(currentKey, undead))) | |
113 | - | then throw("E necessário ter o token do deck em sua carteira! Para adquirir, realize a compra em Swap Decks.") | |
114 | - | else if (if ((cardInTheArena == "")) | |
115 | - | then true | |
116 | - | else (playerInTheArena == "")) | |
117 | - | then [StringEntry("playerInTheArena", currentKeyBytes), StringEntry("cardInTheArena", cardName), IntegerEntry("arenaCardScore", currentCardScore)] | |
118 | - | else if ((currentCardStatus == "Used")) | |
119 | - | then throw("Esta carta já foi utilizada! Utilize todas as cartas do deck para esta ser liberada novamente!") | |
120 | - | else { | |
121 | - | let winner = if ((currentCardScore > arenaCardScore)) | |
122 | - | then currentKeyBytes | |
123 | - | else playerInTheArena | |
124 | - | let winningCard = if ((currentCardScore > arenaCardScore)) | |
125 | - | then cardName | |
126 | - | else cardInTheArena | |
127 | - | let pointsRemainingOnWinningCard = if ((currentCardScore > arenaCardScore)) | |
128 | - | then (currentCardScore - arenaCardScore) | |
129 | - | else (arenaCardScore - currentCardScore) | |
130 | - | [StringEntry("playerIntTheArena", winner), StringEntry("cardInTheArena", cardName), IntegerEntry("arenaCardScore", pointsRemainingOnWinningCard), if (statusCard01) | |
131 | - | then StringEntry("teste", "Deu true") | |
132 | - | else StringEntry("teste", "Deu false"), StringEntry(("status_" + cardNameCurrentPlayer), "Used"), StringEntry(((("history_" + currentKeyBytes) + "_") + transactionId), ((((((((((("usedCard:" + cardName) + "/ cardInTheArena: ") + cardInTheArena) + "/ arenaCardScore:") + toString(arenaCardScore)) + "/ winner:") + winner) + "/ winningCard:") + winningCard) + "/ pointsRemainingOnWinningCard:") + toString(pointsRemainingOnWinningCard))), StringEntry("Resultado da Partida: ", ((((((("usedCard:" + cardName) + "/ winner:") + winner) + "/ winningCard:") + winningCard) + "/ pointsRemainingOnWinningCard:") + toString(pointsRemainingOnWinningCard)))] | |
133 | - | } | |
115 | + | else if ((firstStatusCards == lastStatusCards)) | |
116 | + | then throw("Status das cartas iguais") | |
117 | + | else if ((0 > assetBalance(currentKey, undead))) | |
118 | + | then throw("E necessário ter o token do deck em sua carteira! Para adquirir, realize a compra em Swap Decks.") | |
119 | + | else if (if ((cardInTheArena == "")) | |
120 | + | then true | |
121 | + | else (playerInTheArena == "")) | |
122 | + | then [StringEntry("playerInTheArena", currentKeyBytes), StringEntry("cardInTheArena", cardName), IntegerEntry("arenaCardScore", currentCardScore)] | |
123 | + | else if ((currentCardStatus == "Used")) | |
124 | + | then throw("Esta carta já foi utilizada! Utilize todas as cartas do deck para esta ser liberada novamente!") | |
125 | + | else if ((firstStatusCards == lastStatusCards)) | |
126 | + | then [StringEntry(((("status_" + class) + "_01_") + currentKeyBytes), ""), StringEntry(((("status_" + class) + "_02_") + currentKeyBytes), ""), StringEntry(((("status_" + class) + "_03_") + currentKeyBytes), ""), StringEntry(((("status_" + class) + "_04_") + currentKeyBytes), ""), StringEntry(((("status_" + class) + "_05_") + currentKeyBytes), ""), StringEntry(((("status_" + class) + "_06_") + currentKeyBytes), ""), StringEntry(((("status_" + class) + "_07_") + currentKeyBytes), ""), StringEntry(((("status_" + class) + "_08_") + currentKeyBytes), ""), StringEntry(((("status_" + class) + "_09_") + currentKeyBytes), ""), StringEntry(((("status_" + class) + "_10_") + currentKeyBytes), "")] | |
127 | + | else { | |
128 | + | let winner = if ((currentCardScore > arenaCardScore)) | |
129 | + | then currentKeyBytes | |
130 | + | else playerInTheArena | |
131 | + | let winningCard = if ((currentCardScore > arenaCardScore)) | |
132 | + | then cardName | |
133 | + | else cardInTheArena | |
134 | + | let pointsRemainingOnWinningCard = if ((currentCardScore > arenaCardScore)) | |
135 | + | then (currentCardScore - arenaCardScore) | |
136 | + | else (arenaCardScore - currentCardScore) | |
137 | + | [StringEntry("playerIntTheArena", winner), StringEntry("cardInTheArena", cardName), IntegerEntry("arenaCardScore", pointsRemainingOnWinningCard), StringEntry(("status_" + cardNameCurrentPlayer), "Used"), StringEntry(((("history_" + currentKeyBytes) + "_") + transactionId), ((((((((((("usedCard:" + cardName) + "/ cardInTheArena: ") + cardInTheArena) + "/ arenaCardScore:") + toString(arenaCardScore)) + "/ winner:") + winner) + "/ winningCard:") + winningCard) + "/ pointsRemainingOnWinningCard:") + toString(pointsRemainingOnWinningCard))), StringEntry("Resultado da Partida: ", ((((((("usedCard:" + cardName) + "/ winner:") + winner) + "/ winningCard:") + winningCard) + "/ pointsRemainingOnWinningCard:") + toString(pointsRemainingOnWinningCard)))] | |
138 | + | } | |
134 | 139 | } | |
135 | 140 | ||
136 | 141 |
github/deemru/w8io/169f3d6 58.84 ms ◑![]()