Implemented Journey for the Elixir

This commit is contained in:
Evan Kranzler 2018-06-08 13:22:23 -04:00
parent b7c1274ceb
commit 3659a2dc0b
6 changed files with 164 additions and 6 deletions

View file

@ -1,4 +1,3 @@
package mage.players;
import java.io.Serializable;
@ -352,14 +351,19 @@ public interface Player extends MageItem, Copyable<Player> {
boolean searchLibrary(TargetCardInLibrary target, Game game);
boolean searchLibrary(TargetCardInLibrary target, Game game, boolean triggerEvents);
boolean searchLibrary(TargetCardInLibrary target, Game game, UUID targetPlayerId);
/**
*
* @param target
* @param game
* @param targetPlayerId player whose library will be searched
* @param triggerEvents whether searching will trigger any game events
* @return true if search was successful
*/
boolean searchLibrary(TargetCardInLibrary target, Game game, UUID targetPlayerId);
boolean searchLibrary(TargetCardInLibrary target, Game game, UUID targetPlayerId, boolean triggerEvents);
boolean canPlayLand();

View file

@ -2354,11 +2354,21 @@ public abstract class PlayerImpl implements Player, Serializable {
@Override
public boolean searchLibrary(TargetCardInLibrary target, Game game) {
return searchLibrary(target, game, playerId);
return searchLibrary(target, game, playerId, true);
}
@Override
public boolean searchLibrary(TargetCardInLibrary target, Game game, boolean triggerEvents) {
return searchLibrary(target, game, playerId, triggerEvents);
}
@Override
public boolean searchLibrary(TargetCardInLibrary target, Game game, UUID targetPlayerId) {
return searchLibrary(target, game, targetPlayerId, true);
}
@Override
public boolean searchLibrary(TargetCardInLibrary target, Game game, UUID targetPlayerId, boolean triggerEvents) {
//20091005 - 701.14c
Library searchedLibrary = null;
String searchInfo = null;
@ -2414,7 +2424,9 @@ public abstract class PlayerImpl implements Player, Serializable {
for (UUID targetId : newTarget.getTargets()) {
target.add(targetId, game);
}
game.fireEvent(GameEvent.getEvent(GameEvent.EventType.LIBRARY_SEARCHED, targetPlayerId, playerId));
if (triggerEvents) {
game.fireEvent(GameEvent.getEvent(GameEvent.EventType.LIBRARY_SEARCHED, targetPlayerId, playerId));
}
} else if (targetPlayerId.equals(playerId) && handleLibraryCastableCards(library, game, targetPlayerId)) { // for handling Panglacial Wurm
newTarget.clearChosen();
continue;