Merge branch 'c21_5' into 'master'

C21 - 5 April

See merge request core-developers/forge!4396
This commit is contained in:
Michael Kamensky
2021-04-06 07:30:26 +00:00
8 changed files with 71 additions and 5 deletions

View File

@@ -341,7 +341,14 @@ public class CardProperty {
}
} else if (property.startsWith("ControllerControls")) {
final String type = property.substring(18);
if (type.startsWith("AtLeastAsMany")) {
if (type.startsWith("More")) {
String realType = type.split("More")[1];
CardCollectionView cards = CardLists.getType(controller.getCardsIn(ZoneType.Battlefield), realType);
CardCollectionView yours = CardLists.getType(sourceController.getCardsIn(ZoneType.Battlefield), realType);
if (cards.size() <= yours.size()) {
return false;
}
} else if (type.startsWith("AtLeastAsMany")) {
String realType = type.split("AtLeastAsMany")[1];
CardCollectionView cards = CardLists.getType(controller.getCardsIn(ZoneType.Battlefield), realType);
CardCollectionView yours = CardLists.getType(sourceController.getCardsIn(ZoneType.Battlefield), realType);

View File

@@ -1,9 +1,10 @@
Name:Madcap Experiment
ManaCost:3 R
Types:Sorcery
A:SP$ DigUntil | Cost$ 3 R | Valid$ Artifact | ValidDescription$ artifact | FoundDestination$ Battlefield | RevealedDestination$ Library | RevealedLibraryPosition$ -1 | RevealRandomOrder$ True | RememberRevealed$ True | SubAbility$ DBDealDamage | SpellDescription$ Reveal cards from the top of your library until you reveal an artifact card. Put that card onto the battlefield and the rest on the bottom of your library in a random order. Madcap Experiment deals damage to you equal to the number of cards revealed this way.
SVar:DBDealDamage:DB$DealDamage | Defined$ You | NumDmg$ X | SubAbility$ DBCleanup
A:SP$ DigUntil | Cost$ 3 R | Valid$ Artifact | ValidDescription$ artifact | FoundDestination$ Battlefield | RevealedDestination$ Library | RevealedLibraryPosition$ -1 | RevealRandomOrder$ True | RememberRevealed$ True | SubAbility$ DBDealDamage | SpellDescription$ Reveal cards from the top of your library until you reveal an artifact card. Put that card onto the battlefield and the rest on the bottom of your library in a random order. CARDNAME deals damage to you equal to the number of cards revealed this way.
SVar:DBDealDamage:DB$ DealDamage | Defined$ You | NumDmg$ X | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:X:Remembered$Amount
SVar:Picture:http://www.wizards.com/global/images/magic/general/madcap_experiment.jpg
DeckNeeds:Type$Artifact
AI:RemoveDeck:Random
Oracle:Reveal cards from the top of your library until you reveal an artifact card. Put that card onto the battlefield and the rest on the bottom of your library in a random order. Madcap Experiment deals damage to you equal to the number of cards revealed this way.

View File

@@ -0,0 +1,8 @@
Name:Archaeomancer's Map
ManaCost:2 W
Types:Artifact
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Artifact.Self | Execute$ TrigSearch | TriggerDescription$ When CARDNAME enters the battlefield, search your library for up to two basic Plains cards, reveal them, put them into your hand, then shuffle.
SVar:TrigSearch:DB$ ChangeZone | Origin$ Library | Destination$ Hand | ChangeType$ Plains.Basic | ChangeNum$ 2 | Shuffle$ True
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Land.OppCtrl+ControllerControlsMoreLand | TriggerZones$ Battlefield | Execute$ TrigChangeZone | OptionalDecider$ You | TriggerDescription$ Whenever a land enters the battlefield under an opponent's control, if that player controls more lands than you, you may put a land card from your hand onto the battlefield.
SVar:TrigChangeZone:DB$ ChangeZone | Origin$ Hand | Destination$ Battlefield | ChangeType$ Land.YouCtrl
Oracle:When Archaeomancer's Map enters the battlefield, search your library for up to two basic Plains cards, reveal them, put them into your hand, then shuffle.\nWhenever a land enters the battlefield under an opponent's control, if that player controls more lands than you, you may put a land card from your hand onto the battlefield.

View File

@@ -0,0 +1,12 @@
Name:Audacious Reshapers
ManaCost:2 R
Types:Creature Human Artificer
PT:3/3
A:AB$ DigUntil | Cost$ T Sac<1/Artifact> | Valid$ Artifact | ValidDescription$ artifact | FoundDestination$ Battlefield | RevealedDestination$ Library | RevealedLibraryPosition$ -1 | RevealRandomOrder$ True | RememberRevealed$ True | SubAbility$ DBDealDamage | SpellDescription$ Reveal cards from the top of your library until you reveal an artifact card. Put that card onto the battlefield and the rest on the bottom of your library in a random order. CARDNAME deals damage to you equal to the number of cards revealed this way.
SVar:DBDealDamage:DB$ DealDamage | Defined$ You | NumDmg$ X | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:X:Remembered$Amount
DeckHas:Ability$Sacrifice
DeckNeeds:Type$Artifact
AI:RemoveDeck:Random
Oracle:{T}, Sacrifice an artifact: Reveal cards from the top of your library until you reveal an artifact card. Put that card onto the battlefield and the rest on the bottom of your library in a random order. Audacious Reshapers deals damage to you equal to the number of cards revealed this way.

View File

@@ -0,0 +1,7 @@
Name:Cursed Mirror
ManaCost:2 R
Types:Artifact
A:AB$ Mana | Cost$ T | Produced$ R | SpellDescription$ Add {R}.
K:ETBReplacement:Copy:DBCopy:Optional
SVar:DBCopy:DB$ Clone | Choices$ Creature | AddKeywords$ Haste | Duration$ UntilEndOfTurn | SpellDescription$ As CARDNAME enters the battlefield, you may have it become a copy of any creature on the battlefield until end of turn, except it has haste.
Oracle:{T}: Add {R}.\nAs Cursed Mirror enters the battlefield, you may have it become a copy of any creature on the battlefield until end of turn, except it has haste.

View File

@@ -0,0 +1,7 @@
Name:Monologue Tax
ManaCost:2 W
Types:Enchantment
T:Mode$ SpellCast | ValidActivatingPlayer$ Opponent | ActivatorThisTurnCast$ EQ2 | NoResolvingCheck$ True | TriggerZones$ Battlefield | Execute$ TrigToken | TriggerDescription$ Whenever an opponent casts their second spell each turn, you create a Treasure token.
SVar:TrigToken:DB$ Token | TokenScript$ c_a_treasure_sac
DeckHas:Ability$Token & Ability$Sacrifice
Oracle:Whenever an opponent casts their second spell each turn, you create a Treasure token.

View File

@@ -0,0 +1,14 @@
Name:Ruin Grinder
ManaCost:5 R
Types:Artifact Creature Construct
PT:7/4
K:Menace
T:Mode$ ChangesZone | ValidCard$ Card.Self | Origin$ Battlefield | Destination$ Graveyard | Execute$ TrigRepeatEach | TriggerDescription$ When CARDNAME dies, each player may discard their hand and draw seven cards.
SVar:TrigRepeatEach:DB$ RepeatEach | RepeatPlayers$ Player | RepeatSubAbility$ DBChoose
SVar:DBChoose:DB$ GenericChoice | Choices$ DBDiscard,Noop | Defined$ Player.IsRemembered
SVar:DBDiscard:DB$ Discard | Mode$ Hand | Defined$ Player.IsRemembered | SubAbility$ DBDraw | SpellDescription$ Discard your hand and draw seven cards.
SVar:DBDraw:DB$ Draw | Defined$ Player.IsRemembered | NumCards$ 7
SVar:Noop:DB$ Cleanup | SpellDescription$ Do nothing.
K:TypeCycling:Mountain:2
DeckHas:Ability$Discard
Oracle:Menace\nWhen Ruin Grinder dies, each player may discard their hand and draw seven cards.\nMountaincycling {2} ({2}, Discard this card: Search your library for a Mountain card, reveal it, put it into your hand, then shuffle.)

View File

@@ -0,0 +1,10 @@
Name:Study Hall
ManaCost:no cost
Types:Land
A:AB$ Mana | Cost$ T | Produced$ C | SpellDescription$ Add {C}.
A:AB$ Mana | Cost$ 1 T | Produced$ Any | Amount$ 1 | TriggersWhenSpent$ TrigSpent | SpellDescription$ Add one mana of any color. When you spend this mana to cast your commander, scry X, where X is the number of times it's been cast from the command zone this game.
SVar:TrigSpent:Mode$ SpellCast | ValidCard$ Card.IsCommander+YouOwn | ValidActivatingPlayer$ You | Execute$ TrigScry | TriggerDescription$ When you spend this mana to cast your commander, scry X, where X is the number of times it's been cast from the command zone this game.
SVar:TrigScry:DB$ Scry | ScryNum$ X
SVar:X:TriggeredCard$CommanderCastFromCommandZone
AI:RemoveDeck:NonCommander
Oracle:{T}: Add {C}.\n{1}, {T}: Add one mana of any color. When you spend this mana to cast your commander, scry X, where X is the number of times it's been cast from the command zone this game.