diff --git a/projects/mtg/bin/Res/sets/primitives/borderline.txt b/projects/mtg/bin/Res/sets/primitives/borderline.txt index 81d81583d..31229bfff 100644 --- a/projects/mtg/bin/Res/sets/primitives/borderline.txt +++ b/projects/mtg/bin/Res/sets/primitives/borderline.txt @@ -25852,14 +25852,14 @@ toughness=2 [card] name=Nemesis of Mortals anyzone=foreach(creature|mygraveyard) changecost(colorless:-1) forcedalive -#auto=if type(creature|mygraveyard)~equalto~0 then this(cantargetcard(*[-monstrous]) {7}{G}{G}:becomes(monstrous) forever && counter(1/1,5) -#auto=if type(creature|mygraveyard)~equalto~1 then this(cantargetcard(*[-monstrous]) {6}{G}{G}:becomes(monstrous) forever && counter(1/1,5) -#auto=if type(creature|mygraveyard)~equalto~2 then this(cantargetcard(*[-monstrous]) {5}{G}{G}:becomes(monstrous) forever && counter(1/1,5) -#auto=if type(creature|mygraveyard)~equalto~3 then this(cantargetcard(*[-monstrous]) {5}{G}{G}:becomes(monstrous) forever && counter(1/1,5) -#auto=if type(creature|mygraveyard)~equalto~4 then this(cantargetcard(*[-monstrous]) {4}{G}{G}:becomes(monstrous) forever && counter(1/1,5) -#auto=if type(creature|mygraveyard)~equalto~5 then this(cantargetcard(*[-monstrous]) {3}{G}{G}:becomes(monstrous) forever && counter(1/1,5) -#auto=if type(creature|mygraveyard)~equalto~6 then this(cantargetcard(*[-monstrous]) {1}{G}{G}:becomes(monstrous) forever && counter(1/1,5) -#auto=if type(creature|mygraveyard)~morethan~6 then this(cantargetcard(*[-monstrous]) {G}{G}:becomes(monstrous) forever && counter(1/1,5) +auto=this(cantargetcard(*[-monstrous]) {7}{G}{G}:becomes(monstrous) forever && counter(1/1,5) restriction{type(creature|mygraveyard)~equalto~0} +auto=this(cantargetcard(*[-monstrous]) {6}{G}{G}:becomes(monstrous) forever && counter(1/1,5) restriction{type(creature|mygraveyard)~equalto~1} +auto=this(cantargetcard(*[-monstrous]) {5}{G}{G}:becomes(monstrous) forever && counter(1/1,5) restriction{type(creature|mygraveyard)~equalto~2} +auto=this(cantargetcard(*[-monstrous]) {4}{G}{G}:becomes(monstrous) forever && counter(1/1,5) restriction{type(creature|mygraveyard)~equalto~3} +auto=this(cantargetcard(*[-monstrous]) {3}{G}{G}:becomes(monstrous) forever && counter(1/1,5) restriction{type(creature|mygraveyard)~equalto~4} +auto=this(cantargetcard(*[-monstrous]) {2}{G}{G}:becomes(monstrous) forever && counter(1/1,5) restriction{type(creature|mygraveyard)~equalto~5} +auto=this(cantargetcard(*[-monstrous]) {1}{G}{G}:becomes(monstrous) forever && counter(1/1,5) restriction{type(creature|mygraveyard)~equalto~6} +auto=this(cantargetcard(*[-monstrous]) {G}{G}:becomes(monstrous) forever && counter(1/1,5) restriction{type(creature|mygraveyard)~morethan~6} text=Nemesis of Mortals costs {1} less to cast for each creature card in your graveyard. -- {7}{G}{G}: Monstrosity 5. This ability costs {1} less to activate for each creature card in your graveyard. (If this creature isn't monstrous, put five +1/+1 counters on it and it becomes monstrous.) mana={4}{G}{G} type=Creature @@ -26139,7 +26139,7 @@ toughness=1 [card] name=Nightmare Shepherd abilities=flying -auto=@movedto(mygraveyard) from(creature[-token]|myBattlefield):may moveto(exile) && clone with(newability[transforms((,Nigthmare,setpower=1,settoughness=1)]) +auto=@movedto(mygraveyard) from(other creature[-token]|myBattlefield):may all(trigger) clone and!( transforms((Nigthmare,setpower=1,settoughness=1)) forever )! && moveTo(exile) all(trigger) text=Flying -- Whenever another nontoken creature you control dies, you may exile it. If you do, create a token that’s a copy of that creature, except it’s 1/1 and it’s a Nightmare in addition to its other types. mana={2}{B}{B} type=Enchantment Creature diff --git a/projects/mtg/bin/Res/sets/primitives/mtg.txt b/projects/mtg/bin/Res/sets/primitives/mtg.txt index 5a3415515..cabd9e7cc 100644 --- a/projects/mtg/bin/Res/sets/primitives/mtg.txt +++ b/projects/mtg/bin/Res/sets/primitives/mtg.txt @@ -62284,9 +62284,11 @@ subtype=Aura [/card] [card] name=Keldon Marauders -auto=vanishing:2 -auto=damage:1 target(player) -auto=@movedTo(this|nonbattlezone) from(myBattlefield):damage:1 target(player) +auto=counter(0/0,2,Time) +auto=@each my upkeep:counter(0/0,-1,Time) +auto=this(counter{0/0.1.Time}<=0) sacrifice +auto=ability$!name(Damage) choice name(Opponent) damage:1 opponent _ choice name(Yourself) damage:1 controller!$ controller +auto=@movedTo(this|nonbattlezone) from(myBattlefield):ability$!name(Damage) choice name(Opponent) damage:1 opponent _ choice name(Yourself) damage:1 controller!$ controller text=Vanishing 2 (This permanent enters the battlefield with two time counters on it. At the beginning of your upkeep, remove a time counter from it. When the last is removed, sacrifice it.) -- When Keldon Marauders enters the battlefield or leaves the battlefield, it deals 1 damage to target player. mana={1}{R} type=Creature @@ -122263,7 +122265,26 @@ toughness=1 [card] name=Tormented Thoughts target=player -auto=ability$!name(discard cards) target(*|myhand) reject!$ targetedplayer +auto=if compare(storedpower)~equalto~1 then ability$!name(discard cards) target(*|myhand) reject!$ targetedplayer +auto=if compare(storedpower)~equalto~2 then ability$!name(discard cards) target(<2>*|myhand) reject!$ targetedplayer +auto=if compare(storedpower)~equalto~3 then ability$!name(discard cards) target(<3>*|myhand) reject!$ targetedplayer +auto=if compare(storedpower)~equalto~4 then ability$!name(discard cards) target(<4>*|myhand) reject!$ targetedplayer +auto=if compare(storedpower)~equalto~5 then ability$!name(discard cards) target(<5>*|myhand) reject!$ targetedplayer +auto=if compare(storedpower)~equalto~6 then ability$!name(discard cards) target(<6>*|myhand) reject!$ targetedplayer +auto=if compare(storedpower)~equalto~7 then ability$!name(discard cards) target(<7>*|myhand) reject!$ targetedplayer +auto=if compare(storedpower)~equalto~8 then ability$!name(discard cards) target(<8>*|myhand) reject!$ targetedplayer +auto=if compare(storedpower)~equalto~9 then ability$!name(discard cards) target(<9>*|myhand) reject!$ targetedplayer +auto=if compare(storedpower)~equalto~10 then ability$!name(discard cards) target(<10>*|myhand) reject!$ targetedplayer +auto=if compare(storedpower)~equalto~11 then ability$!name(discard cards) target(<11>*|myhand) reject!$ targetedplayer +auto=if compare(storedpower)~equalto~12 then ability$!name(discard cards) target(<12>*|myhand) reject!$ targetedplayer +auto=if compare(storedpower)~equalto~13 then ability$!name(discard cards) target(<13>*|myhand) reject!$ targetedplayer +auto=if compare(storedpower)~equalto~14 then ability$!name(discard cards) target(<14>*|myhand) reject!$ targetedplayer +auto=if compare(storedpower)~equalto~15 then ability$!name(discard cards) target(<15>*|myhand) reject!$ targetedplayer +auto=if compare(storedpower)~equalto~16 then ability$!name(discard cards) target(<16>*|myhand) reject!$ targetedplayer +auto=if compare(storedpower)~equalto~17 then ability$!name(discard cards) target(<17>*|myhand) reject!$ targetedplayer +auto=if compare(storedpower)~equalto~18 then ability$!name(discard cards) target(<18>*|myhand) reject!$ targetedplayer +auto=if compare(storedpower)~equalto~19 then ability$!name(discard cards) target(<19>*|myhand) reject!$ targetedplayer +auto=if compare(storedpower)~equalto~20 then ability$!name(discard cards) target(<20>*|myhand) reject!$ targetedplayer text=As an additional cost to cast Tormented Thoughts, sacrifice a creature. -- Target player discards a number of cards equal to the sacrificed creature's power. mana={2}{B}{S(creature|mybattlefield)} type=Sorcery diff --git a/projects/mtg/include/AllAbilities.h b/projects/mtg/include/AllAbilities.h index 1b6a9ee7b..0d4b944f3 100644 --- a/projects/mtg/include/AllAbilities.h +++ b/projects/mtg/include/AllAbilities.h @@ -6355,6 +6355,7 @@ public: int resolve() { + source->tap(true); source->controller()->game->putInGraveyard(source->controller()->game->library->lastCardDrawn); game->mLayers->stackLayer()->addDraw(source->controller()); return 1; diff --git a/projects/mtg/src/MTGGameZones.cpp b/projects/mtg/src/MTGGameZones.cpp index 9960b8b76..563cf2391 100644 --- a/projects/mtg/src/MTGGameZones.cpp +++ b/projects/mtg/src/MTGGameZones.cpp @@ -242,7 +242,6 @@ void MTGPlayerCards::drawFromLibrary() return; } MTGCardInstance * toMove = library->cards[library->nb_cards - 1]; - library->lastCardDrawn = toMove; if (!library->miracle) { library->miracle = true; @@ -270,9 +269,12 @@ void MTGPlayerCards::drawFromLibrary() } } - if(putInZone(toMove, library, hand)) + MTGCardInstance * ret = putInZone(toMove, library, hand); + if(ret) { toMove->currentZone = hand; + ret->currentZone = hand; + library->lastCardDrawn = ret; } }