Merge pull request #76 from magefree/master

merge
This commit is contained in:
theelk801 2017-09-17 17:15:25 -04:00 committed by GitHub
commit 1a5350cdf4
4 changed files with 23 additions and 11 deletions

View file

@ -1096,6 +1096,16 @@
|Generate|TOK:WWK|Snake|||SnakeToken| |Generate|TOK:WWK|Snake|||SnakeToken|
|Generate|TOK:WWK|Soldier Ally|||JoinTheRanksSoldierToken| |Generate|TOK:WWK|Soldier Ally|||JoinTheRanksSoldierToken|
|Generate|TOK:WWK|Wolf|||WolfToken| |Generate|TOK:WWK|Wolf|||WolfToken|
|Generate|TOK:XLN|Dinosaur|||DinosaurToken|
|Generate|TOK:XLN|Illusion|||JaceCunningCastawayIllusionToken|
|Generate|TOK:XLN|Merfolk|||MerfolkHexproofToken|
|Generate|TOK:XLN|Pirate|||PirateToken|
|Generate|TOK:XLN|Plant|||DefenderPlantToken|
|Generate|TOK:XLN|Treasure|1||TreasureToken|
|Generate|TOK:XLN|Treasure|2||TreasureToken|
|Generate|TOK:XLN|Treasure|3||TreasureToken|
|Generate|TOK:XLN|Treasure|4||TreasureToken|
|Generate|TOK:XLN|Vampire|||IxalanVampireToken|
|Generate|TOK:ZEN|Angel|||AngelToken| |Generate|TOK:ZEN|Angel|||AngelToken|
|Generate|TOK:ZEN|Beast|||BeastToken2| |Generate|TOK:ZEN|Beast|||BeastToken2|
|Generate|TOK:ZEN|Bird|||BirdToken| |Generate|TOK:ZEN|Bird|||BirdToken|

View file

@ -41,7 +41,7 @@ public class MageVersion implements Serializable, Comparable<MageVersion> {
public final static int MAGE_VERSION_MAJOR = 1; public final static int MAGE_VERSION_MAJOR = 1;
public final static int MAGE_VERSION_MINOR = 4; public final static int MAGE_VERSION_MINOR = 4;
public final static int MAGE_VERSION_PATCH = 26; public final static int MAGE_VERSION_PATCH = 26;
public final static String MAGE_VERSION_MINOR_PATCH = "V4"; public final static String MAGE_VERSION_MINOR_PATCH = "V5";
public final static String MAGE_VERSION_INFO = ""; public final static String MAGE_VERSION_INFO = "";
private final int major; private final int major;

View file

@ -27,6 +27,8 @@
*/ */
package mage.cards.t; package mage.cards.t;
import java.util.HashSet;
import java.util.Set;
import java.util.UUID; import java.util.UUID;
import mage.MageObject; import mage.MageObject;
import mage.abilities.Ability; import mage.abilities.Ability;
@ -51,10 +53,10 @@ import mage.target.TargetPlayer;
public class TunnelVision extends CardImpl { public class TunnelVision extends CardImpl {
public TunnelVision(UUID ownerId, CardSetInfo setInfo) { public TunnelVision(UUID ownerId, CardSetInfo setInfo) {
super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{5}{U}"); super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{5}{U}");
// Name a card. Target player reveals cards from the top of his or her library until the named card is revealed. // Name a card. Target player reveals cards from the top of his or her library until the named card is revealed.
// If it is, that player puts the rest of the revealed cards into his or her graveyard and puts the named card on top of his or her library. // If it is, that player puts the rest of the revealed cards into his or her graveyard and puts the named card on top of his or her library.
// Otherwise, the player shuffles his or her library. // Otherwise, the player shuffles his or her library.
this.getSpellAbility().addEffect(new NameACardEffect(NameACardEffect.TypeOfName.ALL)); this.getSpellAbility().addEffect(new NameACardEffect(NameACardEffect.TypeOfName.ALL));
this.getSpellAbility().addEffect(new TunnelVisionEffect()); this.getSpellAbility().addEffect(new TunnelVisionEffect());
@ -74,7 +76,7 @@ public class TunnelVision extends CardImpl {
class TunnelVisionEffect extends OneShotEffect { class TunnelVisionEffect extends OneShotEffect {
public TunnelVisionEffect() { public TunnelVisionEffect() {
super(Outcome.Damage); super(Outcome.Benefit);
this.staticText = "Target player reveals cards from the top of his or her library until the named card is revealed. If it is, that player puts the rest of the revealed cards into his or her graveyard and puts the named card on top of his or her library. Otherwise, the player shuffles his or her library."; this.staticText = "Target player reveals cards from the top of his or her library until the named card is revealed. If it is, that player puts the rest of the revealed cards into his or her graveyard and puts the named card on top of his or her library. Otherwise, the player shuffles his or her library.";
} }
@ -90,16 +92,16 @@ class TunnelVisionEffect extends OneShotEffect {
@Override @Override
public boolean apply(Game game, Ability source) { public boolean apply(Game game, Ability source) {
MageObject sourceObject = game.getObject(source.getSourceId()); MageObject sourceObject = game.getObject(source.getSourceId());
Player targetPlayer = game.getPlayer(source.getFirstTarget()); Player targetPlayer = game.getPlayer(getTargetPointer().getFirst(game, source));
String cardName = (String) game.getState().getValue(source.getSourceId().toString() + NameACardEffect.INFO_KEY); String cardName = (String) game.getState().getValue(source.getSourceId().toString() + NameACardEffect.INFO_KEY);
if (sourceObject == null || targetPlayer == null || cardName == null || cardName.isEmpty()) { if (sourceObject == null || targetPlayer == null || cardName == null || cardName.isEmpty()) {
return false; return false;
} }
Cards cardsToReveal = new CardsImpl(); Cards cardsToReveal = new CardsImpl();
Cards cardsToBury = new CardsImpl(); Set<Card> cardsToBury = new HashSet<>();
Card namedCard = null; Card namedCard = null;
// reveal until named card found // reveal until named card found
// if named card found, put all revealed cards in grave and put named card on top of library // if named card found, put all revealed cards in grave and put named card on top of library
// if named card not found, shuffle library // if named card not found, shuffle library
@ -117,15 +119,15 @@ class TunnelVisionEffect extends OneShotEffect {
} }
} }
} }
targetPlayer.revealCards(sourceObject.getIdName(), cardsToReveal, game); targetPlayer.revealCards(sourceObject.getIdName(), cardsToReveal, game);
if (namedCardFound) { if (namedCardFound) {
targetPlayer.moveCards(cardsToBury, Zone.GRAVEYARD, source, game); targetPlayer.moveCards(cardsToBury, Zone.GRAVEYARD, source, game);
targetPlayer.moveCards(namedCard, Zone.LIBRARY, source, game); targetPlayer.moveCards(namedCard, Zone.LIBRARY, source, game);
} else { } else {
targetPlayer.getLibrary().addAll(cardsToBury, game);
targetPlayer.shuffleLibrary(source, game); targetPlayer.shuffleLibrary(source, game);
} }
return true; return true;
} }
} }

View file

@ -58,7 +58,7 @@ public enum CardRepository {
// raise this if db structure was changed // raise this if db structure was changed
private static final long CARD_DB_VERSION = 51; private static final long CARD_DB_VERSION = 51;
// raise this if new cards were added to the server // raise this if new cards were added to the server
private static final long CARD_CONTENT_VERSION = 91; private static final long CARD_CONTENT_VERSION = 92;
private Dao<CardInfo, Object> cardDao; private Dao<CardInfo, Object> cardDao;
private Set<String> classNames; private Set<String> classNames;