diff --git a/projects/mtg/bin/Res/sets/primitives/mtg.txt b/projects/mtg/bin/Res/sets/primitives/mtg.txt index 0041b11bf..136d7ae0c 100644 --- a/projects/mtg/bin/Res/sets/primitives/mtg.txt +++ b/projects/mtg/bin/Res/sets/primitives/mtg.txt @@ -7284,7 +7284,7 @@ toughness=3 [/card] [card] name=Bloodhusk Ritualist -auto=target(player) discard:kicked +auto=kicker target(player) discard:kicked kicker=multi{B} text=Multikicker {B} (You may pay an additional {B} any number of times as you cast this spell.) -- When Bloodhusk Ritualist enters the battlefield, target opponent discards a card for each time it was kicked. mana={2}{B} @@ -16173,7 +16173,7 @@ toughness=3 [/card] [card] name=Deathforge Shaman -auto=target(player) damage:kicked && damage:kicked +auto=kicker choice target(player) damage:kicked && damage:kicked kicker=multi{R} text=Multikicker {R} (You may pay an additional {R} any number of times as you cast this spell.) -- When Deathforge Shaman enters the battlefield, it deals damage to target player equal to twice the number of times it was kicked. mana={4}{R} @@ -21878,7 +21878,7 @@ toughness=5 [/card] [card] name=Everflowing Chalice -auto=counter(0/0,kicked,charge) +auto=kicker counter(0/0,kicked,charge) auto={T}:thisforeach(counter{0/0.1.charge}) add{1} kicker=multi{2} text=Multikicker {2} (You may pay an additional {2} any number of times as you cast this spell.) -- Everflowing Chalice enters the battlefield with a charge counter on it for each time it was kicked. -- {T}: Add {1} to your mana pool for each charge counter on Everflowing Chalice. @@ -39643,7 +39643,7 @@ toughness=2 [card] name=Lightkeeper of Emeria abilities=flying -auto=life:kicked && life:kicked +auto=kicker life:kicked && life:kicked kicker=multi{W} text=Multikicker {W} (You may pay an additional {W} any number of times as you cast this spell.) -- Flying -- When Lightkeeper of Emeria enters the battlefield, you gain 2 life for each time it was kicked. mana={3}{W} diff --git a/projects/mtg/bin/Res/test/Armillary_Sphere.txt b/projects/mtg/bin/Res/test/Armillary_Sphere.txt new file mode 100644 index 000000000..a2042d0be --- /dev/null +++ b/projects/mtg/bin/Res/test/Armillary_Sphere.txt @@ -0,0 +1,22 @@ +#Testing Armillary Sphere (""): "{2}, {T}, Sacrifice Armillary Sphere: Search your library for up to two basic land cards, reveal them, and put them into your hand. Then shuffle your library." +#Test 1: Can you search for two target basic lands? +Wished result's answer: YES. +[INIT] +FIRSTMAIN +[PLAYER1] +library:forest,island +inplay:Armillary Sphere +manapool:{2} +[PLAYER2] +[DO] +Armillary Sphere +island +forest +[ASSERT] +FIRSTMAIN +[PLAYER1] +graveyard:Armillary Sphere +hand:forest,island +manapool:{0} +[PLAYER2] +[END] \ No newline at end of file diff --git a/projects/mtg/bin/Res/test/Armillary_Sphere2.txt b/projects/mtg/bin/Res/test/Armillary_Sphere2.txt new file mode 100644 index 000000000..90bda50d5 --- /dev/null +++ b/projects/mtg/bin/Res/test/Armillary_Sphere2.txt @@ -0,0 +1,23 @@ +#Testing Armillary Sphere (""): "{2}, {T}, Sacrifice Armillary Sphere: Search your library for up to two basic land cards, reveal them, and put them into your hand. Then shuffle your library." +#Test 1: Can you search for only one target basic land? +Wished result's answer: YES. +[INIT] +FIRSTMAIN +[PLAYER1] +library:forest,island +inplay:Armillary Sphere +manapool:{2} +[PLAYER2] +[DO] +Armillary Sphere +island +Armillary Sphere +[ASSERT] +FIRSTMAIN +[PLAYER1] +graveyard:Armillary Sphere +hand:island +library:forest +manapool:{0} +[PLAYER2] +[END] \ No newline at end of file diff --git a/projects/mtg/bin/Res/test/Charge_Across_the_Araba.txt b/projects/mtg/bin/Res/test/Charge_Across_the_Araba.txt new file mode 100644 index 000000000..1bb8a7b7a --- /dev/null +++ b/projects/mtg/bin/Res/test/Charge_Across_the_Araba.txt @@ -0,0 +1,32 @@ +#Testing Charge Across the Araba (target=*) +# +[INIT] +FIRSTMAIN +[PLAYER1] +hand:Charge Across the Araba +inplay:Plains,Tundra,Savannah,Grizzly Bears,Hill Giant +manapool:{4}{W} +[PLAYER2] +life:20 +[DO] +Charge Across the Araba +Plains +Tundra +Savannah +next +next +next +Grizzly Bears +Hill Giant +next +next +next +[ASSERT] +COMBATENDS +[PLAYER1] +inplay:Grizzly Bears,Hill Giant +hand:Plains,Tundra,Savannah +graveyard:Charge Across the Araba +[PLAYER2] +life:9 +[END] \ No newline at end of file diff --git a/projects/mtg/bin/Res/test/Contagion_Clasp.txt b/projects/mtg/bin/Res/test/Contagion_Clasp.txt new file mode 100644 index 000000000..0464e8afb --- /dev/null +++ b/projects/mtg/bin/Res/test/Contagion_Clasp.txt @@ -0,0 +1,40 @@ +#Testing Contagion Clasp (keyword: Proliferate +#"When Contagion Clasp enters the battlefield, put a -1/-1 counter on target creature. -- {4}, Tap: Proliferate. (You choose any number of permanents and/or players with counters on them, then give each another counter of a kind already there.)" +[INIT] +FIRSTMAIN +[PLAYER1] +hand:Contagion Clasp +inplay:Spike Feeder +manapool:{6} +life:20 +[PLAYER2] +inplay:Grizzly Bears +[DO] +Contagion Clasp +choice 0 +Grizzly Bears +Contagion Clasp +Grizzly Bears +Spike Feeder +Contagion Clasp +choice 0 +Contagion Clasp +choice 0 +next +#combatbegins +next +#attackers +Spike Feeder +choice 0 +next +next +next +[ASSERT] +COMBATENDS +[PLAYER1] +inplay:Contagion Clasp,Spike Feeder +life:20 +[PLAYER2] +life:17 +graveyard:Grizzly Bears +[END] \ No newline at end of file diff --git a/projects/mtg/bin/Res/test/Keeper_of_the_Beasts.txt b/projects/mtg/bin/Res/test/Keeper_of_the_Beasts.txt new file mode 100644 index 000000000..f0816800c --- /dev/null +++ b/projects/mtg/bin/Res/test/Keeper_of_the_Beasts.txt @@ -0,0 +1,20 @@ +#Testing Keeper of the Beasts (keyword:if..then). +#"{G}, {T}: Choose target opponent who controlled more creatures than you did as you activated this ability. Put a 2/2 green Beast creature token onto the battlefield." +[INIT] +FIRSTMAIN +[PLAYER1] +inplay:Keeper of the Beasts +manapool:{G} +[PLAYER2] +inplay:Grizzly Bears,Raging Goblin +life:20 +[DO] +Keeper of the Beasts +[ASSERT] +FIRSTMAIN +[PLAYER1] +inplay:Keeper of the Beasts,* +manapool:{0} +[PLAYER2] +inplay:Grizzly Bears,Raging Goblin +[END] \ No newline at end of file diff --git a/projects/mtg/bin/Res/test/Keeper_of_the_Beasts2.txt b/projects/mtg/bin/Res/test/Keeper_of_the_Beasts2.txt new file mode 100644 index 000000000..37014b255 --- /dev/null +++ b/projects/mtg/bin/Res/test/Keeper_of_the_Beasts2.txt @@ -0,0 +1,21 @@ +#Testing Keeper of the Beasts (keyword:if..then). +#"{G}, {T}: Choose target opponent who controlled more creatures than you did as you activated this ability. Put a 2/2 green Beast creature token onto the battlefield." +Version 2: Opponent does NOT have more creatures then you. You should not get a Beast token. +[INIT] +FIRSTMAIN +[PLAYER1] +inplay:Keeper of the Beasts +manapool:{G} +[PLAYER2] +inplay:Grizzly Bears +life:20 +[DO] +Keeper of the Beasts +[ASSERT] +FIRSTMAIN +[PLAYER1] +inplay:Keeper of the Beasts +manapool:{0} +[PLAYER2] +inplay:Grizzly Bears +[END] \ No newline at end of file diff --git a/projects/mtg/bin/Res/test/Lethargy_Trap.txt b/projects/mtg/bin/Res/test/Lethargy_Trap.txt new file mode 100644 index 000000000..349736003 --- /dev/null +++ b/projects/mtg/bin/Res/test/Lethargy_Trap.txt @@ -0,0 +1,30 @@ +#Testing Lethargy Trap. +#"If three or more creatures are attacking, you may pay {U} rather than pay Lethargy Trap's mana cost. -- Attacking creatures get -3/-0 until end of turn." +[INIT] +FIRSTMAIN +[PLAYER1] +hand:Lethargy Trap +inplay:Mox Sapphire,Hill Giant,Grizzly Bears,Serra Angel +[PLAYER2] +life:20 +[DO] +next +#combatbegins +next +#attackers +Hill Giant +Grizzly Bears +Serra Angel +Mox Sapphire +Lethargy Trap +next +next +[ASSERT] +COMBATDAMAGE +[PLAYER1] +inplay:Mox Sapphire,Hill Giant,Grizzly Bears,Serra Angel +graveyard:Lethargy Trap +manapool:{0} +[PLAYER2] +life:19 +[END] \ No newline at end of file diff --git a/projects/mtg/bin/Res/test/Lethargy_Trap2.txt b/projects/mtg/bin/Res/test/Lethargy_Trap2.txt new file mode 100644 index 000000000..13d9f2407 --- /dev/null +++ b/projects/mtg/bin/Res/test/Lethargy_Trap2.txt @@ -0,0 +1,30 @@ +#Testing Lethargy Trap. +#"If three or more creatures are attacking, you may pay {U} rather than pay Lethargy Trap's mana cost. -- Attacking creatures get -3/-0 until end of turn." +#Only 2 creatures are attacking. You shouldn't be able to cast Trap alternatively. +[INIT] +FIRSTMAIN +[PLAYER1] +hand:Lethargy Trap +inplay:Mox Sapphire,Hill Giant,Grizzly Bears,Serra Angel +[PLAYER2] +life:20 +[DO] +next +#combatbegins +next +#attackers +Hill Giant +Grizzly Bears +Mox Sapphire +Lethargy Trap +next +next +[ASSERT] +COMBATDAMAGE +[PLAYER1] +inplay:Mox Sapphire,Hill Giant,Grizzly Bears,Serra Angel +hand:Lethargy Trap +manapool:{0} +[PLAYER2] +life:15 +[END] \ No newline at end of file diff --git a/projects/mtg/bin/Res/test/Lightkeeper_of_Emeria_MULTIKICKER.txt b/projects/mtg/bin/Res/test/Lightkeeper_of_Emeria_MULTIKICKER.txt new file mode 100644 index 000000000..28320e78a --- /dev/null +++ b/projects/mtg/bin/Res/test/Lightkeeper_of_Emeria_MULTIKICKER.txt @@ -0,0 +1,18 @@ +#Testing Lightkeeper of Emeria: "Multikicker {R} (You may pay an additional {R} any number of times as you cast this spell.) -- When Deathforge Shaman enters the battlefield, it deals damage to target player equal to twice the number of times it was kicked." +#"Multikicker {W} (You may pay an additional {W} any number of times as you cast this spell.) -- Flying -- When Lightkeeper of Emeria enters the battlefield, you gain 2 life for each time it was kicked." +[INIT] +FIRSTMAIN +[PLAYER1] +hand:Lightkeeper of Emeria +manapool:{3}{W}{W}{W} +life:20 +[PLAYER2] +[DO] +Lightkeeper of Emeria +[ASSERT] +FIRSTMAIN +[PLAYER1] +inplay:Lightkeeper of Emeria +life:24 +[PLAYER2] +[END] \ No newline at end of file diff --git a/projects/mtg/bin/Res/test/Quillspike.txt b/projects/mtg/bin/Res/test/Quillspike.txt new file mode 100644 index 000000000..b0630c2ce --- /dev/null +++ b/projects/mtg/bin/Res/test/Quillspike.txt @@ -0,0 +1,31 @@ +#Testing Quillspike (remove counters from other creatures as an activation cost). +#"{BG}, Remove a -1/-1 counter from a creature you control: Quillspike gets +3/+3 until end of turn." +[INIT] +FIRSTMAIN +[PLAYER1] +inplay:Quillspike,Spike Feeder +manapool:{B}{B} +[PLAYER2] +life:20 +[DO] +Quillspike +Spike Feeder +Quillspike +Spike Feeder +next +#combatbegins +next +#attackers +Quillspike +next +next +next +[ASSERT] +COMBATEND +[PLAYER1] +inplay:Quillspike +graveyard:Spike Feeder +manapool:{0} +[PLAYER2] +life:13 +[END] \ No newline at end of file diff --git a/projects/mtg/bin/Res/test/Rack_and_Ruin.txt b/projects/mtg/bin/Res/test/Rack_and_Ruin.txt new file mode 100644 index 000000000..6860556c7 --- /dev/null +++ b/projects/mtg/bin/Res/test/Rack_and_Ruin.txt @@ -0,0 +1,19 @@ +#Testing Rack and Ruin: "Destroy two target artifacts." +#Test 1: Can you destroy two target artifacts? +[INIT] +FIRSTMAIN +[PLAYER1] +inplay:Mox Pearl,Ornithopter +hand:Rack and Ruin +manapool:{2}{R} +[PLAYER2] +[DO] +Rack and Ruin +Mox Pearl +Ornithopter +[ASSERT] +FIRSTMAIN +[PLAYER1] +graveyard:Mox Pearl,Ornithopter,Rack and Ruin +[PLAYER2] +[END] \ No newline at end of file diff --git a/projects/mtg/bin/Res/test/Rack_and_Ruin2.txt b/projects/mtg/bin/Res/test/Rack_and_Ruin2.txt new file mode 100644 index 000000000..605a0b09b --- /dev/null +++ b/projects/mtg/bin/Res/test/Rack_and_Ruin2.txt @@ -0,0 +1,21 @@ +#Testing Rack and Ruin: "Destroy two target artifacts." +#Test 1: Can you cast Rack and Ruin when there is only one artifact on the battlefield? +#Answer: It should not be possible to cast Rack and Ruin. +[INIT] +FIRSTMAIN +[PLAYER1] +inplay:Ornithopter +hand:Rack and Ruin +manapool:{2}{R} +[PLAYER2] +[DO] +Rack and Ruin +Ornithopter +[ASSERT] +FIRSTMAIN +[PLAYER1] +inplay:Ornithopter +hand:Rack and Ruin +manapool:{2}{R} +[PLAYER2] +[END] \ No newline at end of file diff --git a/projects/mtg/bin/Res/test/Rending_Vines.txt b/projects/mtg/bin/Res/test/Rending_Vines.txt new file mode 100644 index 000000000..e7de43b7c --- /dev/null +++ b/projects/mtg/bin/Res/test/Rending_Vines.txt @@ -0,0 +1,23 @@ +#Testing Rending Vines. +#"Destroy target artifact or enchantment if its converted mana cost is less than or equal to the number of cards in your hand. -- Draw a card." +[INIT] +FIRSTMAIN +[PLAYER1] +library:Grizzly Bears +hand:Island,Forest,Rending Vines +manapool:{G}{G}{G} +[PLAYER2] +inplay:Omega Myr +life:20 +[DO] +Rending Vines +Omega Myr +[ASSERT] +FIRSTMAIN +[PLAYER1] +hand:Island,Forest,Grizzly Bears +graveyard:Rending Vines +manapool:{0} +[PLAYER2] +graveyard:Omega Myr +[END] \ No newline at end of file diff --git a/projects/mtg/bin/Res/test/Rending_Vines2.txt b/projects/mtg/bin/Res/test/Rending_Vines2.txt new file mode 100644 index 000000000..403d519fe --- /dev/null +++ b/projects/mtg/bin/Res/test/Rending_Vines2.txt @@ -0,0 +1,24 @@ +#Testing Rending Vines. +#"Destroy target artifact or enchantment if its converted mana cost is less than or equal to the number of cards in your hand. -- Draw a card." +#Version:The destruction should fail here. +[INIT] +FIRSTMAIN +[PLAYER1] +library:Grizzly Bears +hand:Island,Rending Vines +manapool:{G}{G}{G} +[PLAYER2] +inplay:Omega Myr +life:20 +[DO] +Rending Vines +Omega Myr +[ASSERT] +FIRSTMAIN +[PLAYER1] +hand:Island,Grizzly Bears +graveyard:Rending Vines +manapool:{0} +[PLAYER2] +inplay:Omega Myr +[END] \ No newline at end of file diff --git a/projects/mtg/bin/Res/test/_tests.txt b/projects/mtg/bin/Res/test/_tests.txt index 0c070273f..887f128bd 100644 --- a/projects/mtg/bin/Res/test/_tests.txt +++ b/projects/mtg/bin/Res/test/_tests.txt @@ -131,6 +131,8 @@ ardakar_wastes.txt ardent_soldier.txt argothian_enchantress.txt armadillo_cloak.txt +Armillary_Sphere.txt +Armillary_Sphere2.txt ascendant_evincar.txt ascendant_evincar2.txt ascendant_evincar3.txt @@ -195,6 +197,7 @@ celestial_mantle.txt celestial_purge.txt celestial_sword.txt chainbreaker.txt +Charge_Across_the_Araba.txt circle_of_protection.txt circle_of_protection_i211.txt civic_wayfinder.txt @@ -207,6 +210,7 @@ colossus_of_sardia1.txt colossus_of_sardia2.txt composite_golem.txt conservator.txt +Contagion_Clasp.txt control_magic.txt control_magic2.txt control_magic3.txt @@ -375,6 +379,8 @@ jump.txt juniper_order_ranger.txt kaldra.txt karns_touch_i233.txt +Keeper_of_the_Beasts.txt +Keeper_of_the_Beasts2.txt keldon_warlord.txt keldon_warlord2.txt khalni_hydra.txt @@ -394,11 +400,14 @@ kraken_eye4.txt kudzu.txt kudzu2.txt kudzu_i168.txt +Lethargy_Trap.txt +Lethargy_Trap2.txt leveler.txt lhurgoyf.txt liability.txt lifeforce.txt lifetap.txt +Lightkeeper_of_Emeria_MULTIKICKER.txt lightmine_field1.txt lightmine_field2.txt living_artifact_i169.txt @@ -416,6 +425,7 @@ masticore.txt masticore2.txt maze_of_ith.txt meekstone.txt +meliras_keepers.txt memnarch.txt memory_erosion.txt mephidross_vampire.txt @@ -479,6 +489,9 @@ pyknite_i426.txt pyroclasm.txt quick_sliver_FORCEDALIVE.txt quilled_sliver.txt +Quillspike.txt +Rack_and_Ruin.txt +Rack_and_Ruin2.txt rain_of_filth_i206.txt rain_of_filth_i283.txt rainbow_efreet_phase_out.txt @@ -498,6 +511,8 @@ reclusive_wight2.txt recover.txt regal_force.txt reinforcements_1.txt +Rending_Vines.txt +Rending_Vines2.txt resounding_roar.txt resurrection.txt resuscitate_i210.txt diff --git a/projects/mtg/bin/Res/test/meliras_keepers.txt b/projects/mtg/bin/Res/test/meliras_keepers.txt new file mode 100644 index 000000000..5fed208e7 --- /dev/null +++ b/projects/mtg/bin/Res/test/meliras_keepers.txt @@ -0,0 +1,30 @@ +#Testing Melira's Keepers (keyword "countershroud") +#"Melira's Keepers can't have counters placed on it." +#EXAMPLE: Melira's Keepers shouldn't not die when blocking or being blocked by a creature with Infect. +[INIT] +FIRSTMAIN +[PLAYER1] +inplay:Melira's Keepers +[PLAYER2] +inplay:Putrefax +[DO] +next +#combatbegins +next +#attackers +Melira's Keepers +next +#blockers +Putrefax +next +#combatdamage +next +#combatend +[ASSERT] +COMBATEND +[PLAYER1] +inplay:Melira's Keepers +manapool:{0} +[PLAYER2] +graveyard:Putrefax +[END] \ No newline at end of file