mirror of
https://github.com/magefree/mage.git
synced 2025-12-20 10:40:06 -08:00
This commit is contained in:
parent
c3a0c731d6
commit
dc8b51c59b
15 changed files with 26 additions and 0 deletions
|
|
@ -76,6 +76,8 @@ class CollectedConjuringEffect extends OneShotEffect {
|
|||
}
|
||||
Cards cards = new CardsImpl(controller.getLibrary().getTopCards(game, 6));
|
||||
controller.moveCards(cards, Zone.EXILED, source, game);
|
||||
game.processAction();
|
||||
cards.retainZone(Zone.EXILED, game);
|
||||
CardUtil.castMultipleWithAttributeForFree(controller, source, game, cards, filter, 2);
|
||||
controller.putCardsOnBottomOfLibrary(cards, game, source, false);
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -78,6 +78,8 @@ class DanceWithCalamityEffect extends OneShotEffect {
|
|||
player.moveCards(card, Zone.EXILED, source, game);
|
||||
cards.add(card);
|
||||
}
|
||||
game.processAction();
|
||||
cards.retainZone(Zone.EXILED, game);
|
||||
if (cards
|
||||
.getCards(game)
|
||||
.stream()
|
||||
|
|
|
|||
|
|
@ -79,6 +79,8 @@ class EmergentUltimatumEffect extends OneShotEffect {
|
|||
boolean searched = player.searchLibrary(targetCardInLibrary, source, game);
|
||||
Cards cards = new CardsImpl(targetCardInLibrary.getTargets());
|
||||
player.moveCards(cards, Zone.EXILED, source, game);
|
||||
game.processAction();
|
||||
cards.retainZone(Zone.EXILED, game);
|
||||
if (cards.isEmpty()) {
|
||||
if (searched) {
|
||||
player.shuffleLibrary(source, game);
|
||||
|
|
|
|||
|
|
@ -67,6 +67,8 @@ class EpicExperimentEffect extends OneShotEffect {
|
|||
}
|
||||
Cards cards = new CardsImpl(controller.getLibrary().getTopCards(game, CardUtil.getSourceCostsTag(game, source, "X", 0)));
|
||||
controller.moveCards(cards, Zone.EXILED, source, game);
|
||||
game.processAction();
|
||||
cards.retainZone(Zone.EXILED, game);
|
||||
FilterCard filter = new FilterInstantOrSorceryCard();
|
||||
filter.add(new ManaValuePredicate(ComparisonType.FEWER_THAN, CardUtil.getSourceCostsTag(game, source, "X", 0) + 1));
|
||||
CardUtil.castMultipleWithAttributeForFree(controller, source, game, cards, filter);
|
||||
|
|
|
|||
|
|
@ -91,6 +91,8 @@ class EtaliPrimalConquerorEffect extends OneShotEffect {
|
|||
}
|
||||
}
|
||||
}
|
||||
game.processAction();
|
||||
cards.retainZone(Zone.EXILED, game);
|
||||
CardUtil.castMultipleWithAttributeForFree(controller, source, game, cards, StaticFilters.FILTER_CARD);
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -78,6 +78,8 @@ class EtaliPrimalStormEffect extends OneShotEffect {
|
|||
}
|
||||
}
|
||||
controller.moveCards(cards, Zone.EXILED, source, game);
|
||||
game.processAction();
|
||||
cards.retainZone(Zone.EXILED, game);
|
||||
CardUtil.castMultipleWithAttributeForFree(controller, source, game, cards, filter);
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -78,6 +78,7 @@ class FeveredSuspicionEffect extends OneShotEffect {
|
|||
}
|
||||
}
|
||||
controller.moveCards(cards, Zone.EXILED, source, game);
|
||||
game.processAction();
|
||||
nonlands.retainZone(Zone.EXILED, game);
|
||||
CardUtil.castMultipleWithAttributeForFree(
|
||||
controller, source, game, nonlands,
|
||||
|
|
|
|||
|
|
@ -144,6 +144,7 @@ class GixYawgmothPraetorExileEffect extends OneShotEffect {
|
|||
int xValue = GetXValue.instance.calculate(game, source, this);
|
||||
Set<Card> toExile = opponent.getLibrary().getTopCards(game, xValue);
|
||||
controller.moveCards(toExile, Zone.EXILED, source, game);
|
||||
game.processAction();
|
||||
Cards cards = new CardsImpl(toExile);
|
||||
cards.retainZone(Zone.EXILED, game);
|
||||
CardUtil.castMultipleWithAttributeForFree(controller, source, game, cards, StaticFilters.FILTER_CARD, Integer.MAX_VALUE, null, true);
|
||||
|
|
|
|||
|
|
@ -79,6 +79,8 @@ class HazoretsUndyingFuryEffect extends OneShotEffect {
|
|||
// move cards from library to exile
|
||||
Cards cards = new CardsImpl(controller.getLibrary().getTopCards(game, 4));
|
||||
controller.moveCards(cards, Zone.EXILED, source, game);
|
||||
game.processAction();
|
||||
cards.retainZone(Zone.EXILED, game);
|
||||
// cast the possible cards without paying the mana
|
||||
CardUtil.castMultipleWithAttributeForFree(controller, source, game, cards, filter);
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -108,6 +108,7 @@ class JaceArchitectOfThoughtEffect3 extends OneShotEffect {
|
|||
controller.moveCards(card, Zone.EXILED, source, game);
|
||||
player.shuffleLibrary(source, game);
|
||||
}
|
||||
game.processAction();
|
||||
cards.retainZone(Zone.EXILED, game);
|
||||
CardUtil.castMultipleWithAttributeForFree(controller, source, game, cards, StaticFilters.FILTER_CARD);
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -114,6 +114,7 @@ class KefkaDancingMadEffect extends OneShotEffect {
|
|||
return false;
|
||||
}
|
||||
controller.moveCards(cards, Zone.EXILED, source, game);
|
||||
game.processAction();
|
||||
cards.retainZone(Zone.EXILED, game);
|
||||
KefkaDancingMadTracker tracker = new KefkaDancingMadTracker();
|
||||
CardUtil.castMultipleWithAttributeForFree(
|
||||
|
|
|
|||
|
|
@ -80,6 +80,8 @@ class KotisTheFangkeeperEffect extends OneShotEffect {
|
|||
controller.moveCards(cards, Zone.EXILED, source, game);
|
||||
FilterCard filter = new FilterCard();
|
||||
filter.add(new ManaValuePredicate(ComparisonType.FEWER_THAN, xValue + 1));
|
||||
game.processAction();
|
||||
cards.retainZone(Zone.EXILED, game);
|
||||
CardUtil.castMultipleWithAttributeForFree(controller, source, game, cards, filter);
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -110,6 +110,8 @@ class KyloxVisionaryInventorEffect extends OneShotEffect {
|
|||
return true;
|
||||
}
|
||||
player.moveCards(cards, Zone.EXILED, source, game);
|
||||
game.processAction();
|
||||
cards.retainZone(Zone.EXILED, game);
|
||||
CardUtil.castMultipleWithAttributeForFree(
|
||||
player, source, game, cards,
|
||||
StaticFilters.FILTER_CARD_INSTANT_OR_SORCERY
|
||||
|
|
|
|||
|
|
@ -132,6 +132,8 @@ class PrimevalSpawnSpellEffect extends OneShotEffect {
|
|||
}
|
||||
Cards cards = new CardsImpl(player.getLibrary().getTopCards(game, 10));
|
||||
player.moveCards(cards, Zone.EXILED, source, game);
|
||||
game.processAction();
|
||||
cards.retainZone(Zone.EXILED, game);
|
||||
CardUtil.castMultipleWithAttributeForFree(
|
||||
player, source, game, cards, StaticFilters.FILTER_CARD,
|
||||
Integer.MAX_VALUE, new PrimevalSpawnTracker()
|
||||
|
|
|
|||
|
|
@ -71,6 +71,8 @@ class VillainousWealthEffect extends OneShotEffect {
|
|||
}
|
||||
Cards cards = new CardsImpl(opponent.getLibrary().getTopCards(game, xValue));
|
||||
opponent.moveCards(cards, Zone.EXILED, source, game);
|
||||
game.processAction();
|
||||
cards.retainZone(Zone.EXILED, game);
|
||||
FilterCard filter = new FilterCard();
|
||||
filter.add(new ManaValuePredicate(ComparisonType.FEWER_THAN, CardUtil.getSourceCostsTag(game, source, "X", 0) + 1));
|
||||
CardUtil.castMultipleWithAttributeForFree(controller, source, game, cards, filter);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue