From 83e29a14c0cdfdc3a741839af18ca42f8d778c5c Mon Sep 17 00:00:00 2001 From: Alwayssnarky <126915043+EldritchBimbo@users.noreply.github.com> Date: Fri, 7 Apr 2023 20:08:49 -0400 Subject: [PATCH 01/18] Dross Pit Content Update Additions: .2 new enemies, based on the Dross Pit Phyrexians, plus infrastructure. (Both use .json deck generation, for now) .Additional level tiles based on Dross Pit aesthetic, plus infrastructure. .Additional overworld tile for new dungeon, plus infrastructure. .1 new dungeon, utilizing new enemies and tiles. Changes: .Additions to Phyrexian_Buildings .atlas and .png files to accommodate new overworld tile. .Addition to black.json to allow new dungeon to spawn. .Addition to p_o_i.json to create new dungeon. .Addition to enemies.json to create enemy entries for new enemies. --- .../Shandalar/decks/drossgladiator.json | 12 ++ .../Shandalar/decks/drossgrimnarch.json | 12 ++ .../Shandalar/maps/map/phyrexian_black1.tmx | 123 +++++++++++++++ .../Shandalar/maps/tileset/DrossPitTiles.png | Bin 0 -> 5503 bytes .../Shandalar/maps/tileset/DrossPitTiles.tsx | 4 + .../maps/tileset/Phyrexian_Buildings.atlas | 3 + .../maps/tileset/Phyrexian_Buildings.png | Bin 3556 -> 4499 bytes .../Shandalar/sprites/drossgladiator.atlas | 68 +++++++++ .../Shandalar/sprites/drossgladiator.png | Bin 0 -> 1956 bytes .../Shandalar/sprites/drossgrimnarch.atlas | 68 +++++++++ .../Shandalar/sprites/drossgrimnarch.png | Bin 0 -> 1767 bytes .../res/adventure/Shandalar/world/black.json | 1 + .../adventure/Shandalar/world/enemies.json | 144 ++++++++++++++++++ .../Shandalar/world/points_of_interest.json | 9 ++ 14 files changed, 444 insertions(+) create mode 100644 forge-gui/res/adventure/Shandalar/decks/drossgladiator.json create mode 100644 forge-gui/res/adventure/Shandalar/decks/drossgrimnarch.json create mode 100644 forge-gui/res/adventure/Shandalar/maps/map/phyrexian_black1.tmx create mode 100644 forge-gui/res/adventure/Shandalar/maps/tileset/DrossPitTiles.png create mode 100644 forge-gui/res/adventure/Shandalar/maps/tileset/DrossPitTiles.tsx create mode 100644 forge-gui/res/adventure/Shandalar/sprites/drossgladiator.atlas create mode 100644 forge-gui/res/adventure/Shandalar/sprites/drossgladiator.png create mode 100644 forge-gui/res/adventure/Shandalar/sprites/drossgrimnarch.atlas create mode 100644 forge-gui/res/adventure/Shandalar/sprites/drossgrimnarch.png diff --git a/forge-gui/res/adventure/Shandalar/decks/drossgladiator.json b/forge-gui/res/adventure/Shandalar/decks/drossgladiator.json new file mode 100644 index 00000000000..33d7bd0df56 --- /dev/null +++ b/forge-gui/res/adventure/Shandalar/decks/drossgladiator.json @@ -0,0 +1,12 @@ +{ +"name":"Dross Gladiator", + "template": + { + "count":60, + "colors":["Black"], + "tribe":"Phyrexian", + "tribeCards":1.0, + "tribeSynergyCards":0.40, + "rares":0.25 + } +} diff --git a/forge-gui/res/adventure/Shandalar/decks/drossgrimnarch.json b/forge-gui/res/adventure/Shandalar/decks/drossgrimnarch.json new file mode 100644 index 00000000000..263b04092a3 --- /dev/null +++ b/forge-gui/res/adventure/Shandalar/decks/drossgrimnarch.json @@ -0,0 +1,12 @@ +{ +"name":"Dross Grimnarch", + "template": + { + "count":60, + "colors":["Black, Blue"], + "tribe":"Phyrexian", + "tribeCards":1.0, + "tribeSynergyCards":0.40, + "rares":0.4 + } +} diff --git a/forge-gui/res/adventure/Shandalar/maps/map/phyrexian_black1.tmx b/forge-gui/res/adventure/Shandalar/maps/map/phyrexian_black1.tmx new file mode 100644 index 00000000000..8ad97133b40 --- /dev/null +++ b/forge-gui/res/adventure/Shandalar/maps/map/phyrexian_black1.tmx @@ -0,0 +1,123 @@ + + + + + + + + + + + eJzdkkEOgCAMBLl5ks8Y9Xt+QtRniR/SHpqQsg1oFI2b9CLFKd015h5N9U0/KqjGGuOVau3zbE0l2UP1bXav+NNdmDNke3EfsenbeOTaBUU5l96N4lyKZ9aE3rfZmEPzrKCXtSTmOCPEzlVur6vjQvtFPjjlfcxO5UTzW+4X+YA84N5Q8h7nXbKpD+2Car7oYy77CUk2Z/QNNqsEOzcXf9EObOpIsw== + + + + + eJzr1mNgaBkg3D0E7N7BA6FBAJkeCH8PpN0DFd9N3APnXmqE96jdI89uctL5QNs9UGXLqN30t5taGACvMGLt + + + + + + + + eJxjYGBg6NYbGAwCU4H0FBx4Mo3t7oHS2EDXCLF7r97A2X2MjnaD0tN0GoU5chrGlmYJAUrsRg7PaVjcQS+7sZk5kHY3QXEfAXXk4GYk85FxI5K/sbnxvB7ldhOTx7DZfWMA7aZGmA8FuwmlC1raPRAYAAIpNm8= + + + + + + + + eJxjYBgFo2Dwgvl6DAztWPACPdrb3Q+0ow2IZyLhDiCeSEW7D+Lw3yws9oDcMwNN3SEK3HIKqHcCDozNbnQ1pymw+zJauOILX2zxcIUG8Y8tfLHFAy3AChzhsZIOdo+CUUAOAAA9nDWk + + + + + eJxjYBgFo2AUjIJRMApGwSggHgAACDwAAQ== + + + + + + + + + + + + + + + + + + + + + + [ + { + "editions": [ "ONE" ], + "type": "card", + "count": 10, + "rarity": [ "Common" ] + "colors": [ "black" ] + }, + { + "editions": [ "ONE" ], + "type": "card", + "count": 3, + "rarity": [ "Uncommon" ] + "colors": [ "black" ] + }, + { + "editions": [ "ONE" ], + "type": "card", + "count": 1, + "rarity": [ "Rare", "Mythic Rare" ] + "colors": [ "black" ] + } +] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/forge-gui/res/adventure/Shandalar/maps/tileset/DrossPitTiles.png b/forge-gui/res/adventure/Shandalar/maps/tileset/DrossPitTiles.png new file mode 100644 index 0000000000000000000000000000000000000000..7877735a83efe623cd0c22b895e01b379e4dd9a0 GIT binary patch literal 5503 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 + + + diff --git a/forge-gui/res/adventure/Shandalar/maps/tileset/Phyrexian_Buildings.atlas b/forge-gui/res/adventure/Shandalar/maps/tileset/Phyrexian_Buildings.atlas index 27ef09c738c..07f6f59acfa 100644 --- a/forge-gui/res/adventure/Shandalar/maps/tileset/Phyrexian_Buildings.atlas +++ b/forge-gui/res/adventure/Shandalar/maps/tileset/Phyrexian_Buildings.atlas @@ -12,3 +12,6 @@ GitLabSmall CopperhostForest xy: 64,0 size: 32, 32 +DrossOutpost + xy: 96,0 + size: 32, 32 \ No newline at end of file diff --git a/forge-gui/res/adventure/Shandalar/maps/tileset/Phyrexian_Buildings.png b/forge-gui/res/adventure/Shandalar/maps/tileset/Phyrexian_Buildings.png index e4088c599fa68f3cdb606348f366ad2b6bfc9b9a..5ab488e7eb076c9b65541a78fd8ff656eaba8d3b 100644 GIT binary patch literal 4499 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 JPDHLkV1g-BboT%N literal 0 HcmV?d00001 diff --git a/forge-gui/res/adventure/Shandalar/world/black.json b/forge-gui/res/adventure/Shandalar/world/black.json index 077fa503c79..17b9fe383e3 100644 --- a/forge-gui/res/adventure/Shandalar/world/black.json +++ b/forge-gui/res/adventure/Shandalar/world/black.json @@ -94,6 +94,7 @@ "SkullCaveB", "SkullCaveB1", "SkullCaveB2", + "DrossOutpost", "CaveB", "CaveB1", "CaveB2", diff --git a/forge-gui/res/adventure/Shandalar/world/enemies.json b/forge-gui/res/adventure/Shandalar/world/enemies.json index 08e2b0515e9..d025112ae52 100644 --- a/forge-gui/res/adventure/Shandalar/world/enemies.json +++ b/forge-gui/res/adventure/Shandalar/world/enemies.json @@ -3854,6 +3854,150 @@ ], "colors": "R" }, +{ + "name": "Dross Gladiator", + "sprite": "sprites/drossgladiator.atlas", + "deck": [ + "decks/drossgladiator.json" + ], + "spawnRate": 1, + "difficulty": 0.1, + "speed": 35, + "life": 16, + "rewards": [ + { + "type": "deckCard", + "probability": 1, + "count": 2, + "addMaxCount": 4, + "rarity": [ + "common" + ] + }, + { + "type": "deckCard", + "probability": 0.5, + "count": 1, + "addMaxCount": 2, + "rarity": [ + "uncommon" + ], + "cardTypes": [ + "Creature", + "Artifact", + "Enchantment", + "Instant", + "Sorcery" + ] + }, + { + "type": "deckCard", + "probability": 0.25, + "count": 1, + "addMaxCount": 1, + "rarity": [ + "rare" + ], + "cardTypes": [ + "Creature", + "Artifact", + "Enchantment", + "Instant", + "Sorcery" + ] + }, + { + "type": "deckCard", + "probability": 0.1, + "count": 1, + "rarity": [ + "rare" + ], + "cardTypes": [ + "Land" + ] + }, + { + "type": "gold", + "probability": 0.3, + "count": 10, + "addMaxCount": 90 + } + ], + "colors": "B" +}, +{ + "name": "Dross Grimnarch", + "sprite": "sprites/drossgrimnarch.atlas", + "deck": [ + "decks/drossgrimnarch.json" + ], + "spawnRate": 1, + "difficulty": 0.1, + "speed": 24, + "life": 19, + "rewards": [ + { + "type": "deckCard", + "probability": 1, + "count": 2, + "addMaxCount": 4, + "rarity": [ + "common" + ] + }, + { + "type": "deckCard", + "probability": 0.75, + "count": 1, + "addMaxCount": 2, + "rarity": [ + "uncommon" + ], + "cardTypes": [ + "Creature", + "Artifact", + "Enchantment", + "Instant", + "Sorcery" + ] + }, + { + "type": "deckCard", + "probability": 0.50, + "count": 1, + "addMaxCount": 2, + "rarity": [ + "rare" + ], + "cardTypes": [ + "Creature", + "Artifact", + "Enchantment", + "Instant", + "Sorcery" + ] + }, + { + "type": "deckCard", + "probability": 0.1, + "count": 1, + "rarity": [ + "rare" + ], + "cardTypes": [ + "Land" + ] + }, + { + "type": "gold", + "probability": 0.3, + "count": 10, + "addMaxCount": 90 + } + ], + "colors": "BU" +}, { "name": "Dwarf", "sprite": "sprites/dwarf_2.atlas", diff --git a/forge-gui/res/adventure/Shandalar/world/points_of_interest.json b/forge-gui/res/adventure/Shandalar/world/points_of_interest.json index c11a4199665..7a504e26e44 100644 --- a/forge-gui/res/adventure/Shandalar/world/points_of_interest.json +++ b/forge-gui/res/adventure/Shandalar/world/points_of_interest.json @@ -731,6 +731,15 @@ "sprite": "StonePyramid", "map": "maps/map/dreamhalls.tmx" }, +{ + "name": "DrossOutpost", + "type": "dungeon", + "count": 2, + "radiusFactor": 0.8, + "spriteAtlas": "maps/tileset/Phyrexian_Buildings.atlas", + "sprite": "DrossOutpost", + "map": "maps/map/phyrexian_black1.tmx" +}, { "name": "ElfTown", "type": "dungeon", From f20a56db65076333e38d40b2b0995b74fd8bd4b3 Mon Sep 17 00:00:00 2001 From: Alwayssnarky <126915043+EldritchBimbo@users.noreply.github.com> Date: Sat, 8 Apr 2023 10:27:10 -0400 Subject: [PATCH 02/18] Level tweaks .Fixes to collision in downward tiles on dross pit level. .Tweaks to patrol of first enemy on lower part of Dross Pit Level .Correction to bug preventing the spawning of Copper Host level. .Correction to minor collision issue in Copper Host level --- .../res/adventure/Shandalar/maps/map/phyrexian_black1.tmx | 6 +++--- forge-gui/res/adventure/Shandalar/maps/map/phyrexian_g1.tmx | 2 +- forge-gui/res/adventure/Shandalar/world/green.json | 1 + 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/forge-gui/res/adventure/Shandalar/maps/map/phyrexian_black1.tmx b/forge-gui/res/adventure/Shandalar/maps/map/phyrexian_black1.tmx index 8ad97133b40..94a51babcd4 100644 --- a/forge-gui/res/adventure/Shandalar/maps/map/phyrexian_black1.tmx +++ b/forge-gui/res/adventure/Shandalar/maps/map/phyrexian_black1.tmx @@ -8,7 +8,7 @@ - eJzdkkEOgCAMBLl5ks8Y9Xt+QtRniR/SHpqQsg1oFI2b9CLFKd015h5N9U0/KqjGGuOVau3zbE0l2UP1bXav+NNdmDNke3EfsenbeOTaBUU5l96N4lyKZ9aE3rfZmEPzrKCXtSTmOCPEzlVur6vjQvtFPjjlfcxO5UTzW+4X+YA84N5Q8h7nXbKpD+2Car7oYy77CUk2Z/QNNqsEOzcXf9EObOpIsw== + eJzVlM0NgCAMRrkYT3YZo67nEuJc6ia6gHAgYG1JIWBik+8g1L7+Bd0opQWqYRJubfYOtL5g596XZM9t/L7kfHLYEzOfEbyvJC98ZmNQ96EG47N0Sp3gtZrvHmR9wTvGGVXfAW+OzWcjfGM15FqP8h0i+WOTssO+4v5iNp4DJ2kPuHnj/lJzSFFobt8pP66eC55xJLxUdsn3l/rH7WjNdy2MH9uL2uxSffwD+wZNG6DH @@ -39,7 +39,7 @@ - + @@ -116,7 +116,7 @@ - + diff --git a/forge-gui/res/adventure/Shandalar/maps/map/phyrexian_g1.tmx b/forge-gui/res/adventure/Shandalar/maps/map/phyrexian_g1.tmx index b77e72f214f..86ca6abef7d 100644 --- a/forge-gui/res/adventure/Shandalar/maps/map/phyrexian_g1.tmx +++ b/forge-gui/res/adventure/Shandalar/maps/map/phyrexian_g1.tmx @@ -8,7 +8,7 @@ - eJztllsKxSAMRN1A3Uwfd6W3XVfbDRU/hBBMjDoVCg7ky9bD5IXODQX9p/7M2Tt3GWP1OKZVKObJvGzk3h87u0FMLuob5SvXM28wLT0Theop6iN43gvjIHmqYZb0bIqDYs6Z3LUy+ZzQmdDOWphSPUPNtLMWppRb7c436nkKeUQxpZppUVtPy+xZZGUuXo7UHdr3S4FPS96ixu77/u6L6rn7osbuq2f23H0oWZkpb1vmX/7ORbx3c95Rb87BbGc+/yCvUQ== + eJztlksOgzAMRLPpsrkMlJ60cC7gQlUWkSw3dhw8gCplJK8CeRr/lBC6kj7P65lDDGEzxivimFahmCvzMpF73+xsBzG5qG+Ur1rPnMG09EwWqqeoj+R5boyF5OkIs6VnSxwUc6jkzsvkc0JnQjvzMKV6ppppZx6mlFvtzjPquQp5RDGlmmlxtJ6W2bPIyhyjHKU7tO/HBp+WvGX13ff/uy/ryt2Xdcfumx+/0XefjemVlVnyNlX+5e9cxHu35h315uxMP/MLiOKyFQ== diff --git a/forge-gui/res/adventure/Shandalar/world/green.json b/forge-gui/res/adventure/Shandalar/world/green.json index 1cf54047777..049692f29b5 100644 --- a/forge-gui/res/adventure/Shandalar/world/green.json +++ b/forge-gui/res/adventure/Shandalar/world/green.json @@ -105,6 +105,7 @@ "CaveG8", "CaveG9", "CaveGB", + "CopperhostForest", "Slime Cave", "Garruk Forest", "Scarecrow Farm" From 3a8aae7af016130d7a153e8c4242f1ad846d36a1 Mon Sep 17 00:00:00 2001 From: jjayers99 <56438137+jjayers99@users.noreply.github.com> Date: Wed, 12 Apr 2023 23:25:39 -0400 Subject: [PATCH 03/18] Adventure updates --- .../adventure/character/DialogActor.java | 19 ++++++++++++--- .../maps/map/main_story/forest_capital.tmx | 20 ++++++++-------- .../maps/map/main_story/island_capital.tmx | 20 ++++++++-------- .../maps/map/main_story/mountain_capital.tmx | 20 ++++++++-------- .../maps/map/main_story/plains_capital.tmx | 21 ++++++++-------- .../maps/map/main_story/swamp_capital.tmx | 21 ++++++++-------- .../Shandalar/world/points_of_interest.json | 24 +++++-------------- 7 files changed, 74 insertions(+), 71 deletions(-) diff --git a/forge-gui-mobile/src/forge/adventure/character/DialogActor.java b/forge-gui-mobile/src/forge/adventure/character/DialogActor.java index 1254b619f12..fe0dae6feee 100644 --- a/forge-gui-mobile/src/forge/adventure/character/DialogActor.java +++ b/forge-gui-mobile/src/forge/adventure/character/DialogActor.java @@ -5,6 +5,7 @@ import com.badlogic.gdx.graphics.g2d.TextureRegion; import com.badlogic.gdx.scenes.scene2d.Actor; import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener; import forge.adventure.data.AdventureQuestData; +import forge.adventure.data.DialogData; import forge.adventure.stage.MapStage; import forge.adventure.util.Current; import forge.adventure.util.MapDialog; @@ -44,17 +45,29 @@ public class DialogActor extends CharacterSprite { } }; dialog.addQuestAcceptedListener(listen); + + ChangeListener finished = new ChangeListener() { + @Override + public void changed(ChangeEvent changeEvent, Actor actor) { + removeFromMap(); + } + }; + dialog.addDialogCompleteListener(finished); } public void acceptQuest(){ Current.player().addQuest(questData); } + public void removeFromMap() { dialog = null; } + @Override public void onPlayerCollide() { - stage.resetPosition(); - stage.showDialog(); - dialog.activate(); + if (dialog != null) { + stage.resetPosition(); + stage.showDialog(); + dialog.activate(); + } } @Override diff --git a/forge-gui/res/adventure/Shandalar/maps/map/main_story/forest_capital.tmx b/forge-gui/res/adventure/Shandalar/maps/map/main_story/forest_capital.tmx index 61e233104ff..a32b9db7a50 100644 --- a/forge-gui/res/adventure/Shandalar/maps/map/main_story/forest_capital.tmx +++ b/forge-gui/res/adventure/Shandalar/maps/map/main_story/forest_capital.tmx @@ -178,16 +178,6 @@ "rounds":3, "entryFee":100, "rewards": [[ - { - "type": "card", - "probability": 1, - "count":2, - "rarity": [ - "Mythic Rare" - ], - "colors": ["green"] - } - ],[ { "type": "gold", "probability": 1, @@ -199,6 +189,16 @@ "count": 1, "itemNames": ["Dungeon Map","Mad Staff","Gold Boots","Disrupting Scepter"] } + ],[ + { + "type": "card", + "probability": 1, + "count":2, + "rarity": [ + "Rare","Mythic Rare" + ], + "colors": ["green"] + } ] ] } diff --git a/forge-gui/res/adventure/Shandalar/maps/map/main_story/island_capital.tmx b/forge-gui/res/adventure/Shandalar/maps/map/main_story/island_capital.tmx index d2305cd13b4..a325b7b2756 100644 --- a/forge-gui/res/adventure/Shandalar/maps/map/main_story/island_capital.tmx +++ b/forge-gui/res/adventure/Shandalar/maps/map/main_story/island_capital.tmx @@ -154,16 +154,6 @@ "rounds":3, "entryFee":100, "rewards": [[ - { - "type": "card", - "probability": 1, - "count":2, - "rarity": [ - "Mythic Rare" - ], - "colors": ["blue"] - } - ],[ { "type": "gold", "probability": 1, @@ -175,6 +165,16 @@ "count": 1, "itemNames": ["Mithril Armor","Mithril Shield","Mithril Boots","Dagger"] } + ],[ + { + "type": "card", + "probability": 1, + "count":2, + "rarity": [ + "Rare","Mythic Rare" + ], + "colors": ["blue"] + } ] ] } diff --git a/forge-gui/res/adventure/Shandalar/maps/map/main_story/mountain_capital.tmx b/forge-gui/res/adventure/Shandalar/maps/map/main_story/mountain_capital.tmx index 8874d15a4a1..939f3fd222f 100644 --- a/forge-gui/res/adventure/Shandalar/maps/map/main_story/mountain_capital.tmx +++ b/forge-gui/res/adventure/Shandalar/maps/map/main_story/mountain_capital.tmx @@ -160,16 +160,6 @@ "rounds":3, "entryFee":100, "rewards": [[ - { - "type": "card", - "probability": 1, - "count":2, - "rarity": [ - "Mythic Rare" - ], - "colors": ["red"] - } - ],[ { "type": "gold", "probability": 1, @@ -181,6 +171,16 @@ "count": 1, "itemNames": ["Aladdin's Ring","Axt","Ring of Immortals","Jandor's Ring"] } + ],[ + { + "type": "card", + "probability": 1, + "count":2, + "rarity": [ + "Rare","Mythic Rare" + ], + "colors": ["red"] + } ] ] } diff --git a/forge-gui/res/adventure/Shandalar/maps/map/main_story/plains_capital.tmx b/forge-gui/res/adventure/Shandalar/maps/map/main_story/plains_capital.tmx index dcf6c657a33..09cc96033b8 100644 --- a/forge-gui/res/adventure/Shandalar/maps/map/main_story/plains_capital.tmx +++ b/forge-gui/res/adventure/Shandalar/maps/map/main_story/plains_capital.tmx @@ -153,16 +153,6 @@ "rounds":3, "entryFee":100, "rewards": [[ - { - "type": "card", - "probability": 1, - "count":2, - "rarity": [ - "Mythic Rare" - ], - "colors": ["white"] - } - ],[ { "type": "gold", "probability": 1, @@ -175,6 +165,17 @@ "count": 1, "itemNames": ["Gold Armor","Gold Shield","Gold Boots","Bronze Sword"] } + ], +[ + { + "type": "card", + "probability": 1, + "count":2, + "rarity": [ + "Rare","Mythic Rare" + ], + "colors": ["white"] + } ] ] } diff --git a/forge-gui/res/adventure/Shandalar/maps/map/main_story/swamp_capital.tmx b/forge-gui/res/adventure/Shandalar/maps/map/main_story/swamp_capital.tmx index 189e522e957..19ba32e670d 100644 --- a/forge-gui/res/adventure/Shandalar/maps/map/main_story/swamp_capital.tmx +++ b/forge-gui/res/adventure/Shandalar/maps/map/main_story/swamp_capital.tmx @@ -82,16 +82,6 @@ "rounds":3, "entryFee":100, "rewards": [[ - { - "type": "card", - "probability": 1, - "count":2, - "rarity": [ - "Mythic Rare" - ], - "colors": ["black"] - } - ],[ { "type": "gold", "probability": 1, @@ -103,6 +93,17 @@ "count": 1, "itemNames": ["Death Ring","Dark Armor","Dark Shield","Dark Boots"] } + ], + [ + { + "type": "card", + "probability": 1, + "count":2, + "rarity": [ + "Rare","Mythic Rare" + ], + "colors": ["black"] + } ] ] } diff --git a/forge-gui/res/adventure/Shandalar/world/points_of_interest.json b/forge-gui/res/adventure/Shandalar/world/points_of_interest.json index ae8c0e16cd1..4c813c6d36f 100644 --- a/forge-gui/res/adventure/Shandalar/world/points_of_interest.json +++ b/forge-gui/res/adventure/Shandalar/world/points_of_interest.json @@ -261,9 +261,7 @@ "radiusFactor": 0.8, "questTags": [ "Cave", - "Hostile", - "BiomeBlack", - "Sidequest" + "BiomeBlack" ] }, { @@ -395,10 +393,8 @@ "map": "maps/map/cave_2.tmx", "radiusFactor": 0.8, "questTags": [ - "Hostile", "Cave", - "BiomeColorless", - "Sidequest" + "BiomeColorless" ] }, { @@ -591,9 +587,7 @@ "radiusFactor": 0.8, "questTags": [ "Cave", - "Hostile", - "BiomeGreen", - "Sidequest" + "BiomeGreen" ] }, { @@ -710,10 +704,8 @@ "map": "maps/map/cave_2.tmx", "radiusFactor": 0.8, "questTags": [ - "Hostile", "Cave", - "BiomeBlue", - "Sidequest" + "BiomeBlue" ] }, { @@ -800,10 +792,8 @@ "map": "maps/map/cave_2.tmx", "radiusFactor": 0.8, "questTags": [ - "Hostile", "Cave", - "BiomeRed", - "Sidequest" + "BiomeRed" ] }, { @@ -1040,10 +1030,8 @@ "map": "maps/map/cave_2.tmx", "radiusFactor": 0.8, "questTags": [ - "Hostile", "Cave", - "BiomeWhite", - "Sidequest" + "BiomeWhite" ] }, { From 32417c79581b762cdc034d373afb40eb5e1ffb71 Mon Sep 17 00:00:00 2001 From: jjayers99 <56438137+jjayers99@users.noreply.github.com> Date: Thu, 13 Apr 2023 07:11:52 -0400 Subject: [PATCH 04/18] Update DialogActor.java --- forge-gui-mobile/src/forge/adventure/character/DialogActor.java | 1 - 1 file changed, 1 deletion(-) diff --git a/forge-gui-mobile/src/forge/adventure/character/DialogActor.java b/forge-gui-mobile/src/forge/adventure/character/DialogActor.java index fe0dae6feee..aeee3c78a16 100644 --- a/forge-gui-mobile/src/forge/adventure/character/DialogActor.java +++ b/forge-gui-mobile/src/forge/adventure/character/DialogActor.java @@ -5,7 +5,6 @@ import com.badlogic.gdx.graphics.g2d.TextureRegion; import com.badlogic.gdx.scenes.scene2d.Actor; import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener; import forge.adventure.data.AdventureQuestData; -import forge.adventure.data.DialogData; import forge.adventure.stage.MapStage; import forge.adventure.util.Current; import forge.adventure.util.MapDialog; From 851444222059c0ba516bfc5ba9c709acdecd15c1 Mon Sep 17 00:00:00 2001 From: jjayers99 <56438137+jjayers99@users.noreply.github.com> Date: Thu, 13 Apr 2023 09:00:53 -0400 Subject: [PATCH 05/18] Additional quest fixes, framework for new objective type --- .../adventure/editor/QuestStageEdit.java | 1 - .../adventure/character/EnemySprite.java | 3 +- .../adventure/data/AdventureQuestData.java | 32 ++++++++++++++++++- .../adventure/data/AdventureQuestStage.java | 29 +++++++++++++++-- .../src/forge/adventure/scene/ArenaScene.java | 5 +++ .../src/forge/adventure/stage/WorldStage.java | 4 +-- .../util/AdventureQuestController.java | 14 +++++--- .../res/adventure/Shandalar/world/quests.json | 17 +++++----- 8 files changed, 84 insertions(+), 21 deletions(-) diff --git a/forge-adventure/src/main/java/forge/adventure/editor/QuestStageEdit.java b/forge-adventure/src/main/java/forge/adventure/editor/QuestStageEdit.java index 37323fc1318..3d7735fa0bb 100644 --- a/forge-adventure/src/main/java/forge/adventure/editor/QuestStageEdit.java +++ b/forge-adventure/src/main/java/forge/adventure/editor/QuestStageEdit.java @@ -169,7 +169,6 @@ public class QuestStageEdit extends FormPanel { switch(objectiveType.getSelectedItem().toString()){ case "Arena": arenaLabel.setVisible(true); - nyi.setVisible(true); poiPane.setVisible(true); anyPOI.setVisible(true); here.setVisible(true); diff --git a/forge-gui-mobile/src/forge/adventure/character/EnemySprite.java b/forge-gui-mobile/src/forge/adventure/character/EnemySprite.java index 4543839880e..89ccf262fb2 100644 --- a/forge-gui-mobile/src/forge/adventure/character/EnemySprite.java +++ b/forge-gui-mobile/src/forge/adventure/character/EnemySprite.java @@ -25,7 +25,6 @@ import forge.util.MyRandom; import java.util.LinkedList; import java.util.List; -import java.util.UUID; import java.util.stream.Collectors; /** @@ -55,7 +54,7 @@ public class EnemySprite extends CharacterSprite { public float threatRange = 0.0f; public float fleeRange = 0.0f; public boolean ignoreDungeonEffect = false; - public UUID questStageID; + public String questStageID; public EnemySprite(EnemyData enemyData) { this(0,enemyData); diff --git a/forge-gui-mobile/src/forge/adventure/data/AdventureQuestData.java b/forge-gui-mobile/src/forge/adventure/data/AdventureQuestData.java index 49d6eb18817..1572dac1c0a 100644 --- a/forge-gui-mobile/src/forge/adventure/data/AdventureQuestData.java +++ b/forge-gui-mobile/src/forge/adventure/data/AdventureQuestData.java @@ -175,6 +175,8 @@ public class AdventureQuestData implements Serializable { public void initializeStage(AdventureQuestStage stage){ if (stage == null || stage.objective == null) return; + stage.initialize(); + switch (stage.objective){ case Clear: stage.setTargetPOI(poiTokens); @@ -311,7 +313,7 @@ public class AdventureQuestData implements Serializable { EnemyData toUse = generateTargetEnemyData(stage); toUse.lifetime = stage.count1; EnemySprite toReturn = new EnemySprite(toUse); - toReturn.questStageID = stage.questStageID; + toReturn.questStageID = stage.stageID; return toReturn; } return null; @@ -394,6 +396,34 @@ public class AdventureQuestData implements Serializable { } } + public void updateArenaComplete(boolean winner){ + for (AdventureQuestStage stage: stages) { + if(failed) + break; + stage.updateArenaComplete(winner); + failed = failed || stage.getStatus() == AdventureQuestController.QuestStatus.Failed; + } + if (!failed) + updateStatus(); + } + + public void updateStatus(){ + for (AdventureQuestStage stage: stages) { + switch (stage.getStatus()) { + case Complete: + continue; + case Failed: + failed = true; + break; + case None: + case Inactive: + case Active: + return; + } + } + completed = true; + } + public DialogData getPrologue() { if (!prologueDisplayed) { prologueDisplayed = true; diff --git a/forge-gui-mobile/src/forge/adventure/data/AdventureQuestStage.java b/forge-gui-mobile/src/forge/adventure/data/AdventureQuestStage.java index 7fc4896bb28..6ce3156dbc8 100644 --- a/forge-gui-mobile/src/forge/adventure/data/AdventureQuestStage.java +++ b/forge-gui-mobile/src/forge/adventure/data/AdventureQuestStage.java @@ -11,6 +11,9 @@ import java.util.*; import java.util.stream.Collectors; public class AdventureQuestStage implements Serializable { + + private static final long serialVersionUID = 12042023L; + public int id; private AdventureQuestController.QuestStatus status = AdventureQuestController.QuestStatus.Inactive; public String name = ""; @@ -45,7 +48,13 @@ public class AdventureQuestStage implements Serializable { public String POIToken; //If defined, ignore tags input and use the target POI from a different stage's objective instead. private transient boolean inTargetLocation = false; - public UUID questStageID = UUID.randomUUID(); + public String stageID; + + public void initialize(){ + if (stageID == null || stageID.isEmpty()){ + stageID = UUID.randomUUID().toString(); + } + } public void checkPrerequisites() { //Todo - implement @@ -287,7 +296,20 @@ public class AdventureQuestStage implements Serializable { return status; } - public AdventureQuestStage(){} + public void updateArenaComplete(boolean winner){ + if (this.objective == AdventureQuestController.ObjectiveTypes.Arena) + { + if (inTargetLocation){ + if (winner){ + status = AdventureQuestController.QuestStatus.Complete; + } + } + } + } + + public AdventureQuestStage(){ + + } public AdventureQuestStage(AdventureQuestStage other){ this.status = other.status; this.prologueDisplayed = other.prologueDisplayed; @@ -320,6 +342,7 @@ public class AdventureQuestStage implements Serializable { this.POITags = other.POITags; this.targetEnemyData = other.targetEnemyData; this.deliveryItem = other.deliveryItem; - this.questStageID = other.questStageID; +// if (this.stageID == null) +// this.stageID = other.stageID; } } diff --git a/forge-gui-mobile/src/forge/adventure/scene/ArenaScene.java b/forge-gui-mobile/src/forge/adventure/scene/ArenaScene.java index 1f189e20886..30cdd14e5fd 100644 --- a/forge-gui-mobile/src/forge/adventure/scene/ArenaScene.java +++ b/forge-gui-mobile/src/forge/adventure/scene/ArenaScene.java @@ -17,6 +17,7 @@ import forge.adventure.data.EnemyData; import forge.adventure.data.WorldData; import forge.adventure.stage.GameHUD; import forge.adventure.stage.IAfterMatch; +import forge.adventure.stage.MapStage; import forge.adventure.stage.WorldStage; import forge.adventure.util.*; import forge.gui.FThreads; @@ -116,6 +117,8 @@ public class ArenaScene extends UIScene implements IAfterMatch { doneButton.layout(); startButton.setDisabled(true); arenaStarted = false; + AdventureQuestController.instance().updateArenaComplete(false); + AdventureQuestController.instance().showQuestDialogs(MapStage.getInstance()); } private void startDialog() { @@ -193,6 +196,8 @@ public class ArenaScene extends UIScene implements IAfterMatch { startButton.setDisabled(true); doneButton.setText("[%80]" + Forge.getLocalizer().getMessage("lblDone")); doneButton.layout(); + AdventureQuestController.instance().updateArenaComplete(true); + AdventureQuestController.instance().showQuestDialogs(MapStage.getInstance()); } if (!Forge.isLandscapeMode()) drawArena();//update diff --git a/forge-gui-mobile/src/forge/adventure/stage/WorldStage.java b/forge-gui-mobile/src/forge/adventure/stage/WorldStage.java index 44a66e301d1..92ea3d98181 100644 --- a/forge-gui-mobile/src/forge/adventure/stage/WorldStage.java +++ b/forge-gui-mobile/src/forge/adventure/stage/WorldStage.java @@ -361,7 +361,7 @@ public class WorldStage extends GameStage implements SaveFileContent { List names = (List) data.readObject("names"); List x = (List) data.readObject("x"); List y = (List) data.readObject("y"); - List questStageIDs = (List) data.readObject("questStageIDs"); + List questStageIDs = (List) data.readObject("questStageIDs"); for (int i = 0; i < timeouts.size(); i++) { EnemySprite sprite = new EnemySprite(WorldData.getEnemy(names.get(i))); sprite.setX(x.get(i)); @@ -393,7 +393,7 @@ public class WorldStage extends GameStage implements SaveFileContent { List names = new ArrayList<>(); List x = new ArrayList<>(); List y = new ArrayList<>(); - List questStageIDs = new ArrayList<>(); + List questStageIDs = new ArrayList<>(); for (Pair enemy : enemies) { timeouts.add(enemy.getKey()); names.add(enemy.getValue().getData().name); diff --git a/forge-gui-mobile/src/forge/adventure/util/AdventureQuestController.java b/forge-gui-mobile/src/forge/adventure/util/AdventureQuestController.java index 9784a5ca73f..2bff94f280f 100644 --- a/forge-gui-mobile/src/forge/adventure/util/AdventureQuestController.java +++ b/forge-gui-mobile/src/forge/adventure/util/AdventureQuestController.java @@ -84,9 +84,9 @@ public class AdventureQuestController implements Serializable { questStage.epilogueDisplayed = true; dialogQueue.add(questStage.epilogue); } -// if (questStage.getStatus() != QuestStatus.Complete){ -// break; -// } + if (questStage.getStatus() != QuestStatus.Complete){ + break; + } } if (quest.failed){ @@ -263,6 +263,12 @@ public class AdventureQuestController implements Serializable { } } + public void updateArenaComplete(boolean winner){ + for(AdventureQuestData currentQuest: Current.player().getQuests()) { + currentQuest.updateArenaComplete(winner); + } + } + public AdventureQuestData generateQuest(int id){ AdventureQuestData generated = null; for (AdventureQuestData template: allQuests) { @@ -287,7 +293,7 @@ public class AdventureQuestController implements Serializable { public void rematchQuestSprite(EnemySprite sprite){ for (AdventureQuestData q : Current.player().getQuests()){ for (AdventureQuestStage s : q.stages){ - if (sprite.questStageID != null && sprite.questStageID.equals(s.questStageID)){ + if (sprite.questStageID != null && sprite.questStageID.equals(s.stageID)){ s.setTargetSprite(sprite); } } diff --git a/forge-gui/res/adventure/Shandalar/world/quests.json b/forge-gui/res/adventure/Shandalar/world/quests.json index dab705aa855..86bf383b5ec 100644 --- a/forge-gui/res/adventure/Shandalar/world/quests.json +++ b/forge-gui/res/adventure/Shandalar/world/quests.json @@ -2167,9 +2167,11 @@ }, { "name": "You decide that the invasive thoughts, if you can call them that, are unwelcomed, and you take a step back.", - "text": "The thoughts urgently follow you for a moment. '{COLOR=red}KKKKiiiiill...{ENDCOLOR}' But as you take another step back, the words vanish from your mind." + "text": "The thoughts urgently follow you for a moment. '{COLOR=red}KKKKiiiiill...{ENDCOLOR}' But as you take another step back, the words vanish from your mind.", "options": [ - {"name": "With no delay at all, you walk away. Far away. (Decline Quest)"} + { + "name": "With no delay at all, you walk away. Far away. (Decline Quest)" + } ] } ] @@ -3690,7 +3692,7 @@ ] }, { - "name": "\"A fight with a dragon? No thanks. I'll be leaving now.\" (Decline Quest)", + "name": "\"A fight with a dragon? No thanks. I'll be leaving now.\" (Decline Quest)" } ] }, @@ -4470,9 +4472,11 @@ }, { "name": "A short note is written in red ink.", - "text": "\"{COLOR=red}Have fangs, will travel{ENDCOLOR}\"." + "text": "\"{COLOR=red}Have fangs, will travel{ENDCOLOR}\".", "options": [ - {"name": "You suddenly realize that isn't ink, and step away. (Decline Quest)"} + { + "name": "You suddenly realize that isn't ink, and step away. (Decline Quest)" + } ] } ] @@ -4741,7 +4745,6 @@ "options": [ { "action": [ - { "grantRewards": [ { @@ -4855,7 +4858,6 @@ "failureDialog": {}, "POIToken": "" } - ] }, { @@ -4969,7 +4971,6 @@ { "name": "You don't especially feel like volunteering to take on a $(enemy_1) today. (Decline Quest)" } - ] }, { From 782224bf787b8c7215eab4e32e03468c4661a300 Mon Sep 17 00:00:00 2001 From: Northmoc Date: Wed, 12 Apr 2023 22:34:38 -0400 Subject: [PATCH 06/18] MOM: more Battle-related CardProperty fun! --- .../java/forge/game/ability/effects/PlayEffect.java | 3 ++- .../main/java/forge/game/card/CardDamageHistory.java | 11 +++++++++++ .../src/main/java/forge/game/card/CardProperty.java | 12 ++++++++++++ .../res/cardsfolder/upcoming/rampaging_raptor.txt | 11 +++++++++++ forge-gui/res/cardsfolder/upcoming/war_historian.txt | 8 ++++++++ .../res/cardsfolder/upcoming/wildwood_escort.txt | 11 +++++++++++ forge-gui/res/languages/de-DE.properties | 1 + forge-gui/res/languages/en-US.properties | 1 + forge-gui/res/languages/es-ES.properties | 1 + forge-gui/res/languages/fr-FR.properties | 1 + forge-gui/res/languages/it-IT.properties | 1 + forge-gui/res/languages/ja-JP.properties | 1 + forge-gui/res/languages/pt-BR.properties | 1 + forge-gui/res/languages/zh-CN.properties | 1 + 14 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 forge-gui/res/cardsfolder/upcoming/rampaging_raptor.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/war_historian.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/wildwood_escort.txt diff --git a/forge-game/src/main/java/forge/game/ability/effects/PlayEffect.java b/forge-game/src/main/java/forge/game/ability/effects/PlayEffect.java index 1f14afa6ecc..f5d1edc79aa 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/PlayEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/PlayEffect.java @@ -256,9 +256,10 @@ public class PlayEffect extends SpellAbilityEffect { if (sa.hasParam("ShowCardToActivator")) { game.getAction().revealTo(tgtCard, controller); } + String prompt = sa.hasParam("CastTransformed") ? "lblDoYouWantPlayCardTransformed" : "lblDoYouWantPlayCard"; if (singleOption && sa.getTargetCard() == null) sa.setPlayEffectCard(tgtCard);// show card to play rather than showing the source card - if (singleOption && !controller.getController().confirmAction(sa, null, Localizer.getInstance().getMessage("lblDoYouWantPlayCard", CardTranslation.getTranslatedName(tgtCard.getName())), null)) { + if (singleOption && !controller.getController().confirmAction(sa, null, Localizer.getInstance().getMessage(prompt, CardTranslation.getTranslatedName(tgtCard.getName())), null)) { if (wasFaceDown) { tgtCard.turnFaceDownNoUpdate(); tgtCard.updateStateForView(); diff --git a/forge-game/src/main/java/forge/game/card/CardDamageHistory.java b/forge-game/src/main/java/forge/game/card/CardDamageHistory.java index 43a0863287b..436811787ee 100644 --- a/forge-game/src/main/java/forge/game/card/CardDamageHistory.java +++ b/forge-game/src/main/java/forge/game/card/CardDamageHistory.java @@ -26,6 +26,7 @@ public class CardDamageHistory { private boolean creatureGotBlockedThisCombat = false; private List attackedThisTurn = Lists.newArrayList(); + private boolean attackedBattleThisTurn = false; private final List creatureAttackedLastTurnOf = Lists.newArrayList(); private final List NotAttackedSinceLastUpkeepOf = Lists.newArrayList(); @@ -59,6 +60,12 @@ public class CardDamageHistory { if (defender != null) { attackedThisTurn.add(defender); + if (defender instanceof Card) { + final Card def = (Card) defender; + if (def.isBattle()) { + attackedBattleThisTurn = true; + } + } } } /** @@ -84,6 +91,9 @@ public class CardDamageHistory { public final boolean hasAttackedThisTurn(GameEntity e) { return this.attackedThisTurn.contains(e); } + public final boolean hasAttackedBattleThisTurn() { + return this.attackedBattleThisTurn; + } /** *

* Setter for the field creatureAttackedLastTurn. @@ -272,6 +282,7 @@ public class CardDamageHistory { public void newTurn() { attackedThisTurn.clear(); + attackedBattleThisTurn = false; damagedThisCombat.clear(); damageDoneThisTurn.clear(); diff --git a/forge-game/src/main/java/forge/game/card/CardProperty.java b/forge-game/src/main/java/forge/game/card/CardProperty.java index eae03fdeb38..2bd75aaebd3 100644 --- a/forge-game/src/main/java/forge/game/card/CardProperty.java +++ b/forge-game/src/main/java/forge/game/card/CardProperty.java @@ -218,6 +218,14 @@ public class CardProperty { || !sourceController.getOpponents().contains(card.getProtectingPlayer())) { return false; } + } else if (property.startsWith("ProtectedBy")) { + if (card.getProtectingPlayer() == null) { + return false; + } + final List lp = AbilityUtils.getDefinedPlayers(source, property.substring(12), spellAbility); + if (!lp.contains(card.getProtectingPlayer())) { + return false; + } } else if (property.startsWith("DefendingPlayer")) { Player p = property.endsWith("Ctrl") ? controller : card.getOwner(); if (!game.getPhaseHandler().inCombat()) { @@ -1238,6 +1246,10 @@ public class CardProperty { if (card.getDamageHistory().getCreatureAttacksThisTurn() == 0) { return false; } + } else if (property.startsWith("attackedBattleThisTurn")) { + if (!card.getDamageHistory().hasAttackedBattleThisTurn()) { + return false; + } } else if (property.startsWith("attackedYouThisTurn")) { if (!card.getDamageHistory().hasAttackedThisTurn(sourceController)) { return false; diff --git a/forge-gui/res/cardsfolder/upcoming/rampaging_raptor.txt b/forge-gui/res/cardsfolder/upcoming/rampaging_raptor.txt new file mode 100644 index 00000000000..8849399ff1c --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/rampaging_raptor.txt @@ -0,0 +1,11 @@ +Name:Rampaging Raptor +ManaCost:2 R R +Types:Creature Dinosaur +PT:4/4 +K:Trample +K:Haste +A:AB$ Pump | Cost$ 2 R | NumAtt$ 2 | SpellDescription$ CARDNAME gets +2/+0 until end of turn. +T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Opponent | CombatDamage$ True | TriggerZones$ Battlefield | Execute$ TrigDamage | TriggerDescription$ Whenever CARDNAME deals combat damage to an opponent, it deals that much damage to target planeswalker that player controls or battle that player protects. +SVar:TrigDamage:DB$ DealDamage | ValidTgts$ Planeswalker.ControlledBy TriggeredTarget,Battle.ProtectedBy TriggeredTarget | TgtPrompt$ Select target planeswalker that player controls or battle that player protects | NumDmg$ X +SVar:X:TriggerCount$DamageAmount +Oracle:Trample, haste\n{2}{R}: Rampaging Raptor gets +2/+0 until end of turn.\nWhenever Rampaging Raptor deals combat damage to an opponent, it deals that much damage to target planeswalker that player controls or battle that player protects. diff --git a/forge-gui/res/cardsfolder/upcoming/war_historian.txt b/forge-gui/res/cardsfolder/upcoming/war_historian.txt new file mode 100644 index 00000000000..e1dcb3b4d54 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/war_historian.txt @@ -0,0 +1,8 @@ +Name:War Historian +ManaCost:2 G +Types:Creature Human Monk +PT:3/3 +K:Reach +S:Mode$ Continuous | Affected$ Card.Self+attackedBattleThisTurn | AddKeyword$ Indestructible | Description$ CARDNAME has indestructible as long as it attacked a battle this turn. +AI:RemoveDeck:Random +Oracle:Reach\nWar Historian has indestructible as long as it attacked a battle this turn. diff --git a/forge-gui/res/cardsfolder/upcoming/wildwood_escort.txt b/forge-gui/res/cardsfolder/upcoming/wildwood_escort.txt new file mode 100644 index 00000000000..c69dfea3de4 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/wildwood_escort.txt @@ -0,0 +1,11 @@ +Name:Wildwood Escort +ManaCost:4 G +Types:Creature Elf Warrior +PT:3/3 +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigReturn | TriggerDescription$ When CARDNAME enters the battlefield, return target creature or battle card from your graveyard to your hand. +SVar:TrigReturn:DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand | TgtPrompt$ Select target creature or battle card in your graveyard | ValidTgts$ Creature.YouOwn,Battle.YouOwn +R:Event$ Moved | ActiveZones$ Battlefield | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | ReplaceWith$ Exile | Description$ If CARDNAME would die, exile it instead. +SVar:Exile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | Defined$ ReplacedCard +DeckHints:Type$Battle +DeckHas:Ability$Graveyard +Oracle:When Wildwood Escort enters the battlefield, return target creature or battle card from your graveyard to your hand.\nIf Wildwood Escort would die, exile it instead. diff --git a/forge-gui/res/languages/de-DE.properties b/forge-gui/res/languages/de-DE.properties index 66bc9749d37..19688b1830d 100644 --- a/forge-gui/res/languages/de-DE.properties +++ b/forge-gui/res/languages/de-DE.properties @@ -1858,6 +1858,7 @@ lblSearchPlayerZoneConfirm=Durchsuche {0} {1}? lblCardMatchSearchingTypeInAlternateZones=Karten entsprechen deiner Suche in alternativen Zonen lblLookingCardIn=Schaue nach Karten in lblDoYouWantPlayCard=Möchtest du {0} spielen? +lblDoYouWantPlayCardTransformed=Möchtest du {0} verwandelt spielen? lblSelectCardFromPlayerZone=Wähle Karte von {0} {1} lblSelectUpToNumCardFromPlayerZone=Wähle bis zu {0} Karte(n) von {1} {2} lblSelectCardsFromPlayerZone=Wähle Karten {0} {1} diff --git a/forge-gui/res/languages/en-US.properties b/forge-gui/res/languages/en-US.properties index a3000025656..5189e430adb 100644 --- a/forge-gui/res/languages/en-US.properties +++ b/forge-gui/res/languages/en-US.properties @@ -1863,6 +1863,7 @@ lblSearchPlayerZoneConfirm=Search {0} {1}? lblCardMatchSearchingTypeInAlternateZones=cards match your searching type in Alternate Zones. lblLookingCardIn=Looking at cards in lblDoYouWantPlayCard=Do you want to play {0}? +lblDoYouWantPlayCardTransformed=Do you want to play {0} transformed? lblSelectCardFromPlayerZone=Select a card from {0} {1} lblSelectUpToNumCardFromPlayerZone=Select up to {0} cards from {1} {2} lblSelectCardsFromPlayerZone=Select cards from {0} {1} diff --git a/forge-gui/res/languages/es-ES.properties b/forge-gui/res/languages/es-ES.properties index 30fa9aba09d..e32553c66d6 100644 --- a/forge-gui/res/languages/es-ES.properties +++ b/forge-gui/res/languages/es-ES.properties @@ -1859,6 +1859,7 @@ lblSearchPlayerZoneConfirm=¿Buscar {0} {1}? lblCardMatchSearchingTypeInAlternateZones=las cartas coinciden con tu tipo de búsqueda en las zonas alternativas. lblLookingCardIn=Mirando las cartas en lblDoYouWantPlayCard=¿Quieres jugar {0}? +lblDoYouWantPlayCardTransformed=¿Quieres jugar {0} transformada? lblSelectCardFromPlayerZone=Selecciona una carta de {0} {1} lblSelectUpToNumCardFromPlayerZone=Selecciona hasta {0} cartas de {1} {2} lblSelectCardsFromPlayerZone=Selecciona cartas de {0} {1} diff --git a/forge-gui/res/languages/fr-FR.properties b/forge-gui/res/languages/fr-FR.properties index 894bb4b92f5..47aefb3a90f 100644 --- a/forge-gui/res/languages/fr-FR.properties +++ b/forge-gui/res/languages/fr-FR.properties @@ -1860,6 +1860,7 @@ lblSearchPlayerZoneConfirm=Rechercher {0} {1} ? lblCardMatchSearchingTypeInAlternateZones=les cartes correspondent à votre type de recherche dans les zones alternatives. lblLookingCardIn=Regarder les cartes dans lblDoYouWantPlayCard=Voulez-vous jouer à {0} ? +lblDoYouWantPlayCardTransformed=Voulez-vous jouer à {0} transformée? lblSelectCardFromPlayerZone=Sélectionnez une carte de {0} {1} lblSelectUpToNumCardFromPlayerZone=S\u00e9lectionnez jusqu''\u00e0 {0} cartes de {1} {2} lblSelectCardsFromPlayerZone=Sélectionner les cartes de {0} {1} diff --git a/forge-gui/res/languages/it-IT.properties b/forge-gui/res/languages/it-IT.properties index 20950183eca..e27c9a00769 100644 --- a/forge-gui/res/languages/it-IT.properties +++ b/forge-gui/res/languages/it-IT.properties @@ -1858,6 +1858,7 @@ lblSearchPlayerZoneConfirm=Cerchi {1} di {0}? lblCardMatchSearchingTypeInAlternateZones=carte corrispondono alla tua ricerca in zone diverse.. lblLookingCardIn=Stai guardando le carte in lblDoYouWantPlayCard=Vuoi giocare {0}? +lblDoYouWantPlayCardTransformed=Vuoi giocare {0} transformata? lblSelectCardFromPlayerZone=Scegl;i una carta da {1} di {0} lblSelectUpToNumCardFromPlayerZone=Scegli fino a {0} carte da {2} di {1} lblSelectCardsFromPlayerZone=Scegli carte a {1} di {0} diff --git a/forge-gui/res/languages/ja-JP.properties b/forge-gui/res/languages/ja-JP.properties index d1642860f10..f4992d475cd 100644 --- a/forge-gui/res/languages/ja-JP.properties +++ b/forge-gui/res/languages/ja-JP.properties @@ -1858,6 +1858,7 @@ lblSearchPlayerZoneConfirm={0} {1}を探しますか? lblCardMatchSearchingTypeInAlternateZones=枚もう一つの領域のカードが探すタイプと一致します。 lblLookingCardIn=カードを見る lblDoYouWantPlayCard={0}をプレイしますか? +lblDoYouWantPlayCardTransformed={0}をプレイしますか変換? lblSelectCardFromPlayerZone={0} {1}から 1枚のカードを選ぶ lblSelectUpToNumCardFromPlayerZone={1} {2}から最大 {0}枚のカードを選ぶ lblSelectCardsFromPlayerZone={0} {1}からカードを選ぶ diff --git a/forge-gui/res/languages/pt-BR.properties b/forge-gui/res/languages/pt-BR.properties index 34bd93140ca..2982074468c 100644 --- a/forge-gui/res/languages/pt-BR.properties +++ b/forge-gui/res/languages/pt-BR.properties @@ -1920,6 +1920,7 @@ lblSearchPlayerZoneConfirm=Procurar {0} {1}? lblCardMatchSearchingTypeInAlternateZones=cartas que correspondem à busca de tipo em Zonas Alternativas. lblLookingCardIn=Olhando as cartas em lblDoYouWantPlayCard=Quer jogar {0}? +lblDoYouWantPlayCardTransformed=Você quer jogar {0} transformada? lblSelectCardFromPlayerZone=Escolha a carta de {0} {1} lblSelectUpToNumCardFromPlayerZone=Escolha até {0} cartas de {1} {2} lblSelectCardsFromPlayerZone=Escolha cartas de {0} {1} diff --git a/forge-gui/res/languages/zh-CN.properties b/forge-gui/res/languages/zh-CN.properties index c3c3fe5acf7..d15e7bfcbb3 100644 --- a/forge-gui/res/languages/zh-CN.properties +++ b/forge-gui/res/languages/zh-CN.properties @@ -1862,6 +1862,7 @@ lblSearchPlayerZoneConfirm=搜索{0}的{1}? lblCardMatchSearchingTypeInAlternateZones=在你的备用区域搜索匹配类型的卡牌。 lblLookingCardIn=看牌自 lblDoYouWantPlayCard=你想要使用{0}? +lblDoYouWantPlayCardTransformed=你想要使用转化{0}? lblSelectCardFromPlayerZone=选择一张牌从{0}的{1} lblSelectUpToNumCardFromPlayerZone=最多选择{0}张牌来自{1}的{2} lblSelectCardsFromPlayerZone=选择卡牌来自{0}的{1} From 0a82769405b50253fc57ca39b6237fdf913dfdcf Mon Sep 17 00:00:00 2001 From: Northmoc Date: Thu, 13 Apr 2023 10:19:42 -0400 Subject: [PATCH 07/18] add some battle cards --- .../h/hidetsugu_devouring_chaos.txt | 6 ++-- ...nvasion_of_ixalan_belligerent_regisaur.txt | 20 +++++++++++++ ...ion_of_kaldheim_pyre_of_the_world_tree.txt | 29 +++++++++++++++++++ 3 files changed, 52 insertions(+), 3 deletions(-) create mode 100644 forge-gui/res/cardsfolder/upcoming/invasion_of_ixalan_belligerent_regisaur.txt create mode 100644 forge-gui/res/cardsfolder/upcoming/invasion_of_kaldheim_pyre_of_the_world_tree.txt diff --git a/forge-gui/res/cardsfolder/h/hidetsugu_devouring_chaos.txt b/forge-gui/res/cardsfolder/h/hidetsugu_devouring_chaos.txt index 5cf23551f75..ec6ce4b3bd1 100644 --- a/forge-gui/res/cardsfolder/h/hidetsugu_devouring_chaos.txt +++ b/forge-gui/res/cardsfolder/h/hidetsugu_devouring_chaos.txt @@ -3,12 +3,12 @@ ManaCost:3 B Types:Legendary Creature Ogre Demon PT:4/4 A:AB$ Scry | Cost$ B Sac<1/Creature> | ScryNum$ 2 | SpellDescription$ Scry 2. -A:AB$ Dig | Cost$ 2 R T | Defined$ You | DigNum$ 1 | ChangeNum$ All | DestinationZone$ Exile | RememberChanged$ True | SubAbility$ DBEffect | AILogic$ ExileAndPlayUntilEOT | StackDescription$ SpellDescription | SpellDescription$ Exile the top card of your library. You may play that card this turn. When you exile a nonland card this way, CARDNAME deals damage equal to the exiled card's mana value to any target. +A:AB$ Dig | Cost$ 2 R T | Defined$ You | DigNum$ 1 | ChangeNum$ All | DestinationZone$ Exile | RememberChanged$ True | SubAbility$ DBEffect | AILogic$ ExileAndPlayUntilEOT | StackDescription$ SpellDescription | SpellDescription$ Exile the top card of your library. You may play that card this turn. SVar:DBEffect:DB$ Effect | RememberObjects$ RememberedCard | StaticAbilities$ Play | SubAbility$ DBImmediateTrigger | ExileOnMoved$ Exile SVar:Play:Mode$ Continuous | MayPlay$ True | EffectZone$ Command | Affected$ Card.IsRemembered | AffectedZone$ Exile | Description$ You may play this card this turn. -SVar:DBImmediateTrigger:DB$ ImmediateTrigger | ConditionDefined$ Remembered | ConditionPresent$ Card.nonLand | Execute$ TrigDealDamage | RememberObjects$ RememberedCard | SubAbility$ DBCleanup | StackDescription$ None | TriggerDescription$ When you exile a nonland card this way, CARDNAME deals damage equal to the exiled card's mana value to any target. +SVar:DBImmediateTrigger:DB$ ImmediateTrigger | ConditionDefined$ Remembered | ConditionPresent$ Card.nonLand | Execute$ TrigDealDamage | RememberObjects$ RememberedCard | SubAbility$ DBCleanup | TriggerDescription$ When you exile a nonland card this way, CARDNAME deals damage equal to the exiled card's mana value to any target. SVar:TrigDealDamage:DB$ DealDamage | ValidTgts$ Creature,Player,Planeswalker | TgtPrompt$ Select any target | NumDmg$ X SVar:X:TriggerRemembered$CardManaCost SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True Deckhas:Ability$Sacrifice -Oracle:{B}, Sacrifice a creature: Scry 2.\n{2}{R}, {T}, Exile the top card of your library. You may play that card this turn. When you exile a nonland card this way, Hidetsugu, Devouring Chaos deals damage equal to the exiled card's mana value to any target. +Oracle:{B}, Sacrifice a creature: Scry 2.\n{2}{R}, {T}: Exile the top card of your library. You may play that card this turn. When you exile a nonland card this way, Hidetsugu, Devouring Chaos deals damage equal to the exiled card's mana value to any target. diff --git a/forge-gui/res/cardsfolder/upcoming/invasion_of_ixalan_belligerent_regisaur.txt b/forge-gui/res/cardsfolder/upcoming/invasion_of_ixalan_belligerent_regisaur.txt new file mode 100644 index 00000000000..06364711329 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/invasion_of_ixalan_belligerent_regisaur.txt @@ -0,0 +1,20 @@ +Name:Invasion of Ixalan +ManaCost:1 G +Types:Battle Siege +Defense:4 +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigDig | TriggerDescription$ When CARDNAME enters the battlefield, look at the top five cards of your library. You may reveal a permanent card from among them and put it into your hand. Put the rest on the bottom of your library in a random order. +SVar:TrigDig:DB$ Dig | DigNum$ 5 | ChangeNum$ 1 | Optional$ True | ChangeValid$ Permanent | ForceRevealToController$ True | RestRandomOrder$ True +AlternateMode:DoubleFaced +Oracle:(As a Siege enters, choose an opponent to protect it. You and others can attack it. When it's defeated, exile it, then cast it transformed.)\nWhen Invasion of Ixalan enters the battlefield, look at the top five cards of your library. You may reveal a permanent card from among them and put it into your hand. Put the rest on the bottom of your library in a random order. + +ALTERNATE + +Name:Belligerent Regisaur +ManaCost:no cost +Colors:green +Types:Creature Dinosaur +PT:4/3 +K:Trample +T:Mode$ SpellCast | ValidCard$ Card | ValidActivatingPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever you cast a spell, CARDNAME gains indestructible until end of turn. +SVar:TrigPump:DB$ Pump | KW$ Indestructible +Oracle:Trample\nWhenever you cast a spell, Belligerent Regisaur gains indestructible until end of turn. diff --git a/forge-gui/res/cardsfolder/upcoming/invasion_of_kaldheim_pyre_of_the_world_tree.txt b/forge-gui/res/cardsfolder/upcoming/invasion_of_kaldheim_pyre_of_the_world_tree.txt new file mode 100644 index 00000000000..98ec4966173 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/invasion_of_kaldheim_pyre_of_the_world_tree.txt @@ -0,0 +1,29 @@ +Name:Invasion of Kaldheim +ManaCost:3 R +Types:Battle Siege +Defense:4 +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigExileHand | TriggerDescription$ When CARDNAME enters the battlefield, exile all cards from your hand, then draw that many cards. Until the end of your next turn, you may play cards exiled this way. +SVar:TrigExileHand:DB$ ChangeZoneAll | ChangeType$ Card.YouOwn | Origin$ Hand | Destination$ Exile | RememberChanged$ True | SubAbility$ DBDraw +SVar:DBDraw:DB$ Draw | Defined$ You | NumCards$ Y | SubAbility$ DBEffect +SVar:DBEffect:DB$ Effect | RememberObjects$ RememberedCard | StaticAbilities$ Play | Duration$ UntilTheEndOfYourNextTurn | ForgetOnMoved$ Exile | SubAbility$ DBCleanup +SVar:Play:Mode$ Continuous | MayPlay$ True | EffectZone$ Command | Affected$ Card.IsRemembered | AffectedZone$ Exile | Description$ Until the end of your next turn, you may play cards exiled this way. +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +SVar:Y:Count$RememberedSize +AlternateMode:DoubleFaced +Oracle:(As a Siege enters, choose an opponent to protect it. You and others can attack it. When it's defeated, exile it, then cast it transformed.)\nWhen Invasion of Kaldheim enters the battlefield, exile all cards from your hand, then draw that many cards. Until the end of your next turn, you may play cards exiled this way. + +ALTERNATE + +Name:Pyre of the World Tree +ManaCost:no cost +Colors:red +Types:Enchantment +A:AB$ DealDamage | Cost$ Discard<1/Land> | ValidTgts$ Creature,Player,Planeswalker | TgtPrompt$ Select any target | NumDmg$ 2 | SpellDescription$ CARDNAME deals 2 damage to any target. +T:Mode$ Discarded | ValidCard$ Land.YouOwn | TriggerZones$ Battlefield | Execute$ TrigExile | TriggerDescription$ Whenever you discard a land card, exile the top card of your library. You may play that card this turn. +SVar:TrigExile:DB$ Dig | DigNum$ 1 | ChangeNum$ All | DestinationZone$ Exile | RememberChanged$ True | SubAbility$ DBEffect | AILogic$ ExileAndPlayUntilEOT +SVar:DBEffect:DB$ Effect | RememberObjects$ RememberedCard | StaticAbilities$ Play | ExileOnMoved$ Exile | SubAbility$ DBCleanup +SVar:Play:Mode$ Continuous | MayPlay$ True | EffectZone$ Command | Affected$ Card.IsRemembered | AffectedZone$ Exile | Description$ You may play that card this turn. +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +DeckHas:Ability$Discard +DeckHints:Ability$Discard +Oracle:Discard a land card: Pyre of the World Tree deals 2 damage to any target.\nWhenever you discard a land card, exile the top card of your library. You may play that card this turn. From 219b06a46a78a42dde38617b2471b20b0007670c Mon Sep 17 00:00:00 2001 From: Northmoc Date: Thu, 13 Apr 2023 12:30:15 -0400 Subject: [PATCH 08/18] hidetsugu_devouring_chaos.txt better --- .../game/ability/effects/ImmediateTriggerEffect.java | 2 ++ forge-gui/res/cardsfolder/h/hidetsugu_devouring_chaos.txt | 8 ++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/forge-game/src/main/java/forge/game/ability/effects/ImmediateTriggerEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ImmediateTriggerEffect.java index cf2c22ca2b7..9584388d40f 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ImmediateTriggerEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ImmediateTriggerEffect.java @@ -23,6 +23,8 @@ public class ImmediateTriggerEffect extends SpellAbilityEffect { protected String getStackDescription(SpellAbility sa) { if (sa.hasParam("TriggerDescription")) { return sa.getParam("TriggerDescription"); + } else if (sa.hasParam("SpellDescription")) { + return sa.getParam("SpellDescription"); } return ""; diff --git a/forge-gui/res/cardsfolder/h/hidetsugu_devouring_chaos.txt b/forge-gui/res/cardsfolder/h/hidetsugu_devouring_chaos.txt index ec6ce4b3bd1..ca7bd4fc88b 100644 --- a/forge-gui/res/cardsfolder/h/hidetsugu_devouring_chaos.txt +++ b/forge-gui/res/cardsfolder/h/hidetsugu_devouring_chaos.txt @@ -3,10 +3,10 @@ ManaCost:3 B Types:Legendary Creature Ogre Demon PT:4/4 A:AB$ Scry | Cost$ B Sac<1/Creature> | ScryNum$ 2 | SpellDescription$ Scry 2. -A:AB$ Dig | Cost$ 2 R T | Defined$ You | DigNum$ 1 | ChangeNum$ All | DestinationZone$ Exile | RememberChanged$ True | SubAbility$ DBEffect | AILogic$ ExileAndPlayUntilEOT | StackDescription$ SpellDescription | SpellDescription$ Exile the top card of your library. You may play that card this turn. -SVar:DBEffect:DB$ Effect | RememberObjects$ RememberedCard | StaticAbilities$ Play | SubAbility$ DBImmediateTrigger | ExileOnMoved$ Exile -SVar:Play:Mode$ Continuous | MayPlay$ True | EffectZone$ Command | Affected$ Card.IsRemembered | AffectedZone$ Exile | Description$ You may play this card this turn. -SVar:DBImmediateTrigger:DB$ ImmediateTrigger | ConditionDefined$ Remembered | ConditionPresent$ Card.nonLand | Execute$ TrigDealDamage | RememberObjects$ RememberedCard | SubAbility$ DBCleanup | TriggerDescription$ When you exile a nonland card this way, CARDNAME deals damage equal to the exiled card's mana value to any target. +A:AB$ Dig | Cost$ 2 R T | Defined$ You | DigNum$ 1 | ChangeNum$ All | DestinationZone$ Exile | RememberChanged$ True | SubAbility$ DBEffect | AILogic$ ExileAndPlayUntilEOT | StackDescription$ SpellDescription | SpellDescription$ Exile the top card of your library. +SVar:DBEffect:DB$ Effect | RememberObjects$ RememberedCard | StaticAbilities$ Play | SubAbility$ DBImmediateTrigger | ExileOnMoved$ Exile | SpellDescription$ You may play that card this turn. +SVar:Play:Mode$ Continuous | MayPlay$ True | EffectZone$ Command | Affected$ Card.IsRemembered | AffectedZone$ Exile | Description$ You may play that card this turn. +SVar:DBImmediateTrigger:DB$ ImmediateTrigger | ConditionDefined$ Remembered | ConditionPresent$ Card.nonLand | Execute$ TrigDealDamage | RememberObjects$ RememberedCard | SubAbility$ DBCleanup | SpellDescription$ When you exile a nonland card this way, CARDNAME deals damage equal to the exiled card's mana value to any target. SVar:TrigDealDamage:DB$ DealDamage | ValidTgts$ Creature,Player,Planeswalker | TgtPrompt$ Select any target | NumDmg$ X SVar:X:TriggerRemembered$CardManaCost SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True From 8ccdabcdf67ba63ae9ea1879ff73b651e0047819 Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Fri, 14 Apr 2023 02:49:09 +0800 Subject: [PATCH 09/18] update GameHUD, InventoryScene - can equip activatable items for quick access on GameHUD --- .../adventure/player/AdventurePlayer.java | 577 ++++++++++-------- .../forge/adventure/scene/InventoryScene.java | 11 +- .../forge/adventure/scene/MapViewScene.java | 12 +- .../src/forge/adventure/stage/GameHUD.java | 123 ++-- .../util/AdventureQuestController.java | 1 - .../Shandalar/ui/deck_selector_portrait.json | 3 - .../adventure/Shandalar/ui/hud_landscape.json | 46 +- .../adventure/Shandalar/ui/hud_portrait.json | 53 +- .../adventure/Shandalar/ui/inn_portrait.json | 3 - .../res/adventure/Shandalar/ui/inventory.json | 18 + .../Shandalar/ui/inventory_portrait.json | 32 +- .../Shandalar/ui/items_portrait.json | 2 - .../adventure/Shandalar/ui/map_portrait.json | 1 - .../Shandalar/ui/new_game_portrait.json | 2 - .../Shandalar/ui/quests_portrait.json | 2 - .../Shandalar/ui/save_load_portrait.json | 2 - .../Shandalar/ui/settings_portrait.json | 1 - .../Shandalar/ui/shardtrader_portrait.json | 3 - .../Shandalar/ui/spellsmith_portrait.json | 3 - .../Shandalar/ui/start_menu_portrait.json | 1 - .../Shandalar/ui/statistic_portrait.json | 2 - .../res/adventure/Shandalar/world/items.json | 13 +- 22 files changed, 490 insertions(+), 421 deletions(-) diff --git a/forge-gui-mobile/src/forge/adventure/player/AdventurePlayer.java b/forge-gui-mobile/src/forge/adventure/player/AdventurePlayer.java index 59064e3587c..aefb53e2a8b 100644 --- a/forge-gui-mobile/src/forge/adventure/player/AdventurePlayer.java +++ b/forge-gui-mobile/src/forge/adventure/player/AdventurePlayer.java @@ -26,7 +26,7 @@ import java.util.*; * Class that represents the player (not the player sprite) */ public class AdventurePlayer implements Serializable, SaveFileContent { - public static final int NUMBER_OF_DECKS=10; + public static final int NUMBER_OF_DECKS = 10; // Player profile data. private String name; private int heroRace; @@ -43,53 +43,57 @@ public class AdventurePlayer implements Serializable, SaveFileContent { // Game data. private float worldPosX; private float worldPosY; - private int gold = 0; - private int maxLife= 20; - private int life = 20; + private int gold = 0; + private int maxLife = 20; + private int life = 20; private int shards = 0; private EffectData blessing; //Blessing to apply for next battle. - private final PlayerStatistic statistic = new PlayerStatistic(); + private final PlayerStatistic statistic = new PlayerStatistic(); private final Map questFlags = new HashMap<>(); - private final Array inventoryItems=new Array<>(); - private final HashMap equippedItems=new HashMap<>(); - private List quests= new ArrayList<>(); + private final Array inventoryItems = new Array<>(); + private final HashMap equippedItems = new HashMap<>(); + private final List quests = new ArrayList<>(); // Fantasy/Chaos mode settings. - private boolean fantasyMode = false; + private boolean fantasyMode = false; private boolean announceFantasy = false; private boolean usingCustomDeck = false; private boolean announceCustom = false; // Signals final SignalList onLifeTotalChangeList = new SignalList(); - final SignalList onShardsChangeList = new SignalList(); - final SignalList onGoldChangeList = new SignalList(); - final SignalList onPlayerChangeList = new SignalList(); - final SignalList onEquipmentChange = new SignalList(); - final SignalList onBlessing = new SignalList(); + final SignalList onShardsChangeList = new SignalList(); + final SignalList onGoldChangeList = new SignalList(); + final SignalList onPlayerChangeList = new SignalList(); + final SignalList onEquipmentChange = new SignalList(); + final SignalList onBlessing = new SignalList(); - public AdventurePlayer() { clear(); } + public AdventurePlayer() { + clear(); + } - public PlayerStatistic getStatistic(){ return statistic; } + public PlayerStatistic getStatistic() { + return statistic; + } private void clearDecks() { - for(int i=0; i < NUMBER_OF_DECKS; i++) decks[i] = new Deck("Empty Deck"); - deck = decks[0]; + for (int i = 0; i < NUMBER_OF_DECKS; i++) decks[i] = new Deck("Empty Deck"); + deck = decks[0]; selectedDeckIndex = 0; } private void clear() { //Ensure sensitive gameplay data is properly reset between games. //Reset all properties HERE. - fantasyMode = false; - announceFantasy = false; - usingCustomDeck = false; - blessing = null; - gold = 0; - maxLife = 20; - life = 20; - shards = 0; + fantasyMode = false; + announceFantasy = false; + usingCustomDeck = false; + blessing = null; + gold = 0; + maxLife = 20; + life = 20; + shards = 0; clearDecks(); inventoryItems.clear(); equippedItems.clear(); @@ -105,33 +109,33 @@ public class AdventurePlayer implements Serializable, SaveFileContent { return WorldSave.getCurrentSave().getPlayer(); } - private final CardPool cards=new CardPool(); - private final ItemPool newCards=new ItemPool<>(InventoryItem.class); + private final CardPool cards = new CardPool(); + private final ItemPool newCards = new ItemPool<>(InventoryItem.class); - public void create(String n, Deck startingDeck, boolean male, int race, int avatar, boolean isFantasy, boolean isUsingCustomDeck, DifficultyData difficultyData) { + public void create(String n, Deck startingDeck, boolean male, int race, int avatar, boolean isFantasy, boolean isUsingCustomDeck, DifficultyData difficultyData) { clear(); announceFantasy = fantasyMode = isFantasy; //Set Chaos mode first. announceCustom = usingCustomDeck = isUsingCustomDeck; - deck = startingDeck; + deck = startingDeck; decks[0] = deck; cards.addAllFlat(deck.getAllCardsInASinglePool().toFlatList()); - this.difficultyData.startingLife = difficultyData.startingLife; - this.difficultyData.staringMoney = difficultyData.staringMoney; + this.difficultyData.startingLife = difficultyData.startingLife; + this.difficultyData.staringMoney = difficultyData.staringMoney; this.difficultyData.startingDifficulty = difficultyData.startingDifficulty; - this.difficultyData.name = difficultyData.name; - this.difficultyData.spawnRank = difficultyData.spawnRank; - this.difficultyData.enemyLifeFactor = difficultyData.enemyLifeFactor; - this.difficultyData.sellFactor = difficultyData.sellFactor; - this.difficultyData.shardSellRatio = difficultyData.shardSellRatio; + this.difficultyData.name = difficultyData.name; + this.difficultyData.spawnRank = difficultyData.spawnRank; + this.difficultyData.enemyLifeFactor = difficultyData.enemyLifeFactor; + this.difficultyData.sellFactor = difficultyData.sellFactor; + this.difficultyData.shardSellRatio = difficultyData.shardSellRatio; - gold = difficultyData.staringMoney; - name = n; - heroRace = race; + gold = difficultyData.staringMoney; + name = n; + heroRace = race; avatarIndex = avatar; - isFemale = !male; + isFemale = !male; setColorIdentity(DeckProxy.getColorIdentity(deck)); @@ -145,12 +149,13 @@ public class AdventurePlayer implements Serializable, SaveFileContent { } public void setSelectedDeckSlot(int slot) { - if(slot>=0&&slot= 0 && slot < NUMBER_OF_DECKS) { selectedDeckIndex = slot; deck = decks[selectedDeckIndex]; setColorIdentity(DeckProxy.getColorIdentity(deck)); } } + public void updateDifficulty(DifficultyData diff) { maxLife = diff.startingLife; this.difficultyData.startingShards = diff.startingShards; @@ -166,28 +171,71 @@ public class AdventurePlayer implements Serializable, SaveFileContent { } //Getters - public int getSelectedDeckIndex() { return selectedDeckIndex; } - public Deck getSelectedDeck() { return deck; } - public Array getItems() { return inventoryItems; } - public Deck getDeck(int index) { return decks[index]; } - public CardPool getCards() { return cards; } - public String getName() { return name; } - public float getWorldPosX() { return worldPosX; } - public float getWorldPosY() { return worldPosY; } - public int getGold() { return gold; } - public int getLife() { return life; } - public int getMaxLife() { return maxLife; } - public int getShards() { return shards; } - public @Null EffectData getBlessing() { return blessing; } + public int getSelectedDeckIndex() { + return selectedDeckIndex; + } - public Collection getEquippedItems() { return equippedItems.values(); } - public ItemPool getNewCards() { return newCards; } + public Deck getSelectedDeck() { + return deck; + } - public ColorSet getColorIdentity(){ + public Array getItems() { + return inventoryItems; + } + + public Deck getDeck(int index) { + return decks[index]; + } + + public CardPool getCards() { + return cards; + } + + public String getName() { + return name; + } + + public float getWorldPosX() { + return worldPosX; + } + + public float getWorldPosY() { + return worldPosY; + } + + public int getGold() { + return gold; + } + + public int getLife() { + return life; + } + + public int getMaxLife() { + return maxLife; + } + + public int getShards() { + return shards; + } + + public @Null EffectData getBlessing() { + return blessing; + } + + public Collection getEquippedItems() { + return equippedItems.values(); + } + + public ItemPool getNewCards() { + return newCards; + } + + public ColorSet getColorIdentity() { return colorIdentity; } - public String getColorIdentityLong(){ + public String getColorIdentityLong() { return colorIdentity.toString(); } @@ -196,62 +244,61 @@ public class AdventurePlayer implements Serializable, SaveFileContent { public void setWorldPosX(float worldPosX) { this.worldPosX = worldPosX; } + public void setWorldPosY(float worldPosY) { this.worldPosY = worldPosY; } - public void setColorIdentity(String C){ - colorIdentity= ColorSet.fromNames(C.toCharArray()); + public void setColorIdentity(String C) { + colorIdentity = ColorSet.fromNames(C.toCharArray()); } - public void setColorIdentity(ColorSet set){ + public void setColorIdentity(ColorSet set) { this.colorIdentity = set; } - - @Override public void load(SaveFileData data) { clear(); //Reset player data. this.statistic.load(data.readSubData("statistic")); - this.difficultyData.startingLife=data.readInt("startingLife"); - this.difficultyData.staringMoney=data.readInt("staringMoney"); - this.difficultyData.startingDifficulty=data.readBool("startingDifficulty"); - this.difficultyData.name=data.readString("difficultyName"); - this.difficultyData.enemyLifeFactor=data.readFloat("enemyLifeFactor"); - this.difficultyData.sellFactor=data.readFloat("sellFactor"); - if(this.difficultyData.sellFactor==0) - this.difficultyData.sellFactor=0.2f; + this.difficultyData.startingLife = data.readInt("startingLife"); + this.difficultyData.staringMoney = data.readInt("staringMoney"); + this.difficultyData.startingDifficulty = data.readBool("startingDifficulty"); + this.difficultyData.name = data.readString("difficultyName"); + this.difficultyData.enemyLifeFactor = data.readFloat("enemyLifeFactor"); + this.difficultyData.sellFactor = data.readFloat("sellFactor"); + if (this.difficultyData.sellFactor == 0) + this.difficultyData.sellFactor = 0.2f; - this.difficultyData.shardSellRatio=data.readFloat("sellFactor"); - if(this.difficultyData.shardSellRatio==0) - this.difficultyData.shardSellRatio=0.8f; + this.difficultyData.shardSellRatio = data.readFloat("sellFactor"); + if (this.difficultyData.shardSellRatio == 0) + this.difficultyData.shardSellRatio = 0.8f; - name = data.readString("name"); - heroRace = data.readInt("heroRace"); + name = data.readString("name"); + heroRace = data.readInt("heroRace"); avatarIndex = data.readInt("avatarIndex"); - isFemale = data.readBool("isFemale"); - if(data.containsKey("colorIdentity")) + isFemale = data.readBool("isFemale"); + if (data.containsKey("colorIdentity")) setColorIdentity(data.readString("colorIdentity")); else colorIdentity = ColorSet.ALL_COLORS; - gold = data.readInt("gold"); - maxLife = data.readInt("maxLife"); - life = data.readInt("life"); - shards = data.containsKey("shards")?data.readInt("shards"):0; - worldPosX = data.readFloat("worldPosX"); - worldPosY = data.readFloat("worldPosY"); + gold = data.readInt("gold"); + maxLife = data.readInt("maxLife"); + life = data.readInt("life"); + shards = data.containsKey("shards") ? data.readInt("shards") : 0; + worldPosX = data.readFloat("worldPosX"); + worldPosY = data.readFloat("worldPosY"); - if(data.containsKey("blessing")) blessing = (EffectData)data.readObject("blessing"); + if (data.containsKey("blessing")) blessing = (EffectData) data.readObject("blessing"); - if(data.containsKey("inventory")) { - String[] inv=(String[])data.readObject("inventory"); + if (data.containsKey("inventory")) { + String[] inv = (String[]) data.readObject("inventory"); //Prevent items with wrong names from getting through. Hell breaks loose if it causes null pointers. //This only needs to be done on load. - for(String i : inv){ - if(ItemData.getItem(i) != null) inventoryItems.add(i); + for (String i : inv) { + if (ItemData.getItem(i) != null) inventoryItems.add(i); else { System.err.printf("Cannot find item name %s\n", i); //Allow official© permission for the player to get a refund. We will allow it this time. @@ -260,15 +307,15 @@ public class AdventurePlayer implements Serializable, SaveFileContent { } } } - if(data.containsKey("equippedSlots") && data.containsKey("equippedItems")) { - String[] slots=(String[])data.readObject("equippedSlots"); - String[] items=(String[])data.readObject("equippedItems"); + if (data.containsKey("equippedSlots") && data.containsKey("equippedItems")) { + String[] slots = (String[]) data.readObject("equippedSlots"); + String[] items = (String[]) data.readObject("equippedItems"); - assert(slots.length==items.length); + assert (slots.length == items.length); //Like above, prevent items with wrong names. If it triggered in inventory it'll trigger here as well. - for(int i=0;i slots=new ArrayList<>(); - ArrayList items=new ArrayList<>(); - for (Map.Entry entry : equippedItems.entrySet()) { + ArrayList slots = new ArrayList<>(); + ArrayList items = new ArrayList<>(); + for (Map.Entry entry : equippedItems.entrySet()) { slots.add(entry.getKey()); items.add(entry.getValue()); } - data.storeObject("equippedSlots",slots.toArray(new String[0])); - data.storeObject("equippedItems",items.toArray(new String[0])); + data.storeObject("equippedSlots", slots.toArray(new String[0])); + data.storeObject("equippedItems", items.toArray(new String[0])); data.storeObject("blessing", blessing); //Save quest flags. ArrayList questFlagsKey = new ArrayList<>(); - ArrayList questFlagsValue = new ArrayList<>(); - for(Map.Entry entry : questFlags.entrySet()){ + ArrayList questFlagsValue = new ArrayList<>(); + for (Map.Entry entry : questFlags.entrySet()) { questFlagsKey.add(entry.getKey()); questFlagsValue.add(entry.getValue()); } @@ -378,17 +425,17 @@ public class AdventurePlayer implements Serializable, SaveFileContent { data.storeObject("questFlagsValue", questFlagsValue.toArray(new Byte[0])); data.storeObject("quests", quests.toArray()); - data.storeObject("deckCards",deck.getMain().toCardList("\n").split("\n")); - if(deck.get(DeckSection.Sideboard)!=null) - data.storeObject("sideBoardCards",deck.get(DeckSection.Sideboard).toCardList("\n").split("\n")); - for(int i=0;i 0) result += data.effect.cardRewardBonus; + for (String name : equippedItems.values()) { + ItemData data = ItemData.getItem(name); + if (data != null && data.effect != null && data.effect.cardRewardBonus > 0) + result += data.effect.cardRewardBonus; } - if(blessing != null) { - if(blessing.cardRewardBonus > 0) result += blessing.cardRewardBonus; + if (blessing != null) { + if (blessing.cardRewardBonus > 0) result += blessing.cardRewardBonus; } return Math.min(result, 3); } @@ -606,50 +687,52 @@ public class AdventurePlayer implements Serializable, SaveFileContent { return difficultyData; } - public void renameDeck( String text) { - deck = (Deck)deck.copyTo(text); - decks[selectedDeckIndex]=deck; + public void renameDeck(String text) { + deck = (Deck) deck.copyTo(text); + decks[selectedDeckIndex] = deck; } public int cardSellPrice(PaperCard card) { - return (int)(CardUtil.getCardPrice(card)*difficultyData.sellFactor); + return (int) (CardUtil.getCardPrice(card) * difficultyData.sellFactor); } public void sellCard(PaperCard card, Integer result) { float price = CardUtil.getCardPrice(card) * result; price *= difficultyData.sellFactor; cards.remove(card, result); - addGold((int)price); + addGold((int) price); } public void removeItem(String name) { - if(name == null || name.equals("")) return; - inventoryItems.removeValue(name,false); - if(equippedItems.values().contains(name) && !inventoryItems.contains(name,false)) { + if (name == null || name.equals("")) return; + inventoryItems.removeValue(name, false); + if (equippedItems.values().contains(name) && !inventoryItems.contains(name, false)) { equippedItems.values().remove(name); } } public void equip(ItemData item) { - if(equippedItems.get(item.equipmentSlot) != null && equippedItems.get(item.equipmentSlot).equals(item.name)) { + if (equippedItems.get(item.equipmentSlot) != null && equippedItems.get(item.equipmentSlot).equals(item.name)) { equippedItems.remove(item.equipmentSlot); } else { - equippedItems.put(item.equipmentSlot,item.name); + equippedItems.put(item.equipmentSlot, item.name); } onEquipmentChange.emit(); } - public String itemInSlot(String key) { return equippedItems.get(key); } + public String itemInSlot(String key) { + return equippedItems.get(key); + } public float equipmentSpeed() { - float factor=1.0f; - for(String name:equippedItems.values()) { - ItemData data=ItemData.getItem(name); - if(data != null && data.effect.moveSpeed > 0.0) //Avoid negative speeds. It would be silly. - factor*=data.effect.moveSpeed; + float factor = 1.0f; + for (String name : equippedItems.values()) { + ItemData data = ItemData.getItem(name); + if (data != null && data.effect != null && data.effect.moveSpeed > 0.0) //Avoid negative speeds. It would be silly. + factor *= data.effect.moveSpeed; } - if(blessing != null) { //If a blessing gives speed, take it into account. - if(blessing.moveSpeed > 0.0) + if (blessing != null) { //If a blessing gives speed, take it into account. + if (blessing.moveSpeed > 0.0) factor *= blessing.moveSpeed; } return factor; @@ -657,19 +740,20 @@ public class AdventurePlayer implements Serializable, SaveFileContent { public float goldModifier(boolean sale) { float factor = 1.0f; - for(String name:equippedItems.values()) { - ItemData data=ItemData.getItem(name); - if(data != null && data.effect.goldModifier > 0.0) //Avoid negative modifiers. + for (String name : equippedItems.values()) { + ItemData data = ItemData.getItem(name); + if (data != null && data.effect != null && data.effect.goldModifier > 0.0) //Avoid negative modifiers. factor *= data.effect.goldModifier; } - if(blessing != null) { //If a blessing gives speed, take it into account. - if(blessing.goldModifier > 0.0) + if (blessing != null) { //If a blessing gives speed, take it into account. + if (blessing.goldModifier > 0.0) factor *= blessing.goldModifier; } - if(sale) return Math.max(1.0f + (1.0f - factor), 2.5f); + if (sale) return Math.max(1.0f + (1.0f - factor), 2.5f); return Math.max(factor, 0.25f); } - public float goldModifier(){ + + public float goldModifier() { return goldModifier(false); } @@ -678,8 +762,8 @@ public class AdventurePlayer implements Serializable, SaveFileContent { } public boolean addItem(String name) { - ItemData item=ItemData.getItem(name); - if(item==null) + ItemData item = ItemData.getItem(name); + if (item == null) return false; inventoryItems.add(name); return true; @@ -687,45 +771,48 @@ public class AdventurePlayer implements Serializable, SaveFileContent { // Quest functions. - public void setQuestFlag(String key, int value){ + public void setQuestFlag(String key, int value) { questFlags.put(key, (byte) value); } - public void advanceQuestFlag(String key){ - if(questFlags.get(key) != null){ + + public void advanceQuestFlag(String key) { + if (questFlags.get(key) != null) { questFlags.put(key, (byte) (questFlags.get(key) + 1)); } else { questFlags.put(key, (byte) 1); } } - public boolean checkQuestFlag(String key){ + + public boolean checkQuestFlag(String key) { return questFlags.get(key) != null; } - public int getQuestFlag(String key){ + + public int getQuestFlag(String key) { return (int) questFlags.getOrDefault(key, (byte) 0); } - public void resetQuestFlags(){ + + public void resetQuestFlags() { questFlags.clear(); } - public void addQuest(String questID){ + public void addQuest(String questID) { int id = Integer.parseInt(questID); addQuest(id); } - public void addQuest(int questID){ + public void addQuest(int questID) { AdventureQuestData toAdd = AdventureQuestController.instance().generateQuest(questID); - if (toAdd != null){ + if (toAdd != null) { addQuest(toAdd); } } - public void addQuest(AdventureQuestData q){ + public void addQuest(AdventureQuestData q) { //TODO: add a config flag for this boolean autoTrack = true; - for (AdventureQuestData existing : quests){ - if (autoTrack && existing.isTracked) - { + for (AdventureQuestData existing : quests) { + if (autoTrack && existing.isTracked) { autoTrack = false; break; } @@ -738,23 +825,21 @@ public class AdventurePlayer implements Serializable, SaveFileContent { return quests; } - public int getEnemyDeckNumber(String enemyName, int maxDecks){ - int deckNumber = 0; - if (statistic.getWinLossRecord().get(enemyName)!=null) - { - int playerWins = statistic.getWinLossRecord().get(enemyName).getKey(); - int enemyWins = statistic.getWinLossRecord().get(enemyName).getValue(); - if (playerWins > enemyWins){ - int deckNumberAfterAlgorithmOutput = (int)((playerWins-enemyWins) * (difficultyData.enemyLifeFactor / 3)); - if (deckNumberAfterAlgorithmOutput < maxDecks){ - deckNumber = deckNumberAfterAlgorithmOutput; - } - else { - deckNumber = maxDecks-1; + public int getEnemyDeckNumber(String enemyName, int maxDecks) { + int deckNumber = 0; + if (statistic.getWinLossRecord().get(enemyName) != null) { + int playerWins = statistic.getWinLossRecord().get(enemyName).getKey(); + int enemyWins = statistic.getWinLossRecord().get(enemyName).getValue(); + if (playerWins > enemyWins) { + int deckNumberAfterAlgorithmOutput = (int) ((playerWins - enemyWins) * (difficultyData.enemyLifeFactor / 3)); + if (deckNumberAfterAlgorithmOutput < maxDecks) { + deckNumber = deckNumberAfterAlgorithmOutput; + } else { + deckNumber = maxDecks - 1; + } } } - } - return deckNumber; + return deckNumber; } public void removeQuest(AdventureQuestData quest) { diff --git a/forge-gui-mobile/src/forge/adventure/scene/InventoryScene.java b/forge-gui-mobile/src/forge/adventure/scene/InventoryScene.java index 3cf00da2618..f7e6c07c25d 100644 --- a/forge-gui-mobile/src/forge/adventure/scene/InventoryScene.java +++ b/forge-gui-mobile/src/forge/adventure/scene/InventoryScene.java @@ -39,11 +39,11 @@ public class InventoryScene extends UIScene { public InventoryScene() { super(Forge.isLandscapeMode() ? "ui/inventory.json" : "ui/inventory_portrait.json"); equipOverlay = Forge.getAssets().getTexture(Config.instance().getFile(Paths.ITEMS_EQUIP)); - ui.onButtonPress("return", () -> done()); + ui.onButtonPress("return", this::done); leave = ui.findActor("return"); - ui.onButtonPress("delete", () -> showConfirm()); - ui.onButtonPress("equip", () -> equip()); - ui.onButtonPress("use", () -> use()); + ui.onButtonPress("delete", this::showConfirm); + ui.onButtonPress("equip", this::equip); + ui.onButtonPress("use", this::use); equipButton = ui.findActor("equip"); useButton = ui.findActor("use"); useButton.setDisabled(true); @@ -299,7 +299,6 @@ public class InventoryScene extends UIScene { } public Button createInventorySlot() { - ImageButton button = new ImageButton(Controls.getSkin(), "item_frame"); - return button; + return new ImageButton(Controls.getSkin(), "item_frame"); } } diff --git a/forge-gui-mobile/src/forge/adventure/scene/MapViewScene.java b/forge-gui-mobile/src/forge/adventure/scene/MapViewScene.java index 712aacd2d67..3488ceb0450 100644 --- a/forge-gui-mobile/src/forge/adventure/scene/MapViewScene.java +++ b/forge-gui-mobile/src/forge/adventure/scene/MapViewScene.java @@ -1,6 +1,5 @@ package forge.adventure.scene; -import com.badlogic.gdx.Input; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.scenes.scene2d.Group; import com.badlogic.gdx.scenes.scene2d.ui.Image; @@ -32,7 +31,7 @@ public class MapViewScene extends UIScene { super(Forge.isLandscapeMode() ? "ui/map.json" : "ui/map_portrait.json"); - ui.onButtonPress("done", () -> done()); + ui.onButtonPress("done", this::done); scroll = ui.findActor("map"); Group table=new Group(); @@ -78,13 +77,4 @@ public class MapViewScene extends UIScene { super.enter(); } - - @Override - public boolean keyPressed(int keycode) { - if (keycode == Input.Keys.ESCAPE || keycode == Input.Keys.BACK || keycode == Input.Keys.BUTTON_B) { - done(); - } - return true; - } - } diff --git a/forge-gui-mobile/src/forge/adventure/stage/GameHUD.java b/forge-gui-mobile/src/forge/adventure/stage/GameHUD.java index 0f89fdb4477..49d33adfb53 100644 --- a/forge-gui-mobile/src/forge/adventure/stage/GameHUD.java +++ b/forge-gui-mobile/src/forge/adventure/stage/GameHUD.java @@ -22,12 +22,12 @@ import com.github.tommyettinger.textra.TextraButton; import com.github.tommyettinger.textra.TextraLabel; import com.github.tommyettinger.textra.TypingLabel; import forge.Forge; +import forge.adventure.data.ItemData; import forge.adventure.player.AdventurePlayer; import forge.adventure.scene.*; import forge.adventure.util.*; import forge.adventure.world.WorldSave; import forge.deck.Deck; -import forge.gui.FThreads; import forge.gui.GuiBase; import forge.localinstance.properties.ForgePreferences; import forge.model.FModel; @@ -51,16 +51,15 @@ public class GameHUD extends Stage { private final Touchpad touchpad; private final Console console; float TOUCHPAD_SCALE = 70f, referenceX; - boolean isHiding = false, isShowing = false; float opacity = 1f; private boolean debugMap, updatelife; private final Dialog dialog; private boolean dialogOnlyInput; private final Array dialogButtonMap = new Array<>(); + private final Array abilityButtonMap = new Array<>(); private final Array questKeys = new Array<>(); private String lifepointsTextColor = ""; - private TextraButton selectedKey; private final ScrollPane scrollPane; private GameHUD(GameStage gameStage) { @@ -68,9 +67,7 @@ public class GameHUD extends Stage { instance = this; this.gameStage = gameStage; - ui = new UIActor(Config.instance().getFile(GuiBase.isAndroid() - ? Forge.isLandscapeMode() ? "ui/hud_landscape.json" : "ui/hud_portrait.json" - : Forge.isLandscapeMode() ? "ui/hud.json" : "ui/hud_portrait.json")); + ui = new UIActor(Config.instance().getFile(Forge.isLandscapeMode() ? "ui/hud_landscape.json" : "ui/hud_portrait.json")); blank = ui.findActor("blank"); @@ -80,7 +77,7 @@ public class GameHUD extends Stage { avatarborder = ui.findActor("avatarborder"); deckActor = ui.findActor("deck"); openMapActor = ui.findActor("openmap"); - ui.onButtonPress("openmap", () -> GameHUD.this.openMap()); + ui.onButtonPress("openmap", this::openMap); menuActor = ui.findActor("menu"); referenceX = menuActor.getX(); logbookActor = ui.findActor("logbook"); @@ -113,11 +110,11 @@ public class GameHUD extends Stage { ui.addActor(touchpad); avatar = ui.findActor("avatar"); - ui.onButtonPress("menu", () -> menu()); - ui.onButtonPress("inventory", () -> openInventory()); - ui.onButtonPress("logbook", () -> logbook()); - ui.onButtonPress("deck", () -> openDeck()); - ui.onButtonPress("exittoworldmap", () -> exitToWorldMap()); + ui.onButtonPress("menu", this::menu); + ui.onButtonPress("inventory", this::openInventory); + ui.onButtonPress("logbook", this::logbook); + ui.onButtonPress("deck", this::openDeck); + ui.onButtonPress("exittoworldmap", this::exitToWorldMap); lifePoints = ui.findActor("lifePoints"); shards = ui.findActor("shards"); money = ui.findActor("money"); @@ -131,6 +128,7 @@ public class GameHUD extends Stage { addActor(scrollPane); AdventurePlayer.current().onLifeChange(() -> lifePoints.setText("[%95][+Life]" + lifepointsTextColor + " " + AdventurePlayer.current().getLife() + "/" + AdventurePlayer.current().getMaxLife())); AdventurePlayer.current().onShardsChange(() -> shards.setText("[%95][+Shards] " + AdventurePlayer.current().getShards())); + AdventurePlayer.current().onEquipmentChanged(this::updateAbility); WorldSave.getCurrentSave().getPlayer().onGoldChange(() -> money.setText("[%95][+Gold] " + String.valueOf(AdventurePlayer.current().getGold()))); addActor(ui); @@ -144,7 +142,7 @@ public class GameHUD extends Stage { avatarborder.addListener(new ConsoleToggleListener()); gamehud.addListener(new ConsoleToggleListener()); } - WorldSave.getCurrentSave().onLoad(() -> GameHUD.this.enter()); + WorldSave.getCurrentSave().onLoad(this::enter); eventTouchDown = new InputEvent(); eventTouchDown.setPointer(-1); eventTouchDown.setType(InputEvent.Type.touchDown); @@ -230,7 +228,6 @@ public class GameHUD extends Stage { touchpad.setBounds(touch.x - TOUCHPAD_SCALE / 2, touch.y - TOUCHPAD_SCALE / 2, TOUCHPAD_SCALE, TOUCHPAD_SCALE); touchpad.setVisible(true); touchpad.setResetOnTouchUp(true); - hideButtons(); return super.touchDown(screenX, screenY, pointer, button); } } @@ -333,6 +330,41 @@ public class GameHUD extends Stage { } } + void updateAbility() { + for (TextraButton button : abilityButtonMap) { + button.remove(); + } + abilityButtonMap.clear(); + setAbilityButton(AdventurePlayer.current().getEquippedAbility1()); + setAbilityButton(AdventurePlayer.current().getEquippedAbility2()); + float x = Forge.isLandscapeMode() ? 426f : 216f; + float y = 10f; + float w = 45f; + float h = 35f; + for (TextraButton button : abilityButtonMap) { + button.getColor().a = opacity; + button.setSize(w, h); + button.setPosition(x, y); + y += h + 10f; + addActor(button); + } + } + + void setAbilityButton(ItemData data) { + if (data != null) { + TextraButton button = Controls.newTextButton("[%120][+" + data.iconName + "][+Shards]" + data.shardsNeeded, () -> { + boolean isInPoi = MapStage.getInstance().isInMap(); + if (!(isInPoi && data.usableInPoi || !isInPoi && data.usableOnWorldMap)) + return; + if (data.shardsNeeded > Current.player().getShards()) + return; + Current.player().addShards(-data.shardsNeeded); + ConsoleCommandInterpreter.getInstance().command(data.commandOnUse); + }); + abilityButtonMap.add(button); + } + } + private Pair audio = null; public void playAudio() { @@ -368,12 +400,12 @@ public class GameHUD extends Stage { public void act(float delta) { super.act(delta); if (fade < targetfade) { - fade += (delta/2); + fade += (delta / 2); if (fade > targetfade) fade = targetfade; fadeAudio(fade); } else if (fade > targetfade) { - fade -= (delta/2); + fade -= (delta / 2); if (fade < targetfade) fade = targetfade; fadeAudio(fade); @@ -479,6 +511,11 @@ public class GameHUD extends Stage { actor.setVisible(visible); } + private void setDisabled(Actor actor, boolean enable) { + if (actor != null && actor instanceof Button) + ((Button) actor).setDisabled(enable); + } + private void setAlpha(Actor actor, boolean visible) { if (actor != null) { if (visible) @@ -498,7 +535,7 @@ public class GameHUD extends Stage { setVisibility(shards, visible); setVisibility(money, visible); setVisibility(blank, visible); - setVisibility(exitToWorldMapActor, GameScene.instance().isNotInWorldMap()); + setDisabled(exitToWorldMapActor, !GameScene.instance().isNotInWorldMap()); setAlpha(avatarborder, visible); setAlpha(avatar, visible); setAlpha(deckActor, visible); @@ -506,6 +543,9 @@ public class GameHUD extends Stage { setAlpha(logbookActor, visible); setAlpha(inventoryActor, visible); setAlpha(exitToWorldMapActor, visible); + for (TextraButton button : abilityButtonMap) { + setAlpha(button, visible); + } opacity = visible ? 1f : 0.4f; } @@ -528,11 +568,6 @@ public class GameHUD extends Stage { if (keycode == Input.Keys.BACK) { if (console.isVisible()) { console.toggle(); - } else { - if (menuActor.isVisible()) - hideButtons(); - else - showButtons(); } } if (console.isVisible()) @@ -571,38 +606,6 @@ public class GameHUD extends Stage { }, 0.10f); } - private void hideButtons() { - if (isShowing) - return; - if (isHiding) - return; - isHiding = true; - deckActor.addAction(Actions.sequence(Actions.fadeOut(0.10f), Actions.hide(), Actions.moveTo(deckActor.getX() + deckActor.getWidth(), deckActor.getY()))); - inventoryActor.addAction(Actions.sequence(Actions.fadeOut(0.15f), Actions.hide(), Actions.moveTo(inventoryActor.getX() + inventoryActor.getWidth(), inventoryActor.getY()))); - logbookActor.addAction(Actions.sequence(Actions.fadeOut(0.20f), Actions.hide(), Actions.moveTo(logbookActor.getX() + logbookActor.getWidth(), logbookActor.getY()))); - menuActor.addAction(Actions.sequence(Actions.fadeOut(0.25f), Actions.hide(), Actions.moveTo(menuActor.getX() + menuActor.getWidth(), menuActor.getY()))); - if (GameScene.instance().isNotInWorldMap()) - exitToWorldMapActor.addAction(Actions.sequence(Actions.fadeOut(0.2f), Actions.hide(), Actions.moveTo(exitToWorldMapActor.getX() + exitToWorldMapActor.getWidth(), exitToWorldMapActor.getY()))); - FThreads.delayInEDT(300, () -> isHiding = false); - } - - private void showButtons() { - if (console.isVisible()) - return; - if (isHiding) - return; - if (isShowing) - return; - isShowing = true; - menuActor.addAction(Actions.sequence(Actions.delay(0.1f), Actions.parallel(Actions.show(), Actions.alpha(opacity, 0.1f), Actions.moveTo(referenceX, menuActor.getY(), 0.25f)))); - logbookActor.addAction(Actions.sequence(Actions.delay(0.15f), Actions.parallel(Actions.show(), Actions.alpha(opacity, 0.1f), Actions.moveTo(referenceX, logbookActor.getY(), 0.25f)))); - inventoryActor.addAction(Actions.sequence(Actions.delay(0.2f), Actions.parallel(Actions.show(), Actions.alpha(opacity, 0.1f), Actions.moveTo(referenceX, inventoryActor.getY(), 0.25f)))); - deckActor.addAction(Actions.sequence(Actions.delay(0.25f), Actions.parallel(Actions.show(), Actions.alpha(opacity, 0.1f), Actions.moveTo(referenceX, deckActor.getY(), 0.25f)))); - if (GameScene.instance().isNotInWorldMap()) - exitToWorldMapActor.addAction(Actions.sequence(Actions.delay(0.25f), Actions.parallel(Actions.show(), Actions.alpha(opacity, 0.1f), Actions.moveTo(referenceX, exitToWorldMapActor.getY(), 0.25f)))); - FThreads.delayInEDT(300, () -> isShowing = false); - } - public void setDebug(boolean b) { debugMap = b; } @@ -626,13 +629,12 @@ public class GameHUD extends Stage { public boolean act(float v) { if (exitDungeon) { MapStage.getInstance().exitDungeon(); - exitToWorldMapActor.setVisible(false); + setDisabled(exitToWorldMapActor, true); } return true; } })); dialogOnlyInput = false; - selectedKey = null; } private void selectNextDialogButton() { @@ -677,18 +679,9 @@ public class GameHUD extends Stage { @Override public boolean longPress(Actor actor, float x, float y) { - hideButtons(); console.toggle(); return super.longPress(actor, x, y); } - - @Override - public void tap(InputEvent event, float x, float y, int count, int button) { - super.tap(event, x, y, count, button); - //show menu buttons if double tapping the avatar, for android devices without visible navigation buttons - if (count > 1) - showButtons(); - } } public void updateMusic() { diff --git a/forge-gui-mobile/src/forge/adventure/util/AdventureQuestController.java b/forge-gui-mobile/src/forge/adventure/util/AdventureQuestController.java index 9784a5ca73f..f508e47097d 100644 --- a/forge-gui-mobile/src/forge/adventure/util/AdventureQuestController.java +++ b/forge-gui-mobile/src/forge/adventure/util/AdventureQuestController.java @@ -17,7 +17,6 @@ import forge.util.Aggregates; import java.io.Serializable; import java.time.LocalDate; import java.util.*; -import java.util.List; public class AdventureQuestController implements Serializable { diff --git a/forge-gui/res/adventure/Shandalar/ui/deck_selector_portrait.json b/forge-gui/res/adventure/Shandalar/ui/deck_selector_portrait.json index 65a62df2d12..9972c0107e7 100644 --- a/forge-gui/res/adventure/Shandalar/ui/deck_selector_portrait.json +++ b/forge-gui/res/adventure/Shandalar/ui/deck_selector_portrait.json @@ -21,7 +21,6 @@ "type": "TextButton", "name": "return", "text": "tr(lblBack)", - "binding": "Back", "width": 86, "height": 30, "x": 4, @@ -31,7 +30,6 @@ "type": "TextButton", "name": "rename", "text": "tr(lblRename)", - "binding": "Equip", "width": 86, "height": 30, "x": 92, @@ -41,7 +39,6 @@ "type": "TextButton", "name": "edit", "text": "tr(lblEdit)", - "binding": "Use", "width": 86, "height": 30, "x": 180, diff --git a/forge-gui/res/adventure/Shandalar/ui/hud_landscape.json b/forge-gui/res/adventure/Shandalar/ui/hud_landscape.json index dc0eb34866b..a18af1a95ac 100644 --- a/forge-gui/res/adventure/Shandalar/ui/hud_landscape.json +++ b/forge-gui/res/adventure/Shandalar/ui/hud_landscape.json @@ -85,45 +85,42 @@ { "type": "TextButton", "name": "deck", - "style":"menu", "text": "[%120][+Deck]", "binding": "Deck", - "width": 64, - "height": 36, - "x": 416, - "y": 106 + "width": 45, + "height": 25, + "x": 175, + "y": 0 }, { "type": "TextButton", "name": "inventory", - "style":"menu", "text": "[%120][+Item]", "binding": "Inventory", - "width": 64, - "height": 36, - "x": 416, - "y": 146 + "width": 45, + "height": 25, + "x": 220, + "y": 0 }, { "type": "TextButton", "name": "logbook", - "style":"menu", "text": "[%120][+Logbook]", - "width": 64, - "height": 36, - "x": 416, - "y": 186 + "binding": "Status", + "width": 45, + "height": 25, + "x": 265, + "y": 0 }, { "type": "TextButton", "name": "menu", - "style":"menu", "text": "[%120][+Menu]", "binding": "Menu", - "width": 64, - "height": 36, - "x": 416, - "y": 226 + "width": 45, + "height": 25, + "x": 130, + "y": 0 }, { "type": "TextButton", @@ -138,13 +135,12 @@ { "type": "TextButton", "name": "exittoworldmap", - "style":"menu", "text": "[%120][+ExitToWorldMap]", "binding": "ExitToWorldMap", - "width": 64, - "height": 32, - "x": 416, - "y": 66 + "width": 45, + "height": 25, + "x": 310, + "y": 0 } ] } \ No newline at end of file diff --git a/forge-gui/res/adventure/Shandalar/ui/hud_portrait.json b/forge-gui/res/adventure/Shandalar/ui/hud_portrait.json index 4d8f7d73e58..f29e66a2401 100644 --- a/forge-gui/res/adventure/Shandalar/ui/hud_portrait.json +++ b/forge-gui/res/adventure/Shandalar/ui/hud_portrait.json @@ -84,53 +84,44 @@ { "type": "TextButton", "name": "deck", - "style":"menu", "text": "[%120][+Deck]", - "binding": "Deck", - "width": 64, - "height": 32, - "x": 206, - "y": 306 + "width": 25, + "height": 25, + "x": 105, + "y": 0 }, { "type": "TextButton", "name": "inventory", - "style":"menu", "text": "[%120][+Item]", - "binding": "Inventory", - "width": 64, - "height": 32, - "x": 206, - "y": 346 + "width": 25, + "height": 25, + "x": 130, + "y": 0 }, { "type": "TextButton", "name": "logbook", - "style":"menu", "text": "[%120][+Logbook]", - "binding": "Status", - "width": 64, - "height": 32, - "x": 206, - "y": 386 + "width": 25, + "height": 25, + "x": 155, + "y": 0 }, { "type": "TextButton", "name": "menu", - "style":"menu", "text": "[%120][+Menu]", - "binding": "Menu", - "width": 64, - "height": 32, - "x": 206, - "y": 426 + "width": 25, + "height": 25, + "x": 80, + "y": 0 }, { "type": "TextButton", "name": "openmap", "text": "[%80]tr(lblZoom)", - "binding": "Map", "width": 80, "height": 20, "x": 0, @@ -138,14 +129,12 @@ }, { "type": "TextButton", - "name": "exittoworldmap", - "style":"menu", + "name": "exittoworldmap", "text": "[%120][+ExitToWorldMap]", - "binding": "ExitToWorldMap", - "width": 64, - "height": 32, - "x": 206, - "y": 266 + "width": 25, + "height": 25, + "x": 180, + "y": 0 } ] } \ No newline at end of file diff --git a/forge-gui/res/adventure/Shandalar/ui/inn_portrait.json b/forge-gui/res/adventure/Shandalar/ui/inn_portrait.json index eb6ba344c16..1a7c8722071 100644 --- a/forge-gui/res/adventure/Shandalar/ui/inn_portrait.json +++ b/forge-gui/res/adventure/Shandalar/ui/inn_portrait.json @@ -22,7 +22,6 @@ "type": "TextButton", "name": "tempHitPointCost", "text": "Cost", - "binding": "Status", "width": 100, "height": 30, "x": 165, @@ -51,7 +50,6 @@ "type": "TextButton", "name": "sell", "text": "tr(lblSell)", - "binding": "Equip", "width": 100, "height": 30, "x": 165, @@ -70,7 +68,6 @@ "type": "TextButton", "name": "done", "text": "tr(lblBack)", - "binding": "Back", "width": 100, "height": 30, "x": 165, diff --git a/forge-gui/res/adventure/Shandalar/ui/inventory.json b/forge-gui/res/adventure/Shandalar/ui/inventory.json index f025b8fa88c..cf4d971a56e 100644 --- a/forge-gui/res/adventure/Shandalar/ui/inventory.json +++ b/forge-gui/res/adventure/Shandalar/ui/inventory.json @@ -17,6 +17,24 @@ "width": 129, "height": 243 }, + { + "type": "ImageButton", + "name": "Equipment_Ability1", + "style": "item_frame", + "width": 20, + "height": 20, + "x": 17, + "y": 20 + }, + { + "type": "ImageButton", + "name": "Equipment_Ability2", + "style": "item_frame", + "width": 20, + "height": 20, + "x": 107, + "y": 20 + }, { "type": "ImageButton", "name": "Equipment_Neck", diff --git a/forge-gui/res/adventure/Shandalar/ui/inventory_portrait.json b/forge-gui/res/adventure/Shandalar/ui/inventory_portrait.json index c55ddeace12..e561453c675 100644 --- a/forge-gui/res/adventure/Shandalar/ui/inventory_portrait.json +++ b/forge-gui/res/adventure/Shandalar/ui/inventory_portrait.json @@ -16,7 +16,25 @@ "y": 112, "width": 129, "height": 243 - }, + }, + { + "type": "ImageButton", + "name": "Equipment_Ability1", + "style": "item_frame", + "width": 20, + "height": 20, + "x": 17, + "y": 124 + }, + { + "type": "ImageButton", + "name": "Equipment_Ability2", + "style": "item_frame", + "width": 20, + "height": 20, + "x": 107, + "y": 124 + }, { "type": "ImageButton", "name": "Equipment_Neck", @@ -25,7 +43,7 @@ "height": 20, "x": 62, "y": 144 - } , + }, { "type": "ImageButton", "name": "Equipment_Body", @@ -34,7 +52,7 @@ "height": 20, "x": 62, "y": 189 - } , + }, { "type": "ImageButton", "name": "Equipment_Boots", @@ -43,7 +61,7 @@ "height": 20, "x": 62, "y": 324 - } , + }, { "type": "ImageButton", "name": "Equipment_Left", @@ -84,12 +102,11 @@ "y": 16, "width": 246, "height": 90 - } , + }, { "type": "TextButton", "name": "delete", "text": "tr(lblDispose)", - "binding": "Status", "width": 60, "height": 30, "x": 8, @@ -99,7 +116,6 @@ "type": "TextButton", "name": "equip", "text": "tr(lblEquip)", - "binding": "Equip", "width": 60, "height": 30, "x": 75, @@ -109,7 +125,6 @@ "type": "TextButton", "name": "use", "text": "tr(lblUse)", - "binding": "Use", "width": 60, "height": 30, "x": 140, @@ -119,7 +134,6 @@ "type": "TextButton", "name": "return", "text": "tr(lblBack)", - "binding": "Back", "width": 60, "height": 30, "x": 205, diff --git a/forge-gui/res/adventure/Shandalar/ui/items_portrait.json b/forge-gui/res/adventure/Shandalar/ui/items_portrait.json index 45d33a8a045..31663fbbbcf 100644 --- a/forge-gui/res/adventure/Shandalar/ui/items_portrait.json +++ b/forge-gui/res/adventure/Shandalar/ui/items_portrait.json @@ -28,7 +28,6 @@ "type": "TextButton", "name": "detail", "text": "Detail", - "binding": "Equip", "width": 128, "height": 32, "x": 140, @@ -38,7 +37,6 @@ "type": "TextButton", "name": "done", "text": "tr(lblLeave)", - "binding": "Back", "width": 128, "height": 32, "x": 140, diff --git a/forge-gui/res/adventure/Shandalar/ui/map_portrait.json b/forge-gui/res/adventure/Shandalar/ui/map_portrait.json index 6eeb1cba545..9e165c0f637 100644 --- a/forge-gui/res/adventure/Shandalar/ui/map_portrait.json +++ b/forge-gui/res/adventure/Shandalar/ui/map_portrait.json @@ -13,7 +13,6 @@ "type": "TextButton", "name": "done", "text": "[%80]tr(lblBack)", - "binding": "Back", "width": 48, "height": 20, "x": 5, diff --git a/forge-gui/res/adventure/Shandalar/ui/new_game_portrait.json b/forge-gui/res/adventure/Shandalar/ui/new_game_portrait.json index 6ffc8a8a582..0fab6dc9ef8 100644 --- a/forge-gui/res/adventure/Shandalar/ui/new_game_portrait.json +++ b/forge-gui/res/adventure/Shandalar/ui/new_game_portrait.json @@ -187,7 +187,6 @@ "name": "back", "text": "tr(lblBack)", "selectable": true, - "binding": "Back", "width": 64, "height": 28, "x": 32, @@ -198,7 +197,6 @@ "name": "start", "text": "tr(lblStart)", "selectable": true, - "binding": "Status", "width": 64, "height": 28, "x": 165, diff --git a/forge-gui/res/adventure/Shandalar/ui/quests_portrait.json b/forge-gui/res/adventure/Shandalar/ui/quests_portrait.json index 6cfc29125d4..0a8400244a5 100644 --- a/forge-gui/res/adventure/Shandalar/ui/quests_portrait.json +++ b/forge-gui/res/adventure/Shandalar/ui/quests_portrait.json @@ -66,7 +66,6 @@ "type": "TextButton", "name": "return", "text": "tr(lblBack)", - "binding": "Back", "width": 130, "height": 30, "x": 135, @@ -76,7 +75,6 @@ "type": "TextButton", "name": "status", "text": "Status", - "binding": "Status", "width": 130, "height": 30, "x": 5, diff --git a/forge-gui/res/adventure/Shandalar/ui/save_load_portrait.json b/forge-gui/res/adventure/Shandalar/ui/save_load_portrait.json index 0657e17d835..9c5f9202b2f 100644 --- a/forge-gui/res/adventure/Shandalar/ui/save_load_portrait.json +++ b/forge-gui/res/adventure/Shandalar/ui/save_load_portrait.json @@ -45,7 +45,6 @@ "type": "TextButton", "name": "return", "text": "tr(lblBack)", - "binding": "Back", "width": 120, "height": 32, "x": 10, @@ -54,7 +53,6 @@ { "type": "TextButton", "name": "save", - "binding": "Use", "width": 120, "height": 32, "x": 140, diff --git a/forge-gui/res/adventure/Shandalar/ui/settings_portrait.json b/forge-gui/res/adventure/Shandalar/ui/settings_portrait.json index 2589272e2e9..eb9ec94b0ae 100644 --- a/forge-gui/res/adventure/Shandalar/ui/settings_portrait.json +++ b/forge-gui/res/adventure/Shandalar/ui/settings_portrait.json @@ -21,7 +21,6 @@ "type": "TextButton", "name": "return", "text": "tr(lblBack)", - "binding": "Back", "width": 250, "height": 32, "x": 10, diff --git a/forge-gui/res/adventure/Shandalar/ui/shardtrader_portrait.json b/forge-gui/res/adventure/Shandalar/ui/shardtrader_portrait.json index 67ca39c0390..ee9464962d4 100644 --- a/forge-gui/res/adventure/Shandalar/ui/shardtrader_portrait.json +++ b/forge-gui/res/adventure/Shandalar/ui/shardtrader_portrait.json @@ -22,7 +22,6 @@ "type": "TextButton", "name": "btnBuyShardsCost", "text": "btnBuyShardsCost", - "binding": "Status", "width": 100, "height": 30, "x": 165, @@ -41,7 +40,6 @@ "type": "TextButton", "name": "btnSellShardsQuantity", "text": "btnSellShardsQuantity", - "binding": "Equip", "width": 100, "height": 30, "x": 165, @@ -60,7 +58,6 @@ "type": "TextButton", "name": "done", "text": "tr(lblBack)", - "binding": "Back", "width": 100, "height": 30, "x": 165, diff --git a/forge-gui/res/adventure/Shandalar/ui/spellsmith_portrait.json b/forge-gui/res/adventure/Shandalar/ui/spellsmith_portrait.json index ce7935278ae..dd0a389b188 100644 --- a/forge-gui/res/adventure/Shandalar/ui/spellsmith_portrait.json +++ b/forge-gui/res/adventure/Shandalar/ui/spellsmith_portrait.json @@ -64,7 +64,6 @@ "selectable": true, "name": "done", "text": "tr(lblBack)", - "binding": "Back", "x": 180, "y": 150, "width": 90, @@ -151,7 +150,6 @@ "type": "TextButton", "selectable": true, "name": "pullUsingGold", - "binding": "Status", "text": "tr(lblDraw) [+gold]", "x": 180, "y": 25, @@ -171,7 +169,6 @@ "type": "TextButton", "selectable": true, "name": "pullUsingShards", - "binding": "Equip", "text": "tr(lblDraw) [+shards]", "x": 180, "y": 75, diff --git a/forge-gui/res/adventure/Shandalar/ui/start_menu_portrait.json b/forge-gui/res/adventure/Shandalar/ui/start_menu_portrait.json index 8f662520582..484bab545b7 100644 --- a/forge-gui/res/adventure/Shandalar/ui/start_menu_portrait.json +++ b/forge-gui/res/adventure/Shandalar/ui/start_menu_portrait.json @@ -54,7 +54,6 @@ "name": "Resume", "text": "tr(lblResume)", "selectable": true, - "binding": "Back", "width": 238, "height": 48, "x": 16, diff --git a/forge-gui/res/adventure/Shandalar/ui/statistic_portrait.json b/forge-gui/res/adventure/Shandalar/ui/statistic_portrait.json index bfbecae1869..3f8b45b6187 100644 --- a/forge-gui/res/adventure/Shandalar/ui/statistic_portrait.json +++ b/forge-gui/res/adventure/Shandalar/ui/statistic_portrait.json @@ -112,7 +112,6 @@ "type": "TextButton", "name": "return", "text": "tr(lblBack)", - "binding": "Back", "width": 115, "height": 30, "x": 155, @@ -122,7 +121,6 @@ "type": "TextButton", "name": "quests", "text": "Quests", - "binding": "Status", "width": 115, "height": 30, "x": 35, diff --git a/forge-gui/res/adventure/Shandalar/world/items.json b/forge-gui/res/adventure/Shandalar/world/items.json index 93040574945..2d023e2a37d 100644 --- a/forge-gui/res/adventure/Shandalar/world/items.json +++ b/forge-gui/res/adventure/Shandalar/world/items.json @@ -869,7 +869,8 @@ }, { "name": "Colorless rune", - "usableOnWorldMap":true, + "usableOnWorldMap":true, + "equipmentSlot": "Ability2", "description": "Teleports you to the center", "commandOnUse": "teleport to poi Spawn", "iconName": "ColorlessRune", @@ -880,6 +881,7 @@ { "name": "White rune", "usableOnWorldMap":true, + "equipmentSlot": "Ability2", "effect": { "name": "" }, @@ -893,6 +895,7 @@ { "name": "Black rune", "usableOnWorldMap":true, + "equipmentSlot": "Ability2", "effect": { "name": "" }, @@ -906,6 +909,7 @@ { "name": "Blue rune", "usableOnWorldMap":true, + "equipmentSlot": "Ability2", "effect": { "name": "" }, @@ -919,6 +923,7 @@ { "name": "Red rune", "usableOnWorldMap":true, + "equipmentSlot": "Ability2", "effect": { "name": "" }, @@ -932,6 +937,7 @@ { "name": "Green rune", "usableOnWorldMap":true, + "equipmentSlot": "Ability2", "effect": { "name": "" }, @@ -944,6 +950,7 @@ }, { "name": "White Staff", + "equipmentSlot": "Ability1", "usableOnWorldMap":true, "usableInPoi":true, "effect": { @@ -958,6 +965,7 @@ }, { "name": "Black Staff", + "equipmentSlot": "Ability1", "usableOnWorldMap":true, "usableInPoi":false, "effect": { @@ -973,6 +981,7 @@ { "name": "Blue Staff", "usableOnWorldMap":true, + "equipmentSlot": "Ability1", "effect": { "name": "" }, @@ -986,6 +995,7 @@ { "name": "Red Staff", "usableOnWorldMap":true, + "equipmentSlot": "Ability1", "effect": { "name": "" }, @@ -998,6 +1008,7 @@ }, { "name": "Green Staff", + "equipmentSlot": "Ability1", "usableOnWorldMap":true, "usableInPoi":true, "effect": { From 95852d0d2fccd550addf8cd8533d6720b5a19289 Mon Sep 17 00:00:00 2001 From: paulsnoops Date: Thu, 13 Apr 2023 20:31:00 +0100 Subject: [PATCH 10/18] Edition updates: MOC, MUL --- ...vasion_of_kylem_valors_reach_tag_team.txt} | 0 .../March of the Machine Commander.txt | 2 +- forge-gui/res/editions/Multiverse Legends.txt | 36 +++++++++++++++++++ 3 files changed, 37 insertions(+), 1 deletion(-) rename forge-gui/res/cardsfolder/upcoming/{invasion_of_kylem__valors_reach_tag_team.txt => invasion_of_kylem_valors_reach_tag_team.txt} (100%) diff --git a/forge-gui/res/cardsfolder/upcoming/invasion_of_kylem__valors_reach_tag_team.txt b/forge-gui/res/cardsfolder/upcoming/invasion_of_kylem_valors_reach_tag_team.txt similarity index 100% rename from forge-gui/res/cardsfolder/upcoming/invasion_of_kylem__valors_reach_tag_team.txt rename to forge-gui/res/cardsfolder/upcoming/invasion_of_kylem_valors_reach_tag_team.txt diff --git a/forge-gui/res/editions/March of the Machine Commander.txt b/forge-gui/res/editions/March of the Machine Commander.txt index a3cee2575d1..710b47347ad 100644 --- a/forge-gui/res/editions/March of the Machine Commander.txt +++ b/forge-gui/res/editions/March of the Machine Commander.txt @@ -201,7 +201,7 @@ ScryfallCode=MOC 193 R Knight of the White Orchid @Mark Zug 194 U Master Splicer @Chippy 195 R Maul of the Skyclaves @Joseph Meehan -196 U Mentor of the Meek @Jana Schirmer & Johannes Voss +196 R Mentor of the Meek @Jana Schirmer & Johannes Voss 197 M Mikaeus, the Lunarch @Steven Belledin 198 U Path to Exile @Todd Lockwood 199 R Phyrexian Rebirth @Scott Chou diff --git a/forge-gui/res/editions/Multiverse Legends.txt b/forge-gui/res/editions/Multiverse Legends.txt index 546b30b4d43..bbe09c081c2 100644 --- a/forge-gui/res/editions/Multiverse Legends.txt +++ b/forge-gui/res/editions/Multiverse Legends.txt @@ -71,22 +71,52 @@ ScryfallCode=MUL 63 M Yarok, the Desecrated @Jessica Rossier 64 R Yorion, Sky Nomad @Justine Mara Andersen 65 R Zirda, the Dawnwaker @Justine Mara Andersen +66 R Anafenza, Kin-Tree Spirit @Ryan Yee +67 U Daxos, Blessed by the Sun @Lius Lasahido 68 M Elesh Norn, Grand Cenobite @Igor Kieryluk 69 M Kenrith, the Returned King @Kieran Yanner +70 U Kwende, Pride of Femeref @Daarken 71 R Sram, Senior Edificer @Chris Rahn +72 R Thalia, Guardian of Thraben @Jana Schirmer & Johannes Voss 73 R Baral, Chief of Compliance @Wesley Burt +74 R Emry, Lurker of the Loch @Livia Prima +75 U Inga Rune-Eyes @Bram Sels 76 M Jin-Gitaxias, Core Augur @Eric Deschamps +77 U Tetsuko Umezawa, Fugitive @Randy Vargas +78 R Ayara, First of Locthwain @Ryan Pancoast +79 R Horobi, Death's Wail @John Bolton +80 R Seizan, Perverter of Truth @Kev Walker 81 M Sheoldred, Whispering One @Jana Schirmer & Johannes Voss 82 M Skithiryx, the Blight Dragon @Chippy +83 U Tymaret, Chosen from Death @Chase Stone 84 U Yargle, Glutton of Urborg @Jehan Choo +85 R Captain Lannery Storm @Chris Rallis +86 M Ragavan, Nimble Pilferer @Simon Dominic +87 R Squee, the Immortal @Svetlin Velinov 88 M Urabrask the Hidden @Brad Rigney +89 U Valduk, Keeper of the Flame @Victor Adame Minguez 90 U Zada, Hedron Grinder @Chris Rallis +91 U Fynn, the Fangbearer @Lie Setiawan +92 R Goreclaw, Terror of Qal Sisma @Svetlin Velinov +93 U Renata, Called to the Hunt @Chris Rahn 94 M Vorinclex, Voice of Hunger @Karl Kopinski +95 R Yedora, Grave Gardener @Svetlin Velinov +96 U Aegar, the Freezing Flame @Chris Rahn 97 R Arixmethes, Slumbering Isle @Dimitar Marinski +98 M Atraxa, Praetors' Voice @Victor Adame Minguez +99 R Atris, Oracle of Half-Truths @Bastien L. Deharme +100 M Aurelia, the Warleader @Slawomir Maniak 101 R Brudiclad, Telchor Engineer @Daarken 102 U Dina, Soul Steeper @Chris Rahn +103 M Ezuri, Claw of Progress @James Ryman +104 R Firesong and Sunspeaker @Zoltan Boros 105 U Firja, Judge of Valor @Livia Prima +106 M Grimgrin, Corpse-Born @Bartek Fedyczak 107 R Gyruda, Doom of Depths @Tyler Jacobson +108 U Imoti, Celebrant of Bounty @Ekaterina Burmak +109 R Jegantha, the Wellspring @Chris Rahn +110 R Judith, the Scourge Diva @Wesley Burt +111 U Juri, Master of the Revue @Dmitry Burmak 112 R Kaheera, the Orphanguard @Ryan Pancoast 113 R Keruga, the Macrosage @Dan Scott 114 M Kroxa, Titan of Death's Hunger @Vincent Proce @@ -95,7 +125,13 @@ ScryfallCode=MUL 117 R Lutri, the Spellchaser @Lie Setiawan 118 M Niv-Mizzet Reborn @Raymond Swanland 119 R Obosh, the Preypiercer @Daarken +120 U Radha, Coalition Warlord @Randy Vargas 121 U Raff, Weatherlight Stalwart @Eelis Kyttanen +122 U Reyav, Master Smith @Scott Murphy +123 U Rona, Sheoldred's Faithful @Ryan Alexander Lee +124 U Shanna, Sisay's Legacy @Magali Villeneuve +125 R Taigam, Ojutai Master @Simon Dominic +126 R Teysa Karlov @Magali Villeneuve 127 R Umori, the Collector @Jehan Choo 128 M Yarok, the Desecrated @Daarken 129 R Yorion, Sky Nomad @Steven Belledin From edbc2d2e103ddf3700148bdf9b89a12d0886bad6 Mon Sep 17 00:00:00 2001 From: paulsnoops Date: Thu, 13 Apr 2023 20:41:03 +0100 Subject: [PATCH 11/18] Edition updates: MAT --- .../res/editions/March of the Machine The Aftermath.txt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/forge-gui/res/editions/March of the Machine The Aftermath.txt b/forge-gui/res/editions/March of the Machine The Aftermath.txt index b68a33ebaf9..3a965d2c84e 100644 --- a/forge-gui/res/editions/March of the Machine The Aftermath.txt +++ b/forge-gui/res/editions/March of the Machine The Aftermath.txt @@ -6,5 +6,9 @@ Type=Expansion ScryfallCode=MAT [cards] +33 R Jolrael, Voice of Zhalfir @Lorenzo Mastroianni 34 R The Kenriths' Royal Funeral @Manuel Castañón -230 Jolrael, Voice of Zhalfir @Ernanda Souza +83 R Jolrael, Voice of Zhalfir @Scott M. Fischer +133 R Jolrael, Voice of Zhalfir @Lorenzo Mastroianni +168 R Jolrael, Voice of Zhalfir @Lorenzo Mastroianni +230 R Jolrael, Voice of Zhalfir @Ernanda Souza From 3e736104a1ea913e18785d27d6b79e67b8a4bc0d Mon Sep 17 00:00:00 2001 From: Simisays <67333662+Simisays@users.noreply.github.com> Date: Thu, 13 Apr 2023 21:47:23 +0200 Subject: [PATCH 12/18] Adventure: Grolnok Rework + a bunch of tweaks to my older PR's (#2915) --- .../res/adventure/Shandalar/decks/bat.dck | 27 + .../Shandalar/decks/darkenchanter.dck | 34 + .../adventure/Shandalar/decks/sandgolem.dck | 32 + .../adventure/Shandalar/decks/sandwurm.dck | 27 + .../adventure/Shandalar/decks/swamptroll.dck | 40 + .../res/adventure/Shandalar/decks/witch.dck | 31 + .../Shandalar/maps/map/factory_2.tmx | 1 - .../adventure/Shandalar/maps/map/grolnok.tmx | 409 +- .../Shandalar/maps/map/grolnok_f1.tmx | 156 + .../Shandalar/maps/map/magetower_3.tmx | 4 +- .../Shandalar/maps/map/nest_blue_1.tmx | 101 +- .../Shandalar/maps/map/nest_white_1.tmx | 272 +- .../adventure/Shandalar/maps/map/tibalt.tmx | 6 +- .../Shandalar/maps/tileset/FarmFood.png | Bin 0 -> 165053 bytes .../Shandalar/maps/tileset/FarmFood.tsx | 4 + .../adventure/Shandalar/maps/tileset/main.png | Bin 761521 -> 764907 bytes .../sprites/{dungeon => }/badger.atlas | 0 .../sprites/{dungeon => }/badger.png | Bin .../sprites/{dungeon => }/boar.atlas | 24 +- .../Shandalar/sprites/{dungeon => }/boar.png | Bin .../Shandalar/sprites/boss/frogboss.atlas | 98 + .../Shandalar/sprites/boss/frogboss.png | Bin 0 -> 69189 bytes .../sprites/{dungeon => boss}/garruk.atlas | 0 .../sprites/{dungeon => boss}/garruk.png | Bin .../sprites/{dungeon => boss}/jace.atlas | 0 .../sprites/{dungeon => boss}/jace.png | Bin .../sprites/{dungeon => boss}/kiora.atlas | 0 .../sprites/{dungeon => boss}/kiora.png | Bin .../sprites/{dungeon => boss}/nahiri.atlas | 0 .../sprites/{dungeon => boss}/nahiri.png | Bin .../Shandalar/sprites/boss/oozeboss.atlas | 20 + .../Shandalar/sprites/boss/oozeboss.png | Bin 0 -> 8714 bytes .../sprites/{dungeon => boss}/slimefoot.atlas | 0 .../sprites/{dungeon => boss}/slimefoot.png | Bin .../sprites/{dungeon => boss}/slobad.atlas | 38 +- .../sprites/{dungeon => boss}/slobad.png | Bin .../sprites/{dungeon => boss}/teferi.atlas | 0 .../sprites/{dungeon => boss}/teferi.png | Bin .../sprites/{dungeon => boss}/tibalt.atlas | 0 .../sprites/{dungeon => boss}/tibalt.png | Bin .../sprites/{dungeon => boss}/xira.atlas | 0 .../sprites/{dungeon => boss}/xira.png | Bin .../sprites/{dungeon => }/bull.atlas | 65 +- .../Shandalar/sprites/{dungeon => }/bull.png | Bin .../Shandalar/sprites/{dungeon => }/cat.atlas | 0 .../Shandalar/sprites/{dungeon => }/cat.png | Bin .../adventure/Shandalar/sprites/crab.atlas | 56 + .../Shandalar/sprites/{dungeon => }/crab.png | Bin .../Shandalar/sprites/{dungeon => }/dog.atlas | 36 +- .../Shandalar/sprites/{dungeon => }/dog.png | Bin .../sprites/{dungeon => }/dragonfly.atlas | 2 +- .../sprites/{dungeon => }/dragonfly.png | Bin .../Shandalar/sprites/dungeon/bat.atlas | 53 + .../Shandalar/sprites/dungeon/bat.png | Bin 0 -> 16108 bytes .../Shandalar/sprites/dungeon/crab.atlas | 56 - .../sprites/dungeon/flyingwitch.atlas | 86 + .../Shandalar/sprites/dungeon/frogboss.atlas | 44 - .../Shandalar/sprites/dungeon/frogboss.png | Bin 5942 -> 0 bytes .../Shandalar/sprites/dungeon/gorilla.atlas | 53 +- .../Shandalar/sprites/dungeon/horse.atlas | 6 +- .../Shandalar/sprites/dungeon/oozeboss.atlas | 20 - .../Shandalar/sprites/dungeon/oozeboss.png | Bin 6750 -> 0 bytes .../sprites/dungeon/sandelemental.atlas | 20 + .../sprites/dungeon/sandelemental.png | Bin 0 -> 9622 bytes .../Shandalar/sprites/dungeon/sandwurm.atlas | 83 + .../Shandalar/sprites/dungeon/sandwurm.png | Bin 0 -> 23709 bytes .../Shandalar/sprites/dungeon/scorpion.atlas | 56 - .../sprites/dungeon/swamptroll.atlas | 107 + .../Shandalar/sprites/dungeon/swamptroll.png | Bin 0 -> 37481 bytes .../Shandalar/sprites/dungeon/vulture.atlas | 40 +- .../Shandalar/sprites/dungeon/wasp.atlas | 64 +- .../Shandalar/sprites/dungeon/witch.atlas | 98 + .../Shandalar/sprites/dungeon/witch.png | Bin 0 -> 32194 bytes .../Shandalar/sprites/{dungeon => }/eye.atlas | 0 .../Shandalar/sprites/{dungeon => }/eye.png | Bin .../Shandalar/sprites/{dungeon => }/fox.atlas | 0 .../Shandalar/sprites/{dungeon => }/fox.png | Bin .../sprites/{dungeon => }/frog.atlas | 0 .../Shandalar/sprites/{dungeon => }/frog.png | Bin .../sprites/{dungeon => }/fungus.atlas | 3 - .../sprites/{dungeon => }/fungus.png | Bin .../sprites/{dungeon => }/humanoidrat.atlas | 2 +- .../sprites/{dungeon => }/humanoidrat.png | Bin .../sprites/{dungeon => }/jackalwarrior.atlas | 48 +- .../sprites/{dungeon => }/jackalwarrior.png | Bin .../sprites/{dungeon => }/jellyfish.atlas | 0 .../sprites/{dungeon => }/jellyfish.png | Bin .../sprites/{dungeon => }/kobold.atlas | 0 .../sprites/{dungeon => }/kobold.png | Bin ...emental.atlas => magmafireelemental.atlas} | 36 +- ...maelemental.png => magmafireelemental.png} | Bin .../sprites/{dungeon => }/mummy.atlas | 0 .../Shandalar/sprites/{dungeon => }/mummy.png | Bin .../sprites/{dungeon => }/octopus.atlas | 0 .../sprites/{dungeon => }/octopus.png | Bin .../sprites/{dungeon => }/ooze.atlas | 0 .../Shandalar/sprites/{dungeon => }/ooze.png | Bin .../Shandalar/sprites/{dungeon => }/owl.atlas | 0 .../Shandalar/sprites/{dungeon => }/owl.png | Bin .../sprites/{dungeon => }/plant.atlas | 0 .../Shandalar/sprites/{dungeon => }/plant.png | Bin .../sprites/{dungeon => }/raven.atlas | 0 .../Shandalar/sprites/{dungeon => }/raven.png | Bin .../Shandalar/sprites/scorpion.atlas | 59 + .../sprites/{dungeon => }/scorpion.png | Bin .../sprites/{dungeon => }/squirrel.atlas | 0 .../sprites/{dungeon => }/squirrel.png | Bin .../sprites/{dungeon => }/turtle.atlas | 0 .../sprites/{dungeon => }/turtle.png | Bin .../sprites/{dungeon => }/unused/insect.atlas | 0 .../sprites/{dungeon => }/unused/insect.png | Bin .../sprites/{dungeon => }/walkingbrain.atlas | 4 +- .../sprites/{dungeon => }/walkingbrain.png | Bin .../sprites/{dungeon => }/wildrat.atlas | 0 .../sprites/{dungeon => }/wildrat.png | Bin .../adventure/Shandalar/world/enemies.json | 5525 +++++++++-------- .../res/adventure/Shandalar/world/items.json | 10 + 117 files changed, 4968 insertions(+), 2988 deletions(-) create mode 100644 forge-gui/res/adventure/Shandalar/decks/bat.dck create mode 100644 forge-gui/res/adventure/Shandalar/decks/darkenchanter.dck create mode 100644 forge-gui/res/adventure/Shandalar/decks/sandgolem.dck create mode 100644 forge-gui/res/adventure/Shandalar/decks/sandwurm.dck create mode 100644 forge-gui/res/adventure/Shandalar/decks/swamptroll.dck create mode 100644 forge-gui/res/adventure/Shandalar/decks/witch.dck create mode 100644 forge-gui/res/adventure/Shandalar/maps/map/grolnok_f1.tmx create mode 100644 forge-gui/res/adventure/Shandalar/maps/tileset/FarmFood.png create mode 100644 forge-gui/res/adventure/Shandalar/maps/tileset/FarmFood.tsx rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => }/badger.atlas (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => }/badger.png (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => }/boar.atlas (76%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => }/boar.png (100%) create mode 100644 forge-gui/res/adventure/Shandalar/sprites/boss/frogboss.atlas create mode 100644 forge-gui/res/adventure/Shandalar/sprites/boss/frogboss.png rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => boss}/garruk.atlas (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => boss}/garruk.png (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => boss}/jace.atlas (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => boss}/jace.png (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => boss}/kiora.atlas (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => boss}/kiora.png (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => boss}/nahiri.atlas (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => boss}/nahiri.png (100%) create mode 100644 forge-gui/res/adventure/Shandalar/sprites/boss/oozeboss.atlas create mode 100644 forge-gui/res/adventure/Shandalar/sprites/boss/oozeboss.png rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => boss}/slimefoot.atlas (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => boss}/slimefoot.png (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => boss}/slobad.atlas (74%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => boss}/slobad.png (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => boss}/teferi.atlas (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => boss}/teferi.png (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => boss}/tibalt.atlas (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => boss}/tibalt.png (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => boss}/xira.atlas (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => boss}/xira.png (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => }/bull.atlas (55%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => }/bull.png (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => }/cat.atlas (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => }/cat.png (100%) create mode 100644 forge-gui/res/adventure/Shandalar/sprites/crab.atlas rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => }/crab.png (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => }/dog.atlas (71%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => }/dog.png (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => }/dragonfly.atlas (97%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => }/dragonfly.png (100%) create mode 100644 forge-gui/res/adventure/Shandalar/sprites/dungeon/bat.atlas create mode 100644 forge-gui/res/adventure/Shandalar/sprites/dungeon/bat.png delete mode 100644 forge-gui/res/adventure/Shandalar/sprites/dungeon/crab.atlas create mode 100644 forge-gui/res/adventure/Shandalar/sprites/dungeon/flyingwitch.atlas delete mode 100644 forge-gui/res/adventure/Shandalar/sprites/dungeon/frogboss.atlas delete mode 100644 forge-gui/res/adventure/Shandalar/sprites/dungeon/frogboss.png delete mode 100644 forge-gui/res/adventure/Shandalar/sprites/dungeon/oozeboss.atlas delete mode 100644 forge-gui/res/adventure/Shandalar/sprites/dungeon/oozeboss.png create mode 100644 forge-gui/res/adventure/Shandalar/sprites/dungeon/sandelemental.atlas create mode 100644 forge-gui/res/adventure/Shandalar/sprites/dungeon/sandelemental.png create mode 100644 forge-gui/res/adventure/Shandalar/sprites/dungeon/sandwurm.atlas create mode 100644 forge-gui/res/adventure/Shandalar/sprites/dungeon/sandwurm.png delete mode 100644 forge-gui/res/adventure/Shandalar/sprites/dungeon/scorpion.atlas create mode 100644 forge-gui/res/adventure/Shandalar/sprites/dungeon/swamptroll.atlas create mode 100644 forge-gui/res/adventure/Shandalar/sprites/dungeon/swamptroll.png create mode 100644 forge-gui/res/adventure/Shandalar/sprites/dungeon/witch.atlas create mode 100644 forge-gui/res/adventure/Shandalar/sprites/dungeon/witch.png rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => }/eye.atlas (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => }/eye.png (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => }/fox.atlas (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => }/fox.png (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => }/frog.atlas (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => }/frog.png (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => }/fungus.atlas (96%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => }/fungus.png (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => }/humanoidrat.atlas (98%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => }/humanoidrat.png (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => }/jackalwarrior.atlas (59%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => }/jackalwarrior.png (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => }/jellyfish.atlas (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => }/jellyfish.png (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => }/kobold.atlas (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => }/kobold.png (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon/magmaelemental.atlas => magmafireelemental.atlas} (78%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon/magmaelemental.png => magmafireelemental.png} (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => }/mummy.atlas (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => }/mummy.png (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => }/octopus.atlas (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => }/octopus.png (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => }/ooze.atlas (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => }/ooze.png (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => }/owl.atlas (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => }/owl.png (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => }/plant.atlas (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => }/plant.png (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => }/raven.atlas (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => }/raven.png (100%) create mode 100644 forge-gui/res/adventure/Shandalar/sprites/scorpion.atlas rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => }/scorpion.png (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => }/squirrel.atlas (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => }/squirrel.png (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => }/turtle.atlas (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => }/turtle.png (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => }/unused/insect.atlas (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => }/unused/insect.png (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => }/walkingbrain.atlas (97%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => }/walkingbrain.png (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => }/wildrat.atlas (100%) rename forge-gui/res/adventure/Shandalar/sprites/{dungeon => }/wildrat.png (100%) diff --git a/forge-gui/res/adventure/Shandalar/decks/bat.dck b/forge-gui/res/adventure/Shandalar/decks/bat.dck new file mode 100644 index 00000000000..7cd23ae0b79 --- /dev/null +++ b/forge-gui/res/adventure/Shandalar/decks/bat.dck @@ -0,0 +1,27 @@ +[metadata] +Name=bat +[Avatar] + +[Main] +4 Basilica Screecher|GTC|1 +4 Blight Keeper|J22|1 +4 Blighted Bat|AKH|1 +4 Bloodhunter Bat|JMP|1 +4 Dirge Bat|IKO|1 +4 Duskhunter Bat|MM2|1 +4 Murder|M13|1 +4 Sinister Strength|PLS|1 +6 Swamp|J22|1 +8 Swamp|J22|2 +10 Swamp|J22|3 +4 Unholy Strength|30A|1 +[Sideboard] + +[Planes] + +[Schemes] + +[Conspiracy] + +[Dungeon] + diff --git a/forge-gui/res/adventure/Shandalar/decks/darkenchanter.dck b/forge-gui/res/adventure/Shandalar/decks/darkenchanter.dck new file mode 100644 index 00000000000..dcddd176447 --- /dev/null +++ b/forge-gui/res/adventure/Shandalar/decks/darkenchanter.dck @@ -0,0 +1,34 @@ +[metadata] +Name=darkenchanter +[Avatar] + +[Main] +4 Bayou|OLGC|1 +4 Cartouche of Ambition|AKR|1 +4 Doomwake Giant|C15|1 +4 Eidolon of Blossoms|JOU|1 +1 Forest|ELD|1 +2 Forest|ELD|3 +1 Forest|ELD|4 +4 Gnarled Scarhide|JOU|1 +4 Grim Guardian|JOU|1 +4 Necroblossom Snarl|STX|1 +4 Oubliette|2XM|1 +4 Overgrown Tomb|SLD|1 +1 Swamp|ELD|2 +2 Swamp|ELD|4 +4 Trial of Ambition|MB1|1 +4 Verdant Catacombs|SLU|1 +3 Verduran Enchantress|SLD|1 +4 Wild Growth|AFC|1 +2 Yavimaya Enchantress|TD0|1 +[Sideboard] + +[Planes] + +[Schemes] + +[Conspiracy] + +[Dungeon] + diff --git a/forge-gui/res/adventure/Shandalar/decks/sandgolem.dck b/forge-gui/res/adventure/Shandalar/decks/sandgolem.dck new file mode 100644 index 00000000000..34f7ea579aa --- /dev/null +++ b/forge-gui/res/adventure/Shandalar/decks/sandgolem.dck @@ -0,0 +1,32 @@ +[metadata] +Name=sandgolem +[Avatar] + +[Main] +4 Char-Rumbler|TSR|1 +4 Choking Sands|VMA|1 +4 Mountain|KLD|1 +3 Mountain|KLD|2 +5 Mountain|KLD|3 +5 Plains|KLD|1 +5 Plains|KLD|2 +2 Plains|KLD|3 +3 Sand Golem|MIR|1 +4 Sand Strangler|AKR|1 +4 Sandblast|HOU|1 +1 Sandstone Oracle|IMA|1 +2 Sandstone Warrior|TPR|1 +2 Shock|DDN|1 +4 Tectonic Giant|AFC|1 +4 Thunder Spirit|PRM|1 +4 Viashino Sandstalker|VIS|1 +[Sideboard] + +[Planes] + +[Schemes] + +[Conspiracy] + +[Dungeon] + diff --git a/forge-gui/res/adventure/Shandalar/decks/sandwurm.dck b/forge-gui/res/adventure/Shandalar/decks/sandwurm.dck new file mode 100644 index 00000000000..735f526f7bd --- /dev/null +++ b/forge-gui/res/adventure/Shandalar/decks/sandwurm.dck @@ -0,0 +1,27 @@ +[metadata] +Name=sandwurm +[Avatar] + +[Main] +4 Beneath the Sands|MB1|1 +4 Dirtcowl Wurm|TMP|1 +7 Forest|IKO|1 +8 Forest|IKO|2 +9 Forest|IKO|3 +4 Greater Sandwurm|IKO|1 +4 Rampant Growth|NCC|1 +4 Roar of the Wurm|DDS|1 +4 Sandwurm Convergence|CLB|1 +4 Spined Wurm|S00|1 +4 Symbiotic Wurm|VMA|1 +4 Teething Wurmlet|BRO|1 +[Sideboard] + +[Planes] + +[Schemes] + +[Conspiracy] + +[Dungeon] + diff --git a/forge-gui/res/adventure/Shandalar/decks/swamptroll.dck b/forge-gui/res/adventure/Shandalar/decks/swamptroll.dck new file mode 100644 index 00000000000..32e557a3781 --- /dev/null +++ b/forge-gui/res/adventure/Shandalar/decks/swamptroll.dck @@ -0,0 +1,40 @@ +[metadata] +Name=swamptroll +[Avatar] + +[Main] +4 Charnel Troll|GRN|1 +4 Clackbridge Troll|ELD|1 +4 Eat to Extinction|THB|1 +2 Feasting Troll King|ELD|1 +1 Forest|ELD|1 +1 Forest|ELD|2 +3 Forest|ELD|4 +4 Gluttonous Troll|ELD|1 +2 Grismold, the Dreadsower|C19|1 +1 Gyome, Master Chef|C21|1 +4 Haunted Mire|DMU|1 +2 Hunted Troll|RAV|1 +3 Infernal Grasp|MID|1 +4 Jungle Hollow|KTK|1 +1 Nature's Claim|IMA|1 +2 Old-Growth Troll|KHM|1 +3 Swamp|ELD|1 +1 Swamp|ELD|2 +2 Swamp|ELD|3 +1 Swamp|ELD|4 +4 Tainted Wood|C15|1 +2 Taste of Death|ELD|1 +2 Thrun, Breaker of Silence|ONE|1 +1 Thrun, the Last Troll|MBS|1 +2 Varolz, the Scar-Striped|DGM|1 +[Sideboard] + +[Planes] + +[Schemes] + +[Conspiracy] + +[Dungeon] + diff --git a/forge-gui/res/adventure/Shandalar/decks/witch.dck b/forge-gui/res/adventure/Shandalar/decks/witch.dck new file mode 100644 index 00000000000..8747189507f --- /dev/null +++ b/forge-gui/res/adventure/Shandalar/decks/witch.dck @@ -0,0 +1,31 @@ +[metadata] +Name=witch +[Avatar] + +[Main] +2 Accursed Witch|SOI|1 +2 Cast Down|DOM|1 +4 Cuombajj Witches|CMR|1 +4 Curse of Leeches|MID|1 +4 Cursebound Witch|YMID|1 +1 Cut Down|DMU|1 +4 Kindly Stranger|SOI|1 +4 Sedgemoor Witch|STX|1 +20 Swamp|ELD|2 +1 Tempting Witch|JMP|1 +2 The Cauldron of Eternity|ELD|1 +2 The Hourglass Coven|HBG|1 +2 Veinwitch Coven|C21|1 +2 Witch of the Moors|JMP|1 +4 Witch's Cottage|ELD|1 +2 Witch's Vengeance|ELD|1 +[Sideboard] + +[Planes] + +[Schemes] + +[Conspiracy] + +[Dungeon] + diff --git a/forge-gui/res/adventure/Shandalar/maps/map/factory_2.tmx b/forge-gui/res/adventure/Shandalar/maps/map/factory_2.tmx index 82b1839f3c4..51b7f46c3ed 100644 --- a/forge-gui/res/adventure/Shandalar/maps/map/factory_2.tmx +++ b/forge-gui/res/adventure/Shandalar/maps/map/factory_2.tmx @@ -71,7 +71,6 @@ -

diff --git a/forge-gui/res/adventure/Shandalar/maps/map/grolnok.tmx b/forge-gui/res/adventure/Shandalar/maps/map/grolnok.tmx index dfa008f4639..69158c0e86c 100644 --- a/forge-gui/res/adventure/Shandalar/maps/map/grolnok.tmx +++ b/forge-gui/res/adventure/Shandalar/maps/map/grolnok.tmx @@ -1,81 +1,72 @@ - + - + + - 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 - + - - - - { "startBattleWithCardInCommandZone": [ "Grolnok's Boss Effect"] -} - - - - - - - + + + - + - + - + - - + - + - + [ { @@ -100,8 +91,8 @@ - - + + [{ "type": "randomCard", @@ -117,46 +108,348 @@ - - - - - - - - - - - + + + + + + + + + + + - + - + - + - - - - - - + + + + + + - - - - - + + + + + + + + [ + { + "editions": [ "DMR" ], + "type": "card", + "count": 10, + "rarity": [ "Common" ] + }, + { + "editions": [ "DMR" ], + "type": "card", + "count": 3, + "rarity": [ "Uncommon" ] + }, + { + "editions": [ "DMR" ], + "type": "card", + "count": 1, + "rarity": [ "Rare", "Mythic Rare" ] + } +] + + + + + + + + + + + + + + [ + { + "editions": [ "DMR" ], + "type": "card", + "count": 10, + "rarity": [ "Common" ] + }, + { + "editions": [ "DMR" ], + "type": "card", + "count": 3, + "rarity": [ "Uncommon" ] + }, + { + "editions": [ "DMR" ], + "type": "card", + "count": 1, + "rarity": [ "Rare", "Mythic Rare" ] + } +] + + + + + + [ + { + "editions": [ "DMR" ], + "type": "card", + "count": 10, + "rarity": [ "Common" ] + }, + { + "editions": [ "DMR" ], + "type": "card", + "count": 3, + "rarity": [ "Uncommon" ] + }, + { + "editions": [ "DMR" ], + "type": "card", + "count": 1, + "rarity": [ "Rare", "Mythic Rare" ] + } +] + + + + + + + + + + + + + + + + + [{ + "type": "randomCard", + "count": 1, + "rarity": [ "rare", "mythic rare" ], + "colors": [ "colorID" ] +},{ + "type": "randomCard", + "count": 4, + "rarity": [ "uncommon" ], + "addMaxCount": 2 +}] + + + + + + { "startBattleWithCard": [ "Asceticism","Grismold, the Dreadsower"] +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [ + { + "editions": [ "DMR" ], + "type": "card", + "count": 10, + "rarity": [ "Common" ] + }, + { + "editions": [ "DMR" ], + "type": "card", + "count": 3, + "rarity": [ "Uncommon" ] + }, + { + "editions": [ "DMR" ], + "type": "card", + "count": 1, + "rarity": [ "Rare", "Mythic Rare" ] + } +] + + + + + + { "startBattleWithCard": [ "Enchantress's Presence"] +} + + [ + { + "type": "item", + "probability": 1, + "count": 1, + "itemName": "Rusty Old Key" + } +] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [ + { + "editions": [ "DMR" ], + "type": "card", + "count": 10, + "rarity": [ "Common" ] + }, + { + "editions": [ "DMR" ], + "type": "card", + "count": 3, + "rarity": [ "Uncommon" ] + }, + { + "editions": [ "DMR" ], + "type": "card", + "count": 3, + "rarity": [ "Rare", "Mythic Rare" ] + } +] + + + + diff --git a/forge-gui/res/adventure/Shandalar/maps/map/grolnok_f1.tmx b/forge-gui/res/adventure/Shandalar/maps/map/grolnok_f1.tmx new file mode 100644 index 00000000000..351509c232d --- /dev/null +++ b/forge-gui/res/adventure/Shandalar/maps/map/grolnok_f1.tmx @@ -0,0 +1,156 @@ + + + + + + + + + + eJxjYEAAN04EJgeQqg/ZPhM+0jCyXmIxue6kBIzaS397QeljIOwdSuFMrv7B4F96AmrZ+4ECe4dSuqK2G0gBHxgGLpznkVH3UcNeUgHMLkrqeWrYC8PzOFHl0QGx4cooysDABMW46n1sZuOzFxdG9xc57SZCbZhpBNoy6PqJBejpDpd+XHLk+pdYe4nRTwogNZ9h8y817QXFm6YEgg2Tp4e92Nj42snk2kusemqUQfjSKDY+tco9XOUZsX0QagJq2gsAMiw9tA== + + + + + eJzF10sOgjAQBuBGF9U1j7jRHcdQ48ZbqAuPpRGNh3DrisTbeAN1AhOGUfuihUn+iND2K5WEKkSzBon/2FYR+UnXXijXtJ9P17SvTYVYQxu3bRsXt4/qw92MhJhJIe6a8NJd11Um7W2TeZm4pvZTlPHpor1V+KFc7vNQdyrr8y71y/0XdMHaOXoubiab/bp093E/rm4dfPmmc7Ot9Vjv4nXVPC+W+xtwIa+43h/RY8yVfedtho5untTHh6R8fvB9Qe8dzp+q9vCJ70fX+4VxzlVyhQvnwFul3y6Ohb+dqXublKEuBF1wMHi/aPt0qcPTpYtrDDmy52yZursw7iNqjk9DC58jarVxC4VL93a+3PlnnRYsqv9AfF1d3dB93wGw61A= + + + + + + + + eJzdlsFKw0AQhkdL2fbiRVtzU7AWvPcqHvQg+AxaxKM+hs/gRan0QawW8UEU9FrfQHcZhozTTTLdDlH84YMJu803u9mSDNYABr/ESgdgtSYandx77+vzjTQ04fPHid6i+5X1ofHetJEtB3DctGHb6b3vfv6TW44ZINN/4D3042ctpC5vcE5cPvfB10eR+aneokyZk3h0OGbhnRV4X/3YVQPgE5BLX7+xPsPvPpp6L++/zEtrJi+t1dIr0Xo5KftMyDMjvbHnSmtexBvOKP1PYgxbufe0ZF5govQumpf1+fMtqfKmJHhDRu2cOryxkF++r7h3vxt/P1uF3/egW/4NMjb0hlR981DumPcrYf9Hom+tV2a3h1ywHkJ90keqkup97iHSq02qN8Vl6d3L5uvrTTvvbcF53sl+1tr1L7tenuAkLL1y//oZIq+tvZb5K95vDh8hYA== + + + + + + [{ + "type": "randomCard", + "count": 1, + "rarity": [ "rare", "mythic rare" ], + "colors": [ "colorID" ] +},{ + "type": "randomCard", + "count": 4, + "rarity": [ "uncommon" ], + "addMaxCount": 2 +}] + + + + + + + [ + { + "editions": [ "HBG" ], + "type": "card", + "count": 10, + "rarity": [ "Common" ] + }, + { + "editions": [ "HBG" ], + "type": "card", + "count": 3, + "rarity": [ "Uncommon" ] + }, + { + "editions": [ "HBG" ], + "type": "card", + "count": 3, + "rarity": [ "Rare", "Mythic Rare" ] + } +] + + + + + + [{ + "text":"This door is locked", + "options":[ + { "name":"go away" }, + { + "name":"unlock with Grolnoks Key", + "condition":[{"item":"Grolnoks Key"}], + "text":"The gate is unlocked", + "options":[{"name":"continue", "action":[ {"deleteMapObject":-1},{"removeItem":"Grolnoks Key"}]} ] + } + ] +}] + + + + + + + + + + + [ + { + "editions": [ "AFR" ], + "type": "card", + "count": 10, + "rarity": [ "Common" ] + }, + { + "editions": [ "AFR" ], + "type": "card", + "count": 3, + "rarity": [ "Uncommon" ] + }, + { + "editions": [ "AFR" ], + "type": "card", + "count": 3, + "rarity": [ "Rare", "Mythic Rare" ] + } +] + + + + + + + + + + + + { "startBattleWithCardInCommandZone": [ "Grolnok's Boss Effect"] +} + + [ + { + "type": "item", + "probability": 1, + "count": 1, + "itemName": "Grolnoks Key" + } +] + + + + + + + [{ + "text":"This door is locked", + "options":[ + { "name":"go away" }, + { + "name":"unlock with Rusty Old Key", + "condition":[{"item":"Rusty Old Key"}], + "text":"The gate is unlocked", + "options":[{"name":"continue", "action":[ {"deleteMapObject":-1},{"removeItem":"Rusty Old Key"}]} ] + } + ] +}] + + + + diff --git a/forge-gui/res/adventure/Shandalar/maps/map/magetower_3.tmx b/forge-gui/res/adventure/Shandalar/maps/map/magetower_3.tmx index 78423628f8c..5965e793335 100644 --- a/forge-gui/res/adventure/Shandalar/maps/map/magetower_3.tmx +++ b/forge-gui/res/adventure/Shandalar/maps/map/magetower_3.tmx @@ -47,7 +47,7 @@ - + @@ -79,7 +79,7 @@ - + diff --git a/forge-gui/res/adventure/Shandalar/maps/map/nest_blue_1.tmx b/forge-gui/res/adventure/Shandalar/maps/map/nest_blue_1.tmx index 7ed776794ed..1dad4f7bf1e 100644 --- a/forge-gui/res/adventure/Shandalar/maps/map/nest_blue_1.tmx +++ b/forge-gui/res/adventure/Shandalar/maps/map/nest_blue_1.tmx @@ -1,5 +1,5 @@ - + @@ -12,12 +12,12 @@ - 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 @@ -25,36 +25,121 @@ - eJxjYBgFo2AUjIJRMFJAOe9Au4A4UI7MRnJzKZBdPYT8AMPo4uggj4v27iEXgNwbqMXAEKSF6qdyJPmhAnKBfsjTQhVDj6PB6J8yaJrPJZBOhkLc4Evr2PL2YPQDCJQQWQ7B8g5I/RpO2rqJEtDCiEqjA1jeWQv0wzogVhGkn9toAbyB6fAg0A8bgX5ZP4jjhRCA+cMfSCcIDbRryAOgci0O6PZ4IH49iOvC4Qbuo+HhDv4wD7QLiAMLCbhzsPkDV7vEngW3nsHkB3x1uQcBvYPFH9jaVVewhH8p1K+DsS1SihQPZUjss+z0cwMAagwq4A== + eJxjYBgY0MKHiQfafmrj4eAHeviFFPtIdRM9/UIv82npl4FMv7Qym16AFnbSwsxyXtLsphYg1bxyZDaSm0uB7Goi/YBuNzX8Q4o55UgYXRwd5HGRZj+lfiHVH4FaDAxBWqh+KkeSJ9d+evoDBHKBfsjTQhVDjyNS/EMvf5RB03wugXRCTtzQO3/gS+vY8ja9/YBsHj5QQmQ5BMs7IPVrOImzl57+gKtlRKXRASzvrAX6YR0QqwhSx16i3EaD+twbmA4PAv2wEeiX9TjiZSj5wx9IJwjRx15q9x9A5Voc0O3xQPwaT/kwmPxBbl6ldfuUFH/cx6KeVLMHGyAlTgerHxYyI9hDwf3I7ZKz7Ai2PQtuPX+YccvRG6DX5QZAP+RxQNgeBPQOFn9ga1chxwUMlEL9SqgtMhCgFCkeypDY2PxBKwAAKZqgGA== - + - + + + - + + - + + + + + + + [ + { + "editions": [ "EXO" ], + "type": "card", + "count": 10, + "rarity": [ "Common" ] + }, + { + "editions": [ "EXO" ], + "type": "card", + "count": 3, + "rarity": [ "Uncommon" ] + }, + { + "editions": [ "EXO" ], + "type": "card", + "count": 3, + "rarity": [ "Rare", "Mythic Rare" ] + } +] + + + + + + [ + { + "editions": [ "STH" ], + "type": "card", + "count": 10, + "rarity": [ "Common" ] + }, + { + "editions": [ "STH" ], + "type": "card", + "count": 3, + "rarity": [ "Uncommon" ] + }, + { + "editions": [ "STH" ], + "type": "card", + "count": 3, + "rarity": [ "Rare", "Mythic Rare" ] + } +] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/forge-gui/res/adventure/Shandalar/maps/map/nest_white_1.tmx b/forge-gui/res/adventure/Shandalar/maps/map/nest_white_1.tmx index 1ccd934b2f0..5280a26ed2f 100644 --- a/forge-gui/res/adventure/Shandalar/maps/map/nest_white_1.tmx +++ b/forge-gui/res/adventure/Shandalar/maps/map/nest_white_1.tmx @@ -1,23 +1,18 @@ - + - - - - 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 @@ -25,33 +20,272 @@ - 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 - + - + - - - + + + + - + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [ + { + "editions": [ "PCY" ], + "type": "card", + "count": 10, + "rarity": [ "Common" ] + }, + { + "editions": [ "PCY" ], + "type": "card", + "count": 3, + "rarity": [ "Uncommon" ] + }, + { + "editions": [ "PCY" ], + "type": "card", + "count": 3, + "rarity": [ "Rare", "Mythic Rare" ] + } +] + + + + + + + [ + { + "editions": [ "NEM" ], + "type": "card", + "count": 10, + "rarity": [ "Common" ] + }, + { + "editions": [ "NEM" ], + "type": "card", + "count": 3, + "rarity": [ "Uncommon" ] + }, + { + "editions": [ "NEM" ], + "type": "card", + "count": 3, + "rarity": [ "Rare", "Mythic Rare" ] + } +] + + + + + + [ + { + "editions": [ "TMP" ], + "type": "card", + "count": 10, + "rarity": [ "Common" ] + }, + { + "editions": [ "TMP" ], + "type": "card", + "count": 3, + "rarity": [ "Uncommon" ] + }, + { + "editions": [ "TMP" ], + "type": "card", + "count": 3, + "rarity": [ "Rare", "Mythic Rare" ] + } +] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/forge-gui/res/adventure/Shandalar/maps/map/tibalt.tmx b/forge-gui/res/adventure/Shandalar/maps/map/tibalt.tmx index e18e888600c..e777540ecbd 100644 --- a/forge-gui/res/adventure/Shandalar/maps/map/tibalt.tmx +++ b/forge-gui/res/adventure/Shandalar/maps/map/tibalt.tmx @@ -42,7 +42,7 @@ - + @@ -73,7 +73,7 @@ - + @@ -95,7 +95,7 @@ - + diff --git a/forge-gui/res/adventure/Shandalar/maps/tileset/FarmFood.png b/forge-gui/res/adventure/Shandalar/maps/tileset/FarmFood.png new file mode 100644 index 0000000000000000000000000000000000000000..1f34311f08b639d3c2c6522871529cd600e2cf73 GIT binary patch literal 165053 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
  • 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

    H)%T$VfvQvPj)UR+)^;}HU_c^P^E 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

    CoNTWG1Pf@W+B=6sB=GX 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 um*19q!}Yu!`J*#ywxj`3t`MVF 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 literal 0 HcmV?d00001 diff --git a/forge-gui/res/adventure/Shandalar/maps/tileset/FarmFood.tsx b/forge-gui/res/adventure/Shandalar/maps/tileset/FarmFood.tsx new file mode 100644 index 00000000000..5d031ae6f19 --- /dev/null +++ b/forge-gui/res/adventure/Shandalar/maps/tileset/FarmFood.tsx @@ -0,0 +1,4 @@ + + + + diff --git a/forge-gui/res/adventure/Shandalar/maps/tileset/main.png b/forge-gui/res/adventure/Shandalar/maps/tileset/main.png index fa2349a1c16bde1b9f7afedb0db0c36e39d85bcc..fa352916459fcc35ec43fe269ba4941eeb132ae9 100644 GIT binary patch delta 64811 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 I-~7%014T1182|tP delta 61574 zcmZ^KV{j&6)9w@7wr$(i#{>iuYX{-I7z(+-g`a|zX5N%B-mXCi3+D4^Z3s!34;DNN(myL6PL;{&#$+ymqWaP zzzd5Aitoo`_HE(srMp{{t`Gkv5s}Y;{@fbw=jyjPg!}hblvCqR)3;9lyAPlR=Ov)9 zh{3g+uZM**(3tjlN@V#G;ZN>rw8!1UR7>r})Y9hRC!@qt)%Ebp?cB}lR?oW-kJcsT z22I

    KFc{D&KuT#veJiW55Edm=bJyY>2K>JHZ}Jv4gmD`UY3?VpKeX|MP&B%UjX03HK6Afcz@0@`rMo8sq7By z@p^f^_}-D(RzH9L`0HbB=aDEuzw_HhI}CHx(9mVSLgVGqmNrcVPnq*he2npGIN!E! z`uTFB_2X;%SGTCYPFF)b7prrR136hJn{wCVFP2jTNrGhZU1v9#pbJG0$0_R~~N&u2+1 zHMvgX7=2P-e|2t#&fo_O+$_$~ZwLfqz;1fwIRGp@vW3|omWo_-o)N18`-dNgIhg=h zmO*>TSq!WWU0|#16hNnGCP8(*C|LaWQH5nP0YU`kPo$(A7nhkt6N)AttRPpSDc9=i`Ic@zggDlWJA;gCwvSq+l|{D6!A z%?Tb1?mSxeEWLrjHCmUj*O-1%3VZM@lUy3|mWyTT<2Un@vLsg9XHDz3^iL|skDfRK zm7|aGk$1nf4?ulB-o^$%do2@ZvQyO9Wa7%byUTw5IxNFCm|fv)hPh*O&DitmLlUSk zYMb;?Vv%mY<6voeM@;<=ExaB^nu+e`sR zCA?Qn!&kgYrhA$CqWT?zHJ|pSM{KJcVnOsQ-5=R)D*)8i+m`}8o~BN$_)a_DrmQM) z(H~Rm4m7uj?vq+HR1<1L&dB4u5&IqW+T{9t=+ru4P=1F;H)Dox zUnVCyePK;#{?aHI#@4!EwM@L~gt*QMVWMW_L=Lr=P$2~TF(B>zp>QJ2`{+Pq=39AB z9dKJ}A1_{wt~wG+MeUd^y4JC}^$jKC#g+GzNDJU{Ns{dB9^F|u72Xhzj2$b`q-Wc3 zTZ(_9Rta0y3S_lvTIq1Hp2yd5Frcqd`pYQlrZV`=moCaWQQU)HVf^t;I03dUz7zkF z=W#oU(ZQB@q+-^oVc2fbbDUTkr*l+4J+!~5ReBps=C8FHX2(xOXIj|}<5+3py0z^; zZ==A7Ojewn^FhoWVvV6uA z5|1OM-|>1qdFp6S-KWpb^ezl5K@3EFggIIdij0Yc0i_ya49&JhFK)S^_=aSmX=s22 zsJ_y@Hg#AVOwu>cQQ-_j2Ft8NdYekJ05MO zTc(E`%EWG>>XjP=u-METziR1rRp9}?iI)~=YK+`MJ)iO5P8wB+J~gC@!+IPj*u}pA z0in=aY(dR8u>K7r7q7AvUnE9*j2Hs=!mg zQdQup8XmzV`UWKA=x0d3jYfl0Q_`vQLb*F2{F(KJK&SM2$|}7W|5|Nua+>$1g{_8=AI9!`PjQjv~ec%C6)#gA!m@hwQT2$9kYqe%+SYH(=w$y@( zo_c@2QKZ|F@C?QrGDqq&nAs#dvXAXuH3(~U4p~uN<7HTk%*`ZEupno(y;iUb_C!8w zLXt3oq1uZ2-k1B{?@P+i{TqJJ9%>s_!BFJb`$Wg2V!MdBP%QeSzFEqAxNcKoz>Po{R|LCOVf~fb z(wVSt+7jR65c3@Qr1xG!Ond50PWjm=05|{B;-{Bl`pKhEst6qDD=x60$AUuofm{lX zv4zD9C0lZYR10l?CYWBVDXA)s9Ha%?(P^4|6|M8rW4jCn9=$mByg2fptLk^k@0djW zp#$Voe}!nHWL}}DenbB+d)HxoV%xFgR5R>4jjJADE{7}AB`KnpOWYoT3^u)H$Y zQrVKOKh_W?~~PTE9!Z(*MotCc;mwp25Z`Wf*8cL-|1kPjaZ z!$JD<%Vslxei-_!fQkVb>|Bi`9|`D5F3iW0f9!=D!ykaJESq$K zuRYC5nC4-GH|5NHTaCN{k=)0dW-kw%lMtPqcwiy=k7P;Cvo_<} znWY*8Ex3R2o1Pvf`@)vFJ0|#YYJ4LE7xPM@r$pyYKxeJ9gdu~XJaxn~!v$344tk%% zMo^fcpgu4tpt_j%Vk*RH9S^sIasua_?>%gRg`%hljXVu1V@zTuL~(@@G}*4Wkw*A> zA(D-hqA{;8b+yCWmjPqWWM{ui>_SCx!q8bWpByywNZ~^(WrM5j$y4CG)Hsu(L0u0! z!wj*7)(Nc%w_D^OEyW*;o$9b^FB%_ z4V8~5{F5;AXPF>^K@cJF;Kk0n{p&`t=;d%Jr>y#qA(P?L>$@ExR^^+wZ3aoT#6mtQ zQUJsapGaqqEZ!J2A?0lnF9^d2{s4L4Mi|;DWM~A`H;CF~KLri55 zaVR?BlNu`H6fW%zDxSTc(8OFyP;ticwo>ql35~-DO*lyJNm2t;S$Y=+tLz&maCbFC?PMAP^U++3zVcV zInw^NB!+zgA{5Px?=&XxknxT{?VaBb#lTz#X{-TuhGSa&l>_zSWxsxEx-NhpDhVbDXPLI!Bii<6 z1?AbM<|AJ!k*!J=lJzEwedO6W1E@?LeI@>pG#Dfqde}?jVa1*f?UoC7kV))eYNIMc zQWbX;5a9QyCSxu*NA5PG@qgfN zh%Sw<4@iXJK)F%zUY*vW+4!bY?9Z2^=G#YlU-*&OAmm3>E8uvAkvObTDuC4^dgMaO z?o5&}vJ9D^iU--jHtq=q^<3+4;xWOj(Z1Y8snXjJ|AtD7nd7rC1T=Z@W@W)2vTG-c zG}55d2TDdjqTs`zkPv?f4WgSPa_OwrvKqu6u$`uwh_IkBlve!{jX=0`O6QSzark;k zWGn~O6uHT8xd|%y*ehyO=BD`TqV_x^cAQ2C>FW#`Gv6&o<`{TK^~{s6)OUTVER*w9 zQK;NIZ$lQf%*$fmfxaEx4y@-34`%mFZg@;M(QtOv|&~U#MQoh?wJ(J08kb0d3TeBS?0Af)F&x8EWL_ zGkF}Ord#T?=U|Ob0 zEF%Yt>VsKS0WN7_amzyM^-Pc6Mv}Yha!jh{Hj%10mln){aEGF&?NXLNR)X;i=|+y<`k+KI_IRSjMP+9jmZisuP;q04HggL zJz|I@R~&Sa!X;Uw^4QR;4Dp8ZWGz>xnni+XB~9}Vm=9Qcaz`-a`I+MzQ@ZbS}N70M@Gqm+0ZcJ zIt>D=H>Mov!X;><{a%2ZUi3;2D(v^du#B`Ruy@Bay_w>5-y8fCxcIkW9W?%U?9j- zu?RyCSBD-o6v8f>5q7<6IM$CMJ5cadmxegzjmia%N4EMaxXDR<^8ACfW8?7em9O`l zGX=f3$X9TKal=c@t!Lrm{3c|d4E6lAT^fcB6bRnhZ%-3|Kd;2Eerqs7BZGF&p!yK%& z%stse=EI3+8#e(e?kX^ypLx%kQ$ctl@PWVgeSx$N#v7a68L%pofQ=ztT@aNBJcvaW zSKfY`F%sn*oLhMP{W(>03alhepyR$%&pnhhEZdAk^k>|B9+ZT85^a&AUdKf(?OKUe zUXsv>z>)%gx-2_>G~>0hJM@l9tZz-l1YrmwWelL?kQGwnWma7UuDH(Qs!Np??f3ZWb&>_?e%-3%~IjdHc`L>_}+0e&JCr4y4MW!ju) zXlllP3ts)BPk`59PvB-IHNUiwI!Wb)YF&!dTC6mHLL!fy5htRF?0){oix1M^K{ZCb z3hN`cH@SJK=iRazDJ=J?ZwKX8gF6v=)0BhhJ5DGY`HrJ{msKl;heeaeFGHY!4oVc3 z?sur0o4Uk@tuSqwGVq7~x<#!ruw%n!q!d~DuUL5TleAhv@C#3Se%D~xY-JE+JV9Y{ zpKOxGkBz3Aam*xU_&J;!4G}xh$8jaWCS_vX1OfXMj1vm2MDUm7ChZ2PbND^HV=D3h z?`A7ItQ+w}8TMI7A6Y4QcHh6#OYsJA?dl!{w29`7R6Do@Xh5fQltsCtv4j(UE$T?L zI90k+MMXVxM0=Jz-U__&3;=3Lf$n^ZIybe_^Fv)OfB^e58dg2Rten6S0Vp zk4XC9Lg>FXyz>_+cS&XQj*CGZ^)HE-DWt>^ucohx?>bT3XyS1?3Jtl2EX6zo|xU&SPJu}X}X%sq7!dPbZgD!y9r6iLH9 zBIN#qbfJ*=qJ$tMHjx9`7%(y^4Xl};S%X{EjhCN&1?C{fD~l{!u=X+}9sHcBFI}Rh6=>KQjmGRyK~hkd zoFC)7^2>aA^Gk-7WFkMf0S1oKA6L|Oi0xX}_@@2=+h16i6i(?${MqiI$Au5Z+}wz< zZ@x6rrRJi@LUC;CoO19Xck@-d;o7UXqvg%oi*MMIIA!ny=&!FzATbiHHoR7p3!sG7 zDIBf(mk{YF+PKBv22}gxMOhDxDEvR-4|2y1jQBbNI9k&q{lqI&aJ`QQalf;oc4B!= zmjuPrXZj=5D>PslqU%daeC^&`_9!owss4i zk}gg+*!#k7E{cFinn&p8U-wkrd4PNmfqWUw2&O*wl)tR6S;X!e_X`Fp=r#1Vl}}@E z{75QkN~Ogh&h#;8KWC-O9`7@6ee~NSR59IG4Ltem5U6;hlHxb;A(O|&#><}EOa!0s zj{HTHOs5KzG4+O`e7%XhX8ylf8kKSKrZdsMeqO1AL{@%Tv-g2P_sCjRx&bOJ6&~d; zdVF=ErW$1J^Qy3Rgp%ZrH(Z$DJIGtwQtlIkNqD@lo12o#Hg-EW>djaV#AYNaqbE$) zgY*4H_hJ=DFksL@i6(f`(-$PfyI<9 zTZ_Og^!kF~T@xfFqB{&k7l5C0QsNr{T+tR;J94-(zo80TX-WlSk*Bn-#n<}0u=$Y= z=|S5adKlaXySF;di9SpEyVNY0N36P+)T$RT!_ddF@oHPn{OfWx^L6>zS|WxI@JxsX zgE;P>?~rZO_joFCW8H6!eaI_2{yiUohN-j~+MGEMRSy1$oqyGXGy(3~(T27%rjA2W zCU(#R!zOiv#el@TRXI|h-vR>O7KKB|j2Nxjp5=D@^!F7yaqW;?8nJbR?~{6N=gH#u zDBp0~Q@OopxvTJz`b|u7h|`LL@xvA&*SWk-VA_o?2?B6eh(wH)o9e4$=6%s%U+p8w9j+-(#!<_FJsrE(X`^2 zCL^&zwyJ1T)Wzd)zHb+!_H2Em_S%1cDsOuU{$&i#1@|s~YaV!B>AJMTJWNhQFiOp|y_xF`G><3SYzkW)4@N7zsvTX<#q$T-H%`KwAJ0T5QFDFE}RKl?@-T zQQqs{H0b5fX#S-u@>NU*N!{o;m3#Ehk?}TB$T#H8QdM`XOPER171;TiMPIe7yvF%X z*xH{D>iJG~P)Y!WWu;aDK4h`^-|H~aMl|nE+N7!)GvPg)p!>=RcQ{+s2e99xQKp;H zxer+lUTY@9oGi?+28<>s=}cd^sF^)6Jx3{R4Q9PpuEL}eef+=!e}%R;%(#rx=@ZxG`2euWB2I{`%e1?&hm~xQA!oW^k1tqXu2OcgoIZuE zg#P=Zs_IIV4Kw6oDUHqwI3dJoGPm496>}$ZUj8F+;Nk(Ad*cpcsf^>_E5Y@BGaQiT zx?k@ejq(loLCwGkh5;w*-X9^R=7cv8g1T{e%4bXQnq*xlbG|N`g%7S{_Z7@-)vtHN zyd8XIqCRQc7$c}=Atf`V2YOU)IP@8oDz zVeShMV-p=#G~KJ>p*r(=MZ_j4xTWPr14YU>XBGcYuY1v0`)JQOEvr#TNy&;5^Nz*rXm+65MJ5$0v=ly2C+=d=xd!cfB`u| z7`qtnQnCi;a(-s6Xix6y7h40@^*z7f6=!~RVrM%=j3uAw<}Ec4BAN*`5C$8pSOT~z&RP=H2(?U_Z z`%dX^(YeY4tnJN&vuAwZ8vRyyWtfxAEqG~xsTh&S`Xn%>%=Rz!d9Zxhijr9X6%xfC ze>7J0#W-s@pDgL``TBFxq{V*od7?>$-q%^dG!9gxTa&XO@KTlu1e6>lYQ%Sv8?bp1ZmN^S)miLH^!p*^mw0mBZ`lhaH<&vfk(8&Bg+ zCrx3Wyr&R;#gqc`!yq|zQ1o3e-J&@U$x9X`FM!`n^S2Uzn)(*+SARR`)o#AmU&n44 zYN^N-1_FpT1@Q%_-)p&U3d{(pgX3*O;}%G#kI5`z6&>f?g?9+wtG??-iS>iA$+y}( zVGi}qmo7EqG=u%P zZ4mRPovCJq(-pTA1tJfp+U*j)G}LA}saCL!6QT!~7hFO1^NH=EWRoc$BW1?g?os-9w{Z`BY* zBYnmj*;Zl$C?+Mt1=69lV5%Xc;z!LjjH-F~chkwX(U3v{joLX2g+oX3>ndCnc~$d} z+5C<$T6|lC4U=$yf?PiW+GH}l+!Mzu-u+^}c%H(^mt7qbz9W*L`H%Cs)`K8a56b3n zj*$R|nlkOYP_p@0y(B5`_67CH7Cbp&goCdF76Sv`yY`Vz!(QK2Tl z!pQ!oiK&~?O9iwNC%_7DoI{+Ig}T>`foo~tD^yL8AT7w%%J24)n{dveT!ifmvlCf& zy;|FG+X(;`cs4I{`!Yg*p@Hd${0|NSe0zSEp2Hn2_%IicUsrv`R^z5Dv*Kj zkOO7;Uu(jwlUaJMC@Yl!hPs4~D#}=wk45}Qhp>cz0-+%m~j7!=d z3Kq^EG4VL~&Kea_A)N0f!cT(FHQzfBco9JWJX=|Zk;+Z{zWp=8{gsTRjmkbtMEL~e zEH6rP^r}V`@lSX4M~d&bz5hGD1tvrFdI9)-{fe#t?;BIOxy0ZeGE^hTTT+RT!pCTd zPJYpF7Pe2S%I@&h&OvEywP1x6ABLJir~XX|_U>C-j3m+^=SoFV@nb+iERz zJtRo|@XH9no<2vs$;uQe*hKd(;pq^8f1;DODKgzzQtK);&(N5Su5cO z@EzY{n%cuOwml7(OpYy}K8$+qXIhcsNCI4D2x=!Sx^9;lV_5tX%mz*ZbgpFKufRW zS*X@7u`toNvOgAr25-XbWM)>!LgSPPptZ>^SXhgGUYv2O#wRFXu4uV~}u`rP-%o;mhai><{&4_{>e&{g5zN#PD zvGbPta6>@9jBoi?9=fXfUCV=rj3*MxFig@WboNp2u)U3a5RCGr%uj4`0BoW zeb|rEo`tXk7lp`Yldf{edTRWrAo)fyGY~4VKx;ZfO394aorgVYFcTc^B^#szQuw-t zV-y;bDeGj4e-`z1zbhSB$LIR(okcjXazx}E>pQ)j6ntf)x(aiYk`_b(l3J~uugO*v3rE`pieNFPEZUn9n3v2nL0 zAz3-KQD%qu?9iTTs0iZ+Qob%cFSh+|=;=e^f_DOYO7X@S#hF-O8~75DuP&`SXUYq! z2;J|tGtZV%Dg?=#r7h$DY=6G+n-Q%U^7Ej3>=?Ucv)>3&_Gz&lz1%rD7z^3gF|43R z&Ls&Ys{Hs7$;vJ*v6nXX_GeG+h-_Tl4s>rndq}Xx!t=AD4P(XxeH5-hO`~LnIDT0M|5+wXo_~>ReI%PJ=rFz2CZc5d zE=P9n6I^GxVr=uBi%+BFl!7JvOLkt8sO>~h5JlwaGnFA~zUWVHFw7lPyxVp?R3bFz zrtc*iR&w{Bdu8EZz&sj8pgNSDf9RUnFchZ<8d&1MghPN<@I$~Pi+`)+k)&t7MRRyo zk8&Gdx<^h;2PO@<@~{b4fSRfb|E$+`)ms2J2p+f2thtP*)JSsEfg0Pbn_ETx z&E$o`!92+GFfh?XeKl1($n@bq#R;uq7B_QFjQtishN<|w#V$-_;={6W5`>nQ;M?1) zmU{F!XnMgdNjs$9t9hWgXU?s>q zWB-^xYIKDv?w;%jHg&ouTClpQuG)3L2>v^ex~zg zpU5|}+$50J=m$ZGGj=jG`(WcdW9e)T>@P8ntjzNou#ten7q`;C+m5t^O_B5R>}scB zm)Y^ngPY6=wXohL!hSMsoRwOxYg|xUSrrL@UPn>hAv-lL+t8HAH{gTk>rXrdwPMqR z2iZE9udZ^GJ5vf;m$E+=dp|8Aq9s0&-Rk#M+zF!Xx*zKK~E`{@E1F1M$1GnatS4OH;lrLU7D*-%gE&hlQ!!s zbYNs-&FjW6BLtI#X^gu4MoUIDtepA-v>qO^tzaZ;>t)%De%CWs?Jh)`M;%?^?4?&K zW~2Wqlum#2IoX(ZbVYe7(7441rn?f4=W8sIPxR_LC8b|tokGIeZV)-}r$ZU{`?rPR zSjmXq1tpNZ4-8Spd_+uQ?EWz$Bz@{p+|?(j)9-ic&~HpH5C|;HRzgBWPC|k-MUNR1 zP?wsCjwF)gwyg;&5|nRbRsNR^xirg?(p;4-#Sp8*Xj=vr;%Kn(x1vyv zp5lO;|N6l2QU~nRjqu~)k-952gg^N;KsbjK;~na4H8;z5i2Lx}BdH7!eX7!~^4EI)3a+e%7;Du*1Ip-Zj<++T|+d#aC81r`nDppsu*x}V2@@NGLpKJ9)xcPhtZVP~}ZcOh{gRv5kt7&SyLYwYEGB9Z2^g(G|0}Ib_ zA5A12RaPH441VNz`NhcUjc`}l*2VSc@&YOi&z{oDLH_^TXt?08 zg=*mDH-UvzBdAA8$r5LSgCIns#b(avn+cs4kC+z+`v>rUfcOWcT57H?oX+-a=H_c2hY?LS z`kqgLn}++CPxXO(C}&++X%t;DW+O$G8|f@aiC)s*)CsZy)0l(OK3in5d#QVA#s0GE zqUnKQZS(YI#jmER`!S&A(rC-;pp$7X<6$ zbNU7=DlN(}E3A3?Hu=`)`XQNiuI+H^kDPw%b?}(#uloFjZ|T898Q%BcaY(N#;KRZn zzhIn&5pI-)5sX1cc8LDHd&Nm~XZd-7_9dIGr({vJ*-GePg_NEArVB8Apne-Be188t zTiXSQ4JB&#N<0A`fydVIw?(YZh}XlBcS;d7(OaC}%&;lXdE6TXz7vBU*q~@s;#wsx zkvcW~fV!8w35IUv3JedOIv`g#ur*0(Z8N6jyD} zpNij89upXMScYKS3F}Clf8Vo=9~-NjwnYGor)(#OJ3F%_rIv1Q{9aFmK?IzxHjITwY-Dl6#i18kK&)9*UqWY6uAf)ImLa$Ek0Peqw#Mlff$Zj0e zgrjlWP!tYP_zEgKUxo8Nn0lkHZ|SeM?XG?m*-41Ub+CDNhxWbM-T7xX35%b=egd-Q z)zL#qb zJNfg1j>@fMUhl=-b3oh+TLR!4LZ||B#gB9ChC4V^P&*!8uv44$ITe6d&9rG2;LSnK z9&vAg^he^1WNZ!<&%{Ynj(#0VBCtD0-9E5dv_}+#d;F$TEw{-MLb;$?zrwS+Y;r03F}_r;c#A?wrbxlyB!?+UP*|4*X^3!4=gYo_`Den z;cR`c@M)a9tnzr6zco&5m?(MtEk6?H5vVNT+AR!NALiY6`oqcDVS)V&@cFEH`%sXu z2v+=o3{e+#+{#8UL zV<40L%`fAx@4oj_>zcv=J#mwV$M?{$&nU)E1U&%KVMfkyO?brf9q_@@b0=7TxT5d! zpR`9L$rX2qVvkNOx!FxjVIASXf+(^{#<@n?J$)Vcd;ZnPnW)Y=lx|>=n!Y;-JdfiB zhi`BA}RRdQFREjHlW!+0Qz9o%MfMh?Zo4SA!j| zChGLJ*grK=K=qaq#ZtB%RHuFewL*e5M#8FSJIPn)WxR>d7_2KvSd=3Kb&Dd9C`Tq& z_ahN+|8jeC$IO%D2N>P~@<+Kf- zGV6Q^B6ws3#g6j`6Y=@E0I96wElW9&`L&iz=Y|2d0rOzOtu9OTmDx1i7)|^~B;S|9)L;UsD`o^Lwz&NgXT+?*CXh#qu>>6|wseD|r zEpWU3*zbFwP!g!DeG^G2jL1}VURwT|+*4;@U;xI1<^WARqH~$TU1a-OlP_p4ly%eK z;I;}3QJ~@leAZMZV~zYTIs8q3Lr>t7gz>owFDvGzti|UZUvU+f;Fe*YWttkjp}^Xf zgiX-P)hIjnPMBixeYGul9wn1*dfQ?jP+IU<{@u%NMMdQ-f`fyT0k)r!0|R=iE1jqL zDof(W0CS0*X7;xcZ)dISVG;q7yzuff1gx9le?5OWt4Ln|gi;8EQ3Hl|)e?05cASX!9@9Mj}$ASOkb%?lfoXA2Q3j|2>sGe}TDG#4W?kxpVES)8 zUgg=X_o?c*jxWk7{%j$iTO0Opxxsj96ZPHgUDvyS0B)05Z$Gm@8vRvPJMVvm&zLrt zY6KiNwc>OlC(Qi)&NJ0#&m9?yy`GK*iwxpKy@faf&X1Bo$eKC4=Mv4qb9 zHRitc=n&X)xhtBJ@}HWvEulTe*RFrOvHt$!UAFguWE3%Mv9vM2ni!5G`+3IqSGb*t zq3sjJJ%|nU_MZ;c4HFCvvtvH}MEtPCR)D#b_xyZQeeiAkwd16L=gy5GT&;^HuF{-K$&@^;spFxnpVa&-4N!_$-V*64WqZIes{;$vFp`PoozD9VVJ2c3Cff1&sfZ{hzR&#B`tIH5?IStm`yaap~d5S?zD;%-tIs z!!pS!ps;IJbh;rQZJvPYF0U%c%_uzZYWgiOGXgzP!6gExa0K&){pt0(zZn+iwrK?n zBQw*4!588CZ+hB(x`lzRNVv8v<2ObZObkP_`}S;<{*VvpSQIX1jB^IL+-LobfAMB@ z)-^wZhWFf9W{@s$bvyovj+l!jX~-0+Z)8n~t7q)HzEE;*4?93M?Gjs`b7K4|WqM2yz1n zjwCp|9sl@#bK?UO@FheJRE~7?IlY1y+~|5!I@sAs9woWL74p&&=l@WmX*K^B&}+?h zN~L@1{4qq|2=E^=N9QH~Lx$3RvOYW1s3++@#tnw&9~TT@+lNW?CiEAg(=TL*jead> zyd=o2rkr|{rxDl;m^sbjg$KNAHy4+>|2lbCBWUjVc)YEBMLMA`IahC=N9eYJSYZK-)z%#p|~Zk*mQv`3AcDh*lus=_Y4n{Y2n z52PWS;dHd$JC*fH!9`E1rAFj@!MJ$v6X6A94-v_4X)Ko3Z*O^eTMyP8x6l)_+91k0 zu-Pn2tKEfEUE&DEHB>xr|ZwR><%;zN5-sf z$JC}GDse5ys7wuS`)PWZ+?b{{HKJi z6i8A*?sXa_4X`|)KG;UC)MbCyF=Km($3fitVyDQ~jHLdyHYmIg}3JS!JbO%SgC7QTN_Mi{!exUxNX1OFT) zMMmMBxOc)NTbF62tH&dOv`*>%b_rGF-v75N4eqmiZC#7D1^%9=V3&hbT6_^6gar(n zC$J>3kMh2-9v(Ucp=IdTZM#PX@y;RG&8kLhL=^2Lq7-gHOED3|n|<5J5Cf1gAO^U&7j7#sq(j z$mVMs0b#^ArZq!m48OWb93k#s3a)WP_h&kY z`L1_g7?T-(5BSzGb}2cGH|#;%pxN(se)@scuhupBy+@)XH<0BndV%CeVx%~H=W3Hb zJjmo=9ELDRU_bCi0XSO@ll(AEL%|fXL;p7}U3f$?dMuGkCS--(by)FTsDt^0K+SJI ziE~Z>dtiXB?9~4gKpkhLk!t=hYHTJkL#C$meo8TVqY!N`1F)@ z2?L*T{^^RliYSJz=To_CHk*S>x7znyaI(qvb-!g{OiYj&V6N_+A$V5K=X>?2k+7IR zklu=WE3wd2ikcVAF#+@N4jfAL^F%6WIb@fxsQfGCBoepQU=LFC`eDdwIdXg2hJI;F z;Nczndi+qXC(30#4Cpmsd~(=#Q};ArH|o9Ly-6?C3{UA#yFz8<$jM2schmoK<5AJF z^*z<1NU0N;FwMmu!C=foo|?-1rNK=Oc7}>)?+Is*V=iw=kvGDU38s?suU`IHMYrF+ z$#kE25FzPYL*S0K)(pgQGu~)IY}q4W>`NRyw=cMG^P+-tc83hP?<>4pXa2na$Xmpb zKT?I@PHMnwOx|0PllR|WrZ5(nGdd1wO>s!$tU!!;e0SLNE`)_>mTPQv=g0q{>b(Q0 z{KNnMV?`n~$X=B)LWRsjWrR|)vJO$ntn77eqoT;n$S!0%$Ov&rvK@P`GLF5Db)0jY z-|M{J@6YG+{q;|AZpVF}`?|03ydKxpfxMoj_lLdYZ62|9Qi`W~zMtld;s{^l#1Gg* zzZ=Do)y;Y7mv#9-HP3CY`_Ng@S*T+?Iru%ViP!W%p^#*c-7>Weld?5@@sbi)}| z-aPhOS%qA;2#z+#e=w$b8n|W(S}ibXn1o=5mA6kA1w^YPJnisQf=k-3{r0p)8KV-h z579ZpsE<{c7VDz|{x-`PMjqNS;X(PucAjE^8t}~i37mT*m8|)AAk;TY6E-g-|0xM_pLvqbv>W^|@IC%kz^(Z{HZgdCIbM;A3r)>z#iEr8o&{ z4DmB;YnrJ&b3G#>*kSw;14`XNt z-RI@6+?GA|Gw=X;6Ystyu#SI@9>TXBq?tp<(ffb@ zZaip6;iv!Yg;et-r$8SYm{guzxM20rJ=GdcqL(W$ZjHoa*F~4`!YuM0LV_(QlLJ;+ zcK_GDn#qP({Rkc3ox{OO2j%Y5NFS29IgxC6<%kbYCf<l!1DrV^fbRg?QVaOeO%vP`jlYg)E>nbw6}ZgNM^UuBfICE;USwpgh7S9TC70r zuy7KEF_d=|Yu}Hv@!9rD3_0&nK>RU@WQP@gQmlD`L^apJa0~L5b;rb>IluA7@tm=x z)`?KT;QFHxAaS{rI9j*eFP1sD;%7nX9wn|r`G2dqZ=s;w_ugI-k~EZb&@l&SX^eSGt|l#apO-QC|_9~jhv{4xpy zG#eBvmOb;D4l~Ovh?$8LO|{T)&gXr)L8LHOMH!6<;woKTx=~k%B;!#b6v5t#E1-H& zXyZ#D)>R{2@(Ta5vOjgXIdiMs8cA(LTzkR;@sTUL096r1UX1*`+MiLbt@mV?3$RneS#0VTjHdcK3 z&e4E1sWkskkw^$txlyGJsm>pYX<59>*wg&^y6pX}8tbTPdM^mb^G ze4&)^Yky|)`!8v{AYlGn2M6DOqg}B$^Pm^Su_%NT#pDXK*~CK2lN}^(gItGBYRkNFMCRNgyLt|?XJS>W@^?eh!^B3e zgL`aQ)CXfQ7&R{_c$M6XKYsh^=ygOwdMA`Yk2M}P539r6V_7DKH`w@Ka|C~scN8hX z;S2lI1pNLhiY5%%3Fkc?(yX6MSbI8{B@3_nPz=?7btl~;VTKB@Uq;s5xMztw6WmMg zJ6j(RGVnz+ICKByNO$^a(t-v<|KZ@kcs~cF!SNa7Dh%ER&cg~3m#^w?p8q%$J3y&J zK;6@L=DEwRSjDE{=+}=!MyT#HtH@`shK_EA*)gCLpLbPHmZTL}AFF2kEv`PFEenHG zmlKzCUB9lIzFvF~`(nR=L7ekQ2}mVsUCi={R?5b~mY+9T4N0_RW!n0>(fXHo4}Rv8~Uo-=aHg-Wbs-NM(Yx z-?YObCPABW>V{J-v^3@j5atit$x(gwHMhgFCtD6oh#MVmx z-QX0q+c{ysGHv{j`>MS2>mFdii7^bnq^{P9AFZvVoq^3ft)UZv5LX4!CFjqxVyDMa zL{t3QUMGek?aIuXbK`g~0gHVsbSQXH=%k!=^une-ZC_WX?xkv;FYz;P@NA9O}A?26g%I7&w_p(6b#oQep7Dd6EmdXG~^aSI(NfJ;ptf6QmFi{N;1FdgL)JBlD1c8yGF+Zg}qe}VyQJ-F$cA^hL7Z^Qkp_9~B;Jt2|-Bg(3SsW)`;i2k-E7Fc^H{G{W zfaaxrwuPNuEUoAjRMi4?z=Zq<(^gxfP{p-H$x>iZDK8{p8TsovKgiLChz0m|kL~Eo z^74b!rRb20E2gz+-YG@X#$U#>W7zYL($b&s+P5701~tta%_XEgJ63%%D*`(Ehoi)} zC*Q1&4wH3W*y*nmkSjx(MT^ekbTG5VO--;H&vlfyWS0`l-&Ngl=v}4HlFdhydt6n! z{ZA3uKF61iu-~~INx42!Y3><{3d)>d_ENyTkaB(C@_;noGS$&v+Sr1BB-_;z(1#0< zfcrR^4xxyLPoOrvW2n($;8WM*|0y#Qpz@zQl7@VQ?~ww&cPmK?Z;8UzE)_j=+qL@+Q?59eKC~tv7NwsuzfBTFt(Id?fg|-xR$HM2yc=%Q-g4Tg&|~iBc@3(N>jD)tEOc^qjx!jm)u^6S+8Ai zvjQj}bl+nq&vy4yw_ZLg^Xki-{L6f!c2V)B@Z#PCN-j!}o+ZqHytGH=@RY9ivV4q< zUP?Z5Z|&FhT$<_kaZITd?;jpf*NH54s&56afs!#v87NbNB1?3NXI%eLw4kS6?>p6D zNstMmDRbchEFg)S8F+|jUc`3Sy{u^&9iJklw^NwE(7+Gc3)8E%Dv%F}_S9cIXGi1{ zCh7-sjEBITJJx2h%>hvoSmOoo%v@ zA5@h2v}eF`W3S@(!0P$z;jddSlSppOpD%U@9>0Xc5@A_;P?0^1e^l<1J@4J$g5yD> zdP=(cE+;fHiay^CdaQB>_S2@ng2tq>T5DzEZnAb%T--_3!mIg(7r%RAopqC+kcH3A zOYb1rAtNJ&z4eJA!cpAY*FZDbw&4s`HAp`{@MZTSUHW+#xf1#!3kypUj@s^bC8I>( z)S@w~t-Bm`P%7`e6TgWcSFqbZ7zWtw80U)5qUKB8H%wxTd3J`|-oIhN)BViEZY+tS zoSq#`J*x5vGr@O$1tu=NCRr;JEMZ$r?8CLDDQfwg2TgmF$*c@LLx_q-HKKqb@h(Mf z?@pk5qF6B)6QsBeYp8uN^VrynYQw_T9IE0kScoADL>%%`TV%j{?n^UH;MqK1Xwk`( zLuZ5R9%}eUg){qK6|Nj+yP1-+||J=7od*+Ko9Gkr}DaP zo2{G1w+^F)c85 z<7B=koQe}zReZqlWkOc$3N^-WGjMr~iYk&UuQ>e@WR97KJvoTL-K|NMk`C0t{w6bj+YqT z>`fA8zITiuN4V@cMWsp$ZGK#{-;Y1rvA2JQG%*-4X{dSKkcDP-aM(`Z80?GY-J7^J zj0~01P$%!DY2%2cwpl9Jg5bMTTDS5aQAL>=q*dEJm_*kuGkg&~ChRkC{w~soKaZ=$ z=cs*`-j&kT>T$%Me17>kvTNf3?v%yZ)kUTRUa{May8DJbT7ysN`~Y)&Qe$`xwScV}n0SYvxx?ixCUwk?LV?}^#v+us5~ zFV_(*^z*LaIw^nw+ibgYYgzk7c)!5~qsp+hMG;(YOMaJL<;rgViiqk^qewtFdOD(g z*Ery^WA*dhD%)}>BYSdPnDIMaa3Lh?SjOZ!T@Q(PfkfQil?9m{l1^Y?fupfpqdAjw z@D;^d)oVjrK;c*J4mQDjcV)OjsRHD-({H-&tt7$H%1Oib(@Od7;ve-XFlhB>Q8UW= zPv+K8j=!zR^c$#*&$s&tWsZikN#e$zx)Ie#BM1_huPUBVzHV0El+#>5OhPQ}ceopt z(5!MUq*(+nu2nk=UhS)Q^H`5fBy=P&&l?|-Ud=dI4SsieyKN&6%^yA@c9+?-f$r>5 zMz@|5$vo|$on7MQU}X!M^Wmf5wp*EKIa5b^%^Tcn;cjx=%d|Kq9pnfqRnN`ufbH0^+nkm1=MXD zdaub0l0db{$}4>iL@m(RA}~n(`tP2{bye6^`h^&CbniMK;|E?CEaqC#i#A=3`=Axz z8ya3Nnc7>!z*Yp#AAmAV5Vh6b)`|cBwOFtH{r6fZvQ|BZMWaOGK#$+KQq)NL%5KLG ze}mtzN+p2W>563T3duGquvhW4;oL2lZ%Hx}C`{KfqQaQQhkes@kh*@QcYbzmLc5Aa zOzlUHcke;zLe#Q~&}q7ducF;^l6Aiyr5IMU z_?qXJ@X^OyS}It?#E*cjx{atI_qheIovZ1kf2V|$q5`(@e^`REw=(vj2amLnM&9ju zZpCZYLCx~QhxpZ=;9Ff)I5K~f_5~CslwM07&CgGMZaP{Ods*uSA4@qY-D3B@8(^u= z^MT(rzE-r|=H)jUJk>dqoB4b8;)EqGbUiOH=v(iL#p(^Q2-x8|?)WrrP_UVRH_e}P zVd+=phKN8gDJg+&oNg`geT4G`@$E#|H8yZZwaSd2+jK>SH!(`Z?9w<6o>qQI^1cd( zslF{Gnqbl`$-iBO3A+T;piesr38CPu+d@`c0zo>`$pm@F$k7Qs52i`3p-<^kntNg` zAJ?gzY-$vYsx46ImeAJe1oanT+of8O={)?8c-{qTLVEO*#K|`P(^T|QVTPupcW9EU z7DXEIAx$Nw7Yop-+81bvwp1r&F0K5|*hh(ZvDjdZY4Vy9ujZKD%&!n}&l#<5={;ER zJ#cK%`D-d}932-IaW1Y@%lGjGKLC~82$;QO_Kh!{9aUCQX0Wdqth}2Be*_Q6=yF*l z+QXnt2PAmIOvf&}ivfC{xE+ubY{IY0uCv=BVl=lmj`BbPc(fFs^Cc$Ib=zbB8!v>Vj#rmRp4}&YiSJTV-!r-xfXU?pY{uD9GijPI*hEiU`UOaa2YgAn?GHK@ zD34;zw(x8Tb@<*cjR>R1L3vTW2u^r7D4KFSAc;$JK7}$@9_;^;_s?5y^-s3P) zM>Af2DAF?bVbN0!(TR8IIlFOA^oL(oQlGLu)ap`S^*yfj=(3BtBFG0{URk=AF|~_e zPeIyW(q&{|Vil|eO^cp)VkZUo9NxfXMy`lA73PWZ3jDMnq)en-Zj}5&^@P;(Kr+aM zch^a3my5Q)RjtgUMEjHP@k=0vE{b}&`8E{yLJ3kCh5W_OLah*w(@j1$P(MVesb(=W z^HzIXQm-gnI=~D#MD1{KK6PUsAKr8J;TlTdI|H*CoM`hZ%;K@;e9BYGO9R{Zn)9bL z=2fCVgq+yDLM^wA+}d9>+JbnhnU2`$*6zCs_ewFb$Zbove|18JV%QIhj*2*=Pk3mX zD#Qsp_KU@fd)c14CXTLv;q_St*Zv}LD&K-T`b!bHquZ&p(^Nv8>bGpWiM^Q@+x9q> zA!W;GaY zyHDl4dfQV4%}()6;@tsXzjhXc>PFD^EcBsd-->BzuaufrIXohRobv|$R6w{`O_|LW z`r14$ilThlTHxPY5FFL%r-Qm#V7JCZju%H5t8Cmu`f`tJBxD3b*G4}x%EF(YUfIC6 zaWRx=5J3?bg)kAK@;&jY@=Z@mv{U0cg1j4xbl|w*fs}c_T7@VxiVvt8ocptM`<(EdmPtTFq(d6CN)V%dH0r8UEQfglHLvo=Fxf@ex4>x>a$wj{Oa(8Wt<^o;bBRE$jluK{9vY z*&Swj{U&L`0bPju;=lL!pIhABig^8gwW!1~$>jz-CJ==yXq|fB`v&q13Il&S_D!uL zJaZNHUh-3c^6ra6vLvb7G_mYp$tc%W{FQi}e`dv$HTQGt4h1;pE%}R_E#t^TqMYfV zS`J%4q0ZsTxYB$)_&W&+LRrhX?)oC}3&wmh;BR zN8^Usc8d{omDfZcW__=Zcw9jH(}Lgi1c<+(wZc@@x4znN3goJJX*yd5fRy(*xE(+D z*2-)^$5Op8f7pSQalC4_?qxytY~+Lz3utA6A6y)FfT9>CM`5iI=}v^@@c96~|S2I2+Z2+v5ZQ`3ZpV(!NmOPhW&;@f?UXcbE;)wTvP@~r`G%j}*aRpE!?LLLb zinVh1_3OHa%P)-SFc0}`dHhQcG1ZP4)>|UufN6)xC8?k#*aC`XZui?)2@vrK>U`^ zS{CD%0wPR{pd6PTzachd1lpUV<^BCb5|lbz*BebKISbga_p&C%*b1hnzYIg0i_di< zzD-NkU7L6P>dR$>euYM3J+Ytnv3VF^6!Jt{Qyeo1C@FmMF}lB&OI6t9||ULg)0s!itwL8M=J^QL)g| z6bMaUF#pU}T(wX`Q$YTZSfTn#sAsoE2cGv4+eS2@QaR)j=Iq0lng`QboyW%^(LB~o7MFfwI+m|163J5i z-Hx+}D`&xYT=waXR)|wEG^1Fw!jzToS$NVqS9rBpIgls23Ch(pwWyMyn(5Wf;zID^mrhv!Bph zdW4=sAV=~N9F3`cK;*^WX{oVmUcQT7C8ifW+w*xvqBK~#J%|@=8C4rS1!XuWkLD#J zgfTOW^gK2g&FDqj(?n2hZ?At`p~N91#nHQz^HzIY0i?9t8$TZ3)zs0^8Yq47`LqYC zo|7(k6z>JKUAlxxgi3}Uil=@pd%kD%2H0hw@Ge-DJWV)h0>#y{W6qmW=+rL#W%)4e=Xu=FU5M$+u|ILc zmi@cx8pddyd*3-cnfX*zI@x@40 z?^HO@ght1X2b{TtFRf%VTu6xB335BKk6WK;OHEgeIO@jyAGF(z22G?yIgEAvvFBdl z&MVrtjqP1M*Q#-`+Aidh`h^6d=rd=-t_W<)U~DrZrrKVOo9W9i8K^JcKRK&~6)Eog zpoyhrXSgy#Qid$_l+K7$T>QW($1cNPe<@eZesU1g{Pq88$uj$37Tdz%L5+`ZHyCI& zrqSP2udWk?7Htr>>xNvCLAIjjaGD}KZ%1}N0g@zKpzwEw-*9)4FFt)H5NGy@-&5=#L=}5G zWJtWHtDpV5T|vnj|08vqT&e zove;kga`7F(x&-`{z%VRHS9I@;rX?A#hjo0pnQ5zal1x-MO$Tc_1*;jPDN$tkSuyG z0dy7ZJ(S>-p1~F9ok8%4_zJE^=%nd5t|S)4@;E0umGBW`s}NYQ651+GG+mi=Pk3*Cj18%}CE4RQ}9@m=Ssrj8Cbn|>|`KVBIfp!#zO z|J(9H>x9l+kK>x{%fALrp_i{h`cX5A$2fwJ4Kg?i|rxKXN2J7l|kp!jg6BK-Ly-CJJu-H`=^JkSYEx{AuL zj52)qaKX^(8-zro)luZ9HO;I_=T?u>u4E1t22En_jdcm`I75=j}F7q>!b!Sav zosPlSjvmu_f{IP#N)=KJf84f7zxRD%a(HGlTo_^#b#%Z;Dzjw0UHR`L{g+IJT5##*bqQ!hY)t&AH6<}+S^SqfH|K-{Jsxg-T~!u~!lvritr zO;%D^3;T=VKbfTC)WAS307oWXc4nk zqVADUG`f_A#bC3|VQl4MpjgwcXREvX;P}t{>e$lyos1^$C`J!n2?@dL3^^4wDUW#s zR4jXN9|q6xM}Uyh`XRC<>Cnfk;Oq-yW9;7#>ikZht9n`atmwDCPF${RB$ZXu^*`;< zkpTF6{2F8&ypg|L@0O@ILZ%s@(W4S-#pQax+cDpmkO9N%6+v0UU5u_E+E3x+Vt56N zgikDh**LrFXu!3;{Vl+`oI0*_{(;exE)JM5^Pi=o#gPKM?pvMkb zCpOOffuexKD3Dw+X)pQNBly>B0(wvWcWQ1Pu>1O&W5E{JQqtq?1BV!}}V`)S0U6$tqM+C7@I{9L)y%*nJX~7W_lG5J(8c>J`KZd>m`0 z$bSQHbw*I)ELG^)Nq}3=$jQy|PuoxaepQ%5Y#%D|A-WAJATaz4c&G9j7qyj*-CBJ~ z&#)>bDU1>R)d@Da=-SJ&f|H|fcEn*;UV zyg(0Ab)r2^bpE9N!{CipA0UzI$5mhBkhtOc04nT`9}zJ+REG{NzTKC4dijgSJp+r5 zcMmHBX}iI!NSKq2;a+vugh%~XFB^#W%Y|#taGv+io^08#Z%SSn852vrr%_Ne-^$S08)NuuQ04g(EYSlJr1P`2R0zrWig3KRx~D6 z2g~2Ox*wx?6bgdMm1}Ml&O@#OtW%)Ye@mrd1kZEJ`Edj?khN%l;V38agmto1AWnSZ ze>>YaXEKR|!YrZKc~KxiZ&_6wKt5A}cXapt8rL_Lgz#XNgaOuSnRI36Je;F8i6gv0 zcGAIhRA9 zW^XBVlUCJ<6B%<~%;>CbXH=*EpH}YgpA^Falf51h*SgB#8%wP=Fm1Zfib#{U2}6ELqJ~3nmfl?x&R!zX3)$n(zu8GmU7BfEa?6}>0{FC z#PX+elG|n{I-vC^#6X!mUz;9_68O0=hJdlF6O{IlXltV2r}47qDijH>gUO;Od6$Rb zb%L^IlyyM#pq}XDWfb~#MVPPczmE8b?fGZzxx%^v_?*2&Y42&NgQd2lp^f&9Fg%Ss z+A4u2z*FLmWALu+Q?W`Xz6ht}kdDfNcQAJ-%dlv~-e_Q8zo~R1dxasDgBdom-{(Gx zG!;?FJ^7Np&JB4Z5r{A@Q1ni>vaDGn)<{6n@ zpKo_WoLvrT{fKBDGsewO2jR|Qte^Te#Bb?Qh1(MAja9b( z_hjOVIM=F(eix`G-+<2jaD?BYD??-&8d_PI43b-j1m^Y~+g8=P-OTBTBqgr5_@?=d zi?OCvmCt6{FYyah7F>uqN^IzY8_$CJ>*0R@cgPxOe{cu20EOy+xnDy^q;K#Q7uEI?g;C63E&n2D*;?<}!yRb&7(x?}!{S*d8LBF>-HDE2&cZ8&bgKy>=$F-3JSA)= z@!8T$2Ns|>f_Z-XD^!BZrQ_uy#?Jm?iIjLI`8U0`pa;0d8`rNpc7PVHHGr*kSA^4w zi@Tf26BZTop8c_G(ryAmZ=sWJcIxA&)te;KXsyGIvR`2l#v~<5-x2s@aCcMqQ~g;vHQ9!@6{XL~Tf~Uy*JU z^aX<`QYC0e#O7SaiK@D5Kiwsm?HneH8wV!ns=ieT=ov;r`hOzIlVq0nD^j{#+$>B< z`FJWA7lrETWKBkqC?y$e&*+;5Nremzw*iz zB152i!9UiQmzkDM;xvzzoyEHpsbQB;bx#-BVDSsQYSvR;<$f=J+sOB*a_j6W)***5 zB6W2~s)OJ|DBV*JLrp06)%)L39Vu-?G%M?EayW1Rm3|Kdm6`^tN#6`UMyY^g!+t-By$yi}<@ zPBrs;P^>}n_9fJ}5mB1O#o2p)_j#|1V~2xY)oz~~l5`u}(2msmj?g+M%>?5S_yL-1 zfiUZxdP*Nau0Gx5<+{*)Y65+d8-Y@6oeI|sK4vfV2>rQ*`fr3Dtoz|!Vw6lt8I=wYx`9nS6tepDxIMNEN|lZ+w7WLdsvS61Lj}X z%8*|Gvk?@Hi+soWxi|5p4HfL$vxyMm&r@Bq2OS6q_b2S;qh`S-BvePXMV37k-azxg zKcRmGW6$XBlP4>D;!*1;8X35rd2qd*!&oW`o|dk{cJLu+DywDvDm>3G!LgnmR+3lK zEj&Agn;So{AD^ue_yGn7g62Uu>Zr@?DkBvb=lU|NX6;Y_r7EQHctv}wlF!klPhka6 z?F9LyJ7&N2^ss=7gT3y5MRyh4_tR`|kDp29+N=sSW$0~K7IAn-U9N5=@9881{5#wU>+OgO1zb_jzd0>Q(Wqs{caOoAb=?jGD=Zoi4E%N-}H$ zSC;>rrwUNDlH>ZQnBXRIfBG%7=T2sPxgesC`=-TQ*{?7(9s)n%O(;23;dT?D!TnDK z?1WKVMEs0+t!niH06O|=H}#Ki{K^|+bu|bwo6|4iny$-S4`Tl=VM21-RhBrS_!%%V zJ$5s#X-KHDpx`vWF;tpuj52#MV^&H%o6seZ?>fcJ`<(n1dO)Ico+3Vwjd)CS7NdUG zSM)KvGA@&G%hg!15Ibhg7sCJpJWwMT-z|B%{$hiE6TDy<=BwsYv_l}!yAAF7ic(@B z^SmaJ%AaJ{ikUx`$(Svz^%fM+UZ6?_I#G0m$&ETKm+1UW5K91@x)e=DAThzHY7PM6?+ z_p8Deu=e3{+kxh-*Tf5MyatD5_$@n?u@{Krdnrfzt{gt>xVJ_Gc8aisj_w;9KV!&K z(#(+CUJMiUI!Yv0{9qDq6B{BeURGz~WoYn!bJYbz`6p)tpdGmYEt(XK-#shSCOd5F zBozFHBREf%tO#(Px=*gw+pYZqbV6&Im?7=RElcj$U3#KSyTsEK0Un;P1PI? zls$wL$*NtLgyDbLH%}Rmwt=C#qofAgc8_d+vlSU98~OM_l=<*XPBT29uLdatU)$Xy zQhl2KHp$R%4RewIDqzq*ih-R2tO4bpKd|4FlM7LGlo!k8A76d-z^75(6Io=~6W+a{ zZ7-Gh%{}#op~JLu@RsekYTuX#7|p-|g3;F}Z-J1RoBxmv*lXaf z`G;~izyON)1>y>XO6C@E6l1)#naX81d++~Xo(mA{&I-PuC>{Gu37*Nh$H;r}@FAo7 zd=3YnO&10Xa)PA=_oI%B%OCowT0o6ai22SU%eKgZXJQw>@b8sZ*{Re6MTajuv>{E@ zpHf5oVY=Pp5KhtdILGHmRh&A}S~yxd>b*Xz?BwDTUDwc*nL^ln1_z2@-KB-?Pn zsUDPj#nJBHz|lOO&rf^_6a7c)VQTcW&-kF2y@r0f9lm?19TRi4-{;7F1&imzVC>$4 z#4`#E^r=W3>vNyW;efz(N;;8c#+9nIP+nIuiqTfBlvM|)IqY+gD9Y2NR=^w?7n$pw z)mJ+3cTRZMMW(S@)OGU%C<)R&o|84&kRn+bhVCSQPQjy&UO;IIf`uB}Iv5=S0yN}< ze6QoH_d*YIS;!t4B^LzFt}@J>Ag&lj1p6>HP;(R{NU1pLV*cYaZ>yF8h(2^=@%X7ibr)krqv{XyCdx?a$ljK3h103i z<2ZVIWTSW_lC>WM;lxAa_W?^Id{PIFlKL5SrH1cj)AK?zDt$i(4aLl1i)~050e$r_ zw|Zr>TEZ>|;4M{Wc);AvaZ5q{agB}4KYYqZfJdnjtpWl~Xf3@43TCu>VdG^MiVd!Fv=DF9ByF=LMM#+*-vozm% zaSz03+tHb`LKRLsDqQQmvk2qOwBmNB>Sx1RaV%iY&o-zPMsbS3;I95aLWB-(&bE}C{Qs8!M#>O zYLA({LiMAkN9s?3Q{-%#$aH*0mDvXOpB}~`Ggw+6o&y-CQ*R%2yt7*E#_d#1ZQ1PG z7aa4-kaY3*I|)q2CANBO7HW6(3~wL~2O~g!>p67PDJgbYE$AV|Ht(N^9+UOqXRd-4 zw~S?nm-8oNv&$YNRsGoGI(_>X40uZ3_`Av0UZkTv?!b-kIb%>#>t~8^S(1Sz+dA}K zJ7&>#7efSPkQ5?VV_Udn4D9U)J~}+HN4$P?6!lL_xydxK7jy*&UAN@!4>aBR z`Hm(3))&5er$AGdF16VRY(s!vXWhQQ0GhTv=J?34Fhk$|%7a~a1K5pXOlQl$L#z6r zu4C(51*v|UQ2U-86Nzo1+#ImNf_@}OEA1HT#)pVs!EL2>ZFbhCnzk>q3h5+315;=P zMP5GFUpEgLEw91A%_lW!V7Rv~O$} z#Vf(n_%V9u>15bc+=Z6j2V#36?+VGuPhqI}uxp94L6C zglpwwFir;sSq{8@I8v)@uuJ?ZvH0^{lkgK*N{G<2V=!eU^k;_)iAd+oW8&1hW! zQN2{(<&vYMap>#GmB`p*#H0AJ!wNf~Oi>F|>fW_DZYykIg{P}bN?+v$19ZM)W-pxM zW*(w@5e=sg?sgD0DC0RmTDVXA^+Y$~T3de0^G}E_%&Q~7oxA}lcXm9g(8+v|m=(mE z_jb+!{ou~#?DtYja!ocCvMb|>F(&s*f$q{Wc0-+#oBszo!}KqRnfiLJ$D3;9^WNIn z&xVVM@m_HM=VnWq;Ksq6?(k95dagg+*LQj}FfDZ@&xS!|z4{NRO63S3s%V|X+8uNa zp3AW(U-4Cb_4jm8!CHWDc+L}~u><<$4Yq3tm5dsQ{5$A&mCb>v2GtFj#NN@w?gq^| zcvDn*x@AX4&paZ=cy*unT%eO5kapA4qib6@LORf(ZpDfAamD8T*h`|heTzSHVnYnt zn^5xtEk|GlbWTWuB`sxSJR!Xt+r?o~|8#W0fgFq@gY9ESdj!RQ^e9a$c|buxlt&TP zvky?>T$g^@zE48JZ@}=sG=QRD3^3MsYmMPW9jSSDh&9srxQ>f3MwxlO0!1)p2;2Z< zq!jAEQUyQPJNOJNrj1dAiMLix4_R1S4CYN4I(V z^!vaPHd+PH56ICYD#0<>mS!3IC-kS4G+|c^mT=#e$!Yaeu!DUzf7|iJVR8N9>7H|M zj*(#R)4zuY>%ll7G;iDr3JkF?N?u2S3pu2tp;gX(Yp??ac3aE92g+rSvnPNBIXB&YS^bD6 zf25qf?;z?OIQbgt(!Q9#f3o%I zp76bdVM`zx%by*6KwuPFAz$p)sqo7p{Yr@YD4_NN;pA)1MF|2LM*2Z+x}dPPMQ;1e z{StwN_V6+<_Ke5znVK$mex(>*@!{k>+-g2q|8y(XfzzM-j=>A-_~Vl#KP$|g)rCw| z+5Y@t&d9XcVa);fW3rYdK<1oLst{G3ml8-V3QOe z=?l0QfHbVqq>x4-bPcPs9F(hZ#}FxVeLi0pUhfW;VxB~nrHjcp<0{B$(y>fM)4BXG z);T;~tt~7K3~VuUNa-~2E;p~GvOEfdra zOY4M^lTr+OTxFgKJojHxqwl$Qe7^M3QJQqnHzP#Wn)tGyQAMWcAGXj}=Q@A3+XPdT zC<+4vU>%rk+$L~c=j|d5dcOUB^ZDBdBWP9i^!AL0cx`mj|>YG=O|#n0#0su!x^t^Zy5v_xlph$ z=lp0vp?3#RqG({Yix|CvX*2wzq8ufKspYe{5;wdl8gG%eIX`%EkjtbS(FJ-MD}h+M z$SSdEhy><9570R-T0Oi}+kXDtcO2Gmn@Aa&Vu+|fSewS?5H$>eZ?nL0vwe~* zyK#y>GVN(v`re9R|L}*m-Ho5%U>(89t(@uH@@|ypDrG~#PB*G~LlUgJ5CTq1TC_;W z=JyA6aP-N|2_V+PA~LtShAEgFlql;^a|Ier+NC7ZI#5Q#`?St~$k-mYBMs7|1iEh{ zfkMYp2=)=Y5bf_6{sMIE0zK@TYx+QHx)B<_eeJGa66dO} zjcSFXs$bRW)AIFSg#fEDQGLYXbd$Z3X;dGUR8fQdb5t;}PVDEk z%WYcVyH}upLD*r+-4g4`5}~ZDyPl4I0C{#`Vz?pz0S9hZIQXU%kiotZO(4>w3>=mi zjn?u+nvw$lS+!xT*H2GqpGy}8TcwDOYO}HkLh@J#ahZd^))?7%@puE+jzI0U+rAPB zq$ijvZRy`8DkfFqG=@=mKPy`Ym$3)aZvi>Ze$>OF-fSe$6n<~q26)k8xLa9KCeXHg zCuI&}mQw;R8lPQ<-tN^J_Mh9@506H+sReu5D%P$2q8}8bjS@ytX-Pc4%Q_vIT89pi zxuP2+>eO-~VB~jvfIFaPtWg=y3i36Le`ks<_kIyuyezix@+JPJo0v|+lxU1WzOa3z zpGc!CEDG2w6Sd7QQ09l`BKc(QR7#qFEj;V3)v>NaK1Wd6HoXIq61F{?+aoMYQZ7F! z0q`j2?UrQ(_#(J#3cX6h-AEt3`Z=)cOd6dJ+g@w@l5p&CLNsfpM>c;Obre01D=>(fK1TuJ^ zL;MBq$Y;nRQ6MXfUR!q!5DY)SozS_teL^RLjtTd6I@e@jKg+J?9)|df-<|w6fNFb@ zf`1zRFaGJtmUdbOkfH5Eg)Nrcw7-|rQ++3jpvjatfR|k!tyhix_CISyH>MwTPd_}e z>Y{jJ*s1wxogpavE3D^ycq$8Q+yFD3itsziG9v>IU1N=uN=)}aqi`#^{^~>~x4-@R zCrpjMh;@Qx4Xt~;2Yb|DPvpyyldAbgH?M=>ZtwJrYD7(G?ADBQjZb<3-f3{(Kv1ay z5#TV&(b-2m-CJhJ|8d^abz8pjj#zU@1^09#@C}<#?NZwT*4gPoQClg3uj=nq@6#h1 z0b^CI|3gGo&=)p&V7Dcbg@YSRNWkK&ca4wK3qOLfG72EdHMj2~j@@7*BLMIHNWUqt z*B`cw-UOEJ0V}r(VGtg&ysr#-BA2SgAp09n`Oyuy{uP#>f8BKq#29vzUU+uNxJ5oly%GGgev(A#w`h(XioWxto4yf497&!Za)RC%T?eN2)MG<@iXI8Tb4`fc7hY6~@#7>m@rI%DI|Pmk$$HLM?Rz8FTv!#to+&XAD@ z)8i_0r>gQAJ^Se0MZHrFG8E=eEO7C{JXFiUlxL{J4Z*c|!*h;^eaYj072|Eyzl2w?le-=y8u{eI=PJx(c2#sT@TX3n*+MD^Y1 z!fu4JvquLqCuw%3Rjr<;7Z3V`9W2fHaq+-nA-^Xf6GkW~^*FH=4bnj3>9^X+uj9`&Ia}emJlwvPDChRy*KG{7gbu*@39*H} zWd@(Mpc+@}<$)AJDLc+{EIn^QHXyw!&S(G5Re!$gE~d-*f*-ZzPA1Z3PQo7dxj8O! zy|^{S8HLP?*o}p1v#mV?b^STq1|g+#4T4|sYbidp+ZZUnCiP^-sO2-`5uD;4$8f4f z!ua;U5-&~y*w@^B{xu-c6*gw3|{U)MERu@Y<7cD~6QQ+EWmNtS5!)GqRSWweG=uDyNj zNAh9dXp(kOa>!z0j~a%ax63I#tKxFo?m0v4(Xzh2dnASSTo2qi5|z!?WLU|o$vKN9 z{!tp9%HId9vOexDYJ972yM~$6Z{KM`7nbS#f8CdxSyMnn;WR)PWd&EmPLS*kaA$xE zC+r%qSQ6SX*C!Ti_<%)?34WN-uzm{>?!-AyD4Y5s%u{!>N=LHzh=k|FWSp3GT}$!r zv@duM0Mua89C-0AfD8)AmD8z9SsrXY8xUQshR%IqprO4fk*-8t(uA*gP=26*&cX|y zIy(KGlw66=_yw}3fQTzmU;WXhz*kxpQM6Z5?Y*b*{Q{|M6?`V~(m}Adt2gDu4FmaK z)^a0HC$1%MXUS94oS%5A(ei-0Ue2rXHt-yO-F;n205|==ZfE^r7a;D93AplxSmW%7 zo&z29a3i$1dG!s+3rB|nKj0IreRP_fO_s>bMazV{uNpD|YM<_Lu;L_v8gy4Qk)0#J zm||3kGVFX4*v;4NP+KRYCa4RUkyj?vboHI06H1RsHI6>*me@seP6s%49u|FN+Qd)lV<5xTu#?1_DGal~xHYHOwZZ1|YvIVASG&^|8KIRdL2M5D5_Yn;mRG^%Ax7G&F; z3Rqj}=2ZXt9s~t8Sm}Hk7mg4*m>lqBt^(^-Wa=DkxuSqyQE^!}N2>vLJn_J<&GW9S zan38q3RqQ%y)^#WHdcZ)NBHz|>5r5fp@jVMDgG@E*r!+so8~?loBo5hd)aaDt({o8H>@eN^hL3w$uFnpQnpXRubKkxW!I7t* zO!E=~=<#u#+5x;mQJ|d2OezoEGl&$;ie-Na)&P9?HBTrpHp%zkah*w|`2UvOYUt4y zbrsTiQTPLRpbQp*2_X27Z!sk_kuo(a*yXVqPvRv$*DeJG;Z9c)U@eBZ>eC4WN#9E^ zcm8r;ef5A;w2S1VapR_1CoVkpnahn75doMDuAI=%S-HGW)m6^tk?W-U7HzC_Ml+>- zidFS-P~7u;{;)Hwbr)$P+pcXq^FQF0E8N=;8S2<*U5Tl}HoWWzl3p({^jwc|@7Qkj zd^xky7TD3iLpGH#{`3Wl7=II)w>{C#Uy^CVP0i+NDwQWa!!I4kWQL9vdR?Z$Io`b= zz8UQ%V_p0{G?gsBFPlSXw{n5cNjW=@F74bjs{M=e8w|1+GSxsKXBf?1)ml)5Y|%22 zBOEp726|A!^9qv%?}9$Frp`rO@{Y)N$*5bm^92moe|bg*rSz{^u=WVD?b0xMykK zuSjG$kBiJT!96mrGBd(fj9ITTQW*qFR}p%akHtU!cTmRe?XW{NX;Jn#b8GKAH!$eU zjQLwN<8M9P{Qy=P|L^s?HU<|}D@gZ|*+lBu!wJ`*-j)ODR9`Z`n>M26sA+51I-hqs zWBs)FAW{n+p4m1v0f*2-spdeQXq6JYR{2f!6W^aELo;VSU`nx!3pf?jrD%P{8c7NJ z-x&FwIx4KdAk7A6!n4)$p9G3&^NH*RsTszOB&I4qep=r<9b|MqMl1ci!*c{dW)I!8 zlyjC(>7f^%`jUPjcG1~n_-X!{rphRKE72B&E}R)lzx#7;?dOkTiG}kLpoTbCWqSLU zJXtsGc*(D7N;22VRBJZ9X#d}C!YP8oZ=qMIA6FLH7{oLr)td@vp&wQ046BnxE@k|a zo3hEh?$NO%S((w&H@lp7>dC4vaJ^suS{ra#T8Sa`;loM6t$5!Wk6|@AvzrK8T!NL= zqaC>OwdSmXu2K;(q%7z5vPErubH5mQ?vBtMQ8VMNxvuHb={tzG&!u5Cy?z&_8;fnS zF5nq1+Ni?B4ndb$%0B3Q-|^!U-QixUY)&37VmJ&dLfYShV&*c%S+$_;Mv!4uvr3w? z;_%ArK%(R^+Qgx)9#6b-_Sj+*xXdAJaN^xtydp=lqpRVpeLFpTQzbjU@U+rwOLOU4 z$-&Z{{m)q!#KEVqJ8v$7isn=F_p3q9N>cmm7AN^OK0^&}NsT@G_~olZdZVDDRdorZ ze&&y`0m>r;lW}a~7v>L+rpt2-ctK=c-nUiOmpmCn3;D7Aoi67KUdWNMXTj#yKl_$= zZ8crLFq-N(GHYNf&p-iK!8yUS>`AMb)0Ui5>qY#fj?=v7M~SQx9H={Au|$(yldRO8 z$2KdXc-_BHbwI*1(((t?>H{2K1Ct5=+}b-2oFo=*_1d{+ZF;`%Qw-G4vbD+# zE>0oyjta!$8os%nt1ogrM-Fz{5Pzi;9$36Y-R>tVN%3P78qFwayX^h^%^#`9io<8O z8I~80E08Vjb$M1HL%bgTHFn%0_rbLYlD|z1cvidB^A+jR&63_^-$f7CH2)6aH18m;gA%)- z6s-#FsH8*u_@Rry5z%N%@6jdvcHD6|C5iS*rhxAE4WhWT9rqq*sAfIIZnM0V z;{rgCJ3667<(N`_F<2;7_b3LR@(#|bB@vEp`lBGS!ozD%`xS#X>9m;O=y|Huw$&3p z;U~$E-n9Owi{>@=9F<6WpvJjLCK~Va4c;v`5mmS&Pm?cv)jht(l=)mqi z2K75`zfzHfY3Kgam~UK~5-Y>OT$c8lewS-RDh&G>DKQW~~^C5AW#5;tFxWIdcEyTqrt3}KAp zvg>cc3{q}omcExY?M?@Jyw!PV6T@*WIF&4&+?45h&x5q6v70zOBX%h9GFZoH>UFpOq+e^cO0BY$|L{swgt&$J`Uz7_ z#{={Ozx=VOA0Ox6$hle{SMLnZ&=Wy6uI%B4YLgXRU5Mn=CBE}sp1-NFb!F+lFtQKc zcgofLRIf;&=xtWh9bx|*GMlscas0)sIiqX%9TIb$Jy&PvTkxp*(<*l>4K56aWM~k(h1?@ipGgnHQ~^7+ zrbhhX?%8p#^hMI|De_s&`;U95pql(KhUX@Q<;G7EgL>vDWd5%)K~z~W?j3K^MNO!F znfOw8_o~U2iSJsrp^it6wN|n!x z)=#(aDpcD!<9v*&6BCAToIR$Q$^C!K$={Ng^^NNazlhV7Kf@VE!${YR%Rz>xz09EPVO{)fEw3=cj&7BA_Akn#ruT9v_H7d917cT;X+ z;%*~k+;>E3ex*-4e^KpF=t3YwZBd`wCU&#&I+)$CTc>bB+MS+-H{u zAm{Tq67HXVgL(_H*Slf<)${)|6Ra*2d$$CoVIe0I--nHiNu(#g`GwWs&H988DwX**tu24g{5y_LXSX|(-axl^^Nxy!7PB$Xy641mv zJiK6>zck+@9i?CnLhHBd^pf+y^r6SAzeI1|cT!nFA;qC&F!YOmo-S-J)3I;cj{|ye zc8Y8D*;A4O>m)u=ih_x_XgdLw(nwYIs0EMJP5*b+uH*W>#GxP7{VXXvqA$qTl`UYW z-!_?JZL2g6RQVU?1!aS^I$ItqLMOvPDdM+oALKJC;-}hLP5O#<5=@Kc2L|y8ws+@R!JZUjh715!wFr5+hExke@Lrm4&nE0(ZJr-j~zHp}Zw* zs&hr$!|R5`XX9%WXmAo8<^30}Y^(bd1y|MR)2 zXu8lmxAhmDGk&E-*)T)J>A+PDnLwoxNiiD`iSWeYJ6aMl*;w3Rku^&Bw-B-Z*yEEU z)0N7Jfs^%+f|+IcPZMaCqpzMm*&e@z?qt5;aIz0EDwUtlNGE0=a^cuHCh9x>%RLAy zK3+Kq@lP-X>l<)BOd(Pf_M2;{1;?z4JK5>-(|_>8 zz27a3${G!9oL@IS^POH$lh1=gzlL7`)vbR?YKki~0Uh9~p>O=>Z2>PuD;;GAi+c2J zzV;G3{i{*Y@uYS{>7!1(UhWECgl{iCoG;}P+F1(bQu_E25w z9gOSDgluhnOnNnW+u>ZK_SSNkscT}%%INXaxAt}XYRlOVz;_m&P5Mvb|J#-R>S)1y zRk64)VaL=(cOczt+TTSCmZy;VFphfs=M|W;Jf!vaPQWK+0Ks$N=A3- zEnMyEenskK?JDsq;p3Axm+o$=w42vOE-bvY3^U$P{tU0S%RQ^u4psOlRlS=_+!vo& z8U|PYj4)6b9=s)JRbOru<|gKH6<`3Oj{4w>T6NoLAD%kouTt}NIkeDZd%dJ3S5;KJy0P$EB+x(3CgF$8agK;?Qf|z>A#KPw4M;C~-7BulG zKoY01ffM%N{>Q^@JZ^T*7=%{k{*P}1MTwhM_Ar>AMMRKchVqE<$0!+ncRL19_B2EE;zD<6geCytHKaY^!u12cOy>^S^_4ggh$3F;$o!IXSS? zH+Jvbfxi}y%SF<1&ucdCjH&4pn&*c`iZ(yJOK2R!$pCQEM7TDHg@c13QHfBYcVJXN zL>!7Dt`Uw^KIgv{IzHJg(!#3F8BW~15;HX=Q(dDJxlhwGNdOh|pqIUNI*k#U%WfcVZKd$b{_0*a@fM3bB>Jz68bqFENt()b#y)6lZt*O zg|;e}?f#=MOUvqa;H!@pqi)kZIA+VXEi9fe(9sw!oOdS>3D?Ix2f5+z?nCP%Uk>{c zVK{^aa`FXuI zNbUlRLU07p|!}7F_(Ao1L6EXax$fu6t4NP1C+651k#s zhjWQGL($`9x9`xUt>{4yU3J?J({faWKSU(#kZX{CG`K}#F@H;%p`dXCe?~}5UkFpU zh>P8dXkLuY7aMZEhwbV*^NT-4kJ?N`6Qx6Hl@##oLus{9PBS;z=S8y4op+Yjcn|CZ z{S3=VQRb=;Kv;mm=yifUDtenzoN-mQjFcF+6TQG5BUx7-ggr!Gqpc=Iva!(%@~EZF9t}wcFYlhZ^JZSZz+?d8 zMwN0>w4KAhJ9S1;iQ_tSymQ!My1>G<_N}t;OmbjEc@iKN;L4VPgSp7{k=}zMfY=lR zHIP{2T>s6d?*>2|{V;FazIA7(#MxBq00bu0^RQ*n@9Ssr;Ch!ic%U9g@sCY$ zQfu_ho*6-O?sR*kqDBj}(QxhFOCi)NGfKzp)P1nATn-4F15RBDlxdV0WyY=>owq|& z1)Ko?Jmsr?790HC+Vo$Apfb-`l%}MK()ht>m6l6Jdc;+5=8i!wmC!BGr-WgRzNHG( z^|0NOL$t-kP*&E4>fiqRNxw6(h|$r$KBaoFN6%7gi2I(5K!w)1i5rr3#KmB7?BUk0 zNzatAH(U)tlvV6Ju(Fmuv2?eYJ&=c6&Os)-0c~z&uY^typQ&WLqy$wj2az3zb=mf9 zPfxLa85Cm_OFVMhS2C(q&|&w1Do$zcO>UZ|OM+ltMeiS7`6A}Vujb$Jxs=^6!E>7j z-v7%G4*IEGZpv0gpr3Os5!rfhP z`EN!%R;~-y=gx{~wnTQLo;iY)p0=E-;(K)qx-Wg?_|G-F!8^Rim zz>v6obE)8$;3hWuE42ZV6?-Lj%LAvCTjW!_m8qPH>Eq5PBW&m6bT+in6LHLO7?PTj zq?I1Q$3GtD@u4|jio4#T3}^%LNu{A8Xh_LE8PE`^obhvvHTZ@21<iO-a=ar%#b-IoWDgc`^f1Kdp(mw0!fHGc9=_yYZW|p| zc&_n*_`#zi3f`g6!gI1uDJQt1yp>7i<1TYFhuAW}Ru}fSA1rUG;QF+ZHDfW%FbFav z)eS&~X`u?oMHdTnd9YfzCJz+WN|SfPTMrZ$qerset8VCthrO$AbTiYl-)r%4)M(a^ zUkiZQB#8^S%LeK^X|~llhBEXqiASf?RiAK4Jo@WMgLbi*z=xb(Z_3S~L=eFLEpj`F zF$MTytOE8SHbYb{d}4hsq=@vP{QSWqlgRmHH1Ag6kO?(qhtG zmIX=&)I64pA^5L^qnO{hJqIES(|aT$ond}bE7<3&-6oWWOUQ%~(?qo7-GZ)uSjP?M&}?Tm-Y-kF^rUcX5-deLbr zSQ)H=_{Eae@w<=Lf)mBzd{#N>Jr`$B+yrtU6o6UfW|fV`*@A<#9O@)C>Ff%RXODN> zL=q)U!1`O)Jfyo}`1pEDhc`Yxrh>M>;aaz_{w5=~g79>;M>o5Te%t*cHN;(|w1r9m zYKqDhtl~)a9!RZ3Om+Qv8iDBy zE<8t}!Oi`2c)ljEL)wqU@_c+!EP|-}eA}FUK~x@Gb?))g4X0Xa2cnIgiUICLi5iB1 z58Qu$%akJ(1Z}YU<~*43nf(o{RmIDyVDvnm;p4&T+uHljoxdwQN&S=P#ssKPc^FJd z(_U1q4I#Y5oFxY(mcu7G*PEUN`i`a%(lSnu<&7@Q5ui>)URGI9K}-LsXNO^;7I>>C zapJ$AO3?r(&5qf%1$gXtJBKmh)6bP@`wbO#_tG-Oj5IstK$b0nFIDJU03fbXx|{tQ zchP49Um_@M{u9fy$a0%UJ;@kBuc>CUxA)4+@CUsLdt!j8K*C_LJ$h~Fg&?n*yff~; z3ZxFs=0{u$@x*Zx@P9$o*Wp4aOdwC9zuSNQ%j=asz29~q>0WqY2V%+=oF(5uXsm|J zxw8C=ry$KNvMH$=YTGg*p*$$=q6BY=Ai70sUco-+%}w}lah0+rLfc&OpV^RnIr>srwwg+ zd~4OV4kaASnY|Kg9q1Nn&971iI{;S3EM_A0`|q-jIMC{21w*nJ&G)Y- zFP66HoU1wEIQm|*hC9)m-nS5~1PYBrPxl#Fm_;vz|0&ZQi>RbMNhx917pNE4LgA?s zJ-x44XW5rmaf^A0gDex6*do`&-EtJDu1q&oa(D*js;d52lt|d4xPu##wsofmxQM$` zb%HKwk#N(huGG=h^sb%J1toAYSatX%3}%~}I;t8)h+*xRfhbE>7QcfBgvoSG-p>|R zk#uzso9{+#Mfwh#_Q2_RxKB*49ld{Gh0(z|dEL33{t#bs^{($=7`HkA=@ctGqU2U& zBXP(2JlMz_r_JSy|<;^KbPEE<}z?7U7FK+zD}~C(3HYk0gdJ zqM7smeXc%Rm2R@O-TM9YwtUp_J0sFi7685S6W?vv$-|LaMxwnOilRvs3j@c1$7MO) zYBc+cAKxkMIPakqujz!>Ko!lQwKSa=C*N@ER=E#`$NYM`AhYu6T8kiOY?Ta)XVKOj zhO-a^ehUoT>wk<(7%y&dTs4g$gi3B6+gzP7l0;_2QK#wIP9e~BP)zRmFHfrR)%A>m z^zgcz70NLtn{8qOw_AH)-Ci1700~0uMC<*kfgb=$9ISeOnmm6&j*#VYz(fSG{^$WT zy5$3j;jxf}kI|BsX=EAi4ysX8l}NGv1SX68g8Qz-5=+KQI5!}{C_w?mCv57c!oxQD zo9d@YJ{)rD>I=1a4!I5RS6B`V{Ykk}4PNpc|3>uv-s4+`@od*uLr@DLfW3n@LP)DU zGfz9Nhi*7AtXIn|I!#=W;QsR$b{wXMyu)~4>`2d2f-4~BS7r86b_~_lfy74p-+0bZ{-j??C(Hx;S8#J07BNX6evPVSuqB)mN`^QSIqjL)vH*>-aPs-dMz1yp?#$Wz^jGYIewt}Gf zfe-qHn1$+7*I1pQpsJ@<{A%Ca`d-&Q9A6#44<2K7A5B&~?SLtvRHK_Y)%AdUu>sL? zlQb&n%02}lfOgW2yn@d?*Gifg&-MEEG8nv$gB~0a7l2BHR$!1Wm${xN`_658v(D+e zK__1fCjPX8Kk=g0JE^Dehlwb=O}^5{R;V4J!VnNyUnAq|*VO`%(!3=N06yDmV+Glf zS+n{4Y1`4^6y6H&T^l+^17<9sNtV{Hb@$!iCgnexWr?)x-fKEVOmxy-Fj%kY46(0K z;BpI*$Gzds!=mme2GN(6KNS2|!?Sb1e7M*LHlTtUk2iTC#EaSx%=B|<$oUxFI-}-) zr5aFdoK~-ca`I2r@M5`+-y|P#wv^dDzqR|m!XdesrFP`h6baQB8b;(k&^sJ;9Sb#@ znvlUmv_dZ~tD98wMYY4*kqbS7trs}P8(9;u{B(ERF0_70ikuC>G!<6>~ksaVh* z4l0hqWx-AkiE-npXj_kN`<-V#@tF8ZA4N#rW8>E?1odA<9|xIL-fe`|$Or$;G0rFr zZ+_F|RZ7QF!QJ_914_178+_tkP7KIq(c3m*gXo<~|6>DJc)-NO>!L2hrWqRzkMa$1 zbmJu!rfDvQi;{k57UGBtMqzCuF3{Bmnh(fDeBF9Qneg;eW4*Ky^d9yC#b%#7n?l~i zLQ+XV*p;aA)97qR%Qq;UaKskaJ6jQJ5qSi|v(Z1dE_!RO9GXr)8g6gSGo@vx&%?ZR z>3nmv;x8EkzqlzJyiPL*=pIvFa)YIRh^Ns5e@k=DqQog5a9cz{;J++8-Bv(>2>P-7 zAI3-ha{!Bdj83seo@QSwawU2@%W5HmP&+BugZr?qm7;G3l+fZN+-!|=M8?2h)0@KaK;&fZU`(S1blY~d{H-JT89vW2XYnJN3(VC9#@#`4Jcc=eRx@_n?h(VrJpmw7 zJ?AG+2Jw&yRA+YC+m0}v%E^HmXaM15-QTZN1LQ<|a0|fo-%NDr2nx9A?**eBOx&@@ z73|En6NKq$$lC%25(r8XH^P=u0e$iQDgX6_4(+@JAT89WW$XGrzFaSuacnl$8Sl)F zN|}>JQbE^m2zK?!i#*?M8~qr*b>a7DTX<5U*!L3@_gLk#1;DIHvFTRR~oWJPcadwm+4RYVUZub!&i1Fc0Ll$Hu1QiJwx-YDZJ6jk|Gvt`i@Z~JP!~sbgoVB(>+NNo@4zlLf2W%+4AsC zGKVXZPgQDMAGWs|9e`75A@`dtYNjX)eSJC^k_I&gSG{G%WC5NhKsu#UdPbuMJAy6i#E6M7pAEuO#0F;dn6z? zs#U1u)b&_S4MXNFY=4k?DTvsfYJV}amA${F5tUSrXBIzZAP`cI2n@BbjP$i%d+g=Z zJwMJbA_c_j;-8_!qxULB$Ow`&EF-82Hcs0fPY&l>yBqb6y3LqK{e0+EARWxo5bQ37 z*0?A*UjcB@C4>tBM&RCfDI-AE%>-HA*_1)Uq&|iV6YP$;^Y21n)%2mp`ecFA+k^`d zbjHWlB`KB99Njrb+W6R#jQcxvUS%RxP|DF{f7a3P4DYH*q;xZG#}K|REAAx@rXy(0 zn-Jlsc^&q061%z6fX#y#gF9f(YD(x5cubT}Yz(HS%&C5UpDD`9zD2tiD$lEJ9Nzk9 zZVXjNjjI7@1X)^J*!YV55@75wU0{39V2=c3w^($xx~o9GVA8SNF-(p+ci)H6EdXY< zN$}+0r@yeVA24&-2l*{Oogs5Gfg&qYEK`D1!A3s}cv%=MDc6Briv7kS?&YJqVvkt^|NM+HF=iQ5t09wr!_MY1GlGRyB#)Vl^hP}Xf|)pA88$w#Vo zh^wM>A`{Dw&OX2D^5pFNKHOhwGnA2Re2X}2EuV&xl4`mM*aTE-XxEN%uE>O(6+n6isM)TWL1bx|gDT{T@x2|8O!Z0t& zpo9-i1G&fsd`orGBiKFrxFe?Wd-Sn>dfJu^QUHd8*OU3Fgo z@A>&+_Zz$&W_R)*?H!o5cs=_i&gyAv)U}@342$#f${nM}WVgd50dAq5%%0oY?(eP? zx9;8Mn65qQp!BW)k>vAVTGO~H&?%Tp(BkH)QPGeYhm+tXEUR{9)#bbKp!hdG75^ob z>{s%Q>vlsH>^u$vB$d&N*gLmjz3`&6JR!vXkxoT;ksE+->Y26BK8O78wO@k)Ye9R- z{Hwywbpn2F-nxu?n%}zt50>f;FNNU_a*Kz_Rq2tR))kNRd5$=b zuAoZtH2srMY>gazJleX1ouRT`DF!MjuEs znsI4M)1!9GFwxtC`vmU?KMT&J7(m~y>6&ZC-vH`ssxKT9_xqfgG zkFa_aqyM`kRlDa;9|yz6PS83HhMf?02TG{f!zTUsTX7tE*p5r-{{k{!(B=)XpU(b~ zoPb5#<|7jZX6z%q`O^RbAIen#p8=2Rp~RI?AlsEZ^!>d3UE-jJ1~;Zi)kA$J91j#0 zJuZYsR>#eOB>!Rvin_*Q0z&T3y?Nu`7=X3?(v97a$yx6l4eN*g^7zIBIx-Gh-y9P( z?p^t`cK1k%q1@D`4l`kQvD$6hyeH$a6aI(XD69K9#l(s6YG^kItXOn~dbA7nZ!AeV zzW?)(jc%;m@%dk}L3?T)(Qo-vYy`Zb0IV(5I#i_c*&B3}=%UW7tZ*YRJ<-fq5jBQ? z;wf)Lz-ftqp@7P-NHbS+FMpXufLr;h4q~lx@cBd=834V3)CW#^dv{Nj`Wync&#O{m zhbeMeZ@WMHuEJlb@Yi+6eZ%?Itp4q6kg!h&l1J-1Z$>JrD?r zhE=qhaP!hL6!UgmmCVSOe;$Wju}C`u!OX#z40PU)m+}6v)~Fke_megu8C=*~YqEo# z!`*-&6~1nq$JOuA%Ly!EPuEx;X| zl{;GyJ=nm9Kyr*lOkr z$#&vUl{DdQS-_h7Gv2fvXlN{FVAEV~md)svBjI_hAiQ6q{;4>N-s{0DaB(+7IfA5= zn$5M^(Z)Y*&`)sTuvD?>rMq}FZKMCF!5s>#xDLRCf4{GLi02-kahe+V9NY#iSi3?Jx7U~DDay<5GV%>E z;!;eDWcGf1A%2aMnWgz<9D|UHKFxbK=G*>%EJg&;7H;C(habZPfK+e&&sHPb@iSgq z=u%bgx4f@N`9x5w3SxR4(^`6Gv9|cc9ezoa%uJ39X1elAu-e6k7&pFBVnRK?#%8FZ zpTETR8sC~XIR5&ACFJGv#^eAj`}moSD${$T(J9YX1xO$UTR$E~CnC>-gcI@Ur%qq5 zW%hwH4DX;fcVpn`t^-BnB;$ismw~}#sjz6_{$&@C!>2QinB}=!_@LSI!45<TwqZ+DA;I_LNKT-Ym|vfy_Ag}p_R8KdjHV%6g~pyyS# z7+VqqvUKH|*?)>&P-6!YbrS20M1XMM6h|vMwv#33y5xv0sB=8_J_!gr^3aIoP%nc2PR*`{r!(8T58+xRFMB;1HT5T8~;A_&~n)B z7ZXvx5F(fe(~mv)XTX7tH&bUF4!0uAmA5s4103auCjb*o08H?GIy!bYZ)`&BJ~N5U zAJ0NRv1i1!h&y7G<}z|@n-t$9^bhhy$l5?6zg-EB3{pi~!p7Q_Gc*#q2L4wzBg{Cq z9libeTfBk^ICu}MS7b;k-P0q~%drZ}lZf8)xn}kDAO!v8U>oeM=TKc@C4BR`MqRM+ ze7<309@;7`XW+&bO`BfB`rqgYMad4`>7w@vQ>~-shuffz<^a|WH?ys056>lwS38*m~ ziv$d_R&?PUw2PNE+CL%BM1}D=k-ph3#q3Nv)XF>dEipeKA6NTwL5$Yic8Ra^k)RDl zzyo|ZCTg?fpzgLl(1c}8#jOty7B`db-5yU%El(WB;}`eI?3Gcn>Df0N;Uuz?yH~Zh zNY%4FJ&`RUZ}q-+s=>MeJ;!99Gv|b5e8ZPK92;(xK0b%Twb+w00KO0i7q>xa_0{N( zL9BXs!6mXXm2Vd-&uO8+-;a|Bx`k>CvWsL{9oPYYMalH1NE!Cmg+kWKkdN`(kAk1o4+R7f&C`=V)CuHbJP27kHCrFFJIZw#%~hP|b~_ikTd zx2p7v%YTeb{8+Uw72BS#hD#ZXN-g40`M~rsJ@YQ%+17@Z8L*>gZK)Vmb?)HWfcn*p z2SxyL4n##g81U((kE5(%pG^%;Ky@FABxJkV2b%v3VZCvpe0G)Q`d!K;H?@Ufcv!Fm z4OrUH(90;=*HG#6_&7%}^0Va%8pp&nm>)YD1)=zpzQcrG-y=e3I7||?aAWS|j zDzOEXsZ1j*PppX#2o5697x2^NEp5U}uom^t#UYAK{xOAz!+eho_2#z=#1;8>4y&X6^kF>ct|@+ zg4I&%lR&f)m?&%-#UXbCMpyc-r)ltD30D9p7{pSR)fxg?#j*Aet6 z#z>miq0Gl>OGno>U7vyPF=N0fQf!1v3gaU|hB_Y+yFe)&I44)mPqAUM$ma5}NT8AikjbWl7(UpdN(33;vt zkccq)OhC^vBL_y`{heR;2Akg6^3zqk)zF~9SO3NI(ByB#&SsqI$UaP+)Us51Z#oH0Km)cdvj+PO zgJA#xDATZGiNwl1SoQY6_j}8mje3Fz?wn)vBw6JU*$}H{TLk1tyt{C(jlmO*NA1Rz z4d3+hr#0&PM+hDu6vsy=!54t61qOd^VDSJn3vm7<)De!ktsBFo1Eq^$MF#fuGO)u3Xu#nlCVKgST(pxco)y+3W~c zAbaUr{;s8`N>mmTaw(o~w`WzKB^GUY_cS%q4%9#F*rdh**4h(50bfZR7-iZFXKGKN zqk#_-0#B?LI*|EX+7Udb>$m^kLz0jPa~z#7`BeQ^s9?*v{WN`Zf0=RRJO4j>6#Rer zqss4{o*WhV1|ta$AHGthrgNQ9k=w#8qj_Jy#dzQ6$LbadC5@dD$`q#L4^0td5`THi-`KA?j&g|0=GkbQB#oJbOV_JC~?+rXTbxOZ9O&6wjqMxiMNV<_Y%L}dAgyWH(}|IMQi6w98w<9tklbC{zBfANU(7D zk9pmFp51{1dVcCNhCe*r-uN3k&)sg2bGjRy1pfhF*M+A_{9-~M>=*gS@~aM7-{U>< zQ2O!*6Sxf(0=TC0^Ot?7f8{z7MJ(%oU$h`8mv=+`zZRhP@-nOYE_gML%j?QiESc_j z;P&a9iH^mv(|Ly#f7bR~>pMt;B#0*$$qtGSiOwf$df+{vhmiDTK*@>1B{1}@cT*a_ zz-=ixa`TyS<^F9%6k%Yx(-semb|q9z;jm|9Q0%e%a$qgr%F&K6(11GBs6*v{rfnA~ zlSyylk0Xrdl~zyJ#JI7M?&2EEekhr9S1 z)v_ke4f$i&L-4m{kX@TS8_Wqw8knx|c!c-h;FUwWQRltK~I1oT0fnn>XM;*q3T`^k!IsugVy5;I{YPd7~ z4a?6fpMWbYV?w2RKB+`vj6uqg)I`A%t#npSbY^)s5Q{X1_0o>82p=~ndF~b1GEv^6 z$}JAGksNT*QF0{YU#_u=XZ+Yd^GNz)YCpluY=L7+0(Kkz_ce`T$g4V3pi50$&Se^R z#EtnX(9Ac~^}n%;h3%uek6vaSS_dKUd3$Ug#Nb+lH^sUKstrT z5cH2|Lw<>-T%47&F9OsF`$>;Q08u>XG%8pR39;M*O`3Q;R6SPQ)AJ|co`D4xN>IXP zU`9X?(1&{0X5bVk=u&t@VM08n*Zlu_ZT@4mQ42<%o76Kuc~}S;SNw%voE7+>LiIsG z7Cjk63CRM*;KTf&5#Yce&dgM7-UXJN?rRA--O^xA(@l!^0jvrwXc8c_kb(BZg`01- zHWIpzHwK`b50*_f*MRQ$6zGf#5yG^XkaDuLj<*?0qbj(x{P&=Nh?ZW4{n07@BDA5R z%Ys?^XK;mq!!^qAbm(`=vz=NF2)ffX)8#hr$3<}GR6>**GlY5r=kFdo#EDZrrsjXc zgZNr-33;hH{RT!f?j!*1QZwod9Gc*E0vISxKU~hkG0tuk&|HlrnZ zSZhEBAfYGfj})nVzv_(~l83k(n{n_JDMEN3f(|io2+5~i`mhd(7ti@l7ZX3%n2hhO zo{a)934IsgVUT8u>k*7hS{i+P8|G4i)~h}L8bZ2XU&Rwso<%a19dMmkNWE9x~Ovf z{Xv425yWuVg?jU?h6(e;&Hbk+}2|M!W4tv$QW!Vd623gJjLYv^;n4^cE;|lO^+LDwo z?IH=ZK>n-bR%iEFpB?TY9%c0XM1GzE3gQsE485M+aX;A&>%rb}7_}W#CrUzbc_3y! zQOhU6%125qV$84IH)ANs&`NW^0Gmj9I}X-I2oU$t(l*8+&rClBi5muV59>jnOU(Of zE#<(ZSN4L%GwQYxb9m^vU@>>&7_&$x$^$HMczI>%#%XGUaS3PzHio1XwIgl%+zsSrpk5JWqQx(OL8S3zcV5gQ+ zz}~Zh3k)$%!_Atp+bnl7z7Jq^O9iO7=OOfGFQhg~3U;Ha%kiE0)1@56(V{kh*9FaE z9jgiLMeHqGx=UtpbI zQ*>tkAxcK38iRkx4voLv_bnTzVkU*Y2HIGnt?G2nLGQ?)Yt=fZa<=mLZcy&@0WE~Y zHIs;ZY~hdKr?}gcvPo1=!87M3e;m^03$gq{Uj8_|nh&P`+PDr@gefQLdQI?^UyP!I84XJ>8oQOn{mlwWijzap(s5^7c|bcHC# z+FFaF0ko^!;k-hc08O79k_4AyQ?Ch^tOnZ4FWUaj?N!TrK1fQ7hDy5yC&7yX>M_aVgh#Vi+`85#npb?z;=1d{*Sx=6(O$f>@C1>(9ye# zV=4=9QtZ{HTL}{}Q9AcsYEvH7+H3n`|DU$bJR0in|Kno|Axg4u2_Z>k$u?97iL4Q( zwAiw*N%OXpB_VqyM%L_~%D#;(*@|q*I<|~`8_Wzd=69z)-|z4D$8XMY%sGztc`x_A z@4c_*&67NlkwP$!*D91HBl8a~hbGDB~o8Uv|GO6;?Qi%M!%~El z^WB9CLq!4S1fKmrq?FLFv{Z7VEHJ)BBT=psw%xXLeB}FY`iY$9V#BRE6mlL0$+HfC zjPe1};?o6?^RZj==iYfCe;!g(G7X@h0Qs`tYkC*yqDbaq|8{&**y;QF!#WBU_G6mL zdIsaganKmC#Q-M3jEOD^$H5%ke*)4~bRd5vO#T$| z*yVPz%xKYp!3LA&#=Cl<3*|zL=@ZDzeQxqx-`IJW5P0F-mWp3>q5w%igjj*6ft8_2 z#~a;z?s(0Rg(ky>5cj|r9?qa>M7yP!ICQ|qHAL7m!wcWQz|}${Hj)TVat-WKU=&K> zIhmdOZ}kN_@sy$pIvdN4yT}JI<^i|1DcL_sZk7AgE@uz=SE}w11Mt|IHit}C!3HrF z$Bf(=c_L)rbY2NK=!knt>84uojxzx$9``}zU;F<>S(Y3KQTn`q4?b}?c_sRhfgI+h z-O9(8<^PzgYK%k#pzg!fSM%c#r3|i_^Kh9<-)9B7h`Fa=z|E;7J)_dR4v$zWi`reO+bNqZ+ZY(aw$t;*0Dc`C5YiKJX=y6F6XgXit`c;3MGux<-B~L_-7=$M4&7UFNg{w1(8G4jVHu z8T4FKkeh*KgQzIli&{8T6Vc*p+}{e~6cP|AuSyCOIog3Vets~MO)oI`}Fda`A^Gp}3D_!xJPIGY<@5k1+ zJhycLr*K*cl5ahoEDX~M-&PnID??8fgQZ9~u>I^#=fIlsNgq{iC#=+GKAJ^`PriZ2fmG6_C3G%YGRl(9UtFFlDkB-$}aKX$_ObBg(%O5`jEtj;Ht} z!xfO9$HStEj^~xAJ+F1O0XGCfg0Yc6vJxuVYB-aOO1|2Qs@nx>qzcen4TC7aYP`KE z(?Ch>?v=(~YZLZ1?D>upOY43=d0 z*csy5Zmn{YGFLJ&MsBU}+s>n8P^z2YOjTJ2$Ng=>O6%}D>DM9u>2;eXV+<}ek-$@K z2HT#O+?XgQk1K0Ea3$;|nZl-}crm~q2s8fK*99@&DL>d9(Lz5ONJM70AD$ycIYz!b zc%vyj@z`{&XI&m}i-r4W06~c@Z`PUZf8T=6sY3}ECx7ar2V!LS>cuBIv9~npg%&J9hqR!Ty+ryJwHQo(1?M)9qhT z=X`44^JnfXi}G-J3a%@Qi>N7;YeOym(|A;vOTVC|xUnAs$`Nq8tZNL<)M2{EY~5XZ zSCy8Nt+tN=_AaitEIz#ETAj_MJ5j;V#;2IN(F_SkebxcJPTQRxZFT%Bkn9lmz_q=8 zO%)_~2o^tmjcGi-Pw)k{nB!UjKFLi$9pnLeq(=}W%wgD!A859o%_?m{s=w=<1H z&^gf68=Pcj3Z5&rjV*5u$cA-ROaM=VhI?%+a-kQUnwN7B2?o_!nVG&JNtytQ8gI*H zI%N^|YR1zv!B0enQ(kM{-)7VR+bP46l2SJigvS#a|206=TgFf;L~yCBx=*(NFC2u_ zmzn4zCPRk3!^x;)Xe(T{sG4=7^h7+XVwPAV zn9bGG6XSJcSA@vcw>;Du4X3FNj2s4rXP(1rc#gUI#a5mWWe^! z;TeVGa`s&mJA+5t#wI}iNIS7|8pztq_S6c%q{t;Pvd{h~P#x)IlR@2hH+N9Z{L78i zTjhxL%~VSZ;wlA38{dbgG)h+-<=6s_QnhnaJCs=9C53>hz*b|xz>#Z$o~9TDena!m zU<>0LB&#Wwi3q^n*itWB0WSJX_xEh+paf%Z0;>g^Ra8QR8!nK|a10u1_^zL$B*#r% zalTkln=iWvzxMEh1Skg>rt}!O9W(|jd~6-NJz<1=e74j}(vsPTbyknOm2TF6t9VIp zfg=2;wz5ol2x}fwSD}j+0}k4VoEIc!*6Y}(;i(#OJl@~J8KMBn#xt&WRm<$hom1$a zWL_n=mi=JIG`Eg72i!Uq{W46$q8Xqh`c-Ufa;)HU3aztspAOch|c+3P&D(h0wA*j?o z(`GW%dp2BRXzu#giY|UV*0vFDwPI!AOK34jxY8ar|Kev<1K2Frj*g=|UOkuz*hC@` zUS|!Oz2_QkSk`1$v49F4sGG1uU6~#S1}ZR(qKZC!-s7=oi33Eg`;X>E3u=F}z{LNsjrN3S%}49CqGvSI|CHv8u8OGD z==*!w6Bj8A&&{DP({YcZ->Ynj5uXd&J`OYM$!_|zSV$Q(xg|@rDQ*;79m!{-}K--Cm#eYc1KOkfan3FZ&hE*HK z6*yJ<-y&&0F7l#EkqZXY2`=bgHskvrZtUDLK|%s(A;1XDLY?eQ4i$4<_yp<2^?PuVVm;Ig^-9t%4_Y*Hg0}%TddX6G0ogj+ z1f6|q=Y^t3(fy2)dEBk#4Q0;Fc_9)RKCt zj%|5QpO}Xz0ZDHbntl3&+7bRWK!daWi&R=E!p}o0=z2@6c;AX4cpkz>92i(ZS z63XPCqr`Jd31q{kUP)KxzB<_6ls# zOqN5q%^~@Cf2gHE3@(ejFo*vGVv4B48MV=*Y_Mf-<>0flmaL#Bi|&B zR(_`Uh!$klx_#a=&7ii6sx?OXYmiJnqQVzaN~a1>wdrVdl&w3V$4Ox?PR1Y3yck8d zHCUO+mO}xU0&%~HYS`0rR}2dJKo!JlLuakuP4{0t3tvmEv{b<6w*mc=1j@qS-DVUb%d4}s zn=bMhC*GFWjpOBeDSxGAx6n&=wIi@#llj|~b)!{MZmf1R;)t4AkgbIH%mFCC?(5#LyTsLImtM;@ZO?G4I7GV_)7XG>r%^P9m6%-S0H;s^ zikDR46K11b6<+Bb$;Npgn%oa!Xm(N&<9rs;s8Vb0h0X7;Pzfi>b$T&r^njOGX)Rm) z?ZveLJHoL98>an?DbOPLiZY%cqnwURDlO=6L!%AXBb)9EYLV%=HmvxJP4F3)`b_Q$M%_Fa~RBvYk_0xB+YG zxU?1qYV~!UDVmmMq2C|r$-S_w@>d(n~%Qm`TfLAR_Hl;&0 z=4!ONM~#nUW?oV{r7NWRr(j5}ZIg&c_raox0m)aMxP==o;f{RSbi<^u9x1Q@`)O8R zTFv16S6K4xp`Y1J-ln4b4a%Ff6|UQVQ>4q1yICNiF{N=qhP%pXaKXbul^CXr()n9LNG<;)4R77@)ot-md0bWS4$%F(^pA zUloGPn`T>W;Z#)?yu%eQ>;aoSZsU!^PE}JcLJkIT1G`Q8>@bL2;|)pA8T6{;MVz9Y z&K>}+EZ4uXRRK+)$=?*20Xb z*(|43kS2>a-u=;#-olU8pe()C&xns=HZ+y((au9Fcmnid6hstNZN^nVJ||s&LPgHG zDi0mc9Z{(R1r9h#e|I2pRwm@PBYMtPM=QW&AIAVY78#2ayavhw2};xl;brY#z(DmQ zx5*k)G1Er4M%KuG6&f%>`C#{P#Np8WG~ZO~i^T8LDt92v*oy=vDboM<^dLCZ{AD_o z3_#N)x8=OdTMIlvIIZXG2<`YW(tZg-zd@3nK!PV6QYpVVEa3x*wtP8m7AUq9@Vlk5z9 zqJ%DgXRuYmwPkYz#9C-fW^CXn^RM#X?*gz8pYbr4((d%=NP(Q5>O7D z4UL}rY4xFA<0xiHNmPrIzSE(&&;3~kBhS{CIeRDBSA4x?k{;>fjOnT-vz`UNZ`+(H z`3+O$r3e;mzP@d}>?zofU9c9wABbUXgO21{%SV$zk--M~)naZ|?;XgAX}0QNzjnoV za!S(r|B5icB25O<*}jA{cz5qF5)fDJ4)_E-Z|bN8c4(nl8S0v#hUmh;V};~svbW9| zcF)=VrhalpBd+ojxI^O^DQ1nF=-pI_j6fP?hU;bl<6H}F->reri_p5kS_d(Y>b!vQ zC?KUg!U;~1H&_WEb})l#sdvj!$}a!@UTR%)PmjeSc>hXjNu7(lzfS%8*`oMK;<6xO zjnKLCzA`KA=)oHPHFjrWVAcrGg?|#`Iw~WahrURdP+D@s3$GWY!LlRvf-NO<_Yw{V80{xhb0#DrsB`ig&%l}SZxI7k(A{}QdF;<1~iDAaT`%zIA$ zqNsqJkX!Sgx>U@O?Kd3asz*09BGF>2hmoB%-`0nRA+Kt#?|Pu zXSsdZZSLiB^WV1a5qXnQ7Qyk8miKV}V9m0mWQv?oEOgHO(+(#V)nqu8nxZc)u+{{ygVZsWLQ~(W*Mid(dr8OOj6E-P7PWfu?jW}2 z7I1&m10*8!_rZ2F7V{&B;YbvmRWy^E?P=5w)fEd7HXojT=&f zEs>8OaJ4Qw#l1rpuYM{8ITL_{DaC&S4%b@^B&mZvaSk3QUzNp=kfm$R7T?IBDb0U? z0GMV6x1|BBWt5rwsYVcaNRtkK%uX|fqXM!CwC>)x7msGhkz_R{)lW}?&S(5G>P5(S zEEwpANLtV6n>edmlXMK+dd|R8P&bKAVAAzessZ|2I%@2>L^H{B)#13N?v)_ttMkj< zn4uvjxy_@;?f&50uD#^r91@n8LG-G zagRFFWhl#)&eD^0aa6_Lv^8|Ap-u)SZrT;QlzJUx@L=?bddO7KzC#wJ3dQ}dLxcuB zV;UpY>Ar-p^+>Ae-bMMxIy5LEv@2S2CQ9<+2Na9KmigSZeUsWzYY!WG70;Tw^gP(Yu*M*oHE?N+HrP_q92XPk<$%k2U;ORYg(3EX zRCVAf`ls-paQGp_vGp{3(JM4amgtSgI*ZoM-Hj?87D7dq^^!OtCQbg^d|98L`qQi` zlvLlc?yhotJk?u5Ktk{tQ?JOgu6W8XX0X?#fgz zo~Uq7c9xYYJq=;mA&{EGZjfPrD2KpdD&eBoD)dPHscXyHKBQ6pif&IDbBy6_N6Uv58b%#74b9TEeXE)3my;Gw%&aH-;j|=kh9!h<`>j}v-};`(;{c<>XG3- zi(M}xC6%vjrwDK2zmg_nAiAUc4uK7ay7RDN_OsCSM_u$Mh8oXy#DUi~dO>Xx6bGc9 zoVYWvohAb>KwL|AQV|U>{286P-(pn8UXE~s^sm<6$Cz*c`FB_Nmn;jG_b~}JZvFv4 zyA=0zlKtD-8RY}tk#9m9!t$Qyl9zcF?}sh6vQ|mxh-mS9%CqnmIQ}S*7uyWEYbGLZ z00}&gWWPOgTppa&1)&a+{x?64a$ce96Y=d+2-njRKa-1`q6>Fgyd3QUp3PUm+0 zuUf!iR{4%4UB$aJ>D@CH@JsN%+-J3e(48B-ExIPyOMCKh{yK*$csJ9|r)WRdZ5a|= zE50>U=GWM+N@wb~{rU3LCAtI0;de4oVtgT=oqR=IPF3}gbQY0S_m~)s5W%^S;!=ey z`SU`BV&;&A)UwXC{hf?nYqSu>JZ%9V5OLX#vzX|_JHaajpE3GMQo-@})rpDEKrZKs zR`u=}3F-?f9%nBkyHs_)>Gjth4z*J?Ag*id9n4(xR(LByfEoW6Fny1cwzpR$B1B9*^fdzmD> zDR~bG4lt|p_-X6#RLXi>}^{tx2_g z*$i1S*ae%jPcLB_duB&%{bzZeLzx}=Qz`gED?i_|<&Np(Efksq!rk_P3Bi~@sWvJy zg%pJNmpA+FY{kSloz-zIFBF0=6TMe0rD5-hG55b@1-yKgiz+%wxM5`RabtP#F05E`xdY@P|8b(vQ-hGUA4JX5?>J>3 zk4Fy^4&>n3n9fwfO!AE#nNa%dd_p*)oyN0mSAw1lM zNSo_fs$(?Msxy6f=AdDy&Ou9!@u*q1*2hae<;$B-Q4CO1r2ucM&iaKJcH)nj^!K}8 zCykbluh9ND7v8-6o5xkZ?X@p!sO_uT&xYw+Eu)RJJ=iki*Np1@r@(U*&cf374#p9AZqQzl(FU#5J zU>bIK#WRnkzF^)zminiHZT3OiL)#6(n^wAPZrhhUiXBsZ$kB{={l6!vw6gv-yu^j? z19Yn$7wwI-o|3onqhadRu@&yotzH<9PS$&iX&5~Lo+F$5*%yCX^^62%*qdMX0zJ@qsA*DP_YQarUf4LF`>aE_y4a+H>i%rQbpj z6-Q|MXqw2Ki`O;;6Def;7K#1_FNE^a+c+FQ%18dS(0ajeD)#MRcOe~%d5eGE8MP=x zEntZsi91dA$`{;R)zEX_*B3Dw2mG(Jw4W4XD<12*A*fW2<6GLViYxZkK-a;mY5{ zMfq}}b=E@@Mjn}`l$2*~Z6>dX?R+LUy*Z!qK5HHu*_&T-@Cxw;6EuXGoc$V-VDtKu zQr4LKsRlp2)z&hO6TYd77&Q17RFf2FIcA5bd%Y^`ecUrZ zJJR|OZdcpWm5w$Z>Ly;aNsL5h2&W;~)pVlQetyLnOptyV~-ep9|d`3lr~O#g(XgSEkC;O2aWHzerVXm)%y{^w^eb(?^@3pRdCpy?$NlU0m z;BYu;8*2+E98NeEhZDq!i^3~Es+4ZvaOw*-Ij;$ILLxMRf&;nUewapRR1l_tMS62_ zxX8A1$6dqKio-3(i4w8`M*2Iqh2!fh?hG4SJL#W4JM2-ohV4{cCEh{H7I66dvn6KT zu=-E$tE-MIzux9M__Nw*m@!iMv#UPx)wcRCqoa2&e{Cr>x%Fj4_0@_4Mbj^T_$V~^ zO{MJB_>YQVU*(_9W5HVPp5yP>Fy;jXzt5+p^9y#k7?-6rz zY-o#8&6n$6my93L-Z1(@ckJiZs&}J#$y<}k#$J~8mNCh@59pn~TD0>>QFHn`)8_8&4%-5Wg>vF&4`fs}pfwv);vAMemm+nhE-b#9WA*KT z;>&YaEnbG-lubL3xFm)e+}Nn$%2evf#?I_qYBT?claKekWd>)mj`^N1C|u~EhA;T! z=3P+0y;y`)Uz?fNTzjFt`>M9-^?^3`qL-t}h9N;+mDyrSdx&ps$@OozC;Zz!g)FMs z@ZM$BTK{J~zMpP1ikgJK@NfUTIXy_{+`$#h!F)9P)JENc!t@^2;g*DpR`F$A{|dD3 z$o<9s`#xB=oH(@oMC3O=?N!o=w85^IH^b+Q9%h-JjE?-WGGX5S~zIf&rEAA&)fKFmLx4O-2Pr>d*OW*q%ckJ=^3T ztu>fmgz`Py7VCT>q*!%=J-;k481aGfT5nffwa(U0?Mm&xEAUQ{Vy=)w19 zC-$vN$K>+v71Ilx{l2Wb);bb9WB!0hMf~cwk(~vL0|g{d>0>^-@)wE_S$NusWrok~ z)#ql{*Dw#fuISJaK0kJL*}_A%N5Y46Y*UwikQP<^y1?h)55+5(Q>pjPEt=9EEPsQFPHP&6+V+duz0d>&6(SRgsnZwK5|OTEA$$*nL;=X?-EGO|2>m?<*rILbpZS2c90&&W{RL ziCx_2vGVy+fj*<+S`U(;%3^<^tLOZU=}v}ni`M|Pe$n!sG$AZ?v?a-l?YJi#e{?vbZ$eHj9gq1LsJM2sYd4N?`b zMZFgvj{WkL96no$WLvo2St=#j7pVA@wd#E>`%+?VhU!AWow!lKn)@uLZKs@$4wOg> zM|z~H;P?v`m%Bkwv8^gzWV%;<0(I`NVUpuG|KzZp?^q__EN%f;U93ZAu4wY1{< z`-WYyPtN+yt&)Sxid#4kE8nqHkLo1sFKBtj@k@h}tCpHEL;Tcj=ZBZYH>`A*{3N&O zu#L&U-f*+j^fQ};)V|<4ymFK^zS*|q{;HV1t7nZ~t@Y!%dO34Go0fiJE-;+dv2sN! zajoCUE<#IV(y3qe_oPp(SD^G>)cde7P(F#6$a^&k= zgG5uAYSmQS#r^hTthc*&%Ez>AF{OHumyWsh##gU5SUBze+_a;vw~IBMRQK$?bbpxr z$^Q1G<8O?+mO0Dh_TE#w8s4ChAm$+Jw&YQ)Cs96%pm@`AWu}9dlHAN%@q2OG@3D-Q zT5VDh-}+_bo5gpv)1uoRycvuXyt~J+Hmas$n|?yB)Yi}uwe-;a+HZ^NWo<~AlAF;r zzdRNQ9}~B(X=_lvZhkc~Uc}vDar4<%Pc(vh8E%;d{j(i}6*jTH%RRK~py`BaR@nBv z_RjnO-Ujs>lA1mA6Nvk6By<;XiH(Ad+ciW=r3u-c zAXuAn&TD+xUb|O=b&8#F?RN$4HrU~au`XWnsW(&hS}f~p@;@ozkz{}7RKrN2(pYfi zl8m~{<2M*zwRE;Fvd5irGv8P$7&_PD{O1|P!sWz1eX-P+N@m=O`PO#$bK>T!%);Y7 zbQT<3CV$aRQ!elA;%fu;w5v~Sy|6mdOEgzsut?gFd1&qvW|i?1Nl8rHz(L{H zXKQT3Mzw>xXWqT1qP#}1^`2O;_nU$6TU%WOv(Fuyb|CKQ(dsi5v3qva+>6Vb{@h)7 z_wCX&W6nz#VMn~_Sux_Yz*O%@Id)>FfNqX0hxBVPHvfuiYQW)x?YmQy${Q?@>*zEYmFHaNqWo%z! zGE3gE(L%kWz~{&-Qw0&c_HBZ&$dal)lR5iyi0|!1Rf5m0#Z$k_bf0(=7+a%OP-W_E zoUzEXN_Ft1f&HzF^(yI7yW*ai#&61boNFs_X{e?}`4Ay4r|`M3L&Lj)>PIcO@r>}e zanqzd!%N2__tvmNm%kMpw4G^tPM}Tms8mOXlbXcP^CXFiuAsRy=_6{>MaGyd^9*(y znrP0b)R|r`v_iAPvO;K`Qg)o-2A_GVj%ycWQqZF_RpcUUX3R2@`(;_e{t~|_QgB4h z!+lK(zAI+#`%ryN!KNM4-EnH_bG4qY*IxM|*>rGadpjriL&Z7a)gKlO?0m}5aJc%V zWmUM>-Q+VqcFXK%>&#hpZFkqSm)A=?s@y4@3#n?c%YUJ+(aNI2%eqf~UO?EzbtJwu zlU{Q7`FE?&I-7L0o~`LSa57U&x=AV`b&a%(aGLitmTdI+em~0-`;Hf+mk3ugd%JnxZDF_i(=E5|Sk{Cc5L+O{l^z_%9Gp`(EF0OJ9$}gu zo13;!>iS?A{WE>qh(_mz2DM`y7w0)wlajXQ3OabN`|i}>#GaO~7%ojw3%^SEtd+h^ z@7k*M4mY(~KHD4OH8&P0 z_v@mwf2?|0#~B|$TlI9rQhlM>;e zz97xEVVV2PZQ;T{oX%uY5~z59Bm%OQw{$3-1*dZ(~T{ zI$5)C*Zo42X76@2#d1!cKb-W)Ugp%ch36gorE_Q{KU~wZ4lOVgWC%A-*SI^g?x%Oh zNkg9tPG!o<-}PM|*Vr8pu`JlruXj{nZpg{zIMPwK2h#5exer1;_TM((Ty&-c4`|Y@ zr}wlth9-o#3CwtK$#6xz%SdP00pr?LNjKJz_05Yn`o2}LRepW-yvv-}`&Q;YE+RA6 z`d2Zz^HlF_i+J3(!9VIm-Eq{K^;+fi+OJlZ^z5(EEEJnlbZ#vFWfjf3A=;^7ZLlOW z0^gW1w9(YMPP*9Yyt9X4%J-Z-EOX1j4np_RtdBS5Ul4A1Zu4aMvVF-p$|L8e)0tUB zxqg(qCbu5V5DV7<# zxOHaG&hrmTG@@($qa)U&Qb!2HM?rlqHQl< zxFl3(qrM+?dH97Y`y?tZS$3;Hv$F0J^Vc52nC0UGvNP&&qB=r3(y@LcziJtJ5&qaI?DUrg{2{)>wW*vVc z{8XhlcHxLf;(KE;XRoimyO!KtBIJ~lFtbi%TWrZ3fx39y*;_>mTNFEAH;S|T#Etgu zX;?yO-nH;y#Cp;5>@2jQe(8@&n<7(@Hw!N=NfMtGOZYK-x zu2}CW{8qbdj=f)QQ;7dovo$*k7Ytqx$QM2)RB_I}r=iV^9%{L|b$ZcpyOhIoH5~(X z+q06N?C(@F^%tnknt?yGqO)(~?czALUwky~TfFpYy{H>j!oIVej)t&iZJZHN;fH*6 z6zYmoGk=vm>u3A9t3N(U?en?2Wnb|773b<-?ZlfNkgAli8r-ejUXtBBZN8N1riP3w z9FOhq=$R7RJbtX%S~G&V++2oacJz5C~WWcE|t4ysekm0 ztNrRHna=pHEN@HI?S2DRGoKcPRuFwkeTt?jEWGy?YjaBd)DwKqndV|P=p`xLSz)?a z*nDZ^QmL4&JMdV``uSs$N-yPB}}(dBNwi;ix$&iWD7?!Hvp(?R9Mu-x>}$^-bH%Ue>!j92MPxd)x| zC3v(J?NQ6_Q5bQ0jk-DJS*BJOkPNrA26U%YR0tgm+HvePyOrRt*w*7j)#~W)Up$y0 zazzByG|u0LyV8(s^Ep&ldu6Z9_?rEO{ij{`e=VrE=w<7?m$kmiv(|Qg^`(@nZv=u< z>*W$|%`~w3{0UK4TytD=MySl1tSoM`sCxX?q^+5^59Nn!n{!v3JCjJcdEhQnZTPO7s7U!WDpC!mrYN#EyAsKJ}gpFULYYJ6)dpp)!u94 z;?wRXH9xqK7tSdO=j`9+^<6(8cADl7DSB$4;v9TOZ^stJ`#U@DP-pD0xillf#u2-yM7L7J;oQ!hOzC{Y|#@~=JEkj3;rs#Ck@!)vG7r)8qw(95xJb~5gIJeIOP zmuOXaxcr35rURShPV}C;e!n?hh5A&C!^+NwNQLW$A=(OpwQV~aL01?F`1e$U!OC#38`*Bwj1pq zDI4ie-Z!rrm9SfU)$PI^ajg)sYb^t8bG?FZD{VMKH`?TmR^9pGcw$_x@$5D=n|*eliZL0Y{IK%$n{M|8 zl{!*WX0;VrRBrm@n?Ac^)pRiz2|9k6_G^ue)>R7cHf<9zIxVs$P9$v6F+HCR8ea<> zqS~T7#FVxb>a=c7D6Fc86`5Ns)j9uJ&qAHMZ$2Wer$qg$en31T={?Q=Ns76zQUb9jt7dk?ufB!%q$_6kiQl@O|HXP( zs`ps<-tDh8N=94kFA*~dRj%0Z3F$gwmvtgbc&W@aB}>EN19HmgKJxqW^KBAu#VZr# zHEE+}H5@y2py5O{LNrX4ZI?t{PtR&IU2>>l-_q z#rK+SI2L{1xjyf@NSi<6=wanV@UsBtD0A&8=L2fcG{$0)x@QQANE}B z#0i{F_ae8wZX>!{*T|^)?h5feaKtT7pjcnla&Gvb?nz0bVzi}X25nYoHj$hoS1CcC z?l~Z|!a`V{ao@S%w%fk?0l{@q%dQD&KTR>z@IHR}{WgL5FM|t?f^H(e@hi?{ks0{*jUflz;2V9>=JCcgkpl}(kGi0ZZwD#cuzMGVa>oV^Qr8tpbFVd zmz9wVjDK?vFDGC#*LlCU*om>5R#!>#c|wBnH;AGg>ib$m4%t|o6+GeiQK4t`&G>9a z{(cdaj|t1Hp0BHU*7wOy@|fN6^ebX1g&Lb}mmf`ewl;4}XT{kkb$e;4fe$kL6%5yh z(zVJiu+s=|^#j--iXuG?|JLS<6O!5>@-=wGLJ-%$y@LT`xUnwggAbDYTNBQuIC~ zb5E)4Q+!eF+qbIGmI-FZ`j0g}xqWhmc(I0`7wv;vs{9XuQw!d znvD=F+MgI-7Qg28A=7y78uhJ3MQlfbAZ204MQ#eMcYau^-Y`|!dI}L(y=!MyvLoTe z=_(EKYyolNrlUJ`2QN1Xd9P2oB+_Bu7WJY`%VOH++!6mD<{u?-M2TsiFOy~$UcKb1 zC|w^pD1Y+glC16BjRPV&ISuv=UvlfrOuQ+ zwjI|n;1J0P4r`>{ow4{jac{ym#{QRSiP0}fQt|yh)Y=y|J}t@O$`vcM>2C$fu6$_t z*xr~))?HuQvEK?e{mMg75M36;-yHv%)NNx)h_tQXbrRv9gl z`MN@><4A!e{TA&_MRDGHfJS4e`)r>_0KQzF|$^gpyf7}CuX0w@7iG5FK+zC@x9xDt?rMH3_UR?QqET#RoJ}d zF)?zLwQJ{|jp6wF>^JGTmK$d7_A_DGsi`e|er+zdk1pjs_I!NOFruiaG^gpV^QGqdx>5s2c57-Z z+Ir;qnzmPE(y1CvDmU!ex%CF7Xoi+fc~Rl7E+MBo`-Sm`gtQFhw41{2W^FC-O&L0H zbVq9N@H9sc)7rU7rdClWT1+1nExejkU}d^FM5i;gnh<D{V?_(_pTiO;3ku>g&|$-jjLBG5pqyUW3E)uQVUaGG+P3$VZxX-rYmb>K0g#xYSgb zQ@T#FV_>g()(#Wdh~mArxN|vIE{b?GCO%GcTsPgUjcK&|c$7C~*({2Do1M6p$BW~} z;)2~h7JZxj1&|%{C$iPrJhXFRtznyx#isy=sVw2AWd`A?VYiHtBnV>;ur^H~jVvwam+Znl+a#D#cmbG=#dg15Ww zoS5@oz|zkO{TLII#$qLhKMxAi{+Sq;`eJQU{I?4^s>`m-Rn5MV{c(Nnn28F0(0a@P z8_*HtbO)W>H7`H;!sDg*;`bjp=Z2!%eTU1|iUf6#I(9Z0bcaCqFZ*c^h@@LB4SG4aMBU$O?p8}gM3T5QGAO&#Jd?$|sQwsF6%bwuXemcI>KGB>Gm<$$WXP{X0#cFjYNl}<_9&Y7`m&po4zdFq(ki4}`4(mq^x))#eB z=SKV->V4zJ7Uj{+gKfCEG!{M3_Cj>Pg`9=L`t>a~{(5S)3-o074TNg!RL|d2-~HyU z=%t^T)3rYLhiJ|FqCF#k+t~k$JS)XMpeyv{u`aA9a9)1T=(ucWLA?&ndZ4ki&TW&m zqrFnfzz%P7a|au9^WPnF z=#!^!IbdXc$5ic}XQR)r97e0z-MQvr*EANs(Q#Q6zvIa&ucpd(Ph?Nqn5VpXqjN)1 z?dO^ctQ(AvJsk_hDwpiJG~iCS+ZMMHhHxF^UJrNXKOrtXiF7(8=LF8bm1I@ z>%}vPBS|>n&@&3RrjrLPHq8~P?+=qz_xzG+_;B?3sWU68k4yC>-o0*1U-TyI%?G>X zT{l;#ap&92HP)U(?vB5^&*RA2t#3U-*K{03v<@EAl2O=wk9N2{?U2-=$RtK)j>>yU z*CR6@xu-V;AEJJ#_EfI%edv9uQEjQ(ZflKc@}%5W(^-m{`95dUtRHW!y<_rjH>kK$x+T3OM-uP#PpTAUnekMFWA90eX!dv9o2Nf&TgkCySp9blySrLoV{IO6(Bhue5AcPfZq&Xp%1^?!~Y@n$z@s?0uBh58-4jSfx!I%a` zpQ2B|TSj_^lQfMbGz^0|T$Yo?(kT(}n~|nhXlM}2z#t+bLO+769~ivBfXHMr4G1Iy z5(y9Qz=uQygd&mnfDkR7h)Ee1SO^;I9Te&v7@)zEiLe91LX9*v;kw4}_4xLP9OWLCDmC{@YK4IKw1}ffE)I7#56Tmf=`HsMg<$ zaKiq!r+-5Py#4P4aL_*%5EK^dH=z#>YJmA+{&24lST^zR*3279`QsCRcR${hiCzAA zeO5Mh4u8Czr}7Qn{y`Hrfy4bf!9iYup@AV@fkA(~{qLmzarwX8BGjAvPgcac@?YK# z_xCX?O-kW#B0Y zl}X^xQ5u4ve-g1G*c+S(@%!`Ic%nEUibhAcG&YxlCo)JxJe5h|;+b?h8Be8A2po({ zr80@k2~ixB#SIMhN5J~L{gDlrK~TVki3_|#WSIy01qQDKpT&$ciGO?9!8;Q3TVvr3 z8VLbEfNMl5=^rk;{^>H6IC+(411vKK8zW7UK4Ieh6R$Yj5{Oyu6 z++$@Z!aFGGmBz+=5pFDZ5zn#p)ChP(^um|#lWS%v! zKzneW2+xmy?``6Bo`?B`@m_Wb@CL0+N}IT}=5N=GH0dM){1^~;L!`I31RG zFouL;7VrmT6Nn5vfs7|ooC!o0mChnC^$29vl)yjU9T@B!80crD$y1gFZ;uoA<6X9c z=*K}qk>BD-@L>vzKyoG$StJ^ZNYx{d{wxl(;LVNtSMTPf6aiO8p+F%iR92s)`zbYh#FiIsx1$&23qjnV(xmimX3kU(x|1QLvy zZGZzb(lq0x7!8NtK|=$e0O*yfp)+Mnx_`fh2rmo{{GV&y;NRF>2ojF{!`4tQBwzyu znQSVQ{ZCt_Fi|>{$-(dxHvGlqQs{U#%8M6t3LBvjX(TEW`TIrxZ*LjQgvlb2ri|_X zgDsN@D3eC!(D6(zn~kRtDF~j8aoKn(kwT`B5EP*?CPUl*@+p%DcmfSiVmcFH%QP1G zw}1URTSfx|!m;4ce>~|RBp3nI0Wrr&lN%i9uYm*w`FW!gk;EW8fHRft|A;>tp@ABI z3$6dojX7Ab_kS_4Ki~F`m1+FnEZ{HNH;GHYm>kH07?*_aJb}t!&^b($ zN#Zd6FYNoT9QI$_GL1oJ5>b>0K8%v^6cU+;XD}&LJVHY`C>KLe5`*$TZrKXZ&_rzi zS8@8zsB#WkZv()UQ5AtCqj2fC_q6L;F*7ca8Mc- zp;7=EvzZXA{s)8u(Vi#qzl-+&ejJ#T5%^az&ZKe-|M12?kenHSFJ5X3`BQ3Jf^7Kv z=x;n(XZ$19Ban%74w=EkBWwbLrwIlgA#pK0lS!ju3<{e8uS_0?pZC8fkV0XjD4mHX zlbPt0K$M8$xd@rbAy6q?4x7lIKq{9+pn?P%jZNeUWa61*SSy!90yGKn7MzejflLCM zNJBsjK+;KpY!a1%N0?Lwn?S{g1TLLFfuJRXO$HaiP(VNvI%LyHcn*qSbOcf%1)=dN zkj>^2=o~zaO(9LL5W&D(06LR72p6Msi4^_>qA0>4k`X)|X~c_F*cjw}P!=9xFsAH~!62~l z7#kzP@l#1;I+M>WV`P*8u!%#0T5Hm5h+H~ETQZkQ2J5EK_|zenNnt?ghDQ;=VG~|`_Y1}CtazO(O3X?%4(J=;i3x5KsU^FNf?2v;@ zcnX{{4RQd3z@)>Wkl75B&7VLzieY4^J2)h4V#^GW#Q{V{qkuC~31B%K{saP`<&qf~ zp2#ImnGG8yL!!V)bP7tKfHe~M6NsQFiOi+pIW%yWi9=z~h$H|MR0c+;0)`~>DUc1C z$GBWDY^Z|&7Yv(-Vq6Tu4Ibfgrh)^L!$b2VDx1tElQ?89%HNi`43xsN7&2tc?uy8JIUuhY+#Zz@>075`#-2A`~)*zwkvOGYE7D zes~mv#4>5v2!Lb^;j$S75|K#b@_EV>0)xrqz#eJ8qYaxwfJ33us8rZAoy}*oAyE+` z8G<&R&492vxk5V12IN3vLWE>fA++&j*q}lVhfL?<+2DgbflvgJNC+fBSRDl;kZ5fF zpa==#9S!scd6_U391uDIG6Dr+E15t<=?I?!!OqBJI;1%=cPe}V)x^Ye*c6mbq|h;x z!KbG{4kcnx4Y2751V!GK5jK;8XOrMG7z84h-*`xZ*hQl-Xb=F&G@d{Pk5?q}3M{}T z1dNI>_=`4V0*wR)LdA12(!`b_1(1R92J#Z20|)>O^A}*r1U7@h%gay+O$7&p4k-YN zKR9G28R8*-=!;CIFd^JSu47;mTV~=Jf5{HX6e^iSU^4I+fy|sTYz7&88QhMIQc%dU z{Fx1z!XS}I;2I1LB@5jnFvuuSxqNP!M&NKb5Wd(LeX0szkeQHEs2GI` z8GwK?_^SfQG$J@G1Mnf6{X5Zf*gP1+ax%wM!2GuT893PcmeAWnG-$Om5r zO+Z8g2*B?tL%lh^!bJ0w52@@**~a0|AynhUye0ppfsWd^9P*cK$<3EL<*NegT%)l;G_U@fa)D6YiJry8a6@zvH(Gt&_JYe7&Jbs z05EG<8nl^!bC_sL{#DKaw#A^)Ag7Q~bSg=)sR&f`(4M1_0JW1b{L2*8WO0dk5baH_0;E&nBfG{_uKI&s;Y-)8fdT#rg+ zKvDs^kIR`Pf&g&xiUJ0K03;O#Ue5290r}FoD7Xd(5Y2=R5fpejghC=hAqwpuK1(wy zN~NMCpfoYcWITl6z@Y)1NP_rbff8h%RVsu`BWz#1U{a*#`R1Wws34j;$;eT)W zFBOkepaFnp1&cvoumE%jwLJ}@4F{GE1q%kO6MuFHg*%1-@eC+^vUr3l07_6i8yGu; z#LG8i{*n}pzy-yF1YmC_kOOQUP&=MWWMC+XNM6`hb3zmZC(jW$5YzBu( z;jg@KuYtv%9YX2_xCD@x!ugG08C>9n5GbXX z7?}*rGk-)79U6nYY=o!7{K%9q^9&p6ZYGK#L>ie-4wgOmV>q2|($?2oaG_$`sf`2Jkar*a&nBCr_C` z=eY~i`Me5-&Sx8r0n`_bH*5Lw<&M zL*y@wG7vHah!H9;1x%R@Kx8O?!;MxeVA&}@%B4ktkwhZlR3`l>NmY_|g049(tP(d;{R043491?#_ zI|Hg>DpU_JQVF&*>3T#2PKH6i=zxlebd0|gz$Egb092!ZNG7)YSDOn=5)pC{@XQzu zG&gZ5ko5?>1`u$EbQ*_DlK>r$gX-pV;rEqCX{t`VCDp4k{xd7%oVc3xMcyuC4f>sxq3e`TJ-3sVd z!^{Pcx)5HbI0s(C40-`v29rS{z*+If&N1nL&7oES5`#MBdI-V>Y(t!Am_cZx@t0E| zFc9f5jRB<-M2HDHWWrGZnMQ;m5~zG3-}84UYz!K|D2yZWdU2D6O@XY30SgUnLMVK> ze4a8&VZ$^ORNVAGI9MJFhC(q(Vse11Liuw&pqEhw^tpgaf=<_jVIvF*6a`#h?%71J zP6~hVkcnY1%>?<01HGb2fovkg9hjrw!rU~(T0Z+J01#j)kci<}r&b7&nhH9ECIOp6 zA=23VDNp$;Py~VQG_=NO;LCqt zY~HvehnH3nF2W_S`7>-blmK)hk2>T+u`;njHW#{bkdC2zfqEX=dwgvf1VWbs0mEkg zkyA*}Y(*(lfZ9-*G59oW7%~A~4{C3~OjGC!p-_N=AQ0FvIRm{+ls`{lL$?z09#nXc zgQpIK0kIn>KsaL<6XNh09N5sU}WvuF@RuWKqr7g0!XC-DGrH#vV{cD5Jp6ROe4Z@FwAu@`JCYdMwAAcf(dr|q(C0S z2}uf|4n~8KDo88*^`rm-LVyNV1OVX__r?566G13U!D2uy@E%|I4Mm{y2H_FvXA0Ef z(CFkV+5jmBu^RgQz-Uf*3TzpLG>VYv6e^KR0K~(e9ikjIC=Ys4fN`eqAq>mF3gISn zF0?tBME>j$x|J~N1T_!J1cGYPY)}lc9+ODHfRP6JnLjwkfd&W4n=XP8+TW9DfM)>P zz`!jPrfneA@TEh@9Wb~GJT^=_O~gZ(w}BXrM~N`|26Pn&<*ynA@{tXlT5vtuWPce9 zn+;aPfoI52COk<-=kf=MIl%Ri2~g`Xpc%l^ArL{(q{ahgW*^rT>#fIl5FF#MUO8_fAej7kKA z1p-5!yvi(W8@d4iK?<-CM94A`OL7pT;L|1Jx#p z$^lt)-t@$T>oGYf7$X5D+bJk-l8L`~2(uCJXa!6?ahQ`cOK=_-q-l6s2M7Y7gHV1~ z2(2fu6PQy4Y{XmPU!5|=I4~Fv3>^$9{cg5GhQ@%ZB2zHl%mTlULO@uBXA^*NhJ*Q? zMxj3s?PjoapcV-*ti_+F067eJ5KaMlQ&WdRfPpQTa)gk9z!V~%k3xVyfTzH2sqEha zJP2>j53GpFCei57mEtcR!ng_y!a$D@1W!b4*e#6O0D?sbQ04;pg7KH=p#p$WZg_qK z5bzY>WD-b#I$;O{9FIb!@!4G9Qb;fq0%k)cOm-{4mmw7csf#i|8Nd?I_~Ws;G#GofRA{e5Z-xHP zVEP{-phSmf#y~}MU}WGSBj}kx#fYZ^Vj}{H%^SM=7ps7;7=Xb%GR#Vmpu-0G1&j;i z7IfIyG#VKu&j7dn3lR_tf!F129$-C~CGYV?9@PzFoeX%W1?qG1ztRPeQZ#t>lh@#a znKI}FpuBkuc&v>BEdde(7DM`HZv9&qFeJi&X>J(Gg0>}|P6PbKBmr{@5SERB6T|fB zKg&?RML>y2gt-Vd9)^;^N_fq4m^%cEhN2!}aN%4j{|pZPA%Y4I$N|g4E0uWnh5-%+ z0CYU?{18GZ5KaDReEKZ{5G3Gk-WNi^R~A4)LxE{R0@N}vR|usW5e9qzu>mo8KEEGA zG&J}Z4=ql<{ZHRV0*@L_z6RfO0$-bA@W=P2Og)1L&sP6m{!D!j!2jhfG&KHm6TbBO zA9ejlU3_VPuQ&h4y8fdszBItsoBv~7|7+@!_}e$HVFB_8<1`elzv#~I9 zj%@pM%Pzsgs$}@P_59(^C-LwdyTtQP!nQ?_Gb$w`;&!~+A$9-hvbx2JKC?bvdTLvq zV=qg9 z>ojL-YiVgcN@Qq1st(cIYNB&CxAvg=ifE(yal`)Y;;_8`-+p3uuS|oRYpB!cR@$Af zWMmeM2=Nw^7$PbLN=h65cJ+JnqhkpPetRA%?)&oM@IhMJk{Hi6o=(>ng!b%lS)9?h zDqcXX;cJCtI}Z0Prmb)_t>|>oo!9TIhaNm|^gH)*^{ug&y}BQz;3E|hA8O_A2=rR@ zVTA$$$~eM!m+$7ru^*cp9<0i07~V}D->-dYFS*H7nAWrbg zP+R3s)k=pS{s&5NH9ubkwmd@Nry8wo8|!SSX`X zNubrIO+X-19i7V+RTI?t7Ng!kc7m6PD?^wJc2R^;IWkZ#>H1DI`k|$0I zazjk9o87TG=@vm~i>a zeFf!Yyi9~*&sAK{7D#hFgC$f3=k&$mu9ncQB%W$7{b=SN%TuV8N8#{n$ui%H%F1`C zd#tpteM|F8AFDi5I9eDPeRvk-kkQdPt4sCf7bze%cBp%vkhoZWxqzv<5Wy%ieFMI_ zV;i=1JK6sQWmH1o_KKgx>m6)vg>IE8GNyj4_fYS#O9J0on50koX6;pnALONL2nv88 zDO22SfwguW?(`A2FkEL%t9af0?&Bj@p31y^-=<0{4eV8$Yie*|-jpcf z(K+7q$S5plv5eoFTUGgodv_U*^Q?t4ANM*|rv7^%8Mo4GO;dr(sas$C*FRJX5~;jY zn^z_-XZ|X_C<$+URoJ1+cZ2Y^n2;s+#>YmaV7Y5bf+@(s)g|iVnuX*oUL)=J8Krl|#VG&L#CYkYKC)BgM60;JXC z{dbcHkGG~uc(lE)5D!rZhwBL`k?x8?Lsx-EJl>Zc&Wt~P{EWi;?Ip=-fp21E5`Xn? z>{sv^-?pv#JZaRw_X3kV4$zEI6amABY|1KqPsdp<`mJB!g>r~LpjKNQ(qve{<_3@8_4RSv=*L*8ycD>`oG-hos%9b3uk{F7m6@EK9I@ope zTU%#m!ZA~xVsxjOZV5LX)R=cJBjX{iwq@*6{o&jfTZF}bv3^AySu=~(Sz{r-QoLuI z@{G45pGg8$Kg;|F$Ddnfl+}%Q!ndma%Im9p)L$IcajeDP_e#wS%Zcsvy{&aH?q0I2 zoRW7iQ*3ux@};dMP4~O~7NH8k(bD|+TxXTm&@kYDrtmEki&*y!kttfFUQHC^?J zF{Pum8^Lz$#aNzHu#< zyom_9*XtD9Y;uaV*1IaivGIHA_gD4JF4?2_ zw)KT`oKJWanHV45Qmh+Tw%Mxe;FtHe_L-zSUhya~q3WEZlBLDFpWj37m7j|4Kkrcz zfdO(QbFTb>nm;C*6-(w z-Zx)7ZrPFNP@adg{pCK$l#9K6@2Gx}X%=Ncjo_wNw1lSdkF8~oY(lnNDegT>Q!@Tm zZs1b5!h3Am#jBmu*Za-d`Qz2rp#k@M0W%MM-nddVFEy_DjU;DJL;rprY+FPaRA*#6#$2wImT)uN~ zRQCOk_jw5>AOWYBbqK$nSaby7!=_UM{ewqh^wb)vf9=}Qc+(kLjVw=xbc=|RV@a|!v8OX}&m+fvy%{fg>&?n$GBfVSts@h(kxwYog#SLfkPsCvo^2`lp&W?u!146gSST0@`T!+ zj&&AFsS7;9V%Ek!JT2WS$n+4<6S)8+rNmUQ|`Y^X;`p;&Nl#FWkwMj_$o| z66m|Z|MbwTUf!}BW^Y(Ec)#%A{vL5NM#gJekx2FCqW2a><$(l6pYc?oE3JYS?(Q00 zY+?8Hw!}=E&cpR&v~iQ_UEa>8NLtp%Y6)d#O3%3{Kl&C;WQx6~jF&dAz3%BAh>M(F zGIq?eyN;T)apK0t*`?v8Yu!185iLreZ3`W%nnKsOIQW+h?-$ZBsxnDes|ElJIXFEo zRew=hIKgrnc|=+oH_(-bTQsx1^i!@<=&Ig~aUIoe6XP^N3m5mB!~Is0nM;#s2CD5n z***bIL-YqujT)`A;j_=j(F^j#d*f=IzmF%*!%8eh}w46umO`jPz~qO+v9$9&FUuk{KXCE|U51z@^k8;n`cObN2$njy)I9 z4>4V7V>$e+tiZ&0-ScqLoD(@(=U2b}*~Qtsy6=nx>3HvL#k3nk5hvoa90WaFMcI3# zZm9hjfATZ%{FbwVV}(0Td9+n1t<`b*czNts9w`XDR9;9Uj85ZiH$Tp*m zNAf$JpOKV3WO6=ka<9-Jl`432>0kK}TjKMgwQ$F~NavtWnip!uxa~caYx??M7!{pf zkuj4!uI!&teo5uvxAl4_%GMpaw{pm+y?eZ7>{1l|+?cxCT~ANd+VDot?9b0VX|m^7 zQgAb_$aLKh3iVHSb~Vg z{M#Qi8yt4*G9Hczk$ShlwDrgJk6EVAe!g-R&JEGh$Yxeihjliq*(YaSD#v^@hK37iT)0S7^rcn0jcuDEJjygZK-)eEruoe6d;vtbd`cSr& z@Z!UBNRy6A?=3WG3W9W`6CgC*F+dyKj&NB6{J%u9wAUMO^y8}ClSUowJbZT|F}@)Eg#YYe&+%_vsCA{N6gp-STQXn z=+~W>UhTE3(lB*zs=U|Fr6Bh@05EJN*}+#G+^NF$sA)~XP*o)f z_!79*35xnfrdd8qeoac%gFVKXJxXLq=mza*oZn0R*)>HUejr3Tt*?cVqWJDYou=u? z7|%j~1Az}YdmgA=g8>a}9F} z6VtB>*fG--6NRW~J?l2AepG;!?*i39d(y@|&agJ6`&)21Vatt&zSP@fg9hoiw41)5K|$?4`yv~T$e&SH0wk7)7*E*knG%wTeFjfJLq{dc~LL}i=Hfxw@3l%O_p++-lc%5} zqO11oNv$Muw)&eqqv;Ke}Fb zp4@&cBaZ1qUc{>+%F#a!M-WFg=v8gbfeOq16|&O*KYIwU)>87#zSuTDzouf{ zpoNW+vA;@wDbmErIYNur>wix^R9r?vbaV%^8e zDaWJ@KEBe>=dvygRMHTh!byvSngEooY+OwIYFmGCl#qq6sJ9<+N?AGP@F_zZZvglm zN_QG+CQElfyE9hi#w&euQ<;V3`LAJo8^Ypfl5oV(K)Q^>>JZ%=?KM?C!#l}?(RReO zTy9*8j4bHs>e|b^YFFmViG8>Z1B_q(fJ1LHVL0ZfY|@}>HYqO?l+Ly?r5;C7k13bD zd%`*)^;*`S4OTcNCF+5@(kJ{974HiGtHso0bnD}ZF`*GVP7Uw)pcgA{IGddPRtc7A z2*;tNhTQmymECyL^?>~e8$Qbb(=Y3JkgFNFV09!>n+RFQ?R(BdpF5q9RWq0tObH-4 ztf{=wwG0O%G-U|^&SMr2v9M8ouVp)mY6(myV?IbwWGeds(3jLX@5}DlLt}?l0vdZM z{K5!D@7uajn*M^WU3?cQ#l4YJh&0k1Cd&t>FsojR5$SA&1p6boGw#d)M)3-c;=3R; z^xpZguN;`ckz~}>iBTNKqbt9f3|VPoLumUWJh3m9fs0*T`h<>k)4I%E(&Xg^T3WKdQmc~=9)qlu!C!I>JX)M1$qb1 zedEA553{(N8}Y&U%-ns)RA`4eF2wzwxnTWSRLQtZ`=&~`1n<|Z;_`FM2LAFDazCYT zM*g7ev}sI(_DNyDIEK`_f3UBQc(d`;Vp;aekO*J`M6EPi&RJp8F?@}OGJYdePv_<; zyHk%_9hpDAB67W$=o&YO4g82RmXE8(qsi8e?bIQ;o6)1uu;ScFQlt>h}OT@e! zGt@*OK5;~SRl{7_?lR^FK=i>1(unXaY8o%;f3-egs_S;PJ6qNo6Q-Kq_+))jf4Zjq zQ?H%O`CbTL^ITIt8R4pCzkw|u;{Vb3^|nm9{qgZeq=Vwf`JSaStMN16_$gHjE@=+C zC+Sr#+KdtZcPGBY5wN3qRqY)5$m#>J;qC$F^0QYDk7_C~t9-i8SX|09^-?Q;qkry# zC7#}dZ@tray*vr>`Z~g!b&)wu_lrcvWGg}#^L?Paq4k$>cv&EBrvol|{IP~+SpEJlVLY|mKM@n&fy zx3}Zzejo)IdfTb0WQq8pz4@UZyb&LyoHjTaMkrSZ(~*Z~b(3rV=cwQ_cr9(%3>$`Y zN*M-S?el^uVs9evQC0QPJunX6i+mTNN@G|ibsq&^DP;5>Zf{97<_nQYDSm$RHFEvh zyTDW0$9-j*cUyb)TskT?HOZrUSGzw8`Nw>GTf5qp|2S4Ux4$^SJO{blTeuT0ZHL(;nRt>lEIld_je4heF5{*77 zGK!Pr2Mz2O*f0SavY9`}Z_{vGm;TBfkho?bcYT854vpc#%?y`^Po6GBGUhvMW@+t3 zuBn9PS`~M$mn_5QB#f4#0#CKpW1rXDy?Bb{`SyeyG{A%R+HH&clJ6FNhJ@ei0cXRt z=b(ReD!yw)s)G$%8{n$h(Vz*+4tCPED~#o_p{@GjUYL0>?h=rZL>&yik0p<-NRd&H zw04nF;2L{*A-%WjRhdgOeXmw;Ugpd~|86_LpJQm!-+L6x8;w&LFrbOec~)~?EU)RE z&%0}b9E4e`+U?4UvUz`g3}gO$c^Q$OE;n$ReQ8jO!yw}Cf8$$N436do( z2nn5pPh7W6CoY=4J-b_3kbM1cwBJSKCi*G(kaurUDT=^7eQFH!Zykb{VXQj~+Cz)R zf-0+JWH&{=nqLQT^EcVsAdpj}T=nh)`A=Beuq8?JJbH^R4}Ps0)G4&AZ$CpD@0g2a9b5&w^^DCw)X027 z=t`I}XIZE&+H`^2&wEANGRo^{K>Gs{I$t?TcN44~AkW5piMfClnMBd67^eATGh_5Q+yyfz2g7mhJOn=kv^W)U=W6)R*c)1Q1>7t7ZIC<#=%vYH0 z$F2oDUN+EUFMO*9yp&}LVG1%nYpgkzwk*l)CVq7zdsyb|w_%bv+agy8?RLbQ4}07- zw9TSQsd==sa-sKwtGG8?_o*(L2WPh^qzmOYQ$5Po1h$ z8@h+CBX+GF5EgP*_&+0K#Kt^GMHjv<-;mn1t`iLNfX>7LbS4x%Km?KZO+V_)f1q>z z+i~p;&_U|!_p+hl#14;6n(ym+9&tzye(+cxfA~cCSX{AHXAG$+pkON4xiD1GK$3-Q zrRnRCyP!%FOVU%r^tYPicH56~l~$A)j)J7$WBXgF;GXuMKN*p6qyBBg`g@ydG9)7f zv|-^y-Hp6DxBV2e!{Y~sU9%a~3t(%5kIfTNz9Th`p_@j$DuevH0ncX+_vbeGQw4%7 z*s1am><7zDF3v>bjSk*j%N+#HFU=klaGH(`YYSOOxwZ4W+&O1VoDex$lsA@f2Q;#| zXBmmwHgBJfoa7Ln4~jape5*WcEW90qsyA?03kD^fz=jB--X_?G`1&dZ_PLbN`pjf( zK;D&yws%QN?TgR!kEFk)pZ`%k5_mlJsgUB_%$e>|t7a!kQ$#kd-dvcXJyUaI`EZ>2 zaSe58F4(HT=P?*vac9xI*w`1dJN-UA9F5;(F;i+ryoR^BCFIVdp!+>qscH5#vKxX2 zcGQEV+q+4bk&B6a{f3~}HcYqc*e!WX`lw#Fc2d2QZ(Ly|-=gx;p7{QO;?kj_IRO+s zN-VKz<5gGQCXab>Zq}B;8s)p}rwz+CdDanO+x1JJ%>mZr{LQ%4b!^q;e4KrUut`!B zVdAnv$gmUkDvoDI;M?W1#s+6$K5~qjj6XLxMw}jT^h@&3l_nU9UdP+7yA6h@&z;du z1U@4g3fFs&sGf*NG&%cl`M-vhYWH&f6ZmoL!b{ehk2YJS;^JhFE(shRg(=!`9t_Rg ztFUZ^`!DaI6W8*FK1So3=4=RWUes)(lUGyq7cL(ojzKOWdMEU(Jz?@p5=F5O4(D`6 z0!ZNc_QlVPcy-^ZmEec11yGNya`t~7H8^S*P)qtVcP>-W6xLdaLskL3PUh{f17((J zFW0x!c#T)RjL}?!J>gxFEzC@v z-ueRtir%$D7X0PlLj2)SuvEBf;);frYUL*SH|V|xZKaPe z;6{&BltbskdYf;lqnN$a!J%;3l@|?=&>G#7%LC%t`EagGKR24oJx_c;z9~bEDjaZ6 zj&HSEs3GPF@i<(dyi_TBtvG?ST07S*lO;P3z9iz$y~&tX9@<^=Tdr$P0T*m(wrH)% zeUeYSp(yadyCK0#)b_y9d*es4+(ui0>5Vzc=l4@ceJ{T#5NsYEBf#a8qyN;#ynWzB zk6b=0V9toiRq`{C()5>jIzg?2ef1%5&@1pKn?RY{;F4#d+*Mm&{JrpFTRx?D?5T9_ z(*JM)KGV8+cV||s3UcJ4o@U>gS^h?tkgFTXaWT{~-%J;d(vo>x`btq#>(bjka93eU z_MK!%^|%qFlop4IB4xlMy9R*7OhWslDdr=AX*P__ic&;#RD)&DgHglHS@~1IDa>Px1rN5xgKAMnfBC1#-WI|VXpAKXGO8j}~|*U5i+0g-ut=cu*rz>r0fk^xre zSNQq?RrePTTqvtau)(PG0!8n7!o3MwaQ5jbe2ACujX&~#lshEG+oUNU7_ zyszW9f+L*En@^7S3>@%@`o>je%>VE#USZ@mi1#R*bd75T3zU%7h zyTf@_fZ#hnvS2=X(r)5XKfYveJboO#I7q{wg}z)7XNDJ7IYvQ|G*p4MYIJe3&%zi@ zb^9u%3J+N>UTZ<@gho*F#7XuD0z~$JXmd~Mfy|c#Mj(#33v0Z?_|WwCSa)MCS7Q17 zoC}uwOd8!^O&*0sC~5g;|gk?7aQMV^)}4#E-4S^#3(An!3z}RJ$9#m7y zP58q_AiETVl-d1hLfd+*PSQ~uI!F&yi z)!uF|BinrPbGa&sbcpqmm8;b;ia>O{U5H!Y4l!{&-GU(0$;8#pPe~nt5CNvDwBhNG zyJp#{*Uu;C6FhF4e%I{|5F&3qJ#^iTfvvOfcCxlOx7msvmbY6NPL0EfCt;~8y1AQ2 z1jA^VNfD7^yxvxDbnKD05w3K{O=VAebf{$dJDz& z?uOruH4uxla#`8-0Zw6** zU|dmn0Y^>=o#meE2C%3Cc@4SPZr%t-_lfyaH52JwB$q@=6yKl@uI&;<%pn5X0BwWV zm!6UHNh>y&G7bRn1c-plw1>77@GQV%<#+toNN=I>3rDp<6*ZJdbU=Hn>-Xha+xG!& z95>y!eh5-tF*I$dqWnf-c0TFDTJLQZ!%}oEU;&t zSxStR-AUC1cSVVjx9Q3U{=C%0odDD8_EqyzT7FLJS>=3DY#$^BS{-~zahqm-#q7;D zLaOx_6v!8F;21JYT(ydFOJ2*BoOrM2@7iu)4;jI6(A9p`W1dtmCp^C|uASO@zsGbC zQ2()K@V;SrpCP36=IO=DD64z7^u6{`;6QS>L}-6&W_?dTDy3`!wJYv76oCg1WB6#V zuDFaOfp7apom3g|s|f$MS8-$>((_~o&TXITJvs+pCJ%IoSf{$|8jJnP;@pPFWjUJm z!h&VcpdM&W1r5g2$L>%!3&~}OxzRzlLlKgT%BCuKGRTy7K_52QP`2#n-$r%r<66gR zu9KW4BVl{usW9BcOW1XgtB-1%>CGsf4v0P7Tq={q*ZfN>Co=5Q{!vsXtA9t|)^3=h zreAhcb@kHjRRpD->y%@|oZ}Mcp9pqY7eRLZ$J=+ERa40lQqTB8FTzk5h`CMyK^-S1 zWcu``cI4le2(E5O+lgJr)$SGVAJ#6drG|f7t}*Rz;f_ygzL7YS;{xh3l)0Qd`5GSD zy&o_g*>Qi19ldPE?1gaf_1;{!%BI!d_i^pK0Gmd>cTBH6#J@3$rj73Cq9pH5Gs$uX*i+NzxgbAFq&Cs-(Q3z`i?Gup1QB(sJjflTG;hgsK zzk6tcgh=xav_v+{+5U`Mxrp$}-o6WnZ#OP3WH@oulV7$saajR!i>Eg-P%jH8 z4oOR@!}aqV<^9OJ+jd_Ko;UC<`t|P*514ov%AVB9LYUUCWgMX-d$|h7wLY8JDz+Sn z+9(v0QCvP4m0k3<+No}hIUD!0FNxRRvTK8IKe=Wm{k;1tMZ)#~-qmb8B2Dwz2H`pY zXdu+N?@!F_8mM{vwZ9g`MRkV}-Ha81($rQJlswI(bSZsG-WWbV+g9hHLko!M^t5UQ zeR>MQni5#Ai6Bn!>BiP4C^ed9S#MVB>vpgz<$jX?!6X0*M$B11p2$}jkSwg$##2r$KwJ4B` z2}6x(m(TtyNM0mM`g2{)i*I&^v|R+Twm8Jm(p3m+^nlp__Rq#FggM7@_K1m5y@Lt_OQf-}F*~*@Cm)p>9XcK|oXy^lOUph@pucU~2(7`(Z*DPFE4`j=&3ouFx zhXGww(zxApilln*+9h5k5$8JqyJRY#u>68RxzSpA5fT}c zCvVXgvP*00V@_3*!>SF3_mDhkkmM+nVU&xBueEW#f_`Ai4G+Crs6~=w2v6XE9mxVABPbC z&qG+y82;ZrK{6p^-on;HcXtnK(i#*5BM1F}C~13FBn-eDDk2hH*77037sTh=JeWku zJozNDv!C&H34~e|o5*@f=W_QxxzY`>bE{`wp~&Ar;jSd&ddXV%;?c~E09JP+&jP)% zcWp%~4V)o=EkB`~<0e;cfV6@g=M;tlVqDi_Z>$v+o$z$BrRQ#t-e!Kj^$GzIjsHZx zcH>Bq&`Lq90spl3Ewm>*j9~!N<65n3CZ>lFjoKGz{9kF*Z_UO6|EvAS-4Lk#8FKr| zwKTb4TKGgo;G|er0RFZq6lJ{%?)UGtU$#BVlHOG8qv&1_esjc|qI({SkOw*i4Hb!h z?8*BT#vQT!in1ob3yE25H4b}zA|9G%L*yR*OtQ%QncX^+sZFQU?_|k=qYvA4E0Uk< zX?j6Og`=Sud8CIAeS8-zX7eMZkF<=5ahN@rN>kU9=aS6v&gC^8{Wp|$g^v%4u5B%^ zEq$G-w(5}W5kjW zAQGyw-D+C)})9H&in#oD^pd5s>oDiU4QMDGQDRlmG@&eLYOs zOX`Dk3Im?vTspYql6qM%eNRz3KItj@6@8}co_(VtcWCn-D;u=wf^=&){9Rsj_Y$_@6jW%fYkZV0M(spA{ z-@<>TybQ>DvY$TIAlL~`ykagH0(_@Tw2w>tBhm|+pe;&;gIW0}UrK|}K}18iss6%x zQT;QiY6cD*?7E^FenW{c#Qob7X)^)aJ7g4XZ9V4lccI+nj+T5dNMqnXnT1a*YT<6P z3v}%l=CQSRJfeySOdtIZyPH|#54-z4bX(phfHMi;ZjbnYFgb9IxG#y>p(tN=_U>$H zpQBy&{?V~MJ>ZE9Z6+O59ne*PLK^_?#baO2MelEf=u7E1v5T}4Ym*ll+PqHa?uMGJ zBZo#Q;4@6c0sGJY8-F{I#?n6-3>}~mAF{k2TIH0sT1fbk@;tpzZ|1xAL~m=NLq~cA z43f;+os3oK-M65iuH{F2Ag2~D&V}&*RW?C=pCSE<`{!p)W&z9hKTy_Glu5SbqtwPd zB_+Z0^4ST6y>q>-hiKYsCAA+yKBiuNJf_iAXArczS9mkw)3>8_GaZB$XLG_f`9?dD zA`6&zo@>$om}cs~$7U9|RMDDJk2tj#bjXBatDc&aG z$JuCayvRK%&gUn92r{)B<#jWOi`}%^Osndttjz$T_XWOGYV95XpE*$ZpbP|@SUzH84Ekufw+5o5DzL;Qu#2A!CU|H z;gdVIOxY)i&j#!5)5;(2k9cF0*IclFS>7EKKT(c$unPYZx<%j85m%hBIf8HU2LeQP z{L5Tg+cB=xV+6NdsiVXPa2a9!yd<#eQ-xk-gZ4w8#I+(nlGA2oZI2&z=L=rL;vf0L zVtp$i*4-|zkx6re+1qoF(oL-)MWW6t9YZQgcE{@%Z8gK$X^es#NvEA-GFSEbU%s~| z(%?UQZ-*78M-O~gMsFL0@axr4Zj1%>m4l%XunCf<#24L^7d6oFPeZkBN6W-2&r@+W z94}L|uvB|NBe_7M)3!`K{vl37najsuBF>J)h&P{|6CaA<6T8+N+#3jTlH{>J5Xp zcAx<@(Lz%G2@N35tz&t#Agt0n4qeXjTsFFsKn-K#PEXcps;=vR9cjPJb8smjTq zeY120iZ_*t-I(k0-e~jQsv}c7B?v!cphfZc^)W0Aia8b@?7tUNh=F)wvMZ#|jL@xx zK2YvO$k6Eop%dk~y$&&yLVVJlSA7}6_pl1gC0eH>DZfICt3eD7Wil<5rV3r4R7)Mu49n8*Rz85zXG(rqYXDBdC4P;Jep12m*ctZoS88|R(Evd4mR(_OM z%RnP)pa|?prETPr@}h3!-3D_PQXzHnBUk%Gp4@&SpZ1{fRn^d!!Oo79{ojb>@k&ZDJMwn>kgzp0Zp+kQ%UJt^pIBMw*?{olLQ=7 zo90_p_bNKp`0Y$Lm zq&PU)yq7sObIMn#w52BDs7~AST@PUWq1Ym?0%YaAxk_uM;4RYe-b&x4E88i^!kGQEB$P%_WQ z26so@lPet}?GAO1DQ!-eaoFOppR08~vx{;cg`Y{^(|&*n7eSU+P+P69W+n!m_c&2? z>-S(5&+vjrwE}gcCUrX8*GPWY=(jkf()PtF-Z%UUCxLLDzVC*2jSIl{wO!_p9^yt7 ze~5`Yfibj5pEM_E|G9d5Ya{9985SYjOZqVHW<`dGK7E;NOlEuffOZj`XV5YbVLIG)bOG8tx3pTq$ODo_yHvkpPoKN2aah&>hAqY|u0F^51LT{z@)c&?&uR zz_OFD9l5*SfI8CruqfMHz%_XTxJhS@MzE(V{*Y&|ZXs!N>@n}6H4xdVAb(zB1axh* zW!W+9^fL*q3x8PV@f!RO7sE@Jsuo*<^0+RUa#m3k*Dz(1j=xY<<&<$dnb!LS?PpRn z&(8}iAsab>XqicfOujb9NfkT^8wyE;AB8&IIkzSCId^)=bKyMk9Nx19TbHMWJIM<$ zJ)lJG+7p^PT#^+JBZto?ozulzgn;kQc@h!++(WJROi9|Jwot+Z>@qlGV zQ2Idh9@|=m$;|Bvc$73nDO>6Nmu#I`d{hvj*x!NKogwIK6!U%f7JK0QT1icRuOAk} zc;|qw>#IZqDD>JWD|U_bfAZQzlf2?T(uz}oYN;!FrvqOWdsQEIN6%k`CVINy5tIc< zX>*j=1tUUXxE%A~EeI}(l}la6JX&0;_CM;36EzbayZ-s=E*xj|m?>K;jAy``mv8Uj zu_UD^d-_K$j#$#f0G$>6uB_%fi5KT?u-yY?z*e}BNIgYuC!aTLo@vvhT7Ch3!h(gR z>(lI>YgpZVLb=aToJpbbfz`woecET}w$NJtZLr7&;a8bIl7!|ovn>+WIhu^eCC;6N<5EIWdlmV zgbkgGm%Oc$=wqkC2%a$90EKt^+@4=9SI~k7LVH680Z@?4hT`7i&nDNymbJi-+cUI& zt=kwmmCroDb{Y7Q^|}bV0`2SC(>%GqeFAPeGCaWpM8T+Wq9!1@!hq-%|K2^<8TT0Qxt3<_bJK(OhJZ5=%`l({Uqc92;t(gn6OgGCV!CK^T zP9$pGYp}^t0yILE4XLJ;?(0r#i{5Y;+d-Qt={UO|BpEX)Q8>cAlyysMQs`RVF?b(`s-8px?2F~Ib zu8Ac!JYqE2%v0u5H9fOGU8AeRS8Cek6I8TR zVT5f(;nzaA+Fgpy-j$AEI)AzRd&TM~r-}(M&ZRWW$S}$$MMP2{=6Y?>HuzD;N55Qb z8yaWuPg7X7;|aE358oYf4-3LZFc8$SOAFsYQ_(spQYlI5>rR{-F#s(OYTc%zH>AXg zL|v9(g6yBOg@Tyy11l0mFaXI70k9^PenxKo>jRzv(aIyUK2%}586-~YZ*wbjK}+Db z3dL=-#U3+DkS_Z{4Ho?8q4q{jE?m*and zu1mWksia8awvC13=M-Xs#Rj97h>}kGgSY;RAa<1}b?oW9m$*MC=N@FJ8q3$2MVWbO z_?_;}9A04BYbE_j3>Zr*B!BU!MiBcX^$0z2&RyAoe;xtp-~V4c>d|_6J~L$a=&%w> zmKRJQXD^W-9#Q)mKS}eQQ7CPOE1lA$M_R}!~5Nj%U>S;$!&*VyYeOB zDLj-AB+%FTQk05YE8-E_k4rU5=U<%lUb-?JL=+RIckQ1BA^Q2>XQ}tjRf|icFkyO@ z*EQB}KRns_@1-hAS$UP#B7tEGxp=fPoSdTt^&|@AbnLJo*u+(M^jvkUU%urEa!>3cg?%}B8e!y4kj@?^R6aHySlX)B$j4ud6X#u@mc!Y4NQx(++*rJ< z2p^uU0bH+bRjEIQ5;353vbjNAe@Lr)6UWZ-t&%54)0>-%7mYDTa#G+ty&2vs#^Cxi=uZY20OX}zhqZaNPQ?1BG2ALd z%BTdx-(6~I+O1kE(SKo)cd*yC9`ZIrks_(u+&=7<`(v6|=k2u#AL~F7$_^)HTT?8O z@820Ic>DvKJ%w%$DwXAH{=XEW09J9+o1=!GA<$Hq$ICxuz#$}hv>}or>3n%sv`l)q zEA~zF+)?6!N%&KJ#sR9#jPhaN$;M|l^zXgJ(Hq0<>^@9>tC0`g?7r=C0_Vcn#kxP~L4$C2nr&#x}yKXj5zMDKxW9`6;}(2XR`}@HnLZ zi5O4A|3W6Ax6Q&Ur+EL41*m!@1T5`}*_nz=pO;yq|Gs1OGKZDR2K%ufpS_$@B`0-vR>P^KR?Q-($bVdYw|>wyX8zyJ78q zamtJko5XuTLu=;j$Pm1$Q4?+`LY_5S`>a4o-&$^ct;o^$3eP+UzXS(9%_WGaF{pX% zi(eI$xb>N|*DCt}DK1&O<8`g9Xux>cCUtmi3F`(Ng<0-l1I2hp+w$=_N;*TnoC*PsTMzK>9{rJ)eVAE&e(*Vnh}RiKclb_L=&3o zlrq@K;a=vdn7qc2odYbqCq5qI=KWi~$4^Ewnz<(G{wW?=ed@6K3X`2NA^#ralW*(d zRMPlW-c+x6Vr=XL>H)F_)g_#Ul`Mvmqo8UgW~f|-Q+1`bkIbOqJ4D6MxngA>*fE#a*l!Cq7!vdy=KvSKE1_Mv#xs z65P2|?X{A5^Vx5m?o>to2LInL$r#y|b6rpJPI|b4_?p-$ZOnEBI-dD(^eZI7?0KKuGcEbWwGIyT z(+;Mr)5_0I=Es}z{80_S7@tqtu)bfhEk!j|8fQ;~gAc}1zAI|EaTOWPik2Gp*Ow5eu&}nW8D_*__8m*0 zH2JZe+}MOYSKaXdE@UzDQ!vk^#vHW&*!$JLw!-5V*?})tXdO+hR!&hnHElwissy^v z3`qKl-Fpk+4Su2^0q@Md@yWj6Gn-ROc|!o|1CYhw5~+CD{BuZ-yN>34Pai~^V}xqQ zFtVege}7_7Sl%Gub)A^?ewVy`*IRwZd<93Yjg#@=4c7wGp9Mtqn?PBVX$75IXK*iU z<*jnBkiy8d6V9@{n^g^s-!tNSLGm#$-SiMwN7a>;xPI{r%6EVyM9P{Cy&_c2hZAoK z57c!$f%{_pO*q&&(K~_GRl$aR^REUO`@E~y7!+ZE2({G|_?H@g4NtST=>L=!>$Ks|p1lz+-s0Dwo!2ZOqjwTqu+m7vUh8wD4O--e|uL1uxQH-Q+| z2~s`Z%hJ5|(x>Sz;9UbuUM;n@3#;k(JK1ozwe`A;h7YDucB8J6eZQchEBrzXj~DrL zPE(kj^%;sO;P!Z$9Z2Q`008mfC5ou?pGT>}gm{%~Qx9G%{tJ3J9T~$FPu)W4ePG{< zxqC}fz6d`3eG@A_x|&)87#Wy;Z@#Iix!VWd*WuflxIW4(v4V@t=tyhs!SmhjwZ4Eia8Yv$ObBs(Q-Y`pvHTCptFXfLvFV|UH+E~A8&*%fRf zAI)Ej>$D0xMoCg9np|DOV4zFkhicews2YL?{qQr7kEbcuWp#Rf?1`o;p{_{aF6qC4 z=(PfTdwL_6_YoXl{}G{FA@7Onv8Hb zxk6NhL8b$Pu^ud2K*gzPTuNdV(`l!8sp`AXIXlb?<3AjXwNxU{0qb z#k&Yqd1<-hRH%>|bO1ps!6OZKG5sw!^uk!(?5%S67Kgt(vHX?N&QC;&!`=mcB)Qag zL-|WZF@ccuZOIU3z^&l4nA=5Y9WPL-kK&z7>n7hiAEnz{FX1J3d=DV-3H4&GKU;-W zzJGBga}8JApm`wJ@wL>}YUyLN$Q5;!Hb!z1GJp{%Kc{i+BxW#2wU9^n8X!f@v+W*B zcdPmp(wxq9JE&PNk2d<#S_f6wi0SX>11waz0v`DEG$*9%?QEP*SwI0Ho?t-J zka_Tl!PPU!LbBtQTJqhDaAeJzp1e>!V=9m=}CoZlFYpcMyEmJRj^htP`Pm^6JGK0fx)*W3S2_Wf-w?r0#ZN51ANMAG=@FY(B{wBg*9;q}QY z5i#J3QE14Sozd=|xw7Qc4k%r`dB~7_xOZ>;BAa~)tP(J zgSU+>D+WG$>P0lX+3fEze=Vs@oFY#c(r>%DGc(&JguXsgImeFyJqA$SiYcX4goE-W zm02^&>^F5dJ(=<6s?KdklTa-h)7P0XJ;SOz{`ZWvqEWX{e2q({I^or7DxIHJ^5)MI zuS3~kMsJjdImC%jB0BW6y>FsJ*1)GuQCW}g-o|8K&LnEGbPvu~Pu1>f+J3AGPE*}% z#qY_4rz*JXIKc|@!O%C#muLie)ro(#W|}uel;+LFk8nwfU>wPO^y?6fOe)EMY|%L1 zR0Jo+|M4Jh8L({j1m~UNdHUppEhtJYU3OBxc4<4Mh&brpna@K!^E}vzJQ&Q)C0m-P z0O1NK|D4PuYM)Xa+~_Sb3e-1%hX4<=I^Os0@EB9!5*LZ$LmX{Fupseb4JVj$`biZP z1SJES*`NCX+l$9)f8OP{w8n9jU3y7XS2-wdZiR9^&0Z9le;0E>y^<*3#x^x}jNp#PbC@?imeK#0c&Xr#lsAfA9wg@bQTq6F8}O{=Ss)!2_O=IgZcck~(l60_rFp zWkv6Nx3etpUlkR_oJ@ns8wrZ`rJ<)#QA8CvSt~eWZ>dYg`Y7tT9{pi~@pJxli+B*S zS18u#Uo!KnsZQ0_)hd9vXCAsYq$}*w{6KFOmeG!EH)ZOuZ$J9}0ZO0*~x|@tu`heDJdZv~d4sC~K@_>dIGWleB(3^Wc+< z{PBGWanqsJCA`)Cfu-K)`wz$k!cB81tLX1KIzKi5pnNeOkrX8}SE_nQfU`(IEBeyj z*S0p3Z~WLZg0c3V4tM(8rV#(%qLTpdZB8T3WoYov;_vXBhgnzb72SgfSXknlCnC6& zV7r;WraiLZu_j>B!twdcSpn=StK}x&B{)w4Yr^wE{ou0E$$g?G4k`l`rzN2Lr^X-v zoDofa1b9|Z-(j{u^%VJlTOy9%X#G|mfsCq{Htu2RUe%5fuQF7}UtFRLA;?Fr*0HzlRU-5i8O&sMI%De_pxoQ?IUU^Jy#nS{dVtsWK^5v`a<#}u zNXF+3Z`v^q1ex7N%Zd{a1i3|DJyl%%4OPKUA6-X2e z?DumzyjC~b;7KSv6^Qj}`_Hr`?uY!3;=Vi_$~SC#X6zw@vc{kvvP&ZSkT&}dg{;|S zD|-xMPb3N<*(yn8-^rRSd)W=fl6{>pgE2GTGxWai_r8C8$MOC3K7Vu^)y%WpbKm!K zo#%C4=f!}oQ)?`KK>hY<(nX-ehrQSYa779qhk`ZOLwg69mC8SQj!(kbIg?d_sbWOy zYc;>u9+Xt=yiu4yR{*Jk)o>Lz0ZY!0n-<%PfmyYcp5ES?x_qZUF&JtIk|D8iU3g6g z7u_*#gYtFDy!JXDb|eH(o4@`7TihzIbc@|Xb7Q_hyQcCPy!?4d!KvpdkmSyo0jeWs zs~N%XHX3|#e=sCpr@wF!F3ZmM=3JUy17osE(f^S0ICa8ed$uG|^{QhXD;tLQPW)Yf z6D3^<#>4MkHP{oV_NAmf-}aiSg+BYnpA>V1uPl>;s<4`e5yRRgXAsNX~+@F;8iR`Ds^;$UkyM~<@VdP4_K3>KXM z7b^A8opRp^+`Y=LOLA#+8h3>!0S^}kYmaWgCGq9tH{ekLfO}?UvXdib zTi6;Q3Sj@_GKtrx6E0CmjP3(q+ll77M5ZGEfl@g%y^)yKwf8jOSoMS-_bCAVf z49}gwJET+V^y|XfLAvG)&2*k;+SJqblt5{vR@()jY?Js zfP4kv$q!=HfL)b-Y<=IA96+Uu$ew%Sn6r{h2dz8cE2|-BUk37>Z^B+hfO1hqhQGN` z?S|7cs=;WXQ#AjdPKY4T?^{4Jyih_qHysXyn&rgl^OV4J-u?~X!n2C>mt-m0<&}Dl zn~HaAh$^?h0xQPlk4@)RMDgonJ(f4Khw|I`#glsjL7#qt7)(n@2M(^YaP>9;A?|O$ ztn+^03}Bj-8FpaU>`plcTtev(0JnK)&r4zDCe+;l7+E>%IrRY|h8cLJ9Mdv~8*?8_ zS|ewU+mv#7PERb8Tge4iH@8uau;O<7XpaXC`TnawppiZ2?9=CpQP5 zf9tUxHS)R;cy~^aZzj8JHUJQ^ztapOW5Nc5@;I`l=UnYbd6+TSme9!%Qtdw$H;~`7 z1fcF@rlM~(JGDk4ESnb%KNTY6Fv33T|EAkKz`ji0a9$@#W<*am3x;$Yyw!PjIuIOzC11om}}ITKE1iY2^FQkt;wcGJrt+K#BbDk>~S~SoQhPw ztZ$CDP<59cZt)@KC_PbSSmZ6G{et2|y38xgqeu&H_HUTK|*aI+G>8dCn z_|zu6du7d?Pv9-fDeg#w7P^6V0Re^?^vl3e7ui?vN;O|)EuqH^Z%jpN!aWXH1vF-B ze=6t!++ZbIlj_wTX_0*wfu*8Y!8Lr>0b@M!;hANmDOJlE)H)5!8f~OeJ-<31IpJ}% zE;|uoe}=irsI*tkU{iWnZfA45%9Z@(Y{3IbfKW!S}mcO9b$fjfH;%Qt72r9uD)r0qXuU$awVZe*`2hgRbCD;uQ1y z$U~zY*U8AIKq#<$FJm~|+Wh8gv5Oyox0hBVJhTKCj1qZps%?l>lNy2jaeiui#^-c1 z{N20SNZkyCvD)(kWMkv!dRuDGu_3@elr_{hK9Wf~QwBIz-);LuGp+*wnRgNv5S#u_h0hwXO@NxxZM!H4CSP2AdMVI{mQ%QG z=0qLo$>&PlLXMsne$I1_ zH09Alv*+rdsorG$AaLA{2k>w%CsdNZD+Qcu$BS|wRb|d4J{$5l`&p0QNY13`%d#l{ z?MfO*n?RtNIP2_ZnS9{pBCnko&H=OM{#(v98u=@Hy@j^{fkRd3I2I9(mNq}&Rd3o+ zjNa762(Y@IWbr9*NF#vc|6Qu$QW?It;8JFWWwzsJTIgl< zQ1gxY@*|_TbcIIYfb_91Snr9SDe)=q0XH}DVdwzmgu6Sy$4wcccNs$J+4yu&7vWtR z{C_?ZxBMHPZk|uaAx}OTdT!P7krOKvpxbGgF)VyGPw@9Xfqw16BQ zZ>5BE<&-$j*@ouWpF6G+g!8G&mN&Q{Z=~?(s@owE-*&FK59*SfE}V=X6 zygz&Eu?Z31GyqWyx6TLjHwyR9gp-YJCvE>lq|y5|1@sX(X+xGF5iAPy8PERZ|S-@vg$c5 z+|@Jmq{t?ER;9XM=v@bmaMJ*FnJ1@OVFF|n<#JUv<6VTJZ@g{5&z$^>scOEhmJXV0 z&ddD_8f_zuR#k{Us=Z#0Inn^g&X9P8vwN2f{OQ*d@oFb0*-IL-q-qJ|bEN*4%)2?f zYXSTd_KRvHVo-p=!ggbjPDehHZ(&Hy6e>*C$@>S17B~7%KGEDIbA#9<^G<{I+CKQO zo4kVw!3nT!1VjrCLH?E+ZYF|ohC&{VEBb3MCZBfLvu$N`=v`9YRJ9*t`*czkfHdF%(#tR%sSE%MAw%YnP#in@>8L^<#~ z7iczD(c_#++mN!6fB7|JH><1M)AvY=V?)Jv<>*VB^hvOXY;30w7;%r1&s$r|++6x| zxEeF&Ea*!abu=3yin@s(qM1_oI_^o&`zqS%Y)Lpn0b?@lgfZf>`)5>+P9#0^tlMTm z)#cUjn?Oci4g9Ezswk6aEr(v+N7_ouf=^e=k+u)`QU{jaeAehSl|8l1>E2ivwjLO(ZF*9y9jgeJlmVo;w!UqADGkpK;mN%OY;udCceI-f-`%Vev; zCUo#pdEWA|Lu0u<&0_gqG=vL+GuC%+Q9>#C4=7p1YF+AJr>Q9$YRiuIx! z!MeJ9EwvG1akmLD23X=4w7$jO#2j@pb~(>iAc=?7Liw}f5D|jUdk(OvS%+bfKw=^9 zvz}1_f&XXi$SvmdXKE+aBgErc8vs7Ryvm!Hav>J!0c$KC?gE427X=HeIAQ@dI; z-N^+9-+syuEnt1Tmn~H64_JqX_za5}Re`>W(_Yd4^_XfB;Jn+X{e8<)4$ZEmICb>s zH%I`Hei9j^#>D(*lK>sJgH6&AsSBV3ULCyGGudSZ^qwZQ<4tR_(n;1K`{95=*u*;? z0MH1NeZzqKd_lkqmf5`!m;iB{Oq5TH(teCN>hE@3`gX2PMe+kFqsoK;`^!ygtT+rB zR8oD9_5^)&g4TvhjqwB!>IMadu3xWIzpI-E&D9WY!#Z-WM1?$c4l=4aGr?xR090-W z3J3rQH1c_fm!7635RVejITLZ~V11b{z*f*1gS3X%UB(;Jne-*`}QKmcN_lnJ$hU#~&9|6cOLRt2{jk|_zn z+f)JWXDZ&%*^_BubM@;#i7~ZQON;q4ug$AH*jf`b2t|+*(KRLr1S^s+!Hges~M0Z0YnMuFe%JtN>- z>v#O1OqlC%{AbkW0S-vnH}T1>Xk1U< zM-a$N?6@t!>C{D8#b_`mEoT6!__}#BxrG80_9jLax)zeuK!GZ4>~mz- z%0syl2C`Tyl+@HvPFK2K_lNK*Z|^IWMhD%}=e_yF+GdJ;J`LVWP@VYUFb;lJhY!)z zDYq{MCchMp_EM~CiN=1Kz9z?|tQ>Hzg@VcU!l%?Q_1z^pi#iS#3yVv%l!_^V5q}!} zGlOx<3izoYRdTzsqieXV`cYN<#=e?sAs~02eqSjxXr@1VB|?h*BlydVduNB+_X{ju zM7;j3e({{b!XE`9V(UiH2A4ov;d~X9R~2~7`M&zMc^_)fvlQ`+8{VK98z0m7;?mei zGPt=N@%{Tmtug;6J;0)|{_@{s&>+u!G?looKey6BEFBbk@3+9n&966Uz2@kf4a-8K zpGySr=;+^P4fC+7S5*YJj&KCm(i_(?YB}hqFa1&qO1&uvS=G6bO1KWO5P?0n{Hqt* z-?cE8a?`5v!%F@b9sNCwhzc(w-!5J3Sth4tpZAXJ15F35^F5B(y@~ErF^bl=*{awk zlFvU)!Gz9~U0$uEmE_rR$}Ybh{EU<5xy@<2gqQpiKd%xk<*t4hhdX5r&kYG@#|7&$ zPSE6*@{~7iZ@)Qct|Fzmoz9Dl{1FB|)>&gnL4nfXQXGwVug4kP4=EdHku(|7U&OPdMQv

    h>$48{#n>OLR3nK1JpKwBpW%IESS*FxK2A^nR%d9yGz{KPN@3-q|nL z70wsft<1{*(v*a4N$0pcCDeW%rX!rM6oj#R^LjS^!SM;ChWoonG~a&0Qe4irVI%B= zSY_b*4wd0Ebl*OjIx6qvdL-W$zSD3EyY*P*PnZ~mn9sMvrYD)NIN?G)U5hj(_pGuJ zP;QbK#wd0L<- zBy;hqEVxyk=&c&z660}1>oRkE2)GqPi)5M;VbOe$tLJC6o+I5!xe0$GWwuO4(aAH- z9pdmBN`7mD3oLwE6UZ)zrVB;`wIGZRs*VB8aZ44sui;lBswl6$bQGB4_^Yv8;mu?V z)uOQ}YIY66A@Vpk5-FrjZoby1rKN-3DqolsNYqDgyaWCFaHHO@AaLhB$w(7%8}ogf z>l`qgA0Y-YrGIb2`RQ`qh0uxlfyE!~H{j<`50!ydPP=90{sq61x+nvqGaIyB-F2p^ z9W#Omi+FRMfQR)N+i3hoyc_HQf(EAjDtQUK9ctOLpQFzPU30|3`d#BmX*)IvtoT3< z)?5slQli;?JIfl8-hn!C?Eq?+mdj+b<@vl?X42P>} zn2(JPiSZe#@46eiOeQ$jy(nV#GCfpv@0t$tEJCj0iou?5=RxY%+Rj_I5pn%$e@E(4 zZ&YJefH*}frFDVeIX~zUeH}C3(jDDMqYbMkJUv*y9i@-dZPK2?-DA7d>nZHpEL?s*Ffber@v=DImQ3dAI+xMp3(u=?)Xk#P{fJ3x#uTLQgd@{ zGvpk(jb^7EpmyH{5>rpS9%Jx8f@d;XY7ake2Ye~CuWYp46aiNB6y&f0bDjNG!brCD zKw&$UBr9OR@X6$$m$IwFd~;b(*`z08LNU56`eA0Qhgt-|b%e0iv`!d(WOx;|n6TQH`v259^q`RRR3GMXT~ zwg}mRHDac%*_+gQ7~b?WzNPbN+|4xss*XVLps#`yF;vd}6rr!cX;L6Lu;)Y2S8J!+ ztx;@qZsw`ojb)wNX;(@t<`Xih#%@x-_0(fkU`^>*qF*9yp=QR5R#j{c6+2%~3x0X- zwjaoo`Ur^KK!a?B^uSZdvmT5xHol>>DV>!U1YsTAemmOv=psxp-+d}^(LGzJ`X`Gv z$$ah0@4B5lb14f%1^ODsS`A9cy*K-S-kZxCieq8g-`LZ~%7U|($#2EbqCXa?>^a07 z(O~ey7h#PGfGKWVE};!n?7KZ??ly*jZ+EZ0t<_rU*yk|z36}?3cw_I&_U(^zS;DzgE7+~WZlf+qz;Gm3Pb3}c zo7Gysfpm0guq0r#pfy00ZYh_X<=;s&ln1>pN~`w+^6*tyim1khTCyIFN%Y^4hf4{= z;yHlv%TZdG=@IW>`(YCkVEmF9wYV<$ad{@qrlDLI-TU*<&R^tH(n)^KAiSUEaS_!g zvvVIM;f#$oQ|z*9p|y1>*gw8LJMxj#DXQkq86U?l=Tm++Ihrr?_SJU36Oy1ie%W8= zfNO9mM9*3+zRv7Y(Yi}sx))8S2M@S^y3J2SbY(_`AKZF1;WsVxK4|TG0PN4P=YWD; zS(Ez^5E)>urt331yP@)W2}j!-`0mls$c{na#{ykv39b7E8d2{`3=dBR^;X5J&IrE- zvIiQ=a>n)fw9taaFJi4xnzZJ$YvCNmw)m|?kUesS1)_P$&gH9s!PpWqXbbk9VE4gs z*?F#GO3b48eBHf0Q|a_~r!ldM#Y)e!dxl4OPqLGT^KmI~!<4bKSmLU&ls!LhE3F$tvTv5FcXzs3?sE$ z>Bs{7)DN9>P_~|4#OmtTusVVf*HFD1>4?2pJOq2Ns8)15E#*}FqY=SzE=}WIErYHMpGM2r zIK}~d*ZoSu89EW&N5P%-;j^XGW+I%_wGhqQ)L(w$#?8i#tihpF%;1+wNvVV+xG5I|$g?{zLq*(LD zz%UP<_x46{(zqLpq9sv*OS0YSzrR#Ej(bTzt9djG7j6wM-wWQ10Esyk2!jAH$$aKqd$nxf?uc}hyw4^ zau>rTlCfwtz7PFC%#CCQzQuX%tY}G>qCiqi}{Ja`)Pw@JR zs&QNJ{RN31^fu(X_m=a&!EBN_MX*Cxr5_< znWS}P5XZX%BQJKTdWI1vB%b%{_V@Dqf!|w&sM8jo+#gd|N?t7rrV6ts`5zq|eNmHQ z%K<*Y7Dp_VfNPJV?^^xtQLMc}u*U>@&~=zXLaVg+DjAJ}1|zMUoBb9^PJAsKNo~-g9l5d(qz~|V2B2+Hu5eN6{74<6>ycY@}nr<^LMxlfA z6y63$7Zx)}-Y^h@JF#?gt7om^XXk;ImgQJjRa0p_GyJMPap%S&-eKv28F>sr>mNUX zDz>OTMN>JO;p-vurhH#BLMO*LnVnSA67C;hCd}zIav9FCHg9PY7{twEIK0_3i$J-{ znHJ#I=cL>iCSCXKGIwX<*n9*gLIu~GrRuE;;sA6m?(FAlKW^1(p_Fb=?)MSKLJqvz zw_;Su*UWgoqM;*2^k&PcB|NkM!=1qo>7m!zc(f+1>CdWyB}XY*vGJJigFOwSKO-)V zHg!;A^0Q!w1@u*#Lup7`V#KTkxb9hY#pd;0;`lO2QMcWQV2en!MM{JUP?94ow-=+; zVFQ!*{NG4X=1IcQq=Wa1MzbzRzX6x;L_gN~C<$@=(<~4Qoc5!vOnYYoWV7OD?ay@f zJ8E0`zOoCBs!_5uf+g)U$6Wd2hn%L)l3Yf!8UMibzw8EHmfsNnvMrdBrb=uaF{=LewFe{hMga-L`l;_gT4CGXUmDm zgbs4&912M&$YI~qwj~(vsGlo;o1C771fIu+mJDNcI)=hnOh58-Jh;8OGP`x0X z>H5mUrJUg>UC)ClV<=$=?}Xbf;r++i{^-ii%3UyApcaSL&qi2HPz^NRdVHb^su;Kr z6n-UugP6x}UNi}6QLLc)Br&zJ`8jw+BF$at0I+j`yd~lv(>?MohFJ(&i@bX&0dGU( zMxY~BpSii~Qu92jr5sEgw_OriC^lxU(4(H`=s*~eluui(z8__!iXW2bI25>(nFF0p&@ZJ&0)D0=C^!oioX-!81 z6YyhkstZ!Z0FWhR-RqOxR22z`9on6$nt+kI>u2p60c?by=EwLGkYmTNqo7S1gh2v8 z;wj+E+n2I+(a25&6Ili`PI==>sMi&PUR&QF+_mxJdqcnJ9yx;*lk*cr(&+)b`cSCN z$LnF$hnco{q)ru%O6?coX|Chc zMekpd!C4ay?Ko=$x0@tk;|nKZpze}Vp~3Uawu%Zs53{fQ(G{S5s@6u!7>n#7+&?Gn zL+8%4ZbbL411emOgQeI<9n^mBS9~1>p5F*9iQ;>yJeMC|>*TzPgz zhWD~-ra$05m>K|r*6EKfE>*6do%^B2yYiBZ#0;`V+3prGP@^Hk{@=uGpb9}O7Rw?f z4WRw~y2mL|&mVu8eZ`nlNpMH6*@y?>w_c#61qZuJk#w+?v8!XhWyZPsO%oh2k*ZGI z3+QpQd@-ZT@vb79YkZEL202|rQ4G^bIyKmeHl6C zp5&1X!ePDmiy-nH%P!XzWu;m9SY=uGNNPCgXFEu!_Q?$@?p(DN!ne5PxrUcXx+T>= z12yk0mIlA7GtcND^7j@Q7fHOi(NTM2r++5ze0>9Mg1gdsfU@aGyJ-xV{OwD26+ztx z`k6t7(z^-M7auw=pm~FGZB%7R)>#(G06TRN1;DwXgCJK|uZR6E8@ot`iww(CNPn!P zAX@3P%ppg7U?1~=>7#HQJOI0A_K5#s8;w%TBZ)oT#CC|R3P`)MiO$E;A*_n&xwV@* z1UzrMIV&GsMfkZ9us3h+cD!s`MB#o5JwCR30TO8*D(&~nJ8^p*m@f3p8rF78J+zM` z`JKOhcu_yD(p**FL&UOQB+@(ID|fr{2~%ja zp_6{3f|)ask<>MJcB`I_OWJoVVG(&S2p_y=nb!^{gtK->rb0VU&;4|U4j#zQ;kqQTIeRg)MA+KddWaJ$=yR$4XbmCzv=VX`=wKOe5U!B4ABO;G9|#~I7l+cZ5OzEwTtj%R+wn9!n|uJa6vUcuxZiU($eSm zZLZkt;{AY)frC!sg53m70bn1(dx9x9fBm3JFHX3#1}R&`*wK)Chb92EGpe6ln?81) zaQ5W0{;wbKfBW6n;;XBK^05QtM9w2J8%I9iW|Cib`zlt-8-lDfH6`^WB}1A>25e1I zBGjump8BreEHePzc5*bAn3*>>0Vw$Dy99a(N}j$Ki#CCVnu*feu2x9W93olcDRYP$ z%$Ta?aGn&Se)=WQ_XiT{Av(v*1!tI}0cVg*m%RaY;w>x091O^a-y&gCe?H@`#Y%}Z zhXq-1l>pY&*(llo;r`HoU*gGOuT^a?gS zUn}YM$a#UpdfG?%BQvrTnSEdIDLF;QP}Z1%Cwh!9qCs=<}k zyU!YGAt+U}!6ZR>2wAjXZtXw75N7u4bI&m8VK%wzrQF2(sIHmNW$7o<9u94#4&9m) zkf+c_A;|38w~yIDS1Gjhn8R#ncQXiAI!<_acv_`B=&%h2^Su#64lUC4^c-;JUWc_v zD7oCHNiqa^&rdEjSfK~{Cv#vhJT8$ue)o5zTL*xx{pEyL2LjWe|9r6c%0F`&fH6p+ zwuAM=g8v4mY0R1LdoP0t2S?vd)=%@RQK}qcOlOR|?v0qm^$W$6Gz!6ydxto{86?cD z=wONE;#%_DM6uKOME$vQ7ZGMxfb3%6a)b@_l+V>f--+NL`Qi&-jj2aDqNvcm)~)xF z=Ti1xPXC5woFwAfo_O%I7#sbBOC5MePHR4-v_?QJF^+59Yw-EsHJC zxPPhhlP=D-^}n4l7M}n`o=kvWB9fp9`u(>XNgo9w>wTQ9w1J*&w_ubp$&K0~!^{HD zNqePLy8EfBQrQP~C;V5O=Ve%12co-1e}5TxH@yr?5on87ub_SQ!f)yR3!aJq$2czo zm{^Oq@>w;(|)I(M7haJ{_P@ zgaV9cY?U>T;dRFenZcK~*X?bhC|~l&!bQ?!s~QZ8z)B0ka!%@v+0b7n5Aa81hN4UM zz9j$g%8f=z>&p!`2uAh&(vSX$bQMMv&w7wOB?< z&)oOh?-aA`0?2ru34_2H9+*z5hO-E>Y#z<)Eu_Q7x$cMM)?#^-#m4$?C1cOz3QZS` zg%&f{ZS^GoqUD*#rC+H38F8|M+BId@*>|>num{&tEY-wYggkO+ zUUmIJITXxt@eTHe)_IT5*f(Q=jG1#Q8K~%2FYhjACEC`v`(8|rKUo7Oyp>kn2Y|OS zI5aioSPh}p;`S?c3^S%6DGCPEVyg*>qHcS1CTxkkXobaFf-)sKoWCbX(=FaGs=UN)lq#enin6nRxt+!3bY zQ-bQzcWYXa=2O}Sc$v;2-LH7iE79`Bm6S_W zqhN<(8@8~0gV8Pe^!l8$ez3#sU8}vTjcS*ZFdopI6d@kwY8sC&7T)3KxUJ8m20G$QeZu}reL#~x5s*# z{cYLX$MX^suRG(zpYz-2v~9r7glyV;)}ynkY1yg)2&`JI*f(}k! zctmcpLf^cekAk3mQ&4-Erc6Q$8Qo~7-uGAwg{qEUy+h>TCw#mLzEt_6xc-p8Of}y5!AiD zsG>||^6>Lz-lNO`=qkUG^YiP)L~($a3y=AFM*T0R)gK~!ofW3_KUk|7)3)pr)+)o^ zMq(gp17^Lm%0<%E#@LQ+)CCp#j9?Wh#M*_<I(DO_acZjgr4C2ajZ-EQgZaMuG+_tfjoPM#euLu-V5fdWJmxvxg-i~ z`i@G_KhLO+IIQ{3_fP^O@{uNS=?ARQ)a+XZ$m4e0!7HpkRcYys`mGjwJ1xxTzuc8l zCFL(#XS|^rg?5wVgqq7rS&>j)KxA0f(2Q?B4lf-XQfE1Jm_FvBf-?mZ-vESc1yu2>-%<)sBx3{Rfc%zax>p^$QKqVn zLSBFjLHa1rp7fgzjMcMLP)WB~XpQd8_ToTqY*@a#;6{NH4wUAHOA|RsAZaT}x3zdn zCH@h>udfY;-|l5>7C-LvqIje-?KeZ4zbX(-=CU4Lwg(q^&}Cuo=+XVwZ^RXSJL)%l z6!hn*l<2#R+rGGZYvS^k6dS)T!GO}o+pOnaH@-4Lqbu*mE_2J<-E;y^Ob7$PTQ_1} z?5fuK583>4#e#0xE>PrX{pdRyRtV)nHjpGQVFur(=`P}apc5lKAzUz@pzZ_)LfCSn z0emFg>t3Tjra(US<5MlEH#wVXK487ndwC@r+LaccB4tV#ZtmQ132$UEO|YLcdBP8`=eTRZfnCzCve8QfsOH3&zZA( zHW~oXxB|#+MnyqUkTTzm=XUfrt8V|oafiCD|0ZAjGsw{2$~7|Jp#Xi&9Hq<|W=MYf@zwgZfzm0U zO4fuBDRVE_XG38fdnJVeyoSt{vN(qUIo=*b@Il%+_ijC_W*~#_tKO!;U^dj~P_ zppIqcuK+Q>_rU%zjf_eDQZi;n5E$0x3ou#BIR{7#<&KYJtK5mme&6N^c0 zroK&yQKxqD{KU5W?+~4WR{cxTXHsSlWsrtJGQpicljtzQ?*0ADVTj!ip2YmUFBgh< zbpoH;E$<(;jHCLY9W>-M0hA6Y7;DC?{vO`wDqFo#*dMyO4iGS!X@J$XMdJ*8(b&yU zF=5EvsF=fUzv0HQOaF#Dp@N+?5*t>|zQC=v)zceqtlH>_%xtWdN6{`{kf*qKH73Eq zDk>xkzb7|JzKQIqC#Wg&4I21*uPP5kF0W1zi$g~c9ukS1zS3zxzKP0zEkK`>!o0|_ z?WAwMY){nkVGDIzpgB&GCVh+hPYG3xUxqx1!>>^ERZ4AR`MSFeYFtf{q}ndk0H&(veo3mKAu%uTVqS&bFC zG8i|`cBK(ibcZ^zv}x14VZ4~Sop83p?J@tdcg0JvJt7hHyiOmRK*v<{r+Cnbso|cb znltR6?S*PWFp6e!scu;#cARapLGU-LWw@|_m`ZxZKm|u+O(N30ed+8KrnOg%XU`(ud=PbRr`mgb!D5 zJlAjcwFD9i=FH)mpKS*L<(1i<{9d8!@xzw`)r{U+AIFH-8?>3g_xl5T9C;v-!TPYc zCPTMuQQKwZOHs1;Vpm}8>_zG6`IHLB1DnpqY>)Edh^|mDa-F`vqbf&4q#$qRrV#-yJmcw%HI&7dv$-^R+c|Nq_ zVD`Sn5~YpetPJ7l#*MEbwhn6Xyr`kDUy!$@r0y-d(I9@vVR6`SsQl8?;b?T@t8cl_ z;B^cIn?h6kKub)$V1`d#ZSvXBTE8(lma~p?3LW&dHn{{ZWK4M^_oOkTj7j`a^$n(P% z6LV~_60q+@w?(OD?M+0IqNnOHE%S86QnaR)8((bf>b|9?xtEI7r|WdqpD$cr%_U9; zWjFBSKGabdiqB5Zs7T3VzMW)j-hbWfcU`q1;(HpKdIxV2Ra|NCv&?aXdR4=9eOPJn zcws#f?ZnGx6GidUow5$nVOm;e5i`#Oo~^gIw?O zU(?mP+0dA&qT4iSE*?)kIew-bxW^3?2mofFA>wEf*5QfwpZcf+JEGbLzONO4R#wLd z-0HEh86=guGjz8prK%}dCw2u3WSYAcQb{#6XD#NJ(Cq;7}$F#Z3uF6hhv|7Gfb8*K88M zX%O9R;8tAxczNI=ee;xiM|uApiP+$f+jMnx;*i>o6wk)$@=RO7PkCEcavvA@cdYNK z@K<)e>fvp?{HaHBZ#_C34J7*~QuW!?f`CVgi9rw|#(wt$iRs1Ef!}K*Vt=+$J%12K zm}rE*9lm*=fzAWEBOvYO^+mt}vNRLhBO_n4e=VrpK+wmN(A^2_kd<}PST?v?3f67V zNvhkl_6HUNAIMj{xh81c&k&Y9Y}4Lv%vla%rbl>hWV>F^JfFkf5aXq7eqr;Y6L|WY zpQXg>rT%u~jW?_Hg!PSPw(jP@-8{5YcElG-seFsip5`Np?!3^b-gz`aFPqRepl#or z86S-EFj72N*&Ujl3NgL>Z|`Eg!N+@NZqn8T?sw0l`GK+m$hOyV%ff8`!=h$+pQh3H z8f`jg5pKN<$jTnCcl=gx73$0E%r@?55Tn>qY6{S{Kbp(wBq?sHIRX_$IXFn-S~&?}=#_|?OBD=W*Rh_%6s~Koe2UhkNSOAHMvKYAE5_NI!JSL7YUKQQ5n;z6KS5J- zhIDYT78tPYE03>Z(K9MdGL5e_29z(cDT~>=B8D3N zm>kPWQW~I-4Yi_$OJewzpV_}}rUVO!&Q!S2r!qN*uUPvmC(q_lE^K)LJv{5EL;gH& zJg~u4|7x@-#l#>IClTf-QcIH8HhZ1k(f#mc`bHnNJ6f~JTo&y|m(vedNBoK34knV+ z5d1*Aud%qT8vLgg7r0?}eJ+g$-rk(b6&KGgO!q$Kyd;#<_XBeO%%d-y$_0zs z!D21mx#c>D_@Ca(iOG&rOSq)eqOOhAD~CW{od#$fQ0<`=BjgV>q#14&_tDPQTN64YgDZk_+vRt&8h3~0HM4o;+`5Sh3u^Wzn*1O*=%K>+S^ ze!mSirtzBFj<+a3Ktawzg%^`A3Amu51OrMQ;$j1?WWJ64#*gzr%=R_Q%xlCRTp7NB z_*87E6+^!S)=AH7 zSpy%oPnPWrkId;sqH>Js7^26-~CfLy~)r*=ZSMS>07y!&NR#I1$u-* z|5mBttzgFI(^~~7Y19NSKeKHR?%T;L37F1gYNZuT3GS* yg%>v0x%9`IYWpUyw{T8DFA?T?UKz|nia|i=t&{t2_85g&Ce4D#Q75N0D$jMQK~&f z6v3^#doc>3jb@I$(pyM|yvm$4yeS@e)5~t%Q2d7R4EMEF&rQwL_4jq%Enou8$OPydkL zKKf?%@%tYgShD_|$qdJ_?d$Kyo~r;J36ldR&6Mjh%%>bzMC&r1#iiYdU-|rHJ72e~ zKbvPoGBE$mV#fE{s2TUCm;KWx>ckK=&UI=ek8httgVo*#UZVI_Q#0e@@WNbyEww=# zcW{}CrBS@xdFF9?YRSH17oBIhF45$}l8W0brg*mk>}uH_3TdL8Cl>-Z9gDKh4Kt|_ zONWcskW0XqACfMn!aF#O?_X(hu^Y`IB{_U1K5MPro@cWa$X#l9ZYQ&$TJGGKo_q9; zDmWL}+P<`}fgF_fzUBh?>E)-)uYHQIwIamRAU25aGqAuaVWSwyhR&5o=kp6@NtX6! zuG?@AuQ+~j4VDkp2;WFQ=2vsWWi4PNB*d2{c5E>ZU|Xs_gnhJht~^PXmz7aDYOTTR z)CCMJ0qC@Np9&Icoc>~?5&YXZTN6g-ICp9IXMjMGITe%T>Z8-_ex7~_!`i72odW=+F^qLIo zt6HqRDr9D%w%P4Y-v2ckGGQnh2VHP|XQnY8mx{lG>l;jR(jI;& z#;Pn=w-!II$=^7+IJ`-=X;;smG0&l)gKT565gKHao}{H>_JxPnawhD>0bS;b&!adR z@+kR(ws$pz1-0~hJsfPKStD>xBOCTAlOLnw}|RiCKVj|0PvFe{H)vNAhI=E|elbIMB4 z>6nyhcQd7MMTe2_(sarBo*PNAQ*vA82b`t1KlP@=6^B!NQe@I{i_7{uvO66%N@ND? zC@Dj{B)(N^(;`FR7de}ZZ#k5oWP7|P7U?M#yyzUVk>Wz6E-8ui+dY+}eg{*t=S*qD zrlN#+7NI-#KF^*{k7C#hw!6GPXFZQa@Ljt3DssGpt&ux48xS7AuQ7DT-Og=pa}_5> z<}=9_xG_8>^ayEHE}a;zuJ;4s^`ak}^1icqvjtL@z_I(T-JT~lW>M?qQfQp!6tbT( zd|JQkVxLprAs$MI2RE#SF6-z8Fi%NO_faDK)1_~odhTOFXdmQQi~y+;4RSO; zkHEyHm(q^(B72vSc1#WqR;1E`lJs#tm)V}qM!}Z8wAN+Y$&K-Y*M%+LMtUqEOq{Z$ z68EV9!aUB(TQZI{mt-#-<-4o^L$bVI1Kc2lt4;J)YMBL2$3?pNbABgIPiL+Q777~KP> zMpT>j9lswvi6Lb&hn|zPqq^j{-FKyYZWW~@NKhkLidCA7Z#~w@o2#u>0|Gn*tZM5S zl3fg&eUjf^^Dsj{Dfn^WzKd6OC2tDavxg~0keA@#H za$0LViU{FbiXr&GZWXc7FBPB3B9{ z#Ut1p)Q!UXt*jy{chn(AiXuzrpXPK728r9rseppOZyUSJmy|HcH?!GkX82eOh1+W12aM6gyIXzFV)&#_C9%9}6Vy<5NIl z$B}_svK_at9~Q8f?#ote4hz)Y&Z9_ZgshXLU2Lj$4W^@wH>uOSK?%1T;#cJ_SEL$L z%HcD!3O+`#z6B^W8uYN*9T(*8fLblKlpk04ajSd*mOdw-r0QmU!hROb9B%URT;KBO z2%cR{B=T_eOS^+lti|SW(RY2*Iba>+SF1;@PafiHyOv%VC;se0mZ_M^_0H8YWAH7o zEGLQK-o9>cVJnzCpnN}*I@buAzYKbtBA5g(BtM-Yb{s$EW*-uB<2GRN_0h!pH7yKf zEFceM;L1*4zox0PUYJ^2yzzBRzj;W>5sRRT`=mquynoGs>&DDm77n z;7pn!w=i{-^@pjebWQ1cyl1sHx~bwz+v2vFixWDj=yTy-{l%sy1)*1+n*4O`^D{Y$ zJzf|)pyy{D&1U*w;=GWk4e3f{Iy9SN4AgpQsC4o*YM$Xia+l82Pyje*!tL(!C?o3Z zx0aMd&Ki)> zC)2zgZ)}Wj6*`_W?Jx==)ixw;|*6_$cg=U@; z%nRN^LaEH(*f(_^L*C?ia+n)=FUOY&qi@rA=Mv}7YTEN9o;OR&78Q}5t1Y`0*=74u zLSCYQERhsq;a+K+4Ktkz*2b*J;B_(3ORP3b-CiO*Eb39q7OSgX=z*^C(ebLm)gsex zdHUT+{G#mbU81q9b9c^&)leeb^mL^&WtI}c@kcT)LBrN2_7(cdS6{F!6pko$Rqzn+ za9(V2NeOWv=eO?OT4+=0|IXi=>QlUS(5AhTm+JMmCaK zaj5x9aPt$h44H?y^-=ov!4H5*R~TQh3BKw+vNXh;XS$Ip!qJF@{csgX`MBXQ-UE%kFdlkW<{GSfYaL?F zN_j2qKirm8InDAzn)lFG*)6f-6WV}#YFx1|T3<3Aom3=_SnsMCnK4(%hioCvgg7rl z+d9^G9+~lt?tjCaZoXb>?rae2o1!F|)I(>zu&@P}^M3u5pi| z;1)3b2`kBT*?+q_U9Z6Qo4!M(l!PF`p}_r2G0%B#w&oje-yCR8QxFBXMqE1n%s3^* zlCuQc(sYn5m>H|X>C~3^bqnX1o z9I+iE4yD@-Z?UwcSYQhFeHx$f8sYpUu>j@5D=&CrbgrmaGc+Q<=o&;UOFlEaJ*DLl z<5W3*N4(z7szI;SQoJvFd?Q*=>V;+)&iq_3U(e$F_>N(Ae=uG`C0_#4)Wd)NsY&?# z^qBkn)DT$gnK7`aP^dXrw@|HE;cSQ#A!5YY4rU)XkgwvepQKvo3| z4ex&|D=C!wVu+%rH`#P+A-3g-E5lSL;FVjv_-*GfF{w~*Lg~D5G*|&Xs7_o+6|*$e zH!zoO%ZD5|71I2aR5n{-g7n=;^4uo6Ls;`#Ok+!RjwYWD6q5*_WbGSNDzw5Zd+>7` zp^KG2#>(ok$FfzJO==3aR1V#nREU@%*u~-8;phMZo%7D;eYo9}i2I?|&+fiz zUCXVWNeytJwhzG_cj8Sw1&s$yhZNiUrpnKRUdUWxX)q$f!S#wmkJ^bB9v6s#rqkw* z!Fq+OmI#GyE-ve>b|TId7vsJ}9YP@Gm=P z0WMKSZ7xZy0$C#LC|(_rt$dQx;iKk}+$C(uyFN|n08dYJAeD@@aeX#6cjxBQpqKu_ zuUv7@#yO9Ve2{#$eJPJQpYK=*Oz9FtHzuf@oYM=E=jY@3F5-3|o>RC?K4C7%Gg9yF z!Jx_&9qFC3E8i2=gWUXi2ps7HU${GZ#wtLm#MUv`-9fF#uR40@37puG!QACNq-v zek~roxPp6zFJJJ0cpY`0K!B&vQkFbgS~ppKu=>CySO*oC^gUz_42OhgHlIgfii*OE zfGk0p9>hW(qF5pMrsm~i%n^u@RDZt}4p#$0>&C*R2JaFQP4!-9NBbhjqn^85j8z=1 zt)@-Q6E;rgH+vqg$rhI6*X>XhC6m%*O~RjJXR&?0f&pk@qOc`UwDh1PXkl5KRrOJ)Q}PvYy_E- zGE!5zaXyd^Mr+e-Oi9NnLP^*(P50BaH-Yz~>S{h@@+M0a+sa&wE{TY-T+RORVbh}q z8+=|~>Tu{b-}~LUun57|vjMw11Dk7-r+3)x%m?ed8Fe!6&AxG%JM2*YVWO%q^|@yy z2hoDRQIXZE$OD`jwyCi70O48_{vdo}#CS7ZUGp4X(Qp3_b64WcrKVGX@G~9D@8LOH z-vLVgl(aQ8gtgn6p0}dWl>l%8Yk;Z^rWBG0062QzMd$IJB|iK<6H>kA{0X7CtAWm%od)WVDL5cZ7A6Y;>-iGAp&)fupehB6M_TFX|3N{2 zQv72Tuw#i5I%VkiVp z8i7m#?s1~fWG|W;2t;oO{uv+9)6DEIdJ^>y73g}%`Jz1KMC3{gYI6ZG1i6;6x1s3y{zo!?)<7YZpj2zAbN2Eik^j_uv)}?`w z+3CML_9Sp25Iui-(Z&87l19M)N36faw%77Ao!iQIE1_Tzc_ zN<)z_xIHR5xh#RsqpXC*p)n{37^0+%2E!0AJXje<=fR_)a15OQ0*B&%qp+Y5=v9gG z_&usUDlDA}qpXBhQbx#wArLei48y>cz-Tl|o_>KTV3ZILc`Q!pClwZh)F)GjDEe>` zh$t7FoF~cUXTzT0NUhUGY9OdA`!| z|AyY1K0wu9gKkKm();)OY5Fy%tZ^5Az5ROiApD$6K;X}5fka_`r9ee_~LI4u{tj&!Z)1^QDf;K@IRO6u>?__*Ts#(^#w7y_g7{v{bm?vG^U_EwBP zvsIP*Z+fWy1pKzd(EWbd=t~!UC6xPXDf~k(daVDSpFhUo|Fa7q@ZV1Uk-q=R^{-t2 zNP&L@{YB1IUOJ~Ifs;2yM{!7i~$N4%R=5Mp$%|}f7r?aXzsj5@D zUvVc8T)t`7Gkszwj$k`Y}SzS;DAQSL&sqkYK3;C#99v6;ej7RH)DR zo?Tsc2`SbD7i0;KX=`kbSIahhn`-p4yu5{g3YDd>y*>X)uD*09eoYcXq{Q9ZIpXtm m<7%LBy#rY4p!+so%r4x`l9ti_#B8rh0Y-Y}y2aWTF8>!1g{&I@ literal 0 HcmV?d00001 diff --git a/forge-gui/res/adventure/Shandalar/sprites/dungeon/slimefoot.atlas b/forge-gui/res/adventure/Shandalar/sprites/boss/slimefoot.atlas similarity index 100% rename from forge-gui/res/adventure/Shandalar/sprites/dungeon/slimefoot.atlas rename to forge-gui/res/adventure/Shandalar/sprites/boss/slimefoot.atlas diff --git a/forge-gui/res/adventure/Shandalar/sprites/dungeon/slimefoot.png b/forge-gui/res/adventure/Shandalar/sprites/boss/slimefoot.png similarity index 100% rename from forge-gui/res/adventure/Shandalar/sprites/dungeon/slimefoot.png rename to forge-gui/res/adventure/Shandalar/sprites/boss/slimefoot.png diff --git a/forge-gui/res/adventure/Shandalar/sprites/dungeon/slobad.atlas b/forge-gui/res/adventure/Shandalar/sprites/boss/slobad.atlas similarity index 74% rename from forge-gui/res/adventure/Shandalar/sprites/dungeon/slobad.atlas rename to forge-gui/res/adventure/Shandalar/sprites/boss/slobad.atlas index cd4bafd1736..b9042c733b7 100644 --- a/forge-gui/res/adventure/Shandalar/sprites/dungeon/slobad.atlas +++ b/forge-gui/res/adventure/Shandalar/sprites/boss/slobad.atlas @@ -42,30 +42,30 @@ Walk Walk xy: 1168, 140 size: 80, 50 -Attack - xy: 48, 230 - size: 80, 50 Attack - xy: 208, 230 - size: 80, 50 -Attack - xy: 368, 230 - size: 80, 50 + xy: 40, 208 + size: 130, 80 Attack - xy: 528, 230 - size: 80, 50 -Attack - xy: 688, 230 - size: 80, 50 + xy: 200, 208 + size: 130, 80 Attack - xy: 848, 230 - size: 80, 50 -Attack - xy: 1008, 230 - size: 80, 50 + xy: 360, 208 + size: 130, 80 +Attack + xy: 520, 208 + size: 130, 80 +Attack + xy: 680, 208 + size: 130, 80 +Attack + xy: 840, 208 + size: 130, 80 +Attack + xy: 1000, 208 + size: 130, 80 Death xy: 48, 430 - size: 16, 50 + size: 100, 50 Death xy: 208, 430 size: 100,50 diff --git a/forge-gui/res/adventure/Shandalar/sprites/dungeon/slobad.png b/forge-gui/res/adventure/Shandalar/sprites/boss/slobad.png similarity index 100% rename from forge-gui/res/adventure/Shandalar/sprites/dungeon/slobad.png rename to forge-gui/res/adventure/Shandalar/sprites/boss/slobad.png diff --git a/forge-gui/res/adventure/Shandalar/sprites/dungeon/teferi.atlas b/forge-gui/res/adventure/Shandalar/sprites/boss/teferi.atlas similarity index 100% rename from forge-gui/res/adventure/Shandalar/sprites/dungeon/teferi.atlas rename to forge-gui/res/adventure/Shandalar/sprites/boss/teferi.atlas diff --git a/forge-gui/res/adventure/Shandalar/sprites/dungeon/teferi.png b/forge-gui/res/adventure/Shandalar/sprites/boss/teferi.png similarity index 100% rename from forge-gui/res/adventure/Shandalar/sprites/dungeon/teferi.png rename to forge-gui/res/adventure/Shandalar/sprites/boss/teferi.png diff --git a/forge-gui/res/adventure/Shandalar/sprites/dungeon/tibalt.atlas b/forge-gui/res/adventure/Shandalar/sprites/boss/tibalt.atlas similarity index 100% rename from forge-gui/res/adventure/Shandalar/sprites/dungeon/tibalt.atlas rename to forge-gui/res/adventure/Shandalar/sprites/boss/tibalt.atlas diff --git a/forge-gui/res/adventure/Shandalar/sprites/dungeon/tibalt.png b/forge-gui/res/adventure/Shandalar/sprites/boss/tibalt.png similarity index 100% rename from forge-gui/res/adventure/Shandalar/sprites/dungeon/tibalt.png rename to forge-gui/res/adventure/Shandalar/sprites/boss/tibalt.png diff --git a/forge-gui/res/adventure/Shandalar/sprites/dungeon/xira.atlas b/forge-gui/res/adventure/Shandalar/sprites/boss/xira.atlas similarity index 100% rename from forge-gui/res/adventure/Shandalar/sprites/dungeon/xira.atlas rename to forge-gui/res/adventure/Shandalar/sprites/boss/xira.atlas diff --git a/forge-gui/res/adventure/Shandalar/sprites/dungeon/xira.png b/forge-gui/res/adventure/Shandalar/sprites/boss/xira.png similarity index 100% rename from forge-gui/res/adventure/Shandalar/sprites/dungeon/xira.png rename to forge-gui/res/adventure/Shandalar/sprites/boss/xira.png diff --git a/forge-gui/res/adventure/Shandalar/sprites/dungeon/bull.atlas b/forge-gui/res/adventure/Shandalar/sprites/bull.atlas similarity index 55% rename from forge-gui/res/adventure/Shandalar/sprites/dungeon/bull.atlas rename to forge-gui/res/adventure/Shandalar/sprites/bull.atlas index cf8e48ea75c..734abeb965e 100644 --- a/forge-gui/res/adventure/Shandalar/sprites/dungeon/bull.atlas +++ b/forge-gui/res/adventure/Shandalar/sprites/bull.atlas @@ -7,50 +7,50 @@ Avatar xy: 20, 10 size: 12, 13 Idle - xy: 0, 7 - size: 32, 25 + xy: 0, 5 + size: 32, 27 Idle - xy: 32, 7 - size: 32, 25 + xy: 32, 5 + size: 32, 27 Idle - xy: 64, 7 - size: 32, 25 + xy: 64, 5 + size: 32, 27 Idle - xy: 96, 7 - size: 32, 25 + xy: 96, 5 + size: 32, 27 Idle - xy: 128, 7 - size: 32, 25 + xy: 128, 5 + size: 32, 27 Idle - xy: 160, 7 - size: 32, 25 + xy: 160, 5 + size: 32, 27 Idle - xy: 192, 7 - size: 32, 25 + xy: 192, 5 + size: 32, 27 Walk - xy: 0, 41 - size: 32, 25 + xy: 0, 37 + size: 32, 27 Walk - xy: 32,41 - size: 32, 25 + xy: 32,37 + size: 32, 27 Walk - xy: 64, 41 - size: 32, 25 + xy: 64, 37 + size: 32, 27 Walk - xy: 96, 41 - size: 32, 25 + xy: 96, 37 + size: 32, 27 Walk - xy: 128, 41 - size: 32, 25 + xy: 128, 37 + size: 32, 27 Walk - xy: 160, 41 - size: 32, 25 + xy: 160, 37 + size: 32, 27 Walk - xy: 192, 41 - size: 32, 25 + xy: 192, 37 + size: 32, 27 Walk - xy: 224, 41 - size: 32, 25 + xy: 224, 37 + size: 32, 27 Attack xy: 0, 96 size: 32, 32 @@ -83,7 +83,4 @@ Death size: 32, 32 Death xy: 64, 128 - size: 32, 32 -Death - xy: 96, 128 - size: 32, 32 \ No newline at end of file + size: 32, 32 \ No newline at end of file diff --git a/forge-gui/res/adventure/Shandalar/sprites/dungeon/bull.png b/forge-gui/res/adventure/Shandalar/sprites/bull.png similarity index 100% rename from forge-gui/res/adventure/Shandalar/sprites/dungeon/bull.png rename to forge-gui/res/adventure/Shandalar/sprites/bull.png diff --git a/forge-gui/res/adventure/Shandalar/sprites/dungeon/cat.atlas b/forge-gui/res/adventure/Shandalar/sprites/cat.atlas similarity index 100% rename from forge-gui/res/adventure/Shandalar/sprites/dungeon/cat.atlas rename to forge-gui/res/adventure/Shandalar/sprites/cat.atlas diff --git a/forge-gui/res/adventure/Shandalar/sprites/dungeon/cat.png b/forge-gui/res/adventure/Shandalar/sprites/cat.png similarity index 100% rename from forge-gui/res/adventure/Shandalar/sprites/dungeon/cat.png rename to forge-gui/res/adventure/Shandalar/sprites/cat.png diff --git a/forge-gui/res/adventure/Shandalar/sprites/crab.atlas b/forge-gui/res/adventure/Shandalar/sprites/crab.atlas new file mode 100644 index 00000000000..2dbff1be4d0 --- /dev/null +++ b/forge-gui/res/adventure/Shandalar/sprites/crab.atlas @@ -0,0 +1,56 @@ +crab.png +size: 128,128 +format: RGBA8888 +filter: Nearest,Nearest +repeat: none +Avatar + xy: 41, 111 + size: 15, 16 +Idle + xy: 5,16 + size: 20, 16 +Idle + xy: 37,16 + size: 20, 16 +Idle + xy: 69,16 + size: 20, 16 +Idle + xy: 101,16 + size: 20, 16 +Walk + xy: 5,48 + size: 21, 16 +Walk + xy: 37,48 + size: 21, 16 +Walk + xy: 69,48 + size: 21, 16 +Walk + xy: 101,48 + size: 21, 16 +Attack + xy: 6,112 + size: 20, 16 +Attack + xy: 38,112 + size: 20, 16 +Attack + xy: 70,112 + size: 20, 16 +Attack + xy: 102,112 + size: 20, 16 +Death + xy: 5, 80 + size: 21, 16 +Death + xy: 37, 80 + size: 21, 16 +Death + xy: 69, 80 + size: 21, 16 +Death + xy: 102, 80 + size: 21, 16 \ No newline at end of file diff --git a/forge-gui/res/adventure/Shandalar/sprites/dungeon/crab.png b/forge-gui/res/adventure/Shandalar/sprites/crab.png similarity index 100% rename from forge-gui/res/adventure/Shandalar/sprites/dungeon/crab.png rename to forge-gui/res/adventure/Shandalar/sprites/crab.png diff --git a/forge-gui/res/adventure/Shandalar/sprites/dungeon/dog.atlas b/forge-gui/res/adventure/Shandalar/sprites/dog.atlas similarity index 71% rename from forge-gui/res/adventure/Shandalar/sprites/dungeon/dog.atlas rename to forge-gui/res/adventure/Shandalar/sprites/dog.atlas index 5b899150f6d..a8e67dbc2ff 100644 --- a/forge-gui/res/adventure/Shandalar/sprites/dungeon/dog.atlas +++ b/forge-gui/res/adventure/Shandalar/sprites/dog.atlas @@ -31,29 +31,29 @@ Idle xy: 230, 17 size: 20, 15 Walk - xy: 6, 108 - size: 25, 20 + xy: 5, 112 + size: 25, 16 Walk - xy: 38, 108 - size: 25, 20 + xy: 37, 112 + size: 25, 16 Walk - xy: 70, 108 - size: 25, 20 + xy: 69, 112 + size: 25, 16 Walk - xy: 102,108 - size: 25, 20 + xy: 101,112 + size: 25, 16 Walk - xy: 134, 108 - size: 25, 20 + xy: 133, 112 + size: 25, 16 Walk - xy: 166,108 - size: 25, 20 + xy: 165,112 + size: 25, 16 Walk - xy: 198, 108 - size: 25, 20 + xy: 197, 112 + size: 25, 16 Walk - xy: 230,108 - size: 25, 20 + xy: 229,112 + size: 25, 16 Attack xy: 0, 172 size: 32, 20 @@ -66,9 +66,9 @@ Attack Death xy: 0, 204 size: 32, 20 -Attack +Death xy: 32, 204 size: 32, 20 -Attack +Death xy: 64, 204 size: 32, 20 \ No newline at end of file diff --git a/forge-gui/res/adventure/Shandalar/sprites/dungeon/dog.png b/forge-gui/res/adventure/Shandalar/sprites/dog.png similarity index 100% rename from forge-gui/res/adventure/Shandalar/sprites/dungeon/dog.png rename to forge-gui/res/adventure/Shandalar/sprites/dog.png diff --git a/forge-gui/res/adventure/Shandalar/sprites/dungeon/dragonfly.atlas b/forge-gui/res/adventure/Shandalar/sprites/dragonfly.atlas similarity index 97% rename from forge-gui/res/adventure/Shandalar/sprites/dungeon/dragonfly.atlas rename to forge-gui/res/adventure/Shandalar/sprites/dragonfly.atlas index 15abf7ac118..5ddde72289e 100644 --- a/forge-gui/res/adventure/Shandalar/sprites/dungeon/dragonfly.atlas +++ b/forge-gui/res/adventure/Shandalar/sprites/dragonfly.atlas @@ -8,7 +8,7 @@ Avatar size: 14, 12 Idle xy: 7,8 - size: 20, 20 + size: 22, 20 Idle xy: 39,8 size: 22, 20 diff --git a/forge-gui/res/adventure/Shandalar/sprites/dungeon/dragonfly.png b/forge-gui/res/adventure/Shandalar/sprites/dragonfly.png similarity index 100% rename from forge-gui/res/adventure/Shandalar/sprites/dungeon/dragonfly.png rename to forge-gui/res/adventure/Shandalar/sprites/dragonfly.png diff --git a/forge-gui/res/adventure/Shandalar/sprites/dungeon/bat.atlas b/forge-gui/res/adventure/Shandalar/sprites/dungeon/bat.atlas new file mode 100644 index 00000000000..d3094e4d2b2 --- /dev/null +++ b/forge-gui/res/adventure/Shandalar/sprites/dungeon/bat.atlas @@ -0,0 +1,53 @@ +bat.png +size: 80,72 +format: RGBA8888 +filter: Nearest,Nearest +repeat: none +Avatar + xy: 66, 1 + size: 12, 9 +Idle + xy: 0, 0 + size: 16, 16 +Idle + xy: 16, 0 + size: 16, 16 +Idle + xy: 32, 0 + size: 16, 16 +Idle + xy: 48, 0 + size: 16, 16 +Idle + xy: 64, 0 + size: 16, 16 +Walk + xy: 0, 24 + size: 16, 16 +Walk + xy: 16, 24 + size: 16, 16 +Walk + xy: 32, 24 + size: 16, 16 +Walk + xy: 48, 24 + size: 16, 16 +Walk + xy: 64, 24 + size: 16, 16 +Death + xy: 0, 50 + size: 16, 20 +Death + xy: 16, 50 + size: 16, 20 +Death + xy: 32, 50 + size: 16, 20 +Death + xy: 48, 50 + size: 16, 20 +Death + xy: 62, 50 + size: 16, 20 \ No newline at end of file diff --git a/forge-gui/res/adventure/Shandalar/sprites/dungeon/bat.png b/forge-gui/res/adventure/Shandalar/sprites/dungeon/bat.png new file mode 100644 index 0000000000000000000000000000000000000000..2dc98e234ae5b9493416544fc96e796e4b84db74 GIT binary patch literal 16108 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

    uvjZOSjUQYE(T-I6S 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 literal 0 HcmV?d00001 diff --git a/forge-gui/res/adventure/Shandalar/sprites/dungeon/crab.atlas b/forge-gui/res/adventure/Shandalar/sprites/dungeon/crab.atlas deleted file mode 100644 index b91a6726e00..00000000000 --- a/forge-gui/res/adventure/Shandalar/sprites/dungeon/crab.atlas +++ /dev/null @@ -1,56 +0,0 @@ -crab.png -size: 128,128 -format: RGBA8888 -filter: Nearest,Nearest -repeat: none -Avatar - xy: 41, 111 - size: 15, 16 -Idle - xy: 5,22 - size: 22, 10 -Idle - xy: 37, 22 - size: 22, 10 -Idle - xy: 69, 22 - size: 22, 10 -Idle - xy: 101, 22 - size: 22, 10 -Walk - xy: 6, 54 - size: 22, 10 -Walk - xy: 37, 54 - size: 22, 10 -Walk - xy: 69, 54 - size: 22, 10 -Walk - xy: 101, 54 - size: 22, 10 -Attack - xy: 0, 96 - size: 32, 32 -Attack - xy: 32, 96 - size: 32, 32 -Attack - xy: 64, 96 - size: 32, 32 -Attack - xy: 96, 96 - size: 32, 32 -Death - xy: 0, 64 - size: 32, 32 -Death - xy: 32, 64 - size: 32, 32 -Death - xy: 64, 64 - size: 32, 32 -Death - xy: 96, 64 - size: 32, 32 \ No newline at end of file diff --git a/forge-gui/res/adventure/Shandalar/sprites/dungeon/flyingwitch.atlas b/forge-gui/res/adventure/Shandalar/sprites/dungeon/flyingwitch.atlas new file mode 100644 index 00000000000..0a75f8cb229 --- /dev/null +++ b/forge-gui/res/adventure/Shandalar/sprites/dungeon/flyingwitch.atlas @@ -0,0 +1,86 @@ +witch.png +size: 320,192 +format: RGBA8888 +filter: Nearest,Nearest +repeat: none +Avatar + xy: 72,38 + size: 16, 16 +Idle + xy: 4, 7 + size: 25, 25 +Idle + xy: 36, 7 + size: 25, 25 +Idle + xy: 68, 7 + size: 25, 25 +Idle + xy: 100, 7 + size: 25, 25 +Walk + xy: 0, 160 + size: 32, 32 +Walk + xy: 32, 160 + size: 32, 32 +Walk + xy: 64, 160 + size: 32, 32 +Walk + xy: 96, 160 + size: 32, 32 +Attack + xy: 0, 68 + size: 32, 28 +Attack + xy: 32, 68 + size: 32, 28 +Attack + xy: 64, 68 + size: 32, 28 +Attack + xy: 96, 68 + size: 32, 28 +Attack + xy: 128, 68 + size: 32, 28 +Attack + xy: 160, 68 + size: 32, 28 +Attack + xy: 192, 68 + size: 32, 28 +Attack + xy: 224, 68 + size: 32, 28 +Death + xy: 4, 132 + size: 25, 28 +Death + xy: 36, 132 + size: 25, 28 +Death + xy: 68, 132 + size: 25, 28 +Death + xy: 100, 132 + size: 25, 28 +Death + xy: 132, 132 + size: 25, 28 +Death + xy: 164, 132 + size: 25, 28 +Death + xy: 196, 132 + size: 25, 28 +Death + xy: 228, 132 + size: 25, 28 +Death + xy: 260, 132 + size: 25, 28 +Death + xy: 292, 132 + size: 25, 28 \ No newline at end of file diff --git a/forge-gui/res/adventure/Shandalar/sprites/dungeon/frogboss.atlas b/forge-gui/res/adventure/Shandalar/sprites/dungeon/frogboss.atlas deleted file mode 100644 index 1ea91810a04..00000000000 --- a/forge-gui/res/adventure/Shandalar/sprites/dungeon/frogboss.atlas +++ /dev/null @@ -1,44 +0,0 @@ -frogboss.png -size: 86,600 -format: RGBA8888 -filter: Nearest,Nearest -repeat: none -Avatar - xy: 23, 150 - size: 45, 45 -Idle - xy: 0, 0 - size: 86, 50 -Idle - xy: 0, 50 - size: 86, 50 -Idle - xy: 0, 100 - size: 86, 50 -Idle - xy: 0, 150 - size: 86, 50 -Idle - xy: 0, 200 - size: 86, 50 -Idle - xy: 0, 250 - size: 86, 50 -Walk - xy: 0, 300 - size: 86, 50 -Walk - xy: 0, 350 - size: 86, 50 -Walk - xy: 0, 400 - size: 86, 50 -Walk - xy: 0, 450 - size: 86, 50 -Walk - xy: 0, 500 - size: 86, 50 -Walk - xy: 0, 550 - size: 86, 50 \ No newline at end of file diff --git a/forge-gui/res/adventure/Shandalar/sprites/dungeon/frogboss.png b/forge-gui/res/adventure/Shandalar/sprites/dungeon/frogboss.png deleted file mode 100644 index 32776f1fa0c199414b195d36f803f169533f4779..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5942 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 literal 0 HcmV?d00001 diff --git a/forge-gui/res/adventure/Shandalar/sprites/dungeon/sandwurm.atlas b/forge-gui/res/adventure/Shandalar/sprites/dungeon/sandwurm.atlas new file mode 100644 index 00000000000..ad59b156311 --- /dev/null +++ b/forge-gui/res/adventure/Shandalar/sprites/dungeon/sandwurm.atlas @@ -0,0 +1,83 @@ +sandwurm.png +size: 256,256 +format: RGBA8888 +filter: Nearest,Nearest +repeat: none +Avatar + xy: 103, 77 + size: 16, 16 +Idle + xy: 0, 12 + size: 32, 20 +Idle + xy: 32, 12 + size: 32, 20 +Idle + xy: 64, 12 + size: 32, 20 +Idle + xy: 96, 12 + size: 32, 20 +Idle + xy: 128, 12 + size: 32, 20 +Idle + xy: 160, 12 + size: 32, 20 +Idle + xy: 192, 12 + size: 32, 20 +Idle + xy: 224, 12 + size: 32, 20 +Walk + xy: 0, 39 + size: 32, 25 +Walk + xy: 32, 39 + size: 32, 25 +Walk + xy: 64, 39 + size: 32, 25 +Walk + xy: 96, 39 + size: 32, 25 +Walk + xy: 128, 39 + size: 32, 25 +Walk + xy: 160, 39 + size: 32, 25 +Walk + xy: 192, 39 + size: 32, 25 +Walk + xy: 224, 39 + size: 32, 25 +Attack + xy: 0, 70 + size: 32, 26 +Attack + xy: 32, 70 + size: 32, 26 +Attack + xy: 64, 70 + size: 32, 26 +Attack + xy: 96, 70 + size: 32, 26 +Death + xy: 0, 105 + size: 32, 23 +Death + xy: 32, 105 + size: 32, 23 +Death + xy: 64, 105 + size: 32, 23 +Death + xy: 96, 105 + size: 32, 23 +Death + xy: 128, 105 + size: 32, 23 \ No newline at end of file diff --git a/forge-gui/res/adventure/Shandalar/sprites/dungeon/sandwurm.png b/forge-gui/res/adventure/Shandalar/sprites/dungeon/sandwurm.png new file mode 100644 index 0000000000000000000000000000000000000000..49214ce04763c808718248299bd5d083015a46e4 GIT binary patch literal 23709 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
    5FY+Y0aWH>bbQ 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 Date: Fri, 14 Apr 2023 04:04:09 +0800 Subject: [PATCH 13/18] fix loading error classcastexception - fix classcastexception-cannot-assign-instance-of since the old value is of UUID and changed to String, old file will not load... --- .../src/forge/adventure/data/AdventureQuestData.java | 2 +- .../src/forge/adventure/data/AdventureQuestStage.java | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/forge-gui-mobile/src/forge/adventure/data/AdventureQuestData.java b/forge-gui-mobile/src/forge/adventure/data/AdventureQuestData.java index 1572dac1c0a..5689f0c3511 100644 --- a/forge-gui-mobile/src/forge/adventure/data/AdventureQuestData.java +++ b/forge-gui-mobile/src/forge/adventure/data/AdventureQuestData.java @@ -313,7 +313,7 @@ public class AdventureQuestData implements Serializable { EnemyData toUse = generateTargetEnemyData(stage); toUse.lifetime = stage.count1; EnemySprite toReturn = new EnemySprite(toUse); - toReturn.questStageID = stage.stageID; + toReturn.questStageID = stage.stageID.toString(); return toReturn; } return null; diff --git a/forge-gui-mobile/src/forge/adventure/data/AdventureQuestStage.java b/forge-gui-mobile/src/forge/adventure/data/AdventureQuestStage.java index 6ce3156dbc8..80ca2dfc075 100644 --- a/forge-gui-mobile/src/forge/adventure/data/AdventureQuestStage.java +++ b/forge-gui-mobile/src/forge/adventure/data/AdventureQuestStage.java @@ -48,11 +48,11 @@ public class AdventureQuestStage implements Serializable { public String POIToken; //If defined, ignore tags input and use the target POI from a different stage's objective instead. private transient boolean inTargetLocation = false; - public String stageID; + public UUID stageID; public void initialize(){ - if (stageID == null || stageID.isEmpty()){ - stageID = UUID.randomUUID().toString(); + if (stageID == null){ + stageID = UUID.randomUUID(); } } From 9da9d1f714bc466ad23c3f6bedc5adcbe2cce6c7 Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Fri, 14 Apr 2023 04:10:08 +0800 Subject: [PATCH 14/18] Update AdventureQuestController.java update check --- .../src/forge/adventure/util/AdventureQuestController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forge-gui-mobile/src/forge/adventure/util/AdventureQuestController.java b/forge-gui-mobile/src/forge/adventure/util/AdventureQuestController.java index 9d07593d0db..6e2155eaf7e 100644 --- a/forge-gui-mobile/src/forge/adventure/util/AdventureQuestController.java +++ b/forge-gui-mobile/src/forge/adventure/util/AdventureQuestController.java @@ -292,7 +292,7 @@ public class AdventureQuestController implements Serializable { public void rematchQuestSprite(EnemySprite sprite){ for (AdventureQuestData q : Current.player().getQuests()){ for (AdventureQuestStage s : q.stages){ - if (sprite.questStageID != null && sprite.questStageID.equals(s.stageID)){ + if (sprite.questStageID != null && sprite.questStageID.equals(s.stageID.toString())){ s.setTargetSprite(sprite); } } From 6103c7b657dcb6765845918690162653b2f01b83 Mon Sep 17 00:00:00 2001 From: tool4EvEr Date: Thu, 13 Apr 2023 22:25:41 +0200 Subject: [PATCH 15/18] Clean up descriptions --- forge-gui/res/cardsfolder/b/barbarian_guides.txt | 2 +- forge-gui/res/cardsfolder/b/blessed_defiance.txt | 4 ++-- forge-gui/res/cardsfolder/b/burn_away.txt | 4 ++-- forge-gui/res/cardsfolder/c/calibrated_blast.txt | 4 ++-- forge-gui/res/cardsfolder/c/calim_djinn_emperor.txt | 2 +- forge-gui/res/cardsfolder/c/cryptek.txt | 4 ++-- forge-gui/res/cardsfolder/d/dwarven_sea_clan.txt | 2 +- forge-gui/res/cardsfolder/f/fiery_encore.txt | 4 ++-- forge-gui/res/cardsfolder/f/foxfire.txt | 2 +- forge-gui/res/cardsfolder/g/giant_slug.txt | 2 +- .../cardsfolder/g/golden_guardian_gold_forge_garrison.txt | 4 ++-- forge-gui/res/cardsfolder/h/hypothesizzle.txt | 4 ++-- forge-gui/res/cardsfolder/i/inferno_of_the_star_mounts.txt | 4 ++-- .../res/cardsfolder/i/initiate_of_blood_goka_the_unjust.txt | 4 ++-- forge-gui/res/cardsfolder/j/jailbreak.txt | 4 ++-- forge-gui/res/cardsfolder/k/kelsien_the_plague.txt | 4 ++-- forge-gui/res/cardsfolder/m/make_your_mark.txt | 4 ++-- forge-gui/res/cardsfolder/m/minsc_boo_timeless_heroes.txt | 4 ++-- forge-gui/res/cardsfolder/o/otherworldly_outburst.txt | 4 ++-- forge-gui/res/cardsfolder/o/out_of_the_way.txt | 4 ++-- forge-gui/res/cardsfolder/p/psychic_theft.txt | 4 ++-- forge-gui/res/cardsfolder/r/rushed_rebirth.txt | 4 ++-- forge-gui/res/cardsfolder/s/searing_blood.txt | 4 ++-- forge-gui/res/cardsfolder/s/skeletonize.txt | 4 ++-- forge-gui/res/cardsfolder/s/sorin_imperious_bloodlord.txt | 4 ++-- forge-gui/res/cardsfolder/t/the_royal_scions.txt | 4 ++-- forge-gui/res/cardsfolder/t/time_to_feed.txt | 6 +++--- .../cardsfolder/t/torrent_sculptor_flamethrower_sonata.txt | 4 ++-- forge-gui/res/cardsfolder/u/unleash_the_inferno.txt | 4 ++-- forge-gui/res/cardsfolder/upcoming/elenda_and_azor.txt | 2 +- .../invasion_of_new_phyrexia_teferi_akosa_of_zhalfir.txt | 4 ++-- forge-gui/res/cardsfolder/v/virulent_wound.txt | 4 ++-- forge-gui/res/cardsfolder/w/waylay.txt | 2 +- ...mpire_knight_lifelink.txt => w_1_1_vampire_lifelink.txt} | 4 ++-- 34 files changed, 62 insertions(+), 62 deletions(-) rename forge-gui/res/tokenscripts/{w_1_1_vampire_knight_lifelink.txt => w_1_1_vampire_lifelink.txt} (53%) diff --git a/forge-gui/res/cardsfolder/b/barbarian_guides.txt b/forge-gui/res/cardsfolder/b/barbarian_guides.txt index d101bafcedb..eb19d12d5e6 100644 --- a/forge-gui/res/cardsfolder/b/barbarian_guides.txt +++ b/forge-gui/res/cardsfolder/b/barbarian_guides.txt @@ -2,7 +2,7 @@ Name:Barbarian Guides ManaCost:2 R Types:Creature Human Barbarian PT:1/2 -A:AB$ ChooseType | Cost$ 2 R T | Defined$ You | Type$ Land | SubAbility$ DBPump | StackDescription$ SpellDescription | SpellDescription$ Choose a land type. Target creature you control gains snow landwalk of the chosen type until end of turn. Return that creature to its owner's hand at the beginning of the next end step. +A:AB$ ChooseType | Cost$ 2 R T | Defined$ You | Type$ Land | SubAbility$ DBPump | StackDescription$ SpellDescription | SpellDescription$ Choose a land type. Target creature you control gains snow landwalk of the chosen type until end of turn. SVar:DBPump:DB$ Pump | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | KW$ Snow ChosenTypewalk | DefinedKW$ ChosenType | StackDescription$ None | SubAbility$ DBDelTrig SVar:DBDelTrig:DB$ DelayedTrigger | Mode$ Phase | Phase$ End of Turn | RememberObjects$ ParentTarget | Execute$ TrigReturn | SpellDescription$ Return that creature to its owner's hand at the beginning of the next end step. SVar:TrigReturn:DB$ ChangeZone | Defined$ DelayTriggerRememberedLKI | Origin$ Battlefield | Destination$ Hand diff --git a/forge-gui/res/cardsfolder/b/blessed_defiance.txt b/forge-gui/res/cardsfolder/b/blessed_defiance.txt index d9be9e82196..353cd88ce97 100644 --- a/forge-gui/res/cardsfolder/b/blessed_defiance.txt +++ b/forge-gui/res/cardsfolder/b/blessed_defiance.txt @@ -1,8 +1,8 @@ Name:Blessed Defiance ManaCost:W Types:Instant -A:SP$ Pump | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | NumAtt$ 2 | KW$ Lifelink | SubAbility$ DBDelayedTrigger | SpellDescription$ Target creature you control gets +2/+0 and gains lifelink until end of turn. When that creature dies this turn, create a 1/1 white Spirit creature token with flying. -SVar:DBDelayedTrigger:DB$ DelayedTrigger | Mode$ ChangesZone | RememberObjects$ Targeted | ValidCard$ Card.IsTriggerRemembered | Origin$ Battlefield | Destination$ Graveyard | ThisTurn$ True | Execute$ DBToken | TriggerDescription$ When that creature dies this turn, create a 1/1 white Spirit creature token with flying. +A:SP$ Pump | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | NumAtt$ 2 | KW$ Lifelink | SubAbility$ DBDelayedTrigger | SpellDescription$ Target creature you control gets +2/+0 and gains lifelink until end of turn. +SVar:DBDelayedTrigger:DB$ DelayedTrigger | Mode$ ChangesZone | RememberObjects$ Targeted | ValidCard$ Card.IsTriggerRemembered | Origin$ Battlefield | Destination$ Graveyard | ThisTurn$ True | Execute$ DBToken | SpellDescription$ When that creature dies this turn, create a 1/1 white Spirit creature token with flying. SVar:DBToken:DB$ Token | TokenScript$ w_1_1_spirit_flying DeckHas:Ability$Token Oracle:Target creature you control gets +2/+0 and gains lifelink until end of turn. When that creature dies this turn, create a 1/1 white Spirit creature token with flying. diff --git a/forge-gui/res/cardsfolder/b/burn_away.txt b/forge-gui/res/cardsfolder/b/burn_away.txt index 6e79090c1c6..98276d29137 100644 --- a/forge-gui/res/cardsfolder/b/burn_away.txt +++ b/forge-gui/res/cardsfolder/b/burn_away.txt @@ -1,7 +1,7 @@ Name:Burn Away ManaCost:4 R Types:Instant -A:SP$ DealDamage | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ 6 | SubAbility$ DBDelayedTrigger | SpellDescription$ CARDNAME deals 6 damage to target creature. When that creature dies this turn, exile all cards from its controller's graveyard. -SVar:DBDelayedTrigger:DB$ DelayedTrigger | Mode$ ChangesZone | RememberObjects$ Targeted | ValidCard$ Card.IsTriggerRemembered | Origin$ Battlefield | Destination$ Graveyard | ThisTurn$ True | Execute$ TrigExile | TriggerDescription$ When that creature dies this turn, exile all cards from its controller's graveyard. +A:SP$ DealDamage | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ 6 | SubAbility$ DBDelayedTrigger | SpellDescription$ CARDNAME deals 6 damage to target creature. +SVar:DBDelayedTrigger:DB$ DelayedTrigger | Mode$ ChangesZone | RememberObjects$ Targeted | ValidCard$ Card.IsTriggerRemembered | Origin$ Battlefield | Destination$ Graveyard | ThisTurn$ True | Execute$ TrigExile | SpellDescription$ When that creature dies this turn, exile all cards from its controller's graveyard. SVar:TrigExile:DB$ ChangeZoneAll | Defined$ TriggeredCardController | Origin$ Graveyard | Destination$ Exile Oracle:Burn Away deals 6 damage to target creature. When that creature dies this turn, exile all cards from its controller's graveyard. diff --git a/forge-gui/res/cardsfolder/c/calibrated_blast.txt b/forge-gui/res/cardsfolder/c/calibrated_blast.txt index 14630b8f383..f51d1528c6e 100644 --- a/forge-gui/res/cardsfolder/c/calibrated_blast.txt +++ b/forge-gui/res/cardsfolder/c/calibrated_blast.txt @@ -1,8 +1,8 @@ Name:Calibrated Blast ManaCost:2 R Types:Instant -A:SP$ DigUntil | Valid$ Card.nonLand | ValidDescription$ nonland | RevealedDestination$ Library | RevealedLibraryPosition$ -1 | RevealRandomOrder$ True | RememberFound$ True | SubAbility$ DBImmediateTrigger | StackDescription$ Reveal cards from the top of your library until you reveal a nonland card. Put the revealed cards on the bottom of your library in a random order. | SpellDescription$ Reveal cards from the top of your library until you reveal a nonland card. Put the revealed cards on the bottom of your library in a random order. When you reveal a nonland card this way, CARDNAME deals damage equal to that card's mana value to any target. -SVar:DBImmediateTrigger:DB$ ImmediateTrigger | ConditionDefined$ Remembered | ConditionPresent$ Card.nonLand | Execute$ TrigDamage | TriggerDescription$ When you reveal a nonland card this way, CARDNAME deals damage equal to that card's mana value to any target. +A:SP$ DigUntil | Valid$ Card.nonLand | ValidDescription$ nonland | RevealedDestination$ Library | RevealedLibraryPosition$ -1 | RevealRandomOrder$ True | RememberFound$ True | SubAbility$ DBImmediateTrigger | StackDescription$ Reveal cards from the top of your library until you reveal a nonland card. Put the revealed cards on the bottom of your library in a random order. | SpellDescription$ Reveal cards from the top of your library until you reveal a nonland card. Put the revealed cards on the bottom of your library in a random order. +SVar:DBImmediateTrigger:DB$ ImmediateTrigger | ConditionDefined$ Remembered | ConditionPresent$ Card.nonLand | Execute$ TrigDamage | SpellDescription$ When you reveal a nonland card this way, CARDNAME deals damage equal to that card's mana value to any target. SVar:TrigDamage:DB$ DealDamage | ValidTgts$ Creature,Player,Planeswalker | TgtPrompt$ Select any target | NumDmg$ X | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$CardManaCost diff --git a/forge-gui/res/cardsfolder/c/calim_djinn_emperor.txt b/forge-gui/res/cardsfolder/c/calim_djinn_emperor.txt index fd431dfc28f..55e4ed124ae 100644 --- a/forge-gui/res/cardsfolder/c/calim_djinn_emperor.txt +++ b/forge-gui/res/cardsfolder/c/calim_djinn_emperor.txt @@ -4,7 +4,7 @@ Types:Legendary Creature Djinn Noble PT:5/6 K:Flying K:Ward:2 -A:AB$ Tap | Cost$ 1 U Discard<1/CARDNAME> | ActivationZone$ Hand | ValidTgts$ Permanent.nonLand | TgtPrompt$ Select target nonland permanent | TargetMin$ 0 | TargetMax$ 1 | SubAbility$ DBDraw | SpellDescription$ Tap up to one target nonland permanent. Draw a card. Then you may exile two other cards named Calim, Djinn Emperor from your graveyard. When you do, return CARDNAME from your graveyard to the battlefield tapped. +A:AB$ Tap | Cost$ 1 U Discard<1/CARDNAME> | ActivationZone$ Hand | ValidTgts$ Permanent.nonLand | TgtPrompt$ Select target nonland permanent | TargetMin$ 0 | TargetMax$ 1 | SubAbility$ DBDraw | SpellDescription$ Tap up to one target nonland permanent. Draw a card. Then you may exile two other cards named Calim, Djinn Emperor from your graveyard. SVar:DBDraw:DB$ Draw | Defined$ You | SubAbility$ CalimChooseTwo SVar:CalimChooseTwo:DB$ ChooseCard | ConditionCheckSVar$ X | ConditionSVarCompare$ GE2 | Defined$ You | Amount$ 2 | ChoiceTitle$ Choose two other cards named Calim, Djinn Emperor from your graveyard | Choices$ Card.namedCalim; Djinn Emperor+YouOwn+Other | ChoiceZone$ Graveyard | RememberChosen$ True | SubAbility$ CalimExile SVar:CalimExile:DB$ ChangeZoneAll | ConditionCheckSVar$ CalimNumRemembered | ConditionSVarCompare$ EQ2 | Origin$ Graveyard | Destination$ Exile | ChangeType$ Card.IsRemembered | RememberChanged$ True | ForgetOtherRemembered$ True | SubAbility$ TrigImmediateTrig diff --git a/forge-gui/res/cardsfolder/c/cryptek.txt b/forge-gui/res/cardsfolder/c/cryptek.txt index 05715ec2e48..ad640fa5fb0 100644 --- a/forge-gui/res/cardsfolder/c/cryptek.txt +++ b/forge-gui/res/cardsfolder/c/cryptek.txt @@ -2,8 +2,8 @@ Name:Cryptek ManaCost:3 B Types:Artifact Creature Necron Wizard PT:3/3 -A:AB$ ChooseCard | Cost$ 1 B T | ValidTgts$ Artifact.Creature+YouCtrl+Other | TgtPrompt$ Choose another target artifact creature you control | SubAbility$ DBDelayedTrigger | StackDescription$ When {c:Targeted} dies this turn, return that card to the battlefield tapped. | SpellDescription$ Choose another target artifact creature you control. When that creature dies this turn, return it to the battlefield tapped under your control. -SVar:DBDelayedTrigger:DB$ DelayedTrigger | Mode$ ChangesZone | RememberObjects$ Targeted | ValidCard$ Card.IsTriggerRemembered | Origin$ Battlefield | Destination$ Graveyard | ThisTurn$ True | Execute$ TrigReturn | StackDescription$ None | TriggerDescription$ When that creature dies this turn, return it to the battlefield tapped under your control. +A:AB$ ChooseCard | Cost$ 1 B T | ValidTgts$ Artifact.Creature+YouCtrl+Other | TgtPrompt$ Choose another target artifact creature you control | SubAbility$ DBDelayedTrigger | StackDescription$ When {c:Targeted} dies this turn, return that card to the battlefield tapped. | SpellDescription$ Choose another target artifact creature you control. +SVar:DBDelayedTrigger:DB$ DelayedTrigger | Mode$ ChangesZone | RememberObjects$ Targeted | ValidCard$ Card.IsTriggerRemembered | Origin$ Battlefield | Destination$ Graveyard | ThisTurn$ True | Execute$ TrigReturn | StackDescription$ None | SpellDescription$ When that creature dies this turn, return it to the battlefield tapped under your control. SVar:TrigReturn:DB$ ChangeZone | Origin$ Graveyard | Destination$ Battlefield | Defined$ TriggeredCard | Tapped$ True | GainControl$ True DeckHints:Ability$Graveyard Oracle:{1}{B}, {T}: Choose another target artifact creature you control. When that creature dies this turn, return it to the battlefield tapped under your control. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/d/dwarven_sea_clan.txt b/forge-gui/res/cardsfolder/d/dwarven_sea_clan.txt index 43a54649cf4..2eed8908417 100644 --- a/forge-gui/res/cardsfolder/d/dwarven_sea_clan.txt +++ b/forge-gui/res/cardsfolder/d/dwarven_sea_clan.txt @@ -3,7 +3,7 @@ ManaCost:2 R Types:Creature Dwarf PT:1/1 A:AB$ Pump | Cost$ T | IsCurse$ True | ValidTgts$ Creature.ControllerControlsIsland+attacking,Creature.ControllerControlsIsland+blocking | TgtPrompt$ Select target attacking or blocking creature whose controller controls an Island | ActivationPhases$ BeginCombat->Combat Damage | ActivationFirstCombat$ True | ConditionDefined$ Targeted | ConditionPresent$ Creature.ControllerControlsIsland | ConditionCompare$ GE1 | SubAbility$ DBDelayTrig | StackDescription$ SpellDescription | SpellDescription$ Choose target attacking or blocking creature whose controller controls an Island. CARDNAME deals 2 damage to that creature at end of combat. Activate only before the end of combat step. -SVar:DBDelayTrig:DB$ DelayedTrigger | Mode$ Phase | Phase$ EndCombat | Execute$ TrigDmg | SpellDescription$ CARDNAME deals 2 damage to that creature at end of combat. | RememberObjects$ ParentTarget | SubAbility$ DBCleanup +SVar:DBDelayTrig:DB$ DelayedTrigger | Mode$ Phase | Phase$ EndCombat | Execute$ TrigDmg | TriggerDescription$ CARDNAME deals 2 damage to that creature at end of combat. | RememberObjects$ ParentTarget | SubAbility$ DBCleanup SVar:TrigDmg:DB$ DealDamage | NumDmg$ 2 | Defined$ DelayTriggerRemembered SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:NeedsToPlay:Island.OppCtrl diff --git a/forge-gui/res/cardsfolder/f/fiery_encore.txt b/forge-gui/res/cardsfolder/f/fiery_encore.txt index b5af7af9b14..bc8926e8bc6 100644 --- a/forge-gui/res/cardsfolder/f/fiery_encore.txt +++ b/forge-gui/res/cardsfolder/f/fiery_encore.txt @@ -1,9 +1,9 @@ Name:Fiery Encore ManaCost:4 R Types:Sorcery -A:SP$ Discard | Cost$ 4 R | Mode$ TgtChoose | SubAbility$ DBDraw | RememberDiscarded$ True | SpellDescription$ Discard a card, then draw a card. When you discard a nonland card this way, CARDNAME deals damage equal to that card's mana value to target creature or planeswalker. +A:SP$ Discard | Cost$ 4 R | Mode$ TgtChoose | SubAbility$ DBDraw | RememberDiscarded$ True | SpellDescription$ Discard a card, then draw a card. SVar:DBDraw:DB$ Draw | SubAbility$ DBImmediateTrigger -SVar:DBImmediateTrigger:DB$ ImmediateTrigger | ConditionDefined$ Remembered | ConditionPresent$ Card.nonLand | Execute$ TrigDealDamage | RememberObjects$ RememberedCard | SubAbility$ DBCleanup | TriggerDescription$ When you discard a nonland card this way, CARDNAME deals damage equal to that card's mana value to target creature or planeswalker. +SVar:DBImmediateTrigger:DB$ ImmediateTrigger | ConditionDefined$ Remembered | ConditionPresent$ Card.nonLand | Execute$ TrigDealDamage | RememberObjects$ RememberedCard | SubAbility$ DBCleanup | SpellDescription$ When you discard a nonland card this way, CARDNAME deals damage equal to that card's mana value to target creature or planeswalker. SVar:TrigDealDamage:DB$ DealDamage | ValidTgts$ Creature,Planeswalker | TgtPrompt$ Select target creature or planeswalker | NumDmg$ X SVar:X:TriggerRemembered$CardManaCost SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True diff --git a/forge-gui/res/cardsfolder/f/foxfire.txt b/forge-gui/res/cardsfolder/f/foxfire.txt index 966511678fc..416a71df1fe 100644 --- a/forge-gui/res/cardsfolder/f/foxfire.txt +++ b/forge-gui/res/cardsfolder/f/foxfire.txt @@ -5,7 +5,7 @@ A:SP$ Untap | Cost$ 2 G | ValidTgts$ Creature.attacking | TgtPrompt$ Select targ SVar:DBPump:DB$ Effect | ReplacementEffects$ RPrevent1,RPrevent2 | RememberObjects$ Targeted | ExileOnMoved$ Battlefield | SubAbility$ DelTrigSlowtrip | SpellDescription$ Prevent all combat damage that would be dealt to and dealt by that creature this turn. SVar:RPrevent1:Event$ DamageDone | Prevent$ True | IsCombat$ True | ValidSource$ Card.IsRemembered | Description$ Prevent all combat damage that would be dealt to and dealt by that creature this turn. SVar:RPrevent2:Event$ DamageDone | Prevent$ True | IsCombat$ True | ValidTarget$ Card.IsRemembered | Description$ Prevent all combat damage that would be dealt to and dealt by that creature this turn. | Secondary$ True -SVar:DelTrigSlowtrip:DB$ DelayedTrigger | NextTurn$ True | Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Player | Execute$ DrawSlowtrip | SpellDescription$ Draw a card. | TriggerDescription$ Draw a card at the beginning of the next turn's upkeep. +SVar:DelTrigSlowtrip:DB$ DelayedTrigger | NextTurn$ True | Mode$ Phase | Phase$ Upkeep | ValidPlayer$ Player | Execute$ DrawSlowtrip | SpellDescription$ Draw a card at the beginning of the next turn's upkeep. SVar:DrawSlowtrip:DB$ Draw | NumCards$ 1 | Defined$ You AI:RemoveDeck:All Oracle:Untap target attacking creature. Prevent all combat damage that would be dealt to and dealt by that creature this turn.\nDraw a card at the beginning of the next turn's upkeep. diff --git a/forge-gui/res/cardsfolder/g/giant_slug.txt b/forge-gui/res/cardsfolder/g/giant_slug.txt index ce24d4bc823..3cc6313e378 100644 --- a/forge-gui/res/cardsfolder/g/giant_slug.txt +++ b/forge-gui/res/cardsfolder/g/giant_slug.txt @@ -4,6 +4,6 @@ Types:Creature Slug PT:1/1 A:AB$ DelayedTrigger | Cost$ 5 | Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ ChooseB | RememberObjects$ Self | StackDescription$ SpellDescription | SpellDescription$ At the beginning of your next upkeep, choose a basic land type. CARDNAME gains landwalk of the chosen type until the end of that turn. (It can't be blocked as long as defending player controls a land of that type.) SVar:ChooseB:DB$ ChooseType | Defined$ You | Type$ Basic Land | AILogic$ ChosenLandwalk | SubAbility$ DBPump -SVar:DBPump:DB$ Pump | Defined$ DelayTriggerRemembered | KW$ ChosenTypewalk | DefinedKW$ ChosenType | ConditionDefined$ DelayTriggerRemembered | ConditionPresent$ Card.StrictlySelf +SVar:DBPump:DB$ Pump | Defined$ DelayTriggerRememberedLKI | KW$ ChosenTypewalk | DefinedKW$ ChosenType AI:RemoveDeck:All Oracle:{5}: At the beginning of your next upkeep, choose a basic land type. Giant Slug gains landwalk of the chosen type until the end of that turn. (It can't be blocked as long as defending player controls a land of that type.) diff --git a/forge-gui/res/cardsfolder/g/golden_guardian_gold_forge_garrison.txt b/forge-gui/res/cardsfolder/g/golden_guardian_gold_forge_garrison.txt index 9f0a854087d..bc19793abcb 100644 --- a/forge-gui/res/cardsfolder/g/golden_guardian_gold_forge_garrison.txt +++ b/forge-gui/res/cardsfolder/g/golden_guardian_gold_forge_garrison.txt @@ -3,8 +3,8 @@ ManaCost:4 Types:Artifact Creature Golem PT:4/4 K:Defender -A:AB$ Fight | Cost$ 2 | Defined$ Self | ValidTgts$ Creature.YouCtrl+Other | TgtPrompt$ Select another target creature you control | SubAbility$ DBDelayedTrigger | StackDescription$ CARDNAME fights {c:Targeted}. | SpellDescription$ CARDNAME fights another target creature you control. When CARDNAME dies this turn, return it to the battlefield transformed under your control. -SVar:DBDelayedTrigger:DB$ DelayedTrigger | Mode$ ChangesZone | RememberObjects$ Self | ValidCard$ Card.IsTriggerRemembered | Origin$ Battlefield | Destination$ Graveyard | ThisTurn$ True | Execute$ TrigChangeZone | TriggerDescription$ When CARDNAME dies this turn, return it to the battlefield transformed under your control. +A:AB$ Fight | Cost$ 2 | Defined$ Self | ValidTgts$ Creature.YouCtrl+Other | TgtPrompt$ Select another target creature you control | SubAbility$ DBDelayedTrigger | StackDescription$ CARDNAME fights {c:Targeted}. | SpellDescription$ CARDNAME fights another target creature you control. +SVar:DBDelayedTrigger:DB$ DelayedTrigger | Mode$ ChangesZone | RememberObjects$ Self | ValidCard$ Card.IsTriggerRemembered | Origin$ Battlefield | Destination$ Graveyard | ThisTurn$ True | Execute$ TrigChangeZone | SpellDescription$ When CARDNAME dies this turn, return it to the battlefield transformed under your control. SVar:TrigChangeZone:DB$ ChangeZone | Defined$ DelayTriggerRemembered | Origin$ Graveyard | Destination$ Battlefield | Transformed$ True | GainControl$ True AlternateMode:DoubleFaced Oracle:Defender\n{2}: Golden Guardian fights another target creature you control. When Golden Guardian dies this turn, return it to the battlefield transformed under your control. diff --git a/forge-gui/res/cardsfolder/h/hypothesizzle.txt b/forge-gui/res/cardsfolder/h/hypothesizzle.txt index 54203a46f0a..733a0d6c25c 100644 --- a/forge-gui/res/cardsfolder/h/hypothesizzle.txt +++ b/forge-gui/res/cardsfolder/h/hypothesizzle.txt @@ -1,8 +1,8 @@ Name:Hypothesizzle ManaCost:3 U R Types:Instant -A:SP$ Draw | NumCards$ 2 | SubAbility$ DBImmediateTrigger | SpellDescription$ Draw two cards. Then you may discard a nonland card. When you do, CARDNAME deals 4 damage to target creature. -SVar:DBImmediateTrigger:DB$ ImmediateTrigger | UnlessCost$ Discard<1/Card.nonLand/nonland card> | UnlessPayer$ You | UnlessSwitched$ True | Execute$ TrigDealDmg | StackDescription$ None | TriggerDescription$ When you do, CARDNAME deals 4 damage to target creature. +A:SP$ Draw | NumCards$ 2 | SubAbility$ DBImmediateTrigger | SpellDescription$ Draw two cards. Then you may discard a nonland card. +SVar:DBImmediateTrigger:DB$ ImmediateTrigger | UnlessCost$ Discard<1/Card.nonLand/nonland card> | UnlessPayer$ You | UnlessSwitched$ True | Execute$ TrigDealDmg | StackDescription$ None | SpellDescription$ When you do, CARDNAME deals 4 damage to target creature. SVar:TrigDealDmg:DB$ DealDamage | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ 4 DeckHas:Ability$Discard Oracle:Draw two cards. Then you may discard a nonland card. When you do, Hypothesizzle deals 4 damage to target creature. diff --git a/forge-gui/res/cardsfolder/i/inferno_of_the_star_mounts.txt b/forge-gui/res/cardsfolder/i/inferno_of_the_star_mounts.txt index fdb70d30e9a..d06c401b209 100644 --- a/forge-gui/res/cardsfolder/i/inferno_of_the_star_mounts.txt +++ b/forge-gui/res/cardsfolder/i/inferno_of_the_star_mounts.txt @@ -5,8 +5,8 @@ PT:6/6 K:This spell can't be countered. K:Flying K:Haste -A:AB$ Pump | Cost$ R | Defined$ Self | NumAtt$ +1 | SubAbility$ DBImmediateTrigger | AILogic$ InfernoOfTheStarMounts | SpellDescription$ CARDNAME gets +1/+0 until end of turn. When its power becomes 20 this way, it deals 20 damage to any target. -SVar:DBImmediateTrigger:DB$ ImmediateTrigger | Execute$ TrigDealDamage | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ20 | TriggerDescription$ When its power becomes 20 this way, it deals 20 damage to any target. +A:AB$ Pump | Cost$ R | Defined$ Self | NumAtt$ +1 | SubAbility$ DBImmediateTrigger | AILogic$ InfernoOfTheStarMounts | SpellDescription$ CARDNAME gets +1/+0 until end of turn. +SVar:DBImmediateTrigger:DB$ ImmediateTrigger | Execute$ TrigDealDamage | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ20 | SpellDescription$ When its power becomes 20 this way, it deals 20 damage to any target. SVar:TrigDealDamage:DB$ DealDamage | ValidTgts$ Creature,Player,Planeswalker | TgtPrompt$ Select any target | NumDmg$ 20 SVar:X:Count$CardPower Oracle:This spell can't be countered.\nFlying, haste\n{R}: Inferno of the Star Mounts gets +1/+0 until end of turn. When its power becomes 20 this way, it deals 20 damage to any target. diff --git a/forge-gui/res/cardsfolder/i/initiate_of_blood_goka_the_unjust.txt b/forge-gui/res/cardsfolder/i/initiate_of_blood_goka_the_unjust.txt index 51fb9f70b57..56ca6976ae7 100644 --- a/forge-gui/res/cardsfolder/i/initiate_of_blood_goka_the_unjust.txt +++ b/forge-gui/res/cardsfolder/i/initiate_of_blood_goka_the_unjust.txt @@ -2,8 +2,8 @@ Name:Initiate of Blood ManaCost:3 R Types:Creature Ogre Shaman PT:2/2 -A:AB$ DealDamage | Cost$ T | ValidTgts$ Creature.wasDealtDamageThisTurn | TgtPrompt$ Select target creature that was dealt damage this turn | NumDmg$ 1 | SubAbility$ DBDelayedTrigger | SpellDescription$ CARDNAME deals 1 damage to target creature that was dealt damage this turn. When that creature dies this turn, flip CARDNAME. -SVar:DBDelayedTrigger:DB$ DelayedTrigger | Mode$ ChangesZone | RememberObjects$ Targeted | ValidCard$ Card.IsTriggerRemembered | Origin$ Battlefield | Destination$ Graveyard | ThisTurn$ True | Execute$ TrigTransform | TriggerDescription$ When that creature dies this turn, flip CARDNAME. +A:AB$ DealDamage | Cost$ T | ValidTgts$ Creature.wasDealtDamageThisTurn | TgtPrompt$ Select target creature that was dealt damage this turn | NumDmg$ 1 | SubAbility$ DBDelayedTrigger | SpellDescription$ CARDNAME deals 1 damage to target creature that was dealt damage this turn. +SVar:DBDelayedTrigger:DB$ DelayedTrigger | Mode$ ChangesZone | RememberObjects$ Targeted | ValidCard$ Card.IsTriggerRemembered | Origin$ Battlefield | Destination$ Graveyard | ThisTurn$ True | Execute$ TrigTransform | SpellDescription$ When that creature dies this turn, flip CARDNAME. SVar:TrigTransform:DB$ SetState | Defined$ Self | Mode$ Flip AlternateMode:Flip Oracle:{T}: Initiate of Blood deals 1 damage to target creature that was dealt damage this turn. When that creature dies this turn, flip Initiate of Blood. diff --git a/forge-gui/res/cardsfolder/j/jailbreak.txt b/forge-gui/res/cardsfolder/j/jailbreak.txt index e2d4770cb16..cb5bf089075 100644 --- a/forge-gui/res/cardsfolder/j/jailbreak.txt +++ b/forge-gui/res/cardsfolder/j/jailbreak.txt @@ -1,8 +1,8 @@ Name:Jailbreak ManaCost:1 W Types:Sorcery -A:SP$ ChangeZone | Origin$ Graveyard | Destination$ Battlefield | TgtPrompt$ Select target permanent in an opponent's graveyard | ValidTgts$ Permanent.OppOwn | SubAbility$ DBDelayedTrigger | SpellDescription$ Return target permanent card in an opponent's graveyard to the battlefield under their control. When that permanent enters the battlefield, return up to one target permanent card with equal or lesser mana value from your graveyard to the battlefield. -SVar:DBDelayedTrigger:DB$ DelayedTrigger | RememberObjects$ Targeted | Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.IsTriggerRemembered | Execute$ TrigReturn | TriggerDescription$ When that permanent enters the battlefield, return up to one target permanent card with equal or lesser mana value from your graveyard to the battlefield. +A:SP$ ChangeZone | Origin$ Graveyard | Destination$ Battlefield | TgtPrompt$ Select target permanent in an opponent's graveyard | ValidTgts$ Permanent.OppOwn | SubAbility$ DBDelayedTrigger | SpellDescription$ Return target permanent card in an opponent's graveyard to the battlefield under their control. +SVar:DBDelayedTrigger:DB$ DelayedTrigger | RememberObjects$ Targeted | Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.IsTriggerRemembered | Execute$ TrigReturn | SpellDescription$ When that permanent enters the battlefield, return up to one target permanent card with equal or lesser mana value from your graveyard to the battlefield. SVar:TrigReturn:DB$ ChangeZone | Origin$ Graveyard | Destination$ Battlefield | TgtPrompt$ Select up to one target permanent with equal or lesser mana value | TargetMin$ 0 | TargetMax$ 1 | ValidTgts$ Permanent.YouOwn+cmcLEX SVar:X:TriggeredCard$CardManaCost DeckHas:Ability$Graveyard diff --git a/forge-gui/res/cardsfolder/k/kelsien_the_plague.txt b/forge-gui/res/cardsfolder/k/kelsien_the_plague.txt index 20cedb86413..0f9b1550c16 100644 --- a/forge-gui/res/cardsfolder/k/kelsien_the_plague.txt +++ b/forge-gui/res/cardsfolder/k/kelsien_the_plague.txt @@ -6,8 +6,8 @@ K:Vigilance K:Haste S:Mode$ Continuous | Affected$ Card.Self | AddPower$ X | AddToughness$ X | Description$ CARDNAME gets +1/+1 for each experience counter you have. SVar:X:Count$YourCountersExperience -A:AB$ DealDamage | Cost$ T | ValidTgts$ Creature.YouDontCtrl | TgtPrompt$ Select target creature you don't control | NumDmg$ 1 | SubAbility$ DBDelayedTrigger | StackDescription$ CARDNAME deals 1 damage to {c:Targeted}. | SpellDescription$ CARDNAME deals 1 damage to target creature you don't control. When that creature dies this turn, you get an experience counter. -SVar:DBDelayedTrigger:DB$ DelayedTrigger | Mode$ ChangesZone | RememberObjects$ Targeted | ValidCard$ Card.IsTriggerRemembered | Origin$ Battlefield | Destination$ Graveyard | ThisTurn$ True | Execute$ TrigPutCounter | TriggerDescription$ When that creature dies this turn, you get an experience counter. +A:AB$ DealDamage | Cost$ T | ValidTgts$ Creature.YouDontCtrl | TgtPrompt$ Select target creature you don't control | NumDmg$ 1 | SubAbility$ DBDelayedTrigger | StackDescription$ NICKNAME deals 1 damage to {c:Targeted}. | SpellDescription$ NICKNAME deals 1 damage to target creature you don't control. +SVar:DBDelayedTrigger:DB$ DelayedTrigger | Mode$ ChangesZone | RememberObjects$ Targeted | ValidCard$ Card.IsTriggerRemembered | Origin$ Battlefield | Destination$ Graveyard | ThisTurn$ True | Execute$ TrigPutCounter | SpellDescription$ When that creature dies this turn, you get an experience counter. SVar:TrigPutCounter:DB$ PutCounter | Defined$ You | CounterType$ Experience | CounterNum$ 1 DeckHas:Ability$Counters Oracle:Vigilance, haste\nKelsien, the Plague gets +1/+1 for each experience counter you have.\n{T}: Kelsien deals 1 damage to target creature you don't control. When that creature dies this turn, you get an experience counter. diff --git a/forge-gui/res/cardsfolder/m/make_your_mark.txt b/forge-gui/res/cardsfolder/m/make_your_mark.txt index df24e006f1e..f38c4da04b8 100644 --- a/forge-gui/res/cardsfolder/m/make_your_mark.txt +++ b/forge-gui/res/cardsfolder/m/make_your_mark.txt @@ -1,8 +1,8 @@ Name:Make Your Mark ManaCost:RW Types:Instant -A:SP$ Pump | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +1 | SubAbility$ DBDelayedTrigger | SpellDescription$ Target creature gets +1/+0 until end of turn. When that creature dies this turn, create a 3/2 red and white Spirit creature token. -SVar:DBDelayedTrigger:DB$ DelayedTrigger | Mode$ ChangesZone | RememberObjects$ Targeted | ValidCard$ Card.IsTriggerRemembered | Origin$ Battlefield | Destination$ Graveyard | ThisTurn$ True | Execute$ DBToken | TriggerDescription$ When that creature dies this turn, create a 3/2 red and white Spirit creature token. +A:SP$ Pump | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +1 | SubAbility$ DBDelayedTrigger | SpellDescription$ Target creature gets +1/+0 until end of turn. +SVar:DBDelayedTrigger:DB$ DelayedTrigger | Mode$ ChangesZone | RememberObjects$ Targeted | ValidCard$ Card.IsTriggerRemembered | Origin$ Battlefield | Destination$ Graveyard | ThisTurn$ True | Execute$ DBToken | SpellDescription$ When that creature dies this turn, create a 3/2 red and white Spirit creature token. SVar:DBToken:DB$ Token | TokenScript$ rw_3_2_spirit DeckHas:Ability$Token Oracle:Target creature gets +1/+0 until end of turn. When that creature dies this turn, create a 3/2 red and white Spirit creature token. diff --git a/forge-gui/res/cardsfolder/m/minsc_boo_timeless_heroes.txt b/forge-gui/res/cardsfolder/m/minsc_boo_timeless_heroes.txt index e1ccad56838..56e15612f51 100644 --- a/forge-gui/res/cardsfolder/m/minsc_boo_timeless_heroes.txt +++ b/forge-gui/res/cardsfolder/m/minsc_boo_timeless_heroes.txt @@ -6,8 +6,8 @@ T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.S T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | Execute$ TrigToken | TriggerZones$ Battlefield | Secondary$ True | OptionalDecider$ You | TriggerDescription$ When CARDNAME enters the battlefield and at the beginning of your upkeep, you may create Boo, a legendary 1/1 red Hamster creature token with trample and haste. SVar:TrigToken:DB$ Token | TokenScript$ boo A:AB$ PutCounter | Cost$ AddCounter<1/LOYALTY> | Planeswalker$ True | ValidTgts$ Creature.withTrample,Creature.withHaste | TgtPrompt$ Select target creature with trample or haste | TargetMin$ 0 | TargetMax$ 1 | CounterType$ P1P1 | CounterNum$ 3 | SpellDescription$ Put three +1/+1 counters on up to one target creature with trample or haste. -A:AB$ Sacrifice | Cost$ SubCounter<2/LOYALTY> | Planeswalker$ True | SacValid$ Creature | RememberSacrificed$ True | SubAbility$ DBImmediateTrigger | SpellDescription$ Sacrifice a creature. When you do, CARDNAME deals X damage to any target, where X is that creature's power. If the sacrificed creature was a Hamster, draw X cards. -SVar:DBImmediateTrigger:DB$ ImmediateTrigger | Execute$ TrigDamage | ConditionDefined$ RememberedLKI | ConditionPresent$ Creature | RememberObjects$ RememberedLKI | TriggerDescription$ When you do, CARDNAME deals X damage to any target, where X is that creature's power. If the sacrificed creature was a Hamster, draw X cards. +A:AB$ Sacrifice | Cost$ SubCounter<2/LOYALTY> | Planeswalker$ True | SacValid$ Creature | RememberSacrificed$ True | SubAbility$ DBImmediateTrigger | SpellDescription$ Sacrifice a creature. +SVar:DBImmediateTrigger:DB$ ImmediateTrigger | Execute$ TrigDamage | ConditionDefined$ RememberedLKI | ConditionPresent$ Creature | RememberObjects$ RememberedLKI | SpellDescription$ When you do, CARDNAME deals X damage to any target, where X is that creature's power. If the sacrificed creature was a Hamster, draw X cards. SVar:TrigDamage:DB$ DealDamage | ValidTgts$ Creature,Player,Planeswalker | TgtPrompt$ Select any target | NumDmg$ X | SubAbility$ DBDraw SVar:DBDraw:DB$ Draw | ConditionDefined$ DelayTriggerRememberedLKI | ConditionPresent$ Hamster | NumCards$ X SVar:X:TriggerRemembered$CardPower diff --git a/forge-gui/res/cardsfolder/o/otherworldly_outburst.txt b/forge-gui/res/cardsfolder/o/otherworldly_outburst.txt index a682f547351..3936ada3cb1 100644 --- a/forge-gui/res/cardsfolder/o/otherworldly_outburst.txt +++ b/forge-gui/res/cardsfolder/o/otherworldly_outburst.txt @@ -1,8 +1,8 @@ Name:Otherworldly Outburst ManaCost:R Types:Instant -A:SP$ Pump | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ 1 | SubAbility$ DBDelayedTrigger | SpellDescription$ Target creature gets +1/+0 until end of turn. When that creature dies this turn, create a 3/2 colorless Eldrazi Horror creature token. -SVar:DBDelayedTrigger:DB$ DelayedTrigger | Mode$ ChangesZone | RememberObjects$ Targeted | ValidCard$ Card.IsTriggerRemembered | Origin$ Battlefield | Destination$ Graveyard | ThisTurn$ True | Execute$ DBToken | TriggerDescription$ When that creature dies this turn, create a 3/2 colorless Eldrazi Horror creature token. +A:SP$ Pump | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ 1 | SubAbility$ DBDelayedTrigger | SpellDescription$ Target creature gets +1/+0 until end of turn. +SVar:DBDelayedTrigger:DB$ DelayedTrigger | Mode$ ChangesZone | RememberObjects$ Targeted | ValidCard$ Card.IsTriggerRemembered | Origin$ Battlefield | Destination$ Graveyard | ThisTurn$ True | Execute$ DBToken | SpellDescription$ When that creature dies this turn, create a 3/2 colorless Eldrazi Horror creature token. SVar:DBToken:DB$ Token | TokenScript$ c_3_2_eldrazi_horror DeckHints:Type$Eldrazi|Horror DeckHas:Ability$Token diff --git a/forge-gui/res/cardsfolder/o/out_of_the_way.txt b/forge-gui/res/cardsfolder/o/out_of_the_way.txt index 11ecee95ed1..b7bd4080cfe 100644 --- a/forge-gui/res/cardsfolder/o/out_of_the_way.txt +++ b/forge-gui/res/cardsfolder/o/out_of_the_way.txt @@ -1,7 +1,7 @@ Name:Out of the Way ManaCost:3 U Types:Instant -S:Mode$ ReduceCost | ValidCard$ Card.Self | Type$ Spell | Amount$ 2 | ValidTarget$ Permanent.Green | EffectZone$ All | Description$ This spell costs {2} less to cast if it targets a a green permanent. +S:Mode$ ReduceCost | ValidCard$ Card.Self | Type$ Spell | Amount$ 2 | ValidTarget$ Permanent.Green | EffectZone$ All | Description$ This spell costs {2} less to cast if it targets a green permanent. A:SP$ ChangeZone | ValidTgts$ Permanent.nonLand+OppCtrl | TgtPrompt$ Select target nonland permanent an opponent controls | Origin$ Battlefield | Destination$ Hand | SubAbility$ DBDraw | SpellDescription$ Return target nonland permanent an opponent controls to its owner's hand. -SVar:DBDraw:DB$ Draw +SVar:DBDraw:DB$ Draw | SpellDescription$ Draw a card. Oracle:This spell costs {2} less to cast if it targets a green permanent.\nReturn target nonland permanent an opponent controls to its owner's hand.\nDraw a card. diff --git a/forge-gui/res/cardsfolder/p/psychic_theft.txt b/forge-gui/res/cardsfolder/p/psychic_theft.txt index 51cc52ebee2..e07d3439ff3 100644 --- a/forge-gui/res/cardsfolder/p/psychic_theft.txt +++ b/forge-gui/res/cardsfolder/p/psychic_theft.txt @@ -2,8 +2,8 @@ Name:Psychic Theft ManaCost:1 U Types:Sorcery A:SP$ ChangeZone | ValidTgts$ Player | Origin$ Hand | Destination$ Exile | ChangeType$ Instant,Sorcery | Mandatory$ True | IsCurse$ True | Chooser$ You | ChangeNum$ 1 | RememberChanged$ True | SubAbility$ TheftEffect | SpellDescription$ Target player reveals their hand. You choose an instant or sorcery card from it and exile that card. | StackDescription$ SpellDescription -SVar:TheftEffect:DB$ Effect | StaticAbilities$ STThieving | Duration$ Permanent | RememberObjects$ Remembered | ExileOnMoved$ Exile | SubAbility$ DBDelayedTrigger | SpellDescription$ You may cast that card for as long as it remains exiled. At the beginning of the next end step, if you haven't cast the card, return it to its owner's hand. -SVar:DBDelayedTrigger:DB$ DelayedTrigger | Mode$ Phase | Phase$ End of Turn | Execute$ TrigReturn | IsPresent$ Card.IsRemembered | PresentZone$ Exile | RememberObjects$ Remembered | SubAbility$ DBCleanup | TriggerDescription$ At the beginning of the next end step, if you haven't cast the card, return it to its owner's hand. +SVar:TheftEffect:DB$ Effect | StaticAbilities$ STThieving | Duration$ Permanent | RememberObjects$ Remembered | ExileOnMoved$ Exile | SubAbility$ DBDelayedTrigger | SpellDescription$ You may cast that card for as long as it remains exiled. +SVar:DBDelayedTrigger:DB$ DelayedTrigger | Mode$ Phase | Phase$ End of Turn | Execute$ TrigReturn | IsPresent$ Card.IsRemembered | PresentZone$ Exile | RememberObjects$ Remembered | SubAbility$ DBCleanup | SpellDescription$ At the beginning of the next end step, if you haven't cast the card, return it to its owner's hand. SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:STThieving:Mode$ Continuous | Affected$ Card.IsRemembered+nonLand | MayPlay$ True | EffectZone$ Command | AffectedZone$ Exile | Description$ You may cast that card for as long as it remains exiled. SVar:TrigReturn:DB$ ChangeZone | Defined$ RememberedLKI | Origin$ Exile | Destination$ Hand diff --git a/forge-gui/res/cardsfolder/r/rushed_rebirth.txt b/forge-gui/res/cardsfolder/r/rushed_rebirth.txt index a3d3a409141..50ea8f306c5 100644 --- a/forge-gui/res/cardsfolder/r/rushed_rebirth.txt +++ b/forge-gui/res/cardsfolder/r/rushed_rebirth.txt @@ -1,8 +1,8 @@ Name:Rushed Rebirth ManaCost:B G Types:Instant -A:SP$ ChooseCard | ValidTgts$ Creature | TgtPrompt$ Choose target creature | SubAbility$ DBDelayedTrigger | StackDescription$ When {c:Targeted} dies this turn, search your library for a creature card with lesser mana value, put it onto the battlefield tapped, then shuffle. | SpellDescription$ Choose target creature. When that creature dies this turn, search your library for a creature card with lesser mana value, put it onto the battlefield tapped, then shuffle. -SVar:DBDelayedTrigger:DB$ DelayedTrigger | Mode$ ChangesZone | RememberObjects$ Targeted | ValidCard$ Card.IsTriggerRemembered | Origin$ Battlefield | Destination$ Graveyard | ThisTurn$ True | Execute$ TrigChangeZone | StackDescription$ None | TriggerDescription$ When that creature dies this turn, search your library for a creature card with lesser mana value, put it onto the battlefield tapped, then shuffle. +A:SP$ ChooseCard | ValidTgts$ Creature | TgtPrompt$ Choose target creature | SubAbility$ DBDelayedTrigger | StackDescription$ When {c:Targeted} dies this turn, search your library for a creature card with lesser mana value, put it onto the battlefield tapped, then shuffle. | SpellDescription$ Choose target creature. +SVar:DBDelayedTrigger:DB$ DelayedTrigger | Mode$ ChangesZone | RememberObjects$ Targeted | ValidCard$ Card.IsTriggerRemembered | Origin$ Battlefield | Destination$ Graveyard | ThisTurn$ True | Execute$ TrigChangeZone | StackDescription$ None | SpellDescription$ When that creature dies this turn, search your library for a creature card with lesser mana value, put it onto the battlefield tapped, then shuffle. SVar:TrigChangeZone:DB$ ChangeZone | Origin$ Library | Destination$ Battlefield | ChangeType$ Creature.cmcLTX | ChangeNum$ 1 | Mandatory$ True | Tapped$ True SVar:X:TriggerRemembered$CardManaCost Oracle:Choose target creature. When that creature dies this turn, search your library for a creature card with lesser mana value, put it onto the battlefield tapped, then shuffle. diff --git a/forge-gui/res/cardsfolder/s/searing_blood.txt b/forge-gui/res/cardsfolder/s/searing_blood.txt index e60a041d566..c0a069ab6da 100644 --- a/forge-gui/res/cardsfolder/s/searing_blood.txt +++ b/forge-gui/res/cardsfolder/s/searing_blood.txt @@ -1,7 +1,7 @@ Name:Searing Blood ManaCost:R R Types:Instant -A:SP$ DealDamage | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ 2 | SubAbility$ DBDelayedTrigger | SpellDescription$ CARDNAME deals 2 damage to target creature. When that creature dies this turn, CARDNAME deals 3 damage to the creature's controller. -SVar:DBDelayedTrigger:DB$ DelayedTrigger | Mode$ ChangesZone | RememberObjects$ Targeted | ValidCard$ Card.IsTriggerRemembered | Origin$ Battlefield | Destination$ Graveyard | ThisTurn$ True | Execute$ TrigDealDamage | StackDescription$ When that creature dies this turn, CARDNAME deals 3 damage to {p:TargetedController}. | TriggerDescription$ When that creature dies this turn, CARDNAME deals 3 damage to the creature's controller. +A:SP$ DealDamage | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumDmg$ 2 | SubAbility$ DBDelayedTrigger | SpellDescription$ CARDNAME deals 2 damage to target creature. +SVar:DBDelayedTrigger:DB$ DelayedTrigger | Mode$ ChangesZone | RememberObjects$ Targeted | ValidCard$ Card.IsTriggerRemembered | Origin$ Battlefield | Destination$ Graveyard | ThisTurn$ True | Execute$ TrigDealDamage | StackDescription$ When that creature dies this turn, CARDNAME deals 3 damage to {p:TargetedController}. | SpellDescription$ When that creature dies this turn, CARDNAME deals 3 damage to the creature's controller. SVar:TrigDealDamage:DB$ DealDamage | Defined$ TriggeredCardController | NumDmg$ 3 Oracle:Searing Blood deals 2 damage to target creature. When that creature dies this turn, Searing Blood deals 3 damage to the creature's controller. diff --git a/forge-gui/res/cardsfolder/s/skeletonize.txt b/forge-gui/res/cardsfolder/s/skeletonize.txt index 4d5c5f66e87..8eaea1cd1e1 100644 --- a/forge-gui/res/cardsfolder/s/skeletonize.txt +++ b/forge-gui/res/cardsfolder/s/skeletonize.txt @@ -1,8 +1,8 @@ Name:Skeletonize ManaCost:4 R Types:Instant -A:SP$ DealDamage | NumDmg$ 3 | ValidTgts$ Creature | TgtPrompt$ Select target creature | RememberDamaged$ True | SubAbility$ DBDelayedTrigger | SpellDescription$ CARDNAME deals 3 damage to target creature. When a creature dealt damage this way dies this turn, create a 1/1 black Skeleton creature token with "{B}: Regenerate this creature." -SVar:DBDelayedTrigger:DB$ DelayedTrigger | Mode$ ChangesZone | RememberObjects$ Remembered | ValidCard$ Card.IsTriggerRemembered | Origin$ Battlefield | Destination$ Graveyard | ThisTurn$ True | Execute$ TrigToken | TriggerDescription$ When a creature dealt damage this way dies this turn, create a 1/1 black Skeleton creature token with "{B}: Regenerate this creature." +A:SP$ DealDamage | NumDmg$ 3 | ValidTgts$ Creature | TgtPrompt$ Select target creature | RememberDamaged$ True | SubAbility$ DBDelayedTrigger | SpellDescription$ CARDNAME deals 3 damage to target creature. +SVar:DBDelayedTrigger:DB$ DelayedTrigger | Mode$ ChangesZone | RememberObjects$ Remembered | ValidCard$ Card.IsTriggerRemembered | Origin$ Battlefield | Destination$ Graveyard | ThisTurn$ True | Execute$ TrigToken | SpellDescription$ When a creature dealt damage this way dies this turn, create a 1/1 black Skeleton creature token with "{B}: Regenerate this creature." SVar:TrigToken:DB$ Token | TokenScript$ b_1_1_skeleton_regenerate DeckHas:Ability$Token Oracle:Skeletonize deals 3 damage to target creature. When a creature dealt damage this way dies this turn, create a 1/1 black Skeleton creature token with "{B}: Regenerate this creature." diff --git a/forge-gui/res/cardsfolder/s/sorin_imperious_bloodlord.txt b/forge-gui/res/cardsfolder/s/sorin_imperious_bloodlord.txt index 664b23caaf7..562ac43894b 100644 --- a/forge-gui/res/cardsfolder/s/sorin_imperious_bloodlord.txt +++ b/forge-gui/res/cardsfolder/s/sorin_imperious_bloodlord.txt @@ -4,8 +4,8 @@ Types:Legendary Planeswalker Sorin Loyalty:4 A:AB$ Pump | Cost$ AddCounter<1/LOYALTY> | Planeswalker$ True | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | KW$ Deathtouch & Lifelink | SubAbility$ DBPutCounter | SpellDescription$ Target creature you control gains deathtouch and lifelink until end of turn. If it's a Vampire, put a +1/+1 counter on it. SVar:DBPutCounter:DB$ PutCounter | Defined$ Targeted | CounterType$ P1P1 | CounterNum$ 1 | ConditionDefined$ Targeted | ConditionPresent$ Card.Vampire | ConditionCompare$ GE1 -A:AB$ Sacrifice | Cost$ AddCounter<1/LOYALTY> | Planeswalker$ True | Defined$ You | SacValid$ Vampire | Optional$ True | RememberSacrificed$ True | SubAbility$ TrigPayCost | SpellDescription$ You may sacrifice a Vampire. When you do, CARDNAME deals 3 damage to any target and you gain 3 life. -SVar:TrigPayCost:DB$ ImmediateTrigger | Execute$ DBDmg | ConditionDefined$ RememberedLKI | ConditionPresent$ Creature | ConditionCompare$ GE1 | TriggerDescription$ When you do, CARDNAME deals 3 damage to any target and you gain 3 life. | SubAbility$ DBCleanup +A:AB$ Sacrifice | Cost$ AddCounter<1/LOYALTY> | Planeswalker$ True | Defined$ You | SacValid$ Vampire | Optional$ True | RememberSacrificed$ True | SubAbility$ TrigPayCost | SpellDescription$ You may sacrifice a Vampire. +SVar:TrigPayCost:DB$ ImmediateTrigger | Execute$ DBDmg | ConditionDefined$ RememberedLKI | ConditionPresent$ Creature | ConditionCompare$ GE1 | SpellDescription$ When you do, CARDNAME deals 3 damage to any target and you gain 3 life. | SubAbility$ DBCleanup SVar:DBDmg:DB$ DealDamage | ValidTgts$ Creature,Player,Planeswalker | TgtPrompt$ Select any target | NumDmg$ 3 | SubAbility$ DBGainLife SVar:DBGainLife:DB$ GainLife | LifeAmount$ 3 SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True diff --git a/forge-gui/res/cardsfolder/t/the_royal_scions.txt b/forge-gui/res/cardsfolder/t/the_royal_scions.txt index 76cf63b57ff..63fc1fbf25e 100644 --- a/forge-gui/res/cardsfolder/t/the_royal_scions.txt +++ b/forge-gui/res/cardsfolder/t/the_royal_scions.txt @@ -6,8 +6,8 @@ A:AB$ Draw | Cost$ AddCounter<1/LOYALTY> | Planeswalker$ True | NumCards$ 1 | Sp SVar:DBDiscard:DB$ Discard | Defined$ You | NumCards$ 1 | Mode$ TgtChoose AI:RemoveDeck:All A:AB$ Pump | Cost$ AddCounter<1/LOYALTY> | Planeswalker$ True | ValidTgts$ Creature | TgtPrompt$ Select target creature | NumAtt$ +2 | KW$ First Strike & Trample | SpellDescription$ Target creature gets +2/+0 and gains first strike and trample until end of turn. -A:AB$ Draw | Cost$ SubCounter<8/LOYALTY> | Planeswalker$ True | Ultimate$ True | NumCards$ 4 | RememberDrawn$ True | SubAbility$ DBTrigger | SpellDescription$ Draw four cards. When you do, CARDNAME deals damage to any target equal to the number of cards in your hand. -SVar:DBTrigger:DB$ ImmediateTrigger | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ GE4 | Execute$ DBDamage | TriggerDescription$ When you do, CARDNAME deals damage to any target equal to the number of cards in your hand. | SubAbility$ DBCleanup +A:AB$ Draw | Cost$ SubCounter<8/LOYALTY> | Planeswalker$ True | Ultimate$ True | NumCards$ 4 | RememberDrawn$ True | SubAbility$ DBTrigger | SpellDescription$ Draw four cards. +SVar:DBTrigger:DB$ ImmediateTrigger | ConditionDefined$ Remembered | ConditionPresent$ Card | ConditionCompare$ GE4 | Execute$ DBDamage | SpellDescription$ When you do, CARDNAME deals damage to any target equal to the number of cards in your hand. | SubAbility$ DBCleanup SVar:DBDamage:DB$ DealDamage | ValidTgts$ Creature,Player,Planeswalker | TgtPrompt$ Select any target | NumDmg$ X SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Count$InYourHand diff --git a/forge-gui/res/cardsfolder/t/time_to_feed.txt b/forge-gui/res/cardsfolder/t/time_to_feed.txt index c5fe2f56b5e..e225a693506 100644 --- a/forge-gui/res/cardsfolder/t/time_to_feed.txt +++ b/forge-gui/res/cardsfolder/t/time_to_feed.txt @@ -1,9 +1,9 @@ Name:Time to Feed ManaCost:2 G Types:Sorcery -A:SP$ Pump | ValidTgts$ Creature.OppCtrl | TgtPrompt$ Choose target creature an opponent controls | AILogic$ Fight | SubAbility$ DBDelayedTrigger | StackDescription$ When {c:ThisTargetedCard} dies this turn, {p:You} gains 3 life. | SpellDescription$ Choose target creature an opponent controls. When that creature dies this turn, you gain 3 life. Target creature you control fights that creature. -SVar:DBDelayedTrigger:DB$ DelayedTrigger | Mode$ ChangesZone | RememberObjects$ ParentTarget | ValidCard$ Card.IsTriggerRemembered | Origin$ Battlefield | Destination$ Graveyard | ThisTurn$ True | Execute$ TrigGainLife | SubAbility$ DBFight | StackDescription$ None | TriggerDescription$ When that creature dies this turn, you gain 3 life. -SVar:DBFight:DB$ Fight | Defined$ ParentTarget | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Choose target creature you control | StackDescription$ {c:ThisTargetedCard} fights that creature. +A:SP$ Pump | ValidTgts$ Creature.OppCtrl | TgtPrompt$ Choose target creature an opponent controls | AILogic$ Fight | SubAbility$ DBDelayedTrigger | StackDescription$ When {c:ThisTargetedCard} dies this turn, {p:You} gains 3 life. | SpellDescription$ Choose target creature an opponent controls. +SVar:DBDelayedTrigger:DB$ DelayedTrigger | Mode$ ChangesZone | RememberObjects$ ParentTarget | ValidCard$ Card.IsTriggerRemembered | Origin$ Battlefield | Destination$ Graveyard | ThisTurn$ True | Execute$ TrigGainLife | SubAbility$ DBFight | StackDescription$ None | SpellDescription$ When that creature dies this turn, you gain 3 life. +SVar:DBFight:DB$ Fight | Defined$ ParentTarget | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Choose target creature you control | StackDescription$ {c:ThisTargetedCard} fights that creature. | SpellDescription$ Target creature you control fights that creature. SVar:TrigGainLife:DB$ GainLife | LifeAmount$ 3 DeckHas:Ability$LifeGain Oracle:Choose target creature an opponent controls. When that creature dies this turn, you gain 3 life. Target creature you control fights that creature. (Each deals damage equal to its power to the other.) diff --git a/forge-gui/res/cardsfolder/t/torrent_sculptor_flamethrower_sonata.txt b/forge-gui/res/cardsfolder/t/torrent_sculptor_flamethrower_sonata.txt index bc2462bd7cc..ff97e73ab7f 100644 --- a/forge-gui/res/cardsfolder/t/torrent_sculptor_flamethrower_sonata.txt +++ b/forge-gui/res/cardsfolder/t/torrent_sculptor_flamethrower_sonata.txt @@ -16,9 +16,9 @@ ALTERNATE Name:Flamethrower Sonata ManaCost:1 R Types:Sorcery -A:SP$ Discard | Mode$ TgtChoose | SubAbility$ DBDraw | RememberDiscarded$ True | SpellDescription$ Discard a card, then draw a card. When you discard an instant or sorcery card this way, CARDNAME deals damage equal to that card's mana value to target creature or planeswalker you don't control. +A:SP$ Discard | Mode$ TgtChoose | SubAbility$ DBDraw | RememberDiscarded$ True | SpellDescription$ Discard a card, then draw a card. SVar:DBDraw:DB$ Draw | SubAbility$ DBImmediateTrigger -SVar:DBImmediateTrigger:DB$ ImmediateTrigger | ConditionDefined$ Remembered | ConditionPresent$ Instant,Sorcery | Execute$ TrigDealDamage | RememberObjects$ RememberedCard | SubAbility$ DBCleanup | TriggerDescription$ When you discard an instant or sorcery card this way, CARDNAME deals damage equal to that card's mana value to target creature or planeswalker you don't control. +SVar:DBImmediateTrigger:DB$ ImmediateTrigger | ConditionDefined$ Remembered | ConditionPresent$ Instant,Sorcery | Execute$ TrigDealDamage | RememberObjects$ RememberedCard | SubAbility$ DBCleanup | SpellDescription$ When you discard an instant or sorcery card this way, CARDNAME deals damage equal to that card's mana value to target creature or planeswalker you don't control. SVar:TrigDealDamage:DB$ DealDamage | ValidTgts$ Creature.YouDontCtrl,Planeswalker.YouDontCtrl | TgtPrompt$ Select target creature or planeswalker you don't control | NumDmg$ X SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:TriggerRemembered$CardManaCost diff --git a/forge-gui/res/cardsfolder/u/unleash_the_inferno.txt b/forge-gui/res/cardsfolder/u/unleash_the_inferno.txt index 127ab7e4147..8df1dbc3a58 100644 --- a/forge-gui/res/cardsfolder/u/unleash_the_inferno.txt +++ b/forge-gui/res/cardsfolder/u/unleash_the_inferno.txt @@ -1,8 +1,8 @@ Name:Unleash the Inferno ManaCost:1 B R G Types:Instant -A:SP$ DealDamage | ValidTgts$ Creature,Planeswalker | TgtPrompt$ Select target creature or planeswalker | NumDmg$ 7 | ExcessSVar$ Excess | SubAbility$ DBImmediateTrigger | SpellDescription$ CARDNAME deals 7 damage to target creature or planeswalker. When it deals excess damage this way, destroy target artifact or enchantment an opponent controls with mana value less than or equal to that amount of excess damage. -SVar:DBImmediateTrigger:DB$ ImmediateTrigger | ConditionCheckSVar$ Excess | ConditionSVarCompare$ GE1 | RememberSVarAmount$ Excess | Execute$ TrigDestroy | TriggerDescription$ When it deals excess damage this way, destroy target artifact or enchantment an opponent controls with mana value less than or equal to that amount of excess damage. +A:SP$ DealDamage | ValidTgts$ Creature,Planeswalker | TgtPrompt$ Select target creature or planeswalker | NumDmg$ 7 | ExcessSVar$ Excess | SubAbility$ DBImmediateTrigger | SpellDescription$ CARDNAME deals 7 damage to target creature or planeswalker. +SVar:DBImmediateTrigger:DB$ ImmediateTrigger | ConditionCheckSVar$ Excess | ConditionSVarCompare$ GE1 | RememberSVarAmount$ Excess | Execute$ TrigDestroy | SpellDescription$ When it deals excess damage this way, destroy target artifact or enchantment an opponent controls with mana value less than or equal to that amount of excess damage. SVar:TrigDestroy:DB$ Destroy | ValidTgts$ Artifact.OppCtrl+cmcLEX,Enchantment.OppCtrl+cmcLEX | TgtPrompt$ Select target artifact or enchantment an opponent controls with mana value less than or equal to the amount of excess damage | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Count$TriggerRememberAmount diff --git a/forge-gui/res/cardsfolder/upcoming/elenda_and_azor.txt b/forge-gui/res/cardsfolder/upcoming/elenda_and_azor.txt index d0d1005de8e..f0888d6c459 100644 --- a/forge-gui/res/cardsfolder/upcoming/elenda_and_azor.txt +++ b/forge-gui/res/cardsfolder/upcoming/elenda_and_azor.txt @@ -8,7 +8,7 @@ T:Mode$ Attacks | ValidCard$ Card.Self | Execute$ TrigDraw | TriggerDescription$ SVar:TrigDraw:AB$ Draw | Cost$ X W U U | NumCards$ X SVar:X:Count$xPaid T:Mode$ Phase | Phase$ End of Turn | TriggerZones$ Battlefield | Execute$ TrigToken | TriggerDescription$ At the beginning of each end step, you may pay 4 life. If you do, create a number of 1/1 black Vampire Knight creature tokens with lifelink equal to the number of cards you've drawn this turn. -SVar:TrigToken:AB$ Token | Cost$ PayLife<4> | TokenAmount$ Y | TokenScript$ w_1_1_vampire_knight_lifelink | TokenOwner$ You +SVar:TrigToken:AB$ Token | Cost$ PayLife<4> | TokenAmount$ Y | TokenScript$ b_1_1_vampire_knight_lifelink | TokenOwner$ You SVar:Y:Count$YouDrewThisTurn DeckHas:Ability$Token|LifeGain SVar:HasAttackEffect:TRUE diff --git a/forge-gui/res/cardsfolder/upcoming/invasion_of_new_phyrexia_teferi_akosa_of_zhalfir.txt b/forge-gui/res/cardsfolder/upcoming/invasion_of_new_phyrexia_teferi_akosa_of_zhalfir.txt index bb4193d7aff..4c702108e83 100644 --- a/forge-gui/res/cardsfolder/upcoming/invasion_of_new_phyrexia_teferi_akosa_of_zhalfir.txt +++ b/forge-gui/res/cardsfolder/upcoming/invasion_of_new_phyrexia_teferi_akosa_of_zhalfir.txt @@ -20,8 +20,8 @@ A:AB$ Draw | Cost$ AddCounter<1/LOYALTY> | Planeswalker$ True | NumCards$ 2 | Su SVar:DBDiscard:DB$ Discard | NumCards$ 2 | Mode$ TgtChoose | UnlessType$ Creature | StackDescription$ SpellDescription | SpellDescription$ Then discard two cards unless you discard a creature card. A:AB$ Effect | Cost$ SubCounter<2/LOYALTY> | Planeswalker$ True | Name$ Emblem - Teferi Akosa of Zhalfir | Image$ emblem_teferi_akosa_of_zhalfir | StaticAbilities$ STPump | Duration$ Permanent | SpellDescription$ You get an emblem with "Knights you control get +1/+0 and have ward {1}." SVar:STPump:Mode$ Continuous | EffectZone$ Command | AffectedZone$ Battlefield | Affected$ Knight.YouCtrl | AddPower$ 1 | AddKeyword$ Ward:1 | Description$ Knights you control get +1/+0 and have ward {1}. -A:AB$ Tap | Cost$ SubCounter<3/LOYALTY> | Planeswalker$ True | CardChoices$ Creature.YouCtrl+untapped | AnyNumber$ True | ChoiceAmount$ Count$Valid Creature.YouCtrl+untapped | ChoicePrompt$ Tap any number of untapped creatures you control | RememberTapped$ True | SubAbility$ DBImmediateTrig | StackDescription$ Tap any number of untapped creatures you control. | SpellDescription$ Tap any number of untapped creatures you control. When you do, shuffle target nonland permanent an opponent controls with mana value X or less into its owner's library, where X is the number of creatures tapped this way. -SVar:DBImmediateTrig:DB$ ImmediateTrigger | RememberSVarAmount$ Y | Execute$ TrigChangeZone | SubAbility$ DBCleanup | TriggerDescription$ When you do, shuffle target nonland permanent an opponent controls with mana value X or less into its owner's library, where X is the number of creatures tapped this way. +A:AB$ Tap | Cost$ SubCounter<3/LOYALTY> | Planeswalker$ True | CardChoices$ Creature.YouCtrl+untapped | AnyNumber$ True | ChoiceAmount$ Count$Valid Creature.YouCtrl+untapped | ChoicePrompt$ Tap any number of untapped creatures you control | RememberTapped$ True | SubAbility$ DBImmediateTrig | StackDescription$ Tap any number of untapped creatures you control. | SpellDescription$ Tap any number of untapped creatures you control. +SVar:DBImmediateTrig:DB$ ImmediateTrigger | RememberSVarAmount$ Y | Execute$ TrigChangeZone | SubAbility$ DBCleanup | SpellDescription$ When you do, shuffle target nonland permanent an opponent controls with mana value X or less into its owner's library, where X is the number of creatures tapped this way. SVar:TrigChangeZone:DB$ ChangeZone | ValidTgts$ Permanent.nonLand+OppCtrl+cmcLEX | TgtPrompt$ Select target nonland permanent an opponent controls with mana value X or less | Origin$ Battlefield | Destination$ Library | Shuffle$ True SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Count$TriggerRememberAmount diff --git a/forge-gui/res/cardsfolder/v/virulent_wound.txt b/forge-gui/res/cardsfolder/v/virulent_wound.txt index 50fbf739f95..001047b33a2 100644 --- a/forge-gui/res/cardsfolder/v/virulent_wound.txt +++ b/forge-gui/res/cardsfolder/v/virulent_wound.txt @@ -1,8 +1,8 @@ Name:Virulent Wound ManaCost:B Types:Instant -A:SP$ PutCounter | ValidTgts$ Creature | TgtPrompt$ Select target creature | CounterType$ M1M1 | CounterNum$ 1 | IsCurse$ True | SubAbility$ DBDelayedTrigger | SpellDescription$ Put a -1/-1 counter on target creature. When that creature dies this turn, its controller gets a poison counter. -SVar:DBDelayedTrigger:DB$ DelayedTrigger | Mode$ ChangesZone | RememberObjects$ Targeted | ValidCard$ Card.IsTriggerRemembered | Origin$ Battlefield | Destination$ Graveyard | ThisTurn$ True | Execute$ TrigPoison | TriggerDescription$ When that creature dies this turn, its controller gets a poison counter. +A:SP$ PutCounter | ValidTgts$ Creature | TgtPrompt$ Select target creature | CounterType$ M1M1 | CounterNum$ 1 | IsCurse$ True | SubAbility$ DBDelayedTrigger | SpellDescription$ Put a -1/-1 counter on target creature. +SVar:DBDelayedTrigger:DB$ DelayedTrigger | Mode$ ChangesZone | RememberObjects$ Targeted | ValidCard$ Card.IsTriggerRemembered | Origin$ Battlefield | Destination$ Graveyard | ThisTurn$ True | Execute$ TrigPoison | SpellDescription$ When that creature dies this turn, its controller gets a poison counter. SVar:TrigPoison:DB$ Poison | Defined$ TriggeredCardController | Num$ 1 DeckHas:Ability$Counters Oracle:Put a -1/-1 counter on target creature. When that creature dies this turn, its controller gets a poison counter. diff --git a/forge-gui/res/cardsfolder/w/waylay.txt b/forge-gui/res/cardsfolder/w/waylay.txt index b79c13b39c8..6c1bb773a16 100644 --- a/forge-gui/res/cardsfolder/w/waylay.txt +++ b/forge-gui/res/cardsfolder/w/waylay.txt @@ -2,7 +2,7 @@ Name:Waylay ManaCost:2 W Types:Instant A:SP$ Token | TokenAmount$ 3 | TokenScript$ w_2_2_knight | RememberTokens$ True | SubAbility$ DBDelayedTrigger | SpellDescription$ Create three 2/2 white Knight creature tokens. -SVar:DBDelayedTrigger:DB$ DelayedTrigger | RememberObjects$ Remembered | Mode$ Phase | Phase$ Cleanup | Execute$ TrigExileAll | SubAbility$ DBCleanup | TriggerDescription$ Exile them at the beginning of the next cleanup step. +SVar:DBDelayedTrigger:DB$ DelayedTrigger | RememberObjects$ Remembered | Mode$ Phase | Phase$ Cleanup | Execute$ TrigExileAll | SubAbility$ DBCleanup | SpellDescription$ Exile them at the beginning of the next cleanup step. SVar:TrigExileAll:DB$ ChangeZone | Defined$ DelayTriggerRememberedLKI | Origin$ Battlefield | Destination$ Exile SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True DeckHas:Ability$Token & Type$Knight diff --git a/forge-gui/res/tokenscripts/w_1_1_vampire_knight_lifelink.txt b/forge-gui/res/tokenscripts/w_1_1_vampire_lifelink.txt similarity index 53% rename from forge-gui/res/tokenscripts/w_1_1_vampire_knight_lifelink.txt rename to forge-gui/res/tokenscripts/w_1_1_vampire_lifelink.txt index 68f8d88471b..01f33cc970c 100644 --- a/forge-gui/res/tokenscripts/w_1_1_vampire_knight_lifelink.txt +++ b/forge-gui/res/tokenscripts/w_1_1_vampire_lifelink.txt @@ -1,6 +1,6 @@ -Name:Vampire Knight Token +Name:Vampire Token ManaCost:no cost -Types:Creature Knight Vampire +Types:Creature Vampire Colors:white PT:1/1 K:Lifelink From c2e706058454654c89aa88e567c86cad444ef40d Mon Sep 17 00:00:00 2001 From: paulsnoops Date: Thu, 13 Apr 2023 21:50:38 +0100 Subject: [PATCH 16/18] Remove redundant tokens from MOM edition --- forge-gui/res/editions/March of the Machine.txt | 3 --- 1 file changed, 3 deletions(-) diff --git a/forge-gui/res/editions/March of the Machine.txt b/forge-gui/res/editions/March of the Machine.txt index e6ce3275820..932b6d706f2 100644 --- a/forge-gui/res/editions/March of the Machine.txt +++ b/forge-gui/res/editions/March of the Machine.txt @@ -485,9 +485,6 @@ g_1_1_phyrexian_saproling g_x_x_dinosaur gw_3_3_phyrexian_hydra_lifelink gw_3_3_phyrexian_hydra_reach -incubator_c_0_0_a_phyrexian -incubator_c_0_0_a_phyrexian -incubator_c_0_0_a_phyrexian rw_3_2_spirit rw_3_2_warrior_symbiotic_attack u_1_1_kraken_trample From 26cc7d0fe5b3e93c2cee95390ad3cf2924d485f2 Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Fri, 14 Apr 2023 05:26:25 +0800 Subject: [PATCH 17/18] update menu button positions --- .../src/forge/adventure/stage/GameHUD.java | 14 +++- forge-gui/res/adventure/Shandalar/ui/hud.json | 78 +++++++++---------- .../adventure/Shandalar/ui/hud_landscape.json | 10 +-- .../adventure/Shandalar/ui/hud_portrait.json | 10 +-- 4 files changed, 59 insertions(+), 53 deletions(-) diff --git a/forge-gui-mobile/src/forge/adventure/stage/GameHUD.java b/forge-gui-mobile/src/forge/adventure/stage/GameHUD.java index 49d33adfb53..b101ae727e0 100644 --- a/forge-gui-mobile/src/forge/adventure/stage/GameHUD.java +++ b/forge-gui-mobile/src/forge/adventure/stage/GameHUD.java @@ -67,7 +67,9 @@ public class GameHUD extends Stage { instance = this; this.gameStage = gameStage; - ui = new UIActor(Config.instance().getFile(Forge.isLandscapeMode() ? "ui/hud_landscape.json" : "ui/hud_portrait.json")); + ui = new UIActor(Config.instance().getFile(GuiBase.isAndroid() + ? Forge.isLandscapeMode() ? "ui/hud_landscape.json" : "ui/hud_portrait.json" + : Forge.isLandscapeMode() ? "ui/hud.json" : "ui/hud_portrait.json")); blank = ui.findActor("blank"); @@ -156,6 +158,8 @@ public class GameHUD extends Stage { } private void logbook() { + if (console.isVisible()) + console.toggle(); Forge.switchScene(QuestLogScene.instance(Forge.getCurrentScene())); } @@ -468,15 +472,21 @@ public class GameHUD extends Stage { } private void openDeck() { + if (console.isVisible()) + console.toggle(); Forge.switchScene(DeckSelectScene.instance()); } private void openInventory() { + if (console.isVisible()) + console.toggle(); WorldSave.getCurrentSave().header.createPreview(); Forge.switchScene(InventoryScene.instance()); } private void exitToWorldMap() { + if (console.isVisible()) + console.toggle(); if (!GameScene.instance().isNotInWorldMap()) //prevent showing this dialog to WorldMap return; dialog.getButtonTable().clear(); @@ -503,6 +513,8 @@ public class GameHUD extends Stage { } private void menu() { + if (console.isVisible()) + console.toggle(); gameStage.openMenu(); } diff --git a/forge-gui/res/adventure/Shandalar/ui/hud.json b/forge-gui/res/adventure/Shandalar/ui/hud.json index a9747682d2d..a18af1a95ac 100644 --- a/forge-gui/res/adventure/Shandalar/ui/hud.json +++ b/forge-gui/res/adventure/Shandalar/ui/hud.json @@ -7,8 +7,8 @@ "type": "Image", "name": "gamehud", "width": 64, - "height": 270, - "image": "ui/hud.png", + "height": 104, + "image": "ui/hud_portrait.png", "x": 416, "y": 0 }, @@ -61,7 +61,7 @@ "font": "default", "width": 64, "height": 16, - "x": 427, + "x": 425, "y": 56 }, { @@ -70,8 +70,8 @@ "font": "default", "width": 64, "height": 16, - "x": 427, - "y": 73 + "x": 425, + "y": 70 }, { "type": "Label", @@ -79,64 +79,48 @@ "font": "default", "width": 64, "height": 16, - "x": 427, - "y": 90 - }, - { - "type": "TextButton", - "name": "exittoworldmap", - "style":"menu", - "text": "[%120][+ExitToWorldMap]", - "binding": "ExitToWorldMap", - "width": 48, - "height": 36, - "x": 424, - "y": 66 + "x": 425, + "y": 84 }, { "type": "TextButton", "name": "deck", - "style":"menu", "text": "[%120][+Deck]", "binding": "Deck", - "width": 48, - "height": 36, - "x": 424, - "y": 106 - }, + "width": 45, + "height": 25, + "x": 175, + "y": 0 + }, { "type": "TextButton", - "name": "inventory", - "style":"menu", + "name": "inventory", "text": "[%120][+Item]", "binding": "Inventory", - "width": 48, - "height": 36, - "x": 424, - "y": 146 + "width": 45, + "height": 25, + "x": 220, + "y": 0 }, - { "type": "TextButton", "name": "logbook", - "style":"menu", "text": "[%120][+Logbook]", - "binding": "Status", - "width": 48, - "height": 36, - "x": 424, - "y": 186 + "binding": "Status", + "width": 45, + "height": 25, + "x": 265, + "y": 0 }, { "type": "TextButton", "name": "menu", - "style":"menu", "text": "[%120][+Menu]", "binding": "Menu", - "width": 48, - "height": 36, - "x": 424, - "y": 226 + "width": 45, + "height": 25, + "x": 130, + "y": 0 }, { "type": "TextButton", @@ -147,6 +131,16 @@ "height": 20, "x": 0, "y": 80 + }, + { + "type": "TextButton", + "name": "exittoworldmap", + "text": "[%120][+ExitToWorldMap]", + "binding": "ExitToWorldMap", + "width": 45, + "height": 25, + "x": 310, + "y": 0 } ] } \ No newline at end of file diff --git a/forge-gui/res/adventure/Shandalar/ui/hud_landscape.json b/forge-gui/res/adventure/Shandalar/ui/hud_landscape.json index a18af1a95ac..8646a3f03ac 100644 --- a/forge-gui/res/adventure/Shandalar/ui/hud_landscape.json +++ b/forge-gui/res/adventure/Shandalar/ui/hud_landscape.json @@ -90,7 +90,7 @@ "width": 45, "height": 25, "x": 175, - "y": 0 + "y": 240 }, { "type": "TextButton", @@ -100,7 +100,7 @@ "width": 45, "height": 25, "x": 220, - "y": 0 + "y": 240 }, { "type": "TextButton", @@ -110,7 +110,7 @@ "width": 45, "height": 25, "x": 265, - "y": 0 + "y": 240 }, { "type": "TextButton", @@ -120,7 +120,7 @@ "width": 45, "height": 25, "x": 130, - "y": 0 + "y": 240 }, { "type": "TextButton", @@ -140,7 +140,7 @@ "width": 45, "height": 25, "x": 310, - "y": 0 + "y": 240 } ] } \ No newline at end of file diff --git a/forge-gui/res/adventure/Shandalar/ui/hud_portrait.json b/forge-gui/res/adventure/Shandalar/ui/hud_portrait.json index f29e66a2401..06b5f852570 100644 --- a/forge-gui/res/adventure/Shandalar/ui/hud_portrait.json +++ b/forge-gui/res/adventure/Shandalar/ui/hud_portrait.json @@ -88,7 +88,7 @@ "width": 25, "height": 25, "x": 105, - "y": 0 + "y": 450 }, { "type": "TextButton", @@ -97,7 +97,7 @@ "width": 25, "height": 25, "x": 130, - "y": 0 + "y": 450 }, { @@ -107,7 +107,7 @@ "width": 25, "height": 25, "x": 155, - "y": 0 + "y": 450 }, { "type": "TextButton", @@ -116,7 +116,7 @@ "width": 25, "height": 25, "x": 80, - "y": 0 + "y": 450 }, { "type": "TextButton", @@ -134,7 +134,7 @@ "width": 25, "height": 25, "x": 180, - "y": 0 + "y": 450 } ] } \ No newline at end of file From 6a27f7ea70d63e5928ff2a3ce4df07ddde7097db Mon Sep 17 00:00:00 2001 From: tool4EvEr Date: Thu, 13 Apr 2023 23:41:18 +0200 Subject: [PATCH 18/18] Fix Autopay test selecting same mana multiple times --- .../src/main/java/forge/game/mana/Mana.java | 18 ++++++++++++++++++ .../game/spellability/AbilityManaPart.java | 4 ++++ 2 files changed, 22 insertions(+) diff --git a/forge-game/src/main/java/forge/game/mana/Mana.java b/forge-game/src/main/java/forge/game/mana/Mana.java index 5f7b90d2d46..eed7ff0df17 100644 --- a/forge-game/src/main/java/forge/game/mana/Mana.java +++ b/forge-game/src/main/java/forge/game/mana/Mana.java @@ -61,6 +61,24 @@ public class Mana { return false; } + if (!sourceCard.equals(m2.sourceCard)) { + if (addsKeywords(null) != m2.addsKeywords(null)) { + return false; + } + if (addsCounters(null) != m2.addsCounters(null)) { + return false; + } + if (mp.isCannotCounterPaidWith() != mp2.isCannotCounterPaidWith()) { + return false; + } + if (mp.getTriggersWhenSpent() != mp2.getTriggersWhenSpent()) { + return false; + } + if (mp.isPersistentMana() != mp2.isPersistentMana()) { + return false; + } + } + return mp == mp2 || (mp.getManaRestrictions().equals(mp2.getManaRestrictions()) && mp.getExtraManaRestriction().equals(mp2.getExtraManaRestriction())); } diff --git a/forge-game/src/main/java/forge/game/spellability/AbilityManaPart.java b/forge-game/src/main/java/forge/game/spellability/AbilityManaPart.java index 1ee84e2bc8f..b1b9ff23bba 100644 --- a/forge-game/src/main/java/forge/game/spellability/AbilityManaPart.java +++ b/forge-game/src/main/java/forge/game/spellability/AbilityManaPart.java @@ -226,6 +226,10 @@ public class AbilityManaPart implements java.io.Serializable { return source.isValid(cannotCounterSpell, sourceCard.getController(), sourceCard, null); } + public boolean isCannotCounterPaidWith() { + return null != cannotCounterSpell; + } + public void addNoCounterEffect(SpellAbility saBeingPaid) { final Game game = sourceCard.getGame(); final Card eff = new Card(game.nextCardId(), game);