diff --git a/Mage.Sets/src/mage/sets/alarareborn/SovereignsOfLostAlara.java b/Mage.Sets/src/mage/sets/alarareborn/SovereignsOfLostAlara.java index a04ea9aaf2..26e5843509 100644 --- a/Mage.Sets/src/mage/sets/alarareborn/SovereignsOfLostAlara.java +++ b/Mage.Sets/src/mage/sets/alarareborn/SovereignsOfLostAlara.java @@ -151,7 +151,7 @@ class SovereignsOfLostAlaraEffect extends OneShotEffect { } } } - you.shuffleLibrary(game); + you.shuffleLibrary(source, game); } return false; } diff --git a/Mage.Sets/src/mage/sets/alarareborn/ThoughtHemorrhage.java b/Mage.Sets/src/mage/sets/alarareborn/ThoughtHemorrhage.java index 12eef6fe43..f3cc451325 100644 --- a/Mage.Sets/src/mage/sets/alarareborn/ThoughtHemorrhage.java +++ b/Mage.Sets/src/mage/sets/alarareborn/ThoughtHemorrhage.java @@ -140,7 +140,7 @@ class ThoughtHemorrhageEffect extends OneShotEffect { controller.moveCardToExileWithInfo(card, null, "", source.getSourceId(), game, Zone.LIBRARY, true); } } - targetPlayer.shuffleLibrary(game); + targetPlayer.shuffleLibrary(source, game); return true; } } diff --git a/Mage.Sets/src/mage/sets/alarareborn/Wargate.java b/Mage.Sets/src/mage/sets/alarareborn/Wargate.java index 38654b0877..32a4950265 100644 --- a/Mage.Sets/src/mage/sets/alarareborn/Wargate.java +++ b/Mage.Sets/src/mage/sets/alarareborn/Wargate.java @@ -96,7 +96,7 @@ class WargateEffect extends OneShotEffect { } } } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return false; } diff --git a/Mage.Sets/src/mage/sets/alliances/DiminishingReturns.java b/Mage.Sets/src/mage/sets/alliances/DiminishingReturns.java index cf62afcf15..4e36f3a474 100644 --- a/Mage.Sets/src/mage/sets/alliances/DiminishingReturns.java +++ b/Mage.Sets/src/mage/sets/alliances/DiminishingReturns.java @@ -87,7 +87,7 @@ class DiminishingReturnsEffect extends OneShotEffect { for (Card card: player.getGraveyard().getCards(game)) { card.moveToZone(Zone.LIBRARY, source.getSourceId(), game, true); } - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); } } diff --git a/Mage.Sets/src/mage/sets/antiquities/TransmuteArtifact.java b/Mage.Sets/src/mage/sets/antiquities/TransmuteArtifact.java index 7a12056f9a..edbd8ef02f 100644 --- a/Mage.Sets/src/mage/sets/antiquities/TransmuteArtifact.java +++ b/Mage.Sets/src/mage/sets/antiquities/TransmuteArtifact.java @@ -126,10 +126,10 @@ class TransmuteArtifactEffect extends SearchEffect { } } } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return true; } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return false; } diff --git a/Mage.Sets/src/mage/sets/apocalypse/WildResearch.java b/Mage.Sets/src/mage/sets/apocalypse/WildResearch.java index 7784cb8d7f..8aedbe4998 100644 --- a/Mage.Sets/src/mage/sets/apocalypse/WildResearch.java +++ b/Mage.Sets/src/mage/sets/apocalypse/WildResearch.java @@ -121,7 +121,7 @@ class WildResearchEffect extends OneShotEffect { } } controller.discardOne(true, source, game); - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/archenemy/YavimayaDryad.java b/Mage.Sets/src/mage/sets/archenemy/YavimayaDryad.java index 54e4d9cb53..7852ec5ada 100644 --- a/Mage.Sets/src/mage/sets/archenemy/YavimayaDryad.java +++ b/Mage.Sets/src/mage/sets/archenemy/YavimayaDryad.java @@ -111,7 +111,7 @@ class YavimayaDryadEffect extends SearchEffect { targetPlayer.moveCards(new CardsImpl(target.getTargets()).getCards(game), Zone.BATTLEFIELD, source, game, true, false, false, null); } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/battleforzendikar/BringToLight.java b/Mage.Sets/src/mage/sets/battleforzendikar/BringToLight.java index 5419dc8264..da15ccd19a 100644 --- a/Mage.Sets/src/mage/sets/battleforzendikar/BringToLight.java +++ b/Mage.Sets/src/mage/sets/battleforzendikar/BringToLight.java @@ -105,7 +105,7 @@ class BringToLightEffect extends OneShotEffect { if (card != null) { controller.moveCards(card, Zone.EXILED, source, game); } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); if (card != null) { if (controller.chooseUse(outcome, "Cast " + card.getName() + " without paying its mana cost?", source, game)) { if (card.getSpellAbility() != null) { diff --git a/Mage.Sets/src/mage/sets/betrayersofkamigawa/StreamOfConsciousness.java b/Mage.Sets/src/mage/sets/betrayersofkamigawa/StreamOfConsciousness.java index f4b77fc4c3..3ddbb3b8b5 100644 --- a/Mage.Sets/src/mage/sets/betrayersofkamigawa/StreamOfConsciousness.java +++ b/Mage.Sets/src/mage/sets/betrayersofkamigawa/StreamOfConsciousness.java @@ -105,7 +105,7 @@ class StreamOfConsciousnessEffect extends OneShotEffect { } } if (shuffle) { - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); } return true; } diff --git a/Mage.Sets/src/mage/sets/betrayersofkamigawa/SwayOfTheStars.java b/Mage.Sets/src/mage/sets/betrayersofkamigawa/SwayOfTheStars.java index 4764132a42..7903af1973 100644 --- a/Mage.Sets/src/mage/sets/betrayersofkamigawa/SwayOfTheStars.java +++ b/Mage.Sets/src/mage/sets/betrayersofkamigawa/SwayOfTheStars.java @@ -98,7 +98,7 @@ class SwayOfTheStarsEffect extends OneShotEffect { for (Permanent permanent : game.getBattlefield().getActivePermanents(filter, controller.getId(), source.getSourceId(), game)) { permanent.moveToZone(Zone.LIBRARY, source.getSourceId(), game, true); } - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); } } return true; diff --git a/Mage.Sets/src/mage/sets/bornofthegods/Peregrination.java b/Mage.Sets/src/mage/sets/bornofthegods/Peregrination.java index 688d96d808..0a8854394a 100644 --- a/Mage.Sets/src/mage/sets/bornofthegods/Peregrination.java +++ b/Mage.Sets/src/mage/sets/bornofthegods/Peregrination.java @@ -123,10 +123,10 @@ class PeregrinationEffect extends OneShotEffect { } } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return true; } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return false; } diff --git a/Mage.Sets/src/mage/sets/bornofthegods/UnravelTheAEther.java b/Mage.Sets/src/mage/sets/bornofthegods/UnravelTheAEther.java index fd87b5d72d..54722c6684 100644 --- a/Mage.Sets/src/mage/sets/bornofthegods/UnravelTheAEther.java +++ b/Mage.Sets/src/mage/sets/bornofthegods/UnravelTheAEther.java @@ -97,7 +97,7 @@ class UnravelTheAEtherShuffleIntoLibraryEffect extends OneShotEffect { Permanent permanent = game.getPermanent(targetPointer.getFirst(game, source)); if (permanent != null) { if (permanent.moveToZone(Zone.LIBRARY, source.getSourceId(), game, true)) { - game.getPlayer(permanent.getOwnerId()).shuffleLibrary(game); + game.getPlayer(permanent.getOwnerId()).shuffleLibrary(source, game); return true; } } diff --git a/Mage.Sets/src/mage/sets/bornofthegods/VortexElemental.java b/Mage.Sets/src/mage/sets/bornofthegods/VortexElemental.java index de6aaec283..7f458c5270 100644 --- a/Mage.Sets/src/mage/sets/bornofthegods/VortexElemental.java +++ b/Mage.Sets/src/mage/sets/bornofthegods/VortexElemental.java @@ -124,7 +124,7 @@ class VortexElementalEffect extends OneShotEffect { for (UUID playerId: playersToShuffle){ Player player = game.getPlayer(playerId); if (player != null) { - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); } } diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/GiftsUngiven.java b/Mage.Sets/src/mage/sets/championsofkamigawa/GiftsUngiven.java index d35a0c4b9b..9cfc2e45ec 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/GiftsUngiven.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/GiftsUngiven.java @@ -122,10 +122,10 @@ class GiftsUngivenEffect extends OneShotEffect { player.moveCards(cards, Zone.LIBRARY, Zone.GRAVEYARD, source, game); player.moveCards(cardsToKeep, Zone.LIBRARY, Zone.HAND, source, game); } - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); return true; } - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); return false; } } diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/InameDeathAspect.java b/Mage.Sets/src/mage/sets/championsofkamigawa/InameDeathAspect.java index 006973f52e..01b06c60d7 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/InameDeathAspect.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/InameDeathAspect.java @@ -100,7 +100,7 @@ class InameDeathAspectEffect extends SearchEffect { if (target.getTargets().size() > 0) { player.moveCards(new CardsImpl(target.getTargets()), Zone.LIBRARY, Zone.GRAVEYARD, source, game); } - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/Mindblaze.java b/Mage.Sets/src/mage/sets/championsofkamigawa/Mindblaze.java index 00550c441b..11704941c4 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/Mindblaze.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/Mindblaze.java @@ -129,7 +129,7 @@ class MindblazeEffect extends OneShotEffect { if (player.getLibrary().count(filter, game) == count) { player.damage(8, source.getSourceId(), game.copy(), false, true); } - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); } return false; } diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/NightDealings.java b/Mage.Sets/src/mage/sets/championsofkamigawa/NightDealings.java index 79ca6d3680..253d8cf560 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/NightDealings.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/NightDealings.java @@ -201,10 +201,10 @@ public class NightDealings extends CardImpl { player.revealCards(name, cards, game); game.informPlayers(player.getLogName() + " reveals " + card.getName()); } - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); return true; } - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); return false; } } diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/Reweave.java b/Mage.Sets/src/mage/sets/championsofkamigawa/Reweave.java index 6a82d96309..9e63fbf59f 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/Reweave.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/Reweave.java @@ -132,7 +132,7 @@ class ReweaveEffect extends OneShotEffect { cards.remove(card); } library.addAll(cards.getCards(game), game); - permanentController.shuffleLibrary(game); + permanentController.shuffleLibrary(source, game); } } return true; diff --git a/Mage.Sets/src/mage/sets/coldsnap/ArcumDagsson.java b/Mage.Sets/src/mage/sets/coldsnap/ArcumDagsson.java index 7205351a47..9c131bc8ad 100644 --- a/Mage.Sets/src/mage/sets/coldsnap/ArcumDagsson.java +++ b/Mage.Sets/src/mage/sets/coldsnap/ArcumDagsson.java @@ -125,7 +125,7 @@ class ArcumDagssonEffect extends OneShotEffect { player.moveCards(card, Zone.BATTLEFIELD, source, game); } } - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); } return true; } diff --git a/Mage.Sets/src/mage/sets/commander/BuriedAlive.java b/Mage.Sets/src/mage/sets/commander/BuriedAlive.java index d22057fca8..0419ce5533 100644 --- a/Mage.Sets/src/mage/sets/commander/BuriedAlive.java +++ b/Mage.Sets/src/mage/sets/commander/BuriedAlive.java @@ -93,7 +93,7 @@ class BuriedAliveEffect extends SearchEffect { if (controller.searchLibrary(target, game)) { controller.moveCards(new CardsImpl(target.getTargets()), Zone.LIBRARY, Zone.GRAVEYARD, source, game); } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/commander/CollectiveVoyage.java b/Mage.Sets/src/mage/sets/commander/CollectiveVoyage.java index 311d9dc066..76f6ff4e52 100644 --- a/Mage.Sets/src/mage/sets/commander/CollectiveVoyage.java +++ b/Mage.Sets/src/mage/sets/commander/CollectiveVoyage.java @@ -111,7 +111,7 @@ class CollectiveVoyageEffect extends OneShotEffect { } } - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); } } diff --git a/Mage.Sets/src/mage/sets/commander/KodamasReach.java b/Mage.Sets/src/mage/sets/commander/KodamasReach.java index 19c3bae05c..07d0f1ba55 100644 --- a/Mage.Sets/src/mage/sets/commander/KodamasReach.java +++ b/Mage.Sets/src/mage/sets/commander/KodamasReach.java @@ -125,10 +125,10 @@ class KodamasReachEffect extends OneShotEffect { } } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return true; } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return false; } diff --git a/Mage.Sets/src/mage/sets/commander/TrenchGorger.java b/Mage.Sets/src/mage/sets/commander/TrenchGorger.java index b9ca2c2412..123a8eeb62 100644 --- a/Mage.Sets/src/mage/sets/commander/TrenchGorger.java +++ b/Mage.Sets/src/mage/sets/commander/TrenchGorger.java @@ -106,7 +106,7 @@ class TrenchGorgerEffect extends OneShotEffect { controller.moveCardToExileWithInfo(card, null, "", source.getSourceId(), game, Zone.LIBRARY, true); count++; } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); game.addEffect(new SetPowerToughnessSourceEffect(count, count, Duration.EndOfGame, SubLayer.SetPT_7b), source); return true; } diff --git a/Mage.Sets/src/mage/sets/commander/VeteranExplorer.java b/Mage.Sets/src/mage/sets/commander/VeteranExplorer.java index 2f82430554..1001efeb04 100644 --- a/Mage.Sets/src/mage/sets/commander/VeteranExplorer.java +++ b/Mage.Sets/src/mage/sets/commander/VeteranExplorer.java @@ -106,7 +106,7 @@ class VeteranExplorerEffect extends OneShotEffect { } } for (Player player: usingPlayers) { - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); } return true; } diff --git a/Mage.Sets/src/mage/sets/commander2013/FromTheAshes.java b/Mage.Sets/src/mage/sets/commander2013/FromTheAshes.java index dcb24b8bb0..f22d72c29b 100644 --- a/Mage.Sets/src/mage/sets/commander2013/FromTheAshes.java +++ b/Mage.Sets/src/mage/sets/commander2013/FromTheAshes.java @@ -126,7 +126,7 @@ class FromTheAshesEffect extends OneShotEffect { } } } - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); } } diff --git a/Mage.Sets/src/mage/sets/commander2013/LimDulsVault.java b/Mage.Sets/src/mage/sets/commander2013/LimDulsVault.java index b3a64dece0..2e3b21d07d 100644 --- a/Mage.Sets/src/mage/sets/commander2013/LimDulsVault.java +++ b/Mage.Sets/src/mage/sets/commander2013/LimDulsVault.java @@ -108,7 +108,7 @@ class LimDulsVaultEffect extends OneShotEffect { if (doAgain) { player.loseLife(1, game); } else { - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); } TargetCard target = new TargetCard(Zone.LIBRARY, new FilterCard(doAgain ? textBottom : textTop)); diff --git a/Mage.Sets/src/mage/sets/commander2013/TemptWithDiscovery.java b/Mage.Sets/src/mage/sets/commander2013/TemptWithDiscovery.java index 608f28407c..bc9ee690e0 100644 --- a/Mage.Sets/src/mage/sets/commander2013/TemptWithDiscovery.java +++ b/Mage.Sets/src/mage/sets/commander2013/TemptWithDiscovery.java @@ -134,7 +134,7 @@ class TemptWithDiscoveryEffect extends OneShotEffect { for (UUID playerId : playersShuffle) { Player player = game.getPlayer(playerId); if (player != null) { - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); } } return true; diff --git a/Mage.Sets/src/mage/sets/commander2013/WidespreadPanic.java b/Mage.Sets/src/mage/sets/commander2013/WidespreadPanic.java index 7dd5c75d80..73a4942b56 100644 --- a/Mage.Sets/src/mage/sets/commander2013/WidespreadPanic.java +++ b/Mage.Sets/src/mage/sets/commander2013/WidespreadPanic.java @@ -55,7 +55,6 @@ public class WidespreadPanic extends CardImpl { super(ownerId, 131, "Widespread Panic", Rarity.RARE, new CardType[]{CardType.ENCHANTMENT}, "{2}{R}"); this.expansionSetCode = "C13"; - // Whenever a spell or ability causes its controller to shuffle his or her library, that player puts a card from his or her hand on top of his or her library. this.addAbility(new WidespreadPanicTriggeredAbility()); } @@ -92,10 +91,13 @@ class WidespreadPanicTriggeredAbility extends TriggeredAbilityImpl { @Override public boolean checkTrigger(GameEvent event, Game game) { - for (Effect effect :this.getEffects()) { - effect.setTargetPointer(new FixedTarget(event.getPlayerId())); + if (event.getPlayerId().equals(game.getControllerId(event.getSourceId()))) { + for (Effect effect : this.getEffects()) { + effect.setTargetPointer(new FixedTarget(event.getPlayerId())); + } + return true; } - return true; + return false; } @Override diff --git a/Mage.Sets/src/mage/sets/commander2014/WaveOfVitriol.java b/Mage.Sets/src/mage/sets/commander2014/WaveOfVitriol.java index 896954128f..b7983fd819 100644 --- a/Mage.Sets/src/mage/sets/commander2014/WaveOfVitriol.java +++ b/Mage.Sets/src/mage/sets/commander2014/WaveOfVitriol.java @@ -138,7 +138,7 @@ class WaveOfVitriolEffect extends OneShotEffect { } controller.moveCards(toBattlefield.getCards(game), Zone.BATTLEFIELD, source, game, true, false, true, null); for (Player player : playersToShuffle) { - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); } return true; diff --git a/Mage.Sets/src/mage/sets/commander2015/OreskosExplorer.java b/Mage.Sets/src/mage/sets/commander2015/OreskosExplorer.java index 2eaff4701e..85ff91a312 100644 --- a/Mage.Sets/src/mage/sets/commander2015/OreskosExplorer.java +++ b/Mage.Sets/src/mage/sets/commander2015/OreskosExplorer.java @@ -123,7 +123,7 @@ class OreskosExplorerEffect extends OneShotEffect { controller.moveCards(cards.getCards(game), Zone.HAND, source, game); } } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return true; } } diff --git a/Mage.Sets/src/mage/sets/commander2015/SyntheticDestiny.java b/Mage.Sets/src/mage/sets/commander2015/SyntheticDestiny.java index 142ddc269a..fd73800981 100644 --- a/Mage.Sets/src/mage/sets/commander2015/SyntheticDestiny.java +++ b/Mage.Sets/src/mage/sets/commander2015/SyntheticDestiny.java @@ -150,7 +150,7 @@ class SyntheticDestinyDelayedEffect extends OneShotEffect { controller.revealCards(sourceObject.getIdName(), revealed, game); controller.moveCards(creatureCards, Zone.BATTLEFIELD, source, game, false, false, true, null); controller.putCardsOnTopOfLibrary(nonCreatureCards, game, source, false); - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/conflux/Conflux.java b/Mage.Sets/src/mage/sets/conflux/Conflux.java index 1172422abe..2ba3da3696 100644 --- a/Mage.Sets/src/mage/sets/conflux/Conflux.java +++ b/Mage.Sets/src/mage/sets/conflux/Conflux.java @@ -173,7 +173,7 @@ class ConfluxEffect extends OneShotEffect { for (Card card : cards.getCards(game)) { card.moveToZone(Zone.HAND, source.getSourceId(), game, true); } - you.shuffleLibrary(game); + you.shuffleLibrary(source, game); } return true; } diff --git a/Mage.Sets/src/mage/sets/conflux/PathToExile.java b/Mage.Sets/src/mage/sets/conflux/PathToExile.java index ed66cc9597..dcb75c4167 100644 --- a/Mage.Sets/src/mage/sets/conflux/PathToExile.java +++ b/Mage.Sets/src/mage/sets/conflux/PathToExile.java @@ -101,7 +101,7 @@ class PathToExileEffect extends OneShotEffect { player.moveCards(card, Zone.BATTLEFIELD, source, game, true, false, false, null); } } - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); } return true; } diff --git a/Mage.Sets/src/mage/sets/conflux/ShardConvergence.java b/Mage.Sets/src/mage/sets/conflux/ShardConvergence.java index aa3393ce8c..a263079ea0 100644 --- a/Mage.Sets/src/mage/sets/conflux/ShardConvergence.java +++ b/Mage.Sets/src/mage/sets/conflux/ShardConvergence.java @@ -95,7 +95,7 @@ class ShardConvergenceEffect extends OneShotEffect { searchLand(player, source, game, cards, "Mountain"); player.revealCards("Shard Convergence", cards, game); - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); return true; } diff --git a/Mage.Sets/src/mage/sets/darkascension/ArchangelsLight.java b/Mage.Sets/src/mage/sets/darkascension/ArchangelsLight.java index 79d44bb154..1894a66535 100644 --- a/Mage.Sets/src/mage/sets/darkascension/ArchangelsLight.java +++ b/Mage.Sets/src/mage/sets/darkascension/ArchangelsLight.java @@ -87,7 +87,7 @@ class ArchangelsLightEffect extends OneShotEffect { for (Card card: controller.getGraveyard().getCards(game)) { controller.moveCardToLibraryWithInfo(card, source.getSourceId(), game, Zone.GRAVEYARD, true, true); } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/darkascension/CurseOfMisfortunes.java b/Mage.Sets/src/mage/sets/darkascension/CurseOfMisfortunes.java index ded4f2fa83..29dae5d38e 100644 --- a/Mage.Sets/src/mage/sets/darkascension/CurseOfMisfortunes.java +++ b/Mage.Sets/src/mage/sets/darkascension/CurseOfMisfortunes.java @@ -119,11 +119,11 @@ class CurseOfMisfortunesEffect extends OneShotEffect { if (card != null) { this.setTargetPointer(new FixedTarget(targetPlayer.getId())); game.getState().setValue("attachTo:" + card.getId(), targetPlayer.getId()); - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); return card.putOntoBattlefield(game, Zone.LIBRARY, source.getSourceId(), source.getControllerId()); } } - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); } } return false; diff --git a/Mage.Sets/src/mage/sets/darkascension/IncreasingAmbition.java b/Mage.Sets/src/mage/sets/darkascension/IncreasingAmbition.java index 281374c092..e17c8d332c 100644 --- a/Mage.Sets/src/mage/sets/darkascension/IncreasingAmbition.java +++ b/Mage.Sets/src/mage/sets/darkascension/IncreasingAmbition.java @@ -114,7 +114,7 @@ class IncreasingAmbitionEffect extends SearchEffect { } } // shuffle anyway - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); return true; } } diff --git a/Mage.Sets/src/mage/sets/darksteel/Reshape.java b/Mage.Sets/src/mage/sets/darksteel/Reshape.java index c1472d3c26..88c672c4fa 100644 --- a/Mage.Sets/src/mage/sets/darksteel/Reshape.java +++ b/Mage.Sets/src/mage/sets/darksteel/Reshape.java @@ -109,10 +109,10 @@ class ReshapeSearchEffect extends OneShotEffect { controller.moveCards(card, Zone.BATTLEFIELD, source, game); } } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return true; } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return false; } diff --git a/Mage.Sets/src/mage/sets/dissension/HideSeek.java b/Mage.Sets/src/mage/sets/dissension/HideSeek.java index ec7a715806..6b787b1e8d 100644 --- a/Mage.Sets/src/mage/sets/dissension/HideSeek.java +++ b/Mage.Sets/src/mage/sets/dissension/HideSeek.java @@ -122,7 +122,7 @@ class SeekEffect extends OneShotEffect { } } } - opponent.shuffleLibrary(game); + opponent.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/dissension/LoamingShaman.java b/Mage.Sets/src/mage/sets/dissension/LoamingShaman.java index ebcb19547c..cd000b50aa 100644 --- a/Mage.Sets/src/mage/sets/dissension/LoamingShaman.java +++ b/Mage.Sets/src/mage/sets/dissension/LoamingShaman.java @@ -102,7 +102,7 @@ class LoamingShamanEffect extends OneShotEffect { card.moveToZone(Zone.LIBRARY, source.getSourceId(), game, true); } } - targetPlayer.shuffleLibrary(game); + targetPlayer.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/dissension/ProteanHulk.java b/Mage.Sets/src/mage/sets/dissension/ProteanHulk.java index a05dbabe29..909aca4c6e 100644 --- a/Mage.Sets/src/mage/sets/dissension/ProteanHulk.java +++ b/Mage.Sets/src/mage/sets/dissension/ProteanHulk.java @@ -99,7 +99,7 @@ class ProteanHulkEffect extends OneShotEffect { if (controller != null) { Cards cardsPicked = this.ProteanHulkSearch(game, source); controller.moveCards(cardsPicked.getCards(game), Zone.BATTLEFIELD, source, game); - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/dissension/ResearchDevelopment.java b/Mage.Sets/src/mage/sets/dissension/ResearchDevelopment.java index 7f8df2846f..d18336fdd9 100644 --- a/Mage.Sets/src/mage/sets/dissension/ResearchDevelopment.java +++ b/Mage.Sets/src/mage/sets/dissension/ResearchDevelopment.java @@ -140,7 +140,7 @@ class ResearchEffect extends OneShotEffect { game.informPlayers(player.getLogName() + " has chosen " + count + " card(s) to shuffle into his or her library."); if (count > 0) { - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); } return true; diff --git a/Mage.Sets/src/mage/sets/dragonsmaze/ReapIntellect.java b/Mage.Sets/src/mage/sets/dragonsmaze/ReapIntellect.java index 4525ee27d9..1515e56a5b 100644 --- a/Mage.Sets/src/mage/sets/dragonsmaze/ReapIntellect.java +++ b/Mage.Sets/src/mage/sets/dragonsmaze/ReapIntellect.java @@ -168,7 +168,7 @@ class ReapIntellectEffect extends OneShotEffect { } - targetPlayer.shuffleLibrary(game); + targetPlayer.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/dragonsoftarkir/LearnFromThePast.java b/Mage.Sets/src/mage/sets/dragonsoftarkir/LearnFromThePast.java index 59d356c1f4..6b5e55c3dd 100644 --- a/Mage.Sets/src/mage/sets/dragonsoftarkir/LearnFromThePast.java +++ b/Mage.Sets/src/mage/sets/dragonsoftarkir/LearnFromThePast.java @@ -92,7 +92,7 @@ class LearnFromThePastEffect extends OneShotEffect { for (Card card: player.getGraveyard().getCards(game)) { player.moveCardToLibraryWithInfo(card, source.getSourceId(), game, Zone.GRAVEYARD, true, true); } - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/eventide/EndlessHorizons.java b/Mage.Sets/src/mage/sets/eventide/EndlessHorizons.java index 17af8a3fdc..4524eb35c0 100644 --- a/Mage.Sets/src/mage/sets/eventide/EndlessHorizons.java +++ b/Mage.Sets/src/mage/sets/eventide/EndlessHorizons.java @@ -115,7 +115,7 @@ class EndlessHorizonsEffect extends SearchEffect { } } } - you.shuffleLibrary(game); + you.shuffleLibrary(source, game); return true; } diff --git a/Mage.Sets/src/mage/sets/eventide/NightmareIncursion.java b/Mage.Sets/src/mage/sets/eventide/NightmareIncursion.java index 5f418502f6..81101765b8 100644 --- a/Mage.Sets/src/mage/sets/eventide/NightmareIncursion.java +++ b/Mage.Sets/src/mage/sets/eventide/NightmareIncursion.java @@ -122,7 +122,7 @@ class NightmareIncursionEffect extends OneShotEffect { } } if (targetPlayer != null) { - targetPlayer.shuffleLibrary(game); + targetPlayer.shuffleLibrary(source, game); } return result; } diff --git a/Mage.Sets/src/mage/sets/fatereforged/RenownedWeaponsmith.java b/Mage.Sets/src/mage/sets/fatereforged/RenownedWeaponsmith.java index d2daeff57e..4a1a01b88e 100644 --- a/Mage.Sets/src/mage/sets/fatereforged/RenownedWeaponsmith.java +++ b/Mage.Sets/src/mage/sets/fatereforged/RenownedWeaponsmith.java @@ -153,7 +153,7 @@ class RenownedWeaponsmithEffect extends OneShotEffect { controller.moveCards(revealed, null, Zone.HAND, source, game); } } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/fifthdawn/Acquire.java b/Mage.Sets/src/mage/sets/fifthdawn/Acquire.java index bae08d6783..92a530228b 100644 --- a/Mage.Sets/src/mage/sets/fifthdawn/Acquire.java +++ b/Mage.Sets/src/mage/sets/fifthdawn/Acquire.java @@ -69,7 +69,7 @@ class AcquireEffect extends OneShotEffect { if (targetCard != null) { controller.moveCards(targetCard, Zone.BATTLEFIELD, source, game); } - opponent.shuffleLibrary(game); + opponent.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/fifthedition/JestersCap.java b/Mage.Sets/src/mage/sets/fifthedition/JestersCap.java index c6b4c69acd..09783fc3c2 100644 --- a/Mage.Sets/src/mage/sets/fifthedition/JestersCap.java +++ b/Mage.Sets/src/mage/sets/fifthedition/JestersCap.java @@ -104,7 +104,7 @@ class JestersCapEffect extends OneShotEffect { applied |= player.moveCardToExileWithInfo(targetCard, null, null, source.getSourceId(), game, Zone.LIBRARY, true); } } - targetPlayer.shuffleLibrary(game); + targetPlayer.shuffleLibrary(source, game); } return applied; } diff --git a/Mage.Sets/src/mage/sets/fifthedition/Portent.java b/Mage.Sets/src/mage/sets/fifthedition/Portent.java index cd0e30a64a..0f5607e1a3 100644 --- a/Mage.Sets/src/mage/sets/fifthedition/Portent.java +++ b/Mage.Sets/src/mage/sets/fifthedition/Portent.java @@ -123,7 +123,7 @@ class PortentEffect extends OneShotEffect { card.moveToZone(Zone.LIBRARY, source.getSourceId(), game, true); } if (you.chooseUse(Outcome.Neutral, "You may have that player shuffle his or her library", source, game)){ - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); } return true; } diff --git a/Mage.Sets/src/mage/sets/fifthedition/WindsOfChange.java b/Mage.Sets/src/mage/sets/fifthedition/WindsOfChange.java index c056c1ec21..5c110b4600 100644 --- a/Mage.Sets/src/mage/sets/fifthedition/WindsOfChange.java +++ b/Mage.Sets/src/mage/sets/fifthedition/WindsOfChange.java @@ -90,7 +90,7 @@ class WindsOfChangeEffect extends OneShotEffect { if (player != null) { permanentsCount.put(playerId, player.getHand().size()); player.moveCards(player.getHand(), Zone.HAND, Zone.LIBRARY, source, game); - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); } } for (UUID playerId : game.getState().getPlayersInRange(source.getControllerId(), game)) { diff --git a/Mage.Sets/src/mage/sets/futuresight/BitterOrdeal.java b/Mage.Sets/src/mage/sets/futuresight/BitterOrdeal.java index e11657f27d..ce2c55a4a4 100644 --- a/Mage.Sets/src/mage/sets/futuresight/BitterOrdeal.java +++ b/Mage.Sets/src/mage/sets/futuresight/BitterOrdeal.java @@ -99,7 +99,7 @@ class BitterOrdealEffect extends OneShotEffect { controller.moveCardToExileWithInfo(card, null, null, source.getSourceId(), game, Zone.LIBRARY, true); } } - targetPlayer.shuffleLibrary(game); + targetPlayer.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/gatecrash/SereneRemembrance.java b/Mage.Sets/src/mage/sets/gatecrash/SereneRemembrance.java index 50959950ba..1a5aebf412 100644 --- a/Mage.Sets/src/mage/sets/gatecrash/SereneRemembrance.java +++ b/Mage.Sets/src/mage/sets/gatecrash/SereneRemembrance.java @@ -106,10 +106,10 @@ class SereneRemembranceEffect extends OneShotEffect { result |= card.moveToZone(Zone.LIBRARY, source.getSourceId(), game, false); Player player = game.getPlayer(card.getOwnerId()); if (player != null){ - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); } if (graveyardPlayer != null && !graveyardPlayer.equals(player)) { - graveyardPlayer.shuffleLibrary(game); + graveyardPlayer.shuffleLibrary(source, game); } return result; } diff --git a/Mage.Sets/src/mage/sets/gatecrash/SignalTheClans.java b/Mage.Sets/src/mage/sets/gatecrash/SignalTheClans.java index 895994b2fd..eccdf8921b 100644 --- a/Mage.Sets/src/mage/sets/gatecrash/SignalTheClans.java +++ b/Mage.Sets/src/mage/sets/gatecrash/SignalTheClans.java @@ -118,10 +118,10 @@ class SignalTheClansEffect extends SearchEffect { card.moveToZone(Zone.LIBRARY, source.getSourceId(), game, true); } } - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); return true; } - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); return false; } diff --git a/Mage.Sets/src/mage/sets/gatecrash/UnexpectedResults.java b/Mage.Sets/src/mage/sets/gatecrash/UnexpectedResults.java index e5a485d81f..932574c998 100644 --- a/Mage.Sets/src/mage/sets/gatecrash/UnexpectedResults.java +++ b/Mage.Sets/src/mage/sets/gatecrash/UnexpectedResults.java @@ -111,7 +111,7 @@ class UnexpectedResultEffect extends OneShotEffect { return false; } if (controller.getLibrary().size() > 0) { - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); Card card = controller.getLibrary().getFromTop(game); if (card == null) { return false; diff --git a/Mage.Sets/src/mage/sets/guildpact/SkeletalVampire.java b/Mage.Sets/src/mage/sets/guildpact/SkeletalVampire.java index 66437c854b..8f46265a15 100644 --- a/Mage.Sets/src/mage/sets/guildpact/SkeletalVampire.java +++ b/Mage.Sets/src/mage/sets/guildpact/SkeletalVampire.java @@ -28,11 +28,7 @@ package mage.sets.guildpact; import java.util.UUID; - -import mage.constants.CardType; -import mage.constants.Rarity; import mage.MageInt; -import mage.ObjectColor; import mage.abilities.Ability; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.common.SimpleActivatedAbility; @@ -42,6 +38,8 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.effects.common.RegenerateSourceEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.mageobject.SubtypePredicate; diff --git a/Mage.Sets/src/mage/sets/innistrad/BitterheartWitch.java b/Mage.Sets/src/mage/sets/innistrad/BitterheartWitch.java index 2fe0fc9e9a..f5250fd577 100644 --- a/Mage.Sets/src/mage/sets/innistrad/BitterheartWitch.java +++ b/Mage.Sets/src/mage/sets/innistrad/BitterheartWitch.java @@ -111,10 +111,10 @@ class BitterheartWitchEffect extends OneShotEffect { card.putOntoBattlefield(game, Zone.LIBRARY, source.getSourceId(), source.getControllerId()); targetPlayer.addAttachment(card.getId(), game); } - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); return true; } - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); } return false; } diff --git a/Mage.Sets/src/mage/sets/innistrad/CaravanVigil.java b/Mage.Sets/src/mage/sets/innistrad/CaravanVigil.java index 7bbd95e03b..83381655cf 100644 --- a/Mage.Sets/src/mage/sets/innistrad/CaravanVigil.java +++ b/Mage.Sets/src/mage/sets/innistrad/CaravanVigil.java @@ -106,7 +106,7 @@ class CaravanVigilEffect extends OneShotEffect { controller.revealCards(sourceObject.getIdName(), cards, game); } } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/innistrad/GarrukTheVeilCursed.java b/Mage.Sets/src/mage/sets/innistrad/GarrukTheVeilCursed.java index 4a5d8e531d..62381ffeae 100644 --- a/Mage.Sets/src/mage/sets/innistrad/GarrukTheVeilCursed.java +++ b/Mage.Sets/src/mage/sets/innistrad/GarrukTheVeilCursed.java @@ -184,7 +184,7 @@ class GarrukTheVeilCursedEffect extends OneShotEffect { controller.revealCards("Garruk, the Veil-Cursed", cards, game); } // shuffle - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/innistrad/GhostQuarter.java b/Mage.Sets/src/mage/sets/innistrad/GhostQuarter.java index b765642f37..398588bc19 100644 --- a/Mage.Sets/src/mage/sets/innistrad/GhostQuarter.java +++ b/Mage.Sets/src/mage/sets/innistrad/GhostQuarter.java @@ -107,7 +107,7 @@ class GhostQuarterEffect extends OneShotEffect { controller.moveCards(card, Zone.BATTLEFIELD, source, game); } } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); } return true; } diff --git a/Mage.Sets/src/mage/sets/innistrad/MemorysJourney.java b/Mage.Sets/src/mage/sets/innistrad/MemorysJourney.java index 654c90130c..2bc4ea3ef5 100644 --- a/Mage.Sets/src/mage/sets/innistrad/MemorysJourney.java +++ b/Mage.Sets/src/mage/sets/innistrad/MemorysJourney.java @@ -108,7 +108,7 @@ class MemorysJourneyEffect extends OneShotEffect { } } if (shuffle) { - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); } return true; } diff --git a/Mage.Sets/src/mage/sets/innistrad/MirrorMadPhantasm.java b/Mage.Sets/src/mage/sets/innistrad/MirrorMadPhantasm.java index 6b54330e69..2fad473b1d 100644 --- a/Mage.Sets/src/mage/sets/innistrad/MirrorMadPhantasm.java +++ b/Mage.Sets/src/mage/sets/innistrad/MirrorMadPhantasm.java @@ -94,7 +94,7 @@ class MirrorMadPhantasmEffect extends OneShotEffect { Player player = game.getPlayer(perm.getOwnerId()); if (player != null) { perm.moveToZone(Zone.LIBRARY, source.getSourceId(), game, true); - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); Cards cards = new CardsImpl(); while (true) { Card card = player.getLibrary().removeFromTop(game); diff --git a/Mage.Sets/src/mage/sets/invasion/ThicketElemental.java b/Mage.Sets/src/mage/sets/invasion/ThicketElemental.java index e669ddd5ad..c444c5d63f 100644 --- a/Mage.Sets/src/mage/sets/invasion/ThicketElemental.java +++ b/Mage.Sets/src/mage/sets/invasion/ThicketElemental.java @@ -107,7 +107,7 @@ class ThicketElementalEffect extends OneShotEffect { } controller.revealCards(sourceObject.getIdName(), revealedCards, game); controller.moveCards(revealedCards, Zone.LIBRARY, source, game); - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/judgment/KrosanReclamation.java b/Mage.Sets/src/mage/sets/judgment/KrosanReclamation.java index 70ba340902..28f4ee0b65 100644 --- a/Mage.Sets/src/mage/sets/judgment/KrosanReclamation.java +++ b/Mage.Sets/src/mage/sets/judgment/KrosanReclamation.java @@ -108,7 +108,7 @@ class KrosanReclamationEffect extends OneShotEffect { } } if (shuffle) { - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); } return true; } diff --git a/Mage.Sets/src/mage/sets/judgment/QuietSpeculation.java b/Mage.Sets/src/mage/sets/judgment/QuietSpeculation.java index 0891389430..dfa2e1e17e 100644 --- a/Mage.Sets/src/mage/sets/judgment/QuietSpeculation.java +++ b/Mage.Sets/src/mage/sets/judgment/QuietSpeculation.java @@ -109,10 +109,10 @@ class SearchLibraryPutInGraveEffect extends SearchEffect { player.revealCards("Quiet Speculation", cards, game); player.moveCards(cards, Zone.LIBRARY, Zone.GRAVEYARD, source, game); } - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); return true; } - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); return false; } diff --git a/Mage.Sets/src/mage/sets/khansoftarkir/CranialArchive.java b/Mage.Sets/src/mage/sets/khansoftarkir/CranialArchive.java index 8c3ffe1705..2152a9cbc8 100644 --- a/Mage.Sets/src/mage/sets/khansoftarkir/CranialArchive.java +++ b/Mage.Sets/src/mage/sets/khansoftarkir/CranialArchive.java @@ -96,7 +96,7 @@ class CranialArchiveEffect extends OneShotEffect { for (Card card: targetPlayer.getGraveyard().getCards(game)){ targetPlayer.moveCardToLibraryWithInfo(card, source.getSourceId(), game, Zone.GRAVEYARD, true, true); } - targetPlayer.shuffleLibrary(game); + targetPlayer.shuffleLibrary(source, game); } controller.drawCards(1, game); return true; diff --git a/Mage.Sets/src/mage/sets/legions/DarkSupplicant.java b/Mage.Sets/src/mage/sets/legions/DarkSupplicant.java index 36d802aa73..a1216dc0c2 100644 --- a/Mage.Sets/src/mage/sets/legions/DarkSupplicant.java +++ b/Mage.Sets/src/mage/sets/legions/DarkSupplicant.java @@ -128,7 +128,7 @@ class DarkSupplicantEffect extends OneShotEffect { } } } - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); } // Graveyard check if (player.chooseUse(Outcome.Benefit, "Do you want to search your graveyard for Scion of Darkness?", source, game)) { diff --git a/Mage.Sets/src/mage/sets/legions/ElvishSoultiller.java b/Mage.Sets/src/mage/sets/legions/ElvishSoultiller.java index 014632be1d..d874ba5654 100644 --- a/Mage.Sets/src/mage/sets/legions/ElvishSoultiller.java +++ b/Mage.Sets/src/mage/sets/legions/ElvishSoultiller.java @@ -113,7 +113,7 @@ class ElvishSoultillerEffect extends OneShotEffect { filter.add(new SubtypePredicate(typeChoice.getChoice())); cardsToLibrary.addAll(controller.getGraveyard().getCards(filter, source.getSourceId(), source.getControllerId(), game)); controller.putCardsOnTopOfLibrary(cardsToLibrary, game, source, false); - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/limitedalpha/NaturalSelection.java b/Mage.Sets/src/mage/sets/limitedalpha/NaturalSelection.java index 160c413016..c6b246ee6f 100644 --- a/Mage.Sets/src/mage/sets/limitedalpha/NaturalSelection.java +++ b/Mage.Sets/src/mage/sets/limitedalpha/NaturalSelection.java @@ -120,7 +120,7 @@ class NaturalSelectionEffect extends OneShotEffect { card.moveToZone(Zone.LIBRARY, source.getSourceId(), game, true); } if (you.chooseUse(Outcome.Neutral, "You may have that player shuffle his or her library", source, game)){ - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); } return true; } diff --git a/Mage.Sets/src/mage/sets/limitedalpha/Timetwister.java b/Mage.Sets/src/mage/sets/limitedalpha/Timetwister.java index b515aba3a5..479b4d68a2 100644 --- a/Mage.Sets/src/mage/sets/limitedalpha/Timetwister.java +++ b/Mage.Sets/src/mage/sets/limitedalpha/Timetwister.java @@ -86,7 +86,7 @@ class TimetwisterEffect extends OneShotEffect { if (player != null) { player.moveCards(player.getHand(), Zone.HAND, Zone.LIBRARY, source, game); player.moveCards(player.getGraveyard(), Zone.GRAVEYARD, Zone.LIBRARY, source, game); - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); } } return true; diff --git a/Mage.Sets/src/mage/sets/lorwyn/PrimalCommand.java b/Mage.Sets/src/mage/sets/lorwyn/PrimalCommand.java index 8c241d4b72..09797b749f 100644 --- a/Mage.Sets/src/mage/sets/lorwyn/PrimalCommand.java +++ b/Mage.Sets/src/mage/sets/lorwyn/PrimalCommand.java @@ -124,7 +124,7 @@ class PrimalCommandShuffleGraveyardEffect extends OneShotEffect { for (Card card: player.getGraveyard().getCards(game)) { player.moveCardToLibraryWithInfo(card, source.getSourceId(), game, Zone.GRAVEYARD, true, true); } - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/magic2010/HauntingEchoes.java b/Mage.Sets/src/mage/sets/magic2010/HauntingEchoes.java index 56cd51479a..aebf7a0490 100644 --- a/Mage.Sets/src/mage/sets/magic2010/HauntingEchoes.java +++ b/Mage.Sets/src/mage/sets/magic2010/HauntingEchoes.java @@ -107,7 +107,7 @@ class HauntingEchoesEffect extends OneShotEffect { } } } - targetPlayer.shuffleLibrary(game); + targetPlayer.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/magic2010/SphinxAmbassador.java b/Mage.Sets/src/mage/sets/magic2010/SphinxAmbassador.java index c76befa295..6c755b0e61 100644 --- a/Mage.Sets/src/mage/sets/magic2010/SphinxAmbassador.java +++ b/Mage.Sets/src/mage/sets/magic2010/SphinxAmbassador.java @@ -130,7 +130,7 @@ class SphinxAmbassadorEffect extends OneShotEffect { } } - targetPlayer.shuffleLibrary(game); + targetPlayer.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/magic2010/WarpWorld.java b/Mage.Sets/src/mage/sets/magic2010/WarpWorld.java index 71a2986efa..3bd2c0129c 100644 --- a/Mage.Sets/src/mage/sets/magic2010/WarpWorld.java +++ b/Mage.Sets/src/mage/sets/magic2010/WarpWorld.java @@ -117,7 +117,7 @@ class WarpWorldEffect extends OneShotEffect { } if (count > 0) { - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); } permanentsCount.put(playerId, count); } diff --git a/Mage.Sets/src/mage/sets/magic2011/Cultivate.java b/Mage.Sets/src/mage/sets/magic2011/Cultivate.java index d8b36c4334..2366ad34ff 100644 --- a/Mage.Sets/src/mage/sets/magic2011/Cultivate.java +++ b/Mage.Sets/src/mage/sets/magic2011/Cultivate.java @@ -126,10 +126,10 @@ class CultivateEffect extends OneShotEffect { } } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return true; } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return false; } diff --git a/Mage.Sets/src/mage/sets/magic2011/ElixirOfImmortality.java b/Mage.Sets/src/mage/sets/magic2011/ElixirOfImmortality.java index 19f46b5c95..59fce8e85e 100644 --- a/Mage.Sets/src/mage/sets/magic2011/ElixirOfImmortality.java +++ b/Mage.Sets/src/mage/sets/magic2011/ElixirOfImmortality.java @@ -92,7 +92,7 @@ class ElixerOfImmortalityEffect extends OneShotEffect { for (Card card: player.getGraveyard().getCards(game)) { player.moveCardToLibraryWithInfo(card, source.getSourceId(), game, Zone.GRAVEYARD, true, true); } - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/magic2011/HoardingDragon.java b/Mage.Sets/src/mage/sets/magic2011/HoardingDragon.java index 409bfe4f20..d4cbb80a3f 100644 --- a/Mage.Sets/src/mage/sets/magic2011/HoardingDragon.java +++ b/Mage.Sets/src/mage/sets/magic2011/HoardingDragon.java @@ -113,7 +113,7 @@ class HoardingDragonEffect extends OneShotEffect { } } } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/magic2011/MassPolymorph.java b/Mage.Sets/src/mage/sets/magic2011/MassPolymorph.java index cd3743fde2..b6dc54bedb 100644 --- a/Mage.Sets/src/mage/sets/magic2011/MassPolymorph.java +++ b/Mage.Sets/src/mage/sets/magic2011/MassPolymorph.java @@ -112,7 +112,7 @@ class MassPolymorphEffect extends OneShotEffect { controller.revealCards(sourceObject.getIdName(), revealed, game); controller.moveCards(creatureCards, Zone.BATTLEFIELD, source, game, false, false, true, null); controller.putCardsOnTopOfLibrary(nonCreatureCards, game, source, false); - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/magic2011/TimeReversal.java b/Mage.Sets/src/mage/sets/magic2011/TimeReversal.java index adf004f62a..546496984a 100644 --- a/Mage.Sets/src/mage/sets/magic2011/TimeReversal.java +++ b/Mage.Sets/src/mage/sets/magic2011/TimeReversal.java @@ -88,7 +88,7 @@ class TimeReversalEffect extends OneShotEffect { if (player != null) { player.moveCards(player.getHand(), Zone.HAND, Zone.LIBRARY, source, game); player.moveCards(player.getGraveyard(), Zone.GRAVEYARD, Zone.LIBRARY, source, game); - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); } } return true; diff --git a/Mage.Sets/src/mage/sets/magic2012/ArachnusSpinner.java b/Mage.Sets/src/mage/sets/magic2012/ArachnusSpinner.java index e4b6948586..ee691e0c3b 100644 --- a/Mage.Sets/src/mage/sets/magic2012/ArachnusSpinner.java +++ b/Mage.Sets/src/mage/sets/magic2012/ArachnusSpinner.java @@ -140,7 +140,7 @@ class ArachnusSpinnerEffect extends OneShotEffect { zone = Zone.LIBRARY; } } - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); } if (card != null) { Permanent permanent = game.getPermanent(source.getFirstTarget()); diff --git a/Mage.Sets/src/mage/sets/magic2012/DoublingChant.java b/Mage.Sets/src/mage/sets/magic2012/DoublingChant.java index 339fc133be..275f508d8b 100644 --- a/Mage.Sets/src/mage/sets/magic2012/DoublingChant.java +++ b/Mage.Sets/src/mage/sets/magic2012/DoublingChant.java @@ -123,7 +123,7 @@ class DoublingChantEffect extends OneShotEffect { for (Card card : chosenCards) { card.putOntoBattlefield(game, Zone.LIBRARY, source.getSourceId(), source.getControllerId()); } - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); return true; } } diff --git a/Mage.Sets/src/mage/sets/magic2013/BoundlessRealms.java b/Mage.Sets/src/mage/sets/magic2013/BoundlessRealms.java index 922f1e1f5f..e84cfae55b 100644 --- a/Mage.Sets/src/mage/sets/magic2013/BoundlessRealms.java +++ b/Mage.Sets/src/mage/sets/magic2013/BoundlessRealms.java @@ -99,7 +99,7 @@ class BoundlessRealmsEffect extends OneShotEffect { if (controller.searchLibrary(target, game)) { controller.moveCards(new CardsImpl(target.getTargets()).getCards(game), Zone.BATTLEFIELD, source, game, true, false, false, null); } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return true; } } diff --git a/Mage.Sets/src/mage/sets/magic2013/DiabolicRevelation.java b/Mage.Sets/src/mage/sets/magic2013/DiabolicRevelation.java index 1d602cf2b4..5dc66de7b4 100644 --- a/Mage.Sets/src/mage/sets/magic2013/DiabolicRevelation.java +++ b/Mage.Sets/src/mage/sets/magic2013/DiabolicRevelation.java @@ -103,7 +103,7 @@ class DiabolicRevelationEffect extends OneShotEffect { } } - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); return true; } } diff --git a/Mage.Sets/src/mage/sets/magic2013/GemOfBecoming.java b/Mage.Sets/src/mage/sets/magic2013/GemOfBecoming.java index 2cd24acb98..0a17e98f28 100644 --- a/Mage.Sets/src/mage/sets/magic2013/GemOfBecoming.java +++ b/Mage.Sets/src/mage/sets/magic2013/GemOfBecoming.java @@ -106,7 +106,7 @@ class GemOfBecomingEffect extends OneShotEffect { searchLand(player, source, game, cards, "Mountain"); player.revealCards("Gem of Becoming", cards, game); - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); return false; } diff --git a/Mage.Sets/src/mage/sets/magic2013/ShimianSpecter.java b/Mage.Sets/src/mage/sets/magic2013/ShimianSpecter.java index a8753258ab..9dff0e9280 100644 --- a/Mage.Sets/src/mage/sets/magic2013/ShimianSpecter.java +++ b/Mage.Sets/src/mage/sets/magic2013/ShimianSpecter.java @@ -157,7 +157,7 @@ class ShimianSpecterEffect extends OneShotEffect { controller.moveCardToExileWithInfo(card, null, "", source.getSourceId(), game, Zone.LIBRARY, true); } } - targetPlayer.shuffleLibrary(game); + targetPlayer.shuffleLibrary(source, game); } return true; } diff --git a/Mage.Sets/src/mage/sets/magic2013/VoidStalker.java b/Mage.Sets/src/mage/sets/magic2013/VoidStalker.java index 516e26059b..a305d23ca8 100644 --- a/Mage.Sets/src/mage/sets/magic2013/VoidStalker.java +++ b/Mage.Sets/src/mage/sets/magic2013/VoidStalker.java @@ -94,13 +94,13 @@ class VoidStalkerEffect extends OneShotEffect { p.moveToZone(Zone.LIBRARY, source.getSourceId(), game, true); Player pl = game.getPlayer(p.getControllerId()); if (pl != null) - pl.shuffleLibrary(game); + pl.shuffleLibrary(source, game); } if (s != null) { s.moveToZone(Zone.LIBRARY, source.getSourceId(), game, true); Player pl = game.getPlayer(s.getControllerId()); if (pl != null) - pl.shuffleLibrary(game); + pl.shuffleLibrary(source, game); } return true; } diff --git a/Mage.Sets/src/mage/sets/magic2015/BoonweaverGiant.java b/Mage.Sets/src/mage/sets/magic2015/BoonweaverGiant.java index d5f432ff10..29ca0b29c1 100644 --- a/Mage.Sets/src/mage/sets/magic2015/BoonweaverGiant.java +++ b/Mage.Sets/src/mage/sets/magic2015/BoonweaverGiant.java @@ -134,7 +134,7 @@ class BoonweaverGiantEffect extends OneShotEffect { zone = Zone.LIBRARY; } } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); } // aura card found - attach it if (card != null) { diff --git a/Mage.Sets/src/mage/sets/magic2015/GenesisHydra.java b/Mage.Sets/src/mage/sets/magic2015/GenesisHydra.java index 03eda36b2f..6aabfd7510 100644 --- a/Mage.Sets/src/mage/sets/magic2015/GenesisHydra.java +++ b/Mage.Sets/src/mage/sets/magic2015/GenesisHydra.java @@ -141,7 +141,7 @@ class GenesisHydraPutOntoBattlefieldEffect extends OneShotEffect { game.informPlayers("No nonland permanent card with converted mana cost " + count + " or less to choose."); } controller.moveCards(cards, Zone.LIBRARY, source, game); - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return true; } diff --git a/Mage.Sets/src/mage/sets/magic2015/JaceTheLivingGuildpact.java b/Mage.Sets/src/mage/sets/magic2015/JaceTheLivingGuildpact.java index 796b76aab9..00a3ffac0c 100644 --- a/Mage.Sets/src/mage/sets/magic2015/JaceTheLivingGuildpact.java +++ b/Mage.Sets/src/mage/sets/magic2015/JaceTheLivingGuildpact.java @@ -119,7 +119,7 @@ class JaceTheLivingGuildpactEffect extends OneShotEffect { for (Card card : player.getGraveyard().getCards(game)) { card.moveToZone(Zone.LIBRARY, source.getSourceId(), game, true); } - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); } } controller.drawCards(7, game); diff --git a/Mage.Sets/src/mage/sets/magic2015/NissaWorldwaker.java b/Mage.Sets/src/mage/sets/magic2015/NissaWorldwaker.java index c1fc0b51a8..87157efcc9 100644 --- a/Mage.Sets/src/mage/sets/magic2015/NissaWorldwaker.java +++ b/Mage.Sets/src/mage/sets/magic2015/NissaWorldwaker.java @@ -145,7 +145,7 @@ class NissaWorldwakerSearchEffect extends OneShotEffect { } } } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return true; } } diff --git a/Mage.Sets/src/mage/sets/magic2015/YisanTheWandererBard.java b/Mage.Sets/src/mage/sets/magic2015/YisanTheWandererBard.java index 978e17f81d..e4344e181d 100644 --- a/Mage.Sets/src/mage/sets/magic2015/YisanTheWandererBard.java +++ b/Mage.Sets/src/mage/sets/magic2015/YisanTheWandererBard.java @@ -114,7 +114,7 @@ class YisanTheWandererBardEffect extends OneShotEffect { Card card = controller.getLibrary().getCard(target.getFirstTarget(), game); controller.moveCards(card, Zone.BATTLEFIELD, source, game); } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/magicorigins/DaysUndoing.java b/Mage.Sets/src/mage/sets/magicorigins/DaysUndoing.java index 9e68ba3fd7..25ec4f5455 100644 --- a/Mage.Sets/src/mage/sets/magicorigins/DaysUndoing.java +++ b/Mage.Sets/src/mage/sets/magicorigins/DaysUndoing.java @@ -90,7 +90,7 @@ class DaysUndoingEffect extends OneShotEffect { if (player != null) { player.moveCards(player.getHand(), Zone.HAND, Zone.LIBRARY, source, game); player.moveCards(player.getGraveyard(), Zone.GRAVEYARD, Zone.LIBRARY, source, game); - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); } } diff --git a/Mage.Sets/src/mage/sets/magicorigins/NissasPilgrimage.java b/Mage.Sets/src/mage/sets/magicorigins/NissasPilgrimage.java index d6023fed3f..491a0a1442 100644 --- a/Mage.Sets/src/mage/sets/magicorigins/NissasPilgrimage.java +++ b/Mage.Sets/src/mage/sets/magicorigins/NissasPilgrimage.java @@ -118,7 +118,7 @@ class NissasPilgrimageEffect extends OneShotEffect { } } } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/magicorigins/TheGreatAurora.java b/Mage.Sets/src/mage/sets/magicorigins/TheGreatAurora.java index 82e8cf7636..23e0f0f1ee 100644 --- a/Mage.Sets/src/mage/sets/magicorigins/TheGreatAurora.java +++ b/Mage.Sets/src/mage/sets/magicorigins/TheGreatAurora.java @@ -120,7 +120,7 @@ class TheGreatAuroraEffect extends OneShotEffect { for (Permanent permanent : list) { player.moveCardToLibraryWithInfo(permanent, source.getSourceId(), game, Zone.BATTLEFIELD, true, true); } - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); } } diff --git a/Mage.Sets/src/mage/sets/magicorigins/WoodlandBellower.java b/Mage.Sets/src/mage/sets/magicorigins/WoodlandBellower.java index 3df2f8848c..28dd2aa24d 100644 --- a/Mage.Sets/src/mage/sets/magicorigins/WoodlandBellower.java +++ b/Mage.Sets/src/mage/sets/magicorigins/WoodlandBellower.java @@ -105,10 +105,10 @@ class WoodlandBellowerEffect extends OneShotEffect { Card card = controller.getLibrary().getCard(target.getFirstTarget(), game); controller.moveCards(card, Zone.BATTLEFIELD, source, game); } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return true; } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return false; } diff --git a/Mage.Sets/src/mage/sets/mercadianmasques/Bribery.java b/Mage.Sets/src/mage/sets/mercadianmasques/Bribery.java index c7aec37344..ff5f26b092 100644 --- a/Mage.Sets/src/mage/sets/mercadianmasques/Bribery.java +++ b/Mage.Sets/src/mage/sets/mercadianmasques/Bribery.java @@ -93,7 +93,7 @@ class BriberyEffect extends OneShotEffect { Card card = opponent.getLibrary().getCard(target.getFirstTarget(), game); controller.moveCards(card, Zone.BATTLEFIELD, source, game); } - opponent.shuffleLibrary(game); + opponent.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/mirrodin/PsychogenicProbe.java b/Mage.Sets/src/mage/sets/mirrodin/PsychogenicProbe.java index 0c4b4c1004..53caca3bf0 100644 --- a/Mage.Sets/src/mage/sets/mirrodin/PsychogenicProbe.java +++ b/Mage.Sets/src/mage/sets/mirrodin/PsychogenicProbe.java @@ -83,7 +83,7 @@ class PsychogenicProbeTriggeredAbility extends TriggeredAbilityImpl { public boolean checkEventType(GameEvent event, Game game) { return event.getType().equals(EventType.LIBRARY_SHUFFLED); } - + @java.lang.Override public boolean checkTrigger(GameEvent event, Game game) { for (Effect effect : this.getEffects()) { @@ -94,6 +94,6 @@ class PsychogenicProbeTriggeredAbility extends TriggeredAbilityImpl { @java.lang.Override public String getRule() { - return "Whenever a spell or ability causes a player to shuffle his or her library, Psychogenic Probe deals 2 damage to him or her."; + return "Whenever a spell or ability causes a player to shuffle his or her library, {this} deals 2 damage to him or her."; } } diff --git a/Mage.Sets/src/mage/sets/mirrodin/TemporalCascade.java b/Mage.Sets/src/mage/sets/mirrodin/TemporalCascade.java index 608423f382..23fe883035 100644 --- a/Mage.Sets/src/mage/sets/mirrodin/TemporalCascade.java +++ b/Mage.Sets/src/mage/sets/mirrodin/TemporalCascade.java @@ -96,7 +96,7 @@ class TemporalCascadeShuffleEffect extends OneShotEffect { for (Card card: player.getGraveyard().getCards(game)) { card.moveToZone(Zone.LIBRARY, source.getSourceId(), game, true); } - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); } } diff --git a/Mage.Sets/src/mage/sets/mirrodinbesieged/DistantMemories.java b/Mage.Sets/src/mage/sets/mirrodinbesieged/DistantMemories.java index 7277623499..35ab4db555 100644 --- a/Mage.Sets/src/mage/sets/mirrodinbesieged/DistantMemories.java +++ b/Mage.Sets/src/mage/sets/mirrodinbesieged/DistantMemories.java @@ -93,7 +93,7 @@ class DistantMemoriesEffect extends OneShotEffect { Card card = player.getLibrary().remove(target.getFirstTarget(), game); if (card != null) { card.moveToZone(Zone.EXILED, source.getSourceId(), game, false); - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); StringBuilder sb = new StringBuilder(); sb.append("Have ").append(player.getLogName()).append(" put ").append(card.getName()); @@ -117,7 +117,7 @@ class DistantMemoriesEffect extends OneShotEffect { return true; } } - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); return false; } } diff --git a/Mage.Sets/src/mage/sets/mirrodinbesieged/GreenSunsZenith.java b/Mage.Sets/src/mage/sets/mirrodinbesieged/GreenSunsZenith.java index 03cb3e2fbf..34f473222e 100644 --- a/Mage.Sets/src/mage/sets/mirrodinbesieged/GreenSunsZenith.java +++ b/Mage.Sets/src/mage/sets/mirrodinbesieged/GreenSunsZenith.java @@ -105,10 +105,10 @@ class GreenSunsZenithSearchEffect extends OneShotEffect { controller.moveCards(card, Zone.BATTLEFIELD, source, game); } } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return true; } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return false; } diff --git a/Mage.Sets/src/mage/sets/modernmasters/EarwigSquad.java b/Mage.Sets/src/mage/sets/modernmasters/EarwigSquad.java index f27ad78a1c..32550c635a 100644 --- a/Mage.Sets/src/mage/sets/modernmasters/EarwigSquad.java +++ b/Mage.Sets/src/mage/sets/modernmasters/EarwigSquad.java @@ -114,7 +114,7 @@ class EarwigSquadEffect extends OneShotEffect { } } } - opponent.shuffleLibrary(game); + opponent.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/modernmasters/Riftsweeper.java b/Mage.Sets/src/mage/sets/modernmasters/Riftsweeper.java index 04994b60d4..39263316f1 100644 --- a/Mage.Sets/src/mage/sets/modernmasters/Riftsweeper.java +++ b/Mage.Sets/src/mage/sets/modernmasters/Riftsweeper.java @@ -105,7 +105,7 @@ class RiftsweeperEffect extends OneShotEffect { card.getCounters(game).clear(); // move to exile card.moveToZone(Zone.LIBRARY, source.getSourceId(), game, true); - game.getPlayer(card.getOwnerId()).shuffleLibrary(game); + game.getPlayer(card.getOwnerId()).shuffleLibrary(source, game); game.informPlayers(new StringBuilder("Riftsweeper: Choosen card was ").append(card.getName()).toString()); return true; } diff --git a/Mage.Sets/src/mage/sets/modernmasters/StonehewerGiant.java b/Mage.Sets/src/mage/sets/modernmasters/StonehewerGiant.java index 4529b1346e..948ffd8430 100644 --- a/Mage.Sets/src/mage/sets/modernmasters/StonehewerGiant.java +++ b/Mage.Sets/src/mage/sets/modernmasters/StonehewerGiant.java @@ -123,7 +123,7 @@ class StonehewerGiantEffect extends OneShotEffect { } } } - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); return true; } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/morningtide/Deglamer.java b/Mage.Sets/src/mage/sets/morningtide/Deglamer.java index 4c1007a491..d846617c89 100644 --- a/Mage.Sets/src/mage/sets/morningtide/Deglamer.java +++ b/Mage.Sets/src/mage/sets/morningtide/Deglamer.java @@ -97,7 +97,7 @@ class DeglamerShuffleIntoLibraryEffect extends OneShotEffect { Permanent permanent = game.getPermanent(targetPointer.getFirst(game, source)); if (permanent != null) { if (permanent.moveToZone(Zone.LIBRARY, source.getSourceId(), game, true) ) { - game.getPlayer(permanent.getOwnerId()).shuffleLibrary(game); + game.getPlayer(permanent.getOwnerId()).shuffleLibrary(source, game); return true; } } diff --git a/Mage.Sets/src/mage/sets/morningtide/KnowledgeExploitation.java b/Mage.Sets/src/mage/sets/morningtide/KnowledgeExploitation.java index be0f8018af..6edc2d12ad 100644 --- a/Mage.Sets/src/mage/sets/morningtide/KnowledgeExploitation.java +++ b/Mage.Sets/src/mage/sets/morningtide/KnowledgeExploitation.java @@ -99,7 +99,7 @@ class KnowledgeExploitationEffect extends OneShotEffect { controller.cast(card.getSpellAbility(), game, true); } } - opponent.shuffleLibrary(game); + opponent.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/morningtide/MaralenOfTheMornsong.java b/Mage.Sets/src/mage/sets/morningtide/MaralenOfTheMornsong.java index a27ea51b97..284937582f 100644 --- a/Mage.Sets/src/mage/sets/morningtide/MaralenOfTheMornsong.java +++ b/Mage.Sets/src/mage/sets/morningtide/MaralenOfTheMornsong.java @@ -137,7 +137,7 @@ class MaralenOfTheMornsongEffect2 extends OneShotEffect { player.putInHand(card, game); } } - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/morningtide/Scapeshift.java b/Mage.Sets/src/mage/sets/morningtide/Scapeshift.java index 5e7f57e6dd..4d7429c65f 100644 --- a/Mage.Sets/src/mage/sets/morningtide/Scapeshift.java +++ b/Mage.Sets/src/mage/sets/morningtide/Scapeshift.java @@ -105,10 +105,10 @@ class ScapeshiftEffect extends OneShotEffect { if (controller.searchLibrary(target, game)) { controller.moveCards(new CardsImpl(target.getTargets()).getCards(game), Zone.BATTLEFIELD, source, game, true, false, false, null); - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return true; } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return false; } diff --git a/Mage.Sets/src/mage/sets/nemesis/LinSivviDefiantHero.java b/Mage.Sets/src/mage/sets/nemesis/LinSivviDefiantHero.java index 3748ad5425..e7885670b1 100644 --- a/Mage.Sets/src/mage/sets/nemesis/LinSivviDefiantHero.java +++ b/Mage.Sets/src/mage/sets/nemesis/LinSivviDefiantHero.java @@ -136,10 +136,10 @@ class LinSivviDefiantHeroEffect extends OneShotEffect { if (card != null) { controller.moveCards(card, Zone.BATTLEFIELD, source, game); } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return true; } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return false; } } diff --git a/Mage.Sets/src/mage/sets/nemesis/RootwaterThief.java b/Mage.Sets/src/mage/sets/nemesis/RootwaterThief.java index 3cc720fe8c..fee16b3d10 100644 --- a/Mage.Sets/src/mage/sets/nemesis/RootwaterThief.java +++ b/Mage.Sets/src/mage/sets/nemesis/RootwaterThief.java @@ -111,7 +111,7 @@ class RootwaterThiefEffect extends OneShotEffect { } } - damagedPlayer.shuffleLibrary(game); + damagedPlayer.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/newphyrexia/BirthingPod.java b/Mage.Sets/src/mage/sets/newphyrexia/BirthingPod.java index 8109def52a..af8b2dc64e 100644 --- a/Mage.Sets/src/mage/sets/newphyrexia/BirthingPod.java +++ b/Mage.Sets/src/mage/sets/newphyrexia/BirthingPod.java @@ -111,7 +111,7 @@ class BirthingPodEffect extends OneShotEffect { Card card = controller.getLibrary().getCard(target.getFirstTarget(), game); controller.moveCards(card, Zone.BATTLEFIELD, source, game); } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/newphyrexia/LifesFinale.java b/Mage.Sets/src/mage/sets/newphyrexia/LifesFinale.java index cb6f9dcb8c..04e61c187a 100644 --- a/Mage.Sets/src/mage/sets/newphyrexia/LifesFinale.java +++ b/Mage.Sets/src/mage/sets/newphyrexia/LifesFinale.java @@ -102,7 +102,7 @@ class LifesFinaleEffect extends OneShotEffect { if (player.searchLibrary(target, game, opponent.getId())) { player.moveCards(new CardsImpl(target.getTargets()), Zone.LIBRARY, Zone.GRAVEYARD, source, game); } - opponent.shuffleLibrary(game); + opponent.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/newphyrexia/PraetorsGrasp.java b/Mage.Sets/src/mage/sets/newphyrexia/PraetorsGrasp.java index f101663e2b..d1cf987a55 100644 --- a/Mage.Sets/src/mage/sets/newphyrexia/PraetorsGrasp.java +++ b/Mage.Sets/src/mage/sets/newphyrexia/PraetorsGrasp.java @@ -107,7 +107,7 @@ class PraetorsGraspEffect extends OneShotEffect { game.addEffect(new PraetorsGraspRevealEffect(card.getId()), source); } } - opponent.shuffleLibrary(game); + opponent.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/newphyrexia/SurgicalExtraction.java b/Mage.Sets/src/mage/sets/newphyrexia/SurgicalExtraction.java index 2c5f5d0272..f0ed025488 100644 --- a/Mage.Sets/src/mage/sets/newphyrexia/SurgicalExtraction.java +++ b/Mage.Sets/src/mage/sets/newphyrexia/SurgicalExtraction.java @@ -157,7 +157,7 @@ class SurgicalExtractionEffect extends OneShotEffect { } } } - owner.shuffleLibrary(game); + owner.shuffleLibrary(source, game); return true; } } diff --git a/Mage.Sets/src/mage/sets/oathofthegatewatch/InverterOfTruth.java b/Mage.Sets/src/mage/sets/oathofthegatewatch/InverterOfTruth.java index a182186ab9..7082e7d9fd 100644 --- a/Mage.Sets/src/mage/sets/oathofthegatewatch/InverterOfTruth.java +++ b/Mage.Sets/src/mage/sets/oathofthegatewatch/InverterOfTruth.java @@ -102,7 +102,7 @@ class ExileLibraryEffect extends OneShotEffect { for (Card cardToLibrary: controller.getGraveyard().getCards(game)) { controller.moveCardToLibraryWithInfo(cardToLibrary, source.getSourceId(), game, Zone.GRAVEYARD, true, true); } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/oathofthegatewatch/RuinInTheirWake.java b/Mage.Sets/src/mage/sets/oathofthegatewatch/RuinInTheirWake.java index 03735bc69f..907e3f421e 100644 --- a/Mage.Sets/src/mage/sets/oathofthegatewatch/RuinInTheirWake.java +++ b/Mage.Sets/src/mage/sets/oathofthegatewatch/RuinInTheirWake.java @@ -114,7 +114,7 @@ class RuinInTheirWakeEffect extends OneShotEffect { } } } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/odyssey/Entomb.java b/Mage.Sets/src/mage/sets/odyssey/Entomb.java index 887ef80e5d..5d0d2a3ed6 100644 --- a/Mage.Sets/src/mage/sets/odyssey/Entomb.java +++ b/Mage.Sets/src/mage/sets/odyssey/Entomb.java @@ -94,7 +94,7 @@ class SearchLibraryPutInGraveyard extends SearchEffect { if (controller.searchLibrary(target, game)) { controller.moveCards(game.getCard(target.getFirstTarget()), Zone.LIBRARY, Zone.GRAVEYARD, source, game); } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return true; } diff --git a/Mage.Sets/src/mage/sets/odyssey/Extract.java b/Mage.Sets/src/mage/sets/odyssey/Extract.java index 2e2c46f05f..55b494d636 100644 --- a/Mage.Sets/src/mage/sets/odyssey/Extract.java +++ b/Mage.Sets/src/mage/sets/odyssey/Extract.java @@ -99,7 +99,7 @@ class ExtractEffect extends OneShotEffect { player.moveCardToExileWithInfo(card, null, null, source.getSourceId(), game, Zone.LIBRARY, true); } } - targetPlayer.shuffleLibrary(game); + targetPlayer.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/onslaught/Oblation.java b/Mage.Sets/src/mage/sets/onslaught/Oblation.java index 5bf88ee64a..faad36c4c6 100644 --- a/Mage.Sets/src/mage/sets/onslaught/Oblation.java +++ b/Mage.Sets/src/mage/sets/onslaught/Oblation.java @@ -88,7 +88,7 @@ class OblationEffect extends OneShotEffect { Player player = game.getPlayer(permanent.getOwnerId()); if (player != null) { player.moveCardToLibraryWithInfo(permanent, source.getSourceId(), game, Zone.BATTLEFIELD, true, true); - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); game.applyEffects(); // so effects from creatures that were on the battlefield won't trigger from draw diff --git a/Mage.Sets/src/mage/sets/onslaught/Reminisce.java b/Mage.Sets/src/mage/sets/onslaught/Reminisce.java index 1b8f8181c3..8cf4c1b01c 100644 --- a/Mage.Sets/src/mage/sets/onslaught/Reminisce.java +++ b/Mage.Sets/src/mage/sets/onslaught/Reminisce.java @@ -88,7 +88,7 @@ class ReminisceEffect extends OneShotEffect { for (Card card: player.getGraveyard().getCards(game)) { card.moveToZone(Zone.LIBRARY, source.getSourceId(), game, true); } - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/onslaught/RiptideShapeshifter.java b/Mage.Sets/src/mage/sets/onslaught/RiptideShapeshifter.java index 615d8f2ee1..960c8515a4 100644 --- a/Mage.Sets/src/mage/sets/onslaught/RiptideShapeshifter.java +++ b/Mage.Sets/src/mage/sets/onslaught/RiptideShapeshifter.java @@ -119,7 +119,7 @@ class RiptideShapeshifterEffect extends OneShotEffect { } controller.revealCards(sourceObject.getIdName(), revealedCards, game); controller.moveCards(revealedCards, Zone.LIBRARY, source, game); - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/onslaught/SupremeInquisitor.java b/Mage.Sets/src/mage/sets/onslaught/SupremeInquisitor.java index 6ee3d653f1..bad15e8680 100644 --- a/Mage.Sets/src/mage/sets/onslaught/SupremeInquisitor.java +++ b/Mage.Sets/src/mage/sets/onslaught/SupremeInquisitor.java @@ -125,7 +125,7 @@ class SupremeInquisitorEffect extends OneShotEffect { } } } - targetPlayer.shuffleLibrary(game); + targetPlayer.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/onslaught/WeirdHarvest.java b/Mage.Sets/src/mage/sets/onslaught/WeirdHarvest.java index 2818d33279..27d13e909a 100644 --- a/Mage.Sets/src/mage/sets/onslaught/WeirdHarvest.java +++ b/Mage.Sets/src/mage/sets/onslaught/WeirdHarvest.java @@ -103,7 +103,7 @@ class WeirdHarvestEffect extends OneShotEffect { } } for (Player player : usingPlayers) { - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); } return true; } diff --git a/Mage.Sets/src/mage/sets/planarchaos/Extirpate.java b/Mage.Sets/src/mage/sets/planarchaos/Extirpate.java index 3fc6247b90..0a0ba9fbb1 100644 --- a/Mage.Sets/src/mage/sets/planarchaos/Extirpate.java +++ b/Mage.Sets/src/mage/sets/planarchaos/Extirpate.java @@ -149,7 +149,7 @@ class ExtirpateEffect extends OneShotEffect { } } } - owner.shuffleLibrary(game); + owner.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/planarchaos/WildPair.java b/Mage.Sets/src/mage/sets/planarchaos/WildPair.java index 0f917e6940..6318fb6558 100644 --- a/Mage.Sets/src/mage/sets/planarchaos/WildPair.java +++ b/Mage.Sets/src/mage/sets/planarchaos/WildPair.java @@ -111,7 +111,7 @@ class WildPairEffect extends OneShotEffect { controller.moveCards(new CardsImpl(target.getTargets()), Zone.BATTLEFIELD, source, game); } } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return true; } } diff --git a/Mage.Sets/src/mage/sets/planechase/CorpseHarvester.java b/Mage.Sets/src/mage/sets/planechase/CorpseHarvester.java index f3cd4d23d9..cc0e3729b6 100644 --- a/Mage.Sets/src/mage/sets/planechase/CorpseHarvester.java +++ b/Mage.Sets/src/mage/sets/planechase/CorpseHarvester.java @@ -112,7 +112,7 @@ class CorpseHarvesterEffect extends OneShotEffect { searchCard(you, source, game, cards, "Zombie"); searchCard(you, source, game, cards, "Swamp"); you.revealCards("Corpse Harvester", cards, game); - you.shuffleLibrary(game); + you.shuffleLibrary(source, game); return true; } diff --git a/Mage.Sets/src/mage/sets/planechase2012/WhirlpoolWarrior.java b/Mage.Sets/src/mage/sets/planechase2012/WhirlpoolWarrior.java index 5b32fa15d1..3be9f4ea43 100644 --- a/Mage.Sets/src/mage/sets/planechase2012/WhirlpoolWarrior.java +++ b/Mage.Sets/src/mage/sets/planechase2012/WhirlpoolWarrior.java @@ -109,7 +109,7 @@ class WhirlpoolWarriorActivatedEffect extends OneShotEffect { if (cardsHand > 0) { playerCards.put(playerId, cardsHand); player.moveCards(player.getHand(), Zone.LIBRARY, source, game); - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); } } } diff --git a/Mage.Sets/src/mage/sets/planeshift/SkyshipWeatherlight.java b/Mage.Sets/src/mage/sets/planeshift/SkyshipWeatherlight.java index 06d9fb2a02..c7eaa582df 100644 --- a/Mage.Sets/src/mage/sets/planeshift/SkyshipWeatherlight.java +++ b/Mage.Sets/src/mage/sets/planeshift/SkyshipWeatherlight.java @@ -102,7 +102,7 @@ class SkyshipWeatherlightEffect extends SearchEffect { } } } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/ravnica/ChordOfCalling.java b/Mage.Sets/src/mage/sets/ravnica/ChordOfCalling.java index 4a499e1aa2..fe6d0131c9 100644 --- a/Mage.Sets/src/mage/sets/ravnica/ChordOfCalling.java +++ b/Mage.Sets/src/mage/sets/ravnica/ChordOfCalling.java @@ -104,10 +104,10 @@ class ChordofCallingSearchEffect extends OneShotEffect { card.putOntoBattlefield(game, Zone.LIBRARY, source.getSourceId(), source.getControllerId()); } } - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); return true; } - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); return false; } diff --git a/Mage.Sets/src/mage/sets/ravnica/CongregationAtDawn.java b/Mage.Sets/src/mage/sets/ravnica/CongregationAtDawn.java index 555db0e605..4330cd0bbe 100644 --- a/Mage.Sets/src/mage/sets/ravnica/CongregationAtDawn.java +++ b/Mage.Sets/src/mage/sets/ravnica/CongregationAtDawn.java @@ -103,7 +103,7 @@ class CongregationAtDawnEffect extends OneShotEffect { revealed.add(card); } controller.revealCards(sourceObject.getName(), revealed, game); - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); TargetCard targetToLib = new TargetCard(Zone.LIBRARY, new FilterCard(textTop)); diff --git a/Mage.Sets/src/mage/sets/ravnica/Grozoth.java b/Mage.Sets/src/mage/sets/ravnica/Grozoth.java index 275279bbff..f6dd13b3a6 100644 --- a/Mage.Sets/src/mage/sets/ravnica/Grozoth.java +++ b/Mage.Sets/src/mage/sets/ravnica/Grozoth.java @@ -130,7 +130,7 @@ class GrozothEffect extends SearchEffect { player.revealCards(sourceCard.getIdName(), cards, game); player.moveCards(cards, Zone.LIBRARY, Zone.HAND, source, game); } - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/ravnica/MnemonicNexus.java b/Mage.Sets/src/mage/sets/ravnica/MnemonicNexus.java index 6cbfa4b855..7ca214e12f 100644 --- a/Mage.Sets/src/mage/sets/ravnica/MnemonicNexus.java +++ b/Mage.Sets/src/mage/sets/ravnica/MnemonicNexus.java @@ -83,7 +83,7 @@ class MnemonicNexusEffect extends OneShotEffect { for (Card card: player.getGraveyard().getCards(game)) { card.moveToZone(Zone.LIBRARY, source.getSourceId(), game, true); } - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); } } return true; diff --git a/Mage.Sets/src/mage/sets/ravnica/Sunforger.java b/Mage.Sets/src/mage/sets/ravnica/Sunforger.java index 5c0fbb8d9e..dec4f5974e 100644 --- a/Mage.Sets/src/mage/sets/ravnica/Sunforger.java +++ b/Mage.Sets/src/mage/sets/ravnica/Sunforger.java @@ -132,7 +132,7 @@ class SunforgerEffect extends OneShotEffect { } } } - you.shuffleLibrary(game); + you.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/returntoravnica/FiremindsForesight.java b/Mage.Sets/src/mage/sets/returntoravnica/FiremindsForesight.java index c56f82b0dd..babc433d1b 100644 --- a/Mage.Sets/src/mage/sets/returntoravnica/FiremindsForesight.java +++ b/Mage.Sets/src/mage/sets/returntoravnica/FiremindsForesight.java @@ -128,7 +128,7 @@ class FiremindsForesightSearchEffect extends OneShotEffect { } } - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); return true; } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/returntoravnica/JaceArchitectOfThought.java b/Mage.Sets/src/mage/sets/returntoravnica/JaceArchitectOfThought.java index 3625172df1..548cc80d1e 100644 --- a/Mage.Sets/src/mage/sets/returntoravnica/JaceArchitectOfThought.java +++ b/Mage.Sets/src/mage/sets/returntoravnica/JaceArchitectOfThought.java @@ -311,7 +311,7 @@ class JaceArchitectOfThoughtEffect3 extends OneShotEffect { controller.moveCardToExileWithInfo(card, CardUtil.getCardExileZoneId(game, source), sourcePermanent.getIdName(), source.getSourceId(), game, Zone.LIBRARY, true); } } - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); } ExileZone jaceExileZone = game.getExile().getExileZone(CardUtil.getCardExileZoneId(game, source)); diff --git a/Mage.Sets/src/mage/sets/returntoravnica/JaradsOrders.java b/Mage.Sets/src/mage/sets/returntoravnica/JaradsOrders.java index 89e8c94500..63adffc93b 100644 --- a/Mage.Sets/src/mage/sets/returntoravnica/JaradsOrders.java +++ b/Mage.Sets/src/mage/sets/returntoravnica/JaradsOrders.java @@ -114,10 +114,10 @@ class JaradsOrdersEffect extends OneShotEffect { } } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return true; } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); } return false; diff --git a/Mage.Sets/src/mage/sets/returntoravnica/PsychicSpiral.java b/Mage.Sets/src/mage/sets/returntoravnica/PsychicSpiral.java index d0ce2b5975..5289356683 100644 --- a/Mage.Sets/src/mage/sets/returntoravnica/PsychicSpiral.java +++ b/Mage.Sets/src/mage/sets/returntoravnica/PsychicSpiral.java @@ -85,7 +85,7 @@ class PsychicSpiralEffect extends OneShotEffect { for (Card card: player.getGraveyard().getCards(game)) { card.moveToZone(Zone.LIBRARY, source.getSourceId(), game, true); } - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); if (cardsInGraveyard > 0) { Player targetPlayer = game.getPlayer(source.getFirstTarget()); diff --git a/Mage.Sets/src/mage/sets/riseoftheeldrazi/PerishTheThought.java b/Mage.Sets/src/mage/sets/riseoftheeldrazi/PerishTheThought.java index 998441b36f..ff0d0d75e8 100644 --- a/Mage.Sets/src/mage/sets/riseoftheeldrazi/PerishTheThought.java +++ b/Mage.Sets/src/mage/sets/riseoftheeldrazi/PerishTheThought.java @@ -101,7 +101,7 @@ class PerishTheThoughtEffect extends OneShotEffect { if (chosenCard != null) { if (targetOpponent != null) { chosenCard.moveToZone(Zone.LIBRARY, id, game, false); - targetOpponent.shuffleLibrary(game); + targetOpponent.shuffleLibrary(source, game); } } } diff --git a/Mage.Sets/src/mage/sets/riseoftheeldrazi/RealmsUncharted.java b/Mage.Sets/src/mage/sets/riseoftheeldrazi/RealmsUncharted.java index e597ad9474..b11bf75a81 100644 --- a/Mage.Sets/src/mage/sets/riseoftheeldrazi/RealmsUncharted.java +++ b/Mage.Sets/src/mage/sets/riseoftheeldrazi/RealmsUncharted.java @@ -132,10 +132,10 @@ class RealmsUnchartedEffect extends OneShotEffect { controller.moveCards(cards, Zone.LIBRARY, Zone.GRAVEYARD, source, game); controller.moveCards(cardsToKeep, Zone.LIBRARY, Zone.HAND, source, game); } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return true; } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return false; } } diff --git a/Mage.Sets/src/mage/sets/riseoftheeldrazi/SeeBeyond.java b/Mage.Sets/src/mage/sets/riseoftheeldrazi/SeeBeyond.java index d4a8c1df12..e8d50c2b6a 100644 --- a/Mage.Sets/src/mage/sets/riseoftheeldrazi/SeeBeyond.java +++ b/Mage.Sets/src/mage/sets/riseoftheeldrazi/SeeBeyond.java @@ -90,7 +90,7 @@ class SeeBeyondEffect extends OneShotEffect { if (card != null) { player.removeFromHand(card, game); card.moveToZone(Zone.LIBRARY, source.getSourceId(), game, true); - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); return true; } } diff --git a/Mage.Sets/src/mage/sets/saviorsofkamigawa/EnduringIdeal.java b/Mage.Sets/src/mage/sets/saviorsofkamigawa/EnduringIdeal.java index 02c4cf52ea..1b68f2d9db 100644 --- a/Mage.Sets/src/mage/sets/saviorsofkamigawa/EnduringIdeal.java +++ b/Mage.Sets/src/mage/sets/saviorsofkamigawa/EnduringIdeal.java @@ -101,7 +101,7 @@ class EnduringIdealEffect extends OneShotEffect { applied = false; } else { applied = controller.moveCards(targetCard, Zone.BATTLEFIELD, source, game); - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); } } return applied; diff --git a/Mage.Sets/src/mage/sets/saviorsofkamigawa/EternalDominion.java b/Mage.Sets/src/mage/sets/saviorsofkamigawa/EternalDominion.java index 81c15da577..4a9dd50c1d 100644 --- a/Mage.Sets/src/mage/sets/saviorsofkamigawa/EternalDominion.java +++ b/Mage.Sets/src/mage/sets/saviorsofkamigawa/EternalDominion.java @@ -108,7 +108,7 @@ class EternalDominionEffect extends OneShotEffect { if (targetCard != null) { applied = controller.moveCards(targetCard, Zone.BATTLEFIELD, source, game); } - opponent.shuffleLibrary(game); + opponent.shuffleLibrary(source, game); } return applied; } diff --git a/Mage.Sets/src/mage/sets/saviorsofkamigawa/KahoMinamoHistorian.java b/Mage.Sets/src/mage/sets/saviorsofkamigawa/KahoMinamoHistorian.java index 88cd714a83..2acefa0a91 100644 --- a/Mage.Sets/src/mage/sets/saviorsofkamigawa/KahoMinamoHistorian.java +++ b/Mage.Sets/src/mage/sets/saviorsofkamigawa/KahoMinamoHistorian.java @@ -126,7 +126,7 @@ class KahoMinamoHistorianEffect extends SearchEffect { } } } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return true; } diff --git a/Mage.Sets/src/mage/sets/saviorsofkamigawa/NeverendingTorment.java b/Mage.Sets/src/mage/sets/saviorsofkamigawa/NeverendingTorment.java index 28bb4f962b..bc0d6c7bed 100644 --- a/Mage.Sets/src/mage/sets/saviorsofkamigawa/NeverendingTorment.java +++ b/Mage.Sets/src/mage/sets/saviorsofkamigawa/NeverendingTorment.java @@ -101,7 +101,7 @@ class NeverendingTormentEffect extends OneShotEffect { applied |= you.moveCardToExileWithInfo(targetCard, null, null, source.getSourceId(), game, Zone.LIBRARY, true); } } - targetPlayer.shuffleLibrary(game); + targetPlayer.shuffleLibrary(source, game); } return applied; } diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/MoltenPsyche.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/MoltenPsyche.java index 1b52232215..1c4ac08726 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/MoltenPsyche.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/MoltenPsyche.java @@ -98,7 +98,7 @@ class MoltenPsycheEffect extends OneShotEffect { cardsToDraw.put(playerId, cardsInHand); } player.moveCards(player.getHand(), Zone.HAND, Zone.LIBRARY, source, game); - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); } } diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/ShapeAnew.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/ShapeAnew.java index c42e48fa8e..43128a73da 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/ShapeAnew.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/ShapeAnew.java @@ -118,7 +118,7 @@ public class ShapeAnew extends CardImpl { targetController.moveCards(artifactCard, Zone.BATTLEFIELD, source, game); } targetController.putCardsOnTopOfLibrary(nonArtifactCards, game, source, false); - targetController.shuffleLibrary(game); + targetController.shuffleLibrary(source, game); return true; } diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/StrataScythe.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/StrataScythe.java index 29b6a6ab7f..d9cec6ad24 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/StrataScythe.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/StrataScythe.java @@ -108,7 +108,7 @@ class StrataScytheImprintEffect extends OneShotEffect { } } } - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); return true; } diff --git a/Mage.Sets/src/mage/sets/scourge/LongTermPlans.java b/Mage.Sets/src/mage/sets/scourge/LongTermPlans.java index 63ae7ed652..e9c23fd006 100644 --- a/Mage.Sets/src/mage/sets/scourge/LongTermPlans.java +++ b/Mage.Sets/src/mage/sets/scourge/LongTermPlans.java @@ -88,7 +88,7 @@ class LongTermPlansEffect extends OneShotEffect { if (player.searchLibrary(target, game)) { Card card = player.getLibrary().remove(target.getFirstTarget(), game); if (card != null) { - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); Card cardTop = null; Card cardSecond = null; if (player.getLibrary().size() > 0) { diff --git a/Mage.Sets/src/mage/sets/shadowmoor/PutAway.java b/Mage.Sets/src/mage/sets/shadowmoor/PutAway.java index df636326b3..a4e64ac032 100644 --- a/Mage.Sets/src/mage/sets/shadowmoor/PutAway.java +++ b/Mage.Sets/src/mage/sets/shadowmoor/PutAway.java @@ -104,7 +104,7 @@ class PutAwayEffect extends OneShotEffect { && you.chooseUse(Outcome.Benefit, "Do you wish to shuffle up to one target card from your graveyard into your library?", source, game) && game.getState().getZone(card.getId()).match(Zone.GRAVEYARD)) { card.moveToZone(Zone.LIBRARY, source.getSourceId(), game, false); - you.shuffleLibrary(game); + you.shuffleLibrary(source, game); } } return countered; diff --git a/Mage.Sets/src/mage/sets/shadowmoor/Worldpurge.java b/Mage.Sets/src/mage/sets/shadowmoor/Worldpurge.java index 40e2594c36..9c364fca7f 100644 --- a/Mage.Sets/src/mage/sets/shadowmoor/Worldpurge.java +++ b/Mage.Sets/src/mage/sets/shadowmoor/Worldpurge.java @@ -114,7 +114,7 @@ class WorldpurgeEffect extends OneShotEffect { } } player.putCardsOnTopOfLibrary(cardsToLibrary, game, source, false); - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); } } game.emptyManaPools(); diff --git a/Mage.Sets/src/mage/sets/shardsofalara/ClarionUltimatum.java b/Mage.Sets/src/mage/sets/shardsofalara/ClarionUltimatum.java index 86ba12cbe9..4d4612d869 100644 --- a/Mage.Sets/src/mage/sets/shardsofalara/ClarionUltimatum.java +++ b/Mage.Sets/src/mage/sets/shardsofalara/ClarionUltimatum.java @@ -124,7 +124,7 @@ class ClarionUltimatumEffect extends OneShotEffect { } controller.moveCards(chosenCards, Zone.BATTLEFIELD, source, game, true, false, false, null); - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return true; } } diff --git a/Mage.Sets/src/mage/sets/shardsofalara/CorpseConnoisseur.java b/Mage.Sets/src/mage/sets/shardsofalara/CorpseConnoisseur.java index adc0352046..dd82744a6f 100644 --- a/Mage.Sets/src/mage/sets/shardsofalara/CorpseConnoisseur.java +++ b/Mage.Sets/src/mage/sets/shardsofalara/CorpseConnoisseur.java @@ -108,7 +108,7 @@ class SearchLibraryPutInGraveyard extends SearchEffect { } } } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/shardsofalara/LichsMirror.java b/Mage.Sets/src/mage/sets/shardsofalara/LichsMirror.java index fd93901578..033a047bd3 100644 --- a/Mage.Sets/src/mage/sets/shardsofalara/LichsMirror.java +++ b/Mage.Sets/src/mage/sets/shardsofalara/LichsMirror.java @@ -110,7 +110,7 @@ class LichsMirrorEffect extends ReplacementEffectImpl { for(Permanent permanent : game.getBattlefield().getActivePermanents(filter, source.getControllerId(), source.getSourceId(), game)){ permanent.moveToZone(Zone.LIBRARY, source.getSourceId(), game, true); } - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); player.drawCards(7, game); diff --git a/Mage.Sets/src/mage/sets/shardsofalara/TezzeretTheSeeker.java b/Mage.Sets/src/mage/sets/shardsofalara/TezzeretTheSeeker.java index d4a44c46ef..91f1197cbe 100644 --- a/Mage.Sets/src/mage/sets/shardsofalara/TezzeretTheSeeker.java +++ b/Mage.Sets/src/mage/sets/shardsofalara/TezzeretTheSeeker.java @@ -128,10 +128,10 @@ class TezzeretTheSeekerEffect2 extends OneShotEffect { if (card != null) { controller.moveCards(card, Zone.BATTLEFIELD, source, game); } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return true; } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return false; } } diff --git a/Mage.Sets/src/mage/sets/tempest/Intuition.java b/Mage.Sets/src/mage/sets/tempest/Intuition.java index 37c24daa36..aa3c207cb5 100644 --- a/Mage.Sets/src/mage/sets/tempest/Intuition.java +++ b/Mage.Sets/src/mage/sets/tempest/Intuition.java @@ -124,11 +124,11 @@ class IntuitionEffect extends SearchEffect { } controller.moveCards(cards, Zone.LIBRARY, Zone.GRAVEYARD, source, game); } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return true; } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return false; } diff --git a/Mage.Sets/src/mage/sets/tempest/Lobotomy.java b/Mage.Sets/src/mage/sets/tempest/Lobotomy.java index e666c50d0e..b7d6e962a9 100644 --- a/Mage.Sets/src/mage/sets/tempest/Lobotomy.java +++ b/Mage.Sets/src/mage/sets/tempest/Lobotomy.java @@ -156,7 +156,7 @@ class LobotomyEffect extends OneShotEffect { if (!cardsToExile.isEmpty()) { controller.moveCards(cardsToExile, null, Zone.EXILED, source, game); } - targetPlayer.shuffleLibrary(game); + targetPlayer.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/tempest/ManaSeverance.java b/Mage.Sets/src/mage/sets/tempest/ManaSeverance.java index 6bb3a3c78c..19f89c1918 100644 --- a/Mage.Sets/src/mage/sets/tempest/ManaSeverance.java +++ b/Mage.Sets/src/mage/sets/tempest/ManaSeverance.java @@ -75,7 +75,7 @@ class ManaSeveranceEffect extends SearchEffect { } } } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return true; } diff --git a/Mage.Sets/src/mage/sets/timeshifted/FeldonsCane.java b/Mage.Sets/src/mage/sets/timeshifted/FeldonsCane.java index 5e58caddf2..65a2630071 100644 --- a/Mage.Sets/src/mage/sets/timeshifted/FeldonsCane.java +++ b/Mage.Sets/src/mage/sets/timeshifted/FeldonsCane.java @@ -91,7 +91,7 @@ class FeldonsCaneEffect extends OneShotEffect { for (Card card: controller.getGraveyard().getCards(game)) { controller.moveCardToLibraryWithInfo(card, source.getSourceId(), game, Zone.GRAVEYARD, true, true); } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/timeshifted/GaeasBlessing.java b/Mage.Sets/src/mage/sets/timeshifted/GaeasBlessing.java index fc3f75e23c..dffbfa04c1 100644 --- a/Mage.Sets/src/mage/sets/timeshifted/GaeasBlessing.java +++ b/Mage.Sets/src/mage/sets/timeshifted/GaeasBlessing.java @@ -111,7 +111,7 @@ class GaeasBlessingEffect extends OneShotEffect { } } if (shuffle) { - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); } return true; } @@ -189,7 +189,7 @@ class GaeasBlessingGraveToLibraryEffect extends OneShotEffect { } controller.getLibrary().addAll(controller.getGraveyard().getCards(game), game); controller.getGraveyard().clear(); - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/timeshifted/GrinningTotem.java b/Mage.Sets/src/mage/sets/timeshifted/GrinningTotem.java index cd144347d1..9f02ecd2f0 100644 --- a/Mage.Sets/src/mage/sets/timeshifted/GrinningTotem.java +++ b/Mage.Sets/src/mage/sets/timeshifted/GrinningTotem.java @@ -126,7 +126,7 @@ class GrinningTotemSearchAndExileEffect extends OneShotEffect { } } } - targetOpponent.shuffleLibrary(game); + targetOpponent.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/timespiral/MishraArtificerProdigy.java b/Mage.Sets/src/mage/sets/timespiral/MishraArtificerProdigy.java index 0ef45b5d50..47a8cfceb0 100644 --- a/Mage.Sets/src/mage/sets/timespiral/MishraArtificerProdigy.java +++ b/Mage.Sets/src/mage/sets/timespiral/MishraArtificerProdigy.java @@ -163,7 +163,7 @@ class MishraArtificerProdigyEffect extends OneShotEffect { if (controller.searchLibrary(target, game)) { card = game.getCard(target.getFirstTarget()); } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); } // Put on battlefield if (card != null) { diff --git a/Mage.Sets/src/mage/sets/timespiral/ScionOfTheUrDragon.java b/Mage.Sets/src/mage/sets/timespiral/ScionOfTheUrDragon.java index 1a3700f00b..7cee6c5810 100644 --- a/Mage.Sets/src/mage/sets/timespiral/ScionOfTheUrDragon.java +++ b/Mage.Sets/src/mage/sets/timespiral/ScionOfTheUrDragon.java @@ -105,21 +105,21 @@ class ScionOfTheUrDragonEffect extends SearchEffect { } @Override - public boolean apply(Game game, Ability ability) { - Player player = game.getPlayer(ability.getControllerId()); - Permanent sourcePermanent = game.getPermanent(ability.getSourceId()); + public boolean apply(Game game, Ability source) { + Player player = game.getPlayer(source.getControllerId()); + Permanent sourcePermanent = game.getPermanent(source.getSourceId()); if (player != null && sourcePermanent != null) { if (player.searchLibrary(target, game)) { for (UUID cardId : target.getTargets()) { Card card = player.getLibrary().getCard(cardId, game); if (card != null) { - player.moveCards(card, Zone.LIBRARY, Zone.GRAVEYARD, ability, game); - CopyEffect copyEffect = new CopyEffect(Duration.EndOfTurn, card, ability.getSourceId()); - game.addEffect(copyEffect, ability); + player.moveCards(card, Zone.LIBRARY, Zone.GRAVEYARD, source, game); + CopyEffect copyEffect = new CopyEffect(Duration.EndOfTurn, card, source.getSourceId()); + game.addEffect(copyEffect, source); } } } - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/torment/DwellOnThePast.java b/Mage.Sets/src/mage/sets/torment/DwellOnThePast.java index e1c8774608..1b0a93f4ae 100644 --- a/Mage.Sets/src/mage/sets/torment/DwellOnThePast.java +++ b/Mage.Sets/src/mage/sets/torment/DwellOnThePast.java @@ -103,7 +103,7 @@ class DwellOnThePastEffect extends OneShotEffect { } } if (shuffle) { - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); } return true; } diff --git a/Mage.Sets/src/mage/sets/urzasdestiny/AcademyRector.java b/Mage.Sets/src/mage/sets/urzasdestiny/AcademyRector.java index 502842da89..1e2a2401a0 100644 --- a/Mage.Sets/src/mage/sets/urzasdestiny/AcademyRector.java +++ b/Mage.Sets/src/mage/sets/urzasdestiny/AcademyRector.java @@ -108,7 +108,7 @@ class AcademyRectorEffect extends OneShotEffect { if (targetCard != null) { controller.moveCards(targetCard, Zone.BATTLEFIELD, source, game); } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/urzasdestiny/ThranFoundry.java b/Mage.Sets/src/mage/sets/urzasdestiny/ThranFoundry.java index 493c19a22f..e6e4230938 100644 --- a/Mage.Sets/src/mage/sets/urzasdestiny/ThranFoundry.java +++ b/Mage.Sets/src/mage/sets/urzasdestiny/ThranFoundry.java @@ -95,7 +95,7 @@ class ThranFoundryEffect extends OneShotEffect { for (Card card: player.getGraveyard().getCards(game)) { player.moveCardToLibraryWithInfo(card, source.getSourceId(), game, Zone.GRAVEYARD, true, true); } - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/urzaslegacy/Repopulate.java b/Mage.Sets/src/mage/sets/urzaslegacy/Repopulate.java index ce77cf6bc1..a150c44fbf 100644 --- a/Mage.Sets/src/mage/sets/urzaslegacy/Repopulate.java +++ b/Mage.Sets/src/mage/sets/urzaslegacy/Repopulate.java @@ -93,7 +93,7 @@ class RepopulateEffect extends OneShotEffect { { card.moveToZone(Zone.LIBRARY, source.getSourceId(), game, true); } - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/urzassaga/CitanulFlute.java b/Mage.Sets/src/mage/sets/urzassaga/CitanulFlute.java index 0e984c3021..6a6ad87741 100644 --- a/Mage.Sets/src/mage/sets/urzassaga/CitanulFlute.java +++ b/Mage.Sets/src/mage/sets/urzassaga/CitanulFlute.java @@ -121,10 +121,10 @@ class CitanulFluteSearchEffect extends OneShotEffect { } player.revealCards(name, cards, game); } - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); return true; } - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); return false; } } diff --git a/Mage.Sets/src/mage/sets/urzassaga/TimeSpiral.java b/Mage.Sets/src/mage/sets/urzassaga/TimeSpiral.java index 46765bbacf..6048a9f4cc 100644 --- a/Mage.Sets/src/mage/sets/urzassaga/TimeSpiral.java +++ b/Mage.Sets/src/mage/sets/urzassaga/TimeSpiral.java @@ -95,7 +95,7 @@ class TimeSpiralEffect extends OneShotEffect { for (Card card : player.getGraveyard().getCards(game)) { card.moveToZone(Zone.LIBRARY, source.getSourceId(), game, true); } - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); } } return true; diff --git a/Mage.Sets/src/mage/sets/vintagemasters/ChaosWarp.java b/Mage.Sets/src/mage/sets/vintagemasters/ChaosWarp.java index d4e09af0c9..118ff3577a 100644 --- a/Mage.Sets/src/mage/sets/vintagemasters/ChaosWarp.java +++ b/Mage.Sets/src/mage/sets/vintagemasters/ChaosWarp.java @@ -98,7 +98,7 @@ class ChaosWarpShuffleIntoLibraryEffect extends OneShotEffect { Player owner = game.getPlayer(permanent.getOwnerId()); if (owner != null) { owner.moveCardToLibraryWithInfo(permanent, source.getSourceId(), game, Zone.BATTLEFIELD, true, true); - owner.shuffleLibrary(game); + owner.shuffleLibrary(source, game); return true; } } diff --git a/Mage.Sets/src/mage/sets/vintagemasters/MindsDesire.java b/Mage.Sets/src/mage/sets/vintagemasters/MindsDesire.java index 184e2b898b..7acda79f7a 100644 --- a/Mage.Sets/src/mage/sets/vintagemasters/MindsDesire.java +++ b/Mage.Sets/src/mage/sets/vintagemasters/MindsDesire.java @@ -95,7 +95,7 @@ class MindsDesireEffect extends OneShotEffect { Player controller = game.getPlayer(source.getControllerId()); MageObject sourceObject = source.getSourceObject(game); if (controller != null && sourceObject != null) { - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); if (controller.getLibrary().size() > 0) { Card card = controller.getLibrary().removeFromTop(game); if (card != null) { diff --git a/Mage.Sets/src/mage/sets/weatherlight/ParadigmShift.java b/Mage.Sets/src/mage/sets/weatherlight/ParadigmShift.java index 452e05a6cb..46a3f65c8f 100644 --- a/Mage.Sets/src/mage/sets/weatherlight/ParadigmShift.java +++ b/Mage.Sets/src/mage/sets/weatherlight/ParadigmShift.java @@ -89,7 +89,7 @@ class ExileLibraryEffect extends OneShotEffect { for (Card card: controller.getGraveyard().getCards(game)) { controller.moveCardToLibraryWithInfo(card, source.getSourceId(), game, Zone.GRAVEYARD, true, true); } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/worldwake/JaceTheMindSculptor.java b/Mage.Sets/src/mage/sets/worldwake/JaceTheMindSculptor.java index 26c00ef4c8..144d8da05e 100644 --- a/Mage.Sets/src/mage/sets/worldwake/JaceTheMindSculptor.java +++ b/Mage.Sets/src/mage/sets/worldwake/JaceTheMindSculptor.java @@ -196,7 +196,7 @@ class JaceTheMindSculptorEffect3 extends OneShotEffect { for (Card card : player.getHand().getCards(game)) { card.moveToZone(Zone.LIBRARY, source.getSourceId(), game, false); } - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/worldwake/SelectiveMemory.java b/Mage.Sets/src/mage/sets/worldwake/SelectiveMemory.java index eb883dbc96..0fb339b73f 100644 --- a/Mage.Sets/src/mage/sets/worldwake/SelectiveMemory.java +++ b/Mage.Sets/src/mage/sets/worldwake/SelectiveMemory.java @@ -95,7 +95,7 @@ class SelectiveMemoryEffect extends OneShotEffect { } } - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/worldwake/ThadaAdelAcquisitor.java b/Mage.Sets/src/mage/sets/worldwake/ThadaAdelAcquisitor.java index 55124b98a1..9f483140d6 100644 --- a/Mage.Sets/src/mage/sets/worldwake/ThadaAdelAcquisitor.java +++ b/Mage.Sets/src/mage/sets/worldwake/ThadaAdelAcquisitor.java @@ -114,7 +114,7 @@ class ThadaAdelAcquisitorEffect extends OneShotEffect { } } } - damagedPlayer.shuffleLibrary(game); + damagedPlayer.shuffleLibrary(source, game); return true; } diff --git a/Mage.Sets/src/mage/sets/zendikar/ArchmageAscension.java b/Mage.Sets/src/mage/sets/zendikar/ArchmageAscension.java index 0142944763..4c61d6c0b3 100644 --- a/Mage.Sets/src/mage/sets/zendikar/ArchmageAscension.java +++ b/Mage.Sets/src/mage/sets/zendikar/ArchmageAscension.java @@ -173,7 +173,7 @@ class ArchmageAscensionReplacementEffect extends ReplacementEffectImpl { Card card = game.getCard(target.getFirstTarget()); if (card != null) { card.moveToZone(Zone.HAND, id, game, false); - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); } } } diff --git a/Mage.Sets/src/mage/sets/zendikar/Gigantiform.java b/Mage.Sets/src/mage/sets/zendikar/Gigantiform.java index 52cf488840..0aae06726e 100644 --- a/Mage.Sets/src/mage/sets/zendikar/Gigantiform.java +++ b/Mage.Sets/src/mage/sets/zendikar/Gigantiform.java @@ -150,7 +150,7 @@ class GigantiformEffect extends OneShotEffect { if (card != null) { controller.moveCards(card, Zone.BATTLEFIELD, source, game); } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/zendikar/Gomazoa.java b/Mage.Sets/src/mage/sets/zendikar/Gomazoa.java index 926f87731f..06d61f0893 100644 --- a/Mage.Sets/src/mage/sets/zendikar/Gomazoa.java +++ b/Mage.Sets/src/mage/sets/zendikar/Gomazoa.java @@ -128,7 +128,7 @@ class GomazoaEffect extends OneShotEffect { for (UUID player : players) { Player owner = game.getPlayer(player); if (owner != null) { - owner.shuffleLibrary(game); + owner.shuffleLibrary(source, game); } } return true; diff --git a/Mage.Sets/src/mage/sets/zendikar/QuestForAncientSecrets.java b/Mage.Sets/src/mage/sets/zendikar/QuestForAncientSecrets.java index 58b0bd0db8..d71bdcf7bd 100644 --- a/Mage.Sets/src/mage/sets/zendikar/QuestForAncientSecrets.java +++ b/Mage.Sets/src/mage/sets/zendikar/QuestForAncientSecrets.java @@ -104,7 +104,7 @@ class QuestForAncientSecretsEffect extends OneShotEffect { for (Card card: player.getGraveyard().getCards(game)) { player.moveCardToLibraryWithInfo(card, source.getSourceId(), game, Zone.GRAVEYARD, true, true); } - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage.Sets/src/mage/sets/zendikar/QuestForTheHolyRelic.java b/Mage.Sets/src/mage/sets/zendikar/QuestForTheHolyRelic.java index dd7ee2ac45..eabb11d67d 100644 --- a/Mage.Sets/src/mage/sets/zendikar/QuestForTheHolyRelic.java +++ b/Mage.Sets/src/mage/sets/zendikar/QuestForTheHolyRelic.java @@ -124,7 +124,7 @@ class QuestForTheHolyRelicEffect extends OneShotEffect { } } } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return true; } } diff --git a/Mage.Sets/src/mage/sets/zendikar/SadisticSacrament.java b/Mage.Sets/src/mage/sets/zendikar/SadisticSacrament.java index b45c30f407..638a4bb37d 100644 --- a/Mage.Sets/src/mage/sets/zendikar/SadisticSacrament.java +++ b/Mage.Sets/src/mage/sets/zendikar/SadisticSacrament.java @@ -116,7 +116,7 @@ class SadisticSacramentEffect extends OneShotEffect { } } } - targetPlayer.shuffleLibrary(game); + targetPlayer.shuffleLibrary(source, game); return true; } diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/triggers/ShuffleTriggeredTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/triggers/ShuffleTriggeredTest.java new file mode 100644 index 0000000000..d7267712e4 --- /dev/null +++ b/Mage.Tests/src/test/java/org/mage/test/cards/triggers/ShuffleTriggeredTest.java @@ -0,0 +1,93 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package org.mage.test.cards.triggers; + +import mage.constants.PhaseStep; +import mage.constants.Zone; +import org.junit.Test; +import org.mage.test.serverside.base.CardTestPlayerBase; + +/** + * + * @author LevelX2 + */ +public class ShuffleTriggeredTest extends CardTestPlayerBase { + + @Test + public void testWidespreadPanicDoesTrigger() { + addCard(Zone.BATTLEFIELD, playerA, "Forest", 5); + addCard(Zone.BATTLEFIELD, playerA, "Mountain", 1); + // Whenever a spell or ability causes its controller to shuffle his or her library, that player puts a card from his or her hand on top of his or her library. + addCard(Zone.HAND, playerA, "Widespread Panic", 1); // Enchantment {2}{R} + // Search your library for a basic land card and put that card onto the battlefield. Then shuffle your library. + addCard(Zone.HAND, playerA, "Untamed Wilds"); // Sorcery - {2}{G} + + addCard(Zone.HAND, playerA, "Silvercoat Lion"); + + castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Widespread Panic"); + castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Untamed Wilds"); + + setStopAt(1, PhaseStep.BEGIN_COMBAT); + execute(); + + assertPermanentCount(playerA, "Widespread Panic", 1); + assertGraveyardCount(playerA, "Untamed Wilds", 1); + + assertHandCount(playerA, "Silvercoat Lion", 0); // Because Untamed Wilds does trigger Widespread Panic the card goes to library + } + + /** + * Wenn ich mit Knowledge Exploitation einen Gegner seine Bibliothek mischen + * lasse, dann triggert Widespread Panic für ihn (sollte garnicht triggern). + * Bei Bribery ist es genauso. + */ + @Test + public void testWidespreadPanicDoesNotTriggerIfOpponentShufflesPlayersLibrary() { + addCard(Zone.BATTLEFIELD, playerA, "Island", 9); + addCard(Zone.BATTLEFIELD, playerA, "Mountain", 1); + // Whenever a spell or ability causes its controller to shuffle his or her library, that player puts a card from his or her hand on top of his or her library. + addCard(Zone.HAND, playerA, "Widespread Panic", 1); // Enchantment {2}{R} + // Prowl {3}{U} + // Search target opponent's library for an instant or sorcery card. You may cast that card without paying its mana cost. Then that player shuffles his or her library. + addCard(Zone.HAND, playerA, "Knowledge Exploitation"); // Sorcery - {5}{U}{U} + + addCard(Zone.HAND, playerB, "Silvercoat Lion"); + + castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Widespread Panic"); + castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Knowledge Exploitation", playerB); + + setStopAt(1, PhaseStep.BEGIN_COMBAT); + execute(); + + assertPermanentCount(playerA, "Widespread Panic", 1); + assertGraveyardCount(playerA, "Knowledge Exploitation", 1); + + assertHandCount(playerB, "Silvercoat Lion", 1); // Because Knowledge Exploitation does not trigger the card stays in hand + } + +} diff --git a/Mage.Tests/src/test/java/org/mage/test/player/TestPlayer.java b/Mage.Tests/src/test/java/org/mage/test/player/TestPlayer.java index 6ab3d11fbc..7964f09a4e 100644 --- a/Mage.Tests/src/test/java/org/mage/test/player/TestPlayer.java +++ b/Mage.Tests/src/test/java/org/mage/test/player/TestPlayer.java @@ -1275,8 +1275,8 @@ public class TestPlayer implements Player { } @Override - public void shuffleLibrary(Game game) { - computerPlayer.shuffleLibrary(game); + public void shuffleLibrary(Ability source, Game game) { + computerPlayer.shuffleLibrary(source, game); } @Override diff --git a/Mage.Tests/src/test/java/org/mage/test/stub/PlayerStub.java b/Mage.Tests/src/test/java/org/mage/test/stub/PlayerStub.java index 18288af786..86d39bd888 100644 --- a/Mage.Tests/src/test/java/org/mage/test/stub/PlayerStub.java +++ b/Mage.Tests/src/test/java/org/mage/test/stub/PlayerStub.java @@ -544,7 +544,7 @@ public class PlayerStub implements Player { } @Override - public void shuffleLibrary(Game game) { + public void shuffleLibrary(Ability source, Game game) { } diff --git a/Mage/src/main/java/mage/abilities/effects/common/LookLibraryControllerEffect.java b/Mage/src/main/java/mage/abilities/effects/common/LookLibraryControllerEffect.java index 087323a12c..e6c8482992 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/LookLibraryControllerEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/LookLibraryControllerEffect.java @@ -186,7 +186,7 @@ public class LookLibraryControllerEffect extends OneShotEffect { */ protected void mayShuffle(Player player, Ability source, Game game) { if (this.mayShuffleAfter && player.chooseUse(Outcome.Benefit, "Shuffle your library?", source, game)) { - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); } } diff --git a/Mage/src/main/java/mage/abilities/effects/common/RecruiterEffect.java b/Mage/src/main/java/mage/abilities/effects/common/RecruiterEffect.java index 1ae859cff2..9e8e2f1402 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/RecruiterEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/RecruiterEffect.java @@ -71,7 +71,7 @@ public class RecruiterEffect extends OneShotEffect { cards.addAll(targetCards.getTargets()); } controller.revealCards(staticText, cards, game); - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); if(cards.size() > 0) { controller.putCardsOnTopOfLibrary(cards, game, source, true); diff --git a/Mage/src/main/java/mage/abilities/effects/common/RevealAndShuffleIntoLibrarySourceEffect.java b/Mage/src/main/java/mage/abilities/effects/common/RevealAndShuffleIntoLibrarySourceEffect.java index 9165ed4bfa..5a26c8d2c8 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/RevealAndShuffleIntoLibrarySourceEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/RevealAndShuffleIntoLibrarySourceEffect.java @@ -90,7 +90,7 @@ public class RevealAndShuffleIntoLibrarySourceEffect extends OneShotEffect { controller.moveCardToLibraryWithInfo((Card)sourceObject, source.getSourceId(), game, fromZone, true, true); } if (!cards.isEmpty()) { - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); } } return true; diff --git a/Mage/src/main/java/mage/abilities/effects/common/ShuffleHandIntoLibraryDrawThatManySourceEffect.java b/Mage/src/main/java/mage/abilities/effects/common/ShuffleHandIntoLibraryDrawThatManySourceEffect.java index ae9dd26988..0b7d1de0cb 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/ShuffleHandIntoLibraryDrawThatManySourceEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/ShuffleHandIntoLibraryDrawThatManySourceEffect.java @@ -61,7 +61,7 @@ public class ShuffleHandIntoLibraryDrawThatManySourceEffect extends OneShotEffec int cardsHand = controller.getHand().size(); if (cardsHand > 0) { controller.moveCards(controller.getHand(), Zone.LIBRARY, source, game); - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); game.applyEffects(); // then controller.drawCards(cardsHand, game); } diff --git a/Mage/src/main/java/mage/abilities/effects/common/ShuffleIntoLibraryGraveOfSourceOwnerEffect.java b/Mage/src/main/java/mage/abilities/effects/common/ShuffleIntoLibraryGraveOfSourceOwnerEffect.java index 149117f39f..ee41437b42 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/ShuffleIntoLibraryGraveOfSourceOwnerEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/ShuffleIntoLibraryGraveOfSourceOwnerEffect.java @@ -59,7 +59,7 @@ public class ShuffleIntoLibraryGraveOfSourceOwnerEffect extends OneShotEffect { Player owner = game.getPlayer(ownerId); if (owner != null) { owner.moveCards(owner.getGraveyard(), null, Zone.LIBRARY, source, game); - owner.shuffleLibrary(game); + owner.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage/src/main/java/mage/abilities/effects/common/ShuffleIntoLibrarySourceEffect.java b/Mage/src/main/java/mage/abilities/effects/common/ShuffleIntoLibrarySourceEffect.java index 5310e50938..3b64af1f58 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/ShuffleIntoLibrarySourceEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/ShuffleIntoLibrarySourceEffect.java @@ -64,14 +64,14 @@ public class ShuffleIntoLibrarySourceEffect extends OneShotEffect { owner = game.getPlayer(((Permanent) mageObject).getOwnerId()); if (owner != null) { owner.moveCardToLibraryWithInfo((Permanent)mageObject, source.getSourceId(), game, fromZone, true, true); - owner.shuffleLibrary(game); + owner.shuffleLibrary(source, game); return true; } } else if (mageObject instanceof Card) { owner = game.getPlayer(((Card) mageObject).getOwnerId()); if (owner != null) { owner.moveCardToLibraryWithInfo((Card)mageObject, source.getSourceId(), game, fromZone, true, true); - owner.shuffleLibrary(game); + owner.shuffleLibrary(source, game); return true; } } diff --git a/Mage/src/main/java/mage/abilities/effects/common/ShuffleLibrarySourceEffect.java b/Mage/src/main/java/mage/abilities/effects/common/ShuffleLibrarySourceEffect.java index 7926a316a2..9e94d0e2e1 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/ShuffleLibrarySourceEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/ShuffleLibrarySourceEffect.java @@ -58,7 +58,7 @@ public class ShuffleLibrarySourceEffect extends OneShotEffect { public boolean apply(Game game, Ability source) { Player player = game.getPlayer(source.getControllerId()); if (player != null) { - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage/src/main/java/mage/abilities/effects/common/ShuffleLibraryTargetEffect.java b/Mage/src/main/java/mage/abilities/effects/common/ShuffleLibraryTargetEffect.java index e3e9e5d104..a44b5a03b6 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/ShuffleLibraryTargetEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/ShuffleLibraryTargetEffect.java @@ -58,7 +58,7 @@ public class ShuffleLibraryTargetEffect extends OneShotEffect { public boolean apply(Game game, Ability source) { Player player = game.getPlayer(targetPointer.getFirst(game, source)); if (player != null) { - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); return true; } return false; diff --git a/Mage/src/main/java/mage/abilities/effects/common/ShuffleSpellEffect.java b/Mage/src/main/java/mage/abilities/effects/common/ShuffleSpellEffect.java index fa8e72af49..c1e0e79bcc 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/ShuffleSpellEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/ShuffleSpellEffect.java @@ -63,7 +63,7 @@ public class ShuffleSpellEffect extends OneShotEffect implements MageSingleton { if (controller.moveCards(spell, Zone.LIBRARY, source, game) && !spell.isCopy()) { Player owner = game.getPlayer(spell.getCard().getOwnerId()); if (owner != null) { - owner.shuffleLibrary(game); + owner.shuffleLibrary(source, game); } } diff --git a/Mage/src/main/java/mage/abilities/effects/common/search/SearchLibraryPutInHandEffect.java b/Mage/src/main/java/mage/abilities/effects/common/search/SearchLibraryPutInHandEffect.java index f47985c9ad..de5bbdc6c2 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/search/SearchLibraryPutInHandEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/search/SearchLibraryPutInHandEffect.java @@ -108,11 +108,11 @@ public class SearchLibraryPutInHandEffect extends SearchEffect { controller.revealCards(name, cards, game); } } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return true; } if (forceShuffle) { - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); } return false; } diff --git a/Mage/src/main/java/mage/abilities/effects/common/search/SearchLibraryPutInPlayEffect.java b/Mage/src/main/java/mage/abilities/effects/common/search/SearchLibraryPutInPlayEffect.java index de9c442f28..c0b387f67d 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/search/SearchLibraryPutInPlayEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/search/SearchLibraryPutInPlayEffect.java @@ -92,11 +92,11 @@ public class SearchLibraryPutInPlayEffect extends SearchEffect { player.moveCards(new CardsImpl(target.getTargets()).getCards(game), Zone.BATTLEFIELD, source, game, tapped, false, false, null); } - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); return true; } if (forceShuffle) { - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); } return false; } diff --git a/Mage/src/main/java/mage/abilities/effects/common/search/SearchLibraryPutInPlayTargetPlayerEffect.java b/Mage/src/main/java/mage/abilities/effects/common/search/SearchLibraryPutInPlayTargetPlayerEffect.java index 8c68601cb3..9c09299bd3 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/search/SearchLibraryPutInPlayTargetPlayerEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/search/SearchLibraryPutInPlayTargetPlayerEffect.java @@ -75,12 +75,12 @@ public class SearchLibraryPutInPlayTargetPlayerEffect extends SearchEffect { player.moveCards(new CardsImpl(target.getTargets()).getCards(game), Zone.BATTLEFIELD, source, game, tapped, false, ownerIsController, null); } - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); return true; } if (forceShuffle) { - player.shuffleLibrary(game); + player.shuffleLibrary(source, game); } } diff --git a/Mage/src/main/java/mage/abilities/effects/common/search/SearchLibraryPutOnLibraryEffect.java b/Mage/src/main/java/mage/abilities/effects/common/search/SearchLibraryPutOnLibraryEffect.java index 124b173a5a..87ff7a4e56 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/search/SearchLibraryPutOnLibraryEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/search/SearchLibraryPutOnLibraryEffect.java @@ -82,14 +82,14 @@ public class SearchLibraryPutOnLibraryEffect extends SearchEffect { controller.revealCards(sourceObject.getIdName(), foundCards, game); } if (forceShuffle) { - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); } controller.putCardsOnTopOfLibrary(foundCards, game, source, reveal); return true; } // shuffle if (forceShuffle) { - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); } return false; } diff --git a/Mage/src/main/java/mage/abilities/effects/common/search/SearchTargetGraveyardHandLibraryForCardNameAndExileEffect.java b/Mage/src/main/java/mage/abilities/effects/common/search/SearchTargetGraveyardHandLibraryForCardNameAndExileEffect.java index 5629f01ef4..47d6827f2d 100644 --- a/Mage/src/main/java/mage/abilities/effects/common/search/SearchTargetGraveyardHandLibraryForCardNameAndExileEffect.java +++ b/Mage/src/main/java/mage/abilities/effects/common/search/SearchTargetGraveyardHandLibraryForCardNameAndExileEffect.java @@ -117,7 +117,7 @@ public abstract class SearchTargetGraveyardHandLibraryForCardNameAndExileEffect if (controller.choose(Outcome.Exile, cardsInLibrary, targetLib, game)) { controller.moveCards(new CardsImpl(targetLib.getTargets()), Zone.EXILED, source, game); } - targetPlayer.shuffleLibrary(game); + targetPlayer.shuffleLibrary(source, game); } return true; diff --git a/Mage/src/main/java/mage/abilities/keyword/TransmuteAbility.java b/Mage/src/main/java/mage/abilities/keyword/TransmuteAbility.java index c861d23621..bc46eac776 100644 --- a/Mage/src/main/java/mage/abilities/keyword/TransmuteAbility.java +++ b/Mage/src/main/java/mage/abilities/keyword/TransmuteAbility.java @@ -88,7 +88,7 @@ class TransmuteEffect extends OneShotEffect { controller.moveCards(revealed, null, Zone.HAND, source, game); } } - controller.shuffleLibrary(game); + controller.shuffleLibrary(source, game); return true; } diff --git a/Mage/src/main/java/mage/game/GameCommanderImpl.java b/Mage/src/main/java/mage/game/GameCommanderImpl.java index a875b5fd3d..49e17a3536 100644 --- a/Mage/src/main/java/mage/game/GameCommanderImpl.java +++ b/Mage/src/main/java/mage/game/GameCommanderImpl.java @@ -176,7 +176,7 @@ public abstract class GameCommanderImpl extends GameImpl { } } if (mulliganedCards.get(playerId).size() > 0) { - player.shuffleLibrary(this); + player.shuffleLibrary(null, this); } } } diff --git a/Mage/src/main/java/mage/game/GameImpl.java b/Mage/src/main/java/mage/game/GameImpl.java index 5b39cac2a6..2298f96a77 100644 --- a/Mage/src/main/java/mage/game/GameImpl.java +++ b/Mage/src/main/java/mage/game/GameImpl.java @@ -881,7 +881,7 @@ public abstract class GameImpl implements Game, Serializable { //20091005 - 103.1 if (!gameOptions.skipInitShuffling) { //don't shuffle in test mode for card injection on top of player's libraries for (Player player : state.getPlayers().values()) { - player.shuffleLibrary(this); + player.shuffleLibrary(null, this); } } @@ -1147,7 +1147,7 @@ public abstract class GameImpl implements Game, Serializable { int numCards = player.getHand().size(); player.getLibrary().addAll(player.getHand().getCards(this), this); player.getHand().clear(); - player.shuffleLibrary(this); + player.shuffleLibrary(null, this); int deduction = 1; if (freeMulligans > 0) { if (usedFreeMulligans != null && usedFreeMulligans.containsKey(player.getId())) { diff --git a/Mage/src/main/java/mage/players/Player.java b/Mage/src/main/java/mage/players/Player.java index 9bad10ada9..e15d22f185 100644 --- a/Mage/src/main/java/mage/players/Player.java +++ b/Mage/src/main/java/mage/players/Player.java @@ -333,7 +333,7 @@ public interface Player extends MageItem, Copyable<Player> { */ void reset(); - void shuffleLibrary(Game game); + void shuffleLibrary(Ability source, Game game); int drawCards(int num, Game game); diff --git a/Mage/src/main/java/mage/players/PlayerImpl.java b/Mage/src/main/java/mage/players/PlayerImpl.java index eea2d6df5a..1b8dfeb870 100644 --- a/Mage/src/main/java/mage/players/PlayerImpl.java +++ b/Mage/src/main/java/mage/players/PlayerImpl.java @@ -1403,13 +1403,13 @@ public abstract class PlayerImpl implements Player, Serializable { } @Override - public void shuffleLibrary(Game game) { + public void shuffleLibrary(Ability source, Game game) { if (!game.replaceEvent(GameEvent.getEvent(GameEvent.EventType.SHUFFLE_LIBRARY, playerId, playerId))) { this.library.shuffle(); if (!game.isSimulation()) { - game.informPlayers(getLogName() + " shuffles his or her library."); + game.informPlayers(getLogName() + "'s library is shuffled"); } - game.fireEvent(GameEvent.getEvent(GameEvent.EventType.LIBRARY_SHUFFLED, playerId, playerId)); + game.fireEvent(GameEvent.getEvent(GameEvent.EventType.LIBRARY_SHUFFLED, playerId, (source == null ? null : source.getSourceId()), playerId)); } }