diff --git a/projects/mtg/bin/Res/sets/ICE/_cards.dat b/projects/mtg/bin/Res/sets/ICE/_cards.dat index d9959ea4f..3461ca240 100644 --- a/projects/mtg/bin/Res/sets/ICE/_cards.dat +++ b/projects/mtg/bin/Res/sets/ICE/_cards.dat @@ -289,7 +289,11 @@ text=Defender (This creature can't attack.) Drift of the Dead's power and tough id=2447 name=Drift of the Dead abilities=defender -auto=foreach(land[snow]|myinplay) 1/1 +auto=foreach(snow-covered forest|myinplay) 1/1 +auto=foreach(snow-covered mountain|myinplay) 1/1 +auto=foreach(snow-covered plains|myinplay) 1/1 +auto=foreach(snow-covered swamp|myinplay) 1/1 +auto=foreach(snow-covered island|myinplay) 1/1 rarity=U type=Creature mana={3}{B} diff --git a/projects/mtg/bin/Res/sets/USG/_cards.dat b/projects/mtg/bin/Res/sets/USG/_cards.dat index 43cf08783..27eef02f9 100644 --- a/projects/mtg/bin/Res/sets/USG/_cards.dat +++ b/projects/mtg/bin/Res/sets/USG/_cards.dat @@ -94,17 +94,6 @@ mana={2}{R}{R} type=Enchantment [/card] [card] -text=Destroy target land or nonblack creature. It can't be regenerated. -target=land,creature[-black] -auto=bury -id=5605 -name=Befoul -color=Black -rarity=C -mana={2}{B}{B} -type=Sorcery -[/card] -[card] text=Enchant creature (Target a creature as you play this. This card comes into play attached to that creature.) Enchanted creature gets +1/+1 for each Forest you control. id=5623 target=creature diff --git a/projects/mtg/bin/Res/sets/USG/todo.dat b/projects/mtg/bin/Res/sets/USG/todo.dat index 417bca33a..21687ce9a 100644 --- a/projects/mtg/bin/Res/sets/USG/todo.dat +++ b/projects/mtg/bin/Res/sets/USG/todo.dat @@ -147,6 +147,18 @@ rarity=R type=Artifact mana={4} [/card] +#Befoul requires a huge update on targetChooser before it can work :/ +[card] +text=Destroy target land or nonblack creature. It can't be regenerated. +target=creature[-black],land +auto=bury +id=5605 +name=Befoul +color=Black +rarity=C +mana={2}{B}{B} +type=Sorcery +[/card] [card] text=Whenever a green creature is put into a graveyard from play, its controller discards a card. id=5617 diff --git a/projects/mtg/bin/Res/test/_tests.txt b/projects/mtg/bin/Res/test/_tests.txt index c75619a70..6e54e9825 100644 --- a/projects/mtg/bin/Res/test/_tests.txt +++ b/projects/mtg/bin/Res/test/_tests.txt @@ -31,6 +31,7 @@ ascendant_evincar2.txt ascendant_evincar3.txt ashen_firebeast.txt ashen_firebeast2.txt +#befoul.txt blessed_wine.txt bloodfire_colossus.txt bottle_gnomes.txt @@ -50,14 +51,17 @@ counterspell2.txt counterspell3.txt counterspell4.txt creature_bond.txt +dauthi_embrace.txt deja_vu.txt dingus_egg.txt doomed_necromancer.txt dragon_fodder.txt drain_life.txt +drift_of_the_dead.txt elvish_piper.txt fastbond.txt flare.txt +#fledgling_imp.txt TODO Understand why this one fails foratog.txt force_of_nature.txt force_of_nature2.txt diff --git a/projects/mtg/bin/Res/test/befoul.txt b/projects/mtg/bin/Res/test/befoul.txt new file mode 100644 index 000000000..b55cac703 --- /dev/null +++ b/projects/mtg/bin/Res/test/befoul.txt @@ -0,0 +1,19 @@ +#Testing Befoul on Grizzly bears +[INIT] +FIRSTMAIN +[PLAYER1] +hand:befoul +manapool:{2}{B}{B} +[PLAYER2] +inplay:1250 +[DO] +befoul +1250 +[ASSERT] +FIRSTMAIN +[PLAYER1] +graveyard:befoul +manapool:{0} +[PLAYER2] +graveyard:1250 +[END] \ No newline at end of file diff --git a/projects/mtg/bin/Res/test/dauthi_embrace.txt b/projects/mtg/bin/Res/test/dauthi_embrace.txt new file mode 100644 index 000000000..1a02814a5 --- /dev/null +++ b/projects/mtg/bin/Res/test/dauthi_embrace.txt @@ -0,0 +1,19 @@ +#Bug: Dauthi Embrace gets tapped if its ability is used +[INIT] +FIRSTMAIN +[PLAYER1] +inplay:Dauthi Embrace,grizzly bears,kird ape +manapool:{B}{B}{b}{B} +[PLAYER2] +[DO] +Dauthi Embrace +grizzly bears +Dauthi Embrace +kird ape +[ASSERT] +FIRSTMAIN +[PLAYER1] +inplay:Dauthi Embrace,grizzly bears,kird ape +manapool:{0} +[PLAYER2] +[END] \ No newline at end of file diff --git a/projects/mtg/bin/Res/test/drift_of_the_dead.txt b/projects/mtg/bin/Res/test/drift_of_the_dead.txt new file mode 100644 index 000000000..aff5212e5 --- /dev/null +++ b/projects/mtg/bin/Res/test/drift_of_the_dead.txt @@ -0,0 +1,23 @@ +#Testing That Drift of the dead only gets power/toughness from snow lands +[INIT] +COMBATATTACKERS +[PLAYER1] +inplay:dragon engine +[PLAYER2] +inplay:drift of the dead,snow-covered forest,snow-covered mountain,mountain +[DO] +dragon engine +next +#blockers +drift of the dead +next +#combatdamage +next +#endofcombat +[ASSERT] +COMBATEND +[PLAYER1] +inplay:dragon engine +[PLAYER2] +inplay:drift of the dead,snow-covered forest,snow-covered mountain,mountain +[END] \ No newline at end of file diff --git a/projects/mtg/bin/Res/test/fledgling_imp.txt b/projects/mtg/bin/Res/test/fledgling_imp.txt new file mode 100644 index 000000000..5e076c594 --- /dev/null +++ b/projects/mtg/bin/Res/test/fledgling_imp.txt @@ -0,0 +1,30 @@ +#Bug: fledgling imp ability doesn't work +# text={B}, Discard a card from your hand: Fledgling Imp gains flying until end of turn. +[INIT] +COMBATATTACKERS +[PLAYER1] +inplay:air elemental +[PLAYER2] +inplay:fledgling imp +hand:grizzly bears +manapool:{B} +[DO] +air elemental +next +#blockers +fledgling imp +choice 1 +grizzly bears +fledgling imp +next +#combat damage +next +#combat end +[ASSERT] +COMBATEND +[PLAYER1] +inplay:air elemental +[PLAYER2] +graveyard:grizzly bears,fledgling imp +manapool:{0} +[END] \ No newline at end of file diff --git a/projects/mtg/include/AllAbilities.h b/projects/mtg/include/AllAbilities.h index 114dd19e8..90d2d757d 100644 --- a/projects/mtg/include/AllAbilities.h +++ b/projects/mtg/include/AllAbilities.h @@ -517,7 +517,7 @@ class ABasicAbilityModifierUntilEOT:public TargetAbility{ int modifier; int stateBeforeActivation[50]; int ability; - ABasicAbilityModifierUntilEOT(int _id, MTGCardInstance * _source, int _ability, ManaCost * _cost, TargetChooser * _tc = NULL, int _modifier = 1): TargetAbility(_id,_source,_cost),modifier(_modifier), ability(_ability){ + ABasicAbilityModifierUntilEOT(int _id, MTGCardInstance * _source, int _ability, ManaCost * _cost, TargetChooser * _tc = NULL, int _modifier = 1,int _tap=1): TargetAbility(_id,_source,_cost,0,_tap),modifier(_modifier), ability(_ability){ nbTargets = 0; tc = _tc; if (!tc) tc = NEW CreatureTargetChooser(_source); diff --git a/projects/mtg/src/MTGAbility.cpp b/projects/mtg/src/MTGAbility.cpp index 04418e4c8..7db4d4ffe 100644 --- a/projects/mtg/src/MTGAbility.cpp +++ b/projects/mtg/src/MTGAbility.cpp @@ -869,7 +869,7 @@ int AbilityFactory::magicText(int id, Spell * spell, MTGCardInstance * card){ game->addObserver(NEW AKirdApe(id,card,lordTargets,lordIncludeSelf,0,0,j,modifier)); }else{ if (tc){ - game->addObserver(NEW ABasicAbilityModifierUntilEOT(id, card, j, cost,tc, modifier)); + game->addObserver(NEW ABasicAbilityModifierUntilEOT(id, card, j, cost,tc, modifier,doTap)); }else{ if (!cost){ if(card->hasType("enchantment")){