diff --git a/projects/mtg/bin/Res/sets/ZNR/_cards.dat b/projects/mtg/bin/Res/sets/ZNR/_cards.dat index 26a5300e8..29471235c 100644 --- a/projects/mtg/bin/Res/sets/ZNR/_cards.dat +++ b/projects/mtg/bin/Res/sets/ZNR/_cards.dat @@ -65,7 +65,7 @@ id=-491665 rarity=T [/card] [card] -primitive=Beast +primitive=Cat Beast id=-491638 rarity=T [/card] diff --git a/projects/mtg/bin/Res/sets/primitives/borderline.txt b/projects/mtg/bin/Res/sets/primitives/borderline.txt index d16443ff0..f23c1397e 100644 --- a/projects/mtg/bin/Res/sets/primitives/borderline.txt +++ b/projects/mtg/bin/Res/sets/primitives/borderline.txt @@ -3,6 +3,14 @@ grade=borderline #Please keep these card alphabetized, and try to have the "name=" line at the top of each card #I sorted this programatically - Vitty85 04-07-2020 [card] +name=AEther Rift +auto=@each my upkeep:moverandom(*) from(myHand) to(myGraveyard) +auto=@movedTo(creature|myGraveyard) from(myHand) turnlimited:name(Pay life or put in play) pay[[{L:5}]] opponent donothing?moveTo(myBattlefield) target(creature[fresh]|myGraveyard)])) +text=At the beginning of your upkeep, discard a card at random. If you discard a creature card this way, return it from your graveyard to the battlefield unless any player pays 5 life. +mana={1}{R}{G} +type=Enchantment +[/card] +[card] name=AEther Tide target=creature|myhand auto=reject && target(creature|battlefield) moveTo(ownerhand) @@ -19078,7 +19086,7 @@ type=Enchantment [/card] [card] name=Illuminate -targer=creature +target=creature auto=damage:X other={X}{2}{R}{R} name(Kicker {2}{R}) auto=if paid(alternative) then damage:X targetcontroller @@ -41103,7 +41111,7 @@ name=Thunderscape Battlemage other={2}{R}{G} name(Kicker green) auto=if paid(alternative) then destroy target(enchantment) kicker={1}{B} -auto=kicker ifnot paid(alternative) then target(player) ability$!name(Discard 2 cards) reject notatarger(<2>*|myhand)!$ targetedplayer +auto=kicker ifnot paid(alternative) then target(player) ability$!name(Discard 2 cards) reject notatarget(<2>*|myhand)!$ targetedplayer text=Kicker {1}{B} and/or {G} (You may pay an additional {1}{B} and/or {G} as you cast this spell.) -- When Thunderscape Battlemage enters the battlefield, if it was kicked with its {1}{B} kicker, target player discards two cards. -- When Thunderscape Battlemage enters the battlefield, if it was kicked with its {G} kicker, destroy target enchantment. mana={2}{R} type=Creature diff --git a/projects/mtg/bin/Res/sets/primitives/unsupported.txt b/projects/mtg/bin/Res/sets/primitives/unsupported.txt index 070aadb70..6e5266c76 100644 --- a/projects/mtg/bin/Res/sets/primitives/unsupported.txt +++ b/projects/mtg/bin/Res/sets/primitives/unsupported.txt @@ -28,12 +28,6 @@ text=When you set this scheme in motion, until your next turn, whenever a player type=Scheme [/card] [card] -name=AEther Rift -text=At the beginning of your upkeep, discard a card at random. If you discard a creature card this way, return it from your graveyard to the battlefield unless any player pays 5 life. -mana={1}{R}{G} -type=Enchantment -[/card] -[card] name=AEther Searcher text=Reveal AEther Searcher as you draft it. Reveal the next card you draft and note its name. -- When AEther Searcher enters the battlefield, you may search your hand and/or library for a card with a name noted as you drafted cards named AEther Searcher. You may cast it without paying its mana cost. If you searched your library this way, shuffle it. mana={7} diff --git a/projects/mtg/include/AllAbilities.h b/projects/mtg/include/AllAbilities.h index 0d4b944f3..f7223be6b 100644 --- a/projects/mtg/include/AllAbilities.h +++ b/projects/mtg/include/AllAbilities.h @@ -1032,6 +1032,30 @@ private: intValue += card->controller()->game->inPlay->cards[j]->getCurrentToughness(); } } + else if (s == "calculateparty")//Count Total Creatures of party (a party consists of up to one each of Cleric, Rogue, Warrior, and Wizard)... Zendikar Rising + { + intValue = 0; + bool found_cleric = false; + bool found_warrior = false; + bool found_wizard = false; + bool found_rogue = false; + for (int j = card->controller()->game->inPlay->nb_cards - 1; j >= 0 && intValue < 4; --j) + { + if (card->controller()->game->inPlay->cards[j]->hasType("Cleric") && !found_cleric){ + intValue += 1; + found_cleric = true; + } else if (card->controller()->game->inPlay->cards[j]->hasType("Rogue") && !found_rogue){ + intValue += 1; + found_rogue = true; + } else if (card->controller()->game->inPlay->cards[j]->hasType("Wizard") && !found_wizard){ + intValue += 1; + found_wizard = true; + } else if (card->controller()->game->inPlay->cards[j]->hasType("Warrior") && !found_warrior){ + intValue += 1; + found_warrior = true; + } + } + } else if (s == "mypos") {//hand,exile,grave & library only (library zpos is inverted so the recent one is always the top) intValue = card->zpos;