From 722f2483f883f4964c51aa556d38fa80adb0714e Mon Sep 17 00:00:00 2001 From: Northmoc Date: Mon, 15 Nov 2021 22:08:42 -0500 Subject: [PATCH 001/100] sudden_disappearance.txt typo --- forge-gui/res/cardsfolder/s/sudden_disappearance.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/forge-gui/res/cardsfolder/s/sudden_disappearance.txt b/forge-gui/res/cardsfolder/s/sudden_disappearance.txt index bb651756476..8dec3fcbe24 100644 --- a/forge-gui/res/cardsfolder/s/sudden_disappearance.txt +++ b/forge-gui/res/cardsfolder/s/sudden_disappearance.txt @@ -1,8 +1,8 @@ Name:Sudden Disappearance ManaCost:5 W Types:Sorcery -A:SP$ ChangeZoneAll | Cost$ 5 W | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Player | TgtPrompt$ Select target player | ChangeType$ Permanent.nonLand | RememberChanged$ True | SubAbility$ DelTrig | IsCurse$ True | SpellDescription$ Exile all nonland permanents target player controls. Return the exiled cards to the battlefield under their owners control at the beginning of the next end step. -SVar:DelTrig:DB$ DelayedTrigger | Mode$ Phase | Phase$ End of Turn | Execute$ TrigReturn | RememberObjects$ RememberedLKI | TriggerDescription$ Return exiled permanents to the battlefield. | SubAbility$ DBCleanup +A:SP$ ChangeZoneAll | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Player | TgtPrompt$ Select target player | ChangeType$ Permanent.nonLand | RememberChanged$ True | SubAbility$ DelTrig | IsCurse$ True | SpellDescription$ Exile all nonland permanents target player controls. Return the exiled cards to the battlefield under their owner's control at the beginning of the next end step. +SVar:DelTrig:DB$ DelayedTrigger | Mode$ Phase | Phase$ End of Turn | Execute$ TrigReturn | RememberObjects$ RememberedLKI | TriggerDescription$ Return the exiled cards to the battlefield under their owner's control at the beginning of the next end step. | SubAbility$ DBCleanup SVar:TrigReturn:DB$ ChangeZone | Origin$ Exile | Destination$ Battlefield | Defined$ DelayTriggerRememberedLKI SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True AI:RemoveDeck:All From 68f0f5e4404618c964a71e555c49190b56a0c2d3 Mon Sep 17 00:00:00 2001 From: Northmoc Date: Tue, 16 Nov 2021 15:16:51 -0500 Subject: [PATCH 002/100] goblin_welder.txt revis --- forge-gui/res/cardsfolder/g/goblin_welder.txt | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/forge-gui/res/cardsfolder/g/goblin_welder.txt b/forge-gui/res/cardsfolder/g/goblin_welder.txt index 70e30b2c1de..6ccf8bd2f07 100644 --- a/forge-gui/res/cardsfolder/g/goblin_welder.txt +++ b/forge-gui/res/cardsfolder/g/goblin_welder.txt @@ -2,11 +2,14 @@ Name:Goblin Welder ManaCost:R Types:Creature Goblin Artificer PT:1/1 -A:AB$ Pump | Cost$ T | ValidTgts$ Artifact | TgtPrompt$ Select target artifact a player controls | RememberObjects$ ThisTargetedCard | Condition$ AllTargetsLegal | SubAbility$ DBTargetYard | SpellDescription$ Choose target artifact a player controls and target artifact card in that player's graveyard. If both targets are still legal as this ability resolves, that player simultaneously sacrifices the artifact and returns the artifact card to the battlefield. | StackDescription$ None -SVar:DBTargetYard:DB$ Pump | ValidTgts$ Artifact | TgtPrompt$ Select target artifact card in that player's graveyard | TgtZone$ Graveyard | PumpZone$ Graveyard | TargetsWithSameController$ True | ImprintCards$ ThisTargetedCard | Condition$ AllTargetsLegal | StackDescription$ If both targets are still legal as this ability resolves, {p:TargetedController} simultaneously sacrifices {c:ParentTarget} and returns {c:Targeted} to the battlefield. | SubAbility$ DBSacrifice -SVar:DBSacrifice:DB$ SacrificeAll | ValidCards$ Card.IsRemembered | ConditionDefined$ Remembered | ConditionPresent$ Artifact | ConditionCompare$ GE1 | ConditionCheckSVar$ CheckImprint | ConditionSVarCompare$ GE1 | SubAbility$ DBReturn | StackDescription$ None -SVar:DBReturn:DB$ ChangeZone | Defined$ Imprinted | Origin$ Graveyard | Destination$ Battlefield | SubAbility$ DBCleanup | ConditionDefined$ Remembered | ConditionPresent$ Artifact | ConditionCompare$ GE1 | ConditionCheckSVar$ CheckImprint | ConditionSVarCompare$ GE1 | StackDescription$ None +A:AB$ Pump | Cost$ T | ValidTgts$ Artifact | TgtPrompt$ Select target artifact a player controls | RememberObjects$ ThisTargetedCard | Condition$ AllTargetsLegal | SubAbility$ DBTargetYard | StackDescription$ If both targets are still legal as this ability resolves, {p:TargetedController} simultaneously sacrifices {c:ThisTargetedCard} | SpellDescription$ Choose target artifact a player controls and target artifact card in that player's graveyard. If both targets are still legal as this ability resolves, that player simultaneously sacrifices the artifact and returns the artifact card to the battlefield. +SVar:DBTargetYard:DB$ Pump | ValidTgts$ Artifact | TargetsWithDefinedController$ ParentTargetedController | TgtPrompt$ Select target artifact card in that player's graveyard | TgtZone$ Graveyard | PumpZone$ Graveyard | ImprintCards$ ThisTargetedCard | Condition$ AllTargetsLegal | StackDescription$ and returns {c:ThisTargetedCard} to the battlefield. | SubAbility$ DBBranch +SVar:DBBranch:DB$ Branch | BranchConditionSVar$ TargetCheck | BranchConditionSVarCompare$ GE2 | TrueSubAbility$ DBSacrifice | FalseSubAbility$ DBCleanup +SVar:DBSacrifice:DB$ SacrificeAll | ValidCards$ Card.IsRemembered | SubAbility$ DBReturn +SVar:DBReturn:DB$ ChangeZone | Defined$ Imprinted | Origin$ Graveyard | Destination$ Battlefield | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearImprinted$ True +SVar:TargetCheck:SVar$CheckRemem/Plus.CheckImprint +SVar:CheckRemem:Remembered$Valid Artifact.sharesControllerWith Imprinted SVar:CheckImprint:Imprinted$Valid Artifact.sharesControllerWith Remembered AI:RemoveDeck:All AI:RemoveDeck:Random From 991468efd98577a8cc0ab7925da956c6221efa9b Mon Sep 17 00:00:00 2001 From: Michael Kamensky Date: Thu, 18 Nov 2021 20:21:32 +0300 Subject: [PATCH 003/100] - Fix Quest mode not allowing to select all the cards from a set containing several subsets of cards (e.g. Modern Horizons 2). --- .../forge/gamemodes/quest/QuestEventDraft.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/forge-gui/src/main/java/forge/gamemodes/quest/QuestEventDraft.java b/forge-gui/src/main/java/forge/gamemodes/quest/QuestEventDraft.java index 576670a806b..3ab876622dd 100644 --- a/forge-gui/src/main/java/forge/gamemodes/quest/QuestEventDraft.java +++ b/forge-gui/src/main/java/forge/gamemodes/quest/QuestEventDraft.java @@ -446,13 +446,15 @@ public class QuestEventDraft implements IQuestEvent { private void awardSelectedRare(final QuestDraftPrizes prizes) { final List possibleCards = new ArrayList<>(); + final List cardNames = new ArrayList<>(); for (final CardEdition edition : getAllEditions()) { - for (final CardInSet card : edition.getCards()) { + for (final CardInSet card : edition.getAllCardsInSet()) { if (card.rarity == CardRarity.Rare || card.rarity == CardRarity.MythicRare) { final PaperCard cardToAdd = FModel.getMagicDb().getCommonCards().getCard(card.name, edition.getCode()); - if (cardToAdd != null) { + if (cardToAdd != null && !cardNames.contains(cardToAdd.getName())) { possibleCards.add(cardToAdd); + cardNames.add(cardToAdd.getName()); } } } @@ -470,14 +472,17 @@ public class QuestEventDraft implements IQuestEvent { final CardEdition randomEdition = getRandomEdition(); final List cardsInEdition = new ArrayList<>(); + final List cardNames = new ArrayList<>(); - for (final CardInSet card : randomEdition.getCards()) { + for (final CardInSet card : randomEdition.getAllCardsInSet()) { if (card.rarity == CardRarity.Rare || card.rarity == CardRarity.MythicRare) { - cardsInEdition.add(card); + if (!cardNames.contains(card.name)) { + cardsInEdition.add(card); + cardNames.add(card.name); + } } } - CardInSet randomCard; PaperCard promo = null; From 1d659c09b7ba56464a4e9aba5a2534f76f3152a2 Mon Sep 17 00:00:00 2001 From: Michael Kamensky Date: Thu, 18 Nov 2021 20:27:20 +0300 Subject: [PATCH 004/100] - Add puzzle PS_MID4. --- forge-gui/res/puzzle/PS_MID4.pzl | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 forge-gui/res/puzzle/PS_MID4.pzl diff --git a/forge-gui/res/puzzle/PS_MID4.pzl b/forge-gui/res/puzzle/PS_MID4.pzl new file mode 100644 index 00000000000..9491853cfc4 --- /dev/null +++ b/forge-gui/res/puzzle/PS_MID4.pzl @@ -0,0 +1,16 @@ +[metadata] +Name:Possibility Storm - Innistrad: Midnight Hunt #04 +URL:https://i2.wp.com/www.possibilitystorm.com/wp-content/uploads/2021/11/187.-MID4-scaled.jpg +Goal:Win +Turns:1 +Difficulty:Uncommon +Description:Win this turn. Remember that your solution must account for all possible blocking decisions your opponent could make. +[state] +humanlife=20 +ailife=4 +turn=1 +activeplayer=human +activephase=MAIN1 +humanhand=True Polymorph;Silver Bolt;Team Pennant;Hallowed Respite +humanbattlefield=Enduring Angel;Valkyrie Harbinger;Plains;Plains;Island;Island;Deserted Beach;Deserted Beach +aibattlefield=Liesa, Forgotten Archangel;Myriad Construct From 04e8ced37f1467f49bcca1f331163383fed0e02c Mon Sep 17 00:00:00 2001 From: Michael Kamensky Date: Thu, 18 Nov 2021 20:29:48 +0300 Subject: [PATCH 005/100] - Add NoETBTrigs to lands --- forge-gui/res/puzzle/PS_MID4.pzl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forge-gui/res/puzzle/PS_MID4.pzl b/forge-gui/res/puzzle/PS_MID4.pzl index 9491853cfc4..9fd5bbdafcc 100644 --- a/forge-gui/res/puzzle/PS_MID4.pzl +++ b/forge-gui/res/puzzle/PS_MID4.pzl @@ -12,5 +12,5 @@ turn=1 activeplayer=human activephase=MAIN1 humanhand=True Polymorph;Silver Bolt;Team Pennant;Hallowed Respite -humanbattlefield=Enduring Angel;Valkyrie Harbinger;Plains;Plains;Island;Island;Deserted Beach;Deserted Beach +humanbattlefield=Enduring Angel;Valkyrie Harbinger;Plains;Plains;Island;Island;Deserted Beach|NoETBTrigs;Deserted Beach|NoETBTrigs aibattlefield=Liesa, Forgotten Archangel;Myriad Construct From 53b000515b541f9b24930ad1ec6b6206e43cee1a Mon Sep 17 00:00:00 2001 From: Hans Mackowiak Date: Fri, 19 Nov 2021 10:26:46 +0100 Subject: [PATCH 006/100] Token Scripts: add Token to Name --- .../src/main/java/forge/card/CardType.java | 7 ++++++- .../src/main/java/forge/game/card/Card.java | 7 +------ .../java/forge/game/card/token/TokenInfo.java | 6 ++---- .../forge/ai/simulation/GameSimulatorTest.java | 18 +++++++++--------- .../res/cardsfolder/c/curse_of_opulence.txt | 2 +- forge-gui/res/cardsfolder/g/gild.txt | 2 +- .../k/king_macar_the_gold_cursed.txt | 2 +- forge-gui/res/cardsfolder/n/niko_aris.txt | 4 ++-- .../cardsfolder/t/the_first_iroan_games.txt | 2 +- forge-gui/res/lists/TypeLists.txt | 1 + .../res/tokenscripts/b_0_0_phyrexian_germ.txt | 2 +- .../res/tokenscripts/b_0_0_zombie_army.txt | 2 +- forge-gui/res/tokenscripts/b_0_1_cleric.txt | 2 +- forge-gui/res/tokenscripts/b_0_1_insect.txt | 2 +- forge-gui/res/tokenscripts/b_0_1_serf.txt | 2 +- forge-gui/res/tokenscripts/b_0_1_thrull.txt | 2 +- .../b_1_1_assassin_deathtouch_haste.txt | 2 +- .../b_1_1_assassin_deathtouch_pwdestroy.txt | 2 +- .../tokenscripts/b_1_1_assassin_lose_con.txt | 2 +- .../res/tokenscripts/b_1_1_bat_flying.txt | 2 +- .../tokenscripts/b_1_1_faerie_rogue_flying.txt | 2 +- .../res/tokenscripts/b_1_1_goblin_rogue.txt | 2 +- .../res/tokenscripts/b_1_1_harpy_flying.txt | 2 +- forge-gui/res/tokenscripts/b_1_1_insect.txt | 2 +- forge-gui/res/tokenscripts/b_1_1_minion.txt | 2 +- forge-gui/res/tokenscripts/b_1_1_rat.txt | 2 +- .../res/tokenscripts/b_1_1_rat_deathtouch.txt | 2 +- forge-gui/res/tokenscripts/b_1_1_skeleton.txt | 2 +- .../tokenscripts/b_1_1_skeleton_opp_life.txt | 2 +- .../tokenscripts/b_1_1_skeleton_regenerate.txt | 2 +- forge-gui/res/tokenscripts/b_1_1_slug.txt | 2 +- .../tokenscripts/b_1_1_snake_deathtouch.txt | 2 +- forge-gui/res/tokenscripts/b_1_1_thrull.txt | 2 +- forge-gui/res/tokenscripts/b_1_1_vampire.txt | 2 +- .../b_1_1_vampire_knight_lifelink.txt | 2 +- .../tokenscripts/b_1_1_vampire_lifelink.txt | 2 +- .../res/tokenscripts/b_1_1_wolf_deathtouch.txt | 2 +- .../b_1_2_bat_flying_nosferatu.txt | 2 +- forge-gui/res/tokenscripts/b_2_1_cat.txt | 2 +- .../tokenscripts/b_2_1_spider_menace_reach.txt | 2 +- forge-gui/res/tokenscripts/b_2_1_warrior.txt | 2 +- forge-gui/res/tokenscripts/b_2_2_e_zombie.txt | 2 +- .../b_2_2_knight_flanking_pro_white_haste.txt | 2 +- .../tokenscripts/b_2_2_phyrexian_zombie.txt | 2 +- .../res/tokenscripts/b_2_2_pirate_menace.txt | 2 +- .../res/tokenscripts/b_2_2_rogue_hexproof.txt | 2 +- .../res/tokenscripts/b_2_2_rogue_menace.txt | 2 +- .../res/tokenscripts/b_2_2_vampire_flying.txt | 2 +- forge-gui/res/tokenscripts/b_2_2_zombie.txt | 2 +- .../tokenscripts/b_2_2_zombie_berserker.txt | 2 +- .../res/tokenscripts/b_2_2_zombie_decayed.txt | 2 +- .../tokenscripts/b_2_2_zombie_designated.txt | 2 +- .../b_2_2_zombie_knight_menace.txt | 2 +- .../b_2_3_vampire_flying_lifelink.txt | 2 +- .../res/tokenscripts/b_2_4_spider_reach.txt | 2 +- .../res/tokenscripts/b_3_3_angel_flying.txt | 2 +- .../tokenscripts/b_3_3_beast_deathtouch.txt | 2 +- forge-gui/res/tokenscripts/b_3_3_horror.txt | 2 +- .../tokenscripts/b_3_3_horror_designated.txt | 2 +- forge-gui/res/tokenscripts/b_3_3_kavu.txt | 2 +- forge-gui/res/tokenscripts/b_4_4_horror.txt | 2 +- .../b_4_4_zombie_warrior_vigilance.txt | 2 +- .../res/tokenscripts/b_5_5_demon_flying.txt | 2 +- .../res/tokenscripts/b_5_5_zombie_giant.txt | 2 +- .../b_6_6_demon_flying_trample_aristocrat.txt | 2 +- .../res/tokenscripts/b_6_6_wurm_trample.txt | 2 +- .../res/tokenscripts/b_aura_curse_life.txt | 2 +- .../res/tokenscripts/b_x_x_demon_flying.txt | 2 +- forge-gui/res/tokenscripts/b_x_x_horror.txt | 2 +- .../tokenscripts/b_x_x_nightmare_horror.txt | 2 +- .../tokenscripts/b_x_x_phyrexian_minion.txt | 2 +- forge-gui/res/tokenscripts/b_x_x_spirit.txt | 2 +- forge-gui/res/tokenscripts/b_x_x_vampire.txt | 2 +- forge-gui/res/tokenscripts/b_x_x_zombie.txt | 2 +- .../res/tokenscripts/b_x_x_zombie_horror.txt | 2 +- .../tokenscripts/bg_1_1_e_snake_deathtouch.txt | 2 +- forge-gui/res/tokenscripts/bg_1_1_insect.txt | 2 +- .../res/tokenscripts/bg_1_1_pest_lifegain.txt | 2 +- forge-gui/res/tokenscripts/bg_1_1_worm.txt | 2 +- .../res/tokenscripts/bg_2_2_wolf_garruk.txt | 2 +- forge-gui/res/tokenscripts/bg_x_x_hydra.txt | 2 +- .../res/tokenscripts/bg_x_x_spirit_warrior.txt | 2 +- .../tokenscripts/br_3_1_graveborn_haste.txt | 2 +- .../br_3_1_vampire_trample_lifelink_haste.txt | 2 +- .../tokenscripts/br_3_6_avatar_haste_bolt.txt | 2 +- .../res/tokenscripts/br_5_5_elemental.txt | 2 +- .../tokenscripts/brg_3_3_cat_dragon_flying.txt | 2 +- .../c_0_0_a_construct_total_artifacts.txt | 2 +- forge-gui/res/tokenscripts/c_0_1_a_egg.txt | 2 +- .../c_0_1_a_goblin_construct_noblock_ping.txt | 2 +- forge-gui/res/tokenscripts/c_0_1_a_pest.txt | 2 +- forge-gui/res/tokenscripts/c_0_1_a_prism.txt | 2 +- .../tokenscripts/c_0_1_eldrazi_spawn_sac.txt | 2 +- .../res/tokenscripts/c_0_2_a_wall_defender.txt | 2 +- .../res/tokenscripts/c_0_4_a_wall_defender.txt | 2 +- forge-gui/res/tokenscripts/c_10_10_eldrazi.txt | 2 +- .../res/tokenscripts/c_1_1_a_construct.txt | 2 +- .../c_1_1_a_construct_defender.txt | 2 +- forge-gui/res/tokenscripts/c_1_1_a_gnome.txt | 2 +- forge-gui/res/tokenscripts/c_1_1_a_myr.txt | 2 +- .../tokenscripts/c_1_1_a_pentavite_flying.txt | 2 +- .../res/tokenscripts/c_1_1_a_phyrexian_myr.txt | 2 +- forge-gui/res/tokenscripts/c_1_1_a_servo.txt | 2 +- .../res/tokenscripts/c_1_1_a_snake_poison.txt | 2 +- .../c_1_1_a_tetravite_flying_noenchant.txt | 2 +- .../tokenscripts/c_1_1_a_thopter_flying.txt | 2 +- .../c_1_1_a_triskelavite_flying_ammo.txt | 2 +- .../tokenscripts/c_1_1_eldrazi_scion_sac.txt | 2 +- .../tokenscripts/c_1_1_eldrazi_sliver_sac.txt | 2 +- forge-gui/res/tokenscripts/c_1_1_sand.txt | 2 +- .../c_1_1_shapeshifter_changeling.txt | 2 +- forge-gui/res/tokenscripts/c_1_1_sliver.txt | 2 +- forge-gui/res/tokenscripts/c_1_1_spirit.txt | 2 +- .../c_1_1_spirit_lifelink_haste.txt | 2 +- .../tokenscripts/c_2_2_a_assembly_worker.txt | 2 +- forge-gui/res/tokenscripts/c_2_2_a_spawn.txt | 2 +- .../res/tokenscripts/c_2_2_homunculus.txt | 2 +- forge-gui/res/tokenscripts/c_2_2_pincher.txt | 2 +- .../c_2_2_shapeshifter_changeling.txt | 2 +- forge-gui/res/tokenscripts/c_2_2_spirit.txt | 2 +- .../res/tokenscripts/c_3_2_eldrazi_horror.txt | 2 +- forge-gui/res/tokenscripts/c_3_3_a_golem.txt | 2 +- .../res/tokenscripts/c_3_3_a_golem_flying.txt | 2 +- .../res/tokenscripts/c_3_3_a_golem_trample.txt | 2 +- .../tokenscripts/c_3_3_a_golem_vigilance.txt | 2 +- .../tokenscripts/c_3_3_a_phyrexian_golem.txt | 2 +- .../c_3_3_a_phyrexian_wurm_deathtouch.txt | 2 +- .../c_3_3_a_phyrexian_wurm_lifelink.txt | 2 +- forge-gui/res/tokenscripts/c_3_3_e_a_golem.txt | 2 +- .../tokenscripts/c_3_4_a_gargoyle_flying.txt | 2 +- .../res/tokenscripts/c_4_4_a_construct.txt | 2 +- forge-gui/res/tokenscripts/c_4_4_a_golem.txt | 2 +- .../res/tokenscripts/c_4_4_dragon_flying.txt | 2 +- forge-gui/res/tokenscripts/c_4_6_a_golem.txt | 2 +- .../res/tokenscripts/c_5_5_a_djinn_flying.txt | 2 +- .../c_6_12_a_construct_trample.txt | 2 +- forge-gui/res/tokenscripts/c_6_6_a_beast.txt | 2 +- .../tokenscripts/c_7_7_eldrazi_annihilator.txt | 2 +- forge-gui/res/tokenscripts/c_9_9_a_golem.txt | 2 +- forge-gui/res/tokenscripts/c_a_blood_draw.txt | 2 +- forge-gui/res/tokenscripts/c_a_clue_draw.txt | 2 +- forge-gui/res/tokenscripts/c_a_food_sac.txt | 2 +- .../{gold.txt => c_a_gold_draw.txt} | 2 +- .../res/tokenscripts/c_a_treasure_sac.txt | 2 +- .../{shard.txt => c_e_shard_draw.txt} | 4 ++-- forge-gui/res/tokenscripts/c_l_forest.txt | 2 +- forge-gui/res/tokenscripts/c_l_wastes.txt | 2 +- .../res/tokenscripts/c_x_x_a_construct.txt | 2 +- forge-gui/res/tokenscripts/c_x_x_a_horror.txt | 2 +- .../tokenscripts/c_x_x_a_phyrexian_horror.txt | 2 +- .../c_x_x_a_sculpture_total_sculptures.txt | 2 +- forge-gui/res/tokenscripts/g_0_0_hydra.txt | 2 +- .../res/tokenscripts/g_0_1_egg_defender.txt | 2 +- forge-gui/res/tokenscripts/g_0_1_plant.txt | 2 +- forge-gui/res/tokenscripts/g_0_1_sheep.txt | 2 +- .../res/tokenscripts/g_0_2_plant_defender.txt | 2 +- forge-gui/res/tokenscripts/g_1_1_ape.txt | 2 +- forge-gui/res/tokenscripts/g_1_1_boar_food.txt | 2 +- forge-gui/res/tokenscripts/g_1_1_cat.txt | 2 +- forge-gui/res/tokenscripts/g_1_1_dog.txt | 2 +- .../res/tokenscripts/g_1_1_elf_druid_g.txt | 2 +- forge-gui/res/tokenscripts/g_1_1_elf_g.txt | 2 +- .../res/tokenscripts/g_1_1_elf_warrior.txt | 2 +- forge-gui/res/tokenscripts/g_1_1_hippo.txt | 2 +- forge-gui/res/tokenscripts/g_1_1_insect.txt | 2 +- .../g_1_1_insect_flying_deathtouch.txt | 2 +- forge-gui/res/tokenscripts/g_1_1_ooze.txt | 2 +- .../g_1_1_phyrexian_insect_infect.txt | 2 +- forge-gui/res/tokenscripts/g_1_1_plant.txt | 2 +- forge-gui/res/tokenscripts/g_1_1_saproling.txt | 2 +- forge-gui/res/tokenscripts/g_1_1_snake.txt | 2 +- .../tokenscripts/g_1_1_snake_deathtouch.txt | 2 +- forge-gui/res/tokenscripts/g_1_1_spike.txt | 2 +- .../tokenscripts/g_1_1_splinter_flying_cum.txt | 2 +- forge-gui/res/tokenscripts/g_1_1_squirrel.txt | 2 +- .../tokenscripts/g_1_1_wolf_sound_the_call.txt | 2 +- .../res/tokenscripts/g_1_2_spider_reach.txt | 2 +- .../res/tokenscripts/g_1_3_e_spider_reach.txt | 2 +- forge-gui/res/tokenscripts/g_2_2_bear.txt | 2 +- forge-gui/res/tokenscripts/g_2_2_beast.txt | 2 +- forge-gui/res/tokenscripts/g_2_2_boar.txt | 2 +- forge-gui/res/tokenscripts/g_2_2_cat.txt | 2 +- .../g_2_2_cat_warrior_forestwalk.txt | 2 +- forge-gui/res/tokenscripts/g_2_2_elemental.txt | 2 +- forge-gui/res/tokenscripts/g_2_2_gorilla.txt | 2 +- forge-gui/res/tokenscripts/g_2_2_lizard.txt | 2 +- forge-gui/res/tokenscripts/g_2_2_monkey.txt | 2 +- forge-gui/res/tokenscripts/g_2_2_ooze.txt | 2 +- .../res/tokenscripts/g_2_2_ooze_mitotic.txt | 2 +- .../res/tokenscripts/g_2_2_rabid_sheep.txt | 2 +- forge-gui/res/tokenscripts/g_2_2_wolf.txt | 2 +- .../tokenscripts/g_2_3_antelope_forestwalk.txt | 2 +- .../res/tokenscripts/g_2_5_treefolk_shaman.txt | 2 +- forge-gui/res/tokenscripts/g_3_1_boar.txt | 2 +- .../res/tokenscripts/g_3_2_cat_shroud.txt | 2 +- forge-gui/res/tokenscripts/g_3_3_ape.txt | 2 +- forge-gui/res/tokenscripts/g_3_3_beast.txt | 2 +- forge-gui/res/tokenscripts/g_3_3_boar.txt | 2 +- forge-gui/res/tokenscripts/g_3_3_centaur.txt | 2 +- .../tokenscripts/g_3_3_centaur_pro_black.txt | 2 +- .../tokenscripts/g_3_3_dinosaur_trample.txt | 2 +- forge-gui/res/tokenscripts/g_3_3_e_centaur.txt | 2 +- forge-gui/res/tokenscripts/g_3_3_elemental.txt | 2 +- forge-gui/res/tokenscripts/g_3_3_elephant.txt | 2 +- .../res/tokenscripts/g_3_3_frog_lizard.txt | 2 +- forge-gui/res/tokenscripts/g_3_3_hippo.txt | 2 +- forge-gui/res/tokenscripts/g_3_3_insect.txt | 2 +- forge-gui/res/tokenscripts/g_3_3_ooze.txt | 2 +- forge-gui/res/tokenscripts/g_4_2_beast.txt | 2 +- forge-gui/res/tokenscripts/g_4_4_bear.txt | 2 +- forge-gui/res/tokenscripts/g_4_4_beast.txt | 2 +- forge-gui/res/tokenscripts/g_4_4_elemental.txt | 2 +- .../g_4_4_fungus_beast_trample.txt | 2 +- .../res/tokenscripts/g_4_4_phyrexian_beast.txt | 2 +- .../res/tokenscripts/g_4_4_rhino_trample.txt | 2 +- .../g_4_4_troll_warrior_trample.txt | 2 +- forge-gui/res/tokenscripts/g_5_3_elemental.txt | 2 +- forge-gui/res/tokenscripts/g_5_4_snake.txt | 2 +- forge-gui/res/tokenscripts/g_5_5_beast.txt | 2 +- .../res/tokenscripts/g_5_5_beast_trample.txt | 2 +- forge-gui/res/tokenscripts/g_5_5_wurm.txt | 2 +- .../res/tokenscripts/g_5_5_wurm_trample.txt | 2 +- .../res/tokenscripts/g_6_1_insect_shroud.txt | 2 +- forge-gui/res/tokenscripts/g_6_6_wurm.txt | 2 +- .../tokenscripts/g_7_7_elemental_trample.txt | 2 +- forge-gui/res/tokenscripts/g_7_7_giant.txt | 2 +- .../g_x_x_dinosaur_beast_trample.txt | 2 +- forge-gui/res/tokenscripts/g_x_x_elemental.txt | 2 +- .../tokenscripts/g_x_x_elephant_resurgence.txt | 2 +- forge-gui/res/tokenscripts/g_x_x_hydra.txt | 2 +- forge-gui/res/tokenscripts/g_x_x_ooze.txt | 2 +- .../tokenscripts/g_x_x_ooze_gutter_grime.txt | 2 +- .../res/tokenscripts/g_x_x_saproling_burst.txt | 2 +- forge-gui/res/tokenscripts/g_x_x_treefolk.txt | 2 +- .../g_x_x_treefolk_reach_total_lands.txt | 2 +- .../g_x_x_treefolk_warrior_total_forests.txt | 2 +- forge-gui/res/tokenscripts/g_x_x_wurm.txt | 2 +- .../g_x_y_ooze_types_graveyard.txt | 2 +- .../res/tokenscripts/goldmeadow_harrier.txt | 2 +- forge-gui/res/tokenscripts/gu_0_0_fractal.txt | 2 +- forge-gui/res/tokenscripts/gu_1_1_snake.txt | 2 +- .../res/tokenscripts/gu_2_2_drake_flying.txt | 2 +- .../res/tokenscripts/gw_1_1_elf_warrior.txt | 2 +- .../gw_1_1_human_soldier_training.txt | 2 +- .../gw_2_2_elf_knight_vigilance.txt | 2 +- .../gw_8_8_elemental_vigilance.txt | 2 +- .../gw_x_x_elemental_total_creatures.txt | 2 +- .../r_0_1_elemental_rekindling_phoenix.txt | 2 +- ..._0_2_dragon_egg_defender_hatches_dragon.txt | 2 +- forge-gui/res/tokenscripts/r_1_1_brainiac.txt | 2 +- .../res/tokenscripts/r_1_1_devil_burn.txt | 2 +- .../res/tokenscripts/r_1_1_dinosaur_haste.txt | 2 +- forge-gui/res/tokenscripts/r_1_1_dwarf.txt | 2 +- forge-gui/res/tokenscripts/r_1_1_elemental.txt | 2 +- .../tokenscripts/r_1_1_elemental_cat_haste.txt | 2 +- .../res/tokenscripts/r_1_1_elemental_haste.txt | 2 +- forge-gui/res/tokenscripts/r_1_1_goblin.txt | 2 +- .../tokenscripts/r_1_1_goblin_all_attack.txt | 2 +- .../res/tokenscripts/r_1_1_goblin_haste.txt | 2 +- .../res/tokenscripts/r_1_1_goblin_noblock.txt | 2 +- .../r_1_1_goblin_scout_mountainwalk.txt | 2 +- .../r_1_1_goblin_wizard_prowess.txt | 2 +- forge-gui/res/tokenscripts/r_1_1_human.txt | 2 +- .../res/tokenscripts/r_1_1_human_haste.txt | 2 +- .../r_1_1_phyrexian_goblin_haste.txt | 2 +- .../r_1_1_pirate_noblock_all_attack.txt | 2 +- .../res/tokenscripts/r_1_1_satyr_noblock.txt | 2 +- .../res/tokenscripts/r_1_1_soldier_haste.txt | 2 +- forge-gui/res/tokenscripts/r_1_1_survivor.txt | 2 +- forge-gui/res/tokenscripts/r_1_1_warrior.txt | 2 +- .../res/tokenscripts/r_2_1_dwarf_berserker.txt | 2 +- .../res/tokenscripts/r_2_1_goblin_haste.txt | 2 +- .../res/tokenscripts/r_2_1_human_wizard.txt | 2 +- .../r_2_2_dragon_flying_firebreathing.txt | 2 +- forge-gui/res/tokenscripts/r_2_2_gremlin.txt | 2 +- .../r_2_3_demon_berserker_menace.txt | 2 +- forge-gui/res/tokenscripts/r_2_3_minotaur.txt | 2 +- .../res/tokenscripts/r_2_3_minotaur_haste.txt | 2 +- .../tokenscripts/r_3_1_e_elemental_haste.txt | 2 +- forge-gui/res/tokenscripts/r_3_1_elemental.txt | 2 +- .../res/tokenscripts/r_3_1_elemental_haste.txt | 2 +- .../tokenscripts/r_3_1_elemental_shaman.txt | 2 +- .../r_3_1_elemental_shaman_haste.txt | 2 +- .../r_3_1_elemental_trample_haste.txt | 2 +- forge-gui/res/tokenscripts/r_3_2_wolf.txt | 2 +- forge-gui/res/tokenscripts/r_3_3_elemental.txt | 2 +- .../r_3_3_fighter_first_strike.txt | 2 +- forge-gui/res/tokenscripts/r_3_3_ogre.txt | 2 +- .../res/tokenscripts/r_4_4_bird_flying.txt | 2 +- .../r_4_4_devil_haste_treasure.txt | 2 +- .../res/tokenscripts/r_4_4_dragon_flying.txt | 2 +- forge-gui/res/tokenscripts/r_4_4_giant.txt | 2 +- .../res/tokenscripts/r_4_4_giant_chicken.txt | 2 +- forge-gui/res/tokenscripts/r_4_4_hellion.txt | 2 +- .../res/tokenscripts/r_4_4_hellion_haste.txt | 2 +- forge-gui/res/tokenscripts/r_4_4_ogre.txt | 2 +- .../res/tokenscripts/r_5_5_dragon_flying.txt | 2 +- .../res/tokenscripts/r_6_6_dragon_flying.txt | 2 +- .../r_7_1_elemental_trample_haste.txt | 2 +- forge-gui/res/tokenscripts/r_8_8_lizard.txt | 2 +- .../r_x_1_elemental_trample_haste.txt | 2 +- .../r_x_x_dragon_illusion_flying_haste.txt | 2 +- forge-gui/res/tokenscripts/r_x_x_elemental.txt | 2 +- .../r_x_x_elemental_trample_grave_exile.txt | 2 +- .../rg_1_1_dragon_flying_devour.txt | 2 +- .../res/tokenscripts/rg_1_1_goblin_warrior.txt | 2 +- .../res/tokenscripts/rg_2_2_satyr_haste.txt | 2 +- .../res/tokenscripts/rg_4_4_beast_trample.txt | 2 +- .../rg_4_4_giant_warrior_haste.txt | 2 +- .../rg_5_4_dragon_spirit_damagesac.txt | 2 +- .../res/tokenscripts/rg_5_5_elemental.txt | 2 +- .../res/tokenscripts/rgw_1_1_sand_warrior.txt | 2 +- forge-gui/res/tokenscripts/rgw_8_8_beast.txt | 2 +- .../res/tokenscripts/riptide_replicator.txt | 2 +- .../res/tokenscripts/rw_1_1_goblin_soldier.txt | 2 +- .../res/tokenscripts/rw_1_1_soldier_haste.txt | 2 +- .../rw_1_2_human_rogue_haste_damage.txt | 2 +- .../rw_2_1_human_cleric_lifelink_haste.txt | 2 +- .../res/tokenscripts/rw_2_2_dinosaur_cat.txt | 2 +- .../rw_3_1_human_warrior_trample_haste.txt | 2 +- forge-gui/res/tokenscripts/rw_3_2_spirit.txt | 2 +- forge-gui/res/tokenscripts/rw_4_4_a_golem.txt | 2 +- .../res/tokenscripts/u_0_1_a_homunculus.txt | 2 +- forge-gui/res/tokenscripts/u_0_1_starfish.txt | 2 +- .../tokenscripts/u_0_2_illusion_mesmerize.txt | 2 +- forge-gui/res/tokenscripts/u_0_3_crab.txt | 2 +- forge-gui/res/tokenscripts/u_1_0_elemental.txt | 2 +- .../tokenscripts/u_1_1_a_thopter_flying.txt | 2 +- forge-gui/res/tokenscripts/u_1_1_beeble.txt | 2 +- .../res/tokenscripts/u_1_1_bird_flying.txt | 2 +- .../u_1_1_bird_flying_blockflying.txt | 2 +- .../u_1_1_bird_illusion_flying.txt | 2 +- forge-gui/res/tokenscripts/u_1_1_camarid.txt | 2 +- .../u_1_1_faerie_dragon_flying.txt | 2 +- .../res/tokenscripts/u_1_1_faerie_flying.txt | 2 +- .../u_1_1_faerie_spy_flying_haste_draw.txt | 2 +- .../res/tokenscripts/u_1_1_human_wizard.txt | 2 +- .../res/tokenscripts/u_1_1_illusion_flying.txt | 2 +- .../u_1_1_illusion_other_illusions.txt | 2 +- forge-gui/res/tokenscripts/u_1_1_merfolk.txt | 2 +- .../tokenscripts/u_1_1_merfolk_hexproof.txt | 2 +- .../res/tokenscripts/u_1_1_merfolk_wizard.txt | 2 +- .../res/tokenscripts/u_1_1_spirit_flying.txt | 2 +- .../tokenscripts/u_1_1_squid_islandwalk.txt | 2 +- forge-gui/res/tokenscripts/u_1_1_tentacle.txt | 2 +- .../res/tokenscripts/u_1_1_wizard_flying.txt | 2 +- .../res/tokenscripts/u_2_1_a_phyrexian_myr.txt | 2 +- .../res/tokenscripts/u_2_2_bird_flying.txt | 2 +- .../tokenscripts/u_2_2_djinn_monk_flying.txt | 2 +- .../res/tokenscripts/u_2_2_drake_flying.txt | 2 +- .../res/tokenscripts/u_2_2_e_bird_flying.txt | 2 +- .../tokenscripts/u_2_2_elemental_flying.txt | 2 +- .../res/tokenscripts/u_2_2_homunculus.txt | 2 +- forge-gui/res/tokenscripts/u_2_2_illusion.txt | 2 +- .../tokenscripts/u_2_2_illusion_illusory.txt | 2 +- .../u_2_2_shapeshifter_changeling.txt | 2 +- forge-gui/res/tokenscripts/u_2_2_wizard.txt | 2 +- .../res/tokenscripts/u_3_2_reflection.txt | 2 +- .../tokenscripts/u_3_3_fish_hatches_whale.txt | 2 +- .../u_3_3_weird_defender_flying.txt | 2 +- .../tokenscripts/u_4_3_salamander_warrior.txt | 2 +- .../u_4_4_elemental_bird_flying.txt | 2 +- .../res/tokenscripts/u_4_4_giant_wizard.txt | 2 +- .../res/tokenscripts/u_4_4_sphinx_flying.txt | 2 +- .../u_5_5_dragon_spirit_flying.txt | 2 +- .../res/tokenscripts/u_5_5_wall_defender.txt | 2 +- .../u_6_6_whale_hatches_kraken.txt | 2 +- forge-gui/res/tokenscripts/u_8_8_kraken.txt | 2 +- .../res/tokenscripts/u_8_8_kraken_hexproof.txt | 2 +- forge-gui/res/tokenscripts/u_8_8_octopus.txt | 2 +- forge-gui/res/tokenscripts/u_9_9_kraken.txt | 2 +- .../u_x_x_dog_illusion_cardsinhand.txt | 2 +- forge-gui/res/tokenscripts/u_x_x_illusion.txt | 2 +- .../res/tokenscripts/u_x_x_orb_flying.txt | 2 +- .../res/tokenscripts/u_x_x_shark_flying.txt | 2 +- forge-gui/res/tokenscripts/u_x_x_zombie.txt | 2 +- .../ub_1_1_faerie_rogue_flying.txt | 2 +- .../res/tokenscripts/ub_1_1_horror_flying.txt | 2 +- .../res/tokenscripts/ub_1_1_zombie_wizard.txt | 2 +- .../res/tokenscripts/ub_2_3_nightmare_mill.txt | 2 +- .../res/tokenscripts/ub_x_x_zombie_menace.txt | 2 +- .../ur_1_1_insect_flying_haste.txt | 2 +- .../res/tokenscripts/ur_4_4_elemental.txt | 2 +- .../tokenscripts/ur_5_5_elemental_flying.txt | 2 +- forge-gui/res/tokenscripts/ur_x_x_weird.txt | 2 +- .../res/tokenscripts/volraths_laboratory.txt | 2 +- .../res/tokenscripts/w_0_0_spirit_flying.txt | 2 +- forge-gui/res/tokenscripts/w_0_1_caribou.txt | 2 +- forge-gui/res/tokenscripts/w_0_1_deserter.txt | 2 +- forge-gui/res/tokenscripts/w_0_1_goat.txt | 2 +- .../res/tokenscripts/w_0_3_wall_defender.txt | 2 +- .../res/tokenscripts/w_1_1_bird_flying.txt | 2 +- .../tokenscripts/w_1_1_bird_soldier_flying.txt | 2 +- forge-gui/res/tokenscripts/w_1_1_cat.txt | 2 +- .../res/tokenscripts/w_1_1_cat_bird_flying.txt | 2 +- .../res/tokenscripts/w_1_1_cat_lifelink.txt | 2 +- .../w_1_1_cat_soldier_vigilance.txt | 2 +- forge-gui/res/tokenscripts/w_1_1_citizen.txt | 2 +- .../res/tokenscripts/w_1_1_cleric_lifelink.txt | 2 +- forge-gui/res/tokenscripts/w_1_1_dog.txt | 2 +- forge-gui/res/tokenscripts/w_1_1_e_soldier.txt | 2 +- forge-gui/res/tokenscripts/w_1_1_human.txt | 2 +- .../res/tokenscripts/w_1_1_human_soldier.txt | 2 +- .../res/tokenscripts/w_1_1_human_warrior.txt | 2 +- .../res/tokenscripts/w_1_1_kithkin_soldier.txt | 2 +- .../res/tokenscripts/w_1_1_knight_banding.txt | 2 +- forge-gui/res/tokenscripts/w_1_1_kor_ally.txt | 2 +- .../res/tokenscripts/w_1_1_kor_soldier.txt | 2 +- .../res/tokenscripts/w_1_1_kor_warrior.txt | 2 +- .../res/tokenscripts/w_1_1_monk_prowess.txt | 2 +- forge-gui/res/tokenscripts/w_1_1_mouse.txt | 2 +- .../res/tokenscripts/w_1_1_pegasus_flying.txt | 2 +- forge-gui/res/tokenscripts/w_1_1_soldier.txt | 2 +- .../res/tokenscripts/w_1_1_soldier_ally.txt | 2 +- .../tokenscripts/w_1_1_soldier_lifelink.txt | 2 +- .../res/tokenscripts/w_1_1_spirit_flying.txt | 2 +- .../tokenscripts/w_1_1_vampire_lifelink.txt | 2 +- forge-gui/res/tokenscripts/w_1_1_warrior.txt | 2 +- .../tokenscripts/w_1_1_warrior_vigilance.txt | 2 +- .../tokenscripts/w_1_2_soldier_defender.txt | 2 +- forge-gui/res/tokenscripts/w_2_1_e_cleric.txt | 2 +- forge-gui/res/tokenscripts/w_2_2_cat.txt | 2 +- forge-gui/res/tokenscripts/w_2_2_cat_beast.txt | 2 +- .../res/tokenscripts/w_2_2_griffin_flying.txt | 2 +- forge-gui/res/tokenscripts/w_2_2_knight.txt | 2 +- .../res/tokenscripts/w_2_2_knight_ally.txt | 2 +- .../tokenscripts/w_2_2_knight_first_strike.txt | 2 +- .../tokenscripts/w_2_2_knight_vigilance.txt | 2 +- .../res/tokenscripts/w_2_2_pegasus_flying.txt | 2 +- .../res/tokenscripts/w_2_2_reflection.txt | 2 +- .../tokenscripts/w_2_2_soldier_vigilance.txt | 2 +- forge-gui/res/tokenscripts/w_2_2_unicorn.txt | 2 +- forge-gui/res/tokenscripts/w_2_4_ox.txt | 2 +- .../res/tokenscripts/w_3_3_angel_flying.txt | 2 +- .../res/tokenscripts/w_3_3_bird_flying.txt | 2 +- .../res/tokenscripts/w_3_3_spirit_flying.txt | 2 +- .../res/tokenscripts/w_3_4_bird_flying.txt | 2 +- .../res/tokenscripts/w_4_4_angel_flying.txt | 2 +- .../w_4_4_angel_flying_vigilance.txt | 2 +- .../w_4_4_angel_warrior_flying.txt | 2 +- .../w_4_4_angel_warrior_flying_vigilance.txt | 2 +- .../res/tokenscripts/w_4_4_avatar_flying.txt | 2 +- .../tokenscripts/w_4_4_elemental_flying.txt | 2 +- .../res/tokenscripts/w_4_4_spirit_flying.txt | 2 +- .../res/tokenscripts/w_5_5_giant_warrior.txt | 2 +- forge-gui/res/tokenscripts/w_5_5_horse.txt | 2 +- .../tokenscripts/w_x_x_avatar_life_total.txt | 2 +- .../res/tokenscripts/w_x_x_reflection.txt | 2 +- .../w_x_x_spirit_cleric_total_spirits.txt | 2 +- .../tokenscripts/wb_1_1_cleric_deathpact.txt | 2 +- .../res/tokenscripts/wb_1_1_human_cleric.txt | 2 +- .../res/tokenscripts/wb_1_1_spirit_flying.txt | 2 +- .../tokenscripts/wb_1_1_vampire_lifelink.txt | 2 +- .../res/tokenscripts/wb_2_1_inkling_flying.txt | 2 +- .../wb_x_x_e_spirit_experience.txt | 2 +- .../res/tokenscripts/wu_1_1_bird_flying.txt | 2 +- .../wu_4_4_sphinx_flying_vigilance.txt | 2 +- .../res/tokenscripts/wubrg_2_2_citizen.txt | 2 +- 458 files changed, 474 insertions(+), 475 deletions(-) rename forge-gui/res/tokenscripts/{gold.txt => c_a_gold_draw.txt} (92%) rename forge-gui/res/tokenscripts/{shard.txt => c_e_shard_draw.txt} (89%) diff --git a/forge-core/src/main/java/forge/card/CardType.java b/forge-core/src/main/java/forge/card/CardType.java index 0a332ac2371..7b863d4354b 100644 --- a/forge-core/src/main/java/forge/card/CardType.java +++ b/forge-core/src/main/java/forge/card/CardType.java @@ -722,7 +722,12 @@ public final class CardType implements Comparable, CardTypeView { return CardType.isALandType(input); } }; - + public static Predicate IS_BASIC_LAND_TYPE = new Predicate() { + @Override + public boolean apply(String input) { + return CardType.isABasicLandType(input); + } + }; public static Predicate IS_ARTIFACT_TYPE = new Predicate() { @Override public boolean apply(String input) { diff --git a/forge-game/src/main/java/forge/game/card/Card.java b/forge-game/src/main/java/forge/game/card/Card.java index be2815f6001..8592426b252 100644 --- a/forge-game/src/main/java/forge/game/card/Card.java +++ b/forge-game/src/main/java/forge/game/card/Card.java @@ -5139,12 +5139,7 @@ public class Card extends GameEntity implements Comparable, IHasSVars { } public final boolean hasABasicLandType() { - for (final String type : getType().getSubtypes()) { - if (forge.card.CardType.isABasicLandType(type)) { - return true; - } - } - return false; + return Iterables.any(getType().getSubtypes(), CardType.Predicates.IS_BASIC_LAND_TYPE); } public final boolean isUsedToPay() { diff --git a/forge-game/src/main/java/forge/game/card/token/TokenInfo.java b/forge-game/src/main/java/forge/game/card/token/TokenInfo.java index 32c977ce5a2..4e764b3663f 100644 --- a/forge-game/src/main/java/forge/game/card/token/TokenInfo.java +++ b/forge-game/src/main/java/forge/game/card/token/TokenInfo.java @@ -185,11 +185,9 @@ public class TokenInfo { } } if (!typeMap.isEmpty()) { - String oldName = result.getName(); CardType type = new CardType(result.getType()); - String joinedName = StringUtils.join(type.getSubtypes(), " "); - final boolean nameGenerated = oldName.equals(joinedName); + final boolean nameGenerated = result.getName().endsWith(" Token"); boolean typeChanged = false; if (!Iterables.isEmpty(type.getSubtypes())) { @@ -207,7 +205,7 @@ public class TokenInfo { // update generated Name if (nameGenerated) { - result.setName(StringUtils.join(type.getSubtypes(), " ")); + result.setName(StringUtils.join(type.getSubtypes(), " ") + " Token"); } } } diff --git a/forge-gui-desktop/src/test/java/forge/ai/simulation/GameSimulatorTest.java b/forge-gui-desktop/src/test/java/forge/ai/simulation/GameSimulatorTest.java index 54d7c376fba..86a63f6ceee 100644 --- a/forge-gui-desktop/src/test/java/forge/ai/simulation/GameSimulatorTest.java +++ b/forge-gui-desktop/src/test/java/forge/ai/simulation/GameSimulatorTest.java @@ -48,7 +48,7 @@ public class GameSimulatorTest extends SimulationTestCase { assertEquals(1, heraldCopy.getToughnessBonusFromCounters()); assertEquals(1, heraldCopy.getPowerBonusFromCounters()); - Card warriorToken = findCardWithName(simGame, "Warrior"); + Card warriorToken = findCardWithName(simGame, "Warrior Token"); assertNotNull(warriorToken); assertTrue(warriorToken.isSick()); assertEquals(1, warriorToken.getCurrentPower()); @@ -233,7 +233,7 @@ public class GameSimulatorTest extends SimulationTestCase { GameSimulator sim = createSimulator(game, p); sim.simulateSpellAbility(minusTwo); Game simGame = sim.getSimulatedGameState(); - Card vampireToken = findCardWithName(simGame, "Vampire"); + Card vampireToken = findCardWithName(simGame, "Vampire Token"); assertNotNull(vampireToken); Player simP = simGame.getPlayers().get(1); @@ -599,7 +599,7 @@ public class GameSimulatorTest extends SimulationTestCase { assertTrue(score > 0); Game simGame = sim.getSimulatedGameState(); - Card scion = findCardWithName(simGame, "Eldrazi Scion"); + Card scion = findCardWithName(simGame, "Eldrazi Scion Token"); assertNotNull(scion); assertEquals(1, scion.getNetPower()); assertEquals(1, scion.getNetToughness()); @@ -608,7 +608,7 @@ public class GameSimulatorTest extends SimulationTestCase { GameCopier copier = new GameCopier(simGame); Game copy = copier.makeCopy(); - Card scionCopy = findCardWithName(copy, "Eldrazi Scion"); + Card scionCopy = findCardWithName(copy, "Eldrazi Scion Token"); assertNotNull(scionCopy); assertEquals(1, scionCopy.getNetPower()); assertEquals(1, scionCopy.getNetToughness()); @@ -1288,7 +1288,7 @@ public class GameSimulatorTest extends SimulationTestCase { assertTrue(score > 0); Game simGame = sim.getSimulatedGameState(); - int numZombies = countCardsWithName(simGame, "Zombie"); + int numZombies = countCardsWithName(simGame, "Zombie Token"); assertEquals(2, numZombies); } @@ -1323,11 +1323,11 @@ public class GameSimulatorTest extends SimulationTestCase { GameSimulator sim = createSimulator(game, p); int score = sim.simulateSpellAbility(fatalPushSA).value; assertTrue(score > 0); - assertEquals(2, countCardsWithName(sim.getSimulatedGameState(), "Zombie")); + assertEquals(2, countCardsWithName(sim.getSimulatedGameState(), "Zombie Token")); score = sim.simulateSpellAbility(electrifySA).value; assertTrue(score > 0); - assertEquals(countCardsWithName(sim.getSimulatedGameState(), "Zombie"), 4); + assertEquals(4, countCardsWithName(sim.getSimulatedGameState(), "Zombie Token")); } public void testPlayerXCount() { @@ -1564,7 +1564,7 @@ public class GameSimulatorTest extends SimulationTestCase { assertTrue(score > 0); Game simGame = sim.getSimulatedGameState(); - int numZombies = countCardsWithName(simGame, "Zombie"); + int numZombies = countCardsWithName(simGame, "Zombie Token"); assertEquals(4, numZombies); } @@ -1592,7 +1592,7 @@ public class GameSimulatorTest extends SimulationTestCase { assertTrue(score > 0); Game simGame = sim.getSimulatedGameState(); - int numZombies = countCardsWithName(simGame, "Zombie"); + int numZombies = countCardsWithName(simGame, "Zombie Token"); assertEquals(3, numZombies); } diff --git a/forge-gui/res/cardsfolder/c/curse_of_opulence.txt b/forge-gui/res/cardsfolder/c/curse_of_opulence.txt index 6bdcca572a5..615942a8c45 100644 --- a/forge-gui/res/cardsfolder/c/curse_of_opulence.txt +++ b/forge-gui/res/cardsfolder/c/curse_of_opulence.txt @@ -5,5 +5,5 @@ K:Enchant player A:SP$ Attach | Cost$ R | ValidTgts$ Player | AILogic$ Curse T:Mode$ AttackersDeclared | ValidCard$ Creature | AttackedTarget$ Player.EnchantedBy | Execute$ TrigRepeat | TriggerZones$ Battlefield | TriggerDescription$ Whenever enchanted player is attacked, create a Gold token. Each opponent attacking that player does the same. (A Gold token is an artifact with "Sacrifice this artifact: Add one mana of any color.") SVar:TrigRepeat:DB$ RepeatEach | RepeatPlayers$ TriggeredAttackingPlayerAndYou | RepeatSubAbility$ TrigToken | ChangeZoneTable$ True -SVar:TrigToken:DB$ Token | TokenScript$ gold | TokenOwner$ Player.IsRemembered | TokenAmount$ 1 | LegacyImage$ gold c17 +SVar:TrigToken:DB$ Token | TokenScript$ c_a_gold_draw | TokenOwner$ Player.IsRemembered | TokenAmount$ 1 Oracle:Enchant player\nWhenever enchanted player is attacked, create a Gold token. Each opponent attacking that player does the same. (A Gold token is an artifact with "Sacrifice this artifact: Add one mana of any color.") diff --git a/forge-gui/res/cardsfolder/g/gild.txt b/forge-gui/res/cardsfolder/g/gild.txt index 36b0e11dcbc..8856163616b 100644 --- a/forge-gui/res/cardsfolder/g/gild.txt +++ b/forge-gui/res/cardsfolder/g/gild.txt @@ -2,5 +2,5 @@ Name:Gild ManaCost:3 B Types:Sorcery A:SP$ ChangeZone | Cost$ 3 B | ValidTgts$ Creature | TgtPrompt$ Select target creature | Origin$ Battlefield | Destination$ Exile | SubAbility$ DBToken | SpellDescription$ Exile target creature. Create a Gold token. (It's an artifact with "Sacrifice this artifact: Add one mana of any color.") -SVar:DBToken:DB$ Token | TokenScript$ gold | TokenOwner$ You | LegacyImage$ gold bng +SVar:DBToken:DB$ Token | TokenScript$ c_a_gold_draw | TokenOwner$ You Oracle:Exile target creature. Create a Gold token. (It's an artifact with "Sacrifice this artifact: Add one mana of any color.") diff --git a/forge-gui/res/cardsfolder/k/king_macar_the_gold_cursed.txt b/forge-gui/res/cardsfolder/k/king_macar_the_gold_cursed.txt index 6fec53c4630..a8a1e49fd0e 100644 --- a/forge-gui/res/cardsfolder/k/king_macar_the_gold_cursed.txt +++ b/forge-gui/res/cardsfolder/k/king_macar_the_gold_cursed.txt @@ -4,7 +4,7 @@ Types:Legendary Creature Human Noble PT:2/3 T:Mode$ Untaps | ValidCard$ Card.Self | TriggerZones$ Battlefield | Execute$ TrigExile | OptionalDecider$ You | TriggerDescription$ Inspired — Whenever CARDNAME becomes untapped, you may exile target creature. If you do, create a Gold token. (It's an artifact with "Sacrifice this artifact: Add one mana of any color.") SVar:TrigExile:DB$ ChangeZone | ValidTgts$ Creature | Origin$ Battlefield | Destination$ Exile | RememberChanged$ True | SubAbility$ DBToken -SVar:DBToken:DB$ Token | TokenScript$ gold | TokenOwner$ You | TokenAmount$ 1 | LegacyImage$ gold jou | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | SubAbility$ DBCleanup +SVar:DBToken:DB$ Token | TokenScript$ c_a_gold_draw | TokenOwner$ You | TokenAmount$ 1 | ConditionCheckSVar$ X | ConditionSVarCompare$ GE1 | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:X:Remembered$Amount Oracle:Inspired — Whenever King Macar, the Gold-Cursed becomes untapped, you may exile target creature. If you do, create a Gold token. (It's an artifact with "Sacrifice this artifact: Add one mana of any color.") diff --git a/forge-gui/res/cardsfolder/n/niko_aris.txt b/forge-gui/res/cardsfolder/n/niko_aris.txt index eb9bcf57ed2..5edcef06271 100644 --- a/forge-gui/res/cardsfolder/n/niko_aris.txt +++ b/forge-gui/res/cardsfolder/n/niko_aris.txt @@ -3,7 +3,7 @@ ManaCost:X W U U Types:Legendary Planeswalker Niko Loyalty:3 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigToken | TriggerDescription$ When CARDNAME enters the battlefield, create X Shard tokens. (They're enchantments with "{2}, Sacrifice this enchantment: Scry 1, then draw a card.") -SVar:TrigToken:DB$ Token | TokenAmount$ X | TokenScript$ shard | TokenOwner$ You +SVar:TrigToken:DB$ Token | TokenAmount$ X | TokenScript$ c_e_shard_draw | TokenOwner$ You SVar:X:Count$xPaid A:AB$ Effect | Cost$ AddCounter<1/LOYALTY> | Name$ Niko Aris Effect | Planeswalker$ True | Triggers$ Trig | TargetMin$ 0 | TargetMax$ 1 | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | RememberObjects$ Targeted | SubAbility$ DBPump | SpellDescription$ Up to one target creature you control can't be blocked this turn. Whenever that creature deals damage this turn, return it to its owner's hand. SVar:DBPump:DB$ Pump | KW$ HIDDEN Unblockable | Defined$ Targeted @@ -11,6 +11,6 @@ SVar:Trig:Mode$ DamageDealtOnce | ValidSource$ Creature.IsRemembered | Execute$ SVar:Eff:DB$ ChangeZone | ValidTgts$ Creature.IsRemembered | Origin$ Battlefield | Destination$ Hand A:AB$ DealDamage | Cost$ SubCounter<1/LOYALTY> | Planeswalker$ True | ValidTgts$ Creature.tapped | NumDmg$ Y | TgtPrompt$ Select target tapped creature | SpellDescription$ CARDNAME deals 2 damage to target tapped creature for each card you've drawn this turn. SVar:Y:Count$YouDrewThisTurn/Twice -A:AB$ Token | Cost$ SubCounter<1/LOYALTY> | Planeswalker$ True | TokenAmount$ 1 | TokenScript$ shard | TokenOwner$ You | SpellDescription$ Create a Shard token. +A:AB$ Token | Cost$ SubCounter<1/LOYALTY> | Planeswalker$ True | TokenAmount$ 1 | TokenScript$ c_e_shard_draw | TokenOwner$ You | SpellDescription$ Create a Shard token. DeckHas:Ability$Token & Ability$Sacrifice Oracle:When Niko Aris enters the battlefield, create X Shard tokens. (They're enchantments with "{2}, Sacrifice this enchantment: Scry 1, then draw a card.")\n[+1]: Up to one target creature you control can't be blocked this turn. Whenever that creature deals damage this turn, return it to its owner's hand.\n[−1]: Niko Aris deals 2 damage to target tapped creature for each card you've drawn this turn.\n[−1]: Create a Shard token. diff --git a/forge-gui/res/cardsfolder/t/the_first_iroan_games.txt b/forge-gui/res/cardsfolder/t/the_first_iroan_games.txt index 8c96fa03d46..e4f62b94369 100755 --- a/forge-gui/res/cardsfolder/t/the_first_iroan_games.txt +++ b/forge-gui/res/cardsfolder/t/the_first_iroan_games.txt @@ -5,6 +5,6 @@ K:Saga:4:TrigToken,TrigPutCounter,TrigDraw,TrigGold SVar:TrigToken:DB$ Token | TokenAmount$ 1 | TokenScript$ w_1_1_human_soldier | TokenOwner$ You | LegacyImage$ w 1 1 human soldier thb | SpellDescription$ Create a 1/1 white Human Soldier token. SVar:TrigPutCounter:DB$ PutCounter | ValidTgts$ Creature.YouCtrl | TgtPrompt$ Select target creature you control | CounterType$ P1P1 | CounterNum$ 3 | SpellDescription$ Put three +1/+1 counters on target creature you control. SVar:TrigDraw:DB$ Draw | NumCards$ 2 | ConditionPresent$ Creature.YouCtrl+powerGE4 | SpellDescription$ If you control a creature with power 4 or greater, draw two cards. -SVar:TrigGold:DB$ Token | TokenAmount$ 1 | TokenScript$ gold | TokenOwner$ You | LegacyImage$ gold thb | SpellDescription$ Create a Gold token. +SVar:TrigGold:DB$ Token | TokenAmount$ 1 | TokenScript$ c_a_gold_draw | TokenOwner$ You | SpellDescription$ Create a Gold token. DeckHas:Ability$Counters & Ability$Token Oracle:(As this Saga enters and after your draw step, add a lore counter. Sacrifice after IV.)\nI — Create a 1/1 white Human Soldier creature token.\nII — Put three +1/+1 counters on target creature you control.\nIII — If you control a creature with power 4 or greater, draw two cards.\nIV — Create a Gold token. (It's an artifact with "Sacrifice this artifact: Add one mana of any color.") diff --git a/forge-gui/res/lists/TypeLists.txt b/forge-gui/res/lists/TypeLists.txt index a0003cb3d5d..d004efe5b35 100644 --- a/forge-gui/res/lists/TypeLists.txt +++ b/forge-gui/res/lists/TypeLists.txt @@ -300,6 +300,7 @@ Curse Rune Saga Shrine +Shard [ArtifactTypes] Blood Clue:Clues diff --git a/forge-gui/res/tokenscripts/b_0_0_phyrexian_germ.txt b/forge-gui/res/tokenscripts/b_0_0_phyrexian_germ.txt index 5258fdfc6cb..700f4fa02fb 100644 --- a/forge-gui/res/tokenscripts/b_0_0_phyrexian_germ.txt +++ b/forge-gui/res/tokenscripts/b_0_0_phyrexian_germ.txt @@ -1,4 +1,4 @@ -Name:Phyrexian Germ +Name:Phyrexian Germ Token ManaCost:no cost Types:Creature Phyrexian Germ Colors:black diff --git a/forge-gui/res/tokenscripts/b_0_0_zombie_army.txt b/forge-gui/res/tokenscripts/b_0_0_zombie_army.txt index fe38f336362..c696ec74ab8 100644 --- a/forge-gui/res/tokenscripts/b_0_0_zombie_army.txt +++ b/forge-gui/res/tokenscripts/b_0_0_zombie_army.txt @@ -1,4 +1,4 @@ -Name:Zombie Army +Name:Zombie Army Token ManaCost:no cost Types:Creature Zombie Army Colors:black diff --git a/forge-gui/res/tokenscripts/b_0_1_cleric.txt b/forge-gui/res/tokenscripts/b_0_1_cleric.txt index 21ebfb9f353..56efc9ba613 100644 --- a/forge-gui/res/tokenscripts/b_0_1_cleric.txt +++ b/forge-gui/res/tokenscripts/b_0_1_cleric.txt @@ -1,4 +1,4 @@ -Name:Cleric +Name:Cleric Token ManaCost:no cost Types:Creature Cleric Colors:black diff --git a/forge-gui/res/tokenscripts/b_0_1_insect.txt b/forge-gui/res/tokenscripts/b_0_1_insect.txt index dc49342985e..d8086570f2b 100644 --- a/forge-gui/res/tokenscripts/b_0_1_insect.txt +++ b/forge-gui/res/tokenscripts/b_0_1_insect.txt @@ -1,4 +1,4 @@ -Name:Insect +Name:Insect Token ManaCost:no cost Types:Creature Insect Colors:black diff --git a/forge-gui/res/tokenscripts/b_0_1_serf.txt b/forge-gui/res/tokenscripts/b_0_1_serf.txt index 3663dcadf94..686e0be74f3 100644 --- a/forge-gui/res/tokenscripts/b_0_1_serf.txt +++ b/forge-gui/res/tokenscripts/b_0_1_serf.txt @@ -1,4 +1,4 @@ -Name:Serf +Name:Serf Token ManaCost:no cost Types:Creature Serf Colors:black diff --git a/forge-gui/res/tokenscripts/b_0_1_thrull.txt b/forge-gui/res/tokenscripts/b_0_1_thrull.txt index 5bdcff6ebba..cdca2bfc70a 100644 --- a/forge-gui/res/tokenscripts/b_0_1_thrull.txt +++ b/forge-gui/res/tokenscripts/b_0_1_thrull.txt @@ -1,4 +1,4 @@ -Name:Thrull +Name:Thrull Token ManaCost:no cost Types:Creature Thrull Colors:black diff --git a/forge-gui/res/tokenscripts/b_1_1_assassin_deathtouch_haste.txt b/forge-gui/res/tokenscripts/b_1_1_assassin_deathtouch_haste.txt index 6ff5132d40e..bc703bd77fa 100644 --- a/forge-gui/res/tokenscripts/b_1_1_assassin_deathtouch_haste.txt +++ b/forge-gui/res/tokenscripts/b_1_1_assassin_deathtouch_haste.txt @@ -1,4 +1,4 @@ -Name:Assassin +Name:Assassin Token ManaCost:no cost Types:Creature Assassin Colors:black diff --git a/forge-gui/res/tokenscripts/b_1_1_assassin_deathtouch_pwdestroy.txt b/forge-gui/res/tokenscripts/b_1_1_assassin_deathtouch_pwdestroy.txt index b3dd51c3b70..df220c2a174 100644 --- a/forge-gui/res/tokenscripts/b_1_1_assassin_deathtouch_pwdestroy.txt +++ b/forge-gui/res/tokenscripts/b_1_1_assassin_deathtouch_pwdestroy.txt @@ -1,4 +1,4 @@ -Name:Assassin +Name:Assassin Token ManaCost:no cost Types:Creature Assassin Colors:black diff --git a/forge-gui/res/tokenscripts/b_1_1_assassin_lose_con.txt b/forge-gui/res/tokenscripts/b_1_1_assassin_lose_con.txt index e7029fa8664..33395dfca6f 100644 --- a/forge-gui/res/tokenscripts/b_1_1_assassin_lose_con.txt +++ b/forge-gui/res/tokenscripts/b_1_1_assassin_lose_con.txt @@ -1,4 +1,4 @@ -Name:Assassin +Name:Assassin Token ManaCost:no cost Types:Creature Assassin Colors:black diff --git a/forge-gui/res/tokenscripts/b_1_1_bat_flying.txt b/forge-gui/res/tokenscripts/b_1_1_bat_flying.txt index e65eb72e78a..8ce9c92fe5a 100644 --- a/forge-gui/res/tokenscripts/b_1_1_bat_flying.txt +++ b/forge-gui/res/tokenscripts/b_1_1_bat_flying.txt @@ -1,4 +1,4 @@ -Name:Bat +Name:Bat Token ManaCost:no cost Types:Creature Bat Colors:black diff --git a/forge-gui/res/tokenscripts/b_1_1_faerie_rogue_flying.txt b/forge-gui/res/tokenscripts/b_1_1_faerie_rogue_flying.txt index 9a5fc2101ea..12d7bc6db1d 100644 --- a/forge-gui/res/tokenscripts/b_1_1_faerie_rogue_flying.txt +++ b/forge-gui/res/tokenscripts/b_1_1_faerie_rogue_flying.txt @@ -1,4 +1,4 @@ -Name:Faerie Rogue +Name:Faerie Rogue Token ManaCost:no cost Types:Creature Faerie Rogue Colors:black diff --git a/forge-gui/res/tokenscripts/b_1_1_goblin_rogue.txt b/forge-gui/res/tokenscripts/b_1_1_goblin_rogue.txt index a1c4074e4aa..c719ba3c61b 100644 --- a/forge-gui/res/tokenscripts/b_1_1_goblin_rogue.txt +++ b/forge-gui/res/tokenscripts/b_1_1_goblin_rogue.txt @@ -1,4 +1,4 @@ -Name:Goblin Rogue +Name:Goblin Rogue Token ManaCost:no cost Types:Creature Goblin Rogue Colors:black diff --git a/forge-gui/res/tokenscripts/b_1_1_harpy_flying.txt b/forge-gui/res/tokenscripts/b_1_1_harpy_flying.txt index 9c9b8f24095..ed694bee8cc 100644 --- a/forge-gui/res/tokenscripts/b_1_1_harpy_flying.txt +++ b/forge-gui/res/tokenscripts/b_1_1_harpy_flying.txt @@ -1,4 +1,4 @@ -Name:Harpy +Name:Harpy Token ManaCost:no cost Types:Creature Harpy Colors:black diff --git a/forge-gui/res/tokenscripts/b_1_1_insect.txt b/forge-gui/res/tokenscripts/b_1_1_insect.txt index 0f0f1c67662..388da4b351b 100644 --- a/forge-gui/res/tokenscripts/b_1_1_insect.txt +++ b/forge-gui/res/tokenscripts/b_1_1_insect.txt @@ -1,4 +1,4 @@ -Name:Insect +Name:Insect Token ManaCost:no cost Types:Creature Insect Colors:black diff --git a/forge-gui/res/tokenscripts/b_1_1_minion.txt b/forge-gui/res/tokenscripts/b_1_1_minion.txt index 8d17b4e6b59..e99b9760217 100644 --- a/forge-gui/res/tokenscripts/b_1_1_minion.txt +++ b/forge-gui/res/tokenscripts/b_1_1_minion.txt @@ -1,4 +1,4 @@ -Name:Minion +Name:Minion Token ManaCost:no cost Types:Creature Minion Colors:black diff --git a/forge-gui/res/tokenscripts/b_1_1_rat.txt b/forge-gui/res/tokenscripts/b_1_1_rat.txt index 2d9cae4dcd2..387550ea478 100644 --- a/forge-gui/res/tokenscripts/b_1_1_rat.txt +++ b/forge-gui/res/tokenscripts/b_1_1_rat.txt @@ -1,4 +1,4 @@ -Name:Rat +Name:Rat Token ManaCost:no cost Types:Creature Rat Colors:black diff --git a/forge-gui/res/tokenscripts/b_1_1_rat_deathtouch.txt b/forge-gui/res/tokenscripts/b_1_1_rat_deathtouch.txt index 342577637a4..24257716343 100644 --- a/forge-gui/res/tokenscripts/b_1_1_rat_deathtouch.txt +++ b/forge-gui/res/tokenscripts/b_1_1_rat_deathtouch.txt @@ -1,4 +1,4 @@ -Name:Rat +Name:Rat Token ManaCost:no cost Types:Creature Rat Colors:black diff --git a/forge-gui/res/tokenscripts/b_1_1_skeleton.txt b/forge-gui/res/tokenscripts/b_1_1_skeleton.txt index fccdbf113f7..54d342633f9 100644 --- a/forge-gui/res/tokenscripts/b_1_1_skeleton.txt +++ b/forge-gui/res/tokenscripts/b_1_1_skeleton.txt @@ -1,4 +1,4 @@ -Name:Skeleton +Name:Skeleton Token ManaCost:no cost Types:Creature Skeleton Colors:black diff --git a/forge-gui/res/tokenscripts/b_1_1_skeleton_opp_life.txt b/forge-gui/res/tokenscripts/b_1_1_skeleton_opp_life.txt index a47e2ae0ce7..f667080d1ae 100644 --- a/forge-gui/res/tokenscripts/b_1_1_skeleton_opp_life.txt +++ b/forge-gui/res/tokenscripts/b_1_1_skeleton_opp_life.txt @@ -1,4 +1,4 @@ -Name:Skeleton +Name:Skeleton Token ManaCost:no cost Types:Creature Minion Colors:black diff --git a/forge-gui/res/tokenscripts/b_1_1_skeleton_regenerate.txt b/forge-gui/res/tokenscripts/b_1_1_skeleton_regenerate.txt index f09843c07a8..8eeaafda389 100644 --- a/forge-gui/res/tokenscripts/b_1_1_skeleton_regenerate.txt +++ b/forge-gui/res/tokenscripts/b_1_1_skeleton_regenerate.txt @@ -1,4 +1,4 @@ -Name:Skeleton +Name:Skeleton Token ManaCost:no cost Colors:black Types:Creature Skeleton diff --git a/forge-gui/res/tokenscripts/b_1_1_slug.txt b/forge-gui/res/tokenscripts/b_1_1_slug.txt index 151da6be975..dbf6b0705f5 100644 --- a/forge-gui/res/tokenscripts/b_1_1_slug.txt +++ b/forge-gui/res/tokenscripts/b_1_1_slug.txt @@ -1,4 +1,4 @@ -Name:Slug +Name:Slug Token ManaCost:no cost Types:Creature Slug Colors:black diff --git a/forge-gui/res/tokenscripts/b_1_1_snake_deathtouch.txt b/forge-gui/res/tokenscripts/b_1_1_snake_deathtouch.txt index 47211c756f1..9c886a66816 100644 --- a/forge-gui/res/tokenscripts/b_1_1_snake_deathtouch.txt +++ b/forge-gui/res/tokenscripts/b_1_1_snake_deathtouch.txt @@ -1,4 +1,4 @@ -Name:Snake +Name:Snake Token ManaCost:no cost Types:Creature Snake Colors:black diff --git a/forge-gui/res/tokenscripts/b_1_1_thrull.txt b/forge-gui/res/tokenscripts/b_1_1_thrull.txt index d6e7c762a64..2c9bdf610d1 100644 --- a/forge-gui/res/tokenscripts/b_1_1_thrull.txt +++ b/forge-gui/res/tokenscripts/b_1_1_thrull.txt @@ -1,4 +1,4 @@ -Name:Thrull +Name:Thrull Token ManaCost:no cost Types:Creature Thrull Colors:black diff --git a/forge-gui/res/tokenscripts/b_1_1_vampire.txt b/forge-gui/res/tokenscripts/b_1_1_vampire.txt index fd3457204aa..f5ef95a26c1 100644 --- a/forge-gui/res/tokenscripts/b_1_1_vampire.txt +++ b/forge-gui/res/tokenscripts/b_1_1_vampire.txt @@ -1,4 +1,4 @@ -Name:Vampire +Name:Vampire Token ManaCost:no cost Types:Creature Vampire Colors:black diff --git a/forge-gui/res/tokenscripts/b_1_1_vampire_knight_lifelink.txt b/forge-gui/res/tokenscripts/b_1_1_vampire_knight_lifelink.txt index b86858c2dd7..4da021eeffb 100644 --- a/forge-gui/res/tokenscripts/b_1_1_vampire_knight_lifelink.txt +++ b/forge-gui/res/tokenscripts/b_1_1_vampire_knight_lifelink.txt @@ -1,4 +1,4 @@ -Name:Vampire Knight +Name:Vampire Knight Token ManaCost:no cost Types:Creature Vampire Knight Colors:black diff --git a/forge-gui/res/tokenscripts/b_1_1_vampire_lifelink.txt b/forge-gui/res/tokenscripts/b_1_1_vampire_lifelink.txt index 5f327a7ef68..5ea01970e47 100644 --- a/forge-gui/res/tokenscripts/b_1_1_vampire_lifelink.txt +++ b/forge-gui/res/tokenscripts/b_1_1_vampire_lifelink.txt @@ -1,4 +1,4 @@ -Name:Vampire +Name:Vampire Token ManaCost:no cost Types:Creature Vampire Colors:black diff --git a/forge-gui/res/tokenscripts/b_1_1_wolf_deathtouch.txt b/forge-gui/res/tokenscripts/b_1_1_wolf_deathtouch.txt index 662f87aee5c..c9b44a7fc5b 100644 --- a/forge-gui/res/tokenscripts/b_1_1_wolf_deathtouch.txt +++ b/forge-gui/res/tokenscripts/b_1_1_wolf_deathtouch.txt @@ -1,4 +1,4 @@ -Name:Wolf +Name:Wolf Token ManaCost:no cost Types:Creature Wolf Colors:black diff --git a/forge-gui/res/tokenscripts/b_1_2_bat_flying_nosferatu.txt b/forge-gui/res/tokenscripts/b_1_2_bat_flying_nosferatu.txt index 3aa7782d2dc..eef38983faf 100644 --- a/forge-gui/res/tokenscripts/b_1_2_bat_flying_nosferatu.txt +++ b/forge-gui/res/tokenscripts/b_1_2_bat_flying_nosferatu.txt @@ -1,4 +1,4 @@ -Name:Bat +Name:Bat Token ManaCost:no cost Types:Creature Bat Colors:black diff --git a/forge-gui/res/tokenscripts/b_2_1_cat.txt b/forge-gui/res/tokenscripts/b_2_1_cat.txt index bda7aed31b3..2a1672e3c0c 100644 --- a/forge-gui/res/tokenscripts/b_2_1_cat.txt +++ b/forge-gui/res/tokenscripts/b_2_1_cat.txt @@ -1,4 +1,4 @@ -Name:Cat +Name:Cat Token ManaCost:no cost Types:Creature Cat Colors:black diff --git a/forge-gui/res/tokenscripts/b_2_1_spider_menace_reach.txt b/forge-gui/res/tokenscripts/b_2_1_spider_menace_reach.txt index 7566abf8dc2..58ee9448c6b 100644 --- a/forge-gui/res/tokenscripts/b_2_1_spider_menace_reach.txt +++ b/forge-gui/res/tokenscripts/b_2_1_spider_menace_reach.txt @@ -1,4 +1,4 @@ -Name:Spider +Name:Spider Token ManaCost:no cost Types:Creature Spider Colors:black diff --git a/forge-gui/res/tokenscripts/b_2_1_warrior.txt b/forge-gui/res/tokenscripts/b_2_1_warrior.txt index 3e197e56f26..d3080fd6bea 100644 --- a/forge-gui/res/tokenscripts/b_2_1_warrior.txt +++ b/forge-gui/res/tokenscripts/b_2_1_warrior.txt @@ -1,4 +1,4 @@ -Name:Warrior +Name:Warrior Token ManaCost:no cost Types:Creature Warrior Colors:black diff --git a/forge-gui/res/tokenscripts/b_2_2_e_zombie.txt b/forge-gui/res/tokenscripts/b_2_2_e_zombie.txt index 44a36afa109..34ed124c315 100644 --- a/forge-gui/res/tokenscripts/b_2_2_e_zombie.txt +++ b/forge-gui/res/tokenscripts/b_2_2_e_zombie.txt @@ -1,4 +1,4 @@ -Name:Zombie +Name:Zombie Token ManaCost:no cost Types:Enchantment Creature Zombie Colors:black diff --git a/forge-gui/res/tokenscripts/b_2_2_knight_flanking_pro_white_haste.txt b/forge-gui/res/tokenscripts/b_2_2_knight_flanking_pro_white_haste.txt index 14e11cae9df..da2080a8906 100644 --- a/forge-gui/res/tokenscripts/b_2_2_knight_flanking_pro_white_haste.txt +++ b/forge-gui/res/tokenscripts/b_2_2_knight_flanking_pro_white_haste.txt @@ -1,4 +1,4 @@ -Name:Knight +Name:Knight Token ManaCost:no cost Types:Creature Knight Colors:black diff --git a/forge-gui/res/tokenscripts/b_2_2_phyrexian_zombie.txt b/forge-gui/res/tokenscripts/b_2_2_phyrexian_zombie.txt index 1e370961316..d2027b8c11e 100644 --- a/forge-gui/res/tokenscripts/b_2_2_phyrexian_zombie.txt +++ b/forge-gui/res/tokenscripts/b_2_2_phyrexian_zombie.txt @@ -1,4 +1,4 @@ -Name:Phyrexian Zombie +Name:Phyrexian Zombie Token ManaCost:no cost Types:Creature Phyrexian Zombie Colors:black diff --git a/forge-gui/res/tokenscripts/b_2_2_pirate_menace.txt b/forge-gui/res/tokenscripts/b_2_2_pirate_menace.txt index 144272a2442..05a63ece5a5 100644 --- a/forge-gui/res/tokenscripts/b_2_2_pirate_menace.txt +++ b/forge-gui/res/tokenscripts/b_2_2_pirate_menace.txt @@ -1,4 +1,4 @@ -Name:Pirate +Name:Pirate Token ManaCost:no cost Types:Creature Pirate Colors:black diff --git a/forge-gui/res/tokenscripts/b_2_2_rogue_hexproof.txt b/forge-gui/res/tokenscripts/b_2_2_rogue_hexproof.txt index f955c8ab238..132ba0a0e8b 100644 --- a/forge-gui/res/tokenscripts/b_2_2_rogue_hexproof.txt +++ b/forge-gui/res/tokenscripts/b_2_2_rogue_hexproof.txt @@ -1,4 +1,4 @@ -Name:Rogue +Name:Rogue Token ManaCost:no cost Types:Creature Rogue Colors:black diff --git a/forge-gui/res/tokenscripts/b_2_2_rogue_menace.txt b/forge-gui/res/tokenscripts/b_2_2_rogue_menace.txt index f0203ee990b..6492fd8a214 100644 --- a/forge-gui/res/tokenscripts/b_2_2_rogue_menace.txt +++ b/forge-gui/res/tokenscripts/b_2_2_rogue_menace.txt @@ -1,4 +1,4 @@ -Name:Rogue +Name:Rogue Token ManaCost:no cost Types:Creature Rogue Colors:black diff --git a/forge-gui/res/tokenscripts/b_2_2_vampire_flying.txt b/forge-gui/res/tokenscripts/b_2_2_vampire_flying.txt index 6a6063b72ec..5fe2b07f3c5 100644 --- a/forge-gui/res/tokenscripts/b_2_2_vampire_flying.txt +++ b/forge-gui/res/tokenscripts/b_2_2_vampire_flying.txt @@ -1,4 +1,4 @@ -Name:Vampire +Name:Vampire Token ManaCost:no cost Types:Creature Vampire Colors:black diff --git a/forge-gui/res/tokenscripts/b_2_2_zombie.txt b/forge-gui/res/tokenscripts/b_2_2_zombie.txt index dc060486fbe..0437d753a82 100644 --- a/forge-gui/res/tokenscripts/b_2_2_zombie.txt +++ b/forge-gui/res/tokenscripts/b_2_2_zombie.txt @@ -1,4 +1,4 @@ -Name:Zombie +Name:Zombie Token ManaCost:no cost Types:Creature Zombie Colors:black diff --git a/forge-gui/res/tokenscripts/b_2_2_zombie_berserker.txt b/forge-gui/res/tokenscripts/b_2_2_zombie_berserker.txt index feefcaf2501..02b90bce740 100644 --- a/forge-gui/res/tokenscripts/b_2_2_zombie_berserker.txt +++ b/forge-gui/res/tokenscripts/b_2_2_zombie_berserker.txt @@ -1,4 +1,4 @@ -Name:Zombie Berserker +Name:Zombie Berserker Token ManaCost:no cost Types:Creature Zombie Berserker Colors:black diff --git a/forge-gui/res/tokenscripts/b_2_2_zombie_decayed.txt b/forge-gui/res/tokenscripts/b_2_2_zombie_decayed.txt index 095b3b04cf1..33a1b7e03e6 100644 --- a/forge-gui/res/tokenscripts/b_2_2_zombie_decayed.txt +++ b/forge-gui/res/tokenscripts/b_2_2_zombie_decayed.txt @@ -1,4 +1,4 @@ -Name:Zombie +Name:Zombie Token ManaCost:no cost Types:Creature Zombie Colors:black diff --git a/forge-gui/res/tokenscripts/b_2_2_zombie_designated.txt b/forge-gui/res/tokenscripts/b_2_2_zombie_designated.txt index 38cf52ad958..0d2be86d6b4 100644 --- a/forge-gui/res/tokenscripts/b_2_2_zombie_designated.txt +++ b/forge-gui/res/tokenscripts/b_2_2_zombie_designated.txt @@ -1,4 +1,4 @@ -Name:Zombie +Name:Zombie Token ManaCost:no cost Types:Creature Zombie Colors:black diff --git a/forge-gui/res/tokenscripts/b_2_2_zombie_knight_menace.txt b/forge-gui/res/tokenscripts/b_2_2_zombie_knight_menace.txt index f234aa306f8..fcbd7a0b844 100644 --- a/forge-gui/res/tokenscripts/b_2_2_zombie_knight_menace.txt +++ b/forge-gui/res/tokenscripts/b_2_2_zombie_knight_menace.txt @@ -1,4 +1,4 @@ -Name:Zombie Knight +Name:Zombie Knight Token ManaCost:no cost Types:Creature Zombie Knight Colors:black diff --git a/forge-gui/res/tokenscripts/b_2_3_vampire_flying_lifelink.txt b/forge-gui/res/tokenscripts/b_2_3_vampire_flying_lifelink.txt index 87ec10ae959..cc9f5915c42 100644 --- a/forge-gui/res/tokenscripts/b_2_3_vampire_flying_lifelink.txt +++ b/forge-gui/res/tokenscripts/b_2_3_vampire_flying_lifelink.txt @@ -1,4 +1,4 @@ -Name:Vampire +Name:Vampire Token ManaCost:no cost Types:Creature Vampire Colors:black diff --git a/forge-gui/res/tokenscripts/b_2_4_spider_reach.txt b/forge-gui/res/tokenscripts/b_2_4_spider_reach.txt index 16f506e7ed9..95958401cfe 100644 --- a/forge-gui/res/tokenscripts/b_2_4_spider_reach.txt +++ b/forge-gui/res/tokenscripts/b_2_4_spider_reach.txt @@ -1,4 +1,4 @@ -Name:Spider +Name:Spider Token ManaCost:no cost Types:Creature Spider Colors:black diff --git a/forge-gui/res/tokenscripts/b_3_3_angel_flying.txt b/forge-gui/res/tokenscripts/b_3_3_angel_flying.txt index 7a85f159e5a..90ee2ff1f38 100644 --- a/forge-gui/res/tokenscripts/b_3_3_angel_flying.txt +++ b/forge-gui/res/tokenscripts/b_3_3_angel_flying.txt @@ -1,4 +1,4 @@ -Name:Angel +Name:Angel Token ManaCost:no cost Types:Creature Angel Colors:black diff --git a/forge-gui/res/tokenscripts/b_3_3_beast_deathtouch.txt b/forge-gui/res/tokenscripts/b_3_3_beast_deathtouch.txt index 58e3d012ec9..1ca12c0f5b1 100644 --- a/forge-gui/res/tokenscripts/b_3_3_beast_deathtouch.txt +++ b/forge-gui/res/tokenscripts/b_3_3_beast_deathtouch.txt @@ -1,4 +1,4 @@ -Name:Beast +Name:Beast Token ManaCost:no cost Types:Creature Beast Colors:black diff --git a/forge-gui/res/tokenscripts/b_3_3_horror.txt b/forge-gui/res/tokenscripts/b_3_3_horror.txt index cd152ec7d8a..6c00b1315c5 100644 --- a/forge-gui/res/tokenscripts/b_3_3_horror.txt +++ b/forge-gui/res/tokenscripts/b_3_3_horror.txt @@ -1,4 +1,4 @@ -Name:Horror +Name:Horror Token ManaCost:no cost Types:Creature Horror Colors:black diff --git a/forge-gui/res/tokenscripts/b_3_3_horror_designated.txt b/forge-gui/res/tokenscripts/b_3_3_horror_designated.txt index 75a3338092e..b1e991d227d 100644 --- a/forge-gui/res/tokenscripts/b_3_3_horror_designated.txt +++ b/forge-gui/res/tokenscripts/b_3_3_horror_designated.txt @@ -1,4 +1,4 @@ -Name:Horror +Name:Horror Token ManaCost:no cost Types:Creature Horror Colors:black diff --git a/forge-gui/res/tokenscripts/b_3_3_kavu.txt b/forge-gui/res/tokenscripts/b_3_3_kavu.txt index f5de68d353f..f0638ab5d22 100644 --- a/forge-gui/res/tokenscripts/b_3_3_kavu.txt +++ b/forge-gui/res/tokenscripts/b_3_3_kavu.txt @@ -1,4 +1,4 @@ -Name:Kavu +Name:Kavu Token ManaCost:no cost Types:Creature Kavu Colors:black diff --git a/forge-gui/res/tokenscripts/b_4_4_horror.txt b/forge-gui/res/tokenscripts/b_4_4_horror.txt index d97ada87439..e44c8a44cc9 100644 --- a/forge-gui/res/tokenscripts/b_4_4_horror.txt +++ b/forge-gui/res/tokenscripts/b_4_4_horror.txt @@ -1,4 +1,4 @@ -Name:Horror +Name:Horror Token ManaCost:no cost Types:Creature Horror Colors:black diff --git a/forge-gui/res/tokenscripts/b_4_4_zombie_warrior_vigilance.txt b/forge-gui/res/tokenscripts/b_4_4_zombie_warrior_vigilance.txt index 781a366b2f3..8e04af9871e 100644 --- a/forge-gui/res/tokenscripts/b_4_4_zombie_warrior_vigilance.txt +++ b/forge-gui/res/tokenscripts/b_4_4_zombie_warrior_vigilance.txt @@ -1,4 +1,4 @@ -Name:Zombie Warrior +Name:Zombie Warrior Token ManaCost:no cost Types:Creature Zombie Warrior Colors:black diff --git a/forge-gui/res/tokenscripts/b_5_5_demon_flying.txt b/forge-gui/res/tokenscripts/b_5_5_demon_flying.txt index 043f8af2003..68f6fa690a6 100644 --- a/forge-gui/res/tokenscripts/b_5_5_demon_flying.txt +++ b/forge-gui/res/tokenscripts/b_5_5_demon_flying.txt @@ -1,4 +1,4 @@ -Name:Demon +Name:Demon Token ManaCost:no cost Types:Creature Demon Colors:black diff --git a/forge-gui/res/tokenscripts/b_5_5_zombie_giant.txt b/forge-gui/res/tokenscripts/b_5_5_zombie_giant.txt index e63ce5f05e8..ca86e66e86b 100644 --- a/forge-gui/res/tokenscripts/b_5_5_zombie_giant.txt +++ b/forge-gui/res/tokenscripts/b_5_5_zombie_giant.txt @@ -1,4 +1,4 @@ -Name:Zombie Giant +Name:Zombie Giant Token ManaCost:no cost Types:Creature Zombie Giant Colors:black diff --git a/forge-gui/res/tokenscripts/b_6_6_demon_flying_trample_aristocrat.txt b/forge-gui/res/tokenscripts/b_6_6_demon_flying_trample_aristocrat.txt index c1f90ace98c..627d0801b55 100644 --- a/forge-gui/res/tokenscripts/b_6_6_demon_flying_trample_aristocrat.txt +++ b/forge-gui/res/tokenscripts/b_6_6_demon_flying_trample_aristocrat.txt @@ -1,4 +1,4 @@ -Name:Demon +Name:Demon Token ManaCost:no cost Types:Creature Demon Colors:black diff --git a/forge-gui/res/tokenscripts/b_6_6_wurm_trample.txt b/forge-gui/res/tokenscripts/b_6_6_wurm_trample.txt index 9c26bc34b4c..8a57f4479df 100644 --- a/forge-gui/res/tokenscripts/b_6_6_wurm_trample.txt +++ b/forge-gui/res/tokenscripts/b_6_6_wurm_trample.txt @@ -1,4 +1,4 @@ -Name:Wurm +Name:Wurm Token ManaCost:no cost Types:Creature Wurm Colors:black diff --git a/forge-gui/res/tokenscripts/b_aura_curse_life.txt b/forge-gui/res/tokenscripts/b_aura_curse_life.txt index 625ad6ba862..1d344901e67 100644 --- a/forge-gui/res/tokenscripts/b_aura_curse_life.txt +++ b/forge-gui/res/tokenscripts/b_aura_curse_life.txt @@ -1,4 +1,4 @@ -Name:Aura Curse +Name:Aura Curse Token ManaCost:no cost Types:Enchantment Aura Curse Colors:black diff --git a/forge-gui/res/tokenscripts/b_x_x_demon_flying.txt b/forge-gui/res/tokenscripts/b_x_x_demon_flying.txt index 84cafe5aeb1..849edf7b3d9 100644 --- a/forge-gui/res/tokenscripts/b_x_x_demon_flying.txt +++ b/forge-gui/res/tokenscripts/b_x_x_demon_flying.txt @@ -1,4 +1,4 @@ -Name:Demon +Name:Demon Token ManaCost:no cost Colors:black Types:Creature Demon diff --git a/forge-gui/res/tokenscripts/b_x_x_horror.txt b/forge-gui/res/tokenscripts/b_x_x_horror.txt index 15ca8576237..e94ec5f6656 100644 --- a/forge-gui/res/tokenscripts/b_x_x_horror.txt +++ b/forge-gui/res/tokenscripts/b_x_x_horror.txt @@ -1,4 +1,4 @@ -Name:Horror +Name:Horror Token ManaCost:no cost Colors:black Types:Creature Horror diff --git a/forge-gui/res/tokenscripts/b_x_x_nightmare_horror.txt b/forge-gui/res/tokenscripts/b_x_x_nightmare_horror.txt index ed285ddcf61..a37f5d06905 100644 --- a/forge-gui/res/tokenscripts/b_x_x_nightmare_horror.txt +++ b/forge-gui/res/tokenscripts/b_x_x_nightmare_horror.txt @@ -1,4 +1,4 @@ -Name:Nightmare Horror +Name:Nightmare Horror Token ManaCost:no cost Colors:black Types:Creature Nightmare Horror diff --git a/forge-gui/res/tokenscripts/b_x_x_phyrexian_minion.txt b/forge-gui/res/tokenscripts/b_x_x_phyrexian_minion.txt index a3586a686d8..ac0b3850960 100644 --- a/forge-gui/res/tokenscripts/b_x_x_phyrexian_minion.txt +++ b/forge-gui/res/tokenscripts/b_x_x_phyrexian_minion.txt @@ -1,4 +1,4 @@ -Name:Phyrexian Minion +Name:Phyrexian Minion Token ManaCost:no cost Types:Creature Phyrexian Minion PT:*/* diff --git a/forge-gui/res/tokenscripts/b_x_x_spirit.txt b/forge-gui/res/tokenscripts/b_x_x_spirit.txt index 9caae9a22b6..1db6e9dc9c8 100644 --- a/forge-gui/res/tokenscripts/b_x_x_spirit.txt +++ b/forge-gui/res/tokenscripts/b_x_x_spirit.txt @@ -1,4 +1,4 @@ -Name:Spirit +Name:Spirit Token ManaCost:no cost Colors:black Types:Creature Spirit diff --git a/forge-gui/res/tokenscripts/b_x_x_vampire.txt b/forge-gui/res/tokenscripts/b_x_x_vampire.txt index 80bc25b2bf0..425094f4393 100644 --- a/forge-gui/res/tokenscripts/b_x_x_vampire.txt +++ b/forge-gui/res/tokenscripts/b_x_x_vampire.txt @@ -1,4 +1,4 @@ -Name:Vampire +Name:Vampire Token ManaCost:no cost Colors:black Types:Creature Vampire diff --git a/forge-gui/res/tokenscripts/b_x_x_zombie.txt b/forge-gui/res/tokenscripts/b_x_x_zombie.txt index 0446ebb2a3d..8daee75f419 100644 --- a/forge-gui/res/tokenscripts/b_x_x_zombie.txt +++ b/forge-gui/res/tokenscripts/b_x_x_zombie.txt @@ -1,4 +1,4 @@ -Name:Zombie +Name:Zombie Token ManaCost:no cost Colors:black Types:Creature Zombie diff --git a/forge-gui/res/tokenscripts/b_x_x_zombie_horror.txt b/forge-gui/res/tokenscripts/b_x_x_zombie_horror.txt index fbd2f188b2e..1a1c8c35ddb 100644 --- a/forge-gui/res/tokenscripts/b_x_x_zombie_horror.txt +++ b/forge-gui/res/tokenscripts/b_x_x_zombie_horror.txt @@ -1,4 +1,4 @@ -Name:Zombie Horror +Name:Zombie Horror Token ManaCost:no cost Colors:black Types:Creature Zombie Horror diff --git a/forge-gui/res/tokenscripts/bg_1_1_e_snake_deathtouch.txt b/forge-gui/res/tokenscripts/bg_1_1_e_snake_deathtouch.txt index 966d195a4cb..1a0e49e2295 100644 --- a/forge-gui/res/tokenscripts/bg_1_1_e_snake_deathtouch.txt +++ b/forge-gui/res/tokenscripts/bg_1_1_e_snake_deathtouch.txt @@ -1,4 +1,4 @@ -Name:Snake +Name:Snake Token ManaCost:no cost Types:Enchantment Creature Snake Colors:black,green diff --git a/forge-gui/res/tokenscripts/bg_1_1_insect.txt b/forge-gui/res/tokenscripts/bg_1_1_insect.txt index 844c2077172..7a340dfa07d 100644 --- a/forge-gui/res/tokenscripts/bg_1_1_insect.txt +++ b/forge-gui/res/tokenscripts/bg_1_1_insect.txt @@ -1,4 +1,4 @@ -Name:Insect +Name:Insect Token ManaCost:no cost Types:Creature Insect Colors:black,green diff --git a/forge-gui/res/tokenscripts/bg_1_1_pest_lifegain.txt b/forge-gui/res/tokenscripts/bg_1_1_pest_lifegain.txt index 82373d0c0e2..a0d7d5323b7 100644 --- a/forge-gui/res/tokenscripts/bg_1_1_pest_lifegain.txt +++ b/forge-gui/res/tokenscripts/bg_1_1_pest_lifegain.txt @@ -1,4 +1,4 @@ -Name:Pest +Name:Pest Token ManaCost:no cost Types:Creature Pest Colors:black,green diff --git a/forge-gui/res/tokenscripts/bg_1_1_worm.txt b/forge-gui/res/tokenscripts/bg_1_1_worm.txt index cbab3b74363..8cb707b5ba2 100644 --- a/forge-gui/res/tokenscripts/bg_1_1_worm.txt +++ b/forge-gui/res/tokenscripts/bg_1_1_worm.txt @@ -1,4 +1,4 @@ -Name:Worm +Name:Worm Token ManaCost:no cost Types:Creature Worm Colors:black,green diff --git a/forge-gui/res/tokenscripts/bg_2_2_wolf_garruk.txt b/forge-gui/res/tokenscripts/bg_2_2_wolf_garruk.txt index 6f5aeeb6a74..4a1d19407b7 100644 --- a/forge-gui/res/tokenscripts/bg_2_2_wolf_garruk.txt +++ b/forge-gui/res/tokenscripts/bg_2_2_wolf_garruk.txt @@ -1,4 +1,4 @@ -Name:Wolf +Name:Wolf Token ManaCost:no cost Types:Creature Wolf Colors:black,green diff --git a/forge-gui/res/tokenscripts/bg_x_x_hydra.txt b/forge-gui/res/tokenscripts/bg_x_x_hydra.txt index 512f9b800ea..be0b476ba65 100644 --- a/forge-gui/res/tokenscripts/bg_x_x_hydra.txt +++ b/forge-gui/res/tokenscripts/bg_x_x_hydra.txt @@ -1,4 +1,4 @@ -Name:Hydra +Name:Hydra Token ManaCost:no cost Colors:black,green Types:Creature Hydra diff --git a/forge-gui/res/tokenscripts/bg_x_x_spirit_warrior.txt b/forge-gui/res/tokenscripts/bg_x_x_spirit_warrior.txt index 3fb466b1cbd..470978cc033 100644 --- a/forge-gui/res/tokenscripts/bg_x_x_spirit_warrior.txt +++ b/forge-gui/res/tokenscripts/bg_x_x_spirit_warrior.txt @@ -1,4 +1,4 @@ -Name:Spirit Warrior +Name:Spirit Warrior Token ManaCost:no cost Colors:black,green Types:Creature Spirit Warrior diff --git a/forge-gui/res/tokenscripts/br_3_1_graveborn_haste.txt b/forge-gui/res/tokenscripts/br_3_1_graveborn_haste.txt index 769e87b3f36..b1bc87bf230 100644 --- a/forge-gui/res/tokenscripts/br_3_1_graveborn_haste.txt +++ b/forge-gui/res/tokenscripts/br_3_1_graveborn_haste.txt @@ -1,4 +1,4 @@ -Name:Graveborn +Name:Graveborn Token ManaCost:no cost Types:Creature Graveborn Colors:black,red diff --git a/forge-gui/res/tokenscripts/br_3_1_vampire_trample_lifelink_haste.txt b/forge-gui/res/tokenscripts/br_3_1_vampire_trample_lifelink_haste.txt index 77aa5f360b7..c4902ff1295 100644 --- a/forge-gui/res/tokenscripts/br_3_1_vampire_trample_lifelink_haste.txt +++ b/forge-gui/res/tokenscripts/br_3_1_vampire_trample_lifelink_haste.txt @@ -1,4 +1,4 @@ -Name:Vampire +Name:Vampire Token ManaCost:no cost Types:Creature Vampire Colors:black,red diff --git a/forge-gui/res/tokenscripts/br_3_6_avatar_haste_bolt.txt b/forge-gui/res/tokenscripts/br_3_6_avatar_haste_bolt.txt index d5f60104cda..8205004f8bd 100644 --- a/forge-gui/res/tokenscripts/br_3_6_avatar_haste_bolt.txt +++ b/forge-gui/res/tokenscripts/br_3_6_avatar_haste_bolt.txt @@ -1,4 +1,4 @@ -Name:Avatar +Name:Avatar Token ManaCost:no cost Types:Creature Avatar Colors:black,red diff --git a/forge-gui/res/tokenscripts/br_5_5_elemental.txt b/forge-gui/res/tokenscripts/br_5_5_elemental.txt index 88d58b6b33e..bd7217429dc 100644 --- a/forge-gui/res/tokenscripts/br_5_5_elemental.txt +++ b/forge-gui/res/tokenscripts/br_5_5_elemental.txt @@ -1,4 +1,4 @@ -Name:Elemental +Name:Elemental Token ManaCost:no cost Types:Creature Elemental Colors:black,red diff --git a/forge-gui/res/tokenscripts/brg_3_3_cat_dragon_flying.txt b/forge-gui/res/tokenscripts/brg_3_3_cat_dragon_flying.txt index 32223317439..c8d9f81aca0 100644 --- a/forge-gui/res/tokenscripts/brg_3_3_cat_dragon_flying.txt +++ b/forge-gui/res/tokenscripts/brg_3_3_cat_dragon_flying.txt @@ -1,4 +1,4 @@ -Name:Cat Dragon +Name:Cat Dragon Token ManaCost:no cost Types:Creature Cat Dragon Colors:black,red,green diff --git a/forge-gui/res/tokenscripts/c_0_0_a_construct_total_artifacts.txt b/forge-gui/res/tokenscripts/c_0_0_a_construct_total_artifacts.txt index d1d23030889..ba7959637e5 100644 --- a/forge-gui/res/tokenscripts/c_0_0_a_construct_total_artifacts.txt +++ b/forge-gui/res/tokenscripts/c_0_0_a_construct_total_artifacts.txt @@ -1,4 +1,4 @@ -Name:Construct +Name:Construct Token ManaCost:no cost PT:0/0 Types:Artifact Creature Construct diff --git a/forge-gui/res/tokenscripts/c_0_1_a_egg.txt b/forge-gui/res/tokenscripts/c_0_1_a_egg.txt index 1517d04841b..f30b59fe618 100644 --- a/forge-gui/res/tokenscripts/c_0_1_a_egg.txt +++ b/forge-gui/res/tokenscripts/c_0_1_a_egg.txt @@ -1,4 +1,4 @@ -Name:Egg +Name:Egg Token ManaCost:no cost PT:0/1 Types:Artifact Creature Egg diff --git a/forge-gui/res/tokenscripts/c_0_1_a_goblin_construct_noblock_ping.txt b/forge-gui/res/tokenscripts/c_0_1_a_goblin_construct_noblock_ping.txt index 1e3ad1c6644..3d4bc3e2515 100644 --- a/forge-gui/res/tokenscripts/c_0_1_a_goblin_construct_noblock_ping.txt +++ b/forge-gui/res/tokenscripts/c_0_1_a_goblin_construct_noblock_ping.txt @@ -1,4 +1,4 @@ -Name:Goblin Construct +Name:Goblin Construct Token ManaCost:no cost PT:0/1 Types:Artifact Creature Goblin Construct diff --git a/forge-gui/res/tokenscripts/c_0_1_a_pest.txt b/forge-gui/res/tokenscripts/c_0_1_a_pest.txt index fbbad391b77..9625eef8b10 100644 --- a/forge-gui/res/tokenscripts/c_0_1_a_pest.txt +++ b/forge-gui/res/tokenscripts/c_0_1_a_pest.txt @@ -1,4 +1,4 @@ -Name:Pest +Name:Pest Token ManaCost:no cost PT:0/1 Types:Artifact Creature Pest diff --git a/forge-gui/res/tokenscripts/c_0_1_a_prism.txt b/forge-gui/res/tokenscripts/c_0_1_a_prism.txt index 9fe74dc50cb..801d28d4478 100644 --- a/forge-gui/res/tokenscripts/c_0_1_a_prism.txt +++ b/forge-gui/res/tokenscripts/c_0_1_a_prism.txt @@ -1,4 +1,4 @@ -Name:Prism +Name:Prism Token ManaCost:no cost PT:0/1 Types:Artifact Creature Prism diff --git a/forge-gui/res/tokenscripts/c_0_1_eldrazi_spawn_sac.txt b/forge-gui/res/tokenscripts/c_0_1_eldrazi_spawn_sac.txt index cb9faa44644..4bfa09426c4 100644 --- a/forge-gui/res/tokenscripts/c_0_1_eldrazi_spawn_sac.txt +++ b/forge-gui/res/tokenscripts/c_0_1_eldrazi_spawn_sac.txt @@ -1,4 +1,4 @@ -Name:Eldrazi Spawn +Name:Eldrazi Spawn Token ManaCost:no cost PT:0/1 Types:Creature Eldrazi Spawn diff --git a/forge-gui/res/tokenscripts/c_0_2_a_wall_defender.txt b/forge-gui/res/tokenscripts/c_0_2_a_wall_defender.txt index e2025941895..161da7acf8e 100644 --- a/forge-gui/res/tokenscripts/c_0_2_a_wall_defender.txt +++ b/forge-gui/res/tokenscripts/c_0_2_a_wall_defender.txt @@ -1,4 +1,4 @@ -Name:Wall +Name:Wall Token ManaCost:no cost PT:0/2 Types:Artifact Creature Wall diff --git a/forge-gui/res/tokenscripts/c_0_4_a_wall_defender.txt b/forge-gui/res/tokenscripts/c_0_4_a_wall_defender.txt index 2b5be99e3e2..f7714993830 100644 --- a/forge-gui/res/tokenscripts/c_0_4_a_wall_defender.txt +++ b/forge-gui/res/tokenscripts/c_0_4_a_wall_defender.txt @@ -1,4 +1,4 @@ -Name:Wall +Name:Wall Token ManaCost:no cost Types:Artifact Creature Wall PT:0/4 diff --git a/forge-gui/res/tokenscripts/c_10_10_eldrazi.txt b/forge-gui/res/tokenscripts/c_10_10_eldrazi.txt index b828119a422..72c7cffe385 100644 --- a/forge-gui/res/tokenscripts/c_10_10_eldrazi.txt +++ b/forge-gui/res/tokenscripts/c_10_10_eldrazi.txt @@ -1,4 +1,4 @@ -Name:Eldrazi +Name:Eldrazi Token ManaCost:no cost PT:10/10 Types:Creature Eldrazi diff --git a/forge-gui/res/tokenscripts/c_1_1_a_construct.txt b/forge-gui/res/tokenscripts/c_1_1_a_construct.txt index eeea124b2e0..ac9c60040bb 100644 --- a/forge-gui/res/tokenscripts/c_1_1_a_construct.txt +++ b/forge-gui/res/tokenscripts/c_1_1_a_construct.txt @@ -1,4 +1,4 @@ -Name:Construct +Name:Construct Token ManaCost:no cost PT:1/1 Types:Artifact Creature Construct diff --git a/forge-gui/res/tokenscripts/c_1_1_a_construct_defender.txt b/forge-gui/res/tokenscripts/c_1_1_a_construct_defender.txt index 9b1fa6fe1c8..5e1fa23b513 100644 --- a/forge-gui/res/tokenscripts/c_1_1_a_construct_defender.txt +++ b/forge-gui/res/tokenscripts/c_1_1_a_construct_defender.txt @@ -1,4 +1,4 @@ -Name:Construct +Name:Construct Token ManaCost:no cost PT:1/1 Types:Artifact Creature Construct diff --git a/forge-gui/res/tokenscripts/c_1_1_a_gnome.txt b/forge-gui/res/tokenscripts/c_1_1_a_gnome.txt index 107f12cf528..7de28d66709 100644 --- a/forge-gui/res/tokenscripts/c_1_1_a_gnome.txt +++ b/forge-gui/res/tokenscripts/c_1_1_a_gnome.txt @@ -1,4 +1,4 @@ -Name:Gnome +Name:Gnome Token ManaCost:no cost PT:1/1 Types:Artifact Creature Gnome diff --git a/forge-gui/res/tokenscripts/c_1_1_a_myr.txt b/forge-gui/res/tokenscripts/c_1_1_a_myr.txt index 86c73017cd5..20c86ccd55a 100644 --- a/forge-gui/res/tokenscripts/c_1_1_a_myr.txt +++ b/forge-gui/res/tokenscripts/c_1_1_a_myr.txt @@ -1,4 +1,4 @@ -Name:Myr +Name:Myr Token ManaCost:no cost PT:1/1 Types:Artifact Creature Myr diff --git a/forge-gui/res/tokenscripts/c_1_1_a_pentavite_flying.txt b/forge-gui/res/tokenscripts/c_1_1_a_pentavite_flying.txt index 087c7158426..e1a2891bf77 100644 --- a/forge-gui/res/tokenscripts/c_1_1_a_pentavite_flying.txt +++ b/forge-gui/res/tokenscripts/c_1_1_a_pentavite_flying.txt @@ -1,4 +1,4 @@ -Name:Pentavite +Name:Pentavite Token ManaCost:no cost Types:Token Artifact Creature Pentavite PT:1/1 diff --git a/forge-gui/res/tokenscripts/c_1_1_a_phyrexian_myr.txt b/forge-gui/res/tokenscripts/c_1_1_a_phyrexian_myr.txt index 67593e2184c..2a5e890295c 100644 --- a/forge-gui/res/tokenscripts/c_1_1_a_phyrexian_myr.txt +++ b/forge-gui/res/tokenscripts/c_1_1_a_phyrexian_myr.txt @@ -1,4 +1,4 @@ -Name:Phyrexian Myr +Name:Phyrexian Myr Token ManaCost:no cost PT:1/1 Types:Artifact Creature Phyrexian Myr diff --git a/forge-gui/res/tokenscripts/c_1_1_a_servo.txt b/forge-gui/res/tokenscripts/c_1_1_a_servo.txt index 2a308811418..346b023fb6d 100644 --- a/forge-gui/res/tokenscripts/c_1_1_a_servo.txt +++ b/forge-gui/res/tokenscripts/c_1_1_a_servo.txt @@ -1,4 +1,4 @@ -Name:Servo +Name:Servo Token ManaCost:no cost Types:Artifact Creature Servo PT:1/1 diff --git a/forge-gui/res/tokenscripts/c_1_1_a_snake_poison.txt b/forge-gui/res/tokenscripts/c_1_1_a_snake_poison.txt index d4903eaba7c..a9d77f9cfb7 100644 --- a/forge-gui/res/tokenscripts/c_1_1_a_snake_poison.txt +++ b/forge-gui/res/tokenscripts/c_1_1_a_snake_poison.txt @@ -1,4 +1,4 @@ -Name:Snake +Name:Snake Token ManaCost:no cost Types:Artifact Creature Snake PT:1/1 diff --git a/forge-gui/res/tokenscripts/c_1_1_a_tetravite_flying_noenchant.txt b/forge-gui/res/tokenscripts/c_1_1_a_tetravite_flying_noenchant.txt index 9a0712a2c90..328ba974e61 100644 --- a/forge-gui/res/tokenscripts/c_1_1_a_tetravite_flying_noenchant.txt +++ b/forge-gui/res/tokenscripts/c_1_1_a_tetravite_flying_noenchant.txt @@ -1,4 +1,4 @@ -Name:Tetravite +Name:Tetravite Token ManaCost:no cost Types:Token Artifact Creature Tetravite PT:1/1 diff --git a/forge-gui/res/tokenscripts/c_1_1_a_thopter_flying.txt b/forge-gui/res/tokenscripts/c_1_1_a_thopter_flying.txt index 3a93b1302f9..719482701b2 100644 --- a/forge-gui/res/tokenscripts/c_1_1_a_thopter_flying.txt +++ b/forge-gui/res/tokenscripts/c_1_1_a_thopter_flying.txt @@ -1,4 +1,4 @@ -Name:Thopter +Name:Thopter Token ManaCost:no cost Types:Artifact Creature Thopter Colors:colorless diff --git a/forge-gui/res/tokenscripts/c_1_1_a_triskelavite_flying_ammo.txt b/forge-gui/res/tokenscripts/c_1_1_a_triskelavite_flying_ammo.txt index c8af904ab6b..8aed33b9532 100644 --- a/forge-gui/res/tokenscripts/c_1_1_a_triskelavite_flying_ammo.txt +++ b/forge-gui/res/tokenscripts/c_1_1_a_triskelavite_flying_ammo.txt @@ -1,4 +1,4 @@ -Name:Triskelavite +Name:Triskelavite Token ManaCost:no cost Types:Artifact Creature Triskelavite K:Flying diff --git a/forge-gui/res/tokenscripts/c_1_1_eldrazi_scion_sac.txt b/forge-gui/res/tokenscripts/c_1_1_eldrazi_scion_sac.txt index 3cabab4de1b..f7e61a3f3a7 100644 --- a/forge-gui/res/tokenscripts/c_1_1_eldrazi_scion_sac.txt +++ b/forge-gui/res/tokenscripts/c_1_1_eldrazi_scion_sac.txt @@ -1,4 +1,4 @@ -Name:Eldrazi Scion +Name:Eldrazi Scion Token ManaCost:no cost PT:1/1 Types:Creature Eldrazi Scion diff --git a/forge-gui/res/tokenscripts/c_1_1_eldrazi_sliver_sac.txt b/forge-gui/res/tokenscripts/c_1_1_eldrazi_sliver_sac.txt index 6612bd357b9..133f11299c7 100644 --- a/forge-gui/res/tokenscripts/c_1_1_eldrazi_sliver_sac.txt +++ b/forge-gui/res/tokenscripts/c_1_1_eldrazi_sliver_sac.txt @@ -1,4 +1,4 @@ -Name:Eldrazi Sliver +Name:Eldrazi Sliver Token ManaCost:no cost PT:1/1 Types:Creature Eldrazi Sliver diff --git a/forge-gui/res/tokenscripts/c_1_1_sand.txt b/forge-gui/res/tokenscripts/c_1_1_sand.txt index d07cdf24e93..90745ace04a 100644 --- a/forge-gui/res/tokenscripts/c_1_1_sand.txt +++ b/forge-gui/res/tokenscripts/c_1_1_sand.txt @@ -1,4 +1,4 @@ -Name:Sand +Name:Sand Token ManaCost:no cost Types:Creature Sand PT:1/1 diff --git a/forge-gui/res/tokenscripts/c_1_1_shapeshifter_changeling.txt b/forge-gui/res/tokenscripts/c_1_1_shapeshifter_changeling.txt index 590e005e5bd..f3a59799e2b 100644 --- a/forge-gui/res/tokenscripts/c_1_1_shapeshifter_changeling.txt +++ b/forge-gui/res/tokenscripts/c_1_1_shapeshifter_changeling.txt @@ -1,4 +1,4 @@ -Name:Shapeshifter +Name:Shapeshifter Token ManaCost:no cost Types:Creature Shapeshifter PT:1/1 diff --git a/forge-gui/res/tokenscripts/c_1_1_sliver.txt b/forge-gui/res/tokenscripts/c_1_1_sliver.txt index 3de9b501bd5..da1c458fec9 100644 --- a/forge-gui/res/tokenscripts/c_1_1_sliver.txt +++ b/forge-gui/res/tokenscripts/c_1_1_sliver.txt @@ -1,4 +1,4 @@ -Name:Sliver +Name:Sliver Token ManaCost:no cost Types:Creature Sliver PT:1/1 diff --git a/forge-gui/res/tokenscripts/c_1_1_spirit.txt b/forge-gui/res/tokenscripts/c_1_1_spirit.txt index ac5d339f65d..e1464633bc5 100644 --- a/forge-gui/res/tokenscripts/c_1_1_spirit.txt +++ b/forge-gui/res/tokenscripts/c_1_1_spirit.txt @@ -1,4 +1,4 @@ -Name:Spirit +Name:Spirit Token ManaCost:no cost Types:Creature Spirit PT:1/1 diff --git a/forge-gui/res/tokenscripts/c_1_1_spirit_lifelink_haste.txt b/forge-gui/res/tokenscripts/c_1_1_spirit_lifelink_haste.txt index b8b2f9702fc..341f15be1b5 100644 --- a/forge-gui/res/tokenscripts/c_1_1_spirit_lifelink_haste.txt +++ b/forge-gui/res/tokenscripts/c_1_1_spirit_lifelink_haste.txt @@ -1,4 +1,4 @@ -Name:Spirit +Name:Spirit Token ManaCost:no cost Types:Creature Spirit PT:1/1 diff --git a/forge-gui/res/tokenscripts/c_2_2_a_assembly_worker.txt b/forge-gui/res/tokenscripts/c_2_2_a_assembly_worker.txt index 5d597a14940..c2f2a773446 100644 --- a/forge-gui/res/tokenscripts/c_2_2_a_assembly_worker.txt +++ b/forge-gui/res/tokenscripts/c_2_2_a_assembly_worker.txt @@ -1,4 +1,4 @@ -Name:Assembly-Worker +Name:Assembly-Worker Token ManaCost:no cost PT:2/2 Types:Artifact Creature Assembly-Worker diff --git a/forge-gui/res/tokenscripts/c_2_2_a_spawn.txt b/forge-gui/res/tokenscripts/c_2_2_a_spawn.txt index ca02fe591c1..23e006e58f4 100644 --- a/forge-gui/res/tokenscripts/c_2_2_a_spawn.txt +++ b/forge-gui/res/tokenscripts/c_2_2_a_spawn.txt @@ -1,4 +1,4 @@ -Name:Spawn +Name:Spawn Token ManaCost:no cost PT:2/2 Types:Artifact Creature Spawn diff --git a/forge-gui/res/tokenscripts/c_2_2_homunculus.txt b/forge-gui/res/tokenscripts/c_2_2_homunculus.txt index 3063ef6392e..16676921c2e 100644 --- a/forge-gui/res/tokenscripts/c_2_2_homunculus.txt +++ b/forge-gui/res/tokenscripts/c_2_2_homunculus.txt @@ -1,4 +1,4 @@ -Name:Homunculus +Name:Homunculus Token ManaCost:no cost PT:2/2 Types:Creature Homunculus diff --git a/forge-gui/res/tokenscripts/c_2_2_pincher.txt b/forge-gui/res/tokenscripts/c_2_2_pincher.txt index f1de257fb22..775be92b39e 100644 --- a/forge-gui/res/tokenscripts/c_2_2_pincher.txt +++ b/forge-gui/res/tokenscripts/c_2_2_pincher.txt @@ -1,4 +1,4 @@ -Name:Pincher +Name:Pincher Token ManaCost:no cost PT:2/2 Types:Creature Pincher diff --git a/forge-gui/res/tokenscripts/c_2_2_shapeshifter_changeling.txt b/forge-gui/res/tokenscripts/c_2_2_shapeshifter_changeling.txt index 50a661a2063..a43bbc1ad9b 100644 --- a/forge-gui/res/tokenscripts/c_2_2_shapeshifter_changeling.txt +++ b/forge-gui/res/tokenscripts/c_2_2_shapeshifter_changeling.txt @@ -1,4 +1,4 @@ -Name:Shapeshifter +Name:Shapeshifter Token ManaCost:no cost Types:Creature Shapeshifter PT:2/2 diff --git a/forge-gui/res/tokenscripts/c_2_2_spirit.txt b/forge-gui/res/tokenscripts/c_2_2_spirit.txt index fd30bfb4ca7..c6c6e3e68b3 100644 --- a/forge-gui/res/tokenscripts/c_2_2_spirit.txt +++ b/forge-gui/res/tokenscripts/c_2_2_spirit.txt @@ -1,4 +1,4 @@ -Name:Spirit +Name:Spirit Token ManaCost:no cost Types:Creature Spirit PT:2/2 diff --git a/forge-gui/res/tokenscripts/c_3_2_eldrazi_horror.txt b/forge-gui/res/tokenscripts/c_3_2_eldrazi_horror.txt index c8afcdf8d11..aac7ffe0789 100644 --- a/forge-gui/res/tokenscripts/c_3_2_eldrazi_horror.txt +++ b/forge-gui/res/tokenscripts/c_3_2_eldrazi_horror.txt @@ -1,4 +1,4 @@ -Name:Eldrazi Horror +Name:Eldrazi Horror Token ManaCost:no cost PT:3/2 Types:Creature Eldrazi Horror diff --git a/forge-gui/res/tokenscripts/c_3_3_a_golem.txt b/forge-gui/res/tokenscripts/c_3_3_a_golem.txt index 1fe78bf886a..401e57735ed 100644 --- a/forge-gui/res/tokenscripts/c_3_3_a_golem.txt +++ b/forge-gui/res/tokenscripts/c_3_3_a_golem.txt @@ -1,4 +1,4 @@ -Name:Golem +Name:Golem Token ManaCost:no cost PT:3/3 Types:Artifact Creature Golem diff --git a/forge-gui/res/tokenscripts/c_3_3_a_golem_flying.txt b/forge-gui/res/tokenscripts/c_3_3_a_golem_flying.txt index d3516ace82d..ae0db67ffc9 100644 --- a/forge-gui/res/tokenscripts/c_3_3_a_golem_flying.txt +++ b/forge-gui/res/tokenscripts/c_3_3_a_golem_flying.txt @@ -1,4 +1,4 @@ -Name:Golem +Name:Golem Token ManaCost:no cost PT:3/3 Types:Artifact Creature Golem diff --git a/forge-gui/res/tokenscripts/c_3_3_a_golem_trample.txt b/forge-gui/res/tokenscripts/c_3_3_a_golem_trample.txt index 6923facfbea..61d30171dfc 100644 --- a/forge-gui/res/tokenscripts/c_3_3_a_golem_trample.txt +++ b/forge-gui/res/tokenscripts/c_3_3_a_golem_trample.txt @@ -1,4 +1,4 @@ -Name:Golem +Name:Golem Token ManaCost:no cost PT:3/3 Types:Artifact Creature Golem diff --git a/forge-gui/res/tokenscripts/c_3_3_a_golem_vigilance.txt b/forge-gui/res/tokenscripts/c_3_3_a_golem_vigilance.txt index 40fd9c7deac..361beb289cf 100644 --- a/forge-gui/res/tokenscripts/c_3_3_a_golem_vigilance.txt +++ b/forge-gui/res/tokenscripts/c_3_3_a_golem_vigilance.txt @@ -1,4 +1,4 @@ -Name:Golem +Name:Golem Token ManaCost:no cost PT:3/3 Types:Artifact Creature Golem diff --git a/forge-gui/res/tokenscripts/c_3_3_a_phyrexian_golem.txt b/forge-gui/res/tokenscripts/c_3_3_a_phyrexian_golem.txt index 56d4d7d3284..e61c845aa4d 100644 --- a/forge-gui/res/tokenscripts/c_3_3_a_phyrexian_golem.txt +++ b/forge-gui/res/tokenscripts/c_3_3_a_phyrexian_golem.txt @@ -1,4 +1,4 @@ -Name:Phyrexian Golem +Name:Phyrexian Golem Token ManaCost:no cost PT:3/3 Types:Artifact Creature Phyrexian Golem diff --git a/forge-gui/res/tokenscripts/c_3_3_a_phyrexian_wurm_deathtouch.txt b/forge-gui/res/tokenscripts/c_3_3_a_phyrexian_wurm_deathtouch.txt index 02b8a2312b9..1319391a7d5 100644 --- a/forge-gui/res/tokenscripts/c_3_3_a_phyrexian_wurm_deathtouch.txt +++ b/forge-gui/res/tokenscripts/c_3_3_a_phyrexian_wurm_deathtouch.txt @@ -1,4 +1,4 @@ -Name:Phyrexian Wurm +Name:Phyrexian Wurm Token ManaCost:no cost Types:Artifact Creature Phyrexian Wurm PT:3/3 diff --git a/forge-gui/res/tokenscripts/c_3_3_a_phyrexian_wurm_lifelink.txt b/forge-gui/res/tokenscripts/c_3_3_a_phyrexian_wurm_lifelink.txt index e342b4ab46d..c9cbdfe7692 100644 --- a/forge-gui/res/tokenscripts/c_3_3_a_phyrexian_wurm_lifelink.txt +++ b/forge-gui/res/tokenscripts/c_3_3_a_phyrexian_wurm_lifelink.txt @@ -1,4 +1,4 @@ -Name:Phyrexian Wurm +Name:Phyrexian Wurm Token ManaCost:no cost Types:Artifact Creature Phyrexian Wurm PT:3/3 diff --git a/forge-gui/res/tokenscripts/c_3_3_e_a_golem.txt b/forge-gui/res/tokenscripts/c_3_3_e_a_golem.txt index a65680df009..b45c2573eb9 100644 --- a/forge-gui/res/tokenscripts/c_3_3_e_a_golem.txt +++ b/forge-gui/res/tokenscripts/c_3_3_e_a_golem.txt @@ -1,4 +1,4 @@ -Name:Golem +Name:Golem Token ManaCost:no cost PT:3/3 Types:Enchantment Artifact Creature Golem diff --git a/forge-gui/res/tokenscripts/c_3_4_a_gargoyle_flying.txt b/forge-gui/res/tokenscripts/c_3_4_a_gargoyle_flying.txt index 154c7128df8..3b503259960 100644 --- a/forge-gui/res/tokenscripts/c_3_4_a_gargoyle_flying.txt +++ b/forge-gui/res/tokenscripts/c_3_4_a_gargoyle_flying.txt @@ -1,4 +1,4 @@ -Name:Gargoyle +Name:Gargoyle Token Types:Artifact Creature Gargoyle ManaCost:no cost K:Flying diff --git a/forge-gui/res/tokenscripts/c_4_4_a_construct.txt b/forge-gui/res/tokenscripts/c_4_4_a_construct.txt index 45957ca6286..37e1729344c 100644 --- a/forge-gui/res/tokenscripts/c_4_4_a_construct.txt +++ b/forge-gui/res/tokenscripts/c_4_4_a_construct.txt @@ -1,4 +1,4 @@ -Name:Construct +Name:Construct Token ManaCost:no cost PT:4/4 Types:Artifact Creature Construct diff --git a/forge-gui/res/tokenscripts/c_4_4_a_golem.txt b/forge-gui/res/tokenscripts/c_4_4_a_golem.txt index a68532d5999..e6b004a7787 100644 --- a/forge-gui/res/tokenscripts/c_4_4_a_golem.txt +++ b/forge-gui/res/tokenscripts/c_4_4_a_golem.txt @@ -1,4 +1,4 @@ -Name:Golem +Name:Golem Token ManaCost:no cost PT:4/4 Types:Artifact Creature Golem diff --git a/forge-gui/res/tokenscripts/c_4_4_dragon_flying.txt b/forge-gui/res/tokenscripts/c_4_4_dragon_flying.txt index d9086aa06cc..ed1f0fec137 100644 --- a/forge-gui/res/tokenscripts/c_4_4_dragon_flying.txt +++ b/forge-gui/res/tokenscripts/c_4_4_dragon_flying.txt @@ -1,4 +1,4 @@ -Name:Dragon +Name:Dragon Token ManaCost:no cost Types:Creature Dragon K:Flying diff --git a/forge-gui/res/tokenscripts/c_4_6_a_golem.txt b/forge-gui/res/tokenscripts/c_4_6_a_golem.txt index ac301687f4f..38a0cd2457f 100644 --- a/forge-gui/res/tokenscripts/c_4_6_a_golem.txt +++ b/forge-gui/res/tokenscripts/c_4_6_a_golem.txt @@ -1,4 +1,4 @@ -Name:Golem +Name:Golem Token ManaCost:no cost PT:4/6 Types:Artifact Creature Golem diff --git a/forge-gui/res/tokenscripts/c_5_5_a_djinn_flying.txt b/forge-gui/res/tokenscripts/c_5_5_a_djinn_flying.txt index aeeedcd70f2..82033f978e9 100644 --- a/forge-gui/res/tokenscripts/c_5_5_a_djinn_flying.txt +++ b/forge-gui/res/tokenscripts/c_5_5_a_djinn_flying.txt @@ -1,4 +1,4 @@ -Name:Djinn +Name:Djinn Token Types:Artifact Creature Djinn ManaCost:no cost K:Flying diff --git a/forge-gui/res/tokenscripts/c_6_12_a_construct_trample.txt b/forge-gui/res/tokenscripts/c_6_12_a_construct_trample.txt index 05979e73c36..6a65dd5dfc2 100644 --- a/forge-gui/res/tokenscripts/c_6_12_a_construct_trample.txt +++ b/forge-gui/res/tokenscripts/c_6_12_a_construct_trample.txt @@ -1,4 +1,4 @@ -Name:Construct +Name:Construct Token ManaCost:no cost Types:Artifact Creature Construct K:Trample diff --git a/forge-gui/res/tokenscripts/c_6_6_a_beast.txt b/forge-gui/res/tokenscripts/c_6_6_a_beast.txt index ff1b22f39ef..6481fb594d5 100644 --- a/forge-gui/res/tokenscripts/c_6_6_a_beast.txt +++ b/forge-gui/res/tokenscripts/c_6_6_a_beast.txt @@ -1,4 +1,4 @@ -Name:Beast +Name:Beast Token ManaCost:no cost PT:6/6 Types:Artifact Creature Beast diff --git a/forge-gui/res/tokenscripts/c_7_7_eldrazi_annihilator.txt b/forge-gui/res/tokenscripts/c_7_7_eldrazi_annihilator.txt index a6929cd6e73..29143629d0d 100644 --- a/forge-gui/res/tokenscripts/c_7_7_eldrazi_annihilator.txt +++ b/forge-gui/res/tokenscripts/c_7_7_eldrazi_annihilator.txt @@ -1,4 +1,4 @@ -Name:Eldrazi +Name:Eldrazi Token ManaCost:no cost Types:Creature Eldrazi PT:7/7 diff --git a/forge-gui/res/tokenscripts/c_9_9_a_golem.txt b/forge-gui/res/tokenscripts/c_9_9_a_golem.txt index 40d0cb68d4d..fdd27bf3484 100644 --- a/forge-gui/res/tokenscripts/c_9_9_a_golem.txt +++ b/forge-gui/res/tokenscripts/c_9_9_a_golem.txt @@ -1,4 +1,4 @@ -Name:Golem +Name:Golem Token ManaCost:no cost PT:9/9 Types:Artifact Creature Golem diff --git a/forge-gui/res/tokenscripts/c_a_blood_draw.txt b/forge-gui/res/tokenscripts/c_a_blood_draw.txt index c16816c0b0a..e7746ffd675 100644 --- a/forge-gui/res/tokenscripts/c_a_blood_draw.txt +++ b/forge-gui/res/tokenscripts/c_a_blood_draw.txt @@ -1,4 +1,4 @@ -Name:Blood +Name:Blood Token ManaCost:no cost Types:Artifact Blood A:AB$ Draw | Cost$ 1 T Discard<1/Card> Sac<1/CARDNAME/this artifact> | NumCards$ 1 | SpellDescription$ Draw a card. diff --git a/forge-gui/res/tokenscripts/c_a_clue_draw.txt b/forge-gui/res/tokenscripts/c_a_clue_draw.txt index d03be3a67aa..f5684e7da3c 100644 --- a/forge-gui/res/tokenscripts/c_a_clue_draw.txt +++ b/forge-gui/res/tokenscripts/c_a_clue_draw.txt @@ -1,4 +1,4 @@ -Name:Clue +Name:Clue Token ManaCost:no cost Types:Artifact Clue A:AB$ Draw | Cost$ 2 Sac<1/CARDNAME/this artifact> | NumCards$ 1 | SpellDescription$ Draw a card. diff --git a/forge-gui/res/tokenscripts/c_a_food_sac.txt b/forge-gui/res/tokenscripts/c_a_food_sac.txt index 7d14f0658a2..78b90b13f14 100644 --- a/forge-gui/res/tokenscripts/c_a_food_sac.txt +++ b/forge-gui/res/tokenscripts/c_a_food_sac.txt @@ -1,4 +1,4 @@ -Name:Food +Name:Food Token ManaCost:no cost Types:Artifact Food A:AB$ GainLife | Cost$ 2 T Sac<1/CARDNAME> | Defined$ You | LifeAmount$ 3 | SpellDescription$ You gain 3 life. diff --git a/forge-gui/res/tokenscripts/gold.txt b/forge-gui/res/tokenscripts/c_a_gold_draw.txt similarity index 92% rename from forge-gui/res/tokenscripts/gold.txt rename to forge-gui/res/tokenscripts/c_a_gold_draw.txt index 5372d284c2b..973cd884491 100644 --- a/forge-gui/res/tokenscripts/gold.txt +++ b/forge-gui/res/tokenscripts/c_a_gold_draw.txt @@ -1,4 +1,4 @@ -Name:Gold +Name:Gold Token ManaCost:no cost Types:Artifact Gold A:AB$ Mana | Cost$ Sac<1/CARDNAME> | Produced$ Any | SpellDescription$ Add one mana of any color. diff --git a/forge-gui/res/tokenscripts/c_a_treasure_sac.txt b/forge-gui/res/tokenscripts/c_a_treasure_sac.txt index 1f2075e0d6b..2a52fdf918f 100644 --- a/forge-gui/res/tokenscripts/c_a_treasure_sac.txt +++ b/forge-gui/res/tokenscripts/c_a_treasure_sac.txt @@ -1,4 +1,4 @@ -Name:Treasure +Name:Treasure Token ManaCost:no cost Types:Artifact Treasure A:AB$ Mana | Cost$ T Sac<1/CARDNAME> | Produced$ Any | Amount$ 1 | SpellDescription$ Add one mana of any color. diff --git a/forge-gui/res/tokenscripts/shard.txt b/forge-gui/res/tokenscripts/c_e_shard_draw.txt similarity index 89% rename from forge-gui/res/tokenscripts/shard.txt rename to forge-gui/res/tokenscripts/c_e_shard_draw.txt index 14e9f257369..b7fb6baf705 100644 --- a/forge-gui/res/tokenscripts/shard.txt +++ b/forge-gui/res/tokenscripts/c_e_shard_draw.txt @@ -1,6 +1,6 @@ -Name:Shard +Name:Shard Token ManaCost:no cost -Types:Enchantment +Types:Enchantment Shard A:AB$ Scry | Cost$ 2 Sac<1/CARDNAME> | CostDesc$ {2}, Sacrifice this enchantment: | ScryNum$ 1 | SubAbility$ DBDraw | StackDescription$ SpellDescription | SpellDescription$ Scry 1, then draw a card. SVar:DBDraw:DB$ Draw | Defined$ You | NumCards$ 1 | StackDescription$ None Oracle:{2}, Sacrifice this enchantment: Scry 1, then draw a card. diff --git a/forge-gui/res/tokenscripts/c_l_forest.txt b/forge-gui/res/tokenscripts/c_l_forest.txt index 349319bc251..deebb5ef659 100644 --- a/forge-gui/res/tokenscripts/c_l_forest.txt +++ b/forge-gui/res/tokenscripts/c_l_forest.txt @@ -1,4 +1,4 @@ -Name:Forest +Name:Forest Token ManaCost:no cost Types:Land Forest Oracle: diff --git a/forge-gui/res/tokenscripts/c_l_wastes.txt b/forge-gui/res/tokenscripts/c_l_wastes.txt index 029f6aa87a8..476a030e1ed 100644 --- a/forge-gui/res/tokenscripts/c_l_wastes.txt +++ b/forge-gui/res/tokenscripts/c_l_wastes.txt @@ -1,4 +1,4 @@ -Name:Wastes +Name:Wastes Token ManaCost:no cost Types:Land A:AB$ Mana | Cost$ T | Produced$ C | SpellDescription$ Add {C}. diff --git a/forge-gui/res/tokenscripts/c_x_x_a_construct.txt b/forge-gui/res/tokenscripts/c_x_x_a_construct.txt index f835d63268a..432475d83d0 100644 --- a/forge-gui/res/tokenscripts/c_x_x_a_construct.txt +++ b/forge-gui/res/tokenscripts/c_x_x_a_construct.txt @@ -1,4 +1,4 @@ -Name:Construct +Name:Construct Token ManaCost:no cost Types:Artifact Creature Construct PT:*/* diff --git a/forge-gui/res/tokenscripts/c_x_x_a_horror.txt b/forge-gui/res/tokenscripts/c_x_x_a_horror.txt index 8165330fef8..89442b94c11 100644 --- a/forge-gui/res/tokenscripts/c_x_x_a_horror.txt +++ b/forge-gui/res/tokenscripts/c_x_x_a_horror.txt @@ -1,4 +1,4 @@ -Name:Horror +Name:Horror Token ManaCost:no cost Types:Artifact Creature Horror PT:*/* diff --git a/forge-gui/res/tokenscripts/c_x_x_a_phyrexian_horror.txt b/forge-gui/res/tokenscripts/c_x_x_a_phyrexian_horror.txt index 05fe38ac950..eef952fa629 100644 --- a/forge-gui/res/tokenscripts/c_x_x_a_phyrexian_horror.txt +++ b/forge-gui/res/tokenscripts/c_x_x_a_phyrexian_horror.txt @@ -1,4 +1,4 @@ -Name:Phyrexian Horror +Name:Phyrexian Horror Token ManaCost:no cost Types:Artifact Creature Phyrexian Horror PT:*/* diff --git a/forge-gui/res/tokenscripts/c_x_x_a_sculpture_total_sculptures.txt b/forge-gui/res/tokenscripts/c_x_x_a_sculpture_total_sculptures.txt index bd1a66f7714..8a95ab01113 100644 --- a/forge-gui/res/tokenscripts/c_x_x_a_sculpture_total_sculptures.txt +++ b/forge-gui/res/tokenscripts/c_x_x_a_sculpture_total_sculptures.txt @@ -1,4 +1,4 @@ -Name:Sculpture +Name:Sculpture Token ManaCost:no cost Types:Artifact Creature Sculpture PT:*/* diff --git a/forge-gui/res/tokenscripts/g_0_0_hydra.txt b/forge-gui/res/tokenscripts/g_0_0_hydra.txt index c03d10e6148..4f17f4ca85d 100644 --- a/forge-gui/res/tokenscripts/g_0_0_hydra.txt +++ b/forge-gui/res/tokenscripts/g_0_0_hydra.txt @@ -1,4 +1,4 @@ -Name:Hydra +Name:Hydra Token Colors:green ManaCost:no cost PT:0/0 diff --git a/forge-gui/res/tokenscripts/g_0_1_egg_defender.txt b/forge-gui/res/tokenscripts/g_0_1_egg_defender.txt index bb183060660..40163bfca0c 100644 --- a/forge-gui/res/tokenscripts/g_0_1_egg_defender.txt +++ b/forge-gui/res/tokenscripts/g_0_1_egg_defender.txt @@ -1,4 +1,4 @@ -Name:Egg +Name:Egg Token ManaCost:no cost Types:Creature Egg Colors:green diff --git a/forge-gui/res/tokenscripts/g_0_1_plant.txt b/forge-gui/res/tokenscripts/g_0_1_plant.txt index 76c1b8f7958..10e5b900179 100644 --- a/forge-gui/res/tokenscripts/g_0_1_plant.txt +++ b/forge-gui/res/tokenscripts/g_0_1_plant.txt @@ -1,4 +1,4 @@ -Name:Plant +Name:Plant Token ManaCost:no cost Types:Creature Plant Colors:green diff --git a/forge-gui/res/tokenscripts/g_0_1_sheep.txt b/forge-gui/res/tokenscripts/g_0_1_sheep.txt index 776cb9f4060..2d1213c9f9f 100644 --- a/forge-gui/res/tokenscripts/g_0_1_sheep.txt +++ b/forge-gui/res/tokenscripts/g_0_1_sheep.txt @@ -1,4 +1,4 @@ -Name:Sheep +Name:Sheep Token ManaCost:no cost PT:0/1 Colors:green diff --git a/forge-gui/res/tokenscripts/g_0_2_plant_defender.txt b/forge-gui/res/tokenscripts/g_0_2_plant_defender.txt index 38d413ff228..f491f922e24 100644 --- a/forge-gui/res/tokenscripts/g_0_2_plant_defender.txt +++ b/forge-gui/res/tokenscripts/g_0_2_plant_defender.txt @@ -1,4 +1,4 @@ -Name:Plant +Name:Plant Token ManaCost:no cost Types:Creature Plant Colors:green diff --git a/forge-gui/res/tokenscripts/g_1_1_ape.txt b/forge-gui/res/tokenscripts/g_1_1_ape.txt index 32ea00cac30..673981862e5 100644 --- a/forge-gui/res/tokenscripts/g_1_1_ape.txt +++ b/forge-gui/res/tokenscripts/g_1_1_ape.txt @@ -1,4 +1,4 @@ -Name:Ape +Name:Ape Token ManaCost:no cost Types:Creature Ape Colors:green diff --git a/forge-gui/res/tokenscripts/g_1_1_boar_food.txt b/forge-gui/res/tokenscripts/g_1_1_boar_food.txt index d04e54bb41d..977bf719441 100644 --- a/forge-gui/res/tokenscripts/g_1_1_boar_food.txt +++ b/forge-gui/res/tokenscripts/g_1_1_boar_food.txt @@ -1,4 +1,4 @@ -Name:Boar +Name:Boar Token ManaCost:no cost Types:Creature Boar Colors:green diff --git a/forge-gui/res/tokenscripts/g_1_1_cat.txt b/forge-gui/res/tokenscripts/g_1_1_cat.txt index 8195fccb46c..2a4c87d1158 100644 --- a/forge-gui/res/tokenscripts/g_1_1_cat.txt +++ b/forge-gui/res/tokenscripts/g_1_1_cat.txt @@ -1,4 +1,4 @@ -Name:Cat +Name:Cat Token ManaCost:no cost Types:Creature Cat Colors:green diff --git a/forge-gui/res/tokenscripts/g_1_1_dog.txt b/forge-gui/res/tokenscripts/g_1_1_dog.txt index 9ea3f849c18..e033a3fe7c8 100644 --- a/forge-gui/res/tokenscripts/g_1_1_dog.txt +++ b/forge-gui/res/tokenscripts/g_1_1_dog.txt @@ -1,4 +1,4 @@ -Name:Dog +Name:Dog Token ManaCost:no cost PT:1/1 Colors:green diff --git a/forge-gui/res/tokenscripts/g_1_1_elf_druid_g.txt b/forge-gui/res/tokenscripts/g_1_1_elf_druid_g.txt index ccadf3197bb..1866507c108 100644 --- a/forge-gui/res/tokenscripts/g_1_1_elf_druid_g.txt +++ b/forge-gui/res/tokenscripts/g_1_1_elf_druid_g.txt @@ -1,4 +1,4 @@ -Name:Elf Druid +Name:Elf Druid Token ManaCost:no cost Types:Creature Elf Druid Colors:green diff --git a/forge-gui/res/tokenscripts/g_1_1_elf_g.txt b/forge-gui/res/tokenscripts/g_1_1_elf_g.txt index fe448b17ae8..ce33e030e5b 100644 --- a/forge-gui/res/tokenscripts/g_1_1_elf_g.txt +++ b/forge-gui/res/tokenscripts/g_1_1_elf_g.txt @@ -1,4 +1,4 @@ -Name:Elf +Name:Elf Token ManaCost:no cost Types:Creature Elf Colors:green diff --git a/forge-gui/res/tokenscripts/g_1_1_elf_warrior.txt b/forge-gui/res/tokenscripts/g_1_1_elf_warrior.txt index 44eb53e1554..24a56c12b94 100644 --- a/forge-gui/res/tokenscripts/g_1_1_elf_warrior.txt +++ b/forge-gui/res/tokenscripts/g_1_1_elf_warrior.txt @@ -1,4 +1,4 @@ -Name:Elf Warrior +Name:Elf Warrior Token ManaCost:no cost Types:Creature Elf Warrior Colors:green diff --git a/forge-gui/res/tokenscripts/g_1_1_hippo.txt b/forge-gui/res/tokenscripts/g_1_1_hippo.txt index 8031a516872..794d0712d26 100644 --- a/forge-gui/res/tokenscripts/g_1_1_hippo.txt +++ b/forge-gui/res/tokenscripts/g_1_1_hippo.txt @@ -1,4 +1,4 @@ -Name:Hippo +Name:Hippo Token ManaCost:no cost Types:Creature Hippo Colors:green diff --git a/forge-gui/res/tokenscripts/g_1_1_insect.txt b/forge-gui/res/tokenscripts/g_1_1_insect.txt index 37b284194de..1a1cbf68a3c 100644 --- a/forge-gui/res/tokenscripts/g_1_1_insect.txt +++ b/forge-gui/res/tokenscripts/g_1_1_insect.txt @@ -1,4 +1,4 @@ -Name:Insect +Name:Insect Token ManaCost:no cost PT:1/1 Colors:green diff --git a/forge-gui/res/tokenscripts/g_1_1_insect_flying_deathtouch.txt b/forge-gui/res/tokenscripts/g_1_1_insect_flying_deathtouch.txt index 072ef81c2c2..a6448a305e6 100644 --- a/forge-gui/res/tokenscripts/g_1_1_insect_flying_deathtouch.txt +++ b/forge-gui/res/tokenscripts/g_1_1_insect_flying_deathtouch.txt @@ -1,4 +1,4 @@ -Name:Insect +Name:Insect Token ManaCost:no cost PT:1/1 Colors:green diff --git a/forge-gui/res/tokenscripts/g_1_1_ooze.txt b/forge-gui/res/tokenscripts/g_1_1_ooze.txt index 86dc06b7011..95a68b9c8a3 100644 --- a/forge-gui/res/tokenscripts/g_1_1_ooze.txt +++ b/forge-gui/res/tokenscripts/g_1_1_ooze.txt @@ -1,4 +1,4 @@ -Name:Ooze +Name:Ooze Token ManaCost:no cost Types:Creature Ooze Colors:green diff --git a/forge-gui/res/tokenscripts/g_1_1_phyrexian_insect_infect.txt b/forge-gui/res/tokenscripts/g_1_1_phyrexian_insect_infect.txt index 79c5789030d..c7b2e2ac5f8 100644 --- a/forge-gui/res/tokenscripts/g_1_1_phyrexian_insect_infect.txt +++ b/forge-gui/res/tokenscripts/g_1_1_phyrexian_insect_infect.txt @@ -1,4 +1,4 @@ -Name:Phyrexian Insect +Name:Phyrexian Insect Token ManaCost:no cost PT:1/1 Colors:green diff --git a/forge-gui/res/tokenscripts/g_1_1_plant.txt b/forge-gui/res/tokenscripts/g_1_1_plant.txt index 3fdb50d64a8..39b141dd1e1 100644 --- a/forge-gui/res/tokenscripts/g_1_1_plant.txt +++ b/forge-gui/res/tokenscripts/g_1_1_plant.txt @@ -1,4 +1,4 @@ -Name:Plant +Name:Plant Token ManaCost:no cost Types:Creature Plant Colors:green diff --git a/forge-gui/res/tokenscripts/g_1_1_saproling.txt b/forge-gui/res/tokenscripts/g_1_1_saproling.txt index ce69a8adaf8..2c0cc5355e1 100644 --- a/forge-gui/res/tokenscripts/g_1_1_saproling.txt +++ b/forge-gui/res/tokenscripts/g_1_1_saproling.txt @@ -1,4 +1,4 @@ -Name:Saproling +Name:Saproling Token ManaCost:no cost Types:Creature Saproling Colors:green diff --git a/forge-gui/res/tokenscripts/g_1_1_snake.txt b/forge-gui/res/tokenscripts/g_1_1_snake.txt index 6f458cd6e69..85efd1a2606 100644 --- a/forge-gui/res/tokenscripts/g_1_1_snake.txt +++ b/forge-gui/res/tokenscripts/g_1_1_snake.txt @@ -1,4 +1,4 @@ -Name:Snake +Name:Snake Token ManaCost:no cost Types:Creature Snake Colors:green diff --git a/forge-gui/res/tokenscripts/g_1_1_snake_deathtouch.txt b/forge-gui/res/tokenscripts/g_1_1_snake_deathtouch.txt index 3775bb39690..e743a77c835 100644 --- a/forge-gui/res/tokenscripts/g_1_1_snake_deathtouch.txt +++ b/forge-gui/res/tokenscripts/g_1_1_snake_deathtouch.txt @@ -1,4 +1,4 @@ -Name:Snake +Name:Snake Token ManaCost:no cost Types:Creature Snake Colors:green diff --git a/forge-gui/res/tokenscripts/g_1_1_spike.txt b/forge-gui/res/tokenscripts/g_1_1_spike.txt index aeea0d52da5..8a8e4363f8c 100644 --- a/forge-gui/res/tokenscripts/g_1_1_spike.txt +++ b/forge-gui/res/tokenscripts/g_1_1_spike.txt @@ -1,4 +1,4 @@ -Name:Spike +Name:Spike Token ManaCost:no cost Types:Creature Spike Colors:green diff --git a/forge-gui/res/tokenscripts/g_1_1_splinter_flying_cum.txt b/forge-gui/res/tokenscripts/g_1_1_splinter_flying_cum.txt index 0a7aa8f5550..c8bf01a4df8 100644 --- a/forge-gui/res/tokenscripts/g_1_1_splinter_flying_cum.txt +++ b/forge-gui/res/tokenscripts/g_1_1_splinter_flying_cum.txt @@ -1,4 +1,4 @@ -Name:Splinter +Name:Splinter Token ManaCost:no cost Colors:green Types:Creature Splinter diff --git a/forge-gui/res/tokenscripts/g_1_1_squirrel.txt b/forge-gui/res/tokenscripts/g_1_1_squirrel.txt index 1653b87b7c6..b7bf449538b 100644 --- a/forge-gui/res/tokenscripts/g_1_1_squirrel.txt +++ b/forge-gui/res/tokenscripts/g_1_1_squirrel.txt @@ -1,4 +1,4 @@ -Name:Squirrel +Name:Squirrel Token ManaCost:no cost Types:Creature Squirrel PT:1/1 diff --git a/forge-gui/res/tokenscripts/g_1_1_wolf_sound_the_call.txt b/forge-gui/res/tokenscripts/g_1_1_wolf_sound_the_call.txt index bb9d7600b1d..d802a702bbe 100644 --- a/forge-gui/res/tokenscripts/g_1_1_wolf_sound_the_call.txt +++ b/forge-gui/res/tokenscripts/g_1_1_wolf_sound_the_call.txt @@ -1,4 +1,4 @@ -Name:Wolf +Name:Wolf Token ManaCost:no cost Colors:green Types:Creature Wolf diff --git a/forge-gui/res/tokenscripts/g_1_2_spider_reach.txt b/forge-gui/res/tokenscripts/g_1_2_spider_reach.txt index d6e16a39af3..2f6b0594990 100644 --- a/forge-gui/res/tokenscripts/g_1_2_spider_reach.txt +++ b/forge-gui/res/tokenscripts/g_1_2_spider_reach.txt @@ -1,4 +1,4 @@ -Name:Spider +Name:Spider Token ManaCost:no cost Types:Creature Spider PT:1/2 diff --git a/forge-gui/res/tokenscripts/g_1_3_e_spider_reach.txt b/forge-gui/res/tokenscripts/g_1_3_e_spider_reach.txt index 7cc74c232fa..ad0d5dda10e 100644 --- a/forge-gui/res/tokenscripts/g_1_3_e_spider_reach.txt +++ b/forge-gui/res/tokenscripts/g_1_3_e_spider_reach.txt @@ -1,4 +1,4 @@ -Name:Spider +Name:Spider Token ManaCost:no cost Types:Enchantment Creature Spider PT:1/3 diff --git a/forge-gui/res/tokenscripts/g_2_2_bear.txt b/forge-gui/res/tokenscripts/g_2_2_bear.txt index 2b1cead38f8..646229eb283 100644 --- a/forge-gui/res/tokenscripts/g_2_2_bear.txt +++ b/forge-gui/res/tokenscripts/g_2_2_bear.txt @@ -1,4 +1,4 @@ -Name:Bear +Name:Bear Token ManaCost:no cost PT:2/2 Colors:green diff --git a/forge-gui/res/tokenscripts/g_2_2_beast.txt b/forge-gui/res/tokenscripts/g_2_2_beast.txt index 78c4f2e3611..07f17063880 100644 --- a/forge-gui/res/tokenscripts/g_2_2_beast.txt +++ b/forge-gui/res/tokenscripts/g_2_2_beast.txt @@ -1,4 +1,4 @@ -Name:Beast +Name:Beast Token ManaCost:no cost PT:2/2 Colors:green diff --git a/forge-gui/res/tokenscripts/g_2_2_boar.txt b/forge-gui/res/tokenscripts/g_2_2_boar.txt index ea3e25d0771..7beac13f444 100644 --- a/forge-gui/res/tokenscripts/g_2_2_boar.txt +++ b/forge-gui/res/tokenscripts/g_2_2_boar.txt @@ -1,4 +1,4 @@ -Name:Boar +Name:Boar Token ManaCost:no cost PT:2/2 Colors:green diff --git a/forge-gui/res/tokenscripts/g_2_2_cat.txt b/forge-gui/res/tokenscripts/g_2_2_cat.txt index c8cfa06710c..d3d0ecac21a 100644 --- a/forge-gui/res/tokenscripts/g_2_2_cat.txt +++ b/forge-gui/res/tokenscripts/g_2_2_cat.txt @@ -1,4 +1,4 @@ -Name:Cat +Name:Cat Token Colors:green ManaCost:no cost PT:2/2 diff --git a/forge-gui/res/tokenscripts/g_2_2_cat_warrior_forestwalk.txt b/forge-gui/res/tokenscripts/g_2_2_cat_warrior_forestwalk.txt index 9db0d4debe9..9bdf73f4b49 100644 --- a/forge-gui/res/tokenscripts/g_2_2_cat_warrior_forestwalk.txt +++ b/forge-gui/res/tokenscripts/g_2_2_cat_warrior_forestwalk.txt @@ -1,4 +1,4 @@ -Name:Cat Warrior +Name:Cat Warrior Token ManaCost:no cost Types:Creature Cat Warrior Colors:green diff --git a/forge-gui/res/tokenscripts/g_2_2_elemental.txt b/forge-gui/res/tokenscripts/g_2_2_elemental.txt index 565a4bdd7c6..eaf60c03abb 100644 --- a/forge-gui/res/tokenscripts/g_2_2_elemental.txt +++ b/forge-gui/res/tokenscripts/g_2_2_elemental.txt @@ -1,4 +1,4 @@ -Name:Elemental +Name:Elemental Token Colors:green ManaCost:no cost PT:2/2 diff --git a/forge-gui/res/tokenscripts/g_2_2_gorilla.txt b/forge-gui/res/tokenscripts/g_2_2_gorilla.txt index 3094eaff857..16e765f86f4 100644 --- a/forge-gui/res/tokenscripts/g_2_2_gorilla.txt +++ b/forge-gui/res/tokenscripts/g_2_2_gorilla.txt @@ -1,4 +1,4 @@ -Name:Gorilla +Name:Gorilla Token ManaCost:no cost PT:2/2 Colors:green diff --git a/forge-gui/res/tokenscripts/g_2_2_lizard.txt b/forge-gui/res/tokenscripts/g_2_2_lizard.txt index 5d7c15b0380..ab5adb3810a 100644 --- a/forge-gui/res/tokenscripts/g_2_2_lizard.txt +++ b/forge-gui/res/tokenscripts/g_2_2_lizard.txt @@ -1,4 +1,4 @@ -Name:Lizard +Name:Lizard Token ManaCost:no cost PT:2/2 Colors:green diff --git a/forge-gui/res/tokenscripts/g_2_2_monkey.txt b/forge-gui/res/tokenscripts/g_2_2_monkey.txt index 224df732582..77084c82af9 100644 --- a/forge-gui/res/tokenscripts/g_2_2_monkey.txt +++ b/forge-gui/res/tokenscripts/g_2_2_monkey.txt @@ -1,4 +1,4 @@ -Name:Monkey +Name:Monkey Token ManaCost:no cost PT:2/2 Colors:green diff --git a/forge-gui/res/tokenscripts/g_2_2_ooze.txt b/forge-gui/res/tokenscripts/g_2_2_ooze.txt index c4efe4a68b8..c76ea06a214 100644 --- a/forge-gui/res/tokenscripts/g_2_2_ooze.txt +++ b/forge-gui/res/tokenscripts/g_2_2_ooze.txt @@ -1,4 +1,4 @@ -Name:Ooze +Name:Ooze Token ManaCost:no cost Types:Creature Ooze Colors:green diff --git a/forge-gui/res/tokenscripts/g_2_2_ooze_mitotic.txt b/forge-gui/res/tokenscripts/g_2_2_ooze_mitotic.txt index d3a10f42e9f..4513dacb41f 100644 --- a/forge-gui/res/tokenscripts/g_2_2_ooze_mitotic.txt +++ b/forge-gui/res/tokenscripts/g_2_2_ooze_mitotic.txt @@ -1,4 +1,4 @@ -Name:Ooze +Name:Ooze Token ManaCost:no cost Types:Creature Ooze Colors:green diff --git a/forge-gui/res/tokenscripts/g_2_2_rabid_sheep.txt b/forge-gui/res/tokenscripts/g_2_2_rabid_sheep.txt index 1247398ca68..26941ff98e2 100644 --- a/forge-gui/res/tokenscripts/g_2_2_rabid_sheep.txt +++ b/forge-gui/res/tokenscripts/g_2_2_rabid_sheep.txt @@ -1,4 +1,4 @@ -Name:Rabid Sheep +Name:Rabid Sheep Token ManaCost:no cost PT:2/2 Colors:green diff --git a/forge-gui/res/tokenscripts/g_2_2_wolf.txt b/forge-gui/res/tokenscripts/g_2_2_wolf.txt index 52e24f26dc8..bd796620ef5 100644 --- a/forge-gui/res/tokenscripts/g_2_2_wolf.txt +++ b/forge-gui/res/tokenscripts/g_2_2_wolf.txt @@ -1,4 +1,4 @@ -Name:Wolf +Name:Wolf Token ManaCost:no cost PT:2/2 Colors:green diff --git a/forge-gui/res/tokenscripts/g_2_3_antelope_forestwalk.txt b/forge-gui/res/tokenscripts/g_2_3_antelope_forestwalk.txt index daabe14169c..ffba915914b 100644 --- a/forge-gui/res/tokenscripts/g_2_3_antelope_forestwalk.txt +++ b/forge-gui/res/tokenscripts/g_2_3_antelope_forestwalk.txt @@ -1,4 +1,4 @@ -Name:Antelope +Name:Antelope Token ManaCost:no cost Types:Creature Antelope Colors:green diff --git a/forge-gui/res/tokenscripts/g_2_5_treefolk_shaman.txt b/forge-gui/res/tokenscripts/g_2_5_treefolk_shaman.txt index 830e82c1094..9f79d280eba 100644 --- a/forge-gui/res/tokenscripts/g_2_5_treefolk_shaman.txt +++ b/forge-gui/res/tokenscripts/g_2_5_treefolk_shaman.txt @@ -1,4 +1,4 @@ -Name:Treefolk Shaman +Name:Treefolk Shaman Token ManaCost:no cost PT:2/5 Colors:green diff --git a/forge-gui/res/tokenscripts/g_3_1_boar.txt b/forge-gui/res/tokenscripts/g_3_1_boar.txt index b7a83de9d3c..18a113bc724 100644 --- a/forge-gui/res/tokenscripts/g_3_1_boar.txt +++ b/forge-gui/res/tokenscripts/g_3_1_boar.txt @@ -1,4 +1,4 @@ -Name:Boar +Name:Boar Token Colors:green ManaCost:no cost PT:3/1 diff --git a/forge-gui/res/tokenscripts/g_3_2_cat_shroud.txt b/forge-gui/res/tokenscripts/g_3_2_cat_shroud.txt index 39f0955869d..c8031e4a07d 100644 --- a/forge-gui/res/tokenscripts/g_3_2_cat_shroud.txt +++ b/forge-gui/res/tokenscripts/g_3_2_cat_shroud.txt @@ -1,4 +1,4 @@ -Name:Cat +Name:Cat Token ManaCost:no cost Types:Creature Cat Colors:green diff --git a/forge-gui/res/tokenscripts/g_3_3_ape.txt b/forge-gui/res/tokenscripts/g_3_3_ape.txt index e0eb4c9e9d3..cb4fd9bcb1f 100644 --- a/forge-gui/res/tokenscripts/g_3_3_ape.txt +++ b/forge-gui/res/tokenscripts/g_3_3_ape.txt @@ -1,4 +1,4 @@ -Name:Ape +Name:Ape Token Colors:green ManaCost:no cost PT:3/3 diff --git a/forge-gui/res/tokenscripts/g_3_3_beast.txt b/forge-gui/res/tokenscripts/g_3_3_beast.txt index 80918b83e63..bd62186be4f 100644 --- a/forge-gui/res/tokenscripts/g_3_3_beast.txt +++ b/forge-gui/res/tokenscripts/g_3_3_beast.txt @@ -1,4 +1,4 @@ -Name:Beast +Name:Beast Token Colors:green ManaCost:no cost PT:3/3 diff --git a/forge-gui/res/tokenscripts/g_3_3_boar.txt b/forge-gui/res/tokenscripts/g_3_3_boar.txt index 87e0fca90e6..6c4e0c27269 100644 --- a/forge-gui/res/tokenscripts/g_3_3_boar.txt +++ b/forge-gui/res/tokenscripts/g_3_3_boar.txt @@ -1,4 +1,4 @@ -Name:Boar +Name:Boar Token Colors:green ManaCost:no cost PT:3/3 diff --git a/forge-gui/res/tokenscripts/g_3_3_centaur.txt b/forge-gui/res/tokenscripts/g_3_3_centaur.txt index ec27c18db6a..33f5b4d6b56 100644 --- a/forge-gui/res/tokenscripts/g_3_3_centaur.txt +++ b/forge-gui/res/tokenscripts/g_3_3_centaur.txt @@ -1,4 +1,4 @@ -Name:Centaur +Name:Centaur Token ManaCost:no cost Types:Creature Centaur Colors:green diff --git a/forge-gui/res/tokenscripts/g_3_3_centaur_pro_black.txt b/forge-gui/res/tokenscripts/g_3_3_centaur_pro_black.txt index d2788e73c36..1ef8280ccda 100644 --- a/forge-gui/res/tokenscripts/g_3_3_centaur_pro_black.txt +++ b/forge-gui/res/tokenscripts/g_3_3_centaur_pro_black.txt @@ -1,4 +1,4 @@ -Name:Centaur +Name:Centaur Token ManaCost:no cost Types:Creature Centaur Colors:green diff --git a/forge-gui/res/tokenscripts/g_3_3_dinosaur_trample.txt b/forge-gui/res/tokenscripts/g_3_3_dinosaur_trample.txt index 0c1f2614b54..1eb3fdfcd8e 100644 --- a/forge-gui/res/tokenscripts/g_3_3_dinosaur_trample.txt +++ b/forge-gui/res/tokenscripts/g_3_3_dinosaur_trample.txt @@ -1,4 +1,4 @@ -Name:Dinosaur +Name:Dinosaur Token ManaCost:no cost Types:Creature Dinosaur Colors:green diff --git a/forge-gui/res/tokenscripts/g_3_3_e_centaur.txt b/forge-gui/res/tokenscripts/g_3_3_e_centaur.txt index 95d180920cf..c1a65823166 100644 --- a/forge-gui/res/tokenscripts/g_3_3_e_centaur.txt +++ b/forge-gui/res/tokenscripts/g_3_3_e_centaur.txt @@ -1,4 +1,4 @@ -Name:Centaur +Name:Centaur Token ManaCost:no cost Types:Enchantment Creature Centaur Colors:green diff --git a/forge-gui/res/tokenscripts/g_3_3_elemental.txt b/forge-gui/res/tokenscripts/g_3_3_elemental.txt index a0206d970bc..924f6e853c0 100644 --- a/forge-gui/res/tokenscripts/g_3_3_elemental.txt +++ b/forge-gui/res/tokenscripts/g_3_3_elemental.txt @@ -1,4 +1,4 @@ -Name:Elemental +Name:Elemental Token Colors:green ManaCost:no cost PT:3/3 diff --git a/forge-gui/res/tokenscripts/g_3_3_elephant.txt b/forge-gui/res/tokenscripts/g_3_3_elephant.txt index 7e567eb1697..75315a55aab 100644 --- a/forge-gui/res/tokenscripts/g_3_3_elephant.txt +++ b/forge-gui/res/tokenscripts/g_3_3_elephant.txt @@ -1,4 +1,4 @@ -Name:Elephant +Name:Elephant Token Colors:green ManaCost:no cost PT:3/3 diff --git a/forge-gui/res/tokenscripts/g_3_3_frog_lizard.txt b/forge-gui/res/tokenscripts/g_3_3_frog_lizard.txt index 4e6e14455ca..6b289469556 100644 --- a/forge-gui/res/tokenscripts/g_3_3_frog_lizard.txt +++ b/forge-gui/res/tokenscripts/g_3_3_frog_lizard.txt @@ -1,4 +1,4 @@ -Name:Frog Lizard +Name:Frog Lizard Token Colors:green ManaCost:no cost PT:3/3 diff --git a/forge-gui/res/tokenscripts/g_3_3_hippo.txt b/forge-gui/res/tokenscripts/g_3_3_hippo.txt index 1edb56724ec..cfade5d9e48 100644 --- a/forge-gui/res/tokenscripts/g_3_3_hippo.txt +++ b/forge-gui/res/tokenscripts/g_3_3_hippo.txt @@ -1,4 +1,4 @@ -Name:Hippo +Name:Hippo Token ManaCost:no cost Types:Creature Hippo Colors:green diff --git a/forge-gui/res/tokenscripts/g_3_3_insect.txt b/forge-gui/res/tokenscripts/g_3_3_insect.txt index 7cdcbf926f6..17f34350496 100644 --- a/forge-gui/res/tokenscripts/g_3_3_insect.txt +++ b/forge-gui/res/tokenscripts/g_3_3_insect.txt @@ -1,4 +1,4 @@ -Name:Insect +Name:Insect Token ManaCost:no cost Types:Creature Insect Colors:green diff --git a/forge-gui/res/tokenscripts/g_3_3_ooze.txt b/forge-gui/res/tokenscripts/g_3_3_ooze.txt index 59cdcff7d87..95f7c5c0cb0 100644 --- a/forge-gui/res/tokenscripts/g_3_3_ooze.txt +++ b/forge-gui/res/tokenscripts/g_3_3_ooze.txt @@ -1,4 +1,4 @@ -Name:Ooze +Name:Ooze Token ManaCost:no cost Types:Creature Ooze Colors:green diff --git a/forge-gui/res/tokenscripts/g_4_2_beast.txt b/forge-gui/res/tokenscripts/g_4_2_beast.txt index c129ad749fc..4b41a837690 100644 --- a/forge-gui/res/tokenscripts/g_4_2_beast.txt +++ b/forge-gui/res/tokenscripts/g_4_2_beast.txt @@ -1,4 +1,4 @@ -Name:Beast +Name:Beast Token Colors:green ManaCost:no cost PT:4/2 diff --git a/forge-gui/res/tokenscripts/g_4_4_bear.txt b/forge-gui/res/tokenscripts/g_4_4_bear.txt index 6e68d86fd37..cbec9341a43 100644 --- a/forge-gui/res/tokenscripts/g_4_4_bear.txt +++ b/forge-gui/res/tokenscripts/g_4_4_bear.txt @@ -1,4 +1,4 @@ -Name:Bear +Name:Bear Token Colors:green ManaCost:no cost PT:4/4 diff --git a/forge-gui/res/tokenscripts/g_4_4_beast.txt b/forge-gui/res/tokenscripts/g_4_4_beast.txt index 17f15ef4e8e..5aeb9801d42 100644 --- a/forge-gui/res/tokenscripts/g_4_4_beast.txt +++ b/forge-gui/res/tokenscripts/g_4_4_beast.txt @@ -1,4 +1,4 @@ -Name:Beast +Name:Beast Token Colors:green ManaCost:no cost PT:4/4 diff --git a/forge-gui/res/tokenscripts/g_4_4_elemental.txt b/forge-gui/res/tokenscripts/g_4_4_elemental.txt index 9bcbbbc547f..3e01c78ecd7 100644 --- a/forge-gui/res/tokenscripts/g_4_4_elemental.txt +++ b/forge-gui/res/tokenscripts/g_4_4_elemental.txt @@ -1,4 +1,4 @@ -Name:Elemental +Name:Elemental Token Colors:green ManaCost:no cost PT:4/4 diff --git a/forge-gui/res/tokenscripts/g_4_4_fungus_beast_trample.txt b/forge-gui/res/tokenscripts/g_4_4_fungus_beast_trample.txt index d81c5a89537..4c6f740e270 100644 --- a/forge-gui/res/tokenscripts/g_4_4_fungus_beast_trample.txt +++ b/forge-gui/res/tokenscripts/g_4_4_fungus_beast_trample.txt @@ -1,4 +1,4 @@ -Name:Fungus Beast +Name:Fungus Beast Token Colors:green ManaCost:no cost PT:4/4 diff --git a/forge-gui/res/tokenscripts/g_4_4_phyrexian_beast.txt b/forge-gui/res/tokenscripts/g_4_4_phyrexian_beast.txt index 34ac0ee0ca8..db4270bad3c 100644 --- a/forge-gui/res/tokenscripts/g_4_4_phyrexian_beast.txt +++ b/forge-gui/res/tokenscripts/g_4_4_phyrexian_beast.txt @@ -1,4 +1,4 @@ -Name:Phyrexian Beast +Name:Phyrexian Beast Token Colors:green ManaCost:no cost PT:4/4 diff --git a/forge-gui/res/tokenscripts/g_4_4_rhino_trample.txt b/forge-gui/res/tokenscripts/g_4_4_rhino_trample.txt index 997e813a90f..79123eddbf0 100644 --- a/forge-gui/res/tokenscripts/g_4_4_rhino_trample.txt +++ b/forge-gui/res/tokenscripts/g_4_4_rhino_trample.txt @@ -1,4 +1,4 @@ -Name:Rhino +Name:Rhino Token Colors:green ManaCost:no cost PT:4/4 diff --git a/forge-gui/res/tokenscripts/g_4_4_troll_warrior_trample.txt b/forge-gui/res/tokenscripts/g_4_4_troll_warrior_trample.txt index c2251c78dba..570c6e08caf 100644 --- a/forge-gui/res/tokenscripts/g_4_4_troll_warrior_trample.txt +++ b/forge-gui/res/tokenscripts/g_4_4_troll_warrior_trample.txt @@ -1,4 +1,4 @@ -Name:Troll Warrior +Name:Troll Warrior Token Colors:green ManaCost:no cost PT:4/4 diff --git a/forge-gui/res/tokenscripts/g_5_3_elemental.txt b/forge-gui/res/tokenscripts/g_5_3_elemental.txt index 84c0fa1cc30..bdfa4a9bd8a 100644 --- a/forge-gui/res/tokenscripts/g_5_3_elemental.txt +++ b/forge-gui/res/tokenscripts/g_5_3_elemental.txt @@ -1,4 +1,4 @@ -Name:Elemental +Name:Elemental Token Colors:green ManaCost:no cost PT:5/3 diff --git a/forge-gui/res/tokenscripts/g_5_4_snake.txt b/forge-gui/res/tokenscripts/g_5_4_snake.txt index 957b1ed0352..11905a44255 100644 --- a/forge-gui/res/tokenscripts/g_5_4_snake.txt +++ b/forge-gui/res/tokenscripts/g_5_4_snake.txt @@ -1,4 +1,4 @@ -Name:Snake +Name:Snake Token ManaCost:no cost Types:Creature Snake Colors:green diff --git a/forge-gui/res/tokenscripts/g_5_5_beast.txt b/forge-gui/res/tokenscripts/g_5_5_beast.txt index 50a8be2a43a..b9105319b51 100644 --- a/forge-gui/res/tokenscripts/g_5_5_beast.txt +++ b/forge-gui/res/tokenscripts/g_5_5_beast.txt @@ -1,4 +1,4 @@ -Name:Beast +Name:Beast Token Colors:green ManaCost:no cost PT:5/5 diff --git a/forge-gui/res/tokenscripts/g_5_5_beast_trample.txt b/forge-gui/res/tokenscripts/g_5_5_beast_trample.txt index 7451bd11728..b45da587ed1 100644 --- a/forge-gui/res/tokenscripts/g_5_5_beast_trample.txt +++ b/forge-gui/res/tokenscripts/g_5_5_beast_trample.txt @@ -1,4 +1,4 @@ -Name:Beast +Name:Beast Token Colors:green ManaCost:no cost PT:5/5 diff --git a/forge-gui/res/tokenscripts/g_5_5_wurm.txt b/forge-gui/res/tokenscripts/g_5_5_wurm.txt index e785ac25c92..2044fcfe805 100644 --- a/forge-gui/res/tokenscripts/g_5_5_wurm.txt +++ b/forge-gui/res/tokenscripts/g_5_5_wurm.txt @@ -1,4 +1,4 @@ -Name:Wurm +Name:Wurm Token Colors:green ManaCost:no cost PT:5/5 diff --git a/forge-gui/res/tokenscripts/g_5_5_wurm_trample.txt b/forge-gui/res/tokenscripts/g_5_5_wurm_trample.txt index d3760353cc7..1eed7c83a3e 100644 --- a/forge-gui/res/tokenscripts/g_5_5_wurm_trample.txt +++ b/forge-gui/res/tokenscripts/g_5_5_wurm_trample.txt @@ -1,4 +1,4 @@ -Name:Wurm +Name:Wurm Token Colors:green ManaCost:no cost PT:5/5 diff --git a/forge-gui/res/tokenscripts/g_6_1_insect_shroud.txt b/forge-gui/res/tokenscripts/g_6_1_insect_shroud.txt index e6448edb9f5..2ae5603debd 100644 --- a/forge-gui/res/tokenscripts/g_6_1_insect_shroud.txt +++ b/forge-gui/res/tokenscripts/g_6_1_insect_shroud.txt @@ -1,4 +1,4 @@ -Name:Insect +Name:Insect Token Colors:green ManaCost:no cost PT:6/1 diff --git a/forge-gui/res/tokenscripts/g_6_6_wurm.txt b/forge-gui/res/tokenscripts/g_6_6_wurm.txt index 2fb75284dee..18517f0b3e0 100644 --- a/forge-gui/res/tokenscripts/g_6_6_wurm.txt +++ b/forge-gui/res/tokenscripts/g_6_6_wurm.txt @@ -1,4 +1,4 @@ -Name:Wurm +Name:Wurm Token Colors:green ManaCost:no cost PT:6/6 diff --git a/forge-gui/res/tokenscripts/g_7_7_elemental_trample.txt b/forge-gui/res/tokenscripts/g_7_7_elemental_trample.txt index 997b8b16391..66d6f09f69b 100644 --- a/forge-gui/res/tokenscripts/g_7_7_elemental_trample.txt +++ b/forge-gui/res/tokenscripts/g_7_7_elemental_trample.txt @@ -1,4 +1,4 @@ -Name:Elemental +Name:Elemental Token Colors:green ManaCost:no cost PT:7/7 diff --git a/forge-gui/res/tokenscripts/g_7_7_giant.txt b/forge-gui/res/tokenscripts/g_7_7_giant.txt index ab0ad7d07b6..c60bec17e33 100644 --- a/forge-gui/res/tokenscripts/g_7_7_giant.txt +++ b/forge-gui/res/tokenscripts/g_7_7_giant.txt @@ -1,4 +1,4 @@ -Name:Giant +Name:Giant Token Colors:green ManaCost:no cost PT:7/7 diff --git a/forge-gui/res/tokenscripts/g_x_x_dinosaur_beast_trample.txt b/forge-gui/res/tokenscripts/g_x_x_dinosaur_beast_trample.txt index 967d820125a..822fb02809e 100644 --- a/forge-gui/res/tokenscripts/g_x_x_dinosaur_beast_trample.txt +++ b/forge-gui/res/tokenscripts/g_x_x_dinosaur_beast_trample.txt @@ -1,4 +1,4 @@ -Name:Dinosaur Beast +Name:Dinosaur Beast Token Colors:green ManaCost:no cost PT:*/* diff --git a/forge-gui/res/tokenscripts/g_x_x_elemental.txt b/forge-gui/res/tokenscripts/g_x_x_elemental.txt index 503369098af..ecc9fc634c3 100644 --- a/forge-gui/res/tokenscripts/g_x_x_elemental.txt +++ b/forge-gui/res/tokenscripts/g_x_x_elemental.txt @@ -1,4 +1,4 @@ -Name:Elemental +Name:Elemental Token Colors:green ManaCost:no cost PT:*/* diff --git a/forge-gui/res/tokenscripts/g_x_x_elephant_resurgence.txt b/forge-gui/res/tokenscripts/g_x_x_elephant_resurgence.txt index 9b2d3f08bd2..ce3b27e6724 100644 --- a/forge-gui/res/tokenscripts/g_x_x_elephant_resurgence.txt +++ b/forge-gui/res/tokenscripts/g_x_x_elephant_resurgence.txt @@ -1,4 +1,4 @@ -Name:Elephant +Name:Elephant Token ManaCost:no cost Types:Creature Elephant Colors:green diff --git a/forge-gui/res/tokenscripts/g_x_x_hydra.txt b/forge-gui/res/tokenscripts/g_x_x_hydra.txt index 75e87378d67..d5010d4dae4 100644 --- a/forge-gui/res/tokenscripts/g_x_x_hydra.txt +++ b/forge-gui/res/tokenscripts/g_x_x_hydra.txt @@ -1,4 +1,4 @@ -Name:Hydra +Name:Hydra Token Colors:green ManaCost:no cost PT:*/* diff --git a/forge-gui/res/tokenscripts/g_x_x_ooze.txt b/forge-gui/res/tokenscripts/g_x_x_ooze.txt index d5aa4f030af..0890a039428 100644 --- a/forge-gui/res/tokenscripts/g_x_x_ooze.txt +++ b/forge-gui/res/tokenscripts/g_x_x_ooze.txt @@ -1,4 +1,4 @@ -Name:Ooze +Name:Ooze Token ManaCost:no cost Types:Creature Ooze Colors:green diff --git a/forge-gui/res/tokenscripts/g_x_x_ooze_gutter_grime.txt b/forge-gui/res/tokenscripts/g_x_x_ooze_gutter_grime.txt index 1c3c11e515e..dcd54e755aa 100644 --- a/forge-gui/res/tokenscripts/g_x_x_ooze_gutter_grime.txt +++ b/forge-gui/res/tokenscripts/g_x_x_ooze_gutter_grime.txt @@ -1,4 +1,4 @@ -Name:Ooze +Name:Ooze Token ManaCost:no cost Types:Creature Ooze Colors:green diff --git a/forge-gui/res/tokenscripts/g_x_x_saproling_burst.txt b/forge-gui/res/tokenscripts/g_x_x_saproling_burst.txt index c915f667b23..6bc4aec9902 100644 --- a/forge-gui/res/tokenscripts/g_x_x_saproling_burst.txt +++ b/forge-gui/res/tokenscripts/g_x_x_saproling_burst.txt @@ -1,4 +1,4 @@ -Name:Saproling +Name:Saproling Token ManaCost:no cost Types:Creature Saproling Colors:green diff --git a/forge-gui/res/tokenscripts/g_x_x_treefolk.txt b/forge-gui/res/tokenscripts/g_x_x_treefolk.txt index c0a5e833252..1a991e94fd1 100644 --- a/forge-gui/res/tokenscripts/g_x_x_treefolk.txt +++ b/forge-gui/res/tokenscripts/g_x_x_treefolk.txt @@ -1,4 +1,4 @@ -Name:Treefolk +Name:Treefolk Token ManaCost:no cost Types:Creature Treefolk Colors:green diff --git a/forge-gui/res/tokenscripts/g_x_x_treefolk_reach_total_lands.txt b/forge-gui/res/tokenscripts/g_x_x_treefolk_reach_total_lands.txt index 9e0fcff193b..46e60946d33 100644 --- a/forge-gui/res/tokenscripts/g_x_x_treefolk_reach_total_lands.txt +++ b/forge-gui/res/tokenscripts/g_x_x_treefolk_reach_total_lands.txt @@ -1,4 +1,4 @@ -Name:Treefolk +Name:Treefolk Token ManaCost:no cost Types:Creature Treefolk Colors:green diff --git a/forge-gui/res/tokenscripts/g_x_x_treefolk_warrior_total_forests.txt b/forge-gui/res/tokenscripts/g_x_x_treefolk_warrior_total_forests.txt index f7306c11a14..136c3e3133a 100644 --- a/forge-gui/res/tokenscripts/g_x_x_treefolk_warrior_total_forests.txt +++ b/forge-gui/res/tokenscripts/g_x_x_treefolk_warrior_total_forests.txt @@ -1,4 +1,4 @@ -Name:Treefolk Warrior +Name:Treefolk Warrior Token ManaCost:no cost Types:Creature Treefolk Warrior Colors:green diff --git a/forge-gui/res/tokenscripts/g_x_x_wurm.txt b/forge-gui/res/tokenscripts/g_x_x_wurm.txt index dae24fc861e..2c8035ddd2b 100644 --- a/forge-gui/res/tokenscripts/g_x_x_wurm.txt +++ b/forge-gui/res/tokenscripts/g_x_x_wurm.txt @@ -1,4 +1,4 @@ -Name:Wurm +Name:Wurm Token Colors:green ManaCost:no cost PT:*/* diff --git a/forge-gui/res/tokenscripts/g_x_y_ooze_types_graveyard.txt b/forge-gui/res/tokenscripts/g_x_y_ooze_types_graveyard.txt index 5e3a153df52..0578dd8011a 100644 --- a/forge-gui/res/tokenscripts/g_x_y_ooze_types_graveyard.txt +++ b/forge-gui/res/tokenscripts/g_x_y_ooze_types_graveyard.txt @@ -1,4 +1,4 @@ -Name:Ooze +Name:Ooze Token ManaCost:no cost Types:Creature Ooze Colors:green diff --git a/forge-gui/res/tokenscripts/goldmeadow_harrier.txt b/forge-gui/res/tokenscripts/goldmeadow_harrier.txt index 0abc5d8429a..40832a41c72 100644 --- a/forge-gui/res/tokenscripts/goldmeadow_harrier.txt +++ b/forge-gui/res/tokenscripts/goldmeadow_harrier.txt @@ -5,4 +5,4 @@ PT:1/1 Types:Creature Kithkin Soldier A:AB$ Tap | Cost$ W T | ValidTgts$ Creature | TgtPrompt$ Select target creature | SpellDescription$ Tap target creature. SVar:NonCombatPriority:1 -Oracle:{W}, {T}: Tap target creature. \ No newline at end of file +Oracle:{W}, {T}: Tap target creature. diff --git a/forge-gui/res/tokenscripts/gu_0_0_fractal.txt b/forge-gui/res/tokenscripts/gu_0_0_fractal.txt index a953e6679f0..cf7dbbdbfcd 100644 --- a/forge-gui/res/tokenscripts/gu_0_0_fractal.txt +++ b/forge-gui/res/tokenscripts/gu_0_0_fractal.txt @@ -1,4 +1,4 @@ -Name:Fractal +Name:Fractal Token Colors:green,blue ManaCost:no cost Types:Creature Fractal diff --git a/forge-gui/res/tokenscripts/gu_1_1_snake.txt b/forge-gui/res/tokenscripts/gu_1_1_snake.txt index 92549ec3db9..526b165b7d0 100644 --- a/forge-gui/res/tokenscripts/gu_1_1_snake.txt +++ b/forge-gui/res/tokenscripts/gu_1_1_snake.txt @@ -1,4 +1,4 @@ -Name:Snake +Name:Snake Token Colors:green,blue ManaCost:no cost PT:1/1 diff --git a/forge-gui/res/tokenscripts/gu_2_2_drake_flying.txt b/forge-gui/res/tokenscripts/gu_2_2_drake_flying.txt index 683cd19435f..045e3d9e644 100644 --- a/forge-gui/res/tokenscripts/gu_2_2_drake_flying.txt +++ b/forge-gui/res/tokenscripts/gu_2_2_drake_flying.txt @@ -1,4 +1,4 @@ -Name:Drake +Name:Drake Token Colors:green,blue ManaCost:no cost PT:2/2 diff --git a/forge-gui/res/tokenscripts/gw_1_1_elf_warrior.txt b/forge-gui/res/tokenscripts/gw_1_1_elf_warrior.txt index 2cf9cf1b23b..ce14d6e69c8 100644 --- a/forge-gui/res/tokenscripts/gw_1_1_elf_warrior.txt +++ b/forge-gui/res/tokenscripts/gw_1_1_elf_warrior.txt @@ -1,4 +1,4 @@ -Name:Elf Warrior +Name:Elf Warrior Token ManaCost:no cost Types:Creature Elf Warrior Colors:green,white diff --git a/forge-gui/res/tokenscripts/gw_1_1_human_soldier_training.txt b/forge-gui/res/tokenscripts/gw_1_1_human_soldier_training.txt index dd45be9288e..834b540f625 100644 --- a/forge-gui/res/tokenscripts/gw_1_1_human_soldier_training.txt +++ b/forge-gui/res/tokenscripts/gw_1_1_human_soldier_training.txt @@ -1,4 +1,4 @@ -Name:Human Soldier +Name:Human Soldier Token ManaCost:no cost Types:Creature Human Soldier Colors:white,green diff --git a/forge-gui/res/tokenscripts/gw_2_2_elf_knight_vigilance.txt b/forge-gui/res/tokenscripts/gw_2_2_elf_knight_vigilance.txt index eaaee6f4d5f..e2dccf349f5 100644 --- a/forge-gui/res/tokenscripts/gw_2_2_elf_knight_vigilance.txt +++ b/forge-gui/res/tokenscripts/gw_2_2_elf_knight_vigilance.txt @@ -1,4 +1,4 @@ -Name:Elf Knight +Name:Elf Knight Token ManaCost:no cost Types:Creature Elf Knight Colors:white,green diff --git a/forge-gui/res/tokenscripts/gw_8_8_elemental_vigilance.txt b/forge-gui/res/tokenscripts/gw_8_8_elemental_vigilance.txt index 21f7b8ef1a1..baac697c3c7 100644 --- a/forge-gui/res/tokenscripts/gw_8_8_elemental_vigilance.txt +++ b/forge-gui/res/tokenscripts/gw_8_8_elemental_vigilance.txt @@ -1,4 +1,4 @@ -Name:Elemental +Name:Elemental Token ManaCost:no cost Types:Creature Elemental Colors:green,white diff --git a/forge-gui/res/tokenscripts/gw_x_x_elemental_total_creatures.txt b/forge-gui/res/tokenscripts/gw_x_x_elemental_total_creatures.txt index d28c12f53fc..87f6bec3e66 100644 --- a/forge-gui/res/tokenscripts/gw_x_x_elemental_total_creatures.txt +++ b/forge-gui/res/tokenscripts/gw_x_x_elemental_total_creatures.txt @@ -1,4 +1,4 @@ -Name:Elemental +Name:Elemental Token ManaCost:no cost Types:Creature Elemental Colors:green,white diff --git a/forge-gui/res/tokenscripts/r_0_1_elemental_rekindling_phoenix.txt b/forge-gui/res/tokenscripts/r_0_1_elemental_rekindling_phoenix.txt index bd3fc89b14a..f0a3941c29e 100644 --- a/forge-gui/res/tokenscripts/r_0_1_elemental_rekindling_phoenix.txt +++ b/forge-gui/res/tokenscripts/r_0_1_elemental_rekindling_phoenix.txt @@ -1,4 +1,4 @@ -Name:Elemental +Name:Elemental Token ManaCost:no cost Types:Creature Elemental Colors:red diff --git a/forge-gui/res/tokenscripts/r_0_2_dragon_egg_defender_hatches_dragon.txt b/forge-gui/res/tokenscripts/r_0_2_dragon_egg_defender_hatches_dragon.txt index a5a98016396..81ef0348343 100644 --- a/forge-gui/res/tokenscripts/r_0_2_dragon_egg_defender_hatches_dragon.txt +++ b/forge-gui/res/tokenscripts/r_0_2_dragon_egg_defender_hatches_dragon.txt @@ -1,4 +1,4 @@ -Name:Dragon Egg +Name:Dragon Egg Token ManaCost:no cost Types:Creature Dragon Egg Colors:red diff --git a/forge-gui/res/tokenscripts/r_1_1_brainiac.txt b/forge-gui/res/tokenscripts/r_1_1_brainiac.txt index 7dcd90e02fa..73f10edb691 100644 --- a/forge-gui/res/tokenscripts/r_1_1_brainiac.txt +++ b/forge-gui/res/tokenscripts/r_1_1_brainiac.txt @@ -1,4 +1,4 @@ -Name:Brainiac +Name:Brainiac Token ManaCost:no cost Types:Creature Brainiac Colors:red diff --git a/forge-gui/res/tokenscripts/r_1_1_devil_burn.txt b/forge-gui/res/tokenscripts/r_1_1_devil_burn.txt index bf978b9e4a1..aeade1e9374 100644 --- a/forge-gui/res/tokenscripts/r_1_1_devil_burn.txt +++ b/forge-gui/res/tokenscripts/r_1_1_devil_burn.txt @@ -1,4 +1,4 @@ -Name:Devil +Name:Devil Token ManaCost:no cost Types:Creature Devil Colors:red diff --git a/forge-gui/res/tokenscripts/r_1_1_dinosaur_haste.txt b/forge-gui/res/tokenscripts/r_1_1_dinosaur_haste.txt index 6c3201e848c..091b80905dc 100644 --- a/forge-gui/res/tokenscripts/r_1_1_dinosaur_haste.txt +++ b/forge-gui/res/tokenscripts/r_1_1_dinosaur_haste.txt @@ -1,4 +1,4 @@ -Name:Dinosaur +Name:Dinosaur Token ManaCost:no cost Types:Creature Dinosaur Colors:red diff --git a/forge-gui/res/tokenscripts/r_1_1_dwarf.txt b/forge-gui/res/tokenscripts/r_1_1_dwarf.txt index f6ff5776ddf..f28138dbcf3 100644 --- a/forge-gui/res/tokenscripts/r_1_1_dwarf.txt +++ b/forge-gui/res/tokenscripts/r_1_1_dwarf.txt @@ -1,4 +1,4 @@ -Name:Dwarf +Name:Dwarf Token ManaCost:no cost Types:Creature Dwarf Colors:red diff --git a/forge-gui/res/tokenscripts/r_1_1_elemental.txt b/forge-gui/res/tokenscripts/r_1_1_elemental.txt index efe72783d4f..b92f37adfd8 100644 --- a/forge-gui/res/tokenscripts/r_1_1_elemental.txt +++ b/forge-gui/res/tokenscripts/r_1_1_elemental.txt @@ -1,4 +1,4 @@ -Name:Elemental +Name:Elemental Token ManaCost:no cost Types:Creature Elemental Colors:red diff --git a/forge-gui/res/tokenscripts/r_1_1_elemental_cat_haste.txt b/forge-gui/res/tokenscripts/r_1_1_elemental_cat_haste.txt index 4f698519083..bbb4bb8f3fb 100644 --- a/forge-gui/res/tokenscripts/r_1_1_elemental_cat_haste.txt +++ b/forge-gui/res/tokenscripts/r_1_1_elemental_cat_haste.txt @@ -1,4 +1,4 @@ -Name:Elemental Cat +Name:Elemental Cat Token ManaCost:no cost Types:Creature Elemental Cat Colors:red diff --git a/forge-gui/res/tokenscripts/r_1_1_elemental_haste.txt b/forge-gui/res/tokenscripts/r_1_1_elemental_haste.txt index f7364348803..37ff90c6f46 100644 --- a/forge-gui/res/tokenscripts/r_1_1_elemental_haste.txt +++ b/forge-gui/res/tokenscripts/r_1_1_elemental_haste.txt @@ -1,4 +1,4 @@ -Name:Elemental +Name:Elemental Token ManaCost:no cost Types:Creature Elemental Colors:red diff --git a/forge-gui/res/tokenscripts/r_1_1_goblin.txt b/forge-gui/res/tokenscripts/r_1_1_goblin.txt index a3a9b86f144..5d50b83b61f 100644 --- a/forge-gui/res/tokenscripts/r_1_1_goblin.txt +++ b/forge-gui/res/tokenscripts/r_1_1_goblin.txt @@ -1,4 +1,4 @@ -Name:Goblin +Name:Goblin Token ManaCost:no cost Types:Creature Goblin Colors:red diff --git a/forge-gui/res/tokenscripts/r_1_1_goblin_all_attack.txt b/forge-gui/res/tokenscripts/r_1_1_goblin_all_attack.txt index 159c4031847..4cd16716254 100644 --- a/forge-gui/res/tokenscripts/r_1_1_goblin_all_attack.txt +++ b/forge-gui/res/tokenscripts/r_1_1_goblin_all_attack.txt @@ -1,4 +1,4 @@ -Name:Goblin +Name:Goblin Token ManaCost:no cost Types:Creature Goblin Colors:red diff --git a/forge-gui/res/tokenscripts/r_1_1_goblin_haste.txt b/forge-gui/res/tokenscripts/r_1_1_goblin_haste.txt index cc5b6c1ba9c..6b92f749fb0 100644 --- a/forge-gui/res/tokenscripts/r_1_1_goblin_haste.txt +++ b/forge-gui/res/tokenscripts/r_1_1_goblin_haste.txt @@ -1,4 +1,4 @@ -Name:Goblin +Name:Goblin Token ManaCost:no cost Types:Creature Goblin Colors:red diff --git a/forge-gui/res/tokenscripts/r_1_1_goblin_noblock.txt b/forge-gui/res/tokenscripts/r_1_1_goblin_noblock.txt index 4cfb1532642..47e58f1539d 100644 --- a/forge-gui/res/tokenscripts/r_1_1_goblin_noblock.txt +++ b/forge-gui/res/tokenscripts/r_1_1_goblin_noblock.txt @@ -1,4 +1,4 @@ -Name:Goblin +Name:Goblin Token ManaCost:no cost Types:Creature Goblin Colors:red diff --git a/forge-gui/res/tokenscripts/r_1_1_goblin_scout_mountainwalk.txt b/forge-gui/res/tokenscripts/r_1_1_goblin_scout_mountainwalk.txt index d5e56a73ae8..2ece14ca284 100644 --- a/forge-gui/res/tokenscripts/r_1_1_goblin_scout_mountainwalk.txt +++ b/forge-gui/res/tokenscripts/r_1_1_goblin_scout_mountainwalk.txt @@ -1,4 +1,4 @@ -Name:Goblin Scout +Name:Goblin Scout Token ManaCost:no cost Types:Creature Goblin Scout Colors:red diff --git a/forge-gui/res/tokenscripts/r_1_1_goblin_wizard_prowess.txt b/forge-gui/res/tokenscripts/r_1_1_goblin_wizard_prowess.txt index 9115ad3a6f6..11c7f1bebf5 100644 --- a/forge-gui/res/tokenscripts/r_1_1_goblin_wizard_prowess.txt +++ b/forge-gui/res/tokenscripts/r_1_1_goblin_wizard_prowess.txt @@ -1,4 +1,4 @@ -Name:Goblin Wizard +Name:Goblin Wizard Token ManaCost:no cost Types:Creature Goblin Wizard Colors:red diff --git a/forge-gui/res/tokenscripts/r_1_1_human.txt b/forge-gui/res/tokenscripts/r_1_1_human.txt index 7a3d68e19d5..82924738a0a 100644 --- a/forge-gui/res/tokenscripts/r_1_1_human.txt +++ b/forge-gui/res/tokenscripts/r_1_1_human.txt @@ -1,4 +1,4 @@ -Name:Human +Name:Human Token ManaCost:no cost Types:Creature Human Colors:red diff --git a/forge-gui/res/tokenscripts/r_1_1_human_haste.txt b/forge-gui/res/tokenscripts/r_1_1_human_haste.txt index 487e4b7d8ce..0398746c2b9 100644 --- a/forge-gui/res/tokenscripts/r_1_1_human_haste.txt +++ b/forge-gui/res/tokenscripts/r_1_1_human_haste.txt @@ -1,4 +1,4 @@ -Name:Human +Name:Human Token ManaCost:no cost Types:Creature Human Colors:red diff --git a/forge-gui/res/tokenscripts/r_1_1_phyrexian_goblin_haste.txt b/forge-gui/res/tokenscripts/r_1_1_phyrexian_goblin_haste.txt index db3fe5ebcbf..59dec950af0 100644 --- a/forge-gui/res/tokenscripts/r_1_1_phyrexian_goblin_haste.txt +++ b/forge-gui/res/tokenscripts/r_1_1_phyrexian_goblin_haste.txt @@ -1,4 +1,4 @@ -Name:Phyrexian Goblin +Name:Phyrexian Goblin Token ManaCost:no cost Types:Creature Phyrexian Goblin Colors:red diff --git a/forge-gui/res/tokenscripts/r_1_1_pirate_noblock_all_attack.txt b/forge-gui/res/tokenscripts/r_1_1_pirate_noblock_all_attack.txt index 36de06e5efe..68957ac1ee1 100644 --- a/forge-gui/res/tokenscripts/r_1_1_pirate_noblock_all_attack.txt +++ b/forge-gui/res/tokenscripts/r_1_1_pirate_noblock_all_attack.txt @@ -1,4 +1,4 @@ -Name:Pirate +Name:Pirate Token ManaCost:no cost Types:Creature Pirate Colors:red diff --git a/forge-gui/res/tokenscripts/r_1_1_satyr_noblock.txt b/forge-gui/res/tokenscripts/r_1_1_satyr_noblock.txt index 686eb9da76f..3311f4fca39 100644 --- a/forge-gui/res/tokenscripts/r_1_1_satyr_noblock.txt +++ b/forge-gui/res/tokenscripts/r_1_1_satyr_noblock.txt @@ -1,4 +1,4 @@ -Name:Satyr +Name:Satyr Token ManaCost:no cost Types:Creature Satyr Colors:red diff --git a/forge-gui/res/tokenscripts/r_1_1_soldier_haste.txt b/forge-gui/res/tokenscripts/r_1_1_soldier_haste.txt index 3a1aecb29a2..80098aefb6c 100644 --- a/forge-gui/res/tokenscripts/r_1_1_soldier_haste.txt +++ b/forge-gui/res/tokenscripts/r_1_1_soldier_haste.txt @@ -1,4 +1,4 @@ -Name:Soldier +Name:Soldier Token ManaCost:no cost Types:Creature Soldier Colors:red diff --git a/forge-gui/res/tokenscripts/r_1_1_survivor.txt b/forge-gui/res/tokenscripts/r_1_1_survivor.txt index 72207b2f291..590edf5b9e6 100644 --- a/forge-gui/res/tokenscripts/r_1_1_survivor.txt +++ b/forge-gui/res/tokenscripts/r_1_1_survivor.txt @@ -1,4 +1,4 @@ -Name:Survivor +Name:Survivor Token ManaCost:no cost Types:Creature Survivor Colors:red diff --git a/forge-gui/res/tokenscripts/r_1_1_warrior.txt b/forge-gui/res/tokenscripts/r_1_1_warrior.txt index 31c2d297ca9..14abfa95125 100644 --- a/forge-gui/res/tokenscripts/r_1_1_warrior.txt +++ b/forge-gui/res/tokenscripts/r_1_1_warrior.txt @@ -1,4 +1,4 @@ -Name:Warrior +Name:Warrior Token ManaCost:no cost Types:Creature Warrior Colors:red diff --git a/forge-gui/res/tokenscripts/r_2_1_dwarf_berserker.txt b/forge-gui/res/tokenscripts/r_2_1_dwarf_berserker.txt index 556b17128fe..97ef32476cf 100644 --- a/forge-gui/res/tokenscripts/r_2_1_dwarf_berserker.txt +++ b/forge-gui/res/tokenscripts/r_2_1_dwarf_berserker.txt @@ -1,4 +1,4 @@ -Name:Dwarf Berserker +Name:Dwarf Berserker Token ManaCost:no cost Types:Creature Dwarf Berserker Colors:red diff --git a/forge-gui/res/tokenscripts/r_2_1_goblin_haste.txt b/forge-gui/res/tokenscripts/r_2_1_goblin_haste.txt index 22e94d31672..233f397490a 100644 --- a/forge-gui/res/tokenscripts/r_2_1_goblin_haste.txt +++ b/forge-gui/res/tokenscripts/r_2_1_goblin_haste.txt @@ -1,4 +1,4 @@ -Name:Goblin +Name:Goblin Token ManaCost:no cost Types:Creature Goblin Colors:red diff --git a/forge-gui/res/tokenscripts/r_2_1_human_wizard.txt b/forge-gui/res/tokenscripts/r_2_1_human_wizard.txt index a0ac47421e8..d393574edc6 100644 --- a/forge-gui/res/tokenscripts/r_2_1_human_wizard.txt +++ b/forge-gui/res/tokenscripts/r_2_1_human_wizard.txt @@ -1,4 +1,4 @@ -Name:Human Wizard +Name:Human Wizard Token ManaCost:no cost Types:Creature Human Wizard Colors:red diff --git a/forge-gui/res/tokenscripts/r_2_2_dragon_flying_firebreathing.txt b/forge-gui/res/tokenscripts/r_2_2_dragon_flying_firebreathing.txt index 3e5b7948d09..fe25764217c 100644 --- a/forge-gui/res/tokenscripts/r_2_2_dragon_flying_firebreathing.txt +++ b/forge-gui/res/tokenscripts/r_2_2_dragon_flying_firebreathing.txt @@ -1,4 +1,4 @@ -Name:Dragon +Name:Dragon Token ManaCost:no cost Types:Creature Dragon Colors:red diff --git a/forge-gui/res/tokenscripts/r_2_2_gremlin.txt b/forge-gui/res/tokenscripts/r_2_2_gremlin.txt index 598a3472733..bd05e347fb8 100644 --- a/forge-gui/res/tokenscripts/r_2_2_gremlin.txt +++ b/forge-gui/res/tokenscripts/r_2_2_gremlin.txt @@ -1,4 +1,4 @@ -Name:Gremlin +Name:Gremlin Token ManaCost:no cost PT:2/2 Colors:red diff --git a/forge-gui/res/tokenscripts/r_2_3_demon_berserker_menace.txt b/forge-gui/res/tokenscripts/r_2_3_demon_berserker_menace.txt index 4f6123b2bde..02fe639f443 100644 --- a/forge-gui/res/tokenscripts/r_2_3_demon_berserker_menace.txt +++ b/forge-gui/res/tokenscripts/r_2_3_demon_berserker_menace.txt @@ -1,4 +1,4 @@ -Name:Demon Berserker +Name:Demon Berserker Token ManaCost:no cost Types:Creature Demon Berserker Colors:red diff --git a/forge-gui/res/tokenscripts/r_2_3_minotaur.txt b/forge-gui/res/tokenscripts/r_2_3_minotaur.txt index 9b67ee61510..d8d39d76a25 100644 --- a/forge-gui/res/tokenscripts/r_2_3_minotaur.txt +++ b/forge-gui/res/tokenscripts/r_2_3_minotaur.txt @@ -1,4 +1,4 @@ -Name:Minotaur +Name:Minotaur Token ManaCost:no cost Types:Creature Minotaur Colors:red diff --git a/forge-gui/res/tokenscripts/r_2_3_minotaur_haste.txt b/forge-gui/res/tokenscripts/r_2_3_minotaur_haste.txt index 8813db20465..d8505805b9b 100644 --- a/forge-gui/res/tokenscripts/r_2_3_minotaur_haste.txt +++ b/forge-gui/res/tokenscripts/r_2_3_minotaur_haste.txt @@ -1,4 +1,4 @@ -Name:Minotaur +Name:Minotaur Token ManaCost:no cost Types:Creature Minotaur Colors:red diff --git a/forge-gui/res/tokenscripts/r_3_1_e_elemental_haste.txt b/forge-gui/res/tokenscripts/r_3_1_e_elemental_haste.txt index 0fe2176a774..df6426405aa 100644 --- a/forge-gui/res/tokenscripts/r_3_1_e_elemental_haste.txt +++ b/forge-gui/res/tokenscripts/r_3_1_e_elemental_haste.txt @@ -1,4 +1,4 @@ -Name:Elemental +Name:Elemental Token ManaCost:no cost Types:Enchantment Creature Elemental Colors:red diff --git a/forge-gui/res/tokenscripts/r_3_1_elemental.txt b/forge-gui/res/tokenscripts/r_3_1_elemental.txt index 2e0b11e3688..13c98c088e8 100644 --- a/forge-gui/res/tokenscripts/r_3_1_elemental.txt +++ b/forge-gui/res/tokenscripts/r_3_1_elemental.txt @@ -1,4 +1,4 @@ -Name:Elemental +Name:Elemental Token ManaCost:no cost Types:Creature Elemental Colors:red diff --git a/forge-gui/res/tokenscripts/r_3_1_elemental_haste.txt b/forge-gui/res/tokenscripts/r_3_1_elemental_haste.txt index 9234b219ab4..ddfa4f90103 100644 --- a/forge-gui/res/tokenscripts/r_3_1_elemental_haste.txt +++ b/forge-gui/res/tokenscripts/r_3_1_elemental_haste.txt @@ -1,4 +1,4 @@ -Name:Elemental +Name:Elemental Token ManaCost:no cost Types:Creature Elemental Colors:red diff --git a/forge-gui/res/tokenscripts/r_3_1_elemental_shaman.txt b/forge-gui/res/tokenscripts/r_3_1_elemental_shaman.txt index 295c4cc8399..64b30cc7567 100644 --- a/forge-gui/res/tokenscripts/r_3_1_elemental_shaman.txt +++ b/forge-gui/res/tokenscripts/r_3_1_elemental_shaman.txt @@ -1,4 +1,4 @@ -Name:Elemental Shaman +Name:Elemental Shaman Token ManaCost:no cost Types:Creature Elemental Shaman Colors:red diff --git a/forge-gui/res/tokenscripts/r_3_1_elemental_shaman_haste.txt b/forge-gui/res/tokenscripts/r_3_1_elemental_shaman_haste.txt index a45e3b652ef..280acaf329e 100644 --- a/forge-gui/res/tokenscripts/r_3_1_elemental_shaman_haste.txt +++ b/forge-gui/res/tokenscripts/r_3_1_elemental_shaman_haste.txt @@ -1,4 +1,4 @@ -Name:Elemental Shaman +Name:Elemental Shaman Token ManaCost:no cost Types:Creature Elemental Shaman Colors:red diff --git a/forge-gui/res/tokenscripts/r_3_1_elemental_trample_haste.txt b/forge-gui/res/tokenscripts/r_3_1_elemental_trample_haste.txt index c37cd3eeb6e..c991f56f220 100644 --- a/forge-gui/res/tokenscripts/r_3_1_elemental_trample_haste.txt +++ b/forge-gui/res/tokenscripts/r_3_1_elemental_trample_haste.txt @@ -1,4 +1,4 @@ -Name:Elemental +Name:Elemental Token ManaCost:no cost Types:Creature Elemental Colors:red diff --git a/forge-gui/res/tokenscripts/r_3_2_wolf.txt b/forge-gui/res/tokenscripts/r_3_2_wolf.txt index 16d03d46c73..ce3d9515ddb 100644 --- a/forge-gui/res/tokenscripts/r_3_2_wolf.txt +++ b/forge-gui/res/tokenscripts/r_3_2_wolf.txt @@ -1,4 +1,4 @@ -Name:Wolf +Name:Wolf Token ManaCost:no cost PT:3/2 Colors:red diff --git a/forge-gui/res/tokenscripts/r_3_3_elemental.txt b/forge-gui/res/tokenscripts/r_3_3_elemental.txt index 0bdef3b7dbe..ec18d1cce36 100644 --- a/forge-gui/res/tokenscripts/r_3_3_elemental.txt +++ b/forge-gui/res/tokenscripts/r_3_3_elemental.txt @@ -1,4 +1,4 @@ -Name:Elemental +Name:Elemental Token ManaCost:no cost Types:Creature Elemental Colors:red diff --git a/forge-gui/res/tokenscripts/r_3_3_fighter_first_strike.txt b/forge-gui/res/tokenscripts/r_3_3_fighter_first_strike.txt index d63fb7ef4d4..6a8163deeda 100644 --- a/forge-gui/res/tokenscripts/r_3_3_fighter_first_strike.txt +++ b/forge-gui/res/tokenscripts/r_3_3_fighter_first_strike.txt @@ -1,4 +1,4 @@ -Name:Fighter +Name:Fighter Token ManaCost:no cost Types:Creature Fighter Colors:red diff --git a/forge-gui/res/tokenscripts/r_3_3_ogre.txt b/forge-gui/res/tokenscripts/r_3_3_ogre.txt index 26c7d0d5c64..193eb191351 100644 --- a/forge-gui/res/tokenscripts/r_3_3_ogre.txt +++ b/forge-gui/res/tokenscripts/r_3_3_ogre.txt @@ -1,4 +1,4 @@ -Name:Ogre +Name:Ogre Token ManaCost:no cost Types:Creature Ogre Colors:red diff --git a/forge-gui/res/tokenscripts/r_4_4_bird_flying.txt b/forge-gui/res/tokenscripts/r_4_4_bird_flying.txt index 50fb4fc409c..15791d48eae 100644 --- a/forge-gui/res/tokenscripts/r_4_4_bird_flying.txt +++ b/forge-gui/res/tokenscripts/r_4_4_bird_flying.txt @@ -1,4 +1,4 @@ -Name:Bird +Name:Bird Token ManaCost:no cost Types:Creature Bird Colors:red diff --git a/forge-gui/res/tokenscripts/r_4_4_devil_haste_treasure.txt b/forge-gui/res/tokenscripts/r_4_4_devil_haste_treasure.txt index 1a085e4cf5c..e98997b89f5 100644 --- a/forge-gui/res/tokenscripts/r_4_4_devil_haste_treasure.txt +++ b/forge-gui/res/tokenscripts/r_4_4_devil_haste_treasure.txt @@ -1,4 +1,4 @@ -Name:Devil +Name:Devil Token ManaCost:no cost Types:Creature Devil Colors:red diff --git a/forge-gui/res/tokenscripts/r_4_4_dragon_flying.txt b/forge-gui/res/tokenscripts/r_4_4_dragon_flying.txt index e5b42013ebd..8ba64f2b148 100644 --- a/forge-gui/res/tokenscripts/r_4_4_dragon_flying.txt +++ b/forge-gui/res/tokenscripts/r_4_4_dragon_flying.txt @@ -1,4 +1,4 @@ -Name:Dragon +Name:Dragon Token ManaCost:no cost Types:Creature Dragon Colors:red diff --git a/forge-gui/res/tokenscripts/r_4_4_giant.txt b/forge-gui/res/tokenscripts/r_4_4_giant.txt index 271091c5e60..d65318b3413 100644 --- a/forge-gui/res/tokenscripts/r_4_4_giant.txt +++ b/forge-gui/res/tokenscripts/r_4_4_giant.txt @@ -1,4 +1,4 @@ -Name:Giant +Name:Giant Token ManaCost:no cost Types:Creature Giant Colors:red diff --git a/forge-gui/res/tokenscripts/r_4_4_giant_chicken.txt b/forge-gui/res/tokenscripts/r_4_4_giant_chicken.txt index 28f4baed396..bdbc3c32b97 100644 --- a/forge-gui/res/tokenscripts/r_4_4_giant_chicken.txt +++ b/forge-gui/res/tokenscripts/r_4_4_giant_chicken.txt @@ -1,4 +1,4 @@ -Name:Giant Chicken +Name:Giant Chicken Token ManaCost:no cost Types:Creature Giant Bird Colors:red diff --git a/forge-gui/res/tokenscripts/r_4_4_hellion.txt b/forge-gui/res/tokenscripts/r_4_4_hellion.txt index 47ab6293fa3..4708bae3a40 100644 --- a/forge-gui/res/tokenscripts/r_4_4_hellion.txt +++ b/forge-gui/res/tokenscripts/r_4_4_hellion.txt @@ -1,4 +1,4 @@ -Name:Hellion +Name:Hellion Token ManaCost:no cost Types:Creature Hellion Colors:red diff --git a/forge-gui/res/tokenscripts/r_4_4_hellion_haste.txt b/forge-gui/res/tokenscripts/r_4_4_hellion_haste.txt index 0323012c597..ed57bb33765 100644 --- a/forge-gui/res/tokenscripts/r_4_4_hellion_haste.txt +++ b/forge-gui/res/tokenscripts/r_4_4_hellion_haste.txt @@ -1,4 +1,4 @@ -Name:Hellion +Name:Hellion Token ManaCost:no cost Types:Creature Hellion Colors:red diff --git a/forge-gui/res/tokenscripts/r_4_4_ogre.txt b/forge-gui/res/tokenscripts/r_4_4_ogre.txt index 12ac95a0c79..0c8c2bc20e3 100644 --- a/forge-gui/res/tokenscripts/r_4_4_ogre.txt +++ b/forge-gui/res/tokenscripts/r_4_4_ogre.txt @@ -1,4 +1,4 @@ -Name:Ogre +Name:Ogre Token ManaCost:no cost Types:Creature Ogre Colors:red diff --git a/forge-gui/res/tokenscripts/r_5_5_dragon_flying.txt b/forge-gui/res/tokenscripts/r_5_5_dragon_flying.txt index 25d2382e3ae..018dc8c7fee 100644 --- a/forge-gui/res/tokenscripts/r_5_5_dragon_flying.txt +++ b/forge-gui/res/tokenscripts/r_5_5_dragon_flying.txt @@ -1,4 +1,4 @@ -Name:Dragon +Name:Dragon Token ManaCost:no cost Types:Creature Dragon Colors:red diff --git a/forge-gui/res/tokenscripts/r_6_6_dragon_flying.txt b/forge-gui/res/tokenscripts/r_6_6_dragon_flying.txt index 4861a6550ac..1056403d90c 100644 --- a/forge-gui/res/tokenscripts/r_6_6_dragon_flying.txt +++ b/forge-gui/res/tokenscripts/r_6_6_dragon_flying.txt @@ -1,4 +1,4 @@ -Name:Dragon +Name:Dragon Token ManaCost:no cost Types:Creature Dragon Colors:red diff --git a/forge-gui/res/tokenscripts/r_7_1_elemental_trample_haste.txt b/forge-gui/res/tokenscripts/r_7_1_elemental_trample_haste.txt index bf86978720d..a6da7ade1ed 100644 --- a/forge-gui/res/tokenscripts/r_7_1_elemental_trample_haste.txt +++ b/forge-gui/res/tokenscripts/r_7_1_elemental_trample_haste.txt @@ -1,4 +1,4 @@ -Name:Elemental +Name:Elemental Token ManaCost:no cost Types:Creature Elemental Colors:red diff --git a/forge-gui/res/tokenscripts/r_8_8_lizard.txt b/forge-gui/res/tokenscripts/r_8_8_lizard.txt index 3c55b63f11e..9cf77a0c70f 100644 --- a/forge-gui/res/tokenscripts/r_8_8_lizard.txt +++ b/forge-gui/res/tokenscripts/r_8_8_lizard.txt @@ -1,4 +1,4 @@ -Name:Lizard +Name:Lizard Token ManaCost:no cost Types:Creature Lizard Colors:red diff --git a/forge-gui/res/tokenscripts/r_x_1_elemental_trample_haste.txt b/forge-gui/res/tokenscripts/r_x_1_elemental_trample_haste.txt index 764a0229294..54f466f259b 100644 --- a/forge-gui/res/tokenscripts/r_x_1_elemental_trample_haste.txt +++ b/forge-gui/res/tokenscripts/r_x_1_elemental_trample_haste.txt @@ -1,4 +1,4 @@ -Name:Elemental +Name:Elemental Token ManaCost:no cost Types:Creature Elemental Colors:red diff --git a/forge-gui/res/tokenscripts/r_x_x_dragon_illusion_flying_haste.txt b/forge-gui/res/tokenscripts/r_x_x_dragon_illusion_flying_haste.txt index 1274bd938f2..7b9d43f6518 100644 --- a/forge-gui/res/tokenscripts/r_x_x_dragon_illusion_flying_haste.txt +++ b/forge-gui/res/tokenscripts/r_x_x_dragon_illusion_flying_haste.txt @@ -1,4 +1,4 @@ -Name:Dragon Illusion +Name:Dragon Illusion Token ManaCost:no cost Types:Creature Dragon Illusion Colors:red diff --git a/forge-gui/res/tokenscripts/r_x_x_elemental.txt b/forge-gui/res/tokenscripts/r_x_x_elemental.txt index 99ba363c3d5..254778053a3 100644 --- a/forge-gui/res/tokenscripts/r_x_x_elemental.txt +++ b/forge-gui/res/tokenscripts/r_x_x_elemental.txt @@ -1,4 +1,4 @@ -Name:Elemental +Name:Elemental Token Colors:red ManaCost:no cost PT:*/* diff --git a/forge-gui/res/tokenscripts/r_x_x_elemental_trample_grave_exile.txt b/forge-gui/res/tokenscripts/r_x_x_elemental_trample_grave_exile.txt index bd4eb1b767a..a0ba74e5400 100644 --- a/forge-gui/res/tokenscripts/r_x_x_elemental_trample_grave_exile.txt +++ b/forge-gui/res/tokenscripts/r_x_x_elemental_trample_grave_exile.txt @@ -1,4 +1,4 @@ -Name:Elemental +Name:Elemental Token ManaCost:no cost Types:Creature Elemental Colors:red diff --git a/forge-gui/res/tokenscripts/rg_1_1_dragon_flying_devour.txt b/forge-gui/res/tokenscripts/rg_1_1_dragon_flying_devour.txt index 86409700d88..1b2beddae16 100644 --- a/forge-gui/res/tokenscripts/rg_1_1_dragon_flying_devour.txt +++ b/forge-gui/res/tokenscripts/rg_1_1_dragon_flying_devour.txt @@ -1,4 +1,4 @@ -Name:Dragon +Name:Dragon Token ManaCost:no cost Types:Creature Dragon Colors:red,green diff --git a/forge-gui/res/tokenscripts/rg_1_1_goblin_warrior.txt b/forge-gui/res/tokenscripts/rg_1_1_goblin_warrior.txt index 8d9c4de476f..848b3d4f1e2 100644 --- a/forge-gui/res/tokenscripts/rg_1_1_goblin_warrior.txt +++ b/forge-gui/res/tokenscripts/rg_1_1_goblin_warrior.txt @@ -1,4 +1,4 @@ -Name:Goblin Warrior +Name:Goblin Warrior Token ManaCost:no cost Types:Creature Goblin Warrior Colors:red,green diff --git a/forge-gui/res/tokenscripts/rg_2_2_satyr_haste.txt b/forge-gui/res/tokenscripts/rg_2_2_satyr_haste.txt index b4b31d81cd4..d1d24df0d32 100644 --- a/forge-gui/res/tokenscripts/rg_2_2_satyr_haste.txt +++ b/forge-gui/res/tokenscripts/rg_2_2_satyr_haste.txt @@ -1,4 +1,4 @@ -Name:Satyr +Name:Satyr Token ManaCost:no cost Types:Creature Satyr Colors:red,green diff --git a/forge-gui/res/tokenscripts/rg_4_4_beast_trample.txt b/forge-gui/res/tokenscripts/rg_4_4_beast_trample.txt index c90867901fd..abcd6f9ed64 100644 --- a/forge-gui/res/tokenscripts/rg_4_4_beast_trample.txt +++ b/forge-gui/res/tokenscripts/rg_4_4_beast_trample.txt @@ -1,4 +1,4 @@ -Name:Beast +Name:Beast Token ManaCost:no cost Types:Creature Beast Colors:red,green diff --git a/forge-gui/res/tokenscripts/rg_4_4_giant_warrior_haste.txt b/forge-gui/res/tokenscripts/rg_4_4_giant_warrior_haste.txt index 1784657ead3..25105f376d3 100644 --- a/forge-gui/res/tokenscripts/rg_4_4_giant_warrior_haste.txt +++ b/forge-gui/res/tokenscripts/rg_4_4_giant_warrior_haste.txt @@ -1,4 +1,4 @@ -Name:Giant Warrior +Name:Giant Warrior Token ManaCost:no cost Types:Creature Giant Warrior Colors:red,green diff --git a/forge-gui/res/tokenscripts/rg_5_4_dragon_spirit_damagesac.txt b/forge-gui/res/tokenscripts/rg_5_4_dragon_spirit_damagesac.txt index d2d1867d5f0..3cef63cb6a6 100644 --- a/forge-gui/res/tokenscripts/rg_5_4_dragon_spirit_damagesac.txt +++ b/forge-gui/res/tokenscripts/rg_5_4_dragon_spirit_damagesac.txt @@ -1,4 +1,4 @@ -Name:Dragon Spirit +Name:Dragon Spirit Token ManaCost:no cost Types:Creature Dragon Spirit Colors:red,green diff --git a/forge-gui/res/tokenscripts/rg_5_5_elemental.txt b/forge-gui/res/tokenscripts/rg_5_5_elemental.txt index f3f0b894eda..4512d5006a9 100644 --- a/forge-gui/res/tokenscripts/rg_5_5_elemental.txt +++ b/forge-gui/res/tokenscripts/rg_5_5_elemental.txt @@ -1,4 +1,4 @@ -Name:Elemental +Name:Elemental Token ManaCost:no cost Types:Creature Elemental Colors:red,green diff --git a/forge-gui/res/tokenscripts/rgw_1_1_sand_warrior.txt b/forge-gui/res/tokenscripts/rgw_1_1_sand_warrior.txt index ab5230762ab..17530b990aa 100644 --- a/forge-gui/res/tokenscripts/rgw_1_1_sand_warrior.txt +++ b/forge-gui/res/tokenscripts/rgw_1_1_sand_warrior.txt @@ -1,4 +1,4 @@ -Name:Sand Warrior +Name:Sand Warrior Token Types:Creature Sand Warrior Colors:red,green,white ManaCost:no cost diff --git a/forge-gui/res/tokenscripts/rgw_8_8_beast.txt b/forge-gui/res/tokenscripts/rgw_8_8_beast.txt index 7f4a99db68e..eedb43bef5e 100644 --- a/forge-gui/res/tokenscripts/rgw_8_8_beast.txt +++ b/forge-gui/res/tokenscripts/rgw_8_8_beast.txt @@ -1,4 +1,4 @@ -Name:Beast +Name:Beast Token Types:Creature Beast Colors:red,green,white ManaCost:no cost diff --git a/forge-gui/res/tokenscripts/riptide_replicator.txt b/forge-gui/res/tokenscripts/riptide_replicator.txt index 2e79845d026..e17ece439c8 100644 --- a/forge-gui/res/tokenscripts/riptide_replicator.txt +++ b/forge-gui/res/tokenscripts/riptide_replicator.txt @@ -1,4 +1,4 @@ -Name:ChosenType +Name:ChosenType Token ManaCost:no cost Types:Creature PT:*/* diff --git a/forge-gui/res/tokenscripts/rw_1_1_goblin_soldier.txt b/forge-gui/res/tokenscripts/rw_1_1_goblin_soldier.txt index 4686e3489b9..64d8b1e81ce 100644 --- a/forge-gui/res/tokenscripts/rw_1_1_goblin_soldier.txt +++ b/forge-gui/res/tokenscripts/rw_1_1_goblin_soldier.txt @@ -1,4 +1,4 @@ -Name:Goblin Soldier +Name:Goblin Soldier Token Types:Creature Goblin Soldier Colors:red,white ManaCost:no cost diff --git a/forge-gui/res/tokenscripts/rw_1_1_soldier_haste.txt b/forge-gui/res/tokenscripts/rw_1_1_soldier_haste.txt index e063344c3fe..30abfd1b23a 100644 --- a/forge-gui/res/tokenscripts/rw_1_1_soldier_haste.txt +++ b/forge-gui/res/tokenscripts/rw_1_1_soldier_haste.txt @@ -1,4 +1,4 @@ -Name:Soldier +Name:Soldier Token Types:Creature Soldier Colors:red,white ManaCost:no cost diff --git a/forge-gui/res/tokenscripts/rw_1_2_human_rogue_haste_damage.txt b/forge-gui/res/tokenscripts/rw_1_2_human_rogue_haste_damage.txt index 140f40734c7..f3de5943dbe 100644 --- a/forge-gui/res/tokenscripts/rw_1_2_human_rogue_haste_damage.txt +++ b/forge-gui/res/tokenscripts/rw_1_2_human_rogue_haste_damage.txt @@ -1,4 +1,4 @@ -Name:Human Rogue +Name:Human Rogue Token Types:Creature Human Rogue Colors:red,white ManaCost:no cost diff --git a/forge-gui/res/tokenscripts/rw_2_1_human_cleric_lifelink_haste.txt b/forge-gui/res/tokenscripts/rw_2_1_human_cleric_lifelink_haste.txt index eb192d3f740..20c48cd3868 100644 --- a/forge-gui/res/tokenscripts/rw_2_1_human_cleric_lifelink_haste.txt +++ b/forge-gui/res/tokenscripts/rw_2_1_human_cleric_lifelink_haste.txt @@ -1,4 +1,4 @@ -Name:Human Cleric +Name:Human Cleric Token Types:Creature Human Cleric Colors:red,white ManaCost:no cost diff --git a/forge-gui/res/tokenscripts/rw_2_2_dinosaur_cat.txt b/forge-gui/res/tokenscripts/rw_2_2_dinosaur_cat.txt index 42b41dbf15b..71d63dd89a1 100644 --- a/forge-gui/res/tokenscripts/rw_2_2_dinosaur_cat.txt +++ b/forge-gui/res/tokenscripts/rw_2_2_dinosaur_cat.txt @@ -1,4 +1,4 @@ -Name:Dinosaur Cat +Name:Dinosaur Cat Token Types:Creature Dinosaur Cat Colors:red,white ManaCost:no cost diff --git a/forge-gui/res/tokenscripts/rw_3_1_human_warrior_trample_haste.txt b/forge-gui/res/tokenscripts/rw_3_1_human_warrior_trample_haste.txt index 3c0b16a0c46..112caf29dbf 100644 --- a/forge-gui/res/tokenscripts/rw_3_1_human_warrior_trample_haste.txt +++ b/forge-gui/res/tokenscripts/rw_3_1_human_warrior_trample_haste.txt @@ -1,4 +1,4 @@ -Name:Human Warrior +Name:Human Warrior Token Types:Creature Human Warrior Colors:red,white ManaCost:no cost diff --git a/forge-gui/res/tokenscripts/rw_3_2_spirit.txt b/forge-gui/res/tokenscripts/rw_3_2_spirit.txt index 605a8f80551..944db0d3519 100644 --- a/forge-gui/res/tokenscripts/rw_3_2_spirit.txt +++ b/forge-gui/res/tokenscripts/rw_3_2_spirit.txt @@ -1,4 +1,4 @@ -Name:Spirit +Name:Spirit Token Types:Creature Spirit Colors:red,white ManaCost:no cost diff --git a/forge-gui/res/tokenscripts/rw_4_4_a_golem.txt b/forge-gui/res/tokenscripts/rw_4_4_a_golem.txt index 94ff4dc94cc..7c07cb5b242 100644 --- a/forge-gui/res/tokenscripts/rw_4_4_a_golem.txt +++ b/forge-gui/res/tokenscripts/rw_4_4_a_golem.txt @@ -1,4 +1,4 @@ -Name:Golem +Name:Golem Token Types:Artifact Creature Golem Colors:red,white ManaCost:no cost diff --git a/forge-gui/res/tokenscripts/u_0_1_a_homunculus.txt b/forge-gui/res/tokenscripts/u_0_1_a_homunculus.txt index 6284058aab4..b974c2e39c0 100644 --- a/forge-gui/res/tokenscripts/u_0_1_a_homunculus.txt +++ b/forge-gui/res/tokenscripts/u_0_1_a_homunculus.txt @@ -1,4 +1,4 @@ -Name:Homunculus +Name:Homunculus Token ManaCost:no cost Types:Artifact Creature Homunculus Colors:blue diff --git a/forge-gui/res/tokenscripts/u_0_1_starfish.txt b/forge-gui/res/tokenscripts/u_0_1_starfish.txt index 6d01b6fc71c..8b5e1ce6086 100644 --- a/forge-gui/res/tokenscripts/u_0_1_starfish.txt +++ b/forge-gui/res/tokenscripts/u_0_1_starfish.txt @@ -1,4 +1,4 @@ -Name:Starfish +Name:Starfish Token ManaCost:no cost Types:Creature Starfish Colors:blue diff --git a/forge-gui/res/tokenscripts/u_0_2_illusion_mesmerize.txt b/forge-gui/res/tokenscripts/u_0_2_illusion_mesmerize.txt index 1f1d57e0e2f..80f2caf8d0f 100644 --- a/forge-gui/res/tokenscripts/u_0_2_illusion_mesmerize.txt +++ b/forge-gui/res/tokenscripts/u_0_2_illusion_mesmerize.txt @@ -1,4 +1,4 @@ -Name:Illusion +Name:Illusion Token Types:Creature Illusion ManaCost:no cost Colors:blue diff --git a/forge-gui/res/tokenscripts/u_0_3_crab.txt b/forge-gui/res/tokenscripts/u_0_3_crab.txt index a15f26e4364..92d930bf152 100644 --- a/forge-gui/res/tokenscripts/u_0_3_crab.txt +++ b/forge-gui/res/tokenscripts/u_0_3_crab.txt @@ -1,4 +1,4 @@ -Name:Crab +Name:Crab Token ManaCost:no cost Types:Creature Crab Colors:blue diff --git a/forge-gui/res/tokenscripts/u_1_0_elemental.txt b/forge-gui/res/tokenscripts/u_1_0_elemental.txt index 13e30a3e7e0..711aa04717f 100644 --- a/forge-gui/res/tokenscripts/u_1_0_elemental.txt +++ b/forge-gui/res/tokenscripts/u_1_0_elemental.txt @@ -1,4 +1,4 @@ -Name:Elemental +Name:Elemental Token ManaCost:no cost Types:Creature Elemental Colors:blue diff --git a/forge-gui/res/tokenscripts/u_1_1_a_thopter_flying.txt b/forge-gui/res/tokenscripts/u_1_1_a_thopter_flying.txt index ec591279dc1..ac04afb21a4 100644 --- a/forge-gui/res/tokenscripts/u_1_1_a_thopter_flying.txt +++ b/forge-gui/res/tokenscripts/u_1_1_a_thopter_flying.txt @@ -1,4 +1,4 @@ -Name:Thopter +Name:Thopter Token ManaCost:no cost Types:Artifact Creature Thopter Colors:blue diff --git a/forge-gui/res/tokenscripts/u_1_1_beeble.txt b/forge-gui/res/tokenscripts/u_1_1_beeble.txt index 195e1436abe..99dfaeffc60 100644 --- a/forge-gui/res/tokenscripts/u_1_1_beeble.txt +++ b/forge-gui/res/tokenscripts/u_1_1_beeble.txt @@ -1,4 +1,4 @@ -Name:Beeble +Name:Beeble Token ManaCost:no cost Types:Creature Beeble Colors:blue diff --git a/forge-gui/res/tokenscripts/u_1_1_bird_flying.txt b/forge-gui/res/tokenscripts/u_1_1_bird_flying.txt index 72cbe166983..d0370a5c0a5 100644 --- a/forge-gui/res/tokenscripts/u_1_1_bird_flying.txt +++ b/forge-gui/res/tokenscripts/u_1_1_bird_flying.txt @@ -1,4 +1,4 @@ -Name:Bird +Name:Bird Token ManaCost:no cost Types:Creature Bird Colors:blue diff --git a/forge-gui/res/tokenscripts/u_1_1_bird_flying_blockflying.txt b/forge-gui/res/tokenscripts/u_1_1_bird_flying_blockflying.txt index abfebbbacb6..3b49b219e2d 100644 --- a/forge-gui/res/tokenscripts/u_1_1_bird_flying_blockflying.txt +++ b/forge-gui/res/tokenscripts/u_1_1_bird_flying_blockflying.txt @@ -1,4 +1,4 @@ -Name:Bird +Name:Bird Token ManaCost:no cost Types:Creature Bird Colors:blue diff --git a/forge-gui/res/tokenscripts/u_1_1_bird_illusion_flying.txt b/forge-gui/res/tokenscripts/u_1_1_bird_illusion_flying.txt index c9a001ee43c..a08717b1a14 100644 --- a/forge-gui/res/tokenscripts/u_1_1_bird_illusion_flying.txt +++ b/forge-gui/res/tokenscripts/u_1_1_bird_illusion_flying.txt @@ -1,4 +1,4 @@ -Name:Bird Illusion +Name:Bird Illusion Token ManaCost:no cost Types:Creature Bird Illusion Colors:blue diff --git a/forge-gui/res/tokenscripts/u_1_1_camarid.txt b/forge-gui/res/tokenscripts/u_1_1_camarid.txt index 71b54ee7e23..648e48664fe 100644 --- a/forge-gui/res/tokenscripts/u_1_1_camarid.txt +++ b/forge-gui/res/tokenscripts/u_1_1_camarid.txt @@ -1,4 +1,4 @@ -Name:Camarid +Name:Camarid Token ManaCost:no cost Types:Creature Camarid Colors:blue diff --git a/forge-gui/res/tokenscripts/u_1_1_faerie_dragon_flying.txt b/forge-gui/res/tokenscripts/u_1_1_faerie_dragon_flying.txt index 23f14a9f4ea..ed034dd0fbd 100644 --- a/forge-gui/res/tokenscripts/u_1_1_faerie_dragon_flying.txt +++ b/forge-gui/res/tokenscripts/u_1_1_faerie_dragon_flying.txt @@ -1,4 +1,4 @@ -Name:Faerie Dragon +Name:Faerie Dragon Token ManaCost:no cost Types:Creature Faerie Dragon Colors:blue diff --git a/forge-gui/res/tokenscripts/u_1_1_faerie_flying.txt b/forge-gui/res/tokenscripts/u_1_1_faerie_flying.txt index 54d1ed9ef06..29ade6ebf3a 100644 --- a/forge-gui/res/tokenscripts/u_1_1_faerie_flying.txt +++ b/forge-gui/res/tokenscripts/u_1_1_faerie_flying.txt @@ -1,4 +1,4 @@ -Name:Faerie +Name:Faerie Token ManaCost:no cost Types:Creature Faerie Colors:blue diff --git a/forge-gui/res/tokenscripts/u_1_1_faerie_spy_flying_haste_draw.txt b/forge-gui/res/tokenscripts/u_1_1_faerie_spy_flying_haste_draw.txt index 18bb6f9ea39..5ee37dc1753 100644 --- a/forge-gui/res/tokenscripts/u_1_1_faerie_spy_flying_haste_draw.txt +++ b/forge-gui/res/tokenscripts/u_1_1_faerie_spy_flying_haste_draw.txt @@ -1,4 +1,4 @@ -Name:Faerie +Name:Faerie Token ManaCost:no cost Types:Creature Faerie Colors:blue diff --git a/forge-gui/res/tokenscripts/u_1_1_human_wizard.txt b/forge-gui/res/tokenscripts/u_1_1_human_wizard.txt index c7cc08b194e..0d05fd1620f 100644 --- a/forge-gui/res/tokenscripts/u_1_1_human_wizard.txt +++ b/forge-gui/res/tokenscripts/u_1_1_human_wizard.txt @@ -1,4 +1,4 @@ -Name:Human Wizard +Name:Human Wizard Token ManaCost:no cost Types:Creature Human Wizard Colors:blue diff --git a/forge-gui/res/tokenscripts/u_1_1_illusion_flying.txt b/forge-gui/res/tokenscripts/u_1_1_illusion_flying.txt index 52271b2d7c7..1d86fc62289 100644 --- a/forge-gui/res/tokenscripts/u_1_1_illusion_flying.txt +++ b/forge-gui/res/tokenscripts/u_1_1_illusion_flying.txt @@ -1,4 +1,4 @@ -Name:Illusion +Name:Illusion Token ManaCost:no cost Types:Creature Illusion Colors:blue diff --git a/forge-gui/res/tokenscripts/u_1_1_illusion_other_illusions.txt b/forge-gui/res/tokenscripts/u_1_1_illusion_other_illusions.txt index 058300289ea..5cf98a34e15 100644 --- a/forge-gui/res/tokenscripts/u_1_1_illusion_other_illusions.txt +++ b/forge-gui/res/tokenscripts/u_1_1_illusion_other_illusions.txt @@ -1,4 +1,4 @@ -Name:Illusion +Name:Illusion Token ManaCost:no cost Types:Creature Illusion Colors:blue diff --git a/forge-gui/res/tokenscripts/u_1_1_merfolk.txt b/forge-gui/res/tokenscripts/u_1_1_merfolk.txt index a0ec07b2384..bc9724430f3 100644 --- a/forge-gui/res/tokenscripts/u_1_1_merfolk.txt +++ b/forge-gui/res/tokenscripts/u_1_1_merfolk.txt @@ -1,4 +1,4 @@ -Name:Merfolk +Name:Merfolk Token ManaCost:no cost Types:Creature Merfolk Colors:blue diff --git a/forge-gui/res/tokenscripts/u_1_1_merfolk_hexproof.txt b/forge-gui/res/tokenscripts/u_1_1_merfolk_hexproof.txt index ed058cf208c..95a2b314af9 100644 --- a/forge-gui/res/tokenscripts/u_1_1_merfolk_hexproof.txt +++ b/forge-gui/res/tokenscripts/u_1_1_merfolk_hexproof.txt @@ -1,4 +1,4 @@ -Name:Merfolk +Name:Merfolk Token ManaCost:no cost Types:Creature Merfolk Colors:blue diff --git a/forge-gui/res/tokenscripts/u_1_1_merfolk_wizard.txt b/forge-gui/res/tokenscripts/u_1_1_merfolk_wizard.txt index 4f1624f40f9..44f629d64bb 100644 --- a/forge-gui/res/tokenscripts/u_1_1_merfolk_wizard.txt +++ b/forge-gui/res/tokenscripts/u_1_1_merfolk_wizard.txt @@ -1,4 +1,4 @@ -Name:Merfolk Wizard +Name:Merfolk Wizard Token ManaCost:no cost Types:Creature Merfolk Wizard Colors:blue diff --git a/forge-gui/res/tokenscripts/u_1_1_spirit_flying.txt b/forge-gui/res/tokenscripts/u_1_1_spirit_flying.txt index cab4a9c095a..bdc4a1bc66a 100644 --- a/forge-gui/res/tokenscripts/u_1_1_spirit_flying.txt +++ b/forge-gui/res/tokenscripts/u_1_1_spirit_flying.txt @@ -1,4 +1,4 @@ -Name:Spirit +Name:Spirit Token ManaCost:no cost Types:Creature Spirit Colors:blue diff --git a/forge-gui/res/tokenscripts/u_1_1_squid_islandwalk.txt b/forge-gui/res/tokenscripts/u_1_1_squid_islandwalk.txt index 035c3e499c7..2a04753219e 100644 --- a/forge-gui/res/tokenscripts/u_1_1_squid_islandwalk.txt +++ b/forge-gui/res/tokenscripts/u_1_1_squid_islandwalk.txt @@ -1,4 +1,4 @@ -Name:Squid +Name:Squid Token ManaCost:no cost Types:Creature Squid Colors:blue diff --git a/forge-gui/res/tokenscripts/u_1_1_tentacle.txt b/forge-gui/res/tokenscripts/u_1_1_tentacle.txt index 690dd81f5fc..8ad3b9e47c9 100644 --- a/forge-gui/res/tokenscripts/u_1_1_tentacle.txt +++ b/forge-gui/res/tokenscripts/u_1_1_tentacle.txt @@ -1,4 +1,4 @@ -Name:Tentacle +Name:Tentacle Token ManaCost:no cost Types:Creature Tentacle Colors:blue diff --git a/forge-gui/res/tokenscripts/u_1_1_wizard_flying.txt b/forge-gui/res/tokenscripts/u_1_1_wizard_flying.txt index c20298e7050..af243524c1e 100644 --- a/forge-gui/res/tokenscripts/u_1_1_wizard_flying.txt +++ b/forge-gui/res/tokenscripts/u_1_1_wizard_flying.txt @@ -1,4 +1,4 @@ -Name:Wizard +Name:Wizard Token ManaCost:no cost Types:Creature Wizard Colors:blue diff --git a/forge-gui/res/tokenscripts/u_2_1_a_phyrexian_myr.txt b/forge-gui/res/tokenscripts/u_2_1_a_phyrexian_myr.txt index b8197fe2341..5e9c0bbc9d1 100644 --- a/forge-gui/res/tokenscripts/u_2_1_a_phyrexian_myr.txt +++ b/forge-gui/res/tokenscripts/u_2_1_a_phyrexian_myr.txt @@ -1,4 +1,4 @@ -Name:Phyrexian Myr +Name:Phyrexian Myr Token ManaCost:no cost Types:Artifact Creature Phyrexian Myr Colors:blue diff --git a/forge-gui/res/tokenscripts/u_2_2_bird_flying.txt b/forge-gui/res/tokenscripts/u_2_2_bird_flying.txt index b470ea0aac4..1eb6e824437 100644 --- a/forge-gui/res/tokenscripts/u_2_2_bird_flying.txt +++ b/forge-gui/res/tokenscripts/u_2_2_bird_flying.txt @@ -1,4 +1,4 @@ -Name:Bird +Name:Bird Token ManaCost:no cost Types:Creature Bird Colors:blue diff --git a/forge-gui/res/tokenscripts/u_2_2_djinn_monk_flying.txt b/forge-gui/res/tokenscripts/u_2_2_djinn_monk_flying.txt index 8cae7751c5e..8dde331ea8a 100644 --- a/forge-gui/res/tokenscripts/u_2_2_djinn_monk_flying.txt +++ b/forge-gui/res/tokenscripts/u_2_2_djinn_monk_flying.txt @@ -1,4 +1,4 @@ -Name:Djinn Monk +Name:Djinn Monk Token ManaCost:no cost Types:Creature Djinn Monk Colors:blue diff --git a/forge-gui/res/tokenscripts/u_2_2_drake_flying.txt b/forge-gui/res/tokenscripts/u_2_2_drake_flying.txt index 386f92206ef..faa49a1fb8a 100644 --- a/forge-gui/res/tokenscripts/u_2_2_drake_flying.txt +++ b/forge-gui/res/tokenscripts/u_2_2_drake_flying.txt @@ -1,4 +1,4 @@ -Name:Drake +Name:Drake Token ManaCost:no cost Types:Creature Drake Colors:blue diff --git a/forge-gui/res/tokenscripts/u_2_2_e_bird_flying.txt b/forge-gui/res/tokenscripts/u_2_2_e_bird_flying.txt index 549aadacb6f..d88fc2f14b7 100644 --- a/forge-gui/res/tokenscripts/u_2_2_e_bird_flying.txt +++ b/forge-gui/res/tokenscripts/u_2_2_e_bird_flying.txt @@ -1,4 +1,4 @@ -Name:Bird +Name:Bird Token ManaCost:no cost Types:Enchantment Creature Bird Colors:blue diff --git a/forge-gui/res/tokenscripts/u_2_2_elemental_flying.txt b/forge-gui/res/tokenscripts/u_2_2_elemental_flying.txt index f137b175704..fecd80f0548 100644 --- a/forge-gui/res/tokenscripts/u_2_2_elemental_flying.txt +++ b/forge-gui/res/tokenscripts/u_2_2_elemental_flying.txt @@ -1,4 +1,4 @@ -Name:Elemental +Name:Elemental Token ManaCost:no cost Types:Creature Elemental Colors:blue diff --git a/forge-gui/res/tokenscripts/u_2_2_homunculus.txt b/forge-gui/res/tokenscripts/u_2_2_homunculus.txt index 98fe7c4e79e..2dc10401619 100644 --- a/forge-gui/res/tokenscripts/u_2_2_homunculus.txt +++ b/forge-gui/res/tokenscripts/u_2_2_homunculus.txt @@ -1,4 +1,4 @@ -Name:Homunculus +Name:Homunculus Token ManaCost:no cost Types:Creature Homunculus Colors:blue diff --git a/forge-gui/res/tokenscripts/u_2_2_illusion.txt b/forge-gui/res/tokenscripts/u_2_2_illusion.txt index 5310390b072..d611d38e460 100644 --- a/forge-gui/res/tokenscripts/u_2_2_illusion.txt +++ b/forge-gui/res/tokenscripts/u_2_2_illusion.txt @@ -1,4 +1,4 @@ -Name:Illusion +Name:Illusion Token ManaCost:no cost Types:Creature Illusion Colors:blue diff --git a/forge-gui/res/tokenscripts/u_2_2_illusion_illusory.txt b/forge-gui/res/tokenscripts/u_2_2_illusion_illusory.txt index 9c61f20b0fd..4a44367534a 100644 --- a/forge-gui/res/tokenscripts/u_2_2_illusion_illusory.txt +++ b/forge-gui/res/tokenscripts/u_2_2_illusion_illusory.txt @@ -1,4 +1,4 @@ -Name:Illusion +Name:Illusion Token ManaCost:no cost Types:Creature Illusion Colors:blue diff --git a/forge-gui/res/tokenscripts/u_2_2_shapeshifter_changeling.txt b/forge-gui/res/tokenscripts/u_2_2_shapeshifter_changeling.txt index 7369d95ef36..be44166589a 100644 --- a/forge-gui/res/tokenscripts/u_2_2_shapeshifter_changeling.txt +++ b/forge-gui/res/tokenscripts/u_2_2_shapeshifter_changeling.txt @@ -1,4 +1,4 @@ -Name:Shapeshifter +Name:Shapeshifter Token Colors:blue ManaCost:no cost Types:Creature Shapeshifter diff --git a/forge-gui/res/tokenscripts/u_2_2_wizard.txt b/forge-gui/res/tokenscripts/u_2_2_wizard.txt index df2a7a29b3c..c84e0a38dbc 100644 --- a/forge-gui/res/tokenscripts/u_2_2_wizard.txt +++ b/forge-gui/res/tokenscripts/u_2_2_wizard.txt @@ -1,4 +1,4 @@ -Name:Wizard +Name:Wizard Token ManaCost:no cost Types:Creature Wizard Colors:blue diff --git a/forge-gui/res/tokenscripts/u_3_2_reflection.txt b/forge-gui/res/tokenscripts/u_3_2_reflection.txt index f74176c5d87..37fa03ca599 100644 --- a/forge-gui/res/tokenscripts/u_3_2_reflection.txt +++ b/forge-gui/res/tokenscripts/u_3_2_reflection.txt @@ -1,4 +1,4 @@ -Name:Reflection +Name:Reflection Token ManaCost:no cost Types:Creature Reflection Colors:blue diff --git a/forge-gui/res/tokenscripts/u_3_3_fish_hatches_whale.txt b/forge-gui/res/tokenscripts/u_3_3_fish_hatches_whale.txt index d6d1d78aa2a..9fd2cfc76ef 100644 --- a/forge-gui/res/tokenscripts/u_3_3_fish_hatches_whale.txt +++ b/forge-gui/res/tokenscripts/u_3_3_fish_hatches_whale.txt @@ -1,4 +1,4 @@ -Name:Fish +Name:Fish Token ManaCost:no cost Types:Creature Fish Colors:blue diff --git a/forge-gui/res/tokenscripts/u_3_3_weird_defender_flying.txt b/forge-gui/res/tokenscripts/u_3_3_weird_defender_flying.txt index ceb684b011f..7cb90fda618 100644 --- a/forge-gui/res/tokenscripts/u_3_3_weird_defender_flying.txt +++ b/forge-gui/res/tokenscripts/u_3_3_weird_defender_flying.txt @@ -1,4 +1,4 @@ -Name:Weird +Name:Weird Token ManaCost:no cost Types:Creature Weird Colors:blue diff --git a/forge-gui/res/tokenscripts/u_4_3_salamander_warrior.txt b/forge-gui/res/tokenscripts/u_4_3_salamander_warrior.txt index df0586f6a6d..96686504f6b 100644 --- a/forge-gui/res/tokenscripts/u_4_3_salamander_warrior.txt +++ b/forge-gui/res/tokenscripts/u_4_3_salamander_warrior.txt @@ -1,4 +1,4 @@ -Name:Salamander Warrior +Name:Salamander Warrior Token ManaCost:no cost Types:Creature Salamander Warrior Colors:blue diff --git a/forge-gui/res/tokenscripts/u_4_4_elemental_bird_flying.txt b/forge-gui/res/tokenscripts/u_4_4_elemental_bird_flying.txt index ddfbeb71a2c..f196cf35ff7 100644 --- a/forge-gui/res/tokenscripts/u_4_4_elemental_bird_flying.txt +++ b/forge-gui/res/tokenscripts/u_4_4_elemental_bird_flying.txt @@ -1,4 +1,4 @@ -Name:Elemental Bird +Name:Elemental Bird Token ManaCost:no cost Types:Creature Elemental Bird Colors:blue diff --git a/forge-gui/res/tokenscripts/u_4_4_giant_wizard.txt b/forge-gui/res/tokenscripts/u_4_4_giant_wizard.txt index 219d9f9fab0..703d80adc27 100644 --- a/forge-gui/res/tokenscripts/u_4_4_giant_wizard.txt +++ b/forge-gui/res/tokenscripts/u_4_4_giant_wizard.txt @@ -1,4 +1,4 @@ -Name:Giant Wizard +Name:Giant Wizard Token ManaCost:no cost Types:Creature Giant Wizard Colors:blue diff --git a/forge-gui/res/tokenscripts/u_4_4_sphinx_flying.txt b/forge-gui/res/tokenscripts/u_4_4_sphinx_flying.txt index fa05c65f2bc..404ccf870fb 100644 --- a/forge-gui/res/tokenscripts/u_4_4_sphinx_flying.txt +++ b/forge-gui/res/tokenscripts/u_4_4_sphinx_flying.txt @@ -1,4 +1,4 @@ -Name:Sphinx +Name:Sphinx Token ManaCost:no cost Types:Creature Sphinx Colors:blue diff --git a/forge-gui/res/tokenscripts/u_5_5_dragon_spirit_flying.txt b/forge-gui/res/tokenscripts/u_5_5_dragon_spirit_flying.txt index c0637373e76..d263f07eeb7 100644 --- a/forge-gui/res/tokenscripts/u_5_5_dragon_spirit_flying.txt +++ b/forge-gui/res/tokenscripts/u_5_5_dragon_spirit_flying.txt @@ -1,4 +1,4 @@ -Name:Dragon Spirit +Name:Dragon Spirit Token ManaCost:no cost Types:Creature Dragon Spirit Colors:blue diff --git a/forge-gui/res/tokenscripts/u_5_5_wall_defender.txt b/forge-gui/res/tokenscripts/u_5_5_wall_defender.txt index e76e401c5bc..a8c0851fcd8 100644 --- a/forge-gui/res/tokenscripts/u_5_5_wall_defender.txt +++ b/forge-gui/res/tokenscripts/u_5_5_wall_defender.txt @@ -1,4 +1,4 @@ -Name:Wall +Name:Wall Token ManaCost:no cost Types:Creature Wall Colors:blue diff --git a/forge-gui/res/tokenscripts/u_6_6_whale_hatches_kraken.txt b/forge-gui/res/tokenscripts/u_6_6_whale_hatches_kraken.txt index ab986bd4273..97d391f0b15 100644 --- a/forge-gui/res/tokenscripts/u_6_6_whale_hatches_kraken.txt +++ b/forge-gui/res/tokenscripts/u_6_6_whale_hatches_kraken.txt @@ -1,4 +1,4 @@ -Name:Whale +Name:Whale Token ManaCost:no cost Types:Creature Whale Colors:blue diff --git a/forge-gui/res/tokenscripts/u_8_8_kraken.txt b/forge-gui/res/tokenscripts/u_8_8_kraken.txt index 96388e28772..10763964059 100644 --- a/forge-gui/res/tokenscripts/u_8_8_kraken.txt +++ b/forge-gui/res/tokenscripts/u_8_8_kraken.txt @@ -1,4 +1,4 @@ -Name:Kraken +Name:Kraken Token ManaCost:no cost Types:Creature Kraken Colors:blue diff --git a/forge-gui/res/tokenscripts/u_8_8_kraken_hexproof.txt b/forge-gui/res/tokenscripts/u_8_8_kraken_hexproof.txt index 51714b06228..eea51dead60 100644 --- a/forge-gui/res/tokenscripts/u_8_8_kraken_hexproof.txt +++ b/forge-gui/res/tokenscripts/u_8_8_kraken_hexproof.txt @@ -1,4 +1,4 @@ -Name:Kraken +Name:Kraken Token ManaCost:no cost Types:Creature Kraken Colors:blue diff --git a/forge-gui/res/tokenscripts/u_8_8_octopus.txt b/forge-gui/res/tokenscripts/u_8_8_octopus.txt index db072638def..f0271827a2b 100644 --- a/forge-gui/res/tokenscripts/u_8_8_octopus.txt +++ b/forge-gui/res/tokenscripts/u_8_8_octopus.txt @@ -1,4 +1,4 @@ -Name:Octopus +Name:Octopus Token ManaCost:no cost Types:Creature Octopus Colors:blue diff --git a/forge-gui/res/tokenscripts/u_9_9_kraken.txt b/forge-gui/res/tokenscripts/u_9_9_kraken.txt index e824b538c68..3d21db33684 100644 --- a/forge-gui/res/tokenscripts/u_9_9_kraken.txt +++ b/forge-gui/res/tokenscripts/u_9_9_kraken.txt @@ -1,4 +1,4 @@ -Name:Kraken +Name:Kraken Token ManaCost:no cost Types:Creature Kraken Colors:blue diff --git a/forge-gui/res/tokenscripts/u_x_x_dog_illusion_cardsinhand.txt b/forge-gui/res/tokenscripts/u_x_x_dog_illusion_cardsinhand.txt index 89cf60ded0f..039b41993f8 100644 --- a/forge-gui/res/tokenscripts/u_x_x_dog_illusion_cardsinhand.txt +++ b/forge-gui/res/tokenscripts/u_x_x_dog_illusion_cardsinhand.txt @@ -1,4 +1,4 @@ -Name:Dog Illusion +Name:Dog Illusion Token ManaCost:no cost Types:Creature Dog Illusion Colors:blue diff --git a/forge-gui/res/tokenscripts/u_x_x_illusion.txt b/forge-gui/res/tokenscripts/u_x_x_illusion.txt index 13bb19d2953..b3ef8c1cf1c 100644 --- a/forge-gui/res/tokenscripts/u_x_x_illusion.txt +++ b/forge-gui/res/tokenscripts/u_x_x_illusion.txt @@ -1,4 +1,4 @@ -Name:Illusion +Name:Illusion Token ManaCost:no cost Types:Creature Illusion Colors:blue diff --git a/forge-gui/res/tokenscripts/u_x_x_orb_flying.txt b/forge-gui/res/tokenscripts/u_x_x_orb_flying.txt index b1b2b9fdc9e..15e0b6cf47e 100644 --- a/forge-gui/res/tokenscripts/u_x_x_orb_flying.txt +++ b/forge-gui/res/tokenscripts/u_x_x_orb_flying.txt @@ -1,4 +1,4 @@ -Name:Orb +Name:Orb Token ManaCost:no cost Types:Creature Orb Colors:blue diff --git a/forge-gui/res/tokenscripts/u_x_x_shark_flying.txt b/forge-gui/res/tokenscripts/u_x_x_shark_flying.txt index 8da980b6426..2887c478d75 100644 --- a/forge-gui/res/tokenscripts/u_x_x_shark_flying.txt +++ b/forge-gui/res/tokenscripts/u_x_x_shark_flying.txt @@ -1,4 +1,4 @@ -Name:Shark +Name:Shark Token ManaCost:no cost Types:Creature Shark Colors:blue diff --git a/forge-gui/res/tokenscripts/u_x_x_zombie.txt b/forge-gui/res/tokenscripts/u_x_x_zombie.txt index 638c56e6e0b..c1e95a0428c 100644 --- a/forge-gui/res/tokenscripts/u_x_x_zombie.txt +++ b/forge-gui/res/tokenscripts/u_x_x_zombie.txt @@ -1,4 +1,4 @@ -Name:Zombie +Name:Zombie Token ManaCost:no cost Types:Creature Zombie Colors:blue diff --git a/forge-gui/res/tokenscripts/ub_1_1_faerie_rogue_flying.txt b/forge-gui/res/tokenscripts/ub_1_1_faerie_rogue_flying.txt index 9d102dc7d7b..43164abab74 100644 --- a/forge-gui/res/tokenscripts/ub_1_1_faerie_rogue_flying.txt +++ b/forge-gui/res/tokenscripts/ub_1_1_faerie_rogue_flying.txt @@ -1,4 +1,4 @@ -Name:Faerie Rogue +Name:Faerie Rogue Token ManaCost:no cost Types:Creature Faerie Rogue Colors:blue,black diff --git a/forge-gui/res/tokenscripts/ub_1_1_horror_flying.txt b/forge-gui/res/tokenscripts/ub_1_1_horror_flying.txt index 4056d87c918..355357d49d3 100644 --- a/forge-gui/res/tokenscripts/ub_1_1_horror_flying.txt +++ b/forge-gui/res/tokenscripts/ub_1_1_horror_flying.txt @@ -1,4 +1,4 @@ -Name:Horror +Name:Horror Token ManaCost:no cost Types:Creature Horror Colors:blue,black diff --git a/forge-gui/res/tokenscripts/ub_1_1_zombie_wizard.txt b/forge-gui/res/tokenscripts/ub_1_1_zombie_wizard.txt index 5b47e98a4e9..5b534fdab3d 100644 --- a/forge-gui/res/tokenscripts/ub_1_1_zombie_wizard.txt +++ b/forge-gui/res/tokenscripts/ub_1_1_zombie_wizard.txt @@ -1,4 +1,4 @@ -Name:Zombie Wizard +Name:Zombie Wizard Token ManaCost:no cost Types:Creature Zombie Wizard Colors:blue,black diff --git a/forge-gui/res/tokenscripts/ub_2_3_nightmare_mill.txt b/forge-gui/res/tokenscripts/ub_2_3_nightmare_mill.txt index 4859aaf4a7a..74fd1d5bcb2 100644 --- a/forge-gui/res/tokenscripts/ub_2_3_nightmare_mill.txt +++ b/forge-gui/res/tokenscripts/ub_2_3_nightmare_mill.txt @@ -1,4 +1,4 @@ -Name:Nightmare +Name:Nightmare Token ManaCost:no cost Types:Creature Nightmare Colors:blue,black diff --git a/forge-gui/res/tokenscripts/ub_x_x_zombie_menace.txt b/forge-gui/res/tokenscripts/ub_x_x_zombie_menace.txt index 54ef7eb410f..1c678377f69 100644 --- a/forge-gui/res/tokenscripts/ub_x_x_zombie_menace.txt +++ b/forge-gui/res/tokenscripts/ub_x_x_zombie_menace.txt @@ -1,4 +1,4 @@ -Name:Zombie +Name:Zombie Token ManaCost:no cost Types:Creature Zombie Colors:blue,black diff --git a/forge-gui/res/tokenscripts/ur_1_1_insect_flying_haste.txt b/forge-gui/res/tokenscripts/ur_1_1_insect_flying_haste.txt index c369d70ae5e..a1d233924ce 100644 --- a/forge-gui/res/tokenscripts/ur_1_1_insect_flying_haste.txt +++ b/forge-gui/res/tokenscripts/ur_1_1_insect_flying_haste.txt @@ -1,4 +1,4 @@ -Name:Insect +Name:Insect Token ManaCost:no cost Types:Creature Insect Colors:blue,red diff --git a/forge-gui/res/tokenscripts/ur_4_4_elemental.txt b/forge-gui/res/tokenscripts/ur_4_4_elemental.txt index 9eaa688a803..01654ef954c 100644 --- a/forge-gui/res/tokenscripts/ur_4_4_elemental.txt +++ b/forge-gui/res/tokenscripts/ur_4_4_elemental.txt @@ -1,4 +1,4 @@ -Name:Elemental +Name:Elemental Token ManaCost:no cost Colors:blue,red Types:Creature Elemental diff --git a/forge-gui/res/tokenscripts/ur_5_5_elemental_flying.txt b/forge-gui/res/tokenscripts/ur_5_5_elemental_flying.txt index dbbe1aa69b2..42a59815767 100644 --- a/forge-gui/res/tokenscripts/ur_5_5_elemental_flying.txt +++ b/forge-gui/res/tokenscripts/ur_5_5_elemental_flying.txt @@ -1,4 +1,4 @@ -Name:Elemental +Name:Elemental Token ManaCost:no cost Types:Creature Elemental Colors:blue,red diff --git a/forge-gui/res/tokenscripts/ur_x_x_weird.txt b/forge-gui/res/tokenscripts/ur_x_x_weird.txt index 22a2cd5dd7b..d9e4ad756b8 100644 --- a/forge-gui/res/tokenscripts/ur_x_x_weird.txt +++ b/forge-gui/res/tokenscripts/ur_x_x_weird.txt @@ -1,4 +1,4 @@ -Name:Weird +Name:Weird Token ManaCost:no cost Types:Creature Weird Colors:blue,red diff --git a/forge-gui/res/tokenscripts/volraths_laboratory.txt b/forge-gui/res/tokenscripts/volraths_laboratory.txt index ad251755769..4e5332ff41d 100644 --- a/forge-gui/res/tokenscripts/volraths_laboratory.txt +++ b/forge-gui/res/tokenscripts/volraths_laboratory.txt @@ -1,4 +1,4 @@ -Name:ChosenType +Name:ChosenType Token ManaCost:no cost Types:Creature PT:2/2 diff --git a/forge-gui/res/tokenscripts/w_0_0_spirit_flying.txt b/forge-gui/res/tokenscripts/w_0_0_spirit_flying.txt index 9135eadc2c1..4e94d561eed 100644 --- a/forge-gui/res/tokenscripts/w_0_0_spirit_flying.txt +++ b/forge-gui/res/tokenscripts/w_0_0_spirit_flying.txt @@ -1,4 +1,4 @@ -Name:Spirit +Name:Spirit Token ManaCost:no cost Types:Creature Spirit Colors:white diff --git a/forge-gui/res/tokenscripts/w_0_1_caribou.txt b/forge-gui/res/tokenscripts/w_0_1_caribou.txt index 69cd9dafa8d..cb2878d50ed 100644 --- a/forge-gui/res/tokenscripts/w_0_1_caribou.txt +++ b/forge-gui/res/tokenscripts/w_0_1_caribou.txt @@ -1,4 +1,4 @@ -Name:Caribou +Name:Caribou Token ManaCost:no cost Types:Creature Caribou Colors:white diff --git a/forge-gui/res/tokenscripts/w_0_1_deserter.txt b/forge-gui/res/tokenscripts/w_0_1_deserter.txt index eae53eb035c..465535d9710 100644 --- a/forge-gui/res/tokenscripts/w_0_1_deserter.txt +++ b/forge-gui/res/tokenscripts/w_0_1_deserter.txt @@ -1,4 +1,4 @@ -Name:Deserter +Name:Deserter Token ManaCost:no cost Types:Creature Deserter Colors:white diff --git a/forge-gui/res/tokenscripts/w_0_1_goat.txt b/forge-gui/res/tokenscripts/w_0_1_goat.txt index f9f833a65cb..fbc30c27614 100644 --- a/forge-gui/res/tokenscripts/w_0_1_goat.txt +++ b/forge-gui/res/tokenscripts/w_0_1_goat.txt @@ -1,4 +1,4 @@ -Name:Goat +Name:Goat Token ManaCost:no cost Types:Creature Goat Colors:white diff --git a/forge-gui/res/tokenscripts/w_0_3_wall_defender.txt b/forge-gui/res/tokenscripts/w_0_3_wall_defender.txt index 7e5d45f4219..da45aec9e9d 100644 --- a/forge-gui/res/tokenscripts/w_0_3_wall_defender.txt +++ b/forge-gui/res/tokenscripts/w_0_3_wall_defender.txt @@ -1,4 +1,4 @@ -Name:Wall +Name:Wall Token ManaCost:no cost Types:Creature Wall Colors:white diff --git a/forge-gui/res/tokenscripts/w_1_1_bird_flying.txt b/forge-gui/res/tokenscripts/w_1_1_bird_flying.txt index 3184c9825ad..4cd00de705d 100644 --- a/forge-gui/res/tokenscripts/w_1_1_bird_flying.txt +++ b/forge-gui/res/tokenscripts/w_1_1_bird_flying.txt @@ -1,4 +1,4 @@ -Name:Bird +Name:Bird Token ManaCost:no cost Types:Creature Bird Colors:white diff --git a/forge-gui/res/tokenscripts/w_1_1_bird_soldier_flying.txt b/forge-gui/res/tokenscripts/w_1_1_bird_soldier_flying.txt index 623675f4b11..3145cc0fcde 100644 --- a/forge-gui/res/tokenscripts/w_1_1_bird_soldier_flying.txt +++ b/forge-gui/res/tokenscripts/w_1_1_bird_soldier_flying.txt @@ -1,4 +1,4 @@ -Name:Bird Soldier +Name:Bird Soldier Token ManaCost:no cost Types:Creature Bird Soldier Colors:white diff --git a/forge-gui/res/tokenscripts/w_1_1_cat.txt b/forge-gui/res/tokenscripts/w_1_1_cat.txt index e7461356d7b..ddab95a5433 100644 --- a/forge-gui/res/tokenscripts/w_1_1_cat.txt +++ b/forge-gui/res/tokenscripts/w_1_1_cat.txt @@ -1,4 +1,4 @@ -Name:Cat +Name:Cat Token ManaCost:no cost PT:1/1 Colors:white diff --git a/forge-gui/res/tokenscripts/w_1_1_cat_bird_flying.txt b/forge-gui/res/tokenscripts/w_1_1_cat_bird_flying.txt index 2b9d9e2852a..d304c2ad464 100644 --- a/forge-gui/res/tokenscripts/w_1_1_cat_bird_flying.txt +++ b/forge-gui/res/tokenscripts/w_1_1_cat_bird_flying.txt @@ -1,4 +1,4 @@ -Name:Cat Bird +Name:Cat Bird Token ManaCost:no cost Types:Creature Cat Bird Colors:white diff --git a/forge-gui/res/tokenscripts/w_1_1_cat_lifelink.txt b/forge-gui/res/tokenscripts/w_1_1_cat_lifelink.txt index 468788b3547..d9095ba9d4a 100644 --- a/forge-gui/res/tokenscripts/w_1_1_cat_lifelink.txt +++ b/forge-gui/res/tokenscripts/w_1_1_cat_lifelink.txt @@ -1,4 +1,4 @@ -Name:Cat +Name:Cat Token ManaCost:no cost Types:Creature Cat Colors:white diff --git a/forge-gui/res/tokenscripts/w_1_1_cat_soldier_vigilance.txt b/forge-gui/res/tokenscripts/w_1_1_cat_soldier_vigilance.txt index 436a19066b8..a43f079efc5 100644 --- a/forge-gui/res/tokenscripts/w_1_1_cat_soldier_vigilance.txt +++ b/forge-gui/res/tokenscripts/w_1_1_cat_soldier_vigilance.txt @@ -1,4 +1,4 @@ -Name:Cat Soldier +Name:Cat Soldier Token ManaCost:no cost Types:Creature Cat Soldier Colors:white diff --git a/forge-gui/res/tokenscripts/w_1_1_citizen.txt b/forge-gui/res/tokenscripts/w_1_1_citizen.txt index 3e47d6d40b1..c82fe6110ad 100644 --- a/forge-gui/res/tokenscripts/w_1_1_citizen.txt +++ b/forge-gui/res/tokenscripts/w_1_1_citizen.txt @@ -1,4 +1,4 @@ -Name:Citizen +Name:Citizen Token ManaCost:no cost Types:Creature Citizen Colors:white diff --git a/forge-gui/res/tokenscripts/w_1_1_cleric_lifelink.txt b/forge-gui/res/tokenscripts/w_1_1_cleric_lifelink.txt index fbc824fe060..1734071261c 100644 --- a/forge-gui/res/tokenscripts/w_1_1_cleric_lifelink.txt +++ b/forge-gui/res/tokenscripts/w_1_1_cleric_lifelink.txt @@ -1,4 +1,4 @@ -Name:Cleric +Name:Cleric Token ManaCost:no cost Types:Creature Cleric Colors:white diff --git a/forge-gui/res/tokenscripts/w_1_1_dog.txt b/forge-gui/res/tokenscripts/w_1_1_dog.txt index 55cedadbe99..e38e28fbb16 100644 --- a/forge-gui/res/tokenscripts/w_1_1_dog.txt +++ b/forge-gui/res/tokenscripts/w_1_1_dog.txt @@ -1,4 +1,4 @@ -Name:Dog +Name:Dog Token ManaCost:no cost PT:1/1 Colors:white diff --git a/forge-gui/res/tokenscripts/w_1_1_e_soldier.txt b/forge-gui/res/tokenscripts/w_1_1_e_soldier.txt index cffdbc5ad4d..cdb86fd26f2 100644 --- a/forge-gui/res/tokenscripts/w_1_1_e_soldier.txt +++ b/forge-gui/res/tokenscripts/w_1_1_e_soldier.txt @@ -1,4 +1,4 @@ -Name:Soldier +Name:Soldier Token ManaCost:no cost Types:Enchantment Creature Soldier Colors:white diff --git a/forge-gui/res/tokenscripts/w_1_1_human.txt b/forge-gui/res/tokenscripts/w_1_1_human.txt index d7f77a9fcf1..fef603ed80d 100644 --- a/forge-gui/res/tokenscripts/w_1_1_human.txt +++ b/forge-gui/res/tokenscripts/w_1_1_human.txt @@ -1,4 +1,4 @@ -Name:Human +Name:Human Token ManaCost:no cost Types:Creature Human Colors:white diff --git a/forge-gui/res/tokenscripts/w_1_1_human_soldier.txt b/forge-gui/res/tokenscripts/w_1_1_human_soldier.txt index 6646ebaddae..6e219cd35ad 100644 --- a/forge-gui/res/tokenscripts/w_1_1_human_soldier.txt +++ b/forge-gui/res/tokenscripts/w_1_1_human_soldier.txt @@ -1,4 +1,4 @@ -Name:Human Soldier +Name:Human Soldier Token ManaCost:no cost Types:Creature Human Soldier Colors:white diff --git a/forge-gui/res/tokenscripts/w_1_1_human_warrior.txt b/forge-gui/res/tokenscripts/w_1_1_human_warrior.txt index 0785e9c68f2..68096b9ba0f 100644 --- a/forge-gui/res/tokenscripts/w_1_1_human_warrior.txt +++ b/forge-gui/res/tokenscripts/w_1_1_human_warrior.txt @@ -1,4 +1,4 @@ -Name:Human Warrior +Name:Human Warrior Token ManaCost:no cost Types:Creature Human Warrior Colors:white diff --git a/forge-gui/res/tokenscripts/w_1_1_kithkin_soldier.txt b/forge-gui/res/tokenscripts/w_1_1_kithkin_soldier.txt index 2b35c792595..6bcfe6f8b04 100644 --- a/forge-gui/res/tokenscripts/w_1_1_kithkin_soldier.txt +++ b/forge-gui/res/tokenscripts/w_1_1_kithkin_soldier.txt @@ -1,4 +1,4 @@ -Name:Kithkin Soldier +Name:Kithkin Soldier Token ManaCost:no cost Types:Creature Kithkin Soldier Colors:white diff --git a/forge-gui/res/tokenscripts/w_1_1_knight_banding.txt b/forge-gui/res/tokenscripts/w_1_1_knight_banding.txt index da9fbafb0ef..418ffed4034 100644 --- a/forge-gui/res/tokenscripts/w_1_1_knight_banding.txt +++ b/forge-gui/res/tokenscripts/w_1_1_knight_banding.txt @@ -1,4 +1,4 @@ -Name:Knight +Name:Knight Token ManaCost:no cost Colors:white Types:Creature Knight diff --git a/forge-gui/res/tokenscripts/w_1_1_kor_ally.txt b/forge-gui/res/tokenscripts/w_1_1_kor_ally.txt index 2db2f568421..ae018d2656f 100644 --- a/forge-gui/res/tokenscripts/w_1_1_kor_ally.txt +++ b/forge-gui/res/tokenscripts/w_1_1_kor_ally.txt @@ -1,4 +1,4 @@ -Name:Kor Ally +Name:Kor Ally Token ManaCost:no cost Types:Creature Kor Ally Colors:white diff --git a/forge-gui/res/tokenscripts/w_1_1_kor_soldier.txt b/forge-gui/res/tokenscripts/w_1_1_kor_soldier.txt index 5b0f18bf67a..1682be99f49 100644 --- a/forge-gui/res/tokenscripts/w_1_1_kor_soldier.txt +++ b/forge-gui/res/tokenscripts/w_1_1_kor_soldier.txt @@ -1,4 +1,4 @@ -Name:Kor Soldier +Name:Kor Soldier Token ManaCost:no cost Types:Creature Kor Soldier Colors:white diff --git a/forge-gui/res/tokenscripts/w_1_1_kor_warrior.txt b/forge-gui/res/tokenscripts/w_1_1_kor_warrior.txt index d17f06992fe..f6a48a0b50d 100644 --- a/forge-gui/res/tokenscripts/w_1_1_kor_warrior.txt +++ b/forge-gui/res/tokenscripts/w_1_1_kor_warrior.txt @@ -1,4 +1,4 @@ -Name:Kor Warrior +Name:Kor Warrior Token ManaCost:no cost Types:Creature Kor Warrior Colors:white diff --git a/forge-gui/res/tokenscripts/w_1_1_monk_prowess.txt b/forge-gui/res/tokenscripts/w_1_1_monk_prowess.txt index 24b7a0af127..8e3badcc277 100644 --- a/forge-gui/res/tokenscripts/w_1_1_monk_prowess.txt +++ b/forge-gui/res/tokenscripts/w_1_1_monk_prowess.txt @@ -1,4 +1,4 @@ -Name:Monk +Name:Monk Token ManaCost:no cost Types:Creature Monk Colors:white diff --git a/forge-gui/res/tokenscripts/w_1_1_mouse.txt b/forge-gui/res/tokenscripts/w_1_1_mouse.txt index 271087cc533..a9cc9885e14 100644 --- a/forge-gui/res/tokenscripts/w_1_1_mouse.txt +++ b/forge-gui/res/tokenscripts/w_1_1_mouse.txt @@ -1,4 +1,4 @@ -Name:Mouse +Name:Mouse Token ManaCost:no cost Types:Creature Mouse Colors:white diff --git a/forge-gui/res/tokenscripts/w_1_1_pegasus_flying.txt b/forge-gui/res/tokenscripts/w_1_1_pegasus_flying.txt index 41d12a82915..6791d01a6c2 100644 --- a/forge-gui/res/tokenscripts/w_1_1_pegasus_flying.txt +++ b/forge-gui/res/tokenscripts/w_1_1_pegasus_flying.txt @@ -1,4 +1,4 @@ -Name:Pegasus +Name:Pegasus Token ManaCost:no cost Types:Creature Pegasus Colors:white diff --git a/forge-gui/res/tokenscripts/w_1_1_soldier.txt b/forge-gui/res/tokenscripts/w_1_1_soldier.txt index 1226bf902ab..eab82574f8d 100644 --- a/forge-gui/res/tokenscripts/w_1_1_soldier.txt +++ b/forge-gui/res/tokenscripts/w_1_1_soldier.txt @@ -1,4 +1,4 @@ -Name:Soldier +Name:Soldier Token ManaCost:no cost Types:Creature Soldier Colors:white diff --git a/forge-gui/res/tokenscripts/w_1_1_soldier_ally.txt b/forge-gui/res/tokenscripts/w_1_1_soldier_ally.txt index 57388e8b7c2..07d7b8df618 100644 --- a/forge-gui/res/tokenscripts/w_1_1_soldier_ally.txt +++ b/forge-gui/res/tokenscripts/w_1_1_soldier_ally.txt @@ -1,4 +1,4 @@ -Name:Soldier Ally +Name:Soldier Ally Token ManaCost:no cost Types:Creature Soldier Ally Colors:white diff --git a/forge-gui/res/tokenscripts/w_1_1_soldier_lifelink.txt b/forge-gui/res/tokenscripts/w_1_1_soldier_lifelink.txt index d5b983de7ae..cfb95da290f 100644 --- a/forge-gui/res/tokenscripts/w_1_1_soldier_lifelink.txt +++ b/forge-gui/res/tokenscripts/w_1_1_soldier_lifelink.txt @@ -1,4 +1,4 @@ -Name:Soldier +Name:Soldier Token ManaCost:no cost Types:Creature Soldier Colors:white diff --git a/forge-gui/res/tokenscripts/w_1_1_spirit_flying.txt b/forge-gui/res/tokenscripts/w_1_1_spirit_flying.txt index 39cf47f4bac..425d6ecc3df 100644 --- a/forge-gui/res/tokenscripts/w_1_1_spirit_flying.txt +++ b/forge-gui/res/tokenscripts/w_1_1_spirit_flying.txt @@ -1,4 +1,4 @@ -Name:Spirit +Name:Spirit Token ManaCost:no cost Types:Creature Spirit Colors:white diff --git a/forge-gui/res/tokenscripts/w_1_1_vampire_lifelink.txt b/forge-gui/res/tokenscripts/w_1_1_vampire_lifelink.txt index af62144d2c1..01f33cc970c 100644 --- a/forge-gui/res/tokenscripts/w_1_1_vampire_lifelink.txt +++ b/forge-gui/res/tokenscripts/w_1_1_vampire_lifelink.txt @@ -1,4 +1,4 @@ -Name:Vampire +Name:Vampire Token ManaCost:no cost Types:Creature Vampire Colors:white diff --git a/forge-gui/res/tokenscripts/w_1_1_warrior.txt b/forge-gui/res/tokenscripts/w_1_1_warrior.txt index b8469fa1922..759b3545851 100644 --- a/forge-gui/res/tokenscripts/w_1_1_warrior.txt +++ b/forge-gui/res/tokenscripts/w_1_1_warrior.txt @@ -1,4 +1,4 @@ -Name:Warrior +Name:Warrior Token ManaCost:no cost Types:Creature Warrior Colors:white diff --git a/forge-gui/res/tokenscripts/w_1_1_warrior_vigilance.txt b/forge-gui/res/tokenscripts/w_1_1_warrior_vigilance.txt index 0eb3e9c1475..a81db94d018 100644 --- a/forge-gui/res/tokenscripts/w_1_1_warrior_vigilance.txt +++ b/forge-gui/res/tokenscripts/w_1_1_warrior_vigilance.txt @@ -1,4 +1,4 @@ -Name:Warrior +Name:Warrior Token ManaCost:no cost Types:Creature Warrior Colors:white diff --git a/forge-gui/res/tokenscripts/w_1_2_soldier_defender.txt b/forge-gui/res/tokenscripts/w_1_2_soldier_defender.txt index b45119470c9..7764448014e 100644 --- a/forge-gui/res/tokenscripts/w_1_2_soldier_defender.txt +++ b/forge-gui/res/tokenscripts/w_1_2_soldier_defender.txt @@ -1,4 +1,4 @@ -Name:Soldier +Name:Soldier Token ManaCost:no cost Types:Creature Soldier Colors:white diff --git a/forge-gui/res/tokenscripts/w_2_1_e_cleric.txt b/forge-gui/res/tokenscripts/w_2_1_e_cleric.txt index 409b1415f8e..338fbb71d57 100644 --- a/forge-gui/res/tokenscripts/w_2_1_e_cleric.txt +++ b/forge-gui/res/tokenscripts/w_2_1_e_cleric.txt @@ -1,4 +1,4 @@ -Name:Cleric +Name:Cleric Token ManaCost:no cost Types:Enchantment Creature Cleric Colors:white diff --git a/forge-gui/res/tokenscripts/w_2_2_cat.txt b/forge-gui/res/tokenscripts/w_2_2_cat.txt index f7258323cdb..add9f30989f 100644 --- a/forge-gui/res/tokenscripts/w_2_2_cat.txt +++ b/forge-gui/res/tokenscripts/w_2_2_cat.txt @@ -1,4 +1,4 @@ -Name:Cat +Name:Cat Token ManaCost:no cost Types:Creature Cat Colors:white diff --git a/forge-gui/res/tokenscripts/w_2_2_cat_beast.txt b/forge-gui/res/tokenscripts/w_2_2_cat_beast.txt index 7420a6b003e..9fdfeb446e5 100644 --- a/forge-gui/res/tokenscripts/w_2_2_cat_beast.txt +++ b/forge-gui/res/tokenscripts/w_2_2_cat_beast.txt @@ -1,4 +1,4 @@ -Name:Cat Beast +Name:Cat Beast Token ManaCost:no cost Types:Creature Cat Beast Colors:white diff --git a/forge-gui/res/tokenscripts/w_2_2_griffin_flying.txt b/forge-gui/res/tokenscripts/w_2_2_griffin_flying.txt index 7f8e6c5fadb..73fa8215407 100644 --- a/forge-gui/res/tokenscripts/w_2_2_griffin_flying.txt +++ b/forge-gui/res/tokenscripts/w_2_2_griffin_flying.txt @@ -1,4 +1,4 @@ -Name:Griffin +Name:Griffin Token ManaCost:no cost Types:Creature Griffin Colors:white diff --git a/forge-gui/res/tokenscripts/w_2_2_knight.txt b/forge-gui/res/tokenscripts/w_2_2_knight.txt index 44a1080da69..194237dac79 100644 --- a/forge-gui/res/tokenscripts/w_2_2_knight.txt +++ b/forge-gui/res/tokenscripts/w_2_2_knight.txt @@ -1,4 +1,4 @@ -Name:Knight +Name:Knight Token ManaCost:no cost Types:Creature Knight Colors:white diff --git a/forge-gui/res/tokenscripts/w_2_2_knight_ally.txt b/forge-gui/res/tokenscripts/w_2_2_knight_ally.txt index 9d6da5a12f2..a4fccbf97d4 100644 --- a/forge-gui/res/tokenscripts/w_2_2_knight_ally.txt +++ b/forge-gui/res/tokenscripts/w_2_2_knight_ally.txt @@ -1,4 +1,4 @@ -Name:Knight Ally +Name:Knight Ally Token ManaCost:no cost Types:Creature Knight Ally Colors:white diff --git a/forge-gui/res/tokenscripts/w_2_2_knight_first_strike.txt b/forge-gui/res/tokenscripts/w_2_2_knight_first_strike.txt index c8481982843..2db6eca9c53 100644 --- a/forge-gui/res/tokenscripts/w_2_2_knight_first_strike.txt +++ b/forge-gui/res/tokenscripts/w_2_2_knight_first_strike.txt @@ -1,4 +1,4 @@ -Name:Knight +Name:Knight Token ManaCost:no cost Types:Creature Knight Colors:white diff --git a/forge-gui/res/tokenscripts/w_2_2_knight_vigilance.txt b/forge-gui/res/tokenscripts/w_2_2_knight_vigilance.txt index f48acd0d058..eb6100dbdbb 100644 --- a/forge-gui/res/tokenscripts/w_2_2_knight_vigilance.txt +++ b/forge-gui/res/tokenscripts/w_2_2_knight_vigilance.txt @@ -1,4 +1,4 @@ -Name:Knight +Name:Knight Token ManaCost:no cost Types:Creature Knight Colors:white diff --git a/forge-gui/res/tokenscripts/w_2_2_pegasus_flying.txt b/forge-gui/res/tokenscripts/w_2_2_pegasus_flying.txt index 977cb1c082d..aead31912e5 100644 --- a/forge-gui/res/tokenscripts/w_2_2_pegasus_flying.txt +++ b/forge-gui/res/tokenscripts/w_2_2_pegasus_flying.txt @@ -1,4 +1,4 @@ -Name:Pegasus +Name:Pegasus Token ManaCost:no cost Types:Creature Pegasus Colors:white diff --git a/forge-gui/res/tokenscripts/w_2_2_reflection.txt b/forge-gui/res/tokenscripts/w_2_2_reflection.txt index bf50cbf6774..73c4229583e 100644 --- a/forge-gui/res/tokenscripts/w_2_2_reflection.txt +++ b/forge-gui/res/tokenscripts/w_2_2_reflection.txt @@ -1,4 +1,4 @@ -Name:Reflection +Name:Reflection Token ManaCost:no cost PT:2/2 Colors:white diff --git a/forge-gui/res/tokenscripts/w_2_2_soldier_vigilance.txt b/forge-gui/res/tokenscripts/w_2_2_soldier_vigilance.txt index fc1ac16ecd1..e231a61690f 100644 --- a/forge-gui/res/tokenscripts/w_2_2_soldier_vigilance.txt +++ b/forge-gui/res/tokenscripts/w_2_2_soldier_vigilance.txt @@ -1,4 +1,4 @@ -Name:Soldier +Name:Soldier Token ManaCost:no cost Types:Creature Soldier Colors:white diff --git a/forge-gui/res/tokenscripts/w_2_2_unicorn.txt b/forge-gui/res/tokenscripts/w_2_2_unicorn.txt index 60e011798a2..8475602666f 100644 --- a/forge-gui/res/tokenscripts/w_2_2_unicorn.txt +++ b/forge-gui/res/tokenscripts/w_2_2_unicorn.txt @@ -1,4 +1,4 @@ -Name:Unicorn +Name:Unicorn Token ManaCost:no cost Types:Creature Unicorn Colors:white diff --git a/forge-gui/res/tokenscripts/w_2_4_ox.txt b/forge-gui/res/tokenscripts/w_2_4_ox.txt index 2d5461d9ff3..9eabe496941 100644 --- a/forge-gui/res/tokenscripts/w_2_4_ox.txt +++ b/forge-gui/res/tokenscripts/w_2_4_ox.txt @@ -1,4 +1,4 @@ -Name:Ox +Name:Ox Token ManaCost:no cost PT:2/4 Colors:white diff --git a/forge-gui/res/tokenscripts/w_3_3_angel_flying.txt b/forge-gui/res/tokenscripts/w_3_3_angel_flying.txt index 67f9eb70c08..7532d183427 100644 --- a/forge-gui/res/tokenscripts/w_3_3_angel_flying.txt +++ b/forge-gui/res/tokenscripts/w_3_3_angel_flying.txt @@ -1,4 +1,4 @@ -Name:Angel +Name:Angel Token ManaCost:no cost Types:Creature Angel Colors:white diff --git a/forge-gui/res/tokenscripts/w_3_3_bird_flying.txt b/forge-gui/res/tokenscripts/w_3_3_bird_flying.txt index 372591cd214..41656079a90 100644 --- a/forge-gui/res/tokenscripts/w_3_3_bird_flying.txt +++ b/forge-gui/res/tokenscripts/w_3_3_bird_flying.txt @@ -1,4 +1,4 @@ -Name:Bird +Name:Bird Token ManaCost:no cost Types:Creature Bird Colors:white diff --git a/forge-gui/res/tokenscripts/w_3_3_spirit_flying.txt b/forge-gui/res/tokenscripts/w_3_3_spirit_flying.txt index 37962fd2159..47ee5703546 100644 --- a/forge-gui/res/tokenscripts/w_3_3_spirit_flying.txt +++ b/forge-gui/res/tokenscripts/w_3_3_spirit_flying.txt @@ -1,4 +1,4 @@ -Name:Spirit +Name:Spirit Token ManaCost:no cost Types:Creature Spirit Colors:white diff --git a/forge-gui/res/tokenscripts/w_3_4_bird_flying.txt b/forge-gui/res/tokenscripts/w_3_4_bird_flying.txt index 19369e3ff57..0bfc49d98e6 100644 --- a/forge-gui/res/tokenscripts/w_3_4_bird_flying.txt +++ b/forge-gui/res/tokenscripts/w_3_4_bird_flying.txt @@ -1,4 +1,4 @@ -Name:Bird +Name:Bird Token ManaCost:no cost Types:Creature Bird Colors:white diff --git a/forge-gui/res/tokenscripts/w_4_4_angel_flying.txt b/forge-gui/res/tokenscripts/w_4_4_angel_flying.txt index 61a43654b3e..db6830bb0cc 100644 --- a/forge-gui/res/tokenscripts/w_4_4_angel_flying.txt +++ b/forge-gui/res/tokenscripts/w_4_4_angel_flying.txt @@ -1,4 +1,4 @@ -Name:Angel +Name:Angel Token ManaCost:no cost Types:Creature Angel Colors:white diff --git a/forge-gui/res/tokenscripts/w_4_4_angel_flying_vigilance.txt b/forge-gui/res/tokenscripts/w_4_4_angel_flying_vigilance.txt index 1acb72442c5..ed2c7bb4c2e 100644 --- a/forge-gui/res/tokenscripts/w_4_4_angel_flying_vigilance.txt +++ b/forge-gui/res/tokenscripts/w_4_4_angel_flying_vigilance.txt @@ -1,4 +1,4 @@ -Name:Angel +Name:Angel Token ManaCost:no cost Types:Creature Angel Colors:white diff --git a/forge-gui/res/tokenscripts/w_4_4_angel_warrior_flying.txt b/forge-gui/res/tokenscripts/w_4_4_angel_warrior_flying.txt index c6da271178a..a1464e40138 100644 --- a/forge-gui/res/tokenscripts/w_4_4_angel_warrior_flying.txt +++ b/forge-gui/res/tokenscripts/w_4_4_angel_warrior_flying.txt @@ -1,4 +1,4 @@ -Name:Angel Warrior +Name:Angel Warrior Token ManaCost:no cost Types:Creature Angel Warrior Colors:white diff --git a/forge-gui/res/tokenscripts/w_4_4_angel_warrior_flying_vigilance.txt b/forge-gui/res/tokenscripts/w_4_4_angel_warrior_flying_vigilance.txt index 875421fce49..6dd596a042e 100644 --- a/forge-gui/res/tokenscripts/w_4_4_angel_warrior_flying_vigilance.txt +++ b/forge-gui/res/tokenscripts/w_4_4_angel_warrior_flying_vigilance.txt @@ -1,4 +1,4 @@ -Name:Angel Warrior +Name:Angel Warrior Token ManaCost:no cost Types:Creature Angel Warrior Colors:white diff --git a/forge-gui/res/tokenscripts/w_4_4_avatar_flying.txt b/forge-gui/res/tokenscripts/w_4_4_avatar_flying.txt index 425fc476d06..831ba8b31b4 100644 --- a/forge-gui/res/tokenscripts/w_4_4_avatar_flying.txt +++ b/forge-gui/res/tokenscripts/w_4_4_avatar_flying.txt @@ -1,4 +1,4 @@ -Name:Avatar +Name:Avatar Token ManaCost:no cost Types:Creature Avatar Colors:white diff --git a/forge-gui/res/tokenscripts/w_4_4_elemental_flying.txt b/forge-gui/res/tokenscripts/w_4_4_elemental_flying.txt index 9fc9c2f117f..89564587e54 100644 --- a/forge-gui/res/tokenscripts/w_4_4_elemental_flying.txt +++ b/forge-gui/res/tokenscripts/w_4_4_elemental_flying.txt @@ -1,4 +1,4 @@ -Name:Elemental +Name:Elemental Token ManaCost:no cost Types:Creature Elemental Colors:white diff --git a/forge-gui/res/tokenscripts/w_4_4_spirit_flying.txt b/forge-gui/res/tokenscripts/w_4_4_spirit_flying.txt index f93b7ac1154..e14d42ee70c 100644 --- a/forge-gui/res/tokenscripts/w_4_4_spirit_flying.txt +++ b/forge-gui/res/tokenscripts/w_4_4_spirit_flying.txt @@ -1,4 +1,4 @@ -Name:Spirit +Name:Spirit Token ManaCost:no cost Types:Creature Spirit Colors:white diff --git a/forge-gui/res/tokenscripts/w_5_5_giant_warrior.txt b/forge-gui/res/tokenscripts/w_5_5_giant_warrior.txt index d0a2732963f..f57c87bc9ad 100644 --- a/forge-gui/res/tokenscripts/w_5_5_giant_warrior.txt +++ b/forge-gui/res/tokenscripts/w_5_5_giant_warrior.txt @@ -1,4 +1,4 @@ -Name:Giant Warrior +Name:Giant Warrior Token ManaCost:no cost PT:5/5 Colors:white diff --git a/forge-gui/res/tokenscripts/w_5_5_horse.txt b/forge-gui/res/tokenscripts/w_5_5_horse.txt index 1681138cf2b..f3aa6160ca0 100644 --- a/forge-gui/res/tokenscripts/w_5_5_horse.txt +++ b/forge-gui/res/tokenscripts/w_5_5_horse.txt @@ -1,4 +1,4 @@ -Name:Horse +Name:Horse Token ManaCost:no cost PT:5/5 Colors:white diff --git a/forge-gui/res/tokenscripts/w_x_x_avatar_life_total.txt b/forge-gui/res/tokenscripts/w_x_x_avatar_life_total.txt index 82b2f799b28..c6eb1d9ba0a 100644 --- a/forge-gui/res/tokenscripts/w_x_x_avatar_life_total.txt +++ b/forge-gui/res/tokenscripts/w_x_x_avatar_life_total.txt @@ -1,4 +1,4 @@ -Name:Avatar +Name:Avatar Token ManaCost:no cost Types:Creature Avatar Colors:white diff --git a/forge-gui/res/tokenscripts/w_x_x_reflection.txt b/forge-gui/res/tokenscripts/w_x_x_reflection.txt index fcf22121331..a169129d6a6 100644 --- a/forge-gui/res/tokenscripts/w_x_x_reflection.txt +++ b/forge-gui/res/tokenscripts/w_x_x_reflection.txt @@ -1,4 +1,4 @@ -Name:Reflection +Name:Reflection Token ManaCost:no cost PT:*/* Colors:white diff --git a/forge-gui/res/tokenscripts/w_x_x_spirit_cleric_total_spirits.txt b/forge-gui/res/tokenscripts/w_x_x_spirit_cleric_total_spirits.txt index bb448405bd0..5d5f05d79ad 100644 --- a/forge-gui/res/tokenscripts/w_x_x_spirit_cleric_total_spirits.txt +++ b/forge-gui/res/tokenscripts/w_x_x_spirit_cleric_total_spirits.txt @@ -1,4 +1,4 @@ -Name:Spirit Cleric +Name:Spirit Cleric Token ManaCost:no cost Types:Creature Spirit Cleric PT:*/* diff --git a/forge-gui/res/tokenscripts/wb_1_1_cleric_deathpact.txt b/forge-gui/res/tokenscripts/wb_1_1_cleric_deathpact.txt index 18f791cda50..f5908e06035 100644 --- a/forge-gui/res/tokenscripts/wb_1_1_cleric_deathpact.txt +++ b/forge-gui/res/tokenscripts/wb_1_1_cleric_deathpact.txt @@ -1,4 +1,4 @@ -Name:Cleric +Name:Cleric Token ManaCost:no cost Types:Creature Cleric Colors:white,black diff --git a/forge-gui/res/tokenscripts/wb_1_1_human_cleric.txt b/forge-gui/res/tokenscripts/wb_1_1_human_cleric.txt index a5df08c8cd7..58856cccad2 100644 --- a/forge-gui/res/tokenscripts/wb_1_1_human_cleric.txt +++ b/forge-gui/res/tokenscripts/wb_1_1_human_cleric.txt @@ -1,4 +1,4 @@ -Name:Human Cleric +Name:Human Cleric Token ManaCost:no cost Types:Creature Human Cleric Colors:white,black diff --git a/forge-gui/res/tokenscripts/wb_1_1_spirit_flying.txt b/forge-gui/res/tokenscripts/wb_1_1_spirit_flying.txt index 9fe27496ea8..f1a97597036 100644 --- a/forge-gui/res/tokenscripts/wb_1_1_spirit_flying.txt +++ b/forge-gui/res/tokenscripts/wb_1_1_spirit_flying.txt @@ -1,4 +1,4 @@ -Name:Spirit +Name:Spirit Token ManaCost:no cost Types:Creature Spirit Colors:white,black diff --git a/forge-gui/res/tokenscripts/wb_1_1_vampire_lifelink.txt b/forge-gui/res/tokenscripts/wb_1_1_vampire_lifelink.txt index c087c941b6a..a71e2e1e653 100644 --- a/forge-gui/res/tokenscripts/wb_1_1_vampire_lifelink.txt +++ b/forge-gui/res/tokenscripts/wb_1_1_vampire_lifelink.txt @@ -1,4 +1,4 @@ -Name:Vampire +Name:Vampire Token ManaCost:no cost Types:Creature Vampire Colors:white,black diff --git a/forge-gui/res/tokenscripts/wb_2_1_inkling_flying.txt b/forge-gui/res/tokenscripts/wb_2_1_inkling_flying.txt index 5e47464a41d..a60f3428ed2 100644 --- a/forge-gui/res/tokenscripts/wb_2_1_inkling_flying.txt +++ b/forge-gui/res/tokenscripts/wb_2_1_inkling_flying.txt @@ -1,4 +1,4 @@ -Name:Inkling +Name:Inkling Token ManaCost:no cost Types:Creature Inkling Colors:white,black diff --git a/forge-gui/res/tokenscripts/wb_x_x_e_spirit_experience.txt b/forge-gui/res/tokenscripts/wb_x_x_e_spirit_experience.txt index a605c668a32..650c8baaaa0 100644 --- a/forge-gui/res/tokenscripts/wb_x_x_e_spirit_experience.txt +++ b/forge-gui/res/tokenscripts/wb_x_x_e_spirit_experience.txt @@ -1,4 +1,4 @@ -Name:Spirit +Name:Spirit Token ManaCost:no cost Types:Enchantment Creature Spirit Colors:white,black diff --git a/forge-gui/res/tokenscripts/wu_1_1_bird_flying.txt b/forge-gui/res/tokenscripts/wu_1_1_bird_flying.txt index a9b1cd4d272..1b10ee350cc 100644 --- a/forge-gui/res/tokenscripts/wu_1_1_bird_flying.txt +++ b/forge-gui/res/tokenscripts/wu_1_1_bird_flying.txt @@ -1,4 +1,4 @@ -Name:Bird +Name:Bird Token ManaCost:no cost Types:Creature Bird Colors:white,blue diff --git a/forge-gui/res/tokenscripts/wu_4_4_sphinx_flying_vigilance.txt b/forge-gui/res/tokenscripts/wu_4_4_sphinx_flying_vigilance.txt index fbf23263825..6fe9ac3edf7 100644 --- a/forge-gui/res/tokenscripts/wu_4_4_sphinx_flying_vigilance.txt +++ b/forge-gui/res/tokenscripts/wu_4_4_sphinx_flying_vigilance.txt @@ -1,4 +1,4 @@ -Name:Sphinx +Name:Sphinx Token ManaCost:no cost Types:Creature Sphinx Colors:white,blue diff --git a/forge-gui/res/tokenscripts/wubrg_2_2_citizen.txt b/forge-gui/res/tokenscripts/wubrg_2_2_citizen.txt index 83130f1e978..e1e5947cc0b 100644 --- a/forge-gui/res/tokenscripts/wubrg_2_2_citizen.txt +++ b/forge-gui/res/tokenscripts/wubrg_2_2_citizen.txt @@ -1,4 +1,4 @@ -Name:Citizen +Name:Citizen Token Types: Creature Citizen Colors:white,blue,black,red,green ManaCost: no cost From 4b303801289373e62be4387739aac90cd2e13a81 Mon Sep 17 00:00:00 2001 From: paul_snoops Date: Fri, 19 Nov 2021 12:33:07 +0000 Subject: [PATCH 007/100] SLD update --- forge-gui/res/editions/Happy Holidays.txt | 14 ++++++ .../res/editions/Secret Lair Drop Series.txt | 48 +++++++++++++++++-- 2 files changed, 57 insertions(+), 5 deletions(-) diff --git a/forge-gui/res/editions/Happy Holidays.txt b/forge-gui/res/editions/Happy Holidays.txt index c147fa6ae50..5bb7a2fd0ea 100644 --- a/forge-gui/res/editions/Happy Holidays.txt +++ b/forge-gui/res/editions/Happy Holidays.txt @@ -8,4 +8,18 @@ ScryfallCode=HHO [cards] 6 R Fruitcake Elemental @Darrell Riche +7 R Gifts Given @Jason Chan +8 R Evil Presents @Paul Bonner 9 R Season's Beatings @Kev Walker +10 R Snow Mercy @rk post +11 R Yule Ooze @Steve Prescott +12 R Naughty // Nice @Greg Staples +13 R Stocking Tiger @Terese Nielsen +14 M Mishra's Toy Workshop @Jung Park +15 M Goblin Sleigh Ride @Mark Zug +16 M Thopter Pie Network @Victor Adame Minguez +17 M Some Disassembly Required @Dmitry Burmak +18 M Bog Humbugs @Kieran Yanner +19 M Decorated Knight @Zoltan Boros +20 M Topdeck the Halls @Kieran Yanner +21 M Last-Minute Chopping @Marta Nael diff --git a/forge-gui/res/editions/Secret Lair Drop Series.txt b/forge-gui/res/editions/Secret Lair Drop Series.txt index b8a9d120cca..74c6b083a3b 100644 --- a/forge-gui/res/editions/Secret Lair Drop Series.txt +++ b/forge-gui/res/editions/Secret Lair Drop Series.txt @@ -184,6 +184,9 @@ ScryfallCode=SLD 203 R Commander's Sphere @Yosuke Ueno 204 R Darksteel Ingot @Theodoru 205 R Gilded Lotus @Mab Graves +206 R Exquisite Blood @Nils Hamm +207 R Night's Whisper @Tomas Duchek +208 R Phyrexian Tower @Nicholas Gregory 209 M Elesh Norn, Grand Cenobite @Igor Kieryluk 210 M Jin-Gitaxias, Core Augur @Eric Deschamps 211 M Sheoldred, Whispering One @Jana Schirmer & Johannes Voss @@ -200,6 +203,11 @@ ScryfallCode=SLD 223 M Grave Titan @GodMachine 224 M Inferno Titan @Dibujante Nocturno 225 M Kroxa, Titan of Death's Hunger @DZO +226 R Path to Exile @Marija Tiurina +227 R Well of Lost Dreams @Marija Tiurina +228 R Frantic Search @Marija Tiurina +229 R Intruder Alarm @Marija Tiurina +230 R Shelldock Isle @Marija Tiurina 231 R Gravecrawler @Fay Dalton 232 M Liliana, Death's Majesty @Fay Dalton 233 M Rise of the Dark Realms @Fay Dalton @@ -270,6 +278,11 @@ ScryfallCode=SLD 302 R Vault of Whispers @DXTR 303 R Great Furnace @DXTR 304 R Tree of Tales @DXTR +305 R Ravenous Chupacabra @Crocodile Jackson +306 R Managorger Hydra @Crocodile Jackson +307 R Pathbreaker Ibex @Crocodile Jackson +308 R Temur Sabertooth @Crocodile Jackson +309 R Winding Constrictor @Crocodile Jackson 310 R Unbreakable Formation @Tyler Walpole 311 R Whir of Invention @Tyler Walpole 312 R Hero's Downfall @Tyler Walpole @@ -285,6 +298,16 @@ ScryfallCode=SLD 322 R Blasphemous Act @Martin Ansin 323 R Beast Within @Martin Ansin 324 R Grafdigger's Cage @Martin Ansin +325 R Snow-Covered Plains @Jubilee +326 R Snow-Covered Island @Jubilee +327 R Snow-Covered Swamp @Jubilee +328 R Snow-Covered Mountain @Jubilee +329 R Snow-Covered Forest @Jubilee +330 R Aether Gust @Mateus Manhanini +331 R Counterspell @Mateus Manhanini +332 R Fabricate @Mateus Manhanini +333 R Fact or Fiction @Mateus Manhanini +334 R Mystical Tutor @Mateus Manhanini 340 M Mind Flayer, the Shadow @Isis 341 R Chief Jim Hopper @Greg Staples 342 R Dustin, Gadget Genius @Colin Boyer @@ -303,6 +326,11 @@ ScryfallCode=SLD 356 R Slayers' Stronghold @Alayna Danner 357 R Gavony Township @Robbie Trevino 358 R Alchemist's Refuge @DZO +359 R Plains @Donato Giancola +360 R Island @Yeong-Hao Han +361 R Swamp @Jonas De Ro +362 R Mountain @Grzegorz Rutkowski +363 R Forest @Andreas Rocha 364 R Swords to Plowshares @MSCHF 365 R Grim Tutor @MSCHF 366 R Blood Moon @MSCHF @@ -318,15 +346,25 @@ ScryfallCode=SLD 376 M Craterhoof Behemoth @Kira 377 R Metalwork Colossus @Chris Rahn 378 R Metalwork Colossus @Hyan Tran +379 R Zndrsplt, Eye of Wisdom @Alexis Ziritt +379b R Zndrsplt, Eye of Wisdom @Alexis Ziritt +380 R Okaun, Eye of Chaos @Alexis Ziritt +380b R Okaun, Eye of Chaos @Alexis Ziritt +381 R Propaganda @Scott Balmer +381b R Propaganda @Scott Balmer +382 R Stitch in Time @Micha Huigen +382b R Stitch in Time @Micha Huigen +383 R Krark's Thumb @Wooden Cyclops +383b R Krark's Thumb @Wooden Cyclops 477 R Path to Exile @Riot Games 478 R Rhystic Study @Riot Games 482 R Counterflux @Riot Games 483 R Thran Dynamo @Riot Games -484 L Plains @Riot Games -485 L Island @Riot Games -486 L Swamp @Riot Games -487 L Mountain @Riot Games -488 L Forest @Riot Games +484 R Plains @Riot Games +485 R Island @Riot Games +486 R Swamp @Riot Games +487 R Mountain @Riot Games +488 R Forest @Riot Games 501 R Karn, the Great Creator @Wisnu Tan 502 R Ugin, the Ineffable @Daarken 503 M Gideon Blackblade @Kieran Yanner From b85efdbec8f6fb53e0aee395dadc0376515dd7f5 Mon Sep 17 00:00:00 2001 From: paul_snoops Date: Fri, 19 Nov 2021 14:13:22 +0000 Subject: [PATCH 008/100] Editions update for token name changes --- forge-gui/res/editions/Born of the Gods.txt | 14 ++++---- forge-gui/res/editions/Commander 2015.txt | 32 +++++++++---------- forge-gui/res/editions/Commander 2017.txt | 10 +++--- forge-gui/res/editions/Journey into Nyx.txt | 22 ++++++------- forge-gui/res/editions/Kaldheim.txt | 26 +++++++-------- .../res/editions/Theros Beyond Death.txt | 4 +-- 6 files changed, 54 insertions(+), 54 deletions(-) diff --git a/forge-gui/res/editions/Born of the Gods.txt b/forge-gui/res/editions/Born of the Gods.txt index 45744bbeadf..dca7cff47c0 100644 --- a/forge-gui/res/editions/Born of the Gods.txt +++ b/forge-gui/res/editions/Born of the Gods.txt @@ -178,14 +178,14 @@ ScryfallCode=BNG 165 R Temple of Plenty @Noah Bradley [tokens] -gold +b_2_2_e_zombie +c_a_gold_draw +g_2_2_wolf +g_3_3_e_centaur +r_3_1_e_elemental_haste +u_2_2_e_bird_flying +u_9_9_kraken w_1_1_bird_flying w_1_1_cat_soldier_vigilance w_1_1_e_soldier w_1_1_e_soldier -u_2_2_e_bird_flying -u_9_9_kraken -b_2_2_e_zombie -r_3_1_e_elemental_haste -g_3_3_e_centaur -g_2_2_wolf diff --git a/forge-gui/res/editions/Commander 2015.txt b/forge-gui/res/editions/Commander 2015.txt index b2bf7cf5024..02e4b4e7415 100644 --- a/forge-gui/res/editions/Commander 2015.txt +++ b/forge-gui/res/editions/Commander 2015.txt @@ -352,27 +352,27 @@ ScryfallCode=C15 342 L Forest @Jonas De Ro [tokens] -gold -lightning_rager -c_1_1_shapeshifter_changeling -w_4_4_angel_flying -w_2_2_cat -w_2_2_knight_first_strike -w_2_2_knight_vigilance -u_2_2_drake_flying b_0_0_phyrexian_germ b_2_2_zombie -r_5_5_dragon_flying -r_3_1_elemental_shaman_haste -g_2_2_bear -g_4_4_phyrexian_beast -g_3_3_elephant -g_3_3_frog_lizard +c_1_1_shapeshifter_changeling +c_a_gold_draw g_1_1_saproling g_1_1_snake g_1_2_spider_reach +g_2_2_bear g_2_2_wolf -ur_5_5_elemental_flying +g_3_3_elephant +g_3_3_frog_lizard +g_4_4_phyrexian_beast gu_1_1_snake -wb_x_x_e_spirit_experience +lightning_rager +r_3_1_elemental_shaman_haste +r_5_5_dragon_flying +u_2_2_drake_flying +ur_5_5_elemental_flying +w_2_2_cat +w_2_2_knight_first_strike +w_2_2_knight_vigilance +w_4_4_angel_flying wb_1_1_spirit_flying +wb_x_x_e_spirit_experience diff --git a/forge-gui/res/editions/Commander 2017.txt b/forge-gui/res/editions/Commander 2017.txt index d9175a731fe..0179c675af5 100644 --- a/forge-gui/res/editions/Commander 2017.txt +++ b/forge-gui/res/editions/Commander 2017.txt @@ -319,14 +319,14 @@ ScryfallCode=C17 309 L Forest @Kev Walker [tokens] -gold -c_0_1_eldrazi_spawn_sac -w_2_2_cat b_1_1_bat_flying b_1_1_rat_deathtouch b_1_1_vampire b_2_2_zombie +brg_3_3_cat_dragon_flying +c_0_1_eldrazi_spawn_sac +c_a_gold_draw +g_2_2_cat_warrior_forestwalk r_4_4_dragon_flying r_6_6_dragon_flying -g_2_2_cat_warrior_forestwalk -brg_3_3_cat_dragon_flying +w_2_2_cat diff --git a/forge-gui/res/editions/Journey into Nyx.txt b/forge-gui/res/editions/Journey into Nyx.txt index 55f83525143..8003caeadc6 100644 --- a/forge-gui/res/editions/Journey into Nyx.txt +++ b/forge-gui/res/editions/Journey into Nyx.txt @@ -178,16 +178,16 @@ ScryfallCode=JOU 165 R Temple of Malady @James Paick [tokens] -gold -w_1_1_soldier -w_1_1_soldier -w_1_1_soldier +b_x_x_zombie +bg_1_1_e_snake_deathtouch +c_a_gold_draw +g_1_3_e_spider_reach +g_x_x_hydra +r_2_3_minotaur_haste +r_2_3_minotaur_haste +rg_2_2_satyr_haste u_2_2_e_bird_flying u_4_4_sphinx_flying -b_x_x_zombie -r_2_3_minotaur_haste -r_2_3_minotaur_haste -g_x_x_hydra -g_1_3_e_spider_reach -rg_2_2_satyr_haste -bg_1_1_e_snake_deathtouch +w_1_1_soldier +w_1_1_soldier +w_1_1_soldier diff --git a/forge-gui/res/editions/Kaldheim.txt b/forge-gui/res/editions/Kaldheim.txt index 34ac30035e0..a0b476744c0 100644 --- a/forge-gui/res/editions/Kaldheim.txt +++ b/forge-gui/res/editions/Kaldheim.txt @@ -454,22 +454,22 @@ ScryfallCode=KHM 2 Woodland Chasm|KHM [tokens] -w_4_4_angel_warrior_flying_vigilance -w_1_1_human_warrior -w_1_1_spirit_flying -u_1_1_bird_flying -u_4_4_giant_wizard -komas_coil -u_2_2_shapeshifter_changeling b_2_2_zombie_berserker -r_2_3_demon_berserker_menace -r_5_5_dragon_flying -r_2_1_dwarf_berserker +c_a_treasure_sac +c_e_shard_draw +g_1_1_elf_warrior g_2_2_bear g_2_2_cat -g_1_1_elf_warrior g_4_4_troll_warrior_trample -c_a_treasure_sac icy_manalith +komas_coil +r_2_1_dwarf_berserker +r_2_3_demon_berserker_menace +r_5_5_dragon_flying replicated_ring -shard +u_1_1_bird_flying +u_2_2_shapeshifter_changeling +u_4_4_giant_wizard +w_1_1_human_warrior +w_1_1_spirit_flying +w_4_4_angel_warrior_flying_vigilance diff --git a/forge-gui/res/editions/Theros Beyond Death.txt b/forge-gui/res/editions/Theros Beyond Death.txt index 8686f7d3574..f1505d83dd0 100644 --- a/forge-gui/res/editions/Theros Beyond Death.txt +++ b/forge-gui/res/editions/Theros Beyond Death.txt @@ -655,10 +655,11 @@ Unknown Shores|THB|1 [tokens] b_2_2_zombie c_0_4_a_wall_defender +c_a_gold_draw g_1_2_spider_reach g_2_2_wolf -r_x_1_elemental_trample_haste r_1_1_satyr_noblock +r_x_1_elemental_trample_haste u_1_1_tentacle u_3_2_reflection u_8_8_kraken_hexproof @@ -666,4 +667,3 @@ ub_2_3_nightmare_mill w_0_1_goat w_1_1_human_soldier w_2_2_pegasus_flying -gold From 31b4e9f9fd5f88b5ab02f0a8db6d6d8c4560ed56 Mon Sep 17 00:00:00 2001 From: TRT <> Date: Fri, 19 Nov 2021 15:23:51 +0100 Subject: [PATCH 009/100] Fix Cemetry Desecrator --- forge-ai/src/main/java/forge/ai/AiController.java | 2 +- .../game/ability/effects/ImmediateTriggerEffect.java | 1 - forge-gui/res/cardsfolder/c/cemetery_desecrator.txt | 8 ++++---- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/forge-ai/src/main/java/forge/ai/AiController.java b/forge-ai/src/main/java/forge/ai/AiController.java index 9777d7f9bf2..c66ce4cccca 100644 --- a/forge-ai/src/main/java/forge/ai/AiController.java +++ b/forge-ai/src/main/java/forge/ai/AiController.java @@ -737,7 +737,7 @@ public class AiController { } int oldCMC = -1; - boolean xCost = sa.getPayCosts().hasXInAnyCostPart() || sa.getHostCard().hasStartOfKeyword("Strive"); + boolean xCost = sa.costHasX() || sa.getHostCard().hasStartOfKeyword("Strive"); if (!xCost) { if (!ComputerUtilCost.canPayCost(sa, player)) { // for most costs, it's OK to check if they can be paid early in order to avoid running a heavy API check 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 cee5d82d45a..fa8ba61e5ad 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 @@ -28,7 +28,6 @@ public class ImmediateTriggerEffect extends SpellAbilityEffect { } return ""; - } @Override diff --git a/forge-gui/res/cardsfolder/c/cemetery_desecrator.txt b/forge-gui/res/cardsfolder/c/cemetery_desecrator.txt index 33e9ffaa5a9..d7af628e4b4 100644 --- a/forge-gui/res/cardsfolder/c/cemetery_desecrator.txt +++ b/forge-gui/res/cardsfolder/c/cemetery_desecrator.txt @@ -5,11 +5,11 @@ PT:4/4 T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigExile | TriggerDescription$ When CARDNAME enters the battlefield or dies, exile another card from a graveyard. T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigExile | Secondary$ True | TriggerDescription$ When CARDNAME enters the battlefield or dies, exile another card from a graveyard. SVar:TrigExile:DB$ ChangeZone | Origin$ Graveyard | Destination$ Exile | Hidden$ True | RememberChanged$ True | ChangeType$ Card.Other | ChangeNum$ 1 | Mandatory$ True | AILogic$ ExilePreference:HighestCMC | SubAbility$ DBImmediateTrigger -SVar:DBImmediateTrigger:DB$ ImmediateTrigger | ConditionDefined$ Remembered | ConditionPresent$ Card | Execute$ TrigCharm | TriggerDescription$ When you do, ABILITY +SVar:DBImmediateTrigger:DB$ ImmediateTrigger | ConditionDefined$ Remembered | ConditionPresent$ Card | RememberObjects$ Remembered | SubAbility$ DBCleanup | Execute$ TrigCharm | TriggerDescription$ When you do, ABILITY SVar:TrigCharm:DB$ Charm | Choices$ DBRemoveCounter,DBPump -SVar:DBRemoveCounter:DB$ RemoveCounter | ValidTgts$ Permanent | TgtPrompt$ Select target permanent | CounterType$ Any | CounterNum$ X | SubAbility$ DBCleanup | SpellDescription$ Remove X counters from target permanent, where X is the mana value of the exiled card. -SVar:DBPump:DB$ Pump | ValidTgts$ Creature.OppCtrl | TgtPrompt$ Select target creature an opponent controls | IsCurse$ True | NumAtt$ -X | NumDef$ -X | SubAbility$ DBCleanup | SpellDescription$ Target creature an opponent controls gets -X/-X until end of turn, where X is the mana value of the exiled card. +SVar:DBRemoveCounter:DB$ RemoveCounter | ValidTgts$ Permanent | TgtPrompt$ Select target permanent | CounterType$ Any | CounterNum$ X | SpellDescription$ Remove X counters from target permanent, where X is the mana value of the exiled card. +SVar:DBPump:DB$ Pump | ValidTgts$ Creature.OppCtrl | TgtPrompt$ Select target creature an opponent controls | IsCurse$ True | NumAtt$ -X | NumDef$ -X | SpellDescription$ Target creature an opponent controls gets -X/-X until end of turn, where X is the mana value of the exiled card. SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True -SVar:X:Remembered$CardManaCost +SVar:X:TriggerRemembered$CardManaCost DeckHas:Ability$Graveyard Oracle:Menace\nWhen Cemetery Desecrator enters the battlefield or dies, exile another card from a graveyard. When you do, choose one —\n• Remove X counters from target permanent, where X is the mana value of the exiled card.\n• Target creature an opponent controls gets -X/-X until end of turn, where X is the mana value of the exiled card. From 6c8427bfe6712009030ec7ecd4e4a6279b488f65 Mon Sep 17 00:00:00 2001 From: leriomaggio Date: Fri, 19 Nov 2021 19:18:20 +0000 Subject: [PATCH 010/100] Updated Oracle for MaxArtCount test for Island This time the test consider a lower-bound to avoid similar cases in the future :) --- forge-gui-desktop/src/test/java/forge/card/CardDbTestCase.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forge-gui-desktop/src/test/java/forge/card/CardDbTestCase.java b/forge-gui-desktop/src/test/java/forge/card/CardDbTestCase.java index 503e5ba46b7..6c0cf5d013c 100644 --- a/forge-gui-desktop/src/test/java/forge/card/CardDbTestCase.java +++ b/forge-gui-desktop/src/test/java/forge/card/CardDbTestCase.java @@ -2101,7 +2101,7 @@ public class CardDbTestCase extends ForgeCardMockTestCase { @Test public void testMaxArtCountForBasicLand(){ int maxArtIndex = this.cardDb.getMaxArtIndex("Island"); - assertEquals(maxArtIndex, 13); + assertTrue(maxArtIndex >= 14); } @Test From eafdafafeca385e5618d346b540b51e924e1a584 Mon Sep 17 00:00:00 2001 From: tool4EvEr Date: Fri, 19 Nov 2021 20:53:30 +0100 Subject: [PATCH 011/100] CopyPermanentAi: fix missing trigger --- .../java/forge/ai/ability/CopyPermanentAi.java | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/forge-ai/src/main/java/forge/ai/ability/CopyPermanentAi.java b/forge-ai/src/main/java/forge/ai/ability/CopyPermanentAi.java index f5a60501da9..4cc13b47baa 100644 --- a/forge-ai/src/main/java/forge/ai/ability/CopyPermanentAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/CopyPermanentAi.java @@ -128,19 +128,25 @@ public class CopyPermanentAi extends SpellAbilityAi { final String sourceName = ComputerUtilAbility.getAbilitySourceName(sa); final boolean canCopyLegendary = sa.hasParam("NonLegendary"); - // //// - // Targeting if (sa.usesTargeting()) { sa.resetTargets(); CardCollection list = new CardCollection(CardUtil.getValidCardsToTarget(sa.getTargetRestrictions(), sa)); - list = CardLists.filter(list, Predicates.not(CardPredicates.isRemAIDeck())); //Nothing to target if (list.isEmpty()) { return false; } - + + CardCollection betterList = CardLists.filter(list, Predicates.not(CardPredicates.isRemAIDeck())); + if (betterList.isEmpty()) { + if (!mandatory) { + return false; + } + } else { + list = betterList; + } + // Saheeli Rai + Felidar Guardian combo support if ("Saheeli Rai".equals(sourceName)) { CardCollection felidarGuardian = CardLists.filter(list, CardPredicates.nameEquals("Felidar Guardian")); @@ -154,7 +160,7 @@ public class CopyPermanentAi extends SpellAbilityAi { // target loop while (sa.canAddMoreTarget()) { if (list.isEmpty()) { - if (!sa.isTargetNumberValid() || (sa.getTargets().size() == 0)) { + if (!sa.isTargetNumberValid() || sa.getTargets().size() == 0) { sa.resetTargets(); return false; } else { From e98fea8879b3f1bb9847a76f2425bb69c2e4c3a4 Mon Sep 17 00:00:00 2001 From: tool4EvEr Date: Fri, 19 Nov 2021 23:56:24 +0100 Subject: [PATCH 012/100] Clean up --- .../src/main/java/forge/ai/ability/DamageDealAi.java | 2 +- .../forge/deck/generation/DeckGeneratorBase.java | 1 - .../src/main/java/forge/util/lang/LangGerman.java | 1 - forge-gui/res/cardsfolder/c/cast_out.txt | 2 +- .../gamemodes/limited/CardThemedDeckBuilder.java | 10 ++-------- .../tournament/system/AbstractTournament.java | 12 ++++++------ 6 files changed, 10 insertions(+), 18 deletions(-) diff --git a/forge-ai/src/main/java/forge/ai/ability/DamageDealAi.java b/forge-ai/src/main/java/forge/ai/ability/DamageDealAi.java index 580509510e0..5bba9bee342 100644 --- a/forge-ai/src/main/java/forge/ai/ability/DamageDealAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/DamageDealAi.java @@ -566,7 +566,7 @@ public class DamageDealAi extends DamageAiBase { TargetChoices tcs = sa.getTargets(); // Do not use if would kill self - if (("SelfDamage".equals(logic)) && (ai.getLife() <= Integer.parseInt(source.getSVar("SelfDamageAmount")))) { + if ("SelfDamage".equals(logic) && ai.getLife() <= Integer.parseInt(source.getSVar("SelfDamageAmount"))) { return false; } diff --git a/forge-core/src/main/java/forge/deck/generation/DeckGeneratorBase.java b/forge-core/src/main/java/forge/deck/generation/DeckGeneratorBase.java index 0aa65acf1c3..7eb4291f684 100644 --- a/forge-core/src/main/java/forge/deck/generation/DeckGeneratorBase.java +++ b/forge-core/src/main/java/forge/deck/generation/DeckGeneratorBase.java @@ -92,7 +92,6 @@ public abstract class DeckGeneratorBase { final Iterable cards = selectCardsOfMatchingColorForPlayer(forAi); // build subsets based on type - final Iterable creatures = Iterables.filter(cards, Predicates.compose(CardRulesPredicates.Presets.IS_CREATURE, PaperCard.FN_GET_RULES)); final int creatCnt = (int) Math.ceil(getCreaturePercentage() * size); trace.append("Creatures to add:").append(creatCnt).append("\n"); diff --git a/forge-core/src/main/java/forge/util/lang/LangGerman.java b/forge-core/src/main/java/forge/util/lang/LangGerman.java index 3c9d6dc1674..30558194d07 100644 --- a/forge-core/src/main/java/forge/util/lang/LangGerman.java +++ b/forge-core/src/main/java/forge/util/lang/LangGerman.java @@ -26,7 +26,6 @@ public class LangGerman extends Lang { return getPossesive(owner) + " " + object; } - @Override public String getNickName(final String name) { if (name.contains(",")) { diff --git a/forge-gui/res/cardsfolder/c/cast_out.txt b/forge-gui/res/cardsfolder/c/cast_out.txt index 11266256ed5..ddff71a35fe 100644 --- a/forge-gui/res/cardsfolder/c/cast_out.txt +++ b/forge-gui/res/cardsfolder/c/cast_out.txt @@ -3,7 +3,7 @@ ManaCost:3 W Types:Enchantment K:Flash T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigExile | TriggerDescription$ When CARDNAME enters the battlefield, exile target nonland permanent an opponent controls until CARDNAME leaves the battlefield. -SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Permanent.nonLand+OppCtrl | TgtPrompt$ Select target nonland permanent an opponent controls | Duration$ UntilHostLeavesPlay +SVar:TrigExile:DB$ ChangeZone | Origin$ Battlefield | Destination$ Exile | ValidTgts$ Permanent.nonLand+OppCtrl | TgtPrompt$ Select target nonland permanent an opponent controls | Duration$ UntilHostLeavesPlay K:Cycling:W SVar:OblivionRing:TRUE Oracle:Flash\nWhen Cast Out enters the battlefield, exile target nonland permanent an opponent controls until Cast Out leaves the battlefield.\nCycling {W} ({W}, Discard this card: Draw a card.) diff --git a/forge-gui/src/main/java/forge/gamemodes/limited/CardThemedDeckBuilder.java b/forge-gui/src/main/java/forge/gamemodes/limited/CardThemedDeckBuilder.java index aa7d7ebd81d..903868338a1 100644 --- a/forge-gui/src/main/java/forge/gamemodes/limited/CardThemedDeckBuilder.java +++ b/forge-gui/src/main/java/forge/gamemodes/limited/CardThemedDeckBuilder.java @@ -216,8 +216,7 @@ public class CardThemedDeckBuilder extends DeckGeneratorBase { System.out.println("Post more creatures and spells : " + deckList.size()); } - // 5. If there are still on-color cards, and the average cmc is low, add - // extras. + // 5. If there are still on-color cards, and the average cmc is low, add extras. double avCMC = getAverageCMC(deckList); //calculated required lands based on https://www.channelfireball.com/articles/how-many-lands-do-you-need-to-consistently-hit-your-land-drops/ float baseLandParameter = 16f; @@ -326,14 +325,12 @@ public class CardThemedDeckBuilder extends DeckGeneratorBase { aiPlayables.remove(sbCard); rankedColorList.remove(sbCard); - ++i; } if (logToConsole) { debugFinalDeck(); } return result; - } //Extend to playsets for non land cards to fill out deck for when no other suitable cards are available @@ -714,7 +711,6 @@ public class CardThemedDeckBuilder extends DeckGeneratorBase { while (deckList.size() > targetSize) { deckList.remove(deckList.size() - 1); } - } /** @@ -872,9 +868,7 @@ public class CardThemedDeckBuilder extends DeckGeneratorBase { Collections.shuffle(possibleList); //addManaCurveCards(CardRanker.rankCardsInDeck(possibleList.subList(0, targetSize*3 <= possibleList.size() ? targetSize*3 : possibleList.size())), //num, "Random Card"); - addManaCurveCards(possibleList, - num, "Random Card"); - + addManaCurveCards(possibleList, num, "Random Card"); } /** diff --git a/forge-gui/src/main/java/forge/gamemodes/tournament/system/AbstractTournament.java b/forge-gui/src/main/java/forge/gamemodes/tournament/system/AbstractTournament.java index 4747832c4b4..ff9871df2d0 100644 --- a/forge-gui/src/main/java/forge/gamemodes/tournament/system/AbstractTournament.java +++ b/forge-gui/src/main/java/forge/gamemodes/tournament/system/AbstractTournament.java @@ -28,8 +28,8 @@ public abstract class AbstractTournament implements Serializable { protected final List completedPairings = new ArrayList<>(); protected final List activePairings = new ArrayList<>(); - public List getCompletedPairings() { return completedPairings; } - public List getActivePairings() { return activePairings; } + public List getCompletedPairings() { return completedPairings; } + public List getActivePairings() { return activePairings; } public AbstractTournament(int ttlRnds) { activeRound = 0; @@ -60,13 +60,13 @@ public abstract class AbstractTournament implements Serializable { public int getActiveRound() { return activeRound; } public int getTotalRounds() { return totalRounds; } - public boolean isContinualPairing() { return continualPairing; } + public boolean isContinualPairing() { return continualPairing; } - public void setContinualPairing(boolean continualPairing) { this.continualPairing = continualPairing; } + public void setContinualPairing(boolean continualPairing) { this.continualPairing = continualPairing; } public boolean isInitialized() { return initialized; } - public void setInitialized(boolean initialized) { this.initialized = initialized; } + public void setInitialized(boolean initialized) { this.initialized = initialized; } public boolean isPlayerRemaining(TournamentPlayer player) { return remainingPlayers.contains(player); @@ -144,7 +144,7 @@ public abstract class AbstractTournament implements Serializable { } } - public List getAllPlayers(){ + public List getAllPlayers() { return allPlayers; } From d8cceefe39f34d0e6872efc8c3a2b80c5489e9d7 Mon Sep 17 00:00:00 2001 From: tool4EvEr Date: Sat, 20 Nov 2021 13:01:52 +0100 Subject: [PATCH 013/100] Fix AI not playing Sky Swallower trigger --- .../src/main/java/forge/ai/ability/ControlGainAi.java | 11 ++++++++++- .../forge/game/ability/effects/AddPhaseEffect.java | 2 +- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/forge-ai/src/main/java/forge/ai/ability/ControlGainAi.java b/forge-ai/src/main/java/forge/ai/ability/ControlGainAi.java index 32aa71bbcc1..d4cfdca8c5e 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ControlGainAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ControlGainAi.java @@ -272,7 +272,16 @@ public class ControlGainAi extends SpellAbilityAi { return true; } } else { - if(sa.hasParam("TargetingPlayer") || (!this.canPlayAI(ai, sa) && mandatory)) { + if (sa.hasParam("TargetingPlayer") || (!this.canPlayAI(ai, sa) && mandatory)) { + if (sa.getTargetRestrictions().canOnlyTgtOpponent()) { + List oppList = ai.getOpponents().filter(PlayerPredicates.isTargetableBy(sa)); + if (oppList.isEmpty()) { + return false; + } + sa.getTargets().add(Aggregates.random(oppList)); + return true; + } + List list = CardLists.getTargetableCards(ai.getCardsIn(ZoneType.Battlefield), sa); if (list.isEmpty()) { return false; diff --git a/forge-game/src/main/java/forge/game/ability/effects/AddPhaseEffect.java b/forge-game/src/main/java/forge/game/ability/effects/AddPhaseEffect.java index 6f7c310e910..3ec8a944860 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/AddPhaseEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/AddPhaseEffect.java @@ -49,7 +49,7 @@ public class AddPhaseEffect extends SpellAbilityEffect { extraPhaseList.addAll(PhaseType.PHASE_GROUPS.get(0)); } else if (extra.equals("Combat")) { extraPhaseList.addAll(PhaseType.PHASE_GROUPS.get(2)); - } else { // Currently no effect will add End Phase + } else { // Currently no effect will add End Phase extraPhaseList.add(PhaseType.smartValueOf(extra)); } From aa34b74fc477bbb7337dc11b64a2152cd0ba7754 Mon Sep 17 00:00:00 2001 From: tool4EvEr Date: Sat, 20 Nov 2021 13:02:24 +0100 Subject: [PATCH 014/100] Fix AI not playing Lord of Tresserhorn trigger --- forge-ai/src/main/java/forge/ai/ability/DrawAi.java | 2 +- .../src/main/java/forge/game/phase/PhaseHandler.java | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/forge-ai/src/main/java/forge/ai/ability/DrawAi.java b/forge-ai/src/main/java/forge/ai/ability/DrawAi.java index 48a3dcce9a0..b796bfadcdc 100644 --- a/forge-ai/src/main/java/forge/ai/ability/DrawAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/DrawAi.java @@ -176,7 +176,7 @@ public class DrawAi extends SpellAbilityAi { @Override public boolean chkAIDrawback(SpellAbility sa, Player ai) { - return targetAI(ai, sa, false); + return targetAI(ai, sa, sa.isTrigger() && !sa.getRootAbility().isOptionalTrigger()); } /** diff --git a/forge-game/src/main/java/forge/game/phase/PhaseHandler.java b/forge-game/src/main/java/forge/game/phase/PhaseHandler.java index aa976ed0cb9..a6c73345283 100644 --- a/forge-game/src/main/java/forge/game/phase/PhaseHandler.java +++ b/forge-game/src/main/java/forge/game/phase/PhaseHandler.java @@ -981,15 +981,15 @@ public class PhaseHandler implements java.io.Serializable { } public final boolean isFirstCombat() { - return (nCombatsThisTurn == 1); + return nCombatsThisTurn == 1; } public final boolean isFirstUpkeep() { - return is(PhaseType.UPKEEP) && (nUpkeepsThisTurn == 0); + return is(PhaseType.UPKEEP) && nUpkeepsThisTurn == 0; } public final boolean isFirstUpkeepThisGame() { - return is(PhaseType.UPKEEP) && (nUpkeepsThisGame == 0); + return is(PhaseType.UPKEEP) && nUpkeepsThisGame == 0; } public final boolean isPreCombatMain() { @@ -998,7 +998,7 @@ public class PhaseHandler implements java.io.Serializable { } public final boolean beforeFirstPostCombatMainEnd() { - return (nMain2sThisTurn == 0); + return nMain2sThisTurn == 0; } private final static boolean DEBUG_PHASES = false; From a538c349cfd0ac7aff64ac9977f60df841a43e61 Mon Sep 17 00:00:00 2001 From: tool4EvEr Date: Sat, 20 Nov 2021 13:03:22 +0100 Subject: [PATCH 015/100] Fix targeting hexproof player in multiplayer --- forge-ai/src/main/java/forge/ai/ability/AddTurnAi.java | 5 ++++- forge-ai/src/main/java/forge/ai/ability/TokenAi.java | 6 +++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/forge-ai/src/main/java/forge/ai/ability/AddTurnAi.java b/forge-ai/src/main/java/forge/ai/ability/AddTurnAi.java index f8d1c1c9891..222092308aa 100644 --- a/forge-ai/src/main/java/forge/ai/ability/AddTurnAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/AddTurnAi.java @@ -24,6 +24,8 @@ import org.apache.commons.lang3.StringUtils; import forge.ai.SpellAbilityAi; import forge.game.ability.AbilityUtils; import forge.game.player.Player; +import forge.game.player.PlayerCollection; +import forge.game.player.PlayerPredicates; import forge.game.spellability.SpellAbility; /** @@ -38,7 +40,8 @@ public class AddTurnAi extends SpellAbilityAi { @Override protected boolean doTriggerAINoCost(Player ai, SpellAbility sa, boolean mandatory) { - final Player opp = ai.getWeakestOpponent(); + PlayerCollection targetableOpps = ai.getOpponents().filter(PlayerPredicates.isTargetableBy(sa)); + Player opp = targetableOpps.min(PlayerPredicates.compareByLife()); if (sa.usesTargeting()) { sa.resetTargets(); diff --git a/forge-ai/src/main/java/forge/ai/ability/TokenAi.java b/forge-ai/src/main/java/forge/ai/ability/TokenAi.java index 69ce9ce0117..f903f627a2e 100644 --- a/forge-ai/src/main/java/forge/ai/ability/TokenAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/TokenAi.java @@ -33,6 +33,8 @@ import forge.game.phase.PhaseHandler; import forge.game.phase.PhaseType; import forge.game.player.Player; import forge.game.player.PlayerActionConfirmMode; +import forge.game.player.PlayerCollection; +import forge.game.player.PlayerPredicates; import forge.game.spellability.AbilitySub; import forge.game.spellability.SpellAbility; import forge.game.spellability.TargetRestrictions; @@ -260,7 +262,9 @@ public class TokenAi extends SpellAbilityAi { if (tgt != null) { sa.resetTargets(); if (tgt.canOnlyTgtOpponent()) { - sa.getTargets().add(ai.getWeakestOpponent()); + PlayerCollection targetableOpps = ai.getOpponents().filter(PlayerPredicates.isTargetableBy(sa)); + Player opp = targetableOpps.min(PlayerPredicates.compareByLife()); + sa.getTargets().add(opp); } else { sa.getTargets().add(ai); } From 8c96012083243a4c14e3eec1121e48af10ada5f0 Mon Sep 17 00:00:00 2001 From: tool4EvEr Date: Sat, 20 Nov 2021 14:48:24 +0100 Subject: [PATCH 016/100] Allow AI to play Lord of Tresserhorn when ETB trigger won't happen --- forge-ai/src/main/java/forge/ai/AiController.java | 5 +++-- .../src/main/java/forge/ai/ComputerUtilAbility.java | 11 +++++++++++ forge-ai/src/main/java/forge/ai/ability/DrawAi.java | 2 +- forge-gui/res/cardsfolder/l/lord_of_tresserhorn.txt | 2 +- 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/forge-ai/src/main/java/forge/ai/AiController.java b/forge-ai/src/main/java/forge/ai/AiController.java index c66ce4cccca..659179520c0 100644 --- a/forge-ai/src/main/java/forge/ai/AiController.java +++ b/forge-ai/src/main/java/forge/ai/AiController.java @@ -294,8 +294,9 @@ public class AiController { // These checks only work if the Executing SpellAbility is an Ability_Sub. if (exSA instanceof AbilitySub && !doTrigger(exSA, false)) { // AI would not run this trigger if given the chance - if (api == null && card.isCreature() && exSA.usesTargeting() && !exSA.getTargetRestrictions().hasCandidates(exSA) && ComputerUtil.aiLifeInDanger(activatingPlayer, true, 0)) { - // trigger will not run due to lack of targets and we desperately need a creature + if (api == null && card.isCreature() && !ComputerUtilAbility.isFullyTargetable(exSA) && + (ComputerUtil.aiLifeInDanger(activatingPlayer, true, 0) || "BadETB".equals(tr.getParam("AILogic")))) { + // trigger will not run due to lack of targets and we 1. desperately need a creature or 2. are happy about that continue; } return false; diff --git a/forge-ai/src/main/java/forge/ai/ComputerUtilAbility.java b/forge-ai/src/main/java/forge/ai/ComputerUtilAbility.java index c9aec6c625f..75a09008778 100644 --- a/forge-ai/src/main/java/forge/ai/ComputerUtilAbility.java +++ b/forge-ai/src/main/java/forge/ai/ComputerUtilAbility.java @@ -214,4 +214,15 @@ public class ComputerUtilAbility { return targeted; } + + public static boolean isFullyTargetable(SpellAbility sa) { + SpellAbility sub = sa; + while (sub != null) { + if (sub.usesTargeting() && !sub.getTargetRestrictions().hasCandidates(sub)) { + return false; + } + sub = sub.getSubAbility(); + } + return true; + } } diff --git a/forge-ai/src/main/java/forge/ai/ability/DrawAi.java b/forge-ai/src/main/java/forge/ai/ability/DrawAi.java index b796bfadcdc..8e329757eba 100644 --- a/forge-ai/src/main/java/forge/ai/ability/DrawAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/DrawAi.java @@ -176,7 +176,7 @@ public class DrawAi extends SpellAbilityAi { @Override public boolean chkAIDrawback(SpellAbility sa, Player ai) { - return targetAI(ai, sa, sa.isTrigger() && !sa.getRootAbility().isOptionalTrigger()); + return targetAI(ai, sa, sa.isTrigger() && sa.getHostCard().isInZone(ZoneType.Battlefield)); } /** diff --git a/forge-gui/res/cardsfolder/l/lord_of_tresserhorn.txt b/forge-gui/res/cardsfolder/l/lord_of_tresserhorn.txt index 22c4eadc2fa..9fd51085181 100644 --- a/forge-gui/res/cardsfolder/l/lord_of_tresserhorn.txt +++ b/forge-gui/res/cardsfolder/l/lord_of_tresserhorn.txt @@ -2,7 +2,7 @@ Name:Lord of Tresserhorn ManaCost:1 U B R Types:Legendary Creature Zombie PT:10/4 -T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Creature.Self | Execute$ TrigLose | TriggerDescription$ When CARDNAME enters the battlefield, you lose 2 life, you sacrifice two creatures, and target opponent draws two cards. +T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Creature.Self | Execute$ TrigLose | AILogic$ BadETB | TriggerDescription$ When CARDNAME enters the battlefield, you lose 2 life, you sacrifice two creatures, and target opponent draws two cards. A:AB$ Regenerate | Cost$ B | SpellDescription$ Regenerate CARDNAME. SVar:TrigLose:DB$ LoseLife | LifeAmount$ 2 | SubAbility$ DBSac SVar:DBSac:DB$ Sacrifice | Amount$ 2 | SacValid$ Creature | SubAbility$ DBDraw From 124790336966ac883741ade5dcc624c6252b1ec2 Mon Sep 17 00:00:00 2001 From: tool4EvEr Date: Sat, 20 Nov 2021 15:42:29 +0100 Subject: [PATCH 017/100] Add sanity check --- forge-ai/src/main/java/forge/ai/ability/TokenAi.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/forge-ai/src/main/java/forge/ai/ability/TokenAi.java b/forge-ai/src/main/java/forge/ai/ability/TokenAi.java index f903f627a2e..9bd2f20db2c 100644 --- a/forge-ai/src/main/java/forge/ai/ability/TokenAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/TokenAi.java @@ -263,6 +263,9 @@ public class TokenAi extends SpellAbilityAi { sa.resetTargets(); if (tgt.canOnlyTgtOpponent()) { PlayerCollection targetableOpps = ai.getOpponents().filter(PlayerPredicates.isTargetableBy(sa)); + if (mandatory && targetableOpps.isEmpty()) { + return false; + } Player opp = targetableOpps.min(PlayerPredicates.compareByLife()); sa.getTargets().add(opp); } else { From 306039e901ad9cb4505523bb9cc8416ae0a315f4 Mon Sep 17 00:00:00 2001 From: tool4EvEr Date: Sat, 20 Nov 2021 15:42:43 +0100 Subject: [PATCH 018/100] Clean up --- .../src/main/java/forge/ai/ComputerUtil.java | 8 ++++---- .../java/forge/ai/PlayerControllerAi.java | 4 ++-- .../main/java/forge/ai/ability/DrawAi.java | 2 +- .../src/main/java/forge/game/GameAction.java | 6 +++--- .../main/java/forge/game/GameActionUtil.java | 2 +- .../game/ability/effects/BondEffect.java | 2 +- .../ability/effects/ControlGainEffect.java | 2 +- .../game/ability/effects/SetStateEffect.java | 6 +++--- .../src/main/java/forge/game/card/Card.java | 20 +++++++++---------- .../src/main/java/forge/game/mana/Mana.java | 3 +-- .../forge/game/spellability/LandAbility.java | 3 +-- .../spellability/SpellAbilityRestriction.java | 4 ++-- .../game/staticability/StaticAbility.java | 2 +- .../StaticAbilityCantTarget.java | 2 +- .../forge/player/PlayerControllerHuman.java | 2 +- 15 files changed, 33 insertions(+), 35 deletions(-) diff --git a/forge-ai/src/main/java/forge/ai/ComputerUtil.java b/forge-ai/src/main/java/forge/ai/ComputerUtil.java index 4d43e0f39d4..16ece03f4f7 100644 --- a/forge-ai/src/main/java/forge/ai/ComputerUtil.java +++ b/forge-ai/src/main/java/forge/ai/ComputerUtil.java @@ -1504,7 +1504,7 @@ public class ComputerUtil { } // Triggered abilities - if (c.isCreature() && c.isInZone(ZoneType.Battlefield) && CombatUtil.canAttack(c)) { + if (c.isCreature() && c.isInPlay() && CombatUtil.canAttack(c)) { for (final Trigger t : c.getTriggers()) { if (TriggerType.Attacks.equals(t.getMode())) { SpellAbility sa = t.ensureAbility(); @@ -2451,7 +2451,7 @@ public class ComputerUtil { return opponent ? "Feather" : "Quill"; } // if source is not on the battlefield anymore, choose +1/+1 ones - if (!game.getCardState(source).isInZone(ZoneType.Battlefield)) { + if (!game.getCardState(source).isInPlay()) { return opponent ? "Feather" : "Quill"; } // if no hand cards, try to mill opponent @@ -2483,7 +2483,7 @@ public class ComputerUtil { } // if source is not on the battlefield anymore - if (!game.getCardState(source).isInZone(ZoneType.Battlefield)) { + if (!game.getCardState(source).isInPlay()) { return opponent ? "Strength" : "Numbers"; } @@ -2529,7 +2529,7 @@ public class ComputerUtil { } // if source is not on the battlefield anymore - if (!game.getCardState(source).isInZone(ZoneType.Battlefield)) { + if (!game.getCardState(source).isInPlay()) { return opponent ? "Sprout" : "Harvest"; } // TODO add Lifegain to +1/+1 counters trigger diff --git a/forge-ai/src/main/java/forge/ai/PlayerControllerAi.java b/forge-ai/src/main/java/forge/ai/PlayerControllerAi.java index fee43f50e54..7a580efe21a 100644 --- a/forge-ai/src/main/java/forge/ai/PlayerControllerAi.java +++ b/forge-ai/src/main/java/forge/ai/PlayerControllerAi.java @@ -797,7 +797,7 @@ public class PlayerControllerAi extends PlayerController { return true; } else { Card rem = (Card) source.getFirstRemembered(); - if (!rem.isInZone(ZoneType.Battlefield)) { + if (!rem.isInPlay()) { return true; } } @@ -806,7 +806,7 @@ public class PlayerControllerAi extends PlayerController { if (source.getRememberedCount() > 0) { Card rem = (Card) source.getFirstRemembered(); // avoid pumping opponent creature - if (!rem.isInZone(ZoneType.Battlefield) || rem.getController().isOpponentOf(source.getController())) { + if (!rem.isInPlay() || rem.getController().isOpponentOf(source.getController())) { return true; } for (Card c : source.getController().getCreaturesInPlay()) { diff --git a/forge-ai/src/main/java/forge/ai/ability/DrawAi.java b/forge-ai/src/main/java/forge/ai/ability/DrawAi.java index 8e329757eba..23f11a95dc6 100644 --- a/forge-ai/src/main/java/forge/ai/ability/DrawAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/DrawAi.java @@ -176,7 +176,7 @@ public class DrawAi extends SpellAbilityAi { @Override public boolean chkAIDrawback(SpellAbility sa, Player ai) { - return targetAI(ai, sa, sa.isTrigger() && sa.getHostCard().isInZone(ZoneType.Battlefield)); + return targetAI(ai, sa, sa.isTrigger() && sa.getHostCard().isInPlay()); } /** diff --git a/forge-game/src/main/java/forge/game/GameAction.java b/forge-game/src/main/java/forge/game/GameAction.java index f158cfcb9be..56a06649083 100644 --- a/forge-game/src/main/java/forge/game/GameAction.java +++ b/forge-game/src/main/java/forge/game/GameAction.java @@ -355,7 +355,7 @@ public class GameAction { ReplacementResult repres = game.getReplacementHandler().run(ReplacementType.Moved, repParams); if (repres != ReplacementResult.NotReplaced) { // reset failed manifested Cards back to original - if (c.isManifested() && !c.isInZone(ZoneType.Battlefield)) { + if (c.isManifested() && !c.isInPlay()) { c.forceTurnFaceUp(); } @@ -373,7 +373,7 @@ public class GameAction { } // was replaced with another Zone Change - if (toBattlefield && !c.isInZone(ZoneType.Battlefield)) { + if (toBattlefield && !c.isInPlay()) { if (c.removeChangedState()) { c.updateStateForView(); } @@ -1171,7 +1171,7 @@ public class GameAction { } if (c.isCreature() && c.isPaired()) { Card partner = c.getPairedWith(); - if (!partner.isCreature() || c.getController() != partner.getController() || !c.isInZone(ZoneType.Battlefield)) { + if (!partner.isCreature() || c.getController() != partner.getController() || !c.isInPlay()) { c.setPairedWith(null); partner.setPairedWith(null); affectedCards.add(c); diff --git a/forge-game/src/main/java/forge/game/GameActionUtil.java b/forge-game/src/main/java/forge/game/GameActionUtil.java index b3fecdba818..96a974d2179 100644 --- a/forge-game/src/main/java/forge/game/GameActionUtil.java +++ b/forge-game/src/main/java/forge/game/GameActionUtil.java @@ -96,7 +96,7 @@ public final class GameActionUtil { Card source = sa.getHostCard(); final Game game = source.getGame(); - if (sa.isSpell() && !source.isInZone(ZoneType.Battlefield)) { + if (sa.isSpell() && !source.isInPlay()) { boolean lkicheck = false; Card newHost = ((Spell)sa).getAlternateHost(source); diff --git a/forge-game/src/main/java/forge/game/ability/effects/BondEffect.java b/forge-game/src/main/java/forge/game/ability/effects/BondEffect.java index 7a05d732a38..32814c577d3 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/BondEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/BondEffect.java @@ -17,7 +17,7 @@ public class BondEffect extends SpellAbilityEffect { CardCollectionView trigCards = AbilityUtils.getDefinedCards(sa.getHostCard(), sa.getParam("Defined"), sa); // Check that this card hasn't already become paired by an earlier trigger - if (trigCards.getFirst().isPaired() || !trigCards.getFirst().isInZone(ZoneType.Battlefield)) { + if (trigCards.getFirst().isPaired() || !trigCards.getFirst().isInPlay()) { return; } diff --git a/forge-game/src/main/java/forge/game/ability/effects/ControlGainEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ControlGainEffect.java index a7f8585bea9..a328e38b68b 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ControlGainEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ControlGainEffect.java @@ -127,7 +127,7 @@ public class ControlGainEffect extends SpellAbilityEffect { } // check for lose control criteria right away - if (lose != null && lose.contains("LeavesPlay") && !source.isInZone(ZoneType.Battlefield)) { + if (lose != null && lose.contains("LeavesPlay") && !source.isInPlay()) { return; } if (lose != null && lose.contains("Untap") && !source.isTapped()) { diff --git a/forge-game/src/main/java/forge/game/ability/effects/SetStateEffect.java b/forge-game/src/main/java/forge/game/ability/effects/SetStateEffect.java index a251d86ca6f..c1ee740946f 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/SetStateEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/SetStateEffect.java @@ -87,12 +87,12 @@ public class SetStateEffect extends SpellAbilityEffect { // Cards which are not on the battlefield should not be able to transform. // TurnFace should be allowed in other zones like Exile too - if (!"TurnFace".equals(mode) && !gameCard.isInZone(ZoneType.Battlefield) && !sa.hasParam("ETB")) { + if (!"TurnFace".equals(mode) && !gameCard.isInPlay() && !sa.hasParam("ETB")) { continue; } // facedown cards that are not Permanent, can't turn faceup there - if ("TurnFace".equals(mode) && gameCard.isFaceDown() && gameCard.isInZone(ZoneType.Battlefield)) { + if ("TurnFace".equals(mode) && gameCard.isFaceDown() && gameCard.isInPlay()) { if (gameCard.hasMergedCard()) { boolean hasNonPermanent = false; Card nonPermanentCard = null; @@ -119,7 +119,7 @@ public class SetStateEffect extends SpellAbilityEffect { } // Merged faceup permanent that have double faced cards can't turn face down - if ("TurnFace".equals(mode) && !gameCard.isFaceDown() && gameCard.isInZone(ZoneType.Battlefield) + if ("TurnFace".equals(mode) && !gameCard.isFaceDown() && gameCard.isInPlay() && gameCard.hasMergedCard()) { boolean hasBackSide = false; for (final Card c : gameCard.getMergedCards()) { diff --git a/forge-game/src/main/java/forge/game/card/Card.java b/forge-game/src/main/java/forge/game/card/Card.java index 8592426b252..565250011b4 100644 --- a/forge-game/src/main/java/forge/game/card/Card.java +++ b/forge-game/src/main/java/forge/game/card/Card.java @@ -2408,7 +2408,7 @@ public class Card extends GameEntity implements Comparable, IHasSVars { } // CantBlockBy static abilities - if (game != null && isCreature() && isInZone(ZoneType.Battlefield)) { + if (game != null && isCreature() && isInPlay()) { for (final Card ca : game.getCardsIn(ZoneType.STATIC_ABILITIES_SOURCE_ZONES)) { if (equals(ca)) { continue; @@ -2453,7 +2453,7 @@ public class Card extends GameEntity implements Comparable, IHasSVars { sb.append(linebreak); // Currently the maximum levels of all Class cards are all 3 for (int level = 1; level <= 3; ++level) { - boolean disabled = level > getClassLevel() && isInZone(ZoneType.Battlefield); + boolean disabled = level > getClassLevel() && isInPlay(); // Class second part is a static ability that grants the other abilities for (final StaticAbility st : state.getStaticAbilities()) { if (st.isClassLevelNAbility(level) && !st.isSecondary()) { @@ -2880,7 +2880,7 @@ public class Card extends GameEntity implements Comparable, IHasSVars { // add Facedown abilities from Original state but only if this state is face down // need CardStateView#getState or might crash in StackOverflow - if (isInZone(ZoneType.Battlefield)) { + if (isInPlay()) { if ((null == mana || false == mana) && isFaceDown() && state.getView().getState() == CardStateName.FaceDown) { for (SpellAbility sa : getState(CardStateName.Original).getNonManaAbilities()) { if (sa.isManifestUp() || sa.isMorphUp()) { @@ -3009,7 +3009,7 @@ public class Card extends GameEntity implements Comparable, IHasSVars { // is this "Card" supposed to be a token? public final boolean isToken() { - if (isInZone(ZoneType.Battlefield) && hasMergedCard()) { + if (isInPlay() && hasMergedCard()) { return getTopMergedCard().token; } return token; @@ -3027,7 +3027,7 @@ public class Card extends GameEntity implements Comparable, IHasSVars { } public final boolean isTokenCard() { - if (isInZone(ZoneType.Battlefield) && hasMergedCard()) { + if (isInPlay() && hasMergedCard()) { return getTopMergedCard().tokenCard; } return tokenCard; @@ -4660,7 +4660,7 @@ public class Card extends GameEntity implements Comparable, IHasSVars { } public final boolean isPermanent() { - return !isImmutable() && (isInZone(ZoneType.Battlefield) || getType().isPermanent()); + return !isImmutable() && (isInPlay() || getType().isPermanent()); } public final boolean isSpell() { @@ -5744,7 +5744,7 @@ public class Card extends GameEntity implements Comparable, IHasSVars { } // Protection only works on the Battlefield - if (!isInZone(ZoneType.Battlefield)) { + if (!isInPlay()) { return false; } @@ -5970,7 +5970,7 @@ public class Card extends GameEntity implements Comparable, IHasSVars { } // keywords don't work outside battlefield - if (!isInZone(ZoneType.Battlefield)) { + if (!isInPlay()) { return true; } @@ -6319,7 +6319,7 @@ public class Card extends GameEntity implements Comparable, IHasSVars { public boolean isCommander() { if (this.getMeldedWith() != null && this.getMeldedWith().isCommander()) return true; - if (isInZone(ZoneType.Battlefield) && hasMergedCard()) { + if (isInPlay() && hasMergedCard()) { for (final Card c : getMergedCards()) if (c.isCommander) return true; } @@ -6341,7 +6341,7 @@ public class Card extends GameEntity implements Comparable, IHasSVars { return this; if (this.getMeldedWith() != null && this.getMeldedWith().isCommander()) return this.getMeldedWith(); - if (isInZone(ZoneType.Battlefield) && hasMergedCard()) { + if (isInPlay() && hasMergedCard()) { for (final Card c : getMergedCards()) if (c.isCommander) return c; } 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 92f061eb248..5f7b90d2d46 100644 --- a/forge-game/src/main/java/forge/game/mana/Mana.java +++ b/forge-game/src/main/java/forge/game/mana/Mana.java @@ -23,7 +23,6 @@ import forge.game.card.Card; import forge.game.card.CardUtil; import forge.game.spellability.AbilityManaPart; import forge.game.spellability.SpellAbility; -import forge.game.zone.ZoneType; /** *

@@ -72,7 +71,7 @@ public class Mana { public Mana(final byte color, final Card source, final AbilityManaPart manaAbility) { this.color = color; this.manaAbility = manaAbility; - this.sourceCard = source.isInZone(ZoneType.Battlefield) ? CardUtil.getLKICopy(source) : source.getGame().getChangeZoneLKIInfo(source); + this.sourceCard = source.isInPlay() ? CardUtil.getLKICopy(source) : source.getGame().getChangeZoneLKIInfo(source); } @Override diff --git a/forge-game/src/main/java/forge/game/spellability/LandAbility.java b/forge-game/src/main/java/forge/game/spellability/LandAbility.java index f02d2143c47..04f2c3e60ce 100644 --- a/forge-game/src/main/java/forge/game/spellability/LandAbility.java +++ b/forge-game/src/main/java/forge/game/spellability/LandAbility.java @@ -26,7 +26,6 @@ import forge.game.card.CardUtil; import forge.game.cost.Cost; import forge.game.player.Player; import forge.game.staticability.StaticAbility; -import forge.game.zone.ZoneType; public class LandAbility extends Ability { @@ -78,7 +77,7 @@ public class LandAbility extends Ability { getMayPlay().incMayPlayTurn(); } // if land isn't in battlefield try to reset the card state - if (result != null && !result.isInZone(ZoneType.Battlefield)) { + if (result != null && !result.isInPlay()) { result.setState(CardStateName.Original, true); } } diff --git a/forge-game/src/main/java/forge/game/spellability/SpellAbilityRestriction.java b/forge-game/src/main/java/forge/game/spellability/SpellAbilityRestriction.java index 8b4966d853f..6a6d869eec8 100644 --- a/forge-game/src/main/java/forge/game/spellability/SpellAbilityRestriction.java +++ b/forge-game/src/main/java/forge/game/spellability/SpellAbilityRestriction.java @@ -207,7 +207,7 @@ public class SpellAbilityRestriction extends SpellAbilityVariables { // for Bestow need to check the animated State if (sa.isSpell() && sa.isBestow()) { // already bestowed or in battlefield, no need to check for spell - if (c.isInZone(ZoneType.Battlefield)) { + if (c.isInPlay()) { return false; } @@ -480,7 +480,7 @@ public class SpellAbilityRestriction extends SpellAbilityVariables { // 702.36e // If the permanent wouldn’t have a morph cost if it were face up, it can’t be turned face up this way. - if (sa.isMorphUp() && c.isInZone(ZoneType.Battlefield)) { + if (sa.isMorphUp() && c.isInPlay()) { Card cp = c; if (!c.isLKI()) { cp = CardUtil.getLKICopy(c); diff --git a/forge-game/src/main/java/forge/game/staticability/StaticAbility.java b/forge-game/src/main/java/forge/game/staticability/StaticAbility.java index 778a5f27d49..81deb276e57 100644 --- a/forge-game/src/main/java/forge/game/staticability/StaticAbility.java +++ b/forge-game/src/main/java/forge/game/staticability/StaticAbility.java @@ -432,7 +432,7 @@ public class StaticAbility extends CardTraitBase implements IIdentifiable, Clone } } } else if (!hasParam("CharacteristicDefining")) { - if (!getHostCard().isInZone(ZoneType.Battlefield)) { // default + if (!getHostCard().isInPlay()) { // default return false; } } diff --git a/forge-game/src/main/java/forge/game/staticability/StaticAbilityCantTarget.java b/forge-game/src/main/java/forge/game/staticability/StaticAbilityCantTarget.java index 2e67893bc55..d75692e6db8 100644 --- a/forge-game/src/main/java/forge/game/staticability/StaticAbilityCantTarget.java +++ b/forge-game/src/main/java/forge/game/staticability/StaticAbilityCantTarget.java @@ -61,7 +61,7 @@ public class StaticAbilityCantTarget { return false; } } else { // default zone is battlefield - if (!card.isInZone(ZoneType.Battlefield)) { + if (!card.isInPlay()) { return false; } } diff --git a/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java b/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java index 6546810ffb0..c26b79f131a 100644 --- a/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java +++ b/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java @@ -270,7 +270,7 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont public SpellAbility getAbilityToPlay(final Card hostCard, final List abilities, final ITriggerEvent triggerEvent) { // make sure another human player can't choose opponents cards just because he might see them - if (triggerEvent != null && !hostCard.isInZone(ZoneType.Battlefield) && !hostCard.getOwner().equals(player) && + if (triggerEvent != null && !hostCard.isInPlay() && !hostCard.getOwner().equals(player) && !hostCard.getController().equals(player) && // If player cast Shaman's Trance, they can play spells from any Graveyard (if other effects allow it to be cast) (!player.hasKeyword("Shaman's Trance") || !hostCard.isInZone(ZoneType.Graveyard))) { From e8ea2cb4692272d4f71efb225299cebe71bbe5ee Mon Sep 17 00:00:00 2001 From: Job Spijker Date: Sat, 20 Nov 2021 18:30:59 +0000 Subject: [PATCH 019/100] AI kept playing Sparring Regimen after combat. --- forge-gui/res/cardsfolder/s/sparring_regimen.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/forge-gui/res/cardsfolder/s/sparring_regimen.txt b/forge-gui/res/cardsfolder/s/sparring_regimen.txt index 0f56e7ee597..a7d69f9fc8e 100644 --- a/forge-gui/res/cardsfolder/s/sparring_regimen.txt +++ b/forge-gui/res/cardsfolder/s/sparring_regimen.txt @@ -6,5 +6,6 @@ SVar:TrigLearn:DB$ Learn T:Mode$ AttackersDeclared | AttackingPlayer$ You | Execute$ TrigPutCounter | TriggerZones$ Battlefield | TriggerDescription$ Whenever you attack, put a +1/+1 counter on target attacking creature and untap it. SVar:TrigPutCounter:DB$ PutCounter | CounterType$ P1P1 | CounterNum$ 1 | ValidTgts$ Creature.attacking | TgtPrompt$ Select target attacking creature | SubAbility$ DBUntap SVar:DBUntap:DB$ Untap | Defined$ Targeted +SVar:PlayMain1:TRUE DeckHas:Ability$Counters Oracle:When Sparring Regimen enters the battlefield, learn. (You may reveal a Lesson card you own from outside the game and put it into your hand, or discard a card to draw a card.)\nWhenever you attack, put a +1/+1 counter on target attacking creature and untap it. From 5d7e06d3ad7ca8a0a578ceed8ff4568116fd1619 Mon Sep 17 00:00:00 2001 From: tool4EvEr Date: Sun, 21 Nov 2021 15:05:34 +0100 Subject: [PATCH 020/100] Fix targeting of some effects (e.g. Axis of Mortality) --- .../java/forge/ai/ComputerUtilAbility.java | 2 +- .../main/java/forge/ai/ability/AddTurnAi.java | 2 +- .../java/forge/ai/ability/DamageEachAi.java | 7 ++-- .../src/main/java/forge/ai/ability/DigAi.java | 2 +- .../main/java/forge/ai/ability/EncodeAi.java | 1 - .../java/forge/ai/ability/LifeExchangeAi.java | 32 ++++++++------- .../ai/ability/LifeExchangeVariantAi.java | 3 +- .../main/java/forge/ai/ability/LifeSetAi.java | 41 +++++++++++-------- .../main/java/forge/ai/ability/PoisonAi.java | 3 +- .../forge/ai/ability/PowerExchangeAi.java | 3 +- .../java/forge/ai/ability/ProtectAllAi.java | 1 - .../ai/ability/RearrangeTopOfLibraryAi.java | 2 +- .../java/forge/ai/ability/RegenerateAi.java | 9 ++-- .../java/forge/ai/ability/SacrificeAi.java | 26 +++++++----- .../main/java/forge/ai/ability/TapAllAi.java | 12 ++++-- 15 files changed, 81 insertions(+), 65 deletions(-) diff --git a/forge-ai/src/main/java/forge/ai/ComputerUtilAbility.java b/forge-ai/src/main/java/forge/ai/ComputerUtilAbility.java index 75a09008778..b590b3e23a3 100644 --- a/forge-ai/src/main/java/forge/ai/ComputerUtilAbility.java +++ b/forge-ai/src/main/java/forge/ai/ComputerUtilAbility.java @@ -218,7 +218,7 @@ public class ComputerUtilAbility { public static boolean isFullyTargetable(SpellAbility sa) { SpellAbility sub = sa; while (sub != null) { - if (sub.usesTargeting() && !sub.getTargetRestrictions().hasCandidates(sub)) { + if (sub.usesTargeting() && sub.getTargetRestrictions().getNumCandidates(sub, true) < sub.getMinTargets()) { return false; } sub = sub.getSubAbility(); diff --git a/forge-ai/src/main/java/forge/ai/ability/AddTurnAi.java b/forge-ai/src/main/java/forge/ai/ability/AddTurnAi.java index 222092308aa..e67ddaee73e 100644 --- a/forge-ai/src/main/java/forge/ai/ability/AddTurnAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/AddTurnAi.java @@ -54,7 +54,7 @@ public class AddTurnAi extends SpellAbilityAi { break; } } - if (!sa.getTargetRestrictions().isMinTargetsChosen(sa.getHostCard(), sa) && sa.canTarget(opp)) { + if (!sa.getTargetRestrictions().isMinTargetsChosen(sa.getHostCard(), sa) && opp != null) { sa.getTargets().add(opp); } else { return false; diff --git a/forge-ai/src/main/java/forge/ai/ability/DamageEachAi.java b/forge-ai/src/main/java/forge/ai/ability/DamageEachAi.java index 2471f3c52b0..59209d27f67 100644 --- a/forge-ai/src/main/java/forge/ai/ability/DamageEachAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/DamageEachAi.java @@ -21,13 +21,12 @@ public class DamageEachAi extends DamageAiBase { Player weakestOpp = targetableOpps.min(PlayerPredicates.compareByLife()); if (sa.usesTargeting() && weakestOpp != null) { + if ("MadSarkhanUltimate".equals(logic) && !SpecialCardAi.SarkhanTheMad.considerUltimate(ai, sa, weakestOpp)) { + return false; + } sa.resetTargets(); sa.getTargets().add(weakestOpp); } - - if ("MadSarkhanUltimate".equals(logic)) { - return SpecialCardAi.SarkhanTheMad.considerUltimate(ai, sa, weakestOpp); - } final String damage = sa.getParam("NumDmg"); final int iDmg = AbilityUtils.calculateAmount(sa.getHostCard(), damage, sa); diff --git a/forge-ai/src/main/java/forge/ai/ability/DigAi.java b/forge-ai/src/main/java/forge/ai/ability/DigAi.java index e16d8ce48df..0bbb527bbb3 100644 --- a/forge-ai/src/main/java/forge/ai/ability/DigAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/DigAi.java @@ -47,7 +47,7 @@ public class DigAi extends SpellAbilityAi { if (sa.usesTargeting()) { sa.resetTargets(); - if (!opp.canBeTargetedBy(sa)) { + if (!sa.canTarget(opp)) { return false; } sa.getTargets().add(opp); diff --git a/forge-ai/src/main/java/forge/ai/ability/EncodeAi.java b/forge-ai/src/main/java/forge/ai/ability/EncodeAi.java index 3f68bd73ed8..6627b3847c0 100644 --- a/forge-ai/src/main/java/forge/ai/ability/EncodeAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/EncodeAi.java @@ -61,7 +61,6 @@ public final class EncodeAi extends SpellAbilityAi { public boolean chkAIDrawback(SpellAbility sa, Player ai) { return true; } - /* * (non-Javadoc) diff --git a/forge-ai/src/main/java/forge/ai/ability/LifeExchangeAi.java b/forge-ai/src/main/java/forge/ai/ability/LifeExchangeAi.java index 6ad44da50f6..71cdad4a7be 100644 --- a/forge-ai/src/main/java/forge/ai/ability/LifeExchangeAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/LifeExchangeAi.java @@ -1,8 +1,9 @@ package forge.ai.ability; -import forge.ai.AiAttackController; import forge.ai.SpellAbilityAi; import forge.game.player.Player; +import forge.game.player.PlayerCollection; +import forge.game.player.PlayerPredicates; import forge.game.spellability.SpellAbility; import forge.util.MyRandom; @@ -18,14 +19,15 @@ public class LifeExchangeAi extends SpellAbilityAi { */ @Override protected boolean canPlayAI(Player aiPlayer, SpellAbility sa) { - final int myLife = aiPlayer.getLife(); - Player opponent = AiAttackController.choosePreferredDefenderPlayer(aiPlayer); - final int hLife = opponent.getLife(); - if (!aiPlayer.canGainLife()) { return false; } + final int myLife = aiPlayer.getLife(); + final PlayerCollection targetableOpps = aiPlayer.getOpponents().filter(PlayerPredicates.isTargetableBy(sa)); + final Player opponent = targetableOpps.max(PlayerPredicates.compareByLife()); + final int hLife = opponent == null ? 0 : opponent.getLife(); + // prevent run-away activations - first time will always return true boolean chance = MyRandom.getRandom().nextFloat() <= Math.pow(.6667, sa.getActivationsThisTurn()); @@ -36,24 +38,23 @@ public class LifeExchangeAi extends SpellAbilityAi { */ if (sa.usesTargeting()) { sa.resetTargets(); - if (opponent.canBeTargetedBy(sa)) { + if (opponent != null && opponent.canLoseLife()) { // never target self, that would be silly for exchange sa.getTargets().add(opponent); - if (!opponent.canLoseLife()) { - return false; - } + } else { + return false; } } // if life is in danger, always activate - if ((myLife < 5) && (hLife > myLife)) { + if (myLife < 5 && hLife > myLife) { return true; } // cost includes sacrifice probably, so make sure it's worth it chance &= (hLife > (myLife + 8)); - return ((MyRandom.getRandom().nextFloat() < .6667) && chance); + return MyRandom.getRandom().nextFloat() < .6667 && chance; } /** @@ -70,13 +71,16 @@ public class LifeExchangeAi extends SpellAbilityAi { * @return a boolean. */ @Override - protected boolean doTriggerAINoCost(final Player ai, final SpellAbility sa, - final boolean mandatory) { - Player opp = AiAttackController.choosePreferredDefenderPlayer(ai); + protected boolean doTriggerAINoCost(final Player ai, final SpellAbility sa, final boolean mandatory) { + PlayerCollection targetableOpps = ai.getOpponents().filter(PlayerPredicates.isTargetableBy(sa)); + Player opp = targetableOpps.max(PlayerPredicates.compareByLife()); if (sa.usesTargeting()) { sa.resetTargets(); if (sa.canTarget(opp) && (mandatory || ai.getLife() < opp.getLife())) { sa.getTargets().add(opp); + if (sa.canAddMoreTarget()) { + sa.getTargets().add(ai); + } } else { return false; } diff --git a/forge-ai/src/main/java/forge/ai/ability/LifeExchangeVariantAi.java b/forge-ai/src/main/java/forge/ai/ability/LifeExchangeVariantAi.java index f10c29d4ccd..f5f57169981 100644 --- a/forge-ai/src/main/java/forge/ai/ability/LifeExchangeVariantAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/LifeExchangeVariantAi.java @@ -149,8 +149,7 @@ public class LifeExchangeVariantAi extends SpellAbilityAi { * @return a boolean. */ @Override - protected boolean doTriggerAINoCost(final Player ai, final SpellAbility sa, - final boolean mandatory) { + protected boolean doTriggerAINoCost(final Player ai, final SpellAbility sa, final boolean mandatory) { Player opp = AiAttackController.choosePreferredDefenderPlayer(ai); if (sa.usesTargeting()) { sa.resetTargets(); diff --git a/forge-ai/src/main/java/forge/ai/ability/LifeSetAi.java b/forge-ai/src/main/java/forge/ai/ability/LifeSetAi.java index ef07915ded9..834abec5fd0 100644 --- a/forge-ai/src/main/java/forge/ai/ability/LifeSetAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/LifeSetAi.java @@ -1,15 +1,21 @@ package forge.ai.ability; +import com.google.common.collect.Iterables; + import forge.ai.ComputerUtilAbility; import forge.ai.ComputerUtilCost; import forge.ai.SpellAbilityAi; import forge.game.ability.AbilityUtils; import forge.game.card.Card; +import forge.game.card.CardPredicates; import forge.game.card.CounterEnumType; import forge.game.phase.PhaseType; import forge.game.player.Player; +import forge.game.player.PlayerCollection; +import forge.game.player.PlayerPredicates; import forge.game.spellability.SpellAbility; import forge.game.spellability.TargetRestrictions; +import forge.game.zone.ZoneType; import forge.util.MyRandom; public class LifeSetAi extends SpellAbilityAi { @@ -17,14 +23,11 @@ public class LifeSetAi extends SpellAbilityAi { @Override protected boolean canPlayAI(Player ai, SpellAbility sa) { final int myLife = ai.getLife(); - final Player opponent = ai.getStrongestOpponent(); - final int hlife = opponent.getLife(); + final PlayerCollection targetableOpps = ai.getOpponents().filter(PlayerPredicates.isTargetableBy(sa)); + final Player opponent = targetableOpps.max(PlayerPredicates.compareByLife()); + final int hlife = opponent == null ? 0 : opponent.getLife(); final String amountStr = sa.getParam("LifeAmount"); - if (!ai.canGainLife()) { - return false; - } - // Don't use setLife before main 2 if possible if (ai.getGame().getPhaseHandler().getPhase().isBefore(PhaseType.MAIN2) && !sa.hasParam("ActivationPhases")) { @@ -55,20 +58,20 @@ public class LifeSetAi extends SpellAbilityAi { if (tgt != null) { sa.resetTargets(); if (tgt.canOnlyTgtOpponent()) { - sa.getTargets().add(opponent); // if we can only target the human, and the Human's life // would go up, don't play it. // possibly add a combo here for Magister Sphinx and // Higedetsu's (sp?) Second Rite - if ((amount > hlife) || !opponent.canLoseLife()) { + if (opponent == null || amount > hlife || !opponent.canLoseLife()) { return false; } + sa.getTargets().add(opponent); } else { - if ((amount > myLife) && (myLife <= 10)) { + if (amount > myLife && myLife <= 10 && ai.canGainLife()) { sa.getTargets().add(ai); } else if (hlife > amount) { sa.getTargets().add(opponent); - } else if (amount > myLife) { + } else if (amount > myLife && ai.canGainLife()) { sa.getTargets().add(ai); } else { return false; @@ -90,18 +93,19 @@ public class LifeSetAi extends SpellAbilityAi { } // if life is in danger, always activate - if ((myLife < 3) && (amount > myLife)) { + if (myLife < 3 && amount > myLife && ai.canGainLife()) { return true; } - return ((MyRandom.getRandom().nextFloat() < .6667) && chance); + return MyRandom.getRandom().nextFloat() < .6667 && chance; } @Override protected boolean doTriggerAINoCost(Player ai, SpellAbility sa, boolean mandatory) { final int myLife = ai.getLife(); - final Player opponent = ai.getStrongestOpponent(); - final int hlife = opponent.getLife(); + final PlayerCollection targetableOpps = ai.getOpponents().filter(PlayerPredicates.isTargetableBy(sa)); + final Player opponent = targetableOpps.max(PlayerPredicates.compareByLife()); + final int hlife = opponent == null ? 0 : opponent.getLife(); final Card source = sa.getHostCard(); final String sourceName = ComputerUtilAbility.getAbilitySourceName(sa); @@ -118,13 +122,13 @@ public class LifeSetAi extends SpellAbilityAi { } // special cases when amount can't be calculated without targeting first - if (amount == 0 && "TargetedPlayer$StartingLife/HalfDown".equals(source.getSVar(amountStr))) { + if (amount == 0 && opponent != null && "TargetedPlayer$StartingLife/HalfDown".equals(source.getSVar(amountStr))) { // e.g. Torgaar, Famine Incarnate return doHalfStartingLifeLogic(ai, opponent, sa); } if (sourceName.equals("Eternity Vessel") - && (opponent.isCardInPlay("Vampire Hexmage") || (source.getCounters(CounterEnumType.CHARGE) == 0))) { + && (Iterables.any(ai.getOpponents().getCardsIn(ZoneType.Battlefield), CardPredicates.nameEquals("Vampire Hexmage")) || (source.getCounters(CounterEnumType.CHARGE) == 0))) { return false; } @@ -134,13 +138,16 @@ public class LifeSetAi extends SpellAbilityAi { if (tgt != null) { sa.resetTargets(); if (tgt.canOnlyTgtOpponent()) { + if (opponent == null) { + return false; + } sa.getTargets().add(opponent); } else { if (amount > myLife && myLife <= 10) { sa.getTargets().add(ai); } else if (hlife > amount) { sa.getTargets().add(opponent); - } else if (amount > myLife) { + } else if (amount > myLife || mandatory) { sa.getTargets().add(ai); } else { return false; diff --git a/forge-ai/src/main/java/forge/ai/ability/PoisonAi.java b/forge-ai/src/main/java/forge/ai/ability/PoisonAi.java index b9547f2e875..d6a65513f4e 100644 --- a/forge-ai/src/main/java/forge/ai/ability/PoisonAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/PoisonAi.java @@ -25,8 +25,7 @@ public class PoisonAi extends SpellAbilityAi { */ @Override protected boolean checkPhaseRestrictions(final Player ai, final SpellAbility sa, final PhaseHandler ph) { - return !ph.getPhase().isBefore(PhaseType.MAIN2) - || sa.hasParam("ActivationPhases"); + return !ph.getPhase().isBefore(PhaseType.MAIN2) || sa.hasParam("ActivationPhases"); } /* diff --git a/forge-ai/src/main/java/forge/ai/ability/PowerExchangeAi.java b/forge-ai/src/main/java/forge/ai/ability/PowerExchangeAi.java index fa362f97a0d..04f3e23379a 100644 --- a/forge-ai/src/main/java/forge/ai/ability/PowerExchangeAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/PowerExchangeAi.java @@ -31,11 +31,10 @@ public class PowerExchangeAi extends SpellAbilityAi { List list = CardLists.getValidCards(ai.getGame().getCardsIn(ZoneType.Battlefield), tgt.getValidTgts(), ai, sa.getHostCard(), sa); - // AI won't try to grab cards that are filtered out of AI decks on purpose list = CardLists.filter(list, new Predicate() { @Override public boolean apply(final Card c) { - return !ComputerUtilCard.isCardRemAIDeck(c) && c.canBeTargetedBy(sa) && c.getController() != ai; + return c.canBeTargetedBy(sa) && c.getController() != ai; } }); CardLists.sortByPowerAsc(list); diff --git a/forge-ai/src/main/java/forge/ai/ability/ProtectAllAi.java b/forge-ai/src/main/java/forge/ai/ability/ProtectAllAi.java index 69765ce7717..6352447e814 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ProtectAllAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ProtectAllAi.java @@ -26,7 +26,6 @@ public class ProtectAllAi extends SpellAbilityAi { return false; } // protectAllCanPlayAI() - @Override protected boolean doTriggerAINoCost(Player aiPlayer, SpellAbility sa, boolean mandatory) { return true; diff --git a/forge-ai/src/main/java/forge/ai/ability/RearrangeTopOfLibraryAi.java b/forge-ai/src/main/java/forge/ai/ability/RearrangeTopOfLibraryAi.java index 408d912f76b..b446d81c98c 100644 --- a/forge-ai/src/main/java/forge/ai/ability/RearrangeTopOfLibraryAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/RearrangeTopOfLibraryAi.java @@ -53,7 +53,7 @@ public class RearrangeTopOfLibraryAi extends SpellAbilityAi { PlayerCollection targetableOpps = aiPlayer.getOpponents().filter(PlayerPredicates.isTargetableBy(sa)); Player opp = targetableOpps.min(PlayerPredicates.compareByLife()); final boolean canTgtAI = sa.canTarget(aiPlayer); - final boolean canTgtHuman = opp != null && sa.canTarget(opp); + final boolean canTgtHuman = sa.canTarget(opp); if (canTgtHuman && canTgtAI) { // TODO: maybe some other consideration rather than random? diff --git a/forge-ai/src/main/java/forge/ai/ability/RegenerateAi.java b/forge-ai/src/main/java/forge/ai/ability/RegenerateAi.java index 5a1f1132f58..cfb749274fe 100644 --- a/forge-ai/src/main/java/forge/ai/ability/RegenerateAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/RegenerateAi.java @@ -138,12 +138,11 @@ public class RegenerateAi extends SpellAbilityAi { protected boolean doTriggerAINoCost(Player ai, SpellAbility sa, boolean mandatory) { boolean chance = false; - final TargetRestrictions tgt = sa.getTargetRestrictions(); - if (tgt == null) { + if (sa.usesTargeting()) { + chance = regenMandatoryTarget(ai, sa, mandatory); + } else { // If there's no target on the trigger, just say yes. chance = true; - } else { - chance = regenMandatoryTarget(ai, sa, mandatory); } return chance; @@ -164,7 +163,7 @@ public class RegenerateAi extends SpellAbilityAi { return false; } - if (!mandatory && (compTargetables.size() == 0)) { + if (!mandatory && compTargetables.size() == 0) { return false; } diff --git a/forge-ai/src/main/java/forge/ai/ability/SacrificeAi.java b/forge-ai/src/main/java/forge/ai/ability/SacrificeAi.java index 5a94167b7bf..f4aed85c165 100644 --- a/forge-ai/src/main/java/forge/ai/ability/SacrificeAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/SacrificeAi.java @@ -1,5 +1,6 @@ package forge.ai.ability; +import java.util.Collections; import java.util.List; import forge.ai.ComputerUtilCard; @@ -15,6 +16,8 @@ import forge.game.card.CardPredicates; import forge.game.keyword.Keyword; import forge.game.player.Player; import forge.game.player.PlayerActionConfirmMode; +import forge.game.player.PlayerCollection; +import forge.game.player.PlayerPredicates; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; @@ -22,14 +25,14 @@ public class SacrificeAi extends SpellAbilityAi { @Override protected boolean canPlayAI(Player ai, SpellAbility sa) { - return sacrificeTgtAI(ai, sa); + return sacrificeTgtAI(ai, sa, false); } @Override public boolean chkAIDrawback(SpellAbility sa, Player ai) { // AI should only activate this during Human's turn - return sacrificeTgtAI(ai, sa); + return sacrificeTgtAI(ai, sa, false); } @Override @@ -48,21 +51,24 @@ public class SacrificeAi extends SpellAbilityAi { // Eventually, we can call the trigger of ETB abilities with not // mandatory as part of the checks to cast something - return sacrificeTgtAI(ai, sa) || mandatory; + return sacrificeTgtAI(ai, sa, mandatory) || mandatory; } - private boolean sacrificeTgtAI(final Player ai, final SpellAbility sa) { + private boolean sacrificeTgtAI(final Player ai, final SpellAbility sa, boolean mandatory) { final Card source = sa.getHostCard(); final boolean destroy = sa.hasParam("Destroy"); - - Player opp = ai.getStrongestOpponent(); + final PlayerCollection targetableOpps = ai.getOpponents().filter(PlayerPredicates.isTargetableBy(sa)); + final Player opp = Collections.max(targetableOpps, PlayerPredicates.compareByLife()); if (sa.usesTargeting()) { - sa.resetTargets(); - if (!opp.canBeTargetedBy(sa)) { + if (opp == null) { return false; } + sa.resetTargets(); sa.getTargets().add(opp); + if (mandatory) { + return true; + } final String valid = sa.getParam("SacValid"); String num = sa.getParamOrDefault("Amount" , "1"); final int amount = AbilityUtils.calculateAmount(source, num, sa); @@ -79,7 +85,7 @@ public class SacrificeAi extends SpellAbilityAi { for (Card c : list) { if (c.hasSVar("SacMe") && Integer.parseInt(c.getSVar("SacMe")) > 3) { - return false; + return false; } } if (!destroy) { @@ -131,7 +137,7 @@ public class SacrificeAi extends SpellAbilityAi { List humanList = null; try { - humanList = CardLists.getValidCards(opp.getCardsIn(ZoneType.Battlefield), valid.split(","), sa.getActivatingPlayer(), source, sa); + humanList = CardLists.getValidCards(ai.getStrongestOpponent().getCardsIn(ZoneType.Battlefield), valid.split(","), sa.getActivatingPlayer(), source, sa); } catch (NullPointerException e) { return false; } finally { diff --git a/forge-ai/src/main/java/forge/ai/ability/TapAllAi.java b/forge-ai/src/main/java/forge/ai/ability/TapAllAi.java index dd89e45ab75..831c5c702d1 100644 --- a/forge-ai/src/main/java/forge/ai/ability/TapAllAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/TapAllAi.java @@ -16,6 +16,8 @@ import forge.game.card.CardPredicates; import forge.game.combat.CombatUtil; import forge.game.phase.PhaseType; import forge.game.player.Player; +import forge.game.player.PlayerCollection; +import forge.game.player.PlayerPredicates; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; import forge.util.MyRandom; @@ -101,10 +103,14 @@ public class TapAllAi extends SpellAbilityAi { CardCollectionView validTappables = getTapAllTargets(valid, source, sa); if (sa.usesTargeting()) { + final PlayerCollection targetableOpps = ai.getOpponents().filter(PlayerPredicates.isTargetableBy(sa)); + Player target = targetableOpps.max(PlayerPredicates.compareByLife()); + if (target == null && mandatory) { + target = ai; + } sa.resetTargets(); - Player opp = ai.getStrongestOpponent(); - sa.getTargets().add(opp); - validTappables = opp.getCardsIn(ZoneType.Battlefield); + sa.getTargets().add(target); + validTappables = target.getCardsIn(ZoneType.Battlefield); } if (mandatory) { From de4e8e86d9a74388a960959b0f2bb6767166cbb8 Mon Sep 17 00:00:00 2001 From: tool4EvEr Date: Mon, 22 Nov 2021 00:13:46 +0100 Subject: [PATCH 021/100] Fix NPE when server unreachable --- .../main/java/forge/gui/download/GuiDownloadService.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/forge-gui/src/main/java/forge/gui/download/GuiDownloadService.java b/forge-gui/src/main/java/forge/gui/download/GuiDownloadService.java index e5b6bc050dd..6465620376c 100644 --- a/forge-gui/src/main/java/forge/gui/download/GuiDownloadService.java +++ b/forge-gui/src/main/java/forge/gui/download/GuiDownloadService.java @@ -145,7 +145,11 @@ public abstract class GuiDownloadService implements Runnable { } private void readyToStart() { - if (files.isEmpty()) { + if (files == null) { + progressBar.setDescription("Connection error?"); + btnStart.setText("OK"); + btnStart.setCommand(cmdClose); + } else if (files.isEmpty()) { progressBar.setDescription("All items have been downloaded."); btnStart.setText("OK"); btnStart.setCommand(cmdClose); From c272df37f7f45399dfb8e84fe125a145a3db5d0b Mon Sep 17 00:00:00 2001 From: tool4EvEr Date: Mon, 22 Nov 2021 00:15:12 +0100 Subject: [PATCH 022/100] Fix New Blood not fully working --- .../java/forge/game/ability/effects/ChangeTextEffect.java | 8 +++++--- forge-game/src/main/java/forge/game/card/Card.java | 8 +++----- forge-game/src/main/java/forge/game/card/CardView.java | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/forge-game/src/main/java/forge/game/ability/effects/ChangeTextEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ChangeTextEffect.java index d7174ab3bac..115b7bab66d 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ChangeTextEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ChangeTextEffect.java @@ -70,7 +70,7 @@ public class ChangeTextEffect extends SpellAbilityEffect { kindOfType = "basic land"; } else if (changedTypeWordsArray[0].equals("ChooseCreatureType")) { validTypes.addAll(CardType.Constant.CREATURE_TYPES); - kindOfType = "creature"; + kindOfType = "Creature"; } changedTypeWordOriginal = sa.getActivatingPlayer().getController().chooseSomeType(kindOfType, sa, validTypes, Lists.newArrayList()); } else { @@ -86,7 +86,7 @@ public class ChangeTextEffect extends SpellAbilityEffect { kindOfType = "basic land"; } else if (changedTypeWordsArray[1].equals("ChooseCreatureType")) { validTypes.addAll(CardType.Constant.CREATURE_TYPES); - kindOfType = "creature"; + kindOfType = "Creature"; } changedTypeWordNew = sa.getActivatingPlayer().getController().chooseSomeType(kindOfType, sa, validTypes, forbiddenTypes); } else { @@ -102,7 +102,7 @@ public class ChangeTextEffect extends SpellAbilityEffect { if (changedColorWordOriginal != null && changedColorWordNew != null) { c.addChangedTextColorWord(changedColorWordOriginal, changedColorWordNew, timestamp, 0); } - if (changedTypeWordOriginal != null && changedTypeWordNew != null ) { + if (changedTypeWordOriginal != null && changedTypeWordNew != null) { c.addChangedTextTypeWord(changedTypeWordOriginal, changedTypeWordNew, timestamp, 0); } @@ -123,6 +123,8 @@ public class ChangeTextEffect extends SpellAbilityEffect { } game.fireEvent(new GameEventCardStatsChanged(c)); + c.updateStateForView(); + c.updateTypesForView(); } } diff --git a/forge-game/src/main/java/forge/game/card/Card.java b/forge-game/src/main/java/forge/game/card/Card.java index 565250011b4..89f6241c22f 100644 --- a/forge-game/src/main/java/forge/game/card/Card.java +++ b/forge-game/src/main/java/forge/game/card/Card.java @@ -3533,7 +3533,7 @@ public class Card extends GameEntity implements Comparable, IHasSVars { return getType(currentState); } public final CardTypeView getType(CardState state) { - if (changedCardTypes.isEmpty() && changedCardTypesCharacterDefining.isEmpty()) { + if (changedCardTypes.isEmpty() && changedCardTypesCharacterDefining.isEmpty() && changedTypeByText == null) { return state.getType(); } // CR 506.4 attacked planeswalkers leave combat @@ -3548,14 +3548,12 @@ public class Card extends GameEntity implements Comparable, IHasSVars { public final CardTypeView getOriginalType() { return getOriginalType(currentState); } - public final CardTypeView getOriginalType(CardState state) { return state.getType(); } // TODO add changed type by card text public Iterable getChangedCardTypes() { - Iterable byText = changedTypeByText == null ? ImmutableList.of() : ImmutableList.of(this.changedTypeByText); return Iterables.unmodifiableIterable(Iterables.concat( @@ -3563,7 +3561,7 @@ public class Card extends GameEntity implements Comparable, IHasSVars { byText, // Layer 3 by Word Changes, changedCardTypesCharacterDefining.values(), // Layer 4 changedCardTypes.values() // Layer 6 - )); + )); } public Table getChangedCardTypesTable() { @@ -4474,7 +4472,7 @@ public class Card extends GameEntity implements Comparable, IHasSVars { final List addKeywords = Lists.newArrayList(); final List removeKeywords = Lists.newArrayList(); // Text Change for intrinsic keywords - for(KeywordInterface kw : beforeKeywords) { + for (KeywordInterface kw : beforeKeywords) { String oldtxt = kw.getOriginal(); final String newtxt = AbilityUtils.applyKeywordTextChangeEffects(oldtxt, this); if (!newtxt.equals(oldtxt)) { diff --git a/forge-game/src/main/java/forge/game/card/CardView.java b/forge-game/src/main/java/forge/game/card/CardView.java index a23e834f198..5cced7cc806 100644 --- a/forge-game/src/main/java/forge/game/card/CardView.java +++ b/forge-game/src/main/java/forge/game/card/CardView.java @@ -874,7 +874,7 @@ public class CardView extends GameEntityView { set(TrackableProperty.Modal, c.isModal()); //backside - if (c.getAlternateState()!=null) + if (c.getAlternateState() != null) updateBackSide(c.getAlternateState().getName(), c.hasBackSide()); final Card cloner = c.getCloner(); From dac5d7395529e3c30ff895c6ddfd1cfe52e40651 Mon Sep 17 00:00:00 2001 From: Anthony Calosa Date: Mon, 22 Nov 2021 10:31:53 +0800 Subject: [PATCH 023/100] [Mobile] Fix planar conquest deck edit --- forge-adventure/src/main/java/forge/adventure/Main.java | 1 + forge-gui-mobile/src/forge/deck/FDeckEditor.java | 6 +++++- forge-gui/src/main/java/forge/gui/GuiBase.java | 4 ++++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/forge-adventure/src/main/java/forge/adventure/Main.java b/forge-adventure/src/main/java/forge/adventure/Main.java index cf858088814..1c8a7994541 100644 --- a/forge-adventure/src/main/java/forge/adventure/Main.java +++ b/forge-adventure/src/main/java/forge/adventure/Main.java @@ -37,6 +37,7 @@ import java.nio.file.Paths; isPortraitMode = true; totalDeviceRAM = 0; GuiBase.setDeviceInfo("", "", 0, 0); + GuiBase.setIsAdventureMode(true); } diff --git a/forge-gui-mobile/src/forge/deck/FDeckEditor.java b/forge-gui-mobile/src/forge/deck/FDeckEditor.java index 6e11ea051ca..04e97b50be8 100644 --- a/forge-gui-mobile/src/forge/deck/FDeckEditor.java +++ b/forge-gui-mobile/src/forge/deck/FDeckEditor.java @@ -16,6 +16,7 @@ import forge.deck.io.DeckPreferences; import forge.gamemodes.limited.BoosterDraft; import forge.gamemodes.planarconquest.ConquestUtil; import forge.gui.FThreads; +import forge.gui.GuiBase; import forge.gui.card.CardPreferences; import forge.item.PaperCard; import forge.itemmanager.CardManager; @@ -768,7 +769,10 @@ public class FDeckEditor extends TabPageScreen { } protected void initialize() { - cardManager.setup(config); + if (GuiBase.isAdventureMode()) + cardManager.setup(config); + else //fix planar conquest deck editor and maybe others... + cardManager.setup(config, parentScreen.getColOverrides(config)); } protected boolean canAddCards() { diff --git a/forge-gui/src/main/java/forge/gui/GuiBase.java b/forge-gui/src/main/java/forge/gui/GuiBase.java index b10afbacfce..87717870332 100644 --- a/forge-gui/src/main/java/forge/gui/GuiBase.java +++ b/forge-gui/src/main/java/forge/gui/GuiBase.java @@ -7,6 +7,7 @@ public class GuiBase { private static boolean propertyConfig = true; private static boolean networkplay = false; private static boolean isAndroidport = false; + private static boolean isAdventureMode = false; private static boolean interrupted = false; private static String deviceName = ""; private static String androidRelease = ""; @@ -20,6 +21,9 @@ public class GuiBase { public static void setIsAndroid(boolean value) { isAndroidport = value; } public static boolean isAndroid() { return isAndroidport; } + public static void setIsAdventureMode(boolean value) { isAdventureMode = value; } + public static boolean isAdventureMode() { return isAdventureMode; } + public static void setUsingAppDirectory(boolean value) { usingAppDirectory = value; } public static boolean isUsingAppDirectory() { return usingAppDirectory; } From 195c551563bae494818eaaff7e9d87b8d6ff4794 Mon Sep 17 00:00:00 2001 From: TRT <> Date: Mon, 22 Nov 2021 10:20:50 +0100 Subject: [PATCH 024/100] Improve getType check --- forge-game/src/main/java/forge/game/card/Card.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/forge-game/src/main/java/forge/game/card/Card.java b/forge-game/src/main/java/forge/game/card/Card.java index 89f6241c22f..c5a5eda5758 100644 --- a/forge-game/src/main/java/forge/game/card/Card.java +++ b/forge-game/src/main/java/forge/game/card/Card.java @@ -3533,12 +3533,13 @@ public class Card extends GameEntity implements Comparable, IHasSVars { return getType(currentState); } public final CardTypeView getType(CardState state) { - if (changedCardTypes.isEmpty() && changedCardTypesCharacterDefining.isEmpty() && changedTypeByText == null) { + final Iterable changedCardTypes = getChangedCardTypes(); + if (Iterables.isEmpty(changedCardTypes)) { return state.getType(); } // CR 506.4 attacked planeswalkers leave combat boolean checkCombat = state.getType().isPlaneswalker() && game.getCombat() != null && !game.getCombat().getAttackersOf(this).isEmpty(); - CardTypeView types = state.getType().getTypeWithChanges(getChangedCardTypes()); + CardTypeView types = state.getType().getTypeWithChanges(changedCardTypes); if (checkCombat && !types.isPlaneswalker()) { game.getCombat().removeFromCombat(this); } From de9164eee2fe12dd46a9016a5727840edf3cc4cb Mon Sep 17 00:00:00 2001 From: austinio7116 Date: Mon, 22 Nov 2021 10:39:16 +0000 Subject: [PATCH 025/100] Standard archetype VOW --- forge-gui/res/deckgendecks/Standard.lda.dat | Bin 93722 -> 129262 bytes forge-gui/res/deckgendecks/Standard.raw.dat | Bin 84866 -> 136683 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/forge-gui/res/deckgendecks/Standard.lda.dat b/forge-gui/res/deckgendecks/Standard.lda.dat index 1454252f4bf3ed938fd3bbca440b2c9ab66cf30f..64cbf4a4e4dc458e6f25609bf6223be0c9cf7704 100644 GIT binary patch literal 129262 zcma&P2YggT*FU}q350BVLKj(7M3A7Of`GE72S@;uPz7|8Y?39L-LTnB2u-^5-h1yQ z^eWOtL=X!iBBF>=r76Wn;rE?8Gw1HTg!lh{KhMW^!}rXYxl_)ZbLPyMwKoj@MJ_{l zFH5ndvBzz*H%_(`<)vB*{VSc_f3WI@rz#kH6AgiOrzJbllI3=~S{o|6^IX=VJf}Uo zPoeo;1OBg~p(May!2b*teB6eJP8NH zzpg#&Gt0aR2A|djzam>-Yo9_e2`KSn|1Iim7-*<~U)7YqtAR-)rz^LyrO=XR@*rB!Wdrz zIGcCAm(*cF*(*v4mmztIPDB$7*#5%CeWsGEV=tRh&}G4&IPNRWk5xsaA_S&*{uJrCN%LELoUuY7NNgLAIkz;i^ zEOt|p%TiP*h~|8gFuHDWD^03J#Xa=@DFl~9ik0nh=va<;5+G=9|-)a{`y(-PD^W7mD?8w%RqAZuK&~3xy z!pC_vxAQ;d<=r+mlE#Bxn?{%($Yxj*c7ZHl*Vk&%ClK>L>0OMp&eYdq5_M{ zW{R^E6nf-<>8PR-GM$cWHlG@qP(zl}ZlftLNco&#qNau-YHG+Pp?@(gtl6eCTXwFT zgP(l4t-a;VcQk7|`>~{n zh_@DK}vhXTpFN1h8;GjhrS2u1oIK675cx&4T{#gg&si(5Un*bym(D_4>BoZ$_zX z!CigsSz;5?!EPxvK^*3JfAY-lw)9Oqa#+??Rhg0QJR3T()D)9ljNY`k*!tr@lI-;P?HoM(fVoI`N7Z;6e5n`#hIE$}s>LMLYWK6CF@}K}jF(sCKt3#a^I?5nLl4xhQj-*-_NDntU1Dc1&2C3T?+zLtR3Tkz! zS5=leiR!R;iz`3V>0+zbdr=-MJ^ zZcrMemiSNrdq1l5%*A`XR6tJY?S1BlwVZog1-gk6tL7c)Id}Id6_B%c+1bu-=RR9q z1#F_kjJlUc&kS#%0zCvUdEVz!_nJ0x0K=2!%*xNPU_nA#lag)h>mA=Y`XOJ&71<}% z5`{-ZpI*4^SbteKG%gRKN!cwkT$Vy9cn3F#Eed$>s-y~u!+OUUKzO=67Q0~OPS|vO z|2uUhQA7$8hNg~%ir8%*>BiQrCnaGNcJZP@t1>ZLI~@7gMrhI(##Rnl z-FN^eWu@N~m36r|qv0CI3?{Myw z_ofE6mi&S;tQLq;tHYsc02&g;eW0jA1Go)g=oMu(wujt9zT zRYo zq~XxMv!MvE#-+Pm&V1Pw)6SNDvvt>}@(aS+lrR+r)Gm*re<^^`JnX~Qmuxt-T#`X9 zJBqAs%*bM^oxW2;0vQ4yTQrEm>8J_h37tHLnH3Qm}(Mp+*-#d-EFEkMdL3CLN{O86F48!?qY@LoKk- z==N`S^UJFr)s}UIC0f8w8D6U+TiqRWWHp$snSq4@UDN7{hT(}FCE06lDs3|9=D4Qe zl5G{XHJI92Tsbxn##-I5M@c~0hP-k8)#ndO+K>)tfkJMzW>cT&h$>_Bifn~y?{=%( z_mbx^8E%;Fb`L(l)X7$)E_DqN8@x?QrAD&`fZ3O9b>v!e!CklXbacTTV63r$gQ`z0 z)zL&|z$CRpvN5&El4s3!k+#_O!-{8owvlY80oB0@bts+bR!qsG4i>G{(TAl&KxE}9 zyFwC}%cZCz3r@F`m|D9{an1sDJasfxm_Z}ubb5YimK~auoN+qZ&^Tq&XZ#8*j%;W7 zjf-lF<*I0jtsVKMcn?+sDK1Ykbkuia$wD85R`Qh3@Q-mgJaSLda9{%|mDnc$xuHG* z$ce0b+wniku;upSiK1FH4$8CLGc*fgB*~Y;k!h znKS%O{u8-lI8kEEU5-4ft-#dLf$gpc%R}&-{LjA`x4tGzs#aI02Li?dZ-KJ_i-gGs z>}D`<$+Vob_`{+W!+(~%t7m{6YiKh1kV(E2iwBAisW1~;ADT3*IoDe-%+=GJC2ZZL zXTi^gYG6I57eYamT{X0}>%A*QLSu9rf>NxxkSnGb$O+jEgX}HF_dm<0FE~bFd76@# z3`w&V!JhOs-F2jqOzUwJxm}(tH`>dn_6Q!BvpP@NP9=N2b(xHL@&8k963ES zsr?E`q;yuI&5^B0kxp2MY*yAs55SJ%Q=@R>iz6Mi`5Hi5gVL}*vrI7s9=lbV7dn!V z)>+m}#WSM zmlI(fKkdV7u*HyWwVL1)68d$LlX*ksWYuwu?1+U$YIq_RE-i0CsY*YckrtY6g&(HC z2{&D5FV7`cF0b*CU>_{S?Djuyj=X*OR}}~qAG!IZ;6JAwI;H|r=#@R!{_955$Ebi5 zldFe(YZ$iFtO8PTT={1EF4HSLqXJTKTybsw!I`gf7p-DVam&bPUiQbavK6)mY6%+%=k~9?d!R zZ<&zltgoc4G-c7!f&Q5W&I$%%oU^FFS!7DE+xpNt?LNNZ$OFEld~<&^M%ro;ww|ax zKJLKe*{{!&yrN>^^@XMZ`HQ{5>dM6CR8T%?2 zqk#I%;L5gTNy)OY&WjD!*hy9gLSmXSJPrr#5F6V58l84&gIcqkxof-jsnqVyAr9b! zIyh}b*j<>QiStPB?ZOEso#y&{rLh_2(^a&4c5ua^F$=$vrK6Iu!j%n-c`;2%(8AnO zGU!Od;#`&zrQ>2PE_m`J*`(vEtAF+K50ax%@vJ#aDe%^aI>(OKeL8D3eQRijr7!$S zrZlI`?qyvRwEQAs+ekivFi^oU4!14Knd`85xv@1gY@DJ+6!s1L9q_zI~ZGR=*=ts>C;G*s*##ln0=vlwCU)x&xdRa#S>h-G*wN zEZHtwK3t8^9H4PE!o1FN!(%O_yRLO13B^u(G1KGVD9@G)Mn}Y4d*b+t+pgtR#yatq7UmW{WyDKL6$acHR9+ z`3vJ5mVnPF%40er&TUk4W&QkZ&n3-yAjzty;~0cleQe-5+2EPQ#7l&yL2zA{V;lbK znP5pCm00Q!P6bB9j*h4&*EW9U%D|}SBxyKvT(MI@){$`Xk*8?o@Mcl%k8;;K8d{?h zoM<>g;bT_{7105s59W{@p+&Ff+wQ(9Ruv{Nc9={Q!I7D_2|921(#-TUF;5}Wk}VKr z*^QL51VyamTMKeXSj?$nY%uEB8?vn-qE|bhka`HGBZ^9}+e=H}s={83m;p?37fs!n zOMBni7u!SfGp1QB_JR^bQ_xpTfBnq%d%H#uMZBjdzl5DJKaCR~8&c*h=DEaB3If|9NcLNy5;Ul0bADtZ24fD3b#7h&B!#bx0bH+e=tr1G5F>Vj21CAFCEM5KNAkDK) zIPWTwYh6bamEmz=OJ{Kuru5Q+Oq;U^emS;;jAk8aL;~xx9Lx~rdCjsRdPEQo^V#}V z$ct;`w^T^9OI1{dgm(2<9MKsz%u0BZ$l%jZvAQRg&p15J4z&tP3Rbx**ID|s22@YB z6fnyQ?gJccv4eSLY^hU1Qy*++*3<9=6l8kH>#rjT=}?MeE(~=t{5Ui!17rNh-iv-D zzdIb0kFVnl_IdEFiOdi#pLyo@+x8- zxvx9`iUC~z`4E6Oc*v&hLc3ITPH3$IBBW0v6C8VxYRt)%W?>;gq9Z=pviNbwGtFg*z(kibHxI_VTOLmB zoHyc|9yW_4Ft*P^pqZ%+#Ee{l>-O*b^w+T`B}MfNXAz4ui&ZudMLt^*D@5kSnr$zy z`n_Y8BoF6jL`*cmX@~7XcIVP@ySm?&Or?Yo7$;?mv0{!#3;6+=bu;e_s@aXf{CC&CUapD)7qQ>o#Oe5kDQ3dT7 zssl7PtZoun8bY=P!jv))ns+}4dh4BooCEv#XaNj67kj~cLKs7=L{51CtQ?#NxqD$h zG{G^QZH0njCca#Vtu6M)3B)86FFdUJ1fkL^&NC+&0f*hf_c! z3ro9K37hvT-xZh!>^n;o)&S6aVx`AYna(teb!5RA(0DRntzz1e4XC4uVCN0W_{6hA z4=--ML@2Q;P#1dxySKzLNUki)Q(74mi>a+_1?t+@RN^+^I1;g&-Ws;$aq|8??M$*K zg3_E$Y$%YjU9H@MW;E+a!rS2_)K#La4QMOaT12~bbP=&o3LqMz63@5a9 z3sYTLFrY@?)$wGGid>woKsw|6S?y#E89JGqRT===OnWpv*X1n1Mh!E${Pu*zBJvLl zTRV1Ax#8XHj8_)xfkdujr%YCl9#aJTRc(cVZZ`U@ywOMH^YORv&%*<6B&=?#Xy1JR8NKTGL zUFu&rw~5OW&_?n=H!#H}0yD~`YA^GepYF1_l~8(Fv!#fe7GP@ec=%#o9e@grL@!Nw z^ZtRweg2m12v^$?XDM{ELl6G-lT$8^D7rJB82BuB3g9c3_@u0pZ4&HBl5<3o%jvc# z-4KoAPeemY!g24_d%0-Sa7h@F2>lnw^{}4UL5Qek%)oy)S6%kKBoe1BY4EEMpHXYS zZLxEfR~V5;l+^&xHWlX{B%}>?d-)_$Fxs-QnZ~-{lXGzWOD^dV0Yh6q{^$g62|CAD z8Wb9Uxj32NV=@3i@hh@M& zYjvR0m;|)ijSGWaA2U#J?$I;dZ8SfP z9dNi{W$}9ST{?=byOkBi9XvqErm9k#5q&Dx47Jtw8g+Q7zvvA zSPcPNn_NyB%^Cnhl?YEkwl$AAHJIdMW-4FGI>Ks98;EB?SI`<$Ee_b-N~~-7)c7{$ zzshAkNG}(Rj%RR^3kTAj6`O@Vt>+B)rpp0MRE@p1BG+px6=A3&(wILv*N#@hPVtUs z+;jcr*PjIkOTy|xM5Dc2>Z2a-2-rTgb`1yJ+pd8CNE4{X+6V;DN1xxo4TF z!jFy=$Y@@3)LD1Wh`W-oDs!Z=^HHe^YYqffeYj+D1i}beP52B1ci1fjHU!&p6<@Gi z{@{#n?ibvy233t11joQK<5rT@+LujEoLCm{jmT)$(FeWff$J`l*-O-+%MRUXF?sF| zsyG8m7;7PnUn~hOIB;_3O@%i4b`dRFIw{EYNr5=+XN~7e0b$HNUR-_IOrDX7>AgJ` zvdb4Yc=uvtShTD(EDj2m6At}!54+kzZJWJ0{p0?trb{wo95hqh$Ux+TT%t4EetiGy zw!d)-R8QvxQ~KRHGhpHn0t`0gr_nqqs$TLpO-@Ok5z62fGQWUwjIG*61HL);((+rc zNO0LMw*lN)k&;q$nluRWOmn+%-h!eq-I0|4R9}83xYFU7yFof8hYa`JiZ_ zjy9wd{Ev#4DBS~%qkN*kR5V=UFw=2?3229{%*K>?KQOffBWuIQomTp{<)6uVaC~_H z9IxtS63h-6(0Q);q`8$$6pG>jcK1YAAeL`%U ztY4%lw(A3D$8{wcRKn*4@on2Dy8oGx^)?5vIJ;uLBdn&8sdWJ~<}4*XEdlWla-6rO zEdILT-b`ZTn;;l%Hu+W>?n732Xd-k&1o*=~f-8rNkBx_FkNhcL3>*X>)C@;fp52+_ z)(O51J-RphuaR1h=nbQJ^)rngTwg-AcW6S9Enf*KLbGk8PcN@ic6QI_;bmn&g5b9)_&FLT}f_C&%zBYjhZpKVYTe6{|WUF1KZY; zX@dcsffa&dUOBMCdVG3kb%phkPdLu$86PFiMUfAp7vFp6>HFdzzLG9NwLGw?6);zr zAZ$LgX16cS(IHYqlEq$(P~I#A>uG1ChLH8dTjg^IY2$=i&4hBim&vOs4NH*Ukb<7T z_ZXvD5U5+5er{Hf-k|M6TJKt$vWb5h8sf`UT3m} z|HU?%?I-EN+E`eGxdjUd3Z!~YzNJUIJ*_QUs2*Azn*)2k7yZTx6_C<(<1b&_b&vC! zEZnDWG;cgU_xgcjTzgQ?-?($iXf8XEH@9HrVq)bdm(zygz|mih3@5-K?*^=UuqPt* zJK@}7!yxUG<*${@3rG=e9|lN?v20Th_fNaOa5Tl zxWbU@h_Gec++&xu;4jN&R~tlSTdMBKKeMz2Zys##^a7l_BWw_2IUzS!5N(?A{D1e_ zi=7D_K_}rG2b}H_6yBVd22kNsQKIa>2j{E&^_OHD4hLVpHAlJcmkbXKSzBcr-#uFE zqL_?e;8#g9n6bWU?em?8v(F?646K!1=gbBIXw%;C%J1=6ZD()*+e?hyg}5zfr3r-y zr-!;J7_6UOT;17VjijrME4WaP!WA&y^K6r^L^?OS&TbffL`mM|A zcV^_FPTqZK)=XR}5_C&u70gTCy^|RD+!4USFEi^6s?C>%GUvH2Xf)5Z4QV-k3Hc|3 z5m3p7FCGduc^;I{5F*)yM!EeK;St1Lz3ad}@(`NI9x z+xJ@5kz|oLc+AhjU_rjXo@ zEnQIOt!25_3GkV#{4|;u`A#$L|ByQtm64VX-67Yf&uX`=i)>CPoWVs!g-$1~ZNN~M zGO+i8{eBhCEtFKX5a!d@X1DagkwR-kZzIeWx(yGA6%}@gzufGP3tnoA+>|u{?EMs{ z8^;j{9ib~ft?dVfZoPL)Ru;wFy-Xyq{i;1IS6m|CT947JA!QcfKcSV)EH z7SZs=Nm{Ja1)+d7n1LhN^0=WI+GTZx`3ii(;@44CiOE7lt;>?HbTo5*dR@oW(S{_z zjjhP(7+7j@N$ZFr>4X8-6_NPu;(vX1tPZ#)`j2@LmHrToPJ-zfq( z(tE|azbBm~z%W|?haX(YSz9$o1>{u!)HZ0$_Bo3PAa!<)dC2XfMe6FN3$3dQhhJ*b zuPT+GMZCD%lDwV=z3QkXDqrNYGJWhxBbA`rO$&bPGW_$6i3E_KnBp0Jq*a}H9Kg;rr6FWpIZ<%v z)vjXJoBdmJ4r~P86oB@8Wi{p^@rJihY>TrOT~7k~BO6PF1#L z=&#~x=ulUMI8m1#Al+3DRJd4P3D_6$N;C?;n(y|O^BN9Vb?j7{ZMAUU6j|*MJfvxB zC|OUWYU@%b?6b-iBiw4B^y3Pm(Y&|cx+QZS9_AgvfUgCMPm=Fln6Ygy2Qbi`pvS@u z#4dhoHpa4JA9kPcy%^LbaB{& zb6(r09P}~6SDJRNxg@!UsuI*Y(ZI*O!fu~jG=fv1QM3;ZzIi8L#uTzBgW->MD)Nqb zL`2;Kt%vL1uQ5(mQ4P1(oyyH+c)Uw`&?Vz>Qket zh55>F&HwYOGxILgrN$cg5X0B$-gwjcbqWC#$J^O(x%ssMb;0^x5slFUKIu;Z{CGQz z=Hwa~C+;obqYS@KNV?sFIDYy_^c@TjJyDzs5iCl#;jo%(<~kxab)@sjl@@eGIiCwo)6pc4#N^l^+2hxz}w|?=dv>nm!RAA zO0NSo8}hZSOgky?cKo~Ge4WSLIRo!DY@K28{qfcJCFe*wag8a&jS=rCh$}Kb2 ze%i?vyb~H#8pu120c2p#3`*TIH^7Tk15x>ywDVh%zNyLUV8=OGaKmLY4;*~y>f{~T zae9qIf%PO=jZ{l7<=_ZA6^oTXegvl*CLWzMWqp;p@}*jQ_9-n46ZLgFQ@`HD{nt4o z*27#N8qFzntoQz$%@qWtgcM17z#s*x9`JRFIt1{4Oc*&PUpD$AD|$b-?pURMaw2>& zY;?QfIb7%{05>L#=EHAIGx)E#N$n?DyKiGnSM&a=V1fdLus$eVR^{MSG;Pt2T2{yE zpLub_h%m1Q6Do>>TpLz9;lE!hw*9+3)kGS@(D}pnXI}YL@~DDiD%@CWq-1ko+geP% zlj0UjYrHw2!5alC6S=576V3lS5JU!R4QReLW{8N?P^>+jaIKx(xz?+DZ`NoStum6* ztH;I_XQplSQvo@xH2@?_23R60Svh*L@^LnrHAHN}O4--G){gi{o&ee^pJX%(K%Gt1m94+J`o+nD^1G{jY!4qCAi%Ir0ADW{ zJ~yVG*lyX;Hjb*I5gr5`3GVuWLbaQhpE-E@>XGKe!hfbO$eXWuG;*%;x|qrI==jEI6bwIprYOOkKMCHH9dvCOMpLH(c?s>Fi4C zs{*e}Xc}TPgnT0wf9v!8vkkJosJ1u+Q8cmyhbPRDz=)#ikahu?5XLp~y z?tHxW?ZtBed3;i^bx6*CJ>bv%twysRAjRwnK+a$d!2A_gz9 z5-cR8!Y2wbJ9~IZndvVnf3x1Fv$I`wYoSS8(+v^C$4*p`f(E;-sI}~3 z<3;s?U*l}h!AZzd1urfOLyYre%2~K}_qlETqd$;T5No)E3|?#`+QTb?%w(jeuh`hV z;re%JJFeb33l0L2Ns4>+HMzeQFaL4=h4e0xbx0x-28a<>V+iI?GoD#rrL!aoOS9sp z7(%I->md#QQ2<=udu!W^FB~VEsA?+wAn@NXou(9S3@m1cdc}0=puqhRE#H$o!(*~x z=R?L~X=#ogbaYkQvHWgG55!M8b$Li8J-;<%YQ%pqp9YIj>I84S;4|!WWZLxu)0MxJRU_A{2Ec)3dLayTr3;X?l)6lWLiDpb_xz0Vw_jC1&ww4E=OFHvV zEVf@{xY!kAK{v8z=E2Irst!!n^5DVM!|^|rvs6C&zi_E{-xfzWfM5tEr-Y@DZ9?sF zkk2Eg1$R%<>`(6`^pdm@$k2c+3I)pc(iwpf_;h?G)})TGVml>oOnD%qA146&w+o;7 zc42MFo~4Dt^(e$V!AM7juPikxQbP$AK2jL;e4|Rys9tIZR%|4A>j6J$6zT!Pqo~`Ph~1k3@|f;GJ6pxuZ{4L5 z6o87+a{^ zH$VXPDIdfIym&_~;SfMZ(zqLgSMoNp^+dg@0We?1eHT*-Pya-=vxW`~Nb)}c$hG|h z!21L@cy(>@dA7VpLJ+}*%w$(^3RzZJ57LCW%Ohlssa_rc^CI1o4Sx<|N#PMf8e&C( zW%N%rf|k5!oe}{fEH@_VyfaI%zcm4Lj3w96jOMLrOHaM9-$!YXBI~%KWi)U3`L|~+ zJ;d=PO3;ki`1j+f`CWt|27rv0jiY;A|MulhDyuW%Gs`NOCJovXPXJBV4MCw3KmWnY z=_=h4>ns2CXmWEQJXqy&`(Jw^CE~&5{hSpxWo8h^v81~=028&XDX#p_`n^}FHd+I# zeX4EUyeF0bnz$=1wWBwRd_yof*&hT@$o3@5sM6a98%o|Gh^EG=9CN9#J947*r1&3F-@U4e z29f|1|2+Cx;}5)+ZBtQV+_zsO42+GT`Y29tTxQ_pUFRPX;MZG}80q8t+T>>QRX{HE z^gsM_`=6qdn}8%I3l^o^6RF03f>vhm!B=MIBf+rF_!$#2eplN@$1QrG;udWQK2U5) z=v@%x6WeE6eE8fys{erUY3yA#Yt-YrUTZ~8@K46v_-oE0b=2wbYwOxStoa|kO5bg$ zD_XN9yk*wL0iUYCF9KNmMYTs$9-UGF=}lYpPL+VSUmK|coGTJfy&2i*Qc)EZ;O#&- zXP4YMhFPZxAji()l|H-5URKlmK zXjREekttzOI|-nqBfUS#uKkTebUXAYm~S@4QfApMqdOLg@`?K*{`M+sM>FujgC>DEvqd zROB-Wl6Pp~vJTa9s02;8CEZ3m`b&89SgR_2rO=?nYxBCyxOE#E=tiOIi%%E_pjTT+EsJkl$j@_XG(v)bw zHOll?6R&CUn?hqWC-hxC>gK17W&0wPY`1xql6*w9@QVO0LD_WB;7g}xjOe5M$reBr z#Ya|!7iEKbSx|2Nv+t`9(p4!!GisBerhn+spQ!|GryGBd`aAK;V**sQWv2h(>#1Iw zyj+v(hd#G;-}quGLE6dM^`FgJ_^a5N(JE3T)<&#qacvd<8a8&M7OXnm{O6TJL>B;{ zWx4Xr%NJ`-WDbdqKl{;}3pF00|2X0LO!pWk_=e zTTrOeew{vGx#L@F_Z26vA?jyIhjSad)uins+fJ(gt>veacjd#MiaRc+c zvXadJ?ukr+Fa74oi{pOyn+j52EKYpktyVKSaR54Cs)gAB?9<{bSx%NpxKyxMbot=z zh5u8v01-frrz47Dzi&7;jaVRMQXw*8uw4&HXG$z;s?V7h%yU2A@{n3V0%k_9y+hIy z_{?O3>&rh8dwF2XCO03{p%OlFd5%AN>z4_KULkX=)8i-jfzF@ zqYg?Rp#k71Y3nLQK3XQ z5YA4z3z>VP&%n<|Buj#@ZXP=>rnAJMnjEc})!b1xKPNAdlJ^R3LbxXoMORR$`ocAY zY>4>cHJZB&`MFc08ZXO=s<4Z|x!~YrX+h)c9(IdTY9~6{kQ7{DU>(g8eb9N9hKSWv zLE(+KymjmRZnwI{YhplIc>ue*@0Cd!znOncZU9g42riEYW8SYk0Cs;Y^B5!M2P@v5 zU7$`3J!c>3j(P%+mV_Q4L8}2!C6g{n(j&wzWGng1&_I~xf=(4vy8Fh}nZEDfJ2$K~V>Mz{}fEnYC3=KAle-ThSAPQhzaPmde_&!$V%1d@SM zThvZ%epRRs@B$&r57Nt;VltIv2wsN~la6*zYf$+-{6Qu`c~1*u`N9%*^PwYRdhi(R#{eOWpc=m8RI+k?yqy&%NlFq^je&T zDXs$mJ7-;;uPMxteS0=0x5j zNj13T#P3f>dFjw!i{g5KWd9)FvW$$OynoQ<2*_$rt_!mo_h*pgN0m?mrYu;r>=JLY zvPtmW&uG>FI5}#sT*+3>hDf~iDMNbFMa$H0m+Di|@j1h1_2ha4st;`E#Ld@Ic4=HR zymz;=1E;^8$4j~mHIr;bES>}h`pQn8X2o@Pyn3LX807s~_Dh}H{JX&slM3!~yp4q- z&H`LzKn$H=t)mQ4zPYH>fvKRTk zs-_`ARLVYfoXQTlUD5&6vwhdmFMhX15{D{J60woiM9yfaFq`NMDr00vN6mKYW$`MA zq(`nu-djAkvwC%1(5ix3?-cb}Es!DINjE5f`u)Fpou4A+BsKgB|qq%gqv--7BKM*Uj*WHW% z`=PA4m?f+$k0>-obM|jdw-vprs)(d{d@y75pU!<;RZvEyhA5#2$mZ*qv(ovnjt^B% zrkx%j7oP@zU}YivP@P#&0`4qJ4Jt8z%tgQdiMGuSZte^I_B)pykA)tlUsF3)Ak(>-}MsbsiMT=LR)VhqIK1y)oN=sFHAl$=nAZ2?n9p|KP|CA9XaZ09H>~=#x?JN^DwkWv#7C1} zf9?7VUIM4-87#Yu4S5Sipk1Q!%!_EycthzM)h4f&#G#$B<>g`n)m{S}=hN<{}THs%2(obzzXlOb<2Xfb!GWL<;6n8x>4dn z4FT&(&ctZ$u=mKq;FrXpV3X>MD`R*NNn;;rXjtL1qCGLAFBe~F+J;vPAVAu^8UTBZ znqv@obCGdGJ@C>|hM~%jvJ zCHo|6R3?Uo}M|NI$5;TP1;3pMLJ>Xwe`wi;as--w7#7+Pfq>CRs z*5Yu52@j}WNh8{KbLoG-UAV3S(SrBZsCO3+G>CZ*R%9%1{IlwvE17$#1no~{@B7xO z6R9p!T3c(6bf|eKGlNPP_%eetR|f`Wp(eqJ`52xn#%8n1{~{=T!LAO7}!hOa7d@F}a6e1g>L{14L$)BfY|3j0yX&sxBw^1WY6;kBhd*~MGH0*mYBQVFT*6^0mbD6+H*SPdSdssH z5#fYuOV34%>+MhhxiKtgTEG637EuJybRT=P;XD2%r79pLWABY!pL?ZjFaZIQm95uZ zN8Y4d0!YKmc1BewXdotp_so0(kSb5cpR2oF-%K+;D#eox$3a#jZe}3h$VO+?2{*p4 zeC?>Zkp2Hs8USayHvn0S>=G^~auvhy=eZ5(%@PeI+E;;F!%wiNf?QU}YfGCZ&x})E zb!<#>o&p5OG0|6RX!w*8K9$M?aCX)a@5nt+*?Fa}xzjHMkb1WKhYC$!do6+k$m)Su-24JdNh5e!L{>m; zMwsOR=e`@(@GvnVt!>eRXYM?2j3c1JGs;hRN;-e_>d{B5WDV8QtVpwpz&9wBOmfO= zo`QOImPKb`|dB1Ny8;#1bO z=(K<4Ku*Z|N{-`1`@(O7KjPXCq-9h`2QphJrgm!w5@2Q95FaNRHM&d4;!Vf-ID<4G z)|PAXddgzx=^y8{nYE9q5QlU|vmOXY6AU!~^RQVR2(rbcCP#i2i~5q{Rzruz`%V!I z22GExIepMrUL_dB;e6Mv9Q2~Nm&;p6hwRw6-^t>2ar0KqG}(8}d#@Zi!Nn|_HY5Tx z031jx$w&z{gaWjc83=eeieh~lOS{GnuKbi(%aau4X(8CiyLCH*7yt-Il~Y_;$%M0+dB{XhS`)2%Omvx@+d ztxo{l95kBsfX`I%=^6m)7t*+7@kbPNZ_IX|e_`OOKb=(T{9AC)0L*V=DRGDlS5Ru< zPt7Wy5Ko1(ce*f6$goAh&pK|^+gRCi94vu=i)EN&)bPtW3(Mn)E+Wle!-oMa%PRpT zf(;B_9Dr8?Zx_hZAWdm@;(?s{@bi#>hHn-RO_tjTYzR1NuoWnm{v9m$qSt*;4PVx( zD&@5b07+(1LY1ub6dksnQVuKKsANmmSP%OWU-{qapVWPnu1)OO|I24bAO6RSq7n*` z-Mw~J{VRX;BEbJ^(X5R(jH4pnLq%Ca5BPIs!f4h5bfc4l`A`K*WxF*qtLUA*Uk^ zQj)?rEG3!9%vc^b)K3WjbY*cE3o**x8p5>0+Xobc{oX5mzY2JLKef})N^sT#zagNUFwUW#J|nyi)A6G{%kzQlP47I^ybhUxmGD!fs|L zBUY4OiV>k@qa()?UAUc~@ns1Lb<%70Q18+ERF1}U76##JLbVv0s=OP63e>(HuuktFA_io zz|yW;8t(kOg$hWayrk369mC&gM*yww#p&sZ9X6^CPXmwcLCjKz=e~WWUI~?`#P@Eb z!Wwa)>Xd7wr&q)IkHw?pBjV2}iz7y*AP#l=8dCS~=AJifnh`W0`W)7i3tA1kIX0Tt z2Vu~O#Y*5Z7~T@4M1o`YJ?ztB$3N7jfVV|0dVmflMs8`gA#YS0DnYYW4+NS7t6?iV zzfbQvn@Uj3u?E1-5d&`}qWke!HndmuqM5F^f9LY}D&`G4q2!kfbD*xsnO|Cq&68rP zzfvQ?Ko8K})84+8>gH);4q|dvBL9dEs36;-DS<)h#4`Je$GI zyMvp`ryZC$87W$+2P$`b3P7GBeF<`W>jBcpp8%xxsR5uq;yjiqjXY^{G^_?vG&PiH zf5n?#%(Xc-W?bn1rl+Bn)HebVd2aMRzmGPO0bim3;-UXylC<$Ny3{4BGML zP1tcDcCWfYSLTis$ckp8e|-K2aZ<}H6&x?)_!~E9xERt=u*Oall}+55S8#m2SvIzc zSELJ07H~3vXbWj%jN7~Oa^PE%{e62}{5|J-o$(8x}18C|TJf za>g32`3utn57|yyJsoLr&f>WTIGb=X@&-<3k1x*hKFONL{TK2_< z#;26_xJR8GI7pPx1Ed!_&g?t3<&NrhCwJTvKo7y{2_WJr0NuI$@TKg3OB!6ER*`9@ z2P&)h#yXygR***ch^%Pct(%+#kL8`SL@bfE=6*f(NCx}G}syRjVg~_=q09A15 zQ+WCF^@J2&)nC}Tdf9ipyRh{ke-OWj53LE;y+va-{BX6-f?xP{rAR3$3D!-UIOW8N zUc5La2T1}A0PP7r8;hO!;t(q7!b1(PtL4mF{YqeLl_rVAgMu!WA02w@{plnE)wjcy z=NWmhn`oehl(j=H`~~;^ob}c2t(-aZe3psKl!V;)PEm6DrIEeH7OtV%X=L;O`Ddms zYJ7fo4>7~A-M6u1;Tde6_YX!mrIFFlp-nW~CwKoY?P^=0km4runZ(FC~!vWEfWnHTH;%$yjmFWeR%+u1iSK)YK7*2lnNHys)w6I zMqBBbQ+T5Q)P=3TVodwTH|y@qx&891yhG3o121DV?;bR;W4o)YqgbE>DxqNqH`Rvr->GyV}qv%a(v<7~xS+Zo7SD}}Tm zQs+ip#XVfkfPV3x?c=8PoAAc4dgLe^EXcdo@%|PS*d$uEyYR*CFPBBBz*_>?+BJLd z+Y7j5smvy+wrvjk@#J$4pP>?!hl&zqIln*d=AFP>&c7!BInBmw=~8&-j*VDRI--w) zR~0u{^q2$Kyp(5vAal6iR`!dA3Sa9dS6QEXf6QqysV(tUU4a+s?Q1(|h6>bDej3d# z9pDr8G+?R#Y?D7bw&UkRoD~#b#Up`~M-Ix%tD^`>vJ~SU2}^i@SYcOrZ14@_NYIsz zY@O?{vXeE4UCb=+Br6(9u&Dfo;N9)m$Oc>ci!BlWMS$r6I)>E)v=`_BGQITx1!U?0 z@B*Js0Gtk;AOvgzdIHwmlbCww+lZNm$0^F-AYo9a#+n z21u<=10cjkxAnzjB1gH`qXQap#wS%Oc6eWhv2jd?Zz%@&q%yv4wKn`k&vBU*M~*R`OEn0YARI7|nXX z-yoW*2YeF*;Q2PH)xf%qc_UcQmOTxq@)UsbitvOvqli`DDN#ZXkb6o4FyoUwTL?=) zm(xi@hBlJ%+4FxTlLwdDsYW_5*8_B5uLtO5geL&Gb36e^3r+)|@rak3j@c52W0b6MQ z=QHK3Er&&0*37Km_^{Bh;MJ*u_d+}c?8yVSlKa_#Fd35AtN(g8um27)ZNY>(eP#Bt z_U}*UJBqSMrG~xYnePvL;jgYN3Tj-E;H+IEjSCA@%bsjjp7X&?4mZzG#YP(!NT-@J zTdn&`X{;hJZisfz+H-o(*#B`q7#LJT@_)EBp>|@ggd*a=6WO@BC-<6ZmmF1pOn#Tx zkegBu_%0Rvr_NhAy3KZKV5HX>i4u{mCbOFy;@`W$G(NUy2_Bz^E4>iU_F>DyOAv*E z;lv}&ew*dTH*oeP#(&ELSlFKuN1DJ|M%Onu-{27KyU#bqh>b~Gmz3NPjDJr z(0uyM!_}3)(30RZct;hYWL$+VpC&>+wauQ3kM@2nO~(v((3ICH*jGUpQCl|Zr}+a; zEKwCNdiM3>b``SM4OUeV3N9YDH?Qs35BOYF##Ami4WKxB;Ss`6invYn^~#T0WjC4H z>=pi@=u3(m(E}7h?S6d!MCgWT)HTW_6*vgJpMclV;CV$JCZikzXwM0p`-e80{rx0r zfbTKUy?Vf>=~DnQA2cN}eNtH(tZamRx?v<*=~|MGEF#gy5*8v8qH+bOgP!goSK@sD`|T3O(o>Tz>Hgc1CE$y2>@BSRe|pI?E@-!;d_;Hq|0$ zyrvFz`AvzI;UQ-^R?OX4CuM}x(6Xh^eQYnXA-_&YQs93$aK6u#tj)I z**AMIySzrT&#oYVPNOn@dVbki9f;aXWcl_mi3B|Ahg;W1esPn- z=*h}b9UigrO3H;dIuk%5Wl-YT&D?PY_ z&Ae0y^rTCby-o(5$au(QG}}XDxHA@sx52I@`2QbGi7r^}4jSBb_=^kZ`we^^;96X#nuq_}u$}{MgI^b8@)M3WN~WrV3b9G<@?i$L}gr>26xtwInF{)@uY*+$mTtuh;dH33rYXP+`6R7A^_v zv%gg6IFJo^J3ZHgTi48pgmN9tc6bwVLsN{rrT|-iYXzqT5fv7H{+%lqV(IS^JRiogOnj_tImb0YTA8#(@({Ro^F5xm}JHK;hF6;h+2~ ziAGKOA^n)!PZgHN2?ChV#(uvz#HswHh;IJVXx0F5PIj=<`&t->OgO77a-4LeHStmk zJeN+kSFxpvz1W2}72x5J8_DQjn{@MwoXabPs>N~wT5w$}+FJr>$XJg_yIl`Zmeqdg{uR0> zk|QuOhJ_^}SGQeJv%Nz;bd3J|pMDFB5JW@W!w>!odeybiaaVusCv{0pL#21EmVd0!%mOj{~KCO&0@+nK#` zBR2sJA?sVY9cuuXW!;d8pcEc8_W?&5M~u4Cqd<27oy4V6)>AW`SItF*u$QZCFr$d)ECyCuCJ2NF&Zv!E|`6-1Mlz z+^G}qy||An=2(~NEv+;>^&r>NY@c2uJ3gMLa)R!Q8}N8m!2*>)R5!yBUvs$GUlPGa z!a1OF9ZhKQ<=X>ajVF;5M*jhy5H*JC*R7p1|vp|&5;ZbdoNG4Q%6%Z!BK3(7qKy7FIutaW>$zz zK8RNvZbto6A{qL7KRBnsKyJJ%3XP7-I5Mo1D~Ra($o55eRG7Vs&8`?^synmMtfNFe zcYbRHZ@@y>S_=fj;k7GW{q;c=*$TYBB_eNiPmOBm&>~;HksHlV0Q`tY2VgvK*%0Y5 zHAf@*vLwPZ06r6^yACV-v-vC>Ge6TSv`0r7hCCNGq$%L{DLfRq`O%HyXNTONH57ym zj4P3a59p35~~ zFbLve0-2q? zTL6GU==FeK9nlRrD~EsZ@M|N_e9I4U%2Orv?=MjKUH|(xd~rfIK50=Sy<4+=Ugq@X z6C*jmE@t4g!=4QbkKH<9`BS05s!``#MyzS!xFVECXnfqbVb2+e)J@#hMuewm_vYN^ zcHdjaw<0FH{oWD4s`Q^nw;BG8tTzk{aE#2oX)*Q!*@Y_))oL4(OG2?$Ot$hkP9tk>rg(6F3}@w? zpsd3IBzP?G&=&< z>s{7DOPihfJvN4Rt99PZRRT9xQJ()OMW7N4U z&!Qk3(xme2yan6kC%}P8i3?x~AX1thsO^_~GA6Wp1x|@xpex12SJovp?$u7RV8JSE zR61ZDA}xibklp?fwYl=gq^9;!_wK;Io&p#rmj^J**jA8f#UqorIpDqJ<)8g}`47P) z_;4v2mo6|XU>PUSIO>Q(5$FTOkVV2_f{^a2qeA=+UXMdcVubD>J_tGIJ>*2wk%mbp znr>6kkwx)~ttK1=urNUWwwCx@4JkS~I9LFg=f`iZ*6;)6FSaHP`$+1_7y<- zp=kqGkGo2&=*oZwU>c$uIfrlqFrP=9)wdwG_%RV^8*9Bllx4aqOdb>U{8zfe#b{ zzU4Ehq5@S^n6SS!&oiJvy_^4pQwa*zD{JxLe-|G%Ab?DPb^Z@~ z+?&GBPFWp+9>HpLkA=0Tk5yY$nSZj;yt3c67AwvTCsuSpa>drfpPCMjAfUp(g4Ob% z(5Qa~eM|uPnilTvKDC9*Kmg@GofA0rxn=`ua{xARtjojHM$LXO<*(!~evRS>7Odp~ zTp@+J7wt3+^g8JA;j#p3*r&q-N2Ls<>U{1fKau0)+PFz+9Wn_ZjjroUi_OVjrV>C` zl@cB_tJm_rkR_;`d_}J`-v4X-tie>mhYz38tOqD@#uLC+(JBF`hLk4L6Vwxaa>KU3 zbfo^Wk_Gu`*{}%>+NcsVpqJpd>FnqmT~>d`8wWudQ-nBQ<#wDV&}KtmmDBdKN9Y@9 z3a|X2%GWP>QsW}-IAW)o%p-L4i$)2ej3e-w>&o|V^SpoXy_Mh zsq*E;-yU-SmU)`Bmzrf}QRU3paW1iqpxfyxz?|H}ug2PT5<80E9DU;X%T0U-5kNyb zywB*ijqU#tK#6Ac0Ii5&&p&_h#>ZmSVN#}-;>A|C3s-E^!;rqWl0HqV!3}UWDJjc$ zVM5gKHh*$4#emAvT(+M7`>XLAkIU~3fc~RAr=t7=4lTT4l=J^g03VL({`#0_+Q@Q| zEM5-zos@@3@zAALYR68w!=pok$8$=spgiCjfQ6mIFvTG;4h{L7Gn#c2Vad)Mq!B@k zd664C6UA~S^;zn4{Ly1W;yGS|^}alsDEm9JcxO%*0%$)d`>K84 z)ViBx9ii#HJ&GAufZTr4-HeRqBN_~L&s4=9Sp@3~|BFlM@dokrYpeV;nl%8kBn#O~ zw~7W0hof>lFDTcCT5y`aJg4dHTQzvy5TWg$Dxv@jC&TRywRbgiY}DSA3?gbKy!(^b z{osksu=HiO-SMqiJfgRw*Q4@NJ2owhUdC4}`ykrcC(lfqQ`1qIH-oX4o`S&xCp=S@ z-BGqLN=bLl&X|&zV;c?*^_3qDDPzuOjL|%(y@nGq@lSEojm5dPn~tNmFF%VbS?kDud?C6N)ijWogo1z zgsl7Sp$oUZ&UF<`lIl1RhC5h|OiM$K9|FRLFY^;|trQBM8% z?7;8p?SES>!4)2(Sr5=Hc@2QAlKByo$=n*E53Y2Dm99LJWye~OB8<7)v^ZBP*&tPC zKPz)vN~>8`-pU|xMpT|=`9v@?xB89dT`jI(Z?;$6@99q3t{1K@{%qTR{@IxAZQ*f4 zx|4Q1V~u(kxwGf#;O`5$h*XAqooN2fipMWk>%bK&2GBg+{@m=D#Y<_PR?TqYl~Cn? zh+SP|ciNHdQ`(PPc6FQh=Fwxk8Q@}&`@zP4!ZY9alJA6!Jq3erZ2h?EmI)1H!>h%( zp!_3-k*#Xx_JYZlti~y9XPoHN8)&)9JuQW)+0R^#-;5vrR+dK+&=8!|!joaeSNP5Uk{{VL=a_ zo%S42SVO})WSjt8{t+XtpE^lgeLoaH(ldtkEgh;Pp`*mN-rU~US+O&fpj|`&Y)<*b z;y(dgy=4>2`&lK;s2*LCH}2b**2IizIXve?V32{2r)Gj2G7fC>(vdn;f;OA|Z{FD3 z{rXT9ctQDzH?H6RA*D?d^-E~WUcDf7Pyey%w^NUSpvuq9&+u_gLm92s~|r2kl?eU@wTO^=tiuR3>zN3c4L|$h>g9h z#w*d$u^G!NF`A3tu=k$5=mb?+AyTwO576WETUP70@gvpFrd6Q_ zf>K3^tgLgFd=`jVi&lkvDuA}b`^{MJ#t!8#Hg04i=>an0^gu7($IUHF+%_Q#`tF7_jU?1%~T-R~ZnlA;3LMWv(vH*N5Yf2XJbU&coB z$k&TwtA6JtA$p4v!}B})PFr7#N`!2B3gGj%09?EN8dbdM43+TdDgZ~|wJ7t7T^w*5 zp2@J{&>Lz|=R7A~j>a8vMRLRSRRk*)(*|cgy*k>XE+6HRS{XX7JQ~fJR~=Pb27V!V z1*ReG91DCVHKM2OeDu-I3nfA2cD8&cGFahonRD*+=)x;CXRYNp{)tWx-+k|B*1(oS z2%vCo4S?03kfjV)mMNx$C7Yl#PYoS7lRH2I;2bc;TB^i|Xx<*y5TP`sRn!AwQ5ns8 zKqP!2fNS4uv1!g&*@+(ykVE(?y|=k}`yY;?v%Cm%F{ddB6PYVph6suN+i>!i1|z3a z|5ih20obsZKiuQPE{GEZuN>oRrj(9-Wa~nmN{1<{cg?KSI=UJG!LtPa)$QuXJI3E9 zAT(A0tA5!wc*?EQ9Dsq{7S2!hEM6uY_j1}STh{JU<%8p>FvXND{ovoZrB_}iz_43z z)d2WzakRnWp_GFLiriZAajmL{)?OhFlsrZc&{5Um_01=R7Ovzam_LPu%Q5Q%3A?b` z)E$1)yWB!%s`EdT!A97?Mve?Fs0!2$TbZp{s2R=fV_Y8M@deBGK6W+lo?++$h zu`G!(qJ`P zLr(1fVpwxJKnll8^vEBm^!NWo7lBX&w=JiXb)Aw@g-*(J45KnIquJ{z%IzaloXv&H zzM_TwT({FkEo{$QhzUTKAM^mC0Rcmb_6f~zxn)B#m8d*d0PZ!HUif)$3<3Th37~iK z2O)u9wj_YUb@f2y8=^%1=Ntdb-(jN?~MeiF59>NG~eT}bi!iUaR7!a-kPH^6-!=!@s-Q-sfoUPyEdA; zb3jp57AP>2miqhNp*=-w54GEJ!t!$n=YyR)(dO!9fuu--pU;-*VY5I`?hk)|qVF!Q z(6coS_nSM9WfIW|(|x-_j(^og-R69_8jg#m9kySH+AT~g7{h5W8sSHjz6)X_>f3be zt*`2T%RhlFZ8}-oRBJ)&1AnW!Uyw_bSQ`+O_(hQ_f5}u|^lZ_E0R#Eg%~;V|o;veN zOpVb8=(i{bc_dpf@|%Lodtc;}TiN2j z6UF;|v&Qd2Rw^&fCi0u*0dONJ{olyc#={;thFnFjkhm`HdH&SSJU&S=0--pi$2-c| zEJeCk8#Gj?D&T!lRpHf$`I8;vc^lXf17h;B*=1uEe^)+DL^AvpMG#K~`cc*}LoKuk z=3E_n`t)T!y%dSe2i$1Z19Zt$4^*xt8lwmNrU{^n&*fjj|7az@1abBVDnr&g)?vw3 zmy^P5G=yj+B?!|4p;FH-zB|6E;)yrC-Be0Q2u%eM6-8783s-t?p(++a2qcn_5E80L69qwfmEL>rRf?dX zB7z_`6czZP2v`B@o3dx-p3TjB@1OIz$#?tC&d$uv&T>bgHPO7=12g=$$t#`*RVWrF zlegossm~-DiiR99E6kX=09d|F!Ez2~!DMHJXue|Ee(9Sw?OOev>x^wedrZ?4q}1S;tU2O1!UjM$u9(NfmRZ|(@IdnH~_FSSU(>=>`Dk-5jJK6;`n0& zfp_?86wb-}{s1_RXqh{R!YU7vNG&ZteY@f4rH7sVB*B$P@Mh=@z5^L}wE?*eWCJ4q*g%}4-rIm^pe_LRx)xx0K!!x7>|Eh{ zu4K@wXh-d|ftdG->6I)!R}O~b}rK03ppaS8|EnW_kj;X%?=4(3a=ZXK zrPoJpy;|B2bCxj(TWF+=;y0QefcCGR8*m11dx@p4u zZiPk**a%EC;Rx$nn#G;`w*B|g9f?u9DY8eoHaCA2KqhiS$=dU3Rx|=Gwu`$Ahp3PJ z7+m5&faDPJTC+Upk*y1LkY&DBKOghq=t*TIhtR~Tol|FDGnb{PACoB!M0+Wf+_Teg zUH?L<%XbC;JG^#HDN1H|>9m9YJoH{Y0ffiQzwph0ALDr=p!up{>X`UmmE7?`MzO+) zbja)V$I8EyTAw#7%ptKfavxaSw!i1L)FE7{<$KdVsZcXd06CqnTXkTMwi$C2_}El# z0|Cv81Jd1qatxQj3)|n$q}=%Wk|W2%%1koK=NSVOsJWSkjZ zJ>mGaw|eu|K|rA?d3kI>)152W%1A(G11y{H()yn3b%rC8iU9(6kl<1K*tAlmwjPwq z!=g=&B@-Gps_>q&W$_X!0(3Ju7EXv-QS*i>hN4I;NV#^g{9i2DU~}bhn7Jw2n$)~Y zq^S5#pzx$YI4tn|fW2R|w>c?`OH6o330h)YxByVRn!GU(S5}?B7=>JC!BK zfPl9zG)YFpN|*9%8a(;f@BT{kVl!)7;Li#!`QnK+F!PC!oI7;+MciweR?zF(Ltl0J zPud*wMKORp`k2>i(TlCdn~efS9n56lCS9o$*~TSYjw=<6g=eNI*9CxOgRY>VAq9MX zdi3t&6NJo_5{i%@V%<)}6?FZng|u024cS0sUsI_K$SWu|AmVhpw|<;Ia045Uh-!Et zL+E4+5EgC&vLo4mL>sgL*{WOsSRa~!e^-7#xMmDaQTQNGdRms)YF%kzlw#RzU9_RW zyt@ccJPQ-acYk#5xz6pj@<4+k&^`kWKllWNTz1UpZeQ_p)Zp)YHm~Omu>Q602R(U} zStr`2(4v}Cy+u|wJiiJ?N{I)$s!eci!QDJrXhHF*2XmOxmj3?k<(6kpacgjSIa6W- zp6X7HGIwUI>1I|qzh5<$xPKMinfSP1uzTniM$Bw6$>Z z;(PkW^R5V_8PXXTw|^)W;$&mA?7}>V>?o$LoZ44w9p8OP`WnQloX2Yeq7b1d=JO9^b(2|GxE5O^n$6Ew&bj?*$ zza0}Zn%MzO+b?Durj5NE*DI%`6czKL0Y;YZHNWXyw*`opXn>49BR*_C#ux>F_VH{9 zLM7o9JMzu+mkhcq%9ATU08u52$>Cwv2mZJH-npK?g4qd;+*p&t1_GVN+kmi68xXb8 z20|S1$p%81CrYbyC$l}%L}7Vn-s+9NRDPNojqR5SK6G?lq_8e}wMREi> zBr)K|uyJR$uM$9HiOdc+t2{bRZ8#z_6ai|R%DW9&P;KWA-)d3qiUXc41`sFLb`2*y zH*gwrMjR5cZrgx|Hxv*xtQ@lTZ6NL`Q@IU@`;q~4uI*QM#jg8lwYy&3dHR0oam-Xx z_WpkPEehvOQ-G%(40%UCd2val!2$%a$5!@hmhi0Lp{VkPVI`~BmexSQ>sMA+Y%94-K*wahG(JK;H%o&|W$-D4jYgMg>4{$Sung5Y&ADF zvba{YC%{Im!-0Tcz!-?dn^S1+v!E?`jhaQeA$%-z{v2dJS zizlBtbF3dV0)Y@mL)!K5-;W(xyFvirI6DR{dw+DDLIoWA%$C!qF8x#Oi~zzpx9stL zb9=h(vchX^K)Ca!9W}bI?@?8Ya(0(RzkmM9#})4qK-R;&TghYI@$M8rWS|+%tFBn~ zq3->1n`ZjuFDA|$qMTFs`Ltikx9_*Eu@og1wn;nBH9vcYimBrIHg3Zc_n+y*G87J? z$QP-5FCV)jRX6Ow2~?`bTj#^6<)4drL+g0K0QW^ydhD(tMm#JCNP*M)s=zOdz7Hp- zeCm>#o7TgBju>;dpaVWp<*ZOss`5%(RFc`<^3nA@%SwKx4Rh#WOS4kbPLKIe03od{ z52XCsKl@(+WZE}x-B-SSE}IXC<{U!VoPN5_ljU+GhY;hY9}3cwE3)v9IfPI)roZTI zAFW3iLMZEct!^JQpZ5x?gE=DH1)T6thb9Xmqz>U1OXhUm`rxY}3OJkc!aJH@e&AXM z0p$E-UUL4$g130MX?C4Wc~<`&)%u;%ArV5EK5F!+hVR`YMG4JKIohb=N55ARK&W(b z%e5_c=Bhp>#5ke*ucz0FjaoI?0Iz*8C1C5eFv$^=WPs{x z%3SK5ei()3_*DE1fse6m^x^0&tTCS5~;8p9WDlGIPOiiPyZxJ2azd&D-}J zk&@$Y(oc9dD5=+uTj~54_0f^lp84$0;axJg#|Vg3!3KhzCDd+Il}QJJ_%F;6m1pX3 z0pJ8mu@B(!yo^4B2l-0^d4nCsQ@_ii`fa>ZrQtDACWj3O4=Vy3C?_WQ^e88ghrb_WiEqV6zl%sWd74G*AQsGHB>$YJt|5xSVha`va z;`J}LJ9VHX3!JWrTHABvJ+I6QmK-Gqf6FGBJRXRS`3X!#s~~{JzDFm7hvigex6>uV3?Z{Z%IxR&u!Y(5g*#>H3$Q?ZAdD zJ!akOW0rQf{)V9|I^9a}*$bU*b=A@G>mRPg3la%Y#NuT^!&}xlt74EWa~FW&sNm%x zh{;7an5hpQZ?8qoW3Tj35kwx9C<3%ECWo9GcMH6H?#&s7mxCjCr?ftO3&EUA2O3S$ zgUgiA_K2rp`ec(3J2I{qKyLlpIYj)lfl%hn99v{XFCGLsw!nM;QaWb#Qmf<>ozSs)LO#@N}gGNXVF}&yQUl`3W0jFh>G! z7as4c|9t%6$?y$QN0f88G&17n@$Vc;VgSs?bo&O~vEh2G``W`R_uM%%|F$y1l9f#} z^E)h>+UQ%|NA-S@F94*1TL3(egbryCyQ(K#Ej1-%o;h^q3+sQA)+N+2z_TGEpG<#9 z*|n@I8xS$Z1|qpskJknyz@ZIw%TF5c~8fW_)$lAGs_xR5Z z;VALV958yJ$6$MKKh5!%5N0{R*?H`ug~b~HsXnSP(gjnrU+V|2SdaJJH|HPy{f9+V zC(@GWV@DgL4WId3X#vFEdSGqmKU074(fO*I1|OJo>g!59M`;d+%k0|})cJZ_A1Ua9 z$+36dM@@eJyu9XM(UkpRo3Rsn zxBFKB*^PFrjOltuN?ifu7(CFP%T;ULy8gs*caRH7*IqLx$F*`R+b|1<8e%w!Me4gzvRWO2z+4U&Fe#zn#QgOS%D6nrImwg`^T)8x&RHy@q+_v?+AS5n!} zn0DKMgnu5>d*8z=RxmdQ3rBQn+8{bY$cJz@Chw?4|9k1Z$YiJbQmwM!&XVxlR>-vn z`AdpjXjKd#++yg)strz_@mV{gO%5A~IOGq&__LY0>GXCfM1=3>m<0;T4c(kDOYJW5 zh^7sQr$Z5dIhe<510kQAh7R2`MX6 zC9M1K2k#YjUHzZ{GVuE;$NShQAGgJ zE4Kc8_SoM(fwN+tHASrtnN}xt#6HOpo@Rj6apR60`T02kWSd@Ic2sJeZhtaBH&4M^ zFaraSBYWthZbl1^JX)tkBUP!wSf%xN=XeXYJ$Z!}GBARY7*+@$EQbd-QM784pViki zVseR5LdNYUSsVI}BXqDa5yzVN}3$F|zH&=3&2iI2rs)j?ae2hKB!lw44B< z^W?wr-l$IoE*3zx%j~GQ|HjuDFF<@v`U&^u|DA9%cf@G{&^!^Q{)In` zxscp9R&s=Xcz_Y9z)$R-)!bT>fX=$MtUX!|!^RRM}{6gHCEwZ{2pfS${u zFW;`eQQ9aPf9GAv+Y?gFkb@l_ZfE0jUl7T=b4GSLUgASK_IO?C;9pUWC}IN=!q5g} zGqeG@`sMkfI= zXqO;MN+{d5g?T3LpkF`#^wCFVIHf~y#Q_vN0=F3Osdq%qzAwHJvGVdwP6oA>SYYz^ zDfn@+f&Ri8cE;)FDTd^(`Ru zxM`IQh!x)kMANbXG5*>>ltaQU07Pzxj>4}wG{}T)%H0s%b?oaZp$@ffshsfNlke7$ zfsEqq7|8g~lS9`|*~I`#F&yI6G4Hg<7-Z^lC4^y$e%=7{PuzU`mlgA!5=uc31Bmxm zsbik;Zs-7P*Cd^Ds3cU!OAA*(oWqT5AnIO!IbfIWl#!jA1CNr!KJB7;8@`#iTNF*2=kkdFDkRSmQ%g6jS zam`0mBaTb(qo(q)!A%NUbpD9}3_OwsIt9d0#I@TQAI}8^LmuRDC5BSMhWalh3S*>H z0tNw51|S)*7gtX3%mx8AzgI7fmzYC2JdDlA78a|+Gdw7l8Oz;eLfce z=ah7VCKGoCf7L^S#naZ66Mz_plfU%oM<3qqtD>iDKsFF@+tgtL;>u_PvRT_eK#5|C z64Bk{KtUt)27JPv!=L8Wb(Ar}Nt6!9e}+D7Dx#Qd2G?`Fza7TUgC+U=*b*4GWNG^v57OUOwD zN*iENyAtOfuR2ZvrecqGZsG1}5B+Sme&|_nYm;O4i=)Hh51rKu0 z(^Q^SBPA>L$lVIGDh_zx06n}%c7C?*P01l|ue~t;n}lZfU10#WHRpOJJa~aILp69z zhy9OiJpVTzJ5Yxm)@uWDKdsT85(}@)iFAsFEeRsGrD1qqc=ZBLkz~=kQsVG8FwM3B zIj^+=iT7>;;{R#@Tr!cB;1jr%>cA!9iZ+eVa#Q`08J+Lj`6JUT_1T%SLmgMgeVjX8 zx(4sh<#eab2Cg!8hZm0|!13;VgQiVP|C&=m*#QnMZeO%E{p``J3OMV3W2Myl!%y&z zgO!T0d0C6I!$15}8LzzSxajLn)yEEC>W9UY*cn2RWaM|JExKM_9&Q186KLV^z4?n8 z)Y5uW=qId!i)*%yb&M=fujt!0ATQ0&I(B~4$1PuzqGS>#^y+Zp`d%aHV5jdeb&R?C z(|4_ZWK$CMO`bA;?ZMqSuZ-L&Malcqqw-(7xxQ?o0HGyKQ8pmX_QSWeAMw?uLe7B# zAp{kpscDPypvm38@U!~|9q2B_%GHm&zw)0xcfFzj0ZmK}7XU&~!?cW?TzHxlOqX!w zvyZ=2&_UT8dj%z~&U<3Jlq+n(2E^{;}dd*}J%PsK$|p})}7*g7Kvo-cz-SRjU>P&pvYk@KyT32pMbqcXt9 zGx*T6DRD>IxHpzvGTI+BS5(qvKL_2}Z-8!&5-xYiZ|lciZqkX{06D^#heD`{ThIR7 zwT$j9;@9$4aLLQJy&ENmsAe;wvbTTpwd!nUtl&wy*yIWwHdc}xan4p~13^bjKgQR5 za#go_nnPyg)u*pDd2oawZ9MdVcgxY@hmW;Ow9Da5nKG72^UxYJ`D> zknUhLrmYDB_)yt3mj-5(V_@ zpmsS|DkwLwaxvwK23jP?!^PwXcLvVRA@KlgKpe|#AcW64z-!kUhWO%|E8du{9H0_4 z$OR=k5B;k+B&)y1!)Ue7$ScfFhg}pO*C^!8xM=l3yc7i>ZbWgIOMO5EBTv!*Or?%u z0%L(eD3}EHVEAXLp*X3}z=t0+iu_pe+dQo*WnymwBn5fE;>fg_6IMObj4}f2iffpW zo<*kEhTsq_CZxkdJ`e5iIZHU0U5>>MCgxUrst?PzkUhR#A;cbqr$?;Ylv{>v7qq!VDbRbhaL!n+u0`nsLb{2D_3kJ z`Q_eZ5rETx*Z32g4*&3`3dOC`$b@V{g!()$<4Op9E;ZZKIWX^wn|rqLU)Z(!xjpFY z+R~-1WTp7g+Ja1cj*>!a>fuY&6#mq--jxu#75Rfd0D@#bn+0#?!HW@EXMS#vtX|F*X_q4r z&}=|nH0n`l+ubib!+Q}@r}(khfX9&{Y(P%$Z6K7*Mjo#Xn6*|E2s&W8ZRe1~0UHQ* z7*)r_lH~&1rSVWBVK`!v3xL_eTN~A#D5@@&1iq-Gx#kyGpaHMG)kc$>B0G_SHXN}uDLFhVObJ3Z(w z-2?FGE%5R5fltW;nBK(W^I?nBUHscN)=GHTtz+(a@?e8qGRo0i%n)r!>Dla;AC*Z- ztm{oTXI?A2RE_sykl3*Dhv4J&I&)D40m*Ih(=x%Q+j(-fDV%cV=D~dy$D+LM*GC42 zeyZF~f?}?&d*-9petAgR6tvE?Y1yrbH&d<%OTc@j;2V>f1`gSk=urxjZt1uaA+09& zk^L#sQK6x|$pdde!^u>iY?jBl0H$%=zo=|I%+}2p~J}jHVxzzjwwQ z20&x%kk%bS@C>}4Uhx3e1$^&Gp4OONCE#Fc+h{38Vj54bx_;PK�kDTt;jl;0x2B zB0zNmO!)5Ss}G&`k#8K~YD`SZkxGx^ zHaUiV)$W76p)W}eu__OlzOA%pU`qjlc#`0CiPlNaKl|eY0!YkA8xU=-VE_4_ZlC;> zbAVloUUZ`X*v1lFkm)eT`~mfAHEVEI3J-E*JsS{Fx%bJ0H&3>IRB}i(%wA8QtB_mU zN6OEqG~hOF0VSENiUQGPOpflG=5L6t@HW>0)>L{p8=@MC{NPFe>sD@BKiBa1uxBI1 z+>_X7ARHj4fvX4l3pdKnP4^Ag>`Dx!1P(Cux4*md!kM2K{R`QGGkZ1=v$~iZ5)IzY zAsVR-h~2kg+_6z>o~}*o2xYPOFyds)N01Y#EEm}dp#a{g5Q-$REE4`1wjYr;@F{&a z{+b1!5^LZS{}FtAJa_H;3u1x&Xvu+Fx0e}Kfki}_z8;VIa8{G-empw}IM$@2759EJ zbHFkMcvX75@3ao@cyAXKe#8{B@UsVAUh&aanq!iw%zhmk)mT z>h_hC3@1~(W5;jpwD)jZAE28lYV2LZbDw@yDJh6a#N&OvYw4!LDlFxqkTax#p|etb z^*4joLHzg23kuypnn?T(Z zm)IKzmptt({tLh_XJn0%PSjm zgq<{%Pd(hVOlB_gO$6j_z~IQVVbA@ND@Dcdi3~j5@Ws0;u6N)Cj5);9zcBUBJC+YF zD>>rsHFdmH^^GB|+h`r~V2=%m;ipT)%6B?`P)3T9FhT88>-AjF{*VA+EarK<4US*z z)Z?g%lkyCb4M?EtNA^~K^!l1OE(*2kOgMCb$b^jsf?W=t|1^zvC4=sY>yHh{{X+u~ z0X2ji32)+0^S%Mnj!O86ywv>>lt|pCzC9h2^Uc4~Wf2ljH0|?4K|2v;(4*N8RBRy`cyt>+<*I4Mm970eFJ~)0RvtPF6;OgK4*1hj->$dt60m8pEb2aLbh8Qb%B*Dar=KRoVuk?kXmSoaWd$ z#52?egD@ZLWU?pBhD4cDn2&uD!^t2->#uzy)k)YG7XVFe(;akEvTW9apbxoyz!Kp!*_9M#QEm^~K#a5C zZ9u$3Y(S1@3ZCgvuJa9M&`2rK6{*Q^8^Zz&1;Q>RO< z;${QEtZNo6DxQ5+ivkii*e*&!rr3aIis_&Yh##p9h`q%Ig3{eZ;TjLR7e1by_|x2} za4&bd@CZgC*vsIueJ^-?7yJj{CaQC_!Y4HqUSu_c*hDXZ;f2*o&3eIuz1Rp4c z=V$xFqhLa!OS*m8{`}w?Qn0u<&OJ7A@;^Vb$O|^(1bXBMj~=a~%XiIpB;CX9m--@vrx6<+`j1yjL)4dSW70jbYJu?2Y%gVOG29Ts!T zv84+D&Iq^4`sHQ80pK7A?wpYe!&+eKaixSJ%FHl8pUaNnLf}SfaHq_B=I$rxKJ!-)gDw0Zf zx@H4q4w!0P05~~!g2z{2(Ay8tw|`wpptg8N^R@xuoHiiQC2T-8B^wa8Ujq!J=HfE7 zExQsDWzRdYTW*{)Dk7X^;nRcl@yYERcYPqo~8K}Ja8=4~w4ajDkAp#sRZ zxVq94JJPSV7eJQ#im&eN>KS~L0oY^e=ND%5!AjE#AfQ-g8ik&Q@d78%r2{9meeEQ# z09YI4TBl`Z;p3X<7VEeJ*W>5z`cZjsf$4>v{r|i=IVX9qeAhX=Ea{;iQw+8_^ z8{R){mJZ{c>GQsvl`y6yME}QQd?FgtL_1B}tX>#18zxSV(5y6N>h-2IF4smn!DCqJ z!01X1?G9!68jkvXJB=M$=dTR_MBizE^vmzx&f6MG_l-=53*?j$q@F}T%1D+Y{jpCm zC%sp%+@Xj|Y*z&CQ4+XWzf2N;K*zwoiaCE>&=*qWv;i?mF8H%n$ExA~NsZzcZv&yHOdXR) zdTQ+n=_WbC9AVf6fRxfc9m2EHdIeq#SHB(hJ1K7A@S!2WQb6<(Q}UaS_n!7jcxwg< z0>ax2$cE=4oK@yRp>M(;-{?5wo}e(JLt&?#@@yd3F-F^fT+Mnt@4%kdLe;V<7k69$ ztji7=zyN?i@tNB8>4Si%;mF=}!<81=BR1Pt$NktQDwIhJXD8^E$uVL@>2D{5WO2u_ zYtHg@0kHAbhj$i0*9D#iPfAKuCs!&g*V)g8zB>GB<#01qC<8kOs7*4!mssw%4A_0P zihG3k3SN^HX-8p6-}RPKmx?rKlL9l;EED%yW>p7v?!`EVTr-uU#J0_Gs#fWNE&NK`LV zb@39OXol~U9I@)lH;i!s2o0Po!Sn%MJC(>HVJccz|CQq>lSk8EI72a$46x#OuQL1h zKF$Da2=JzRE?xMOX6qDx>v?n`nynET-P65f_m<0}v zz3;Eomi+RH_-b3}6F~j#iLPr+)4<8x$AA8{r?zb``I1Vt;xA_dk&f6j^y1m?ZoM|v zX-Q0*oUA_h)^BRA#@2A9fsu>iWex68zL^0K2V@%v>|{p72IN*<|2feMF1$FzX-9Ou z!d`_S2d2W^Y&Nw*1aIFYNCJ+MWdo6~nA%(b?0y~lbcd~r;&7np2;^vIrmU3F&HD7r z$nOJusBMPBTdgE1?FzH{ARET(DttexDQKg}m;E-lARrW9tY#B5TW*o7=eWPn znc$~Qn{7ZO9~+P>{w@GkdBY5Nc%y)Jzf^cYn?+(jHJ&Y|#>i&=0Fce$`6b{ku(39N zN%hEXQ8ym!d8b*v&=Gkt$Ogo5)CNS?vjO4THW0GQw9p2`rP>DMB8d&i>6HzLUC;n% zl`2^iKG9p?6Lf}JfU=i;P$t)!kAIcBZ$jo>l#p1~4AbgkGdetyp2<5f?Ka;T;An~W zhE%_gDS-gyJ;0(qdn4}Fxre1F5e}A4>GRr$pBdv6XsZpt5KZ*m0Pekk3Wbzl3ZJ&6 z^57re?!sjNpKV17H0}oAY}mt*kS12oUOQ}bN2y5$ZrH|#FW;;%$H^WK9$z`IKI-+r zMU*CLSmA)ohZj`QE{IdA4MeUo?Xm$mf3ksqx+X`@p=Caq(D|6Qv1Tzq(!2fu7^a44 z1Nvm*B1z47sSr3!8mwD?Nnxg=8u|lZnYBeHFu42L02MOzt+X2_@orrJ#^5XfhdJQh zV7&yn3ZFpB&Ju~!l^9wfK^qN#)R=G{Eur|zPQH=Hvp}M!)*@Y+6BPN|j%pp^oDh9A z^!s0qyu6hXBGo0QnI3Qdv{G!t^VI|p7o3$}-~Ij*|9vQcJT1dMT_K! zDQbM>hA*~%aGT^1CzDreUF>l+=N|!roXQ7IjXvY)GFE`nkC>utAo@fxfS9`SmaY4I z=?r5jfewbTF$yjPSb+NF=gm7XWOWU$9Jp)!?5x3q(X3HFKW%`sO{DoIf@0&C(SoD7 z1;|x38wllo7tN8tHh`jlc+}WMmELYf!3N}r!3M&@{N;e1xHD_xcHdC&vn;fJlo9hrr|LRjuE;OZi(h;#^gv#O6nd~mROXscPDS^=zr=z{yb4UHW z^`ZcQ%!)nUJ=@O4x4o<)qCAZ;=cy2Hw=RX813L^$w4Y-XY~cHt_|z(=PM_WTgO;60 zKfzc(GB#)7YGbK^m0mvscmyck7}FCX?qv8+R-#EZ$RH@fwao`XI9)lLt2|tTTTBVB zm9KyDt@>|E3q&%u0kPlOK%lc~hwmKl@YFA2rKp%Irj8=O0t574(YborOFJcpunZdz zBC~<$H;O4L@G}GS+B57@xd(J!<NHV$ZbO#NMtJmcvxDMi|$ke__dhk z$}2&34mnOY055^}sTiLv0Qtt-xMKvL6i8P`$UOO{eWN7!e$%2ApDmsD+WZFe7i|&c z46t-cTEz!nVPOdDOVJ&3z|pf3UNOo_H%S(kyEeQ})%ub*#97b_THieU%z_sgfF*)H zPfAtFQ5JX zjR}!SzkUC&lQOnd8p!Bym<&NJ3dQr;l?VrNv#F;D@RL6PRPD3jh^86=EUw%Z4B)aCd-j z2$~WK+UM3EIdQGl+1ww1r?^@9)f+&w!JXJ`#k5NhLAm$XljBw{Vy1%>EOKoTz*&Vh zAkoEaKrUa}K$xSZ*nk9>w}IG3ro%1(PkkWD3dG~eujG5j__@zUSDw}60~s!39)ak# zz5vG=8dNC@ZW86@_U>nDaHW9(kuXg*AU7DBLo?1}=xwJL$tr>q$G1moPg~W71UrV_6OV%Aq?(vR(@VO(ozfY6QV&}7g*e{C7 zQT9=P08BRCPe%hC1kKCMb}W%2wl{lz*EJPE#Kdm{@@C4*gL_{MKlu{35N_;%u?V?e z0WLhSZ)9adL@AXHT&aN`#CO{Uk{rhF0)Y3|&%!gg9ywq(bd;$gN%C`h!`USXL#FeE zV;Ys4b2yq?i41U2F@T(y*g519mJ0xZsbyMDcQ}kJKr>ms`d#GQ|KwXQ_U`J8OKbl6csslu+XH1Fs|DlFX;Rzf9y@D}Rs(F;!o zi>o%deKFOFg5jzbxBwgW832b_m=8@cE0uUgN@DXm%!;h|+ zv0ssiorj6^o<{60NJRHELh8dWx`NA>HSkuN39}Br66xBm2@-`xs3&5nqkwZ9p77<= zZFf7!Q!#QIB#KEQuGc{lsi$LbGla|?JhWqZ`bDsXf-A$}6 z2VQtEW8@m%`4JFn#Qt6%<$t(B)$4#$rl@_13qD>FV{F@4)IkI6J`_Kw_w&rms1Dvt z;f2@GgLTuE7fR(pQ%#OlRaX9#IaCQ>yjWMH9?RR&g^w?>D7iYkq*3!}qr!Z0uwVpN zhZp~tTK(jAQit3{nV&l|Z(b&kCKeUw5Z(0A$-hk6@}B0{W?D7&(b`wS{~aJe;4cOk zU3GW#>9wp@(O6YCz$-k$Q2q3EUraxor9M0E$P3})_Yz^c0|9F>s9Bm%K(uB1&P{FWbEGJm z@X{ZDskxzTSt(jf21_QCyL9UWlPR`RE@{rKJ~8j9@jBC`ex}SGZ;Nsp-_Bn2uM`#Y zelbAweFmui{Gr&m_jpxd9r8%X!%r>Wm2tkE6lG@2t=G#0rq6O~c#F=YuNsuEO>KcbS?0e64(W&f5Z z)Okoeb9aqSsd;DNCFy?<8^S%_?WN*BYuNt}1)7@PZ2NpptN)ewLI4qNw}oGA{lk(I z0?4t;=1y5hr~fiu0j6P(cXPSlo~Sc{H$R*eA&HIutQ^^U_EpIt*IiZ*5BhrWeW3z~ zsblG5RTsTjyNm#GM`d1|XWj9IwFHm{?8gMOoV)AfYXZpaoPLc?kE=Izg#dECk@w9{ zd-wIyEka^!JpbskQJcU0RdY0^pKzth2HG0n(S%`_DsO#7a>O+%29U@wCI=Ex%unzk z@B75w@Jp|^m0@KMDItj{gSjjbJom@reZS$zqaQR>TY{L|-W}LtNXL5jOOu3)9Q|YU z$WHx!7eLnMo`({`Kl7FpK>S5_SO2K=7fY85AWLM`#^Fs`?5!ezOy8J_c<|>4V>Dp)7B$HB!?V<*?`!|dyhLY@|Qp*D&cKCt0WKXP*H7LvT@je zIIDKr@WRm=+j+E!Wj#pkfR`t1V7dXC9KMov<-2jxT=A4G0`Lar@wxy|X&S>}F1U5% zxGuQ65&W+6 z>P!WkO<{7U`K!m&*XG8snHECYfB(+*oUZ#NM~q_wYX9uM&<{74r?{glv){F86)9Q^86B;+-YcHMwlL2TyZ;EJ_XzY(OL^8xS(I zf#_jo0Ez%jiUGkeR^JL z=C4?k9KX!}I_=gAU#Va#8|TcUqq;ucg(;sZcle770J{u^Gv>E>D4wyy!>2u7DtcvU z74yWUZv4Wi%zZcCkT!K)wPJ_nX^wwPj`XjetkAQ5 zyZ~~4vctziu9tqlwE%(7m>f1BJkSP&(rrK}-3G)3+y*2FhYdt*E~Zt1j?iXuAa4tM z4nI@jle_>w>G;nQ4X6ZUb85XP!HSK)T~IEfot&3d4laHRdWY$^%TxhaGvd%Q%&=M1EYh=7~$Qx~!3+!1SQ3P=0B^wC+vzQ#B8rV7H&aDlIwqyV@mYMK}IOA$8OQ;UhM>`@L zsm!kKrj-=D@y)n7Ek#@}*2a|roJ9LTPDvfXG`6FZY;-BrJn!`AJueDQ6IZL29iO?wSf)TU!C|9onsYHK3Itsma{bdBX* zB!>tlYujHO^6p~Z39%@VxaUv#{QQ#AS&~CMQ|48?a(iRYuuNMiN-P+=+FaW_vF`%{#ImFhhKjTY;zqnRSpcy|tlNFyi|3jtWyoRb+C{bJ zKbCYza)`lm<*e)bLlTtq#ZP|rp3l=~_sNwU!ltJ5y!HMcXD$gK0&?H)W|saW>xKXc z57AFJ{-KY;-djq9c3%gub98RC0@(|dtQxp8#s zp%oI9?*(wfJl+jiy`P>nHciToc-Q1u_u@}UiAJwCo8r6i0O*u95>b27!OAd)7_r{Z_kM?*lM1X)N=%>d! zX3pa11LIiVqM3^}z|fV~GtOjxAUTAN2KOBI%Y-WL2oS}Jy2m@9@;$>EpWh>ZJn`D^ z!V%AZGu37g{idlSZ$a9uoo!Y2iEu+j~@mQ>kC9A~?B`|_``*P3YM z6-*sA5W)K)C_(GzKlj;ERVc)t!UiIEGcKAVqK&D;&LPp`Z9q&k20-qgl8s*z+7B7M zN-Y7QfRMmZx(6mQkp(c3O1MEU08(ZU;zmSt7ZP;~kdzbf;UJXeDHeAjbjZgBZ$tZt zN7H(bhO89tE#@ccFCw;LCx=#>le;`RD(r~NgG55#v}N+F&+A_kKxlT;@b%3{Utp$+ z6ezmUhSOCy99hC+OzXl~FzY|raZklvEZh>{%=P-nYS&KGjMO?Dj$75Y!6fuCIcy-@Dari_ zH5U-UiP$XcC=uijcl3wC%$8x~b_>ER-9Pk(+(0C7>DlsCQP#_kmb5LtX+-(wRW zK3h)!F}ywZsyHNaPy>Ak9YigpX$@e8Q&U-%;r_P)M)JyeSeUd00fv#zY=A zQDP!h0HSUoWM~&5(1AcMaLZ?duv@3CJk;1C)p{nnpM96pLc=y1p`S*RfYmoqQ;qdL{sqLSB zI7k2!Da_-2`_A=$=aiqx06LA*8yA&Y7Usb99&j>e$F_I&hRA+ zh$)v_*ejF%?eVT@_2>WId*iIsB9Y%+KtVuCtF-=b@dfTowl64zCvpn{rKb)s4dQkpY(7nR@oSv8E2NUBk=T1JLCGZol>f&o=doUo_^60p)*HiBS~$ zg(IdN8*q$u1ROnir)b9Rp2z!M{6v~BMwn@9KFh5#$!vh|Y-}rZ2E<4>rcIM3?B6;5 z`_r0{=g;Gv7<;4ihyB==gH?&Q_^U^&w`%k5Qpq8Q7B(O+w~pMg;FsXOwaH% zt4hq+QLeQBCD^v*@wxyoyEaC*LWn?AsR6t}u9s9@$)JtmTs5c+&AAj@hIM4P((={r z_MUOP{Sf&zFimj*U{!CJ1=9>(zBw8j)Jg(Rz`^x==UxOn0}eixgZlX^4q7IseXc?P zkXtcXBfPaQzI{QOEPTlZB(_dklgRhCW<4r7HnG=d9h&PsA6f@0-Pco87b43-TfCKdyT zTb`Z6pf&O+qS#*EPj5XhZ8#GO2V6ZbWS82Gcq7w}0bfgdytCgsB? z9tnuJc*-sK1$WxuYi=iFVan=>ce5=hnpH|SPEIDwz+>l7-w{{d9@`y@4!RyZgP=nVWSIRkTtu(*l^Ym7^BW}qm7G$|(K3mK5@QfI${FHn7caLE5E9|3&qQeSb``6h^DtxFY-z0a zKJFPR^N2uNCl$i)D+HVuT*sLt5fV58PD1g4D1We$9Q>gq*P4R&VNJ#i>~4JtTp{Wm zTLK+p%N)Yu@Blr9=FYqmhZ(gAMDp~`o>5vLIg?LG-e@toHi5P8pzG2)rCS;-@;Rdg z$wHqwL%>3G`jq1^pTWMTpa910jA6T>yJ9}kFi!6XX~pCUOs!8m3Wbz?3`Z&EMQNhW zN5Y$kBq44dY{HThXKw>~5<0cxB8>i*N%PXRp6m7A&2t0G-HCCQ&zV23+kEZ(7ZmRj!F^sRR zm1a@LouBDAIZW!;Uh^gqG(#XQnl=ey?aU#A*|dd4Ya*iVVC|V5ZCwrmj-EQ)Oc2&Fv;Y!V;5X!&g(* z_DvltfVk$bJ-(*a#PK--NHp2yOTTRXf$_1&%H@5sC6j;qDjSrSHC0 z!8f74soVzS^l{qemoJU|NLwZ5@F~l_o%w5v{!)jCJ!1o^c6srYp$f3l?(z1mwd&nY zdvvVCNv?auh~(RyJ(5E_pKU-M^RofDBwiD<6nN8vh%$!A*bhA0cF% z9}rT8k%A%)amO-);8zOq_TbG@h%$uWW`HMufh9$*^@Eel!!k`U+vnYl;PoA;3{8oc zvhw4IJF$G@{^xF~p>%8{w;59g@myd^Z7B&Hyk_FM`e~_IvzR|QSa5qynh>X0v~CgP zB1|#>?Y1;!zm~F!D&pHI~liocXeeaLCF;P+1v|(KY80RukT@U z9Y^BXQ7FywJeYWS?lO}QC;5nM89q%kMtMxGT_7VKcOh!NbU_D;Z6T#umB6eDu@|+8 z=7*3g$$Wfm&TO!L9~>>Vd}?5vX%IJO0|3#$)7+^Y zi4><|O-N+VBC(E!TE$aRTxiNk5~0;k^Ino|OHdonhB@QLh8Qn=fV2&I7mBLV*K4R! z+C!<=#5B}vgz8J!LEVK9+5Xs|6~r5xdt&H*05zHUN-2K=KGS>D^L_@NRFSC0#37+C~q(UyG-n#)pY;Qyp1mEGy~7D=)^>S(hgmOwpbMaNi$u?oFe zMyeqxmc&0}MnXo_6iMwRUcqW_Ae*b*tt6qFGO|`hW=Inw2UA9owvEaOji<`!Wy-_< zNLi!_BY7<97W~ggd^VB{mSdb=0ry9cOpC=?GRxg9gJ$0h3TRG{$9wSCsC(L8+CYDy zR3fs{fg8Jj$gIwC90DSh>^kw+#W%*kBRRw-zWKp6=Ps6D!w2RNzlHUG-!9R(k)8&~ zHovm||BheCW91!lhy=Id`BtF|-;a|z0Z&t$Tnm0^o#c>NTGeQM-4|-=iJnN! zOV(6NyIPy+6^kkzK$$(>>Ak-EsP?EzQk1ypOuFh#jelK*V~LJ$17)3}#$0Hy>f>ZJ z{fV2D4Fn%Dl@ICC@51NJbaBYl`u<;@?XkIa4{4Qn;^e2*zWhdeo!3Af9eAQ@*N6kn zUj1Hj$TegekcWP9)hs}@zSvY zd1=-LBs!T52oJP@fLEyH97g3C$8sP}o!`G~qmajAT1o+N%UZ z$}lN;WGW-)BNF!LOgxBQWiz3t-2*`eT^{ZDzolRuZ8ka>c8ggPNcu~F=8zi{>9%BP zW(D_d1ZLp}ZJ;Cqk}Z}j!4**DCmon=1&!fPvTzb@^TdX!EkIR0RTXK#NG4{5gM@Jt zcMqGVd8h$YH&sTmIaS8j5)6yPJjv9hWM~Xepd7A~Qly9L)K{8HYZi%`NMt7^rTmXj z6!nz^Xx)BDQz40%rk8q6PtcUiK}s}nPOJ$+MW6LZ;~(PgCJFbXkXfeZa%3(t$Gq-5 zq$H4*O8S&$WD~4;BM9^8vZZ=RwPR{B_kZ056VstlBVwn?B4vbGMdWuvVOlV;Co+(- zJ`}f866ty+WrmrG5f-pwJ@+G8Br+t`kye6VlDh??NmRf#hq&QVnbJHjek0#tJ*x5O z;wG}7UQ!2$+UUfFCZ3c$R?&k}r3&p2%{r^-rOFAeO(+$G1YyEPViROOVG=dd)21x-w@)5wP{NUZ!gUlf~@ zF_CtQ%}kMfrN=rV#Ic!7;&1xFY1?3K6v(2Hdsujx;&~Iz2eAm96kcEV)9hCgaXjTOgeq8apy|vgIHmK@w^CWNqL=5?Cj7&z)I)>5^4fpRS7dR2WA! z=8*ppaRFkC)C3|vwzisA4X_@a4{9t)R+OAJD6%ZF)!MjeVjkm!h&7@|u5xQ))YJ;y znW%f#&ZPd0bmpwaKi#r)xAHWAI>;ec`F1JvD&T{9BlTjtR2-xIgecQz@4(%W$dmRZ z+6idxwOFQt*fBEHI?HSp49pbBX9BU{Ksx3(F9>2|bU~AhKz1Es74nTQ==$md%+mfgu5lQpRrN2 zT$-PjlZ;?NgLD8BP}@B=diu@M zLj;=(-HC{Q5;x=l3fdwyDd{n-$4>JD8E2^N0x4snsU$wn!VGqdCEiFqInk-q=CUJ- zF)iyJarazHBr85ifK(Wjqq-CoM&0M*W^-{03)5vm<3^-I)En_F4!Cid$CR<8dd0#& zRdt}=_~;K8F$?;3&?e2oC{B!#uizKSro5GTKJYWXycz>*2&CsFR2j*MWND#}CZXy| zB8NR-=6D}lu0`lBKpDx#NE^D*y`iw=8t~zz9d)m?LJ5TSO>@wy>bEHOUU?SBdiQbjUNgyQpp_x(3B-wzBlfG7_ zgTh8Ea~lY&h@mAF11+Xr5L+NISkDx-Q>1l~fkIht;!()U0=fygfW?{+_5iVw1QjMd zKGxOy|8a(_%Z)gy@pFXobm8${DE3Kau*d^^3}NQ&A8ed593m;&rl>Gp`Q~<#J0-1r zVwHwBB5N}5Ok+x&Pii2^%seVd_X`E;Jg`b=-iLGNCz2zzhfThTs(xvH=JBBqOVQdV zL_&rRK`Sy<*XD2^T`T!%`P=cO*RT~ zu8;*%p$=$Sa)?1!4W{0t6iKA{c|ar86G{h!wl!MAWYyzU7NVks%1o-HkX4nmZ5l-4 zxV)@Ppk4Qzkrqnz@V*^*QJSdYG--C>$lGc8@*NvIs%It?<8Qq(J1l>P6sJ9A2Ssxq z0Gp#Vsj-gQMExL&WQi^0b16JhN))||J zN@NPL_G9jxVfo79iT%)mSGCMY*oA&7VJWd}b3c%o2d!UsVA_XBZKIV>;xX+#ti$3> zT-sZh8zl2t9JW)tz|w=cw~Ua|5bdVKGT8$I1wh&dNcdr~FX=5mEl#47p@?XKbZ%^s zC}oo*(l+r9AE--Kr;UtOG{H2stVjk=@lyz|`v5+k#g6GNr{qif5S7Fd0@5&z9gmm^ zw}`p53%Y?B<62*--4df!4J5sftx;>B3RU08)I+-g>oMl}8+VPwLSvF3qcP$4mKt?r zNJ=8d5%9hgqJ2~UBc|1;JU@x3A0#HSMI!E~B+^RQpE$C=K+0Qb zTVXvuN*keBjX_WOyta>IOcE4W`Z5Q>I9$5)$PP+-hbHIsUFIEWj#gLZ5N<1Bd{N!idF+puVS~Qy;gN{osoo?bUwAQH- zE+pbfNvXq4OO9vCyx)S2)RIUPAi0BrS252F)5WU{f$Aj5Ntq1s7dlJjjFIQ13EB_V zS53TmtX*4IYA6gIv$*nQ{AA_5A&PxiFsqizbQ0e{a%riwS+Gldsn&vPR;Hdvy;-0T z6K09Al1s^f7clxS8k6jsl1P~g>AWO?s#!IKU49`WtxcAO%sc4r$)E*DCO_%|?>#a8 z45F;V$BdIEXcrhVQMIsqT^poIlAufc#K&>a+;YU^+GFYm?ZG_Q5&q6}co%Agt04GQ zX^z%OwsD$g5)`O+Oxa2P&PsUq2+|qXX(cV6Nj?0W)TGVTBOpM{%fl|MB#E=z(t=_E!Yj*{whwW{Vs z+ZJEIFjwxeU|p?*s||!~e5BVWrz0WK^}k?`RH5Xq>4u|*o%n>INnt9C>Q)+QEfIcP#6YRsC z$fr08Vq$JiyAv7f6I5hwBdQhr|L#ug&wG=at%9;{{2_ z;U2FTQWI#=(C$lJVTv*is_x3D?UcLxkJ#7%C3+uH#$zs@iMt#B>m|RIsRb$exSiDd2x4}@s%$-ZArl!NoD>!zujJ#5*u3#4W zj$|GpierX62bp(DO>oO1qD_HS15PASP`XA`F*t)KVExOQMZ| zPo={T`DuUnENov$AAwY9u_#C5HBjq_?ns_sf{&RYMd%O`hoNa@EhI?K>9mPt*kQ(8 zW~daRP*DR(;x?R2MNpfQiTjUb)FOhlJb!4{ zvyP&aoe>GqPDVUHc^a`Zp4jLv(h;3ABh@19n5U(2TofnP#(Q2Q`|!HQjhaOkNJ>fT zoma7WWEhj{;1C_ruEE4$BK%<@A64!jXblMsw8d$sN#o*qM)wbvgvoSwfQVmZA?0Lz zynIRi68={otqUc|R4xpe~Ao?ya?V8e7$Y5miVKxP;s zcNVYloWWRF)as+GkhmzVb>$!m9bn z&*L3ol+#u%n@xt?(m)%$Y?p}mZxdRhr2vZ^(a6n#2E zVuNKwDXCUj0u{mUMFsT~TqlRF=@8WzMHxm?gH5oVr-T~Uv|t*3HVy>oQr7+&J!GTQ zsf16nNh3#M7%veM_R+nVNcg3#gZ;oN;Y6E&Uv46!qcBn=Nv78mI?~#W52;%Cv@t|q zv{Y#?VeT6@S(>e@kfxaoJ4Sr*XYMdUi$4lrp(Sjv6s?2BqC{jbKM*V2=3y##pNZ?z zd7d5x(B49OI}=>Uqf(}luHFVC7H=HfaBNM?9<0Y_s_{^VEe(+>O6b7QN-*0B7827+ z>eMds(l8;&v3wsk+Z{9El{5~HfF}SYai`$b8+1U5(>4*wGK~d&=m#g3YG_bbzvd_M zZC2M!96#)~4jV~Gw47PpFXhkp z&mNzFYD3gvBc4EPhqeYjsUs^ic~T`elx}HrSRgd-OS+pw3xS4}?M(riU)xOb9Z8}* zpHbbU5*=GsG|3$+w2>d&P%Dy3SS`V|5?W()jA87GszPWYQp0Fh;zZ_}l)F#FX-K22 zPy(wnfwbI-Xlo+zg!yP}WoeTRTx@yFpESe|#8Vs=ERc=_?WEkk;CR8cRMz|gs|uui zi3pT9J{ii`m|p%~NvVbK$~0Gauxq-|Rhb|Gm9$Ofh318MOs>r(Rh*6Jk$P~i#nGbT zvp=LWbM#FE<4@J%feH5K7EF>ANdi0s$v6FUjLnFFzYC#Q?QKtK>wZOu`BcAaMv<*R*MoZo|Qi0(7OH5loxtPMr zyy^$yMIKhy55!#5JmKS}HnK+O==(es6RwUm%6Ld$qSFIXBAD?6hDe<{G(^T6y3M=} zg%zus$;J!vAZFham=0yIG+DG#%#r?QQiYBa+gy^K_6L!DKgOT?p32R(r6pL+P`bWo zYf{zMoPa@N*>Yf>SHZsN)kC%)r$Qpy2WimQ)jAITM;05RRrY4Z?yKESS3a5ENoA+` zVVU<{NX!D0M@dIVowQSyTEf4OaZ$yST+NqB}q3xd#p_iXY8$x5E&k6 zJzGj37Z>!ov_t8Lb`R1sNzO77Stm)U>rlNddAiGXl|J> z+b`+%PMoS%S{&PJ%oCXw+5QN_MsrE>G%++%%86glZcOuLLNlouTKi5SKedSD9A38} zs%vOU+SzEf*bGe?M(oRe27nb{6P_PitU8t2b5x}#dZs3*B*L3>4cwPZ7z`{YjvN?~ zY}Ii@uMSYzWXvGTAQw5~JbWD?NL3Y`Mj}C?57HKy z*aQBM;xr|31rqMqnPD3?);tG>v!N-CQ5s+$8(~ncpE5~CGqwpx&b7zfBPo^ad2=aW z#}C9?Qs6Oxv?a9Hl9WPSWN9nnwxrYvpry`uKncNhOCYvMG*9f1jA*pOQt71kkg&i- zlv0^n=YuAVO~6NS>|#~0))td~N-0bFSjMMIi&T(NnvX|r?(ZO#H~<;k$qvRRr#m3A zk?d7iM@zZOQ;sYhAs2J02ZQ@Ov6WfgGUZe0{HB;4;B~y zgLGAk<8!l+asuhRkvJDRj%ZP(936COvtcBdsEi(~YxyiC1s|946=Gg#o~FT`SSMR* zq@|9LRfrY|F*GtsC=pUWiB_VwKwF4leB|LcU7*?k=J)Z*(l+foO$9sclr9upvzDgw z`lN6DK)hd>2L`ZPI$|W~7;7nxSma{KuZd`hlYYixR!E>E()N)O%IZPb1;JI%Wm^PB zqbFg5HhfNQ-o?O%X>l~b+$ZxQ6XLpbNS-0n4sl!N80J|}OsVQQF>>O3>cvO`or)W5 zXp9JuW@|fW?X!v6yi?#FKw>qdU&n2_b{+^Eq6=^Er!M&|om#q9Q|kBH4!M0Fv%8Xe1Ek9#Kz719WUi$l!f0QDp(e ziEhd?$6<+3Ra9{rTVC!#m!y2{JMR#ltpaJ^X+%kmV(0rZ{tQqo(3rSUI4mlDlF5R_ zf-qLBOcl; ziG?udH4lWkdqIjeZP2=@8{JiUQ99I519{_02=W8*e3-{?u{vFI!~%$;`6xtTcl#-X z$0pRD>5rHu?FOv;C+IG(ltF8nT`@c{QoiD(UGTYIkUwU~mVfiI6L!Md+i3!nb1TzU zLx8#JvQ27NRz{itsf{FO(pq67hlzfKHR{%(d$$@RY3J7^NOB&#N1&56bzj|_h`o@6 zzzSEg@>iuf*6`zAlJ+XZyGpo zqLATG=)93o!YwtieG%8yW#%24#8e;CTx!=sD3M{AY8O*7rPk2`Cy^+H?!KG%E3i6E zNwYxq|5AEoKiZ!}${u)8_53u4xF9d6K&55v6U{QMRNg(4ROHveW^JOZdVMIwDrKqp zeyS!NfpHVS+1)?dAL%%Tgd#JhgQO&_gom?)9+hePsS;9ISaJ%~-Cs9ZVr#_Al#kKC zQpZ`fCN{APo0* z&&>AD!`YYa%!-1Mktm8_pqPnZAcBzw3WAB*svv@oSi?g!%^(n;Muk9z)9r_Q~wn$kO=9`R$_-u(cEaZiKXJDuI5=x`20L_;tC)&FCTUCHzj({5FEri1M!D*{KHEa0+5%TnEkCsXR}14IxJH-?eqCPcnPf7R08E<{ zk%(N7>6?CBo&W$CIKjHUh&CfQB6jfK=)f$zanfVD1THS(qRM zZKX}fyTF&d3p0O3m~pWCa}v*q%DC~KxKiH?8oSdAD*(z}*g2ZLQ7pdak)GX!Rn=W* zCMogY$VMtjaS^NUdqAa(?0}KfZekmY7iXTdPDA*}?$(d@lTMeF)Eh^~#=YI1itT6< z!__Nb044Ts#RsT?Jgdv%&z?+Cl7r_S#=)xTE+!y%`Q;2L#U5CBxK+8iv9<8`P#u>g|^(ycevk0-4hcwiWJI07AZgVNx6(Z;IYOw=m9 zkFjZkuWuBMVYNRDAJ|g)^rO8C4T=l}GqI;AW%PyK(M_Qo=tXb@eO>k9{xQ3%Po>Wy zAB&+<&wi>1`*p8KzM?QCvIm>)w$LEt7FSyzy5D9#^pr71?|EIh*PINC6p|7a`3%K) zw+W6AW97)By4U9Np8%zW`*2{(ebzfEby6mP72(3pbG=LD0{d|NIXwNiWxe=&=5fL* zfgBZL17T0SK69|g(G?>SLP^q-xG-6AD_C<%DW6R1U|D7wd5g)dfeOyN)oas+@@Au* zXPcywz$3N_gmJ$o*QU|pxa*tg+qw-8<3wK@6CXU#qi<-^(L{+~IGTgcahK;j1yji= z6s5F=fz?+zwv`Oq!Iy1hfx92{N*s=0K|IW5ySq)hHkNyPT5bV>>ph49mDzJVeunj%ICwvc0cXMT~-Rc^~UUN;{c>F-G;+Id3a`!!lr^O z$4`gk>C-d+iayqBvB%Vww5h+Ro$BJWa>6emE(~7Vc&}^-80lp={=KJ@4m*O4&;QqS zR~pQ^`lv}R2cCkzI1nbJ5Iut~kJR8h4oV^adk7r2XZoN2t@Tp$A zKQV@M&C*AXEpAK%d>Z%#kmkJzS;>h5DJ!aPlM~WTGu7F-LMt#oi`q4!YLR%H!tK*i za&2>Ig-O0L628UUF>!&f=$xLL;|5m=R-ZLV2_vB>+`b}_$63i;w`cxZp?;Xj`MLg$ zQjYIt{>rRjN4v#QFYJycZhF#YQ5nINk+NrO$Q&McWeXL)VI-xynROx zaMa?n=iFK6_%a}R59ci80R7knj*4myA?l9Wim0vXv(tFQNRAY^rWH2Shcd?E{Ok*Q zZhlBKWFdq^fT~`D=}~XOWV(SzYC|Bx!co-JBI{caV?G6(1JZ}4|5P9u7PkLw3qS#v zn^-r=R1~*Hkjxp&NJ?QL+;hD+5h}WS*QZBP$Gz}UkLYA+2CvVZj}?m&h{K$LlKLaG zdq)u3Xm=TB7}3?$+zBZff@e**+Igy%ph7Z5uE{SwK~>ingu|C8<2r*`5Y#I15QmpawCb?t^;9rwLFK^8J6}(jE1WzrIziQN8`Qn`Af)1RUXl72CKKUE8rmPj{cw`d6p_s4!J7 Yd!wgt_EbamKWvf;hwlLjOs4qG|0LXJ$^ZZW literal 93722 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 IX!7Cz3)`6@Hvj+t diff --git a/forge-gui/res/deckgendecks/Standard.raw.dat b/forge-gui/res/deckgendecks/Standard.raw.dat index 049bb6290f7073b018e96951b3c258dff44e0a56..70bb648eeeaa58160d8049b2785a4d4180c60113 100644 GIT binary patch literal 136683 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

Uq?JZ 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%0D5pL=okplc11 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 From eecb7a120e17a6cebcb2a247a18adb5e62b8c2f9 Mon Sep 17 00:00:00 2001 From: Northmoc Date: Mon, 22 Nov 2021 15:50:05 -0500 Subject: [PATCH 026/100] VLobby - add option for # of matches --- .../src/main/java/forge/screens/home/VLobby.java | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/VLobby.java b/forge-gui-desktop/src/main/java/forge/screens/home/VLobby.java index cc8903b14f9..0aaa4ba989c 100644 --- a/forge-gui-desktop/src/main/java/forge/screens/home/VLobby.java +++ b/forge-gui-desktop/src/main/java/forge/screens/home/VLobby.java @@ -11,11 +11,7 @@ import java.util.Collections; import java.util.List; import java.util.Vector; -import javax.swing.JButton; -import javax.swing.JPanel; -import javax.swing.ListSelectionModel; -import javax.swing.ScrollPaneConstants; -import javax.swing.SwingConstants; +import javax.swing.*; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; @@ -84,6 +80,8 @@ public class VLobby implements ILobbyView { private final StartButton btnStart = new StartButton(); private final JPanel pnlStart = new JPanel(new MigLayout("insets 0, gap 0, wrap 2")); + private final JComboBox gamesInMatch = new JComboBox(new String[] {"1","3","5"}); + private final JPanel gamesInMatchFrame = new JPanel(new MigLayout("insets 0, gap 0, wrap 2")); private final JPanel constructedFrame = new JPanel(new MigLayout("insets 0, gap 0, wrap 2")); // Main content frame // Variants frame and variables @@ -212,11 +210,19 @@ public class VLobby implements ILobbyView { public final void actionPerformed(final ActionEvent arg0) { Runnable startGame = lobby.startGame(); if (startGame != null) { + if (!gamesInMatch.getSelectedItem().equals(ForgePreferences.FPref.UI_MATCHES_PER_GAME)) { + FModel.getPreferences().setPref(FPref.UI_MATCHES_PER_GAME, (String) gamesInMatch.getSelectedItem()); + } startGame.run(); } } }); } + gamesInMatchFrame.add(newLabel(localizer.getMessage("lblGamesInMatch")), "w 150px!, h 30px!"); + gamesInMatchFrame.add(gamesInMatch, "w 50px!, h 30px!"); + gamesInMatchFrame.setOpaque(false); + gamesInMatch.setSelectedItem("3"); + pnlStart.add(gamesInMatchFrame); } public void updateDeckPanel() { From 9874d478e234d22ea5bec9d8873ce27a56ce4676 Mon Sep 17 00:00:00 2001 From: Northmoc Date: Mon, 22 Nov 2021 15:50:43 -0500 Subject: [PATCH 027/100] new prompt --- 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/it-IT.properties | 1 + forge-gui/res/languages/ja-JP.properties | 1 + forge-gui/res/languages/zh-CN.properties | 1 + 6 files changed, 6 insertions(+) diff --git a/forge-gui/res/languages/de-DE.properties b/forge-gui/res/languages/de-DE.properties index 19b9c686443..b2896e4df91 100644 --- a/forge-gui/res/languages/de-DE.properties +++ b/forge-gui/res/languages/de-DE.properties @@ -286,6 +286,7 @@ lblTryAgain=Neu lblAddAPlayer=Spieler hinzufügen lblVariants=Varianten lblRandom=Zufällig +lblGamesInMatch=Games in match: #VSubmenuConstructed.java lblConstructedMode=Constructed-Modus lblConstructed=Constructed diff --git a/forge-gui/res/languages/en-US.properties b/forge-gui/res/languages/en-US.properties index 4fb81972a17..b53e2269736 100644 --- a/forge-gui/res/languages/en-US.properties +++ b/forge-gui/res/languages/en-US.properties @@ -287,6 +287,7 @@ lblTryAgain=Try Again lblAddAPlayer=Add a Player lblVariants=Variants lblRandom=Random +lblGamesInMatch=Games in match: #VSubmenuConstructed.java lblConstructedMode=Constructed Mode lblConstructed=Constructed diff --git a/forge-gui/res/languages/es-ES.properties b/forge-gui/res/languages/es-ES.properties index d3f55563e11..6918644bc44 100644 --- a/forge-gui/res/languages/es-ES.properties +++ b/forge-gui/res/languages/es-ES.properties @@ -287,6 +287,7 @@ lblTryAgain=Probar de nuevo lblAddAPlayer=Añadir jugador lblVariants=Variantes lblRandom=Aleatorio +lblGamesInMatch=Games in match: #VSubmenuConstructed.java lblConstructedMode=Modo Construido lblConstructed=Construido diff --git a/forge-gui/res/languages/it-IT.properties b/forge-gui/res/languages/it-IT.properties index c56d0a9a192..7e6274e353b 100644 --- a/forge-gui/res/languages/it-IT.properties +++ b/forge-gui/res/languages/it-IT.properties @@ -286,6 +286,7 @@ lblTryAgain=Riprova lblAddAPlayer=Aggiungi un giocatore lblVariants=Varianti lblRandom=Casuale +lblGamesInMatch=Games in match: #VSubmenuConstructed.java lblConstructedMode=Modalità costruita lblConstructed=Costruito diff --git a/forge-gui/res/languages/ja-JP.properties b/forge-gui/res/languages/ja-JP.properties index e6d13cfe422..8e178df7c92 100644 --- a/forge-gui/res/languages/ja-JP.properties +++ b/forge-gui/res/languages/ja-JP.properties @@ -287,6 +287,7 @@ lblTryAgain=再試行 lblAddAPlayer=プレーヤーを追加 lblVariants=バリエーション lblRandom=ランダム +lblGamesInMatch=Games in match: #VSubmenuConstructed.java lblConstructedMode=構築戦 lblConstructed=構築戦 diff --git a/forge-gui/res/languages/zh-CN.properties b/forge-gui/res/languages/zh-CN.properties index 67603f42625..83a1c4f67f9 100644 --- a/forge-gui/res/languages/zh-CN.properties +++ b/forge-gui/res/languages/zh-CN.properties @@ -287,6 +287,7 @@ lblTryAgain=再试一次 lblAddAPlayer=增加一个玩家 lblVariants=变种 lblRandom=随机 +lblGamesInMatch=Games in match: #VSubmenuConstructed.java lblConstructedMode=构筑模式 lblConstructed=构筑 From c98f50ad8164b0259b8cd1941dd78498be5d7297 Mon Sep 17 00:00:00 2001 From: Northmoc Date: Mon, 22 Nov 2021 15:51:16 -0500 Subject: [PATCH 028/100] ForgePreferences add UI_MATCHES_PER_GAME --- .../java/forge/localinstance/properties/ForgePreferences.java | 1 + 1 file changed, 1 insertion(+) diff --git a/forge-gui/src/main/java/forge/localinstance/properties/ForgePreferences.java b/forge-gui/src/main/java/forge/localinstance/properties/ForgePreferences.java index beb4cb86770..20f846048e5 100644 --- a/forge-gui/src/main/java/forge/localinstance/properties/ForgePreferences.java +++ b/forge-gui/src/main/java/forge/localinstance/properties/ForgePreferences.java @@ -68,6 +68,7 @@ public class ForgePreferences extends PreferencesStore { BRAWL_P7_DECK_STATE(""), BRAWL_P8_DECK_STATE(""), UI_LANDSCAPE_MODE ("false"), + UI_MATCHES_PER_GAME("3"), UI_COMPACT_MAIN_MENU ("false"), UI_USE_OLD ("false"), UI_RANDOM_FOIL ("false"), From 01e21b340ac850084b502d6b675e510c1ea14f4d Mon Sep 17 00:00:00 2001 From: Northmoc Date: Mon, 22 Nov 2021 15:51:35 -0500 Subject: [PATCH 029/100] add UI_MATCHES_PER_GAME to HostedMatch --- forge-gui/src/main/java/forge/gamemodes/match/HostedMatch.java | 1 + 1 file changed, 1 insertion(+) diff --git a/forge-gui/src/main/java/forge/gamemodes/match/HostedMatch.java b/forge-gui/src/main/java/forge/gamemodes/match/HostedMatch.java index d86b05d0d26..8cca6f6bd9c 100644 --- a/forge-gui/src/main/java/forge/gamemodes/match/HostedMatch.java +++ b/forge-gui/src/main/java/forge/gamemodes/match/HostedMatch.java @@ -89,6 +89,7 @@ public class HostedMatch { gameRules.setSideboardForAI(FModel.getPreferences().getPrefBoolean(FPref.MATCH_SIDEBOARD_FOR_AI)); gameRules.setCanCloneUseTargetsImage(FModel.getPreferences().getPrefBoolean(FPref.UI_CLONE_MODE_SOURCE)); gameRules.setUseGrayText(FModel.getPreferences().getPrefBoolean(FPref.UI_GRAY_INACTIVE_TEXT)); + gameRules.setGamesPerMatch(FModel.getPreferences().getPrefInt(FPref.UI_MATCHES_PER_GAME)); return gameRules; } From 709f4bf05d3ec6f4e9069a1535d693df86d720da Mon Sep 17 00:00:00 2001 From: TRT <> Date: Tue, 23 Nov 2021 11:27:54 +0100 Subject: [PATCH 030/100] Fix cards --- forge-gui/res/cardsfolder/d/divergent_transformations.txt | 5 ++--- forge-gui/res/cardsfolder/h/halana_and_alena_partners.txt | 5 +++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/forge-gui/res/cardsfolder/d/divergent_transformations.txt b/forge-gui/res/cardsfolder/d/divergent_transformations.txt index b49867d198d..6ff7d58f348 100644 --- a/forge-gui/res/cardsfolder/d/divergent_transformations.txt +++ b/forge-gui/res/cardsfolder/d/divergent_transformations.txt @@ -2,10 +2,9 @@ Name:Divergent Transformations ManaCost:6 R Types:Instant K:Undaunted -A:SP$ ChangeZone | Cost$ 6 R | ValidTgts$ Creature | TargetMin$ 2 | TargetMax$ 2 | Origin$ Battlefield | Destination$ Exile | RememberChanged$ True | SubAbility$ DBTransform | SpellDescription$ Exile two target creatures. For each of those creatures, its controller reveals cards from the top of their library until they reveal a creature card, puts that card onto the battlefield, then shuffles the rest into their library. +A:SP$ ChangeZone | Cost$ 6 R | ValidTgts$ Creature | TargetMin$ 2 | TargetMax$ 2 | Origin$ Battlefield | Destination$ Exile | RememberLKI$ True | SubAbility$ DBTransform | SpellDescription$ Exile two target creatures. For each of those creatures, its controller reveals cards from the top of their library until they reveal a creature card, puts that card onto the battlefield, then shuffles the rest into their library. SVar:DBTransform:DB$ RepeatEach | UseImprinted$ True | DefinedCards$ DirectRemembered | ChooseOrder$ True | Zone$ Exile | RepeatSubAbility$ DBReveal | SubAbility$ DBCleanRemembered -SVar:DBReveal:DB$ DigUntil | Defined$ ImprintedController | Amount$ 1 | Valid$ Creature | ValidDescription$ creature | RevealedDestination$ Library | RevealedLibraryPosition$ 0 | FoundDestination$ Battlefield | SubAbility$ DBCleanup | Shuffle$ True -SVar:DBCleanup:DB$ Cleanup | ClearImprinted$ True +SVar:DBReveal:DB$ DigUntil | Defined$ ImprintedController | Amount$ 1 | Valid$ Creature | ValidDescription$ creature | RevealedDestination$ Library | RevealedLibraryPosition$ 0 | FoundDestination$ Battlefield | Shuffle$ True SVar:DBCleanRemembered:DB$ Cleanup | ClearRemembered$ True SVar:Picture:http://www.wizards.com/global/images/magic/general/divergent_transformations.jpg Oracle:Undaunted (This spell costs {1} less to cast for each opponent.)\nExile two target creatures. For each of those creatures, its controller reveals cards from the top of their library until they reveal a creature card, puts that card onto the battlefield, then shuffles the rest into their library. diff --git a/forge-gui/res/cardsfolder/h/halana_and_alena_partners.txt b/forge-gui/res/cardsfolder/h/halana_and_alena_partners.txt index 3c3a8b17a54..18f835b60eb 100644 --- a/forge-gui/res/cardsfolder/h/halana_and_alena_partners.txt +++ b/forge-gui/res/cardsfolder/h/halana_and_alena_partners.txt @@ -2,10 +2,11 @@ Name:Halana and Alena, Partners ManaCost:2 R G Types:Legendary Creature Human Ranger PT:2/3 +K:Reach +K:First Strike T:Mode$ Phase | Phase$ BeginCombat | ValidPlayer$ You | Execute$ TrigPutCounter | TriggerZones$ Battlefield | TriggerDescription$ At the beginning of combat on your turn, put X +1/+1 counters on another target creature you control, where X is NICKNAME's power. That creature gains haste until end of turn. SVar:TrigPutCounter:DB$ PutCounter | ValidTgts$ Creature.Other+YouCtrl | TgtPrompt$ Select another target creature you control | CounterType$ P1P1 | CounterNum$ X | SubAbility$ DBPump SVar:DBPump:DB$ Pump | Defined$ Targeted | KW$ Haste SVar:X:Count$CardPower DeckHas:Ability$Counters -Oracle:First strike, reach -Oracle:At the beginning of combat on your turn, put X +1/+1 counters on another target creature you control, where X is Halana and Alena's power. That creature gains haste until end of turn. +Oracle:First strike, reach\nAt the beginning of combat on your turn, put X +1/+1 counters on another target creature you control, where X is Halana and Alena's power. That creature gains haste until end of turn. From d9954bcff07f7073ada3ba4ec4ac25eab46ce688 Mon Sep 17 00:00:00 2001 From: austinio7116 Date: Tue, 23 Nov 2021 22:25:45 +0000 Subject: [PATCH 031/100] archetype VOW --- forge-gui/res/deckgendecks/Historic.lda.dat | Bin 382507 -> 359840 bytes forge-gui/res/deckgendecks/Historic.raw.dat | Bin 410396 -> 373729 bytes forge-gui/res/deckgendecks/Modern.lda.dat | Bin 175184 -> 178945 bytes forge-gui/res/deckgendecks/Modern.raw.dat | Bin 163738 -> 149713 bytes 4 files changed, 0 insertions(+), 0 deletions(-) diff --git a/forge-gui/res/deckgendecks/Historic.lda.dat b/forge-gui/res/deckgendecks/Historic.lda.dat index 27338a3c2c06cdafc0ef66168e889b15f802d7e5..77e0033eb89d02bd9c6b69999ea12eac18c29d0a 100644 GIT binary patch literal 359840 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�Jcv_GrG@SU( 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�@3`mZ4_c!WInwJ9b}4GTsxa50<*MfzZ97s5Dwo2^G&^GYw zEb2j)WmZz7wF)JKMZk+JF!mF{rT=ab1aZb^Dm8X{FM@ z3Ml2sxqi!V4b|wKy0GdEHu+1=T~Wwt}zyJ5z7S958|0Du(B{&G%F=e zLZQ3xL6p7R=^keF=y4E(F-+m)!SyT_>*c?f2B<4p&qv`|1T`{hBHt=ZSk_^}9u;a` z)3BT1aNA4S|dIuBrCQ7dyGu=92OGRSRnoUu;<|5 z!iqsl;BLX~H~2Dm*7f;7sFg8W)XBOp>577~4A%%g1_TB~3!kfZ3ZyKu&&6IWHd8^{ z3CjvhaBUQ4WLTis!l3~2B=_mO)5gGe3*iCz19^*BIo3=ucQ*alBb~RD)AT zfn&tt5&{emZ-=dQLsBZ%{9?}vmCgsaA7DmvR7;KK0SZBLg{{kHg>hd?A)PeXu-GoM z8IIg?PY-Rd*<-fiG?*7hN>kyfp8`82gc1}S3@hFxhuZ<33!cWI4+^z*n}gR9N(9oc zge@FKsEz8S`HY*d>>so#s@x)iodu()BsK`d5TFBy4B}pd{w$U0=Y_O`;%^Df>gg27 zPUBgb+Dw?}@WScAihswsf@^2l=NY9om6BrQqY#Y|t{!%ktneN|QGx~tW0E~UeFLfB z?9{Lc6U`85O*m^~KbF1UXKumaFP& z(3Zdj#t|eoJF@#@!dH)QJbWF5B0)hyh%#RpDBDw7r(J+=7`h@y;+6Sa3Tf?-ZCQ)W zcdl9_xQ;kShd=A$C0oD+J+Uca3gOHPm>*)YDG2aIL4^W&_nwGgTqJ0blMGX@U+Q_$|4_Kzj)^tvbdV3QY^! z0B%3?>3r*lgr|0v#cN0PjVZ+Px^kcy+BTOe;UNCzN~$ewo=7;q8W*W2w#u4QuiGpe zW^yOv)F7Ftu;8((^?PHmp!4B-T_AIlDkU+3n;1d@#h!ls~h3l*$LwpOB5Gtf;!#TPsPn91<3 zA$YizxqQy;OjfUfiWC^^kmZ>89P!$^PkN0U!=@u=z_&>vhFxj9`6p9;oL_ z*y<5^$ESRzo$$c3a#8j}sYmAoj0LtwLLU}f=LGL~b#xO@h)>rm>(-&>4<-bR04PzA zaPYR*(<@uCD#o-qY=$FIs!a@L`mPHUo@e;haN@_x&0^}O^#lYON)C_@Re!C{8#EDf z(H`X!C*F3esifA{!FXfOR<+CkgT+vpB?4)~VFaIJ(5k@~+0 zq+^D~4Xu*Rv`{sJl)v>zn0Zo0-NcGx%y=F|h6bnv;trt>tV0c|A%(P&d}S+HU06C2 zP-Eejfj5RvutU^F((d381$|hK3b&}98YucHz!9wb!@Ca`W0Y8pnYrtGzxUG2R$UK zq3LO8OaLaZ$6!%$s8+a&b{#lu^oV4DE0c|tv^l~~OG56TPsnb>W0D<6i{nRUQsV+J zVW-LpYBDx6c2cEGlae~{FiCk&YND3D;@G`7_@Ms%La)umheP}iYT_jkyE{NhxVYgH z!yJsoo#?2v041RVLjGY3VVNHlEhTl9VLyju1^I&FY~@^|-&?0b<3G$-%+wF0oX`cB zHQ)rN343GGew2!JSm3v@x^PFqwI)8lE0ZgbhQ&jD#i=691t{#O9ialXexw#+HnDjX z`<<}Rd8@JWwh67Jkhclpl>$IK{gTvQqpV@aU=CJ{H-lA84`;Lx0-$la#y*(HSEUji zQS96haquf$VUv_88=yEw7C1~Id;ds+f%Mzp+96*mh*ZCLr4^xd5^tyreLk^D(OA&gl zntiXC`vg+fh$MzSka>ssdfoNIC_M*1rJWRd9U8a};WdQGZtu07l9D>e*wk6GusKcL znl!8k>=ZE4piX0p;hTb?b%m!kjOAy&J^>)>ta?@;Jy%jU9W*$IYZwSH5n)_Ge}r=! zHYzm9x+OF|Fi-dxBSXy>9S=}LtAKxZRB zKsx8xjXH@~bCgANmjH#}KH-+)Hne^3+O0HU;j(%bIZ2r4oI|u4FTAGL39jwu8y@~Z z`U6Xn`j-Px)kn}yOol+(HNC}Lr303e?i^ZccU*a|t&>6<%(q4GShjt?!rftfL_RgH z?3enL9yYCgsxeK?s`|A{y6@u&uyv!KaGJcM3c0E}ROiV-GdmwU0iy zrxQdByvT5i^1`g6+PJokO`?!yQj<<$td@`ns-sIT{lMkHpD09?NgW47Ch&1YyIQ)X_r3hDg-IC#3g|LEeHIQ2gdJuoA%$8DxjyHQvexS}kyu)n91t|_k zE~neDjyGf|{8}7D)MkS))j_GKTq&8OAaH z(cx0Njto>ago7Xw#D)-4FQLZ5+Q!FYJs|O8VWHE2{Ub431kxrz0Rm6f8}0Mp0VW)# zGs5HeLUyzo+R6^g2^Rrb2MoPW>eRV{y?_t>YDEgJOwJN+Q*O0VClkw;*XsUt^=Gp z@e+*)6L#7rw%TnPcf(1?0WM_-Fg~FVQHi1SJafWziEE#5M2-v;R|M$Bj}FiXcD&XJ zGvI#5EpQQzZgTs3Soq9v-;&*nGk8dwv?G5)hUiSWLtk! zaII4X6!&8Tv4axK4uaQ$eWRwux~LOA~ZTz_vgLn2mHX z(>VOBlvF0+pBgB2o{ETua)fBh0ei zK09iv(>1|CGbZU70v_PwwHFHvyDql|V8_Av;nf7vsf9yS1WU4k-Ar{EZB8?!Wy$?P z=oR9iox18Y(7Ax18rB4>yeyVa7tZii}t~Ie?TXTd!S`)$?dcm7) zA1E|qrfzaI+Cz+l7J;eZ>(;c13u0tt;>9^z6a84kLc-14+fA*axXwZqSQ%nx1o$$eNEI^xX z0cvM&Vr`v4+OXR9no*8bAEAD7)l;!5VSmD)!)2W-LIERGVC$-Ys|?eGgWsb5Ck@lS zW2IxzF|{;a#YSA3w#5fpGkh?Ylr229M@hKjYhO7slUPR#DGu24HiS5{))vuTm}u+m zf6^B!%?5a0p2G0RbR>xUWnguO`dPh7E*D z``*y}H@@~{pNcbm*X75L8kidq=(Z+C!OBy07hQxE0GpG)YrngtM(sksd1eSACJ3ZM zfKQIE$&O?D9-nEE(sSs3{M-QaXdR3r)+AE;NFk+XNok*NHmr3@VV8i<4K4{jxGGyt zm}p5{sM8cK9D7z%{oFdh*z-9CDKu3$X>)kqMm!>r4hLj5hJz!A>=P=c&AQysT(ktH zDFiPRQp{@P;;~)?8g;gQn+LMp;Va?epaylMF}jOD=S4jT3c^l~%J>=!r*KtAo414Z zfn?Km?I0!}JPSP3iA$tnEd-Add?_4zkoB$<((j?s*|02lyj$wgjeZX(=4_-^P)$Lr z!+2g1Wz<2LXrEYJuc(f874z7jJg=%iyMg2AigU*@tpfA|Dn5>DpbN4(Uk>Ahgj(7U zC<&a=(dOuP&t-fic!hD?z=})gL8((a!*N1`^t4bRjvS~mG5{5OZT&?8Y11GJ*gF<; zMsWRDYFuIGwh7VN1Skn@7S=g5A(m4Wb_Xbl&xWapt&L9;%BohQwL?fC`UrkD)=yF% z6Q0@+_&qp&vS}bm!angZJ#$yz9`s%~jPUK+=F;LrWIL`NK$So`B=#RABunkuPS|r; z#K_CZ?MzU|m3}4uw(--2iFN_&hMhp6QGzQeOCOt&+)N;y$gmCJjDvv)-2$>zlR5F0 z6ZyL^){0?_G+A#%eT=qQjVg8jL*>QdV6DHRveUtU$^`cYlr$c;wl$?w=_6DT#<@@#s(!~jg1e`dPdc3A+3oktCI$!mjoQb*`PpjvcS z`b&v3KIRqqN1I=inpA#4^k9}*N77{}q;>K|eBaLkDLn#TApclbskk>lAAn{}74)84W4ulbrl z+BC76D_kmIY>(Htrq(;z*zY+XFxY zaMP}CAPt6()00(A(zf7;gPlZCKM7aGp+&RuWS_M*GDtr>CLXv-GLF~1GE!L7^@%cpAuZhwEZD7rnPl4UNPg2 z5rU%!PSuq7i_q(LR&OBu>S{EwqLJ}u02-_Z*cfO%PH{Rnr^=Wn=SHE?cJkQO)^j>- z0wgT-J4B%1Fa)xeH=eT7gq`-yo|yb!U1uKW=UvtN+1E@aGm}X&(=1KWtWBCUOVbeB zW^0=^NlTl83NDB!B51k56_9%o5L~VsR=@>C;RWs$kSZYRtKfnQ7qG<*Z~+xTK><vEsx{dw+r&z;xfKY8Uf=ewTo`JUx-&iDB>bEful(NNMxAU$j=UhMi0*GLKiXB;SZ z)8~us!hDWyT=%q6aX&kFKDCvff{XB0B>QW<ZZ5j=m4d9>`qW!&<>FJSm!ozd zX3LBT0ZBQ=2g5O0UAgL=J%dnrap2kQAR8xp=pa8`VXnA=@(&XLtVrdPk59?U@M6z! zM1;Z6XWv?Mc?zd^{eaSnAsKpYwRHD2=h19 zNNxfIF0S|yRh*j$G`LID(5?VSF%PrfSwp+Ye0aVs14_1R>XSW<&>CE;sI!3ws*y7x zA_4X9GS?%W=iEVP#@QqZgXgL0})yoAD?TkOSy^51w#TDo9xrRbqmiv6k zP{r}%0v^@%vOgw*FJ+|;d|B;pBLGA$eKs*~2<@fEA`#e|$_Q+@=Ra#>j!D76(S>I9 zxrJL^SB(t#e4l|~AvP!J!P$bZXW5q?sotx%J^FBwgpN?-hd$EG4yb|W3)%@V75#to z4b{;x14mt>$K{R)3Gh@>joJOMS$l)^X~49IUV#tz@&k1>u>=?TTvjf8GD)+-2g(Rq zFW2z&+j`cVFlOX~MRLvLFmWXlp^Q1djra^3iPA7;LDefqF|fE1XeFX&3Y%B_2FupN zwFFncA}u|rrjg^pg2wf;?Am1*+RHKWRW-C-M;_ObcE7QQl>FDV24s#(n)ocgSbM22 zFwboonyXPgU4l^HRn!pq033`!`HM=a(-F)kX5DRGOYW1mKyM|&I`*WR*qz2lnp;<- zRcpf2Lzi6JX21wD^2@thf3NyDC+{n}b8J~S*5_(acaT?}>;Iz$abmD4E(Mr8ApzAT z+rPRUbNFkkkI*p*wQWD%kkRPaYXW4B8nq7U!~G8$u=i+
)VUi$eSQjTx?Y>_+) zRu_z7^8TXhJ^<07EOBW9`Rp-DmVs!u1MLv8=H1Ucwz|MY2I-oo8-(k_s!tyIyTPJ!3n#mGJ?NX~wj7Yn3%@&bSD@WmNu*J=W+>S{FQogshd3SBVF?|P3EjxCR@HqkM;K!?v2ABIq zeIs>$TbG&*CYv%nUCk9q;$2X?TLKz7(fZ6gs-=emW=iQ)zJs&vfokM%q#+3~QB(;r zwrOPC5mzWXI{mI1$zzV&vQgl|mH0uLl=F}OTJ?8)3`NEtyHa#l%AJd`zPj0c@SK79 zo|e?FlUbw`Bd<+&_o=TG!4LK!2i(-;6ZXHpCULpoMS%uylCiQQzbkRrok)r$Kk&CT zs-)TL9SlmgJ zYD&~Lo~=f%GuCEqOOeE$m{{KhcL1OtZBDrb{yP}D#T;DWe2`|tr)yYM1)d3+UZmB# zlIM?Kpqu4Z0L*cYZh3d>!)&&Za)maegog^6)Kl+zu$ExU1lg}>2BKwRi|!Zc+XJyB zVv07y6O4~CcT0`wwy=G0OWlIh=BMOl-rUoNn}8o0Hve3+B7C+yt6LQ4Qs)QQzNu-6 z9|-Q0#}DIQR#VuVI1>n*^MmgJ$Mza>co|SimoBwDo-{C&A82aM`rMVa4X=#G|E(rA zgyim;t-<(Hdrz?s1$Q~{d7&rQ!3pId^MXFE+X9O{d$d`C#a_ANmp)sIQOe_cj)^R6 zqM~P0(;r+Fe21WS)kjc3*8O~U_vWwZ2Fk{MNZe2$hW*4%B~9D?7FyGoG$}zDA$mTY zGx@$+sQV^34P>{zPd5h_-)X#NR~ViM_{5*~49&MO;sPA_k{&uPN-~hwO%z=o=BImy zK2aoXAQqUk6jq97OC+e!1@SsJDxIzwk0B~(#0XkCABN}v)6dt$(uwwxqr3Zb(Oq+D z*RKAjA}Pt1{&8QgCT+7cP%V`;94r(8{yEkC+HIrnqzZ66R@ zki9^JF^$Kb-qSVF@8-uA$*w5lz0Ycg-lO;9tTEU}lqN}WUDl~oJTxvV+6*oypq-ei z`5h$j%;g({Ey`nYO$vpw8C7|;F3p5=xQE7DdFt~y=^ z^V>?80D@T1W^6xj8CX2W%gN?YC*NKR)f#cJ_=F^-mfUSV!x`Ojd4KhhW#P-ouk0bE zW?^}#NV1GVy*#7cpnvRjAUXs~NgR3hOKT9PPHpF!zNxz(;PMhVG{sRcy(@IRxrSC` zu*K0tctXa3xGQ}gqjQXS$Xxhoq!R)aVR z$*<(^4)pDrI`)|0Q+-1x`86vN@xVKQM9CO~-0>S(&1W({Jh_g%9VArW|#}lhV^- z<_cK%i$BdC&@ORm*4#Vw zUaoQcK;<#@lebkLk1FxW-e(la|d&`y32^KDK?IU@5y1S^8o+U-&9BEBzuetprM z-wb%7pk>X1^C!7`=liO^^CRGqveExmbi3w0o$SM{Vu!{)TD@EqVN>TvwsJ7>)M{i( zh;j{ba)D>t$2*)Jil8f5ZvM97CFiYAt8rXniaFM*4V=PU6XJh#p&1Ug?$8Swbvy+yJs#cy34^v;wS(x!AMIgAa5tC0)K)XPsI;GirRM1JCX0no*~Jsz?i?T%(~9bNH^ZaV$nlZe)QgR1q4ha5&KDkS_`!t}$L6vl+KHT6k0cd8Q#!Ot zrLO`gN2MYWM=ucAO`f$2r06IgWS%}!8}PZO)s&nSSIF;O6DfL3oDfhqDIyeJ!n9HS zH#tZk1RxNdy!gUefR^8yDa0DT3h40Mm4+LM=O^~|bOiNfy#One6=3awAagV3o=_e2 zeOVSTJ;6)&ET&cZ8x4aLkzjF)Iv0{sDzSc~CXw%;vH5n@V?I}O&(e!x@{KHOF!~Lz zuRe|mke}Fh(`?aYC1a9i#s|PBX`@kIsr}eHb?@r5wGXC=vJ@PxlUEu| z0ECv>lFMgn9$CN^6AH~~=cN-$C<+l8hs75^wR&KKz{;hxEVU4L$vdK2nIe`44;OI8gb(>Ez>k=zx@ok?-^1 zU3%Vp4)3q7?w`Qs{9KXb9T3gA_A5kj3$I$PMji#XnP{0R;OLrxr!iGzrxRWOOOF1WxbXy_zo+H^v+Q6vNre?Rvlgm>bUe43=;5b1}Q3 zSI$b7%Iy?B9?(gWl$|g4X>sgf;_Oiqi84B6^&f1O7*&7rtBZY(-yyr}i{wov)QPup zyCI!jWAAsrr@DH4fcUT#jz-@f`u1w+Ao+Q>$NWo?oFBg`*LC@4imnR8%5b5&+K6VS z!HCY^T+JPB1z36edyDQ$vYn-0Dw19C*7M=8O(GVqM1LF4g5L}YE|*O3DVmlweag6NB1RzwRj1_Z3d^7987a4M@YW)^Tp&ua+9}oD z*C$BEK$uD949>79oTVV)X+-1~kJg-SEYH3sG{bHTfCRflt`~qLzV!_z?3{@kkk2)o z{i2?klI&dnxFWf6tW{!%7q%Mk`j@Mb>%^SL80`Q09y&6bFmQ5P(Y?gnTAWg>)I|IH&UiUMon6+w&mSWv z5Pxc`H_VgETa$gl9c~PtgS#9Vp8U32n5Kdo#;qrln3? z{grCzWg~os6>NdzDGm_tD%W0W7?8_0qUaH$*Gp;cy?KU#|Q?HCLkYCUW8_J*0%_d&i69;lc7a zFMHorbXg9gQTI5JsVW*ZDqHofPE0ATZW6z3ohMfwlaKq09)}-f^KpMs>nNdEiQ_M< zrMSU-F=0k&Qp^h(paU%xaf$j>H=?4O#MRyk{XxssZ|taZpxLoG#}4W|}p>#~hx zU5C~@QVh30w*X-e^f&VAYGmQZDv7n=3B$wFL43|GS^Xn5gh#}!&5QZ%Hx%7lP2F?% zF0Elj@SAmaRZ9;O)ZC;OH3q>}*M3JecY{2Eq`)`{tOdPK$K)j07J3lSIQn$)+8Wc% z;5{Z)HUHm>uFHV8kK2m#(S3Ka*;e=M_STu(FoC6$3A3!*~cLS6=QNm8nNz0-`Epl)nOjqQy< zf1t>zMoWNn_ql56X{4_C);>F%bo=(r)yvbsdZxy0>t7Y!QS-R*)}QDh#f#iw*ypH} zI_K+iCe=fjP)VVsrWhamDN?w9=WF#sDqy`lA|J|`Q5W4&n>!A z87QXxQPm7`{oU2b@dLvx{+}Yrm?Y6Z-t_NYA+#$Q_p&-jo`p>QeGTGGLXb&R;wn9+ z{Y|@=s1xt3=8hCyKGqlKAl@8skc6QV)!*qzDBz-CtT1+o_ilEJP8VCS{Re6!xkqgT zk1p~_gvsx&Mjiq7IKkBMrJ~EiRo}9RKQ_LmTB@xHQxIep&eH*p{W%qosef(H0%>y8=#&m(DMNkh4QFz{1bhKyAd*`ki z&Xpvty{^yK&QI43|9xlKd+YZnk{oG`Hsp>&#y+VB(En2UR@-kqE$u!dkTA~Wm@qPc=m^?x9dcCGdo~Y z^zzi1o|YtGC>^1sEe3d5ZQ=FhieTKi$T+85tMF^^n`?A8m|XTA6El*M$sc{7dO1_H z@{5|IL>9QpgrZ%Z=)vmaj=K-?G<}GvQg1QzvTCV`V{|r)F{J(x$EHgWw|8{CxW6mT zx7?S%y~cEQ5NEi^V#ASHaSye(kLmEeKs!>IHu_Kv?2nS8SBSVQS4Q3S#aTvIs2gMk zj~g$9I12%$fROANxYG)-<(jwG8r&Rc0qzm-Kwi8{->aR?fuo&TZ%I5n9z=Y{uR~8sn6fv zk|uQTWDU9*Ckg*KhV0^ooB6JU8Vo$|*xs&b;U{Y* zB@9DoDhCT1@NdKZYVPh5w_W_H9#TT+wYt1c!p1>?iF9#56Hwmp>7J2N0Whe~V=ztV zihvR>5N|OsB^VuE)9f|LjtL=YdBYZoDFE=2NZO~Z^zLJHzzDD?C`bCB0FsZn>N&Lm z1qHiB6m#d}Th5<)uo}tAWW|Q(dq_Fit92h0Uv6mh?$94sS9gb1#ZN+2#T7eYFyZ`( zC2#${8pKI(yAr1ye|8U@14xz2+&328^M(#c9U~M5PVFwbyRgrfVKw(9rkv6P2$6~p4$qby)8+lLNaLV`4`pbN?=sw$bS~e9Uh@0*-Ic_Q z42#W4%BYJvww9*fvHkzubc$?%`uwUPrO_~$Y(~C}_di-Ac=UC(1eeIiq?13s;YiV4 zNB7HXPb`wx4LBDs8dm@>0DT6ok_~M7%jzia=!0&_bIpM()yRdB8cs%XVX^2&9fYt1 zsi;%~(pdbvKU{s>OpaosevQ+eywY$e0pdcRMaKTbFI(;lw&T#=(5F2Fu2T%K<+p2T z&d(-tR~Lj8>Tc~^fw1<@6=-l9}-aw=XC4m&B4DH0ndIkwFH~RV_ISB3# zl8r)0MsM#!)l#+-|7D~R-4{2Jr^fgEdUcf)cjDG(^pJvE59{Ul!$W9iqCxZ*dYVKk zmYx6_ord4WT_%y1BRDPM=Q?tPYm^81fa%3<@qzzn++hb%a&#e9Wp%*~@Vjuqse|e2 zM_Qe7%RN2Yk4HbR&XC_k-od3e>+iUk&97-ko&4n*)vkaj(a1|?9F$jpHMB~8uYBY+ zHHhZJ#1pE6i@@i63`(fnj6*s64Lw7^syJFFnziCP;HQFQphrO8bJ@4LOPA{5#seGp z_nJq4n0c^tt`F~~vYsxnyKG?GHwvifE4kwGb@Uk9K)Z5|%MUwf< znOecyHWz*MsQ2{+2PuXayimPF%_v60(I?XJDIa{;WtE2fYN{ z7lb%S>gYuEakxCUy!&VmDJiOxeOEnov_n@{FRwZQ4FZq)RYt&a2#2uK_^B7$m(CdL zh~A9OkN25)7#+dM$2JfBc+D*Xh|AeAqZ5kaIOZkG7PB)lV9S$Rp;`Ef8qSH&9&IQj z_$kYdpp0FvmI?~aQ_z#GZz;OYEa(Ydf@#DgA=ckp&0SMKygMH0Atj5u|6-9`1kPD! z?0>lE-ao2p5WbCkqW5b3c^i?%1%ONW-NM)Rj6{|fH65Ou>@y-Mavb`{>hC!rs6;^2 zB*7hoBJR`Oe_MUzNjA3iU=JxF>PCYjXJQg?5djsjlziQ9NjoYFNY{{!Oo`~t2YTkr zgT3KzE7BaLD07X(7}5h9q0tELc}a<-;Z~rAiHA*>`WzUwz{kXrAD_OprgD3_K44ud zA3U~FefDwHM@FW2b!uaglpxj{V{_zdif-5BFW1c%Nv7dpkqgP^w8ws-8tFTu5!f*| znS%hD*G?rt}-xOVS zhIicM5S!`qta?~Z`T;Y<3b_T)Cum<~`$=MA`wxAj-OH`bKZvaG6vfDZu7s5VnhyO? ztxV1!7Yvr-_B|h{MxIRE=NlG_WPc!1T!18!cbY`95kAV!_D7dazNKaVT{qQ8PLgV< zkrxz6vrVjGAiDYQ4&EQg6{$GKVe{aRA}xg63vDdsqMx~6lx2|fm&P$X?3 z=A6J4XJEy%ijmh=bNvaT2ClaFJFz9#jcA`kJ$I!!fUZEO`CpXDj8+!1z>Mtq0-Docr z?5bxnATgc@)>V9*xE+AM|j2X=r zSvPCOWJbcZxgV_IJlhm=oNI;)-Zo~~X(PNvzF`$ZwL>JxNdhF?_@tUdQaC?PS$#_^z6)VQ2}a?#!U>1$dUTKD%wa-D>UD2ddvP4tN*88}SE$+t8ECF~e8 zXm_T7-owwXnUrfxBQwQaCii;wSF5GlAs9)TVCqECJug!zBwGNhNT#5hqeRa3r9Ja2 z8wWK7EXTn>(A>i9?BT=Z2efJ)*?j)i0+&gNMjzq+QCZi^dgi7bth{w6G?lDU{(}kzj zaL$y^9Nu?L4=L7dZoEj2+Fhk~)SI^#-BA<$YQd4;B?2Zg zg>oY{r0yNS8RvxHgme`JJJ^xDZurAyfyA}Rh^^5ZamIWd_12g7EGBwm*JP2rXacG? z0yr;!Z%-pM)QW1cO`eBLr+huZ^-fiS>)ZKFtrSdsuEzH~aQg9s{Q6Zr^yEY# z`Gf^BMzSu&P)}>7VX>SW&#bWE!EPqMq!!@Xq7c@9YmrX@XaZe)Y+y9-IU(>w$ZPxF zSm1~UZ@>K`HL!EW-`=vbNJdxtUe&Ay&m0>F$OfE;N5(o*sxkNz)!TuSI^EG1^>PVt zhA7hs`Z2VnZ;*e5BX1~@2f$^AEqOe<$C$`PBwV`qUDaPwGR`|7i9mELM*#|%I*$RJ5pNarqc>6tyveL8?6xZ*=HhrgDvmWf z@Wa*B+WmJR59i>B8`xL*L1F?0uCS0lNIT)BB~lZOF{g~LwWF)t1Sl5F~t8p-L< zX*i+zp6rpnC=}Nn;3dA~=!a`0cb~Eyo=eQXpy<9)1AxUOVtJB1_@_ox@Mzevn5k7T zyzil^ue*Y;t+Ab(;5B&8^?m3<5a@N^UtQ%F!i%SiAn~{%HCbbQtUyb1N%OPMm%Vx( zPgK|%4XP_8P>j#8tc~%0gF&MVL2M#zyG#sfjd-X=a7v#J+-vyBLFAicgZI~t^;tOs z*pGS!X7U|7){~pWsbjlQH9_Gwx?eYSsD;Z@ax>`h=m=q;agdn@*N_*`7*2q#L=#)T zxz;N;6Pqu(6(=V4&o@%m7?a9PxQ%9lDakq=pRP$935PI={!`EBp|8Mj7BunRBjV(v z3k@IQ+mFok3_@i{qKSEpkb`vDpk|O1R*dhhK~@PYUI?|x#HInkZW*ZNaxaE^>ER+d z9fp^J+BCZBbTzVnu!ZwyiX?Z59zhY%eEH16%!{j~gXHtD_sSDV@r^d=*GY;-niIeC zxH=r6bzH7}de4N{QY?Pm*Y%LDJJ_j;^)faWBqWmvBWO(pDae&2saexGq3pwI-{m=Z!1HZ_I#(+ zSw1f&>cbsmMI55w0P!12Q*eN60q6rurKW-dNx|5}rCPMAU}g0~vl4LN*p@x6T;|2c zo%+L`k$jtlw@a~LoS=j6sOF9o|6@pKLG}<+kp)YDIB;|Ix6wfR0en2I$j8!rHF9^P zwRw9;mY95cf~@O5TFq4n04uo^2aXoqH7BrJE4u7Oqwj~dS9bYVs- zwU-|3p;KEJ=Vi&WwLd}`XL9N*s=p^jLKb6>IV5c!DLU{-HFwR|wcZ~dLHzOQPgNsX z;PX2!$J)2It3P3Ap4Mv`5Mx_PpPhw^257( zl^RKVr`uI+?UTR#XBrB45SbZ-F#2kEdrji{h^JBtFP*!Dfu)%6oq8vz&bS=gEQ6KU))GtWc#xuc(Ytmj6TxNV1CF5_Y&#D#X~^=uA<7w zM)28gUb>~8V2x_udk7D~Ef6w>Mca`ni90gCxmK&k4Ra}(gBP47@qPs2(w|o!85)Ff z`{5o^KH9UsPXbfzd$s9EIZQM{a)7{`>mI;!&Rm@WL8KRjeBp7DHnZ0-#?|TNcQGG7z0n6JiBGByQ;CwE)+a z0+byGi{#$%A94WqohZ6plkGk#lpyKoLTjf6UR1pt73Vt-!`J;|(G8?Tv5i=|R|CzE z{ET99tJiBpoH$V1yrI702WTO{#Z}~ZbKj4R*J2#*=%2Rxm~@?%=jgiNun;bw`O)%R zCvbPPWg^<$|JpM}!lI$)7D-ls3ld3km5EM)#n2GM?}1+S{8aUp(Y$6195ieI>`g$b z4AVigyB}D3O%10f%*Da+!gxhNj9p(Xy%SoB2+w6tL(ay}KWJ)DQo_4!12wdye8Ot- zks`?~bRmqv_4W&P-4{;Vb9@k=?iZ`~B5vwpLo#dt2mm8g{_xIm84T$c+ro6S*L>sI7T_dvuk_$$H?xQFOrgU&A+#7d7$}+S8J(} z+|}nq9 zx;ic~Mt@E~#QylQsOBVH_R1&ancJfO%Mw#_vaPS$8|NhX$n6?ChXW`>vT;f9Y695b z`Ig$ElDDFmdDigB-Q^e5=3Tf65QLf}l;9kjG5;jL1Y!9H~-mMjQj$4A%ze; zYerPoMttsqMoEqin6dEOxsdoI_%s|o0?P~Zb61*kkDs#nw`(0Tr7O5>ujBgNMVH5> z-#9m1nAE*(G@&UE^QLO#u{DyLA^z;X;@nQRsH18l*o)=NgTteLRUisV5N zao{zeJIVIMX>Gqeh;G4&?!Fw-{0)O2HNR;?jp$@aDV+V2BDq-bW3Zoiix-XY?cWu> zysY}md%W^|h-t1*X=BXrqmn5*`alih_)*2{zNkn_#;S-E8NnsRNdW-J&tP43p?bSJ zvJzLdabsT9AMU#|`OTLD3)SC+1wEa(uSkX?ggRi)90uAN#CFAxZC~|!)lrVoD7R|r zK+&BupPo7=pX`cm%e$mqzf@h_ZfXp^yV-7P);Ak#%293upcru*ff{ZD*BSeq&zarb zXP;B=y600pvlC)*)3du{eOurLW_1gFAXI|rjc=^+HA6m$Kv7?Qc6$TQysuiyCvJH6 z>+yX6Gf)i4D6riG_M>;!NFGLhKk$6trHarGTe0IgoV?Pk3}-3^ckGvIXcq|_n9u%i zlbt&Hs1f2_pf7v^2JR{#n<)t3R(!aBvvev2LEzP@#KSoH5s{`_d zGeA6={PwoJ)zO8~D9-)xy+t&cCPCrss9b-6bcS3px7yn$ru(84_?| zbI@%Vo{9DscoOd)8>)^ z&XXhMT4GcYgZzy3_(poeuAy}&&Y`yWyFC^7i71ajP3!8R;pu;z(R*O=~u3mss5@;ycO za^V<|CMVWIBFt7&?i7G?@+sBZ(ZRFgV4r+a4;}3iuX0Am!2W2?R4~mO+sl!Z3@&`2 zhF0Bxb+CFOle=Er-nP3xRxOaoI5zjRK!?jsj&l8m z>grWtxhTHNEfq`%?U(3#>U{N4##Za1nXjov4h(|M7G^dy10!SP3AzWGcT^t-Mvu}m zXLsGr)kwCXEAIVF%ho$otZp`6xET|6kd%+Hp7_cdRYAu0!%HHJg9Y&ZV*81ql(vk# zusXUNZb0`fjMF`Iikzc&rhli0-g&F-cJBPGqPyliguVXW9#YajcfP%clwKROBn}uw zH}qZAONj&BAhbZCCtEi5&T8qd2_xew9y8o`k}j1bc4LhU?h2ka>3s|LC{Y3(z+51d zGjjb;H;tp<)<0CcakcAzqGkV_LA@eL zd6B@?hJn=_GcmD2Edao#wM}m0aw5|Ap`K*qylc0d( zu5A4E8c7M)pCh!ysiT+z(a)_sad&l;1<=u$xd!)`wRH>muHTTdVt;furPC3p@jGi0 z^*yx=B%M%;AkF}?7GbO zQq3E+yY&mJzh_7Okc|_cXZ`mbu9nV}MGU(LH%tfk zY3H7_Bh9#cWqMU|4gIyUE}-o=dv#4AOOmm;`q3h}I-I9`Vs$}TQ&Pb#C>TR#!G^)J z@HIg&5+2VzT%+rH(VUi~D1hstS=M;>MCEmiEkxly0iFRg`xu3iQoyHdZ}XX2fRft< zstse}olU=}8hHX}T=KgdXyAf%pQx7p-Xe@(mBd-8oNLh!Gx-c=Q3GHZ%jeY%Xir{N z&-`RfAj7Cv$Ad@8@_B$?YY+CA{*0%G1CyGi#h|AD*%yQQ%7q(P|imQO!S|7FeNfvkk9+HDQ&tVV7NGt|9BHDYjE zB!0*X5VhtR&#@=gNUr4A?d>F^qeb#IanmW2Cc}Xbgy~_-DE|X}w<$Q?xY$%EWmgB&j&$4OdX^IuxUYyQ1m$M%sTxlSO8oc*Mx#3cY{yfJ8u-6+iMg^YUuxK2VQc!09zo3xe!%gNR4E zAGmDUa{59I=W?^AE&7_u2(|~bDK6jWZ&ZJmlgt9|OK<2CG!_Az97yzz|6PN)hy-GT z7Du`WwgWERyG_QNeS=ukAi7a=w~7Qq0pH>-uFOUO9e8 zs@^6PTUU=mO%*I|0iiXy*5pDrURQIvL@pzMh7@h*PA1VEx ze^qsLCi7erDxSO29A^OO4fj-YH-r8_*@LnogQ$)$@Widv$JNDX4fOFg)^zy&)l1&u z3*WK5SEp9B5TBk3>HM+$!B00$o$_>~o2qptjoB3MY>DSae(t%gH zFPR&FxDT#bho80kn6r`l$N>%XMQ%XB*puAFy`qCI0?U+o;CuhA7U}qbYPLPChm>Nr z_0K4hOQ$dqqZ_bu;BD2&Ym6EoP#{s0pDx`0foka@(R!(D9{akYI})29#ero@)_B7= zRZB-g_2&CjJM_e)gRLf>8{1X=Wk)^>H}*)8?203D^#EE;t?MEY2P=kmJhg2({>d82 z3^F#J2p>&ISr58`hym{oml}@|WsiOUF##-zRiEv{J`-EaKC7m6Z(XwFO+BOl&s&1U&-c)|@(HPS{$0@(6?TU*j|0ATuo^i@A_yJ{kNj@Y9YjbxndKV=3Ef`; z>8V#&f0J;eJ-KhFc=lvTEqWLm&y@nNB^}p2d}t4H{^d2S%SK~ICm!5XbeBzRg`Vyz z<}~?6tgMYVismG9sNN*FTagD`cu7s6+9hDb+a`9RIWNz`?el7W8I^}mgEC6dgfstT z#W6ghCXwh99<-6`|*z3@ukj55&^eIL5DS#^H5?pSO>OIck*QE|WOg`inKN z;=(OR@OO=B(223Q?h^l$tzv*XpSTsqY2!mj$Lvn=RPbb%;xVR;m3Yo)k6kO?4;9aM8?wYX335OToP|TFiapP{$zm$}p z6+3PoT+;EUwfsA_rf0x_;!B2i_R3rP(f3y`i}eYhy4vt&WX^0w)k7;g1O^BqTZBK9bz%%^JV{(PxytALU+9`@G5`Po literal 382507 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

Z*E231`B%KJiKp->+O_KMFD~sHt1Ue-B}%FT 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