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:
OldNewDifferences
5151 case _ =>
5252 ""
5353 } == "Used")
54- let statusCard02 = match getString(this, ((("status_" + class) + "_02_") + currentKeyBytes)) {
54+ let statusCard02 = ( match getString(this, ((("status_" + class) + "_02_") + currentKeyBytes)) {
5555 case t: String =>
5656 t
5757 case _ =>
5858 ""
59- }
60- let statusCard03 = match getString(this, ((("status_" + class) + "_03_") + currentKeyBytes)) {
59+ } == "Used")
60+ let statusCard03 = ( match getString(this, ((("status_" + class) + "_03_") + currentKeyBytes)) {
6161 case t: String =>
6262 t
6363 case _ =>
6464 ""
65- }
66- let statusCard04 = match getString(this, ((("status_" + class) + "_04_") + currentKeyBytes)) {
65+ } == "Used")
66+ let statusCard04 = ( match getString(this, ((("status_" + class) + "_04_") + currentKeyBytes)) {
6767 case t: String =>
6868 t
6969 case _ =>
7070 ""
71- }
72- let statusCard05 = match getString(this, ((("status_" + class) + "_05_") + currentKeyBytes)) {
71+ } == "Used")
72+ let statusCard05 = ( match getString(this, ((("status_" + class) + "_05_") + currentKeyBytes)) {
7373 case t: String =>
7474 t
7575 case _ =>
7676 ""
77- }
78- let statusCard06 = match getString(this, ((("status_" + class) + "_06_") + currentKeyBytes)) {
77+ } == "Used")
78+ let statusCard06 = ( match getString(this, ((("status_" + class) + "_06_") + currentKeyBytes)) {
7979 case t: String =>
8080 t
8181 case _ =>
8282 ""
83- }
83+ } == "Used")
8484 let statusCard07 = ( match getString(this, ((("status_" + class) + "_07_") + currentKeyBytes)) {
8585 case t: String =>
8686 t
8787 case _ =>
8888 ""
8989 } == "Used")
90- let statusCard08 = match getString(this, ((("status_" + class) + "_08_") + currentKeyBytes)) {
90+ let statusCard08 = ( match getString(this, ((("status_" + class) + "_08_") + currentKeyBytes)) {
9191 case t: String =>
9292 t
9393 case _ =>
9494 ""
95- }
96- let statusCard09 = match getString(this, ((("status_" + class) + "_09_") + currentKeyBytes)) {
95+ } == "Used")
96+ let statusCard09 = ( match getString(this, ((("status_" + class) + "_09_") + currentKeyBytes)) {
9797 case t: String =>
9898 t
9999 case _ =>
100100 ""
101- }
102- let statusCard10 = match getString(this, ((("status_" + class) + "_10_") + currentKeyBytes)) {
101+ } == "Used")
102+ let statusCard10 = ( match getString(this, ((("status_" + class) + "_10_") + currentKeyBytes)) {
103103 case t: String =>
104104 t
105105 case _ =>
106106 ""
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)
108111 if (if (!(containsElement(classGame, class)))
109112 then !(containsElement(cardsGame, card))
110113 else false)
111114 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+ }
134139 }
135140
136141
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44
55
66 @Callable(inv)
77 func play (card,class) = {
88 let transactionId = toBase58String(inv.transactionId)
99 let currentKey = inv.caller
1010 let btcAmount = value(inv.payments[0].amount)
1111 let currentKeyBytes = toBase58String(inv.caller.bytes)
1212 let cardName = ((class + "_") + card)
1313 let cardNameCurrentPlayer = ((((class + "_") + card) + "_") + currentKeyBytes)
1414 let undead = base58'3btiz2mNkbcFhcAww6Zn6WaRtDY3mLHf2dbJHNNbdUFk'
1515 let cardsGame = ["Undead_01", "Undead_02", "Undead_03", "Undead_04", "Undead_05", "Undead_07", "Undead_08", "Undead_09", "Undead_10"]
1616 let classGame = ["Undead"]
1717 let assetsGame = ["3btiz2mNkbcFhcAww6Zn6WaRtDY3mLHf2dbJHNNbdUFk"]
1818 let currentCardStatus = match getString(this, ("status_" + cardNameCurrentPlayer)) {
1919 case t: String =>
2020 t
2121 case _ =>
2222 ""
2323 }
2424 let currentCardScore = match getInteger(this, cardName) {
2525 case t: Int =>
2626 t
2727 case _ =>
2828 0
2929 }
3030 let playerInTheArena = match getString(this, "playerInTheArena") {
3131 case t: String =>
3232 t
3333 case _ =>
3434 ""
3535 }
3636 let cardInTheArena = match getString(this, "cardInTheArena") {
3737 case t: String =>
3838 t
3939 case _ =>
4040 ""
4141 }
4242 let arenaCardScore = match getInteger(this, "arenaCardScore") {
4343 case t: Int =>
4444 t
4545 case _ =>
4646 0
4747 }
4848 let statusCard01 = ( match getString(this, ((("status_" + class) + "_01_") + currentKeyBytes)) {
4949 case t: String =>
5050 t
5151 case _ =>
5252 ""
5353 } == "Used")
54- let statusCard02 = match getString(this, ((("status_" + class) + "_02_") + currentKeyBytes)) {
54+ let statusCard02 = ( match getString(this, ((("status_" + class) + "_02_") + currentKeyBytes)) {
5555 case t: String =>
5656 t
5757 case _ =>
5858 ""
59- }
60- let statusCard03 = match getString(this, ((("status_" + class) + "_03_") + currentKeyBytes)) {
59+ } == "Used")
60+ let statusCard03 = ( match getString(this, ((("status_" + class) + "_03_") + currentKeyBytes)) {
6161 case t: String =>
6262 t
6363 case _ =>
6464 ""
65- }
66- let statusCard04 = match getString(this, ((("status_" + class) + "_04_") + currentKeyBytes)) {
65+ } == "Used")
66+ let statusCard04 = ( match getString(this, ((("status_" + class) + "_04_") + currentKeyBytes)) {
6767 case t: String =>
6868 t
6969 case _ =>
7070 ""
71- }
72- let statusCard05 = match getString(this, ((("status_" + class) + "_05_") + currentKeyBytes)) {
71+ } == "Used")
72+ let statusCard05 = ( match getString(this, ((("status_" + class) + "_05_") + currentKeyBytes)) {
7373 case t: String =>
7474 t
7575 case _ =>
7676 ""
77- }
78- let statusCard06 = match getString(this, ((("status_" + class) + "_06_") + currentKeyBytes)) {
77+ } == "Used")
78+ let statusCard06 = ( match getString(this, ((("status_" + class) + "_06_") + currentKeyBytes)) {
7979 case t: String =>
8080 t
8181 case _ =>
8282 ""
83- }
83+ } == "Used")
8484 let statusCard07 = ( match getString(this, ((("status_" + class) + "_07_") + currentKeyBytes)) {
8585 case t: String =>
8686 t
8787 case _ =>
8888 ""
8989 } == "Used")
90- let statusCard08 = match getString(this, ((("status_" + class) + "_08_") + currentKeyBytes)) {
90+ let statusCard08 = ( match getString(this, ((("status_" + class) + "_08_") + currentKeyBytes)) {
9191 case t: String =>
9292 t
9393 case _ =>
9494 ""
95- }
96- let statusCard09 = match getString(this, ((("status_" + class) + "_09_") + currentKeyBytes)) {
95+ } == "Used")
96+ let statusCard09 = ( match getString(this, ((("status_" + class) + "_09_") + currentKeyBytes)) {
9797 case t: String =>
9898 t
9999 case _ =>
100100 ""
101- }
102- let statusCard10 = match getString(this, ((("status_" + class) + "_10_") + currentKeyBytes)) {
101+ } == "Used")
102+ let statusCard10 = ( match getString(this, ((("status_" + class) + "_10_") + currentKeyBytes)) {
103103 case t: String =>
104104 t
105105 case _ =>
106106 ""
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)
108111 if (if (!(containsElement(classGame, class)))
109112 then !(containsElement(cardsGame, card))
110113 else false)
111114 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+ }
134139 }
135140
136141

github/deemru/w8io/169f3d6 
58.84 ms