Fix ManaScrewed achievement

This commit is contained in:
drdev
2014-09-28 09:25:03 +00:00
parent 89348087af
commit 0a313c4071
8 changed files with 33 additions and 33 deletions

View File

@@ -8,4 +8,5 @@ public class AchievementTracker {
public int mulliganTo = 7;
public int spellsCast = 0;
public int maxStormCount = 0;
public int landsPlayed = 0;
}

View File

@@ -93,9 +93,6 @@ public class PlayLandVariantEffect extends SpellAbilityEffect {
runParams.put("Card", source);
game.getTriggerHandler().runTrigger(TriggerType.LandPlayed, runParams, false);
game.getStack().unfreezeStack();
activator.setNumLandsPlayed(activator.getNumLandsPlayed() + 1);
activator.addLandPlayedThisTurn();
}
}

View File

@@ -60,20 +60,20 @@ public class RestartGameEffect extends SpellAbilityEffect {
List<Player> gamePlayers = game.getRegisteredPlayers();
for (int i = 0; i < gamePlayers.size(); i++) {
final Player player = gamePlayers.get(i);
if( player.hasLost()) continue;
if (player.hasLost()) { continue; }
RegisteredPlayer psc = game.getMatch().getPlayers().get(i);
player.setStartingLife(psc.getStartingLife());
player.setPoisonCounters(0, sa.getHostCard());
player.setNumLandsPlayed(0);
player.resetLandsPlayedThisTurn();
player.initVariantsZones(psc);
List<Card> newLibrary = playerLibraries.get(player);
for (Card c : newLibrary) {
action.moveToLibrary(c, 0);
}
player.shuffle(null);
}

View File

@@ -783,7 +783,7 @@ public class CardFactoryUtil {
}
if (value.contains("LandsPlayed")) {
return doXMath(player.getNumLandsPlayed(), m, source);
return doXMath(player.getLandsPlayedThisTurn(), m, source);
}
if (value.contains("CardsDrawn")) {
@@ -1129,7 +1129,7 @@ public class CardFactoryUtil {
}
if (sq[0].contains("YourLandsPlayed")) {
return doXMath(cc.getNumLandsPlayed(), m, c);
return doXMath(cc.getLandsPlayedThisTurn(), m, c);
}
// Count$TopOfLibraryCMC

View File

@@ -737,7 +737,6 @@ public class PhaseHandler implements java.io.Serializable, IGameStateObject {
}
}
for (Player p : game.getPlayers()) {
p.resetProwl();
p.resetSpellsCastThisTurn();
p.setLifeLostLastTurn(p.getLifeLostThisTurn());

View File

@@ -108,8 +108,8 @@ public class Player extends GameEntity implements Comparable<Player>, IIdentifia
/** The prowl. */
private ArrayList<String> prowl = new ArrayList<String>();
/** The num lands played. */
private int numLandsPlayed = 0;
/** The num lands played this turn. */
private int landsPlayedThisTurn = 0;
/** The max hand size. */
private int maxHandSize = 7;
@@ -1886,7 +1886,7 @@ public class Player extends GameEntity implements Comparable<Player>, IIdentifia
runParams.put("Card", land);
game.getTriggerHandler().runTrigger(TriggerType.LandPlayed, runParams, false);
game.getStack().unfreezeStack();
this.numLandsPlayed++;
addLandPlayedThisTurn();
return true;
}
@@ -1953,7 +1953,7 @@ public class Player extends GameEntity implements Comparable<Player>, IIdentifia
adjMax += Integer.valueOf(k[1]);
}
}
if (this.numLandsPlayed < adjMax) {
if (this.landsPlayedThisTurn < adjMax) {
return true;
}
@@ -2746,39 +2746,42 @@ public class Player extends GameEntity implements Comparable<Player>, IIdentifia
/**
* <p>
* Getter for the field <code>numLandsPlayed</code>.
* Getter for the field <code>landsPlayedThisTurn</code>.
* </p>
*
* @return a int.
*/
public final int getNumLandsPlayed() {
return this.numLandsPlayed;
public final int getLandsPlayedThisTurn() {
return landsPlayedThisTurn;
}
/**
* <p>
* Setter for the field <code>numLandsPlayed</code>.
* </p>
*
* @param n
* a int.
* Adds 1 to the number of lands played by this player this turn.
*/
public final void setNumLandsPlayed(final int n) {
this.numLandsPlayed = n;
public final void addLandPlayedThisTurn() {
landsPlayedThisTurn++;
achievementTracker.landsPlayed++;
}
/**
* Resets the number of lands played by this player this turn to 0.
*/
public final void resetLandsPlayedThisTurn() {
landsPlayedThisTurn = 0;
}
/**
* @return the number of spells cast by this player this turn.
*/
public final int getSpellsCastThisTurn() {
return this.spellsCastThisTurn;
return spellsCastThisTurn;
}
/**
* Adds 1 to the number of spells cast by this player this turn.
*/
public final void addSpellCastThisTurn() {
this.spellsCastThisTurn++;
spellsCastThisTurn++;
achievementTracker.spellsCast++;
if (spellsCastThisTurn > achievementTracker.maxStormCount) {
achievementTracker.maxStormCount = spellsCastThisTurn;
@@ -2789,7 +2792,7 @@ public class Player extends GameEntity implements Comparable<Player>, IIdentifia
* Resets the number of spells cast by this player this turn to 0.
*/
public final void resetSpellsCastThisTurn() {
this.spellsCastThisTurn = 0;
spellsCastThisTurn = 0;
}
/**
@@ -3075,7 +3078,7 @@ public class Player extends GameEntity implements Comparable<Player>, IIdentifia
setNumCardsInHandStartedThisTurnWith(this.getCardsIn(ZoneType.Hand).size());
setAttackedWithCreatureThisTurn(false);
setActivateLoyaltyAbilityThisTurn(false);
setNumLandsPlayed(0);
resetLandsPlayedThisTurn();
clearAssignedDamage();
resetAttackersDeclaredThisTurn();
}

View File

@@ -65,7 +65,7 @@ public class TriggerLandPlayed extends Trigger {
}
if (this.mapParams.containsKey("NotFirstLand")) {
if (land.getController().getNumLandsPlayed() < 1) {
if (land.getController().getLandsPlayedThisTurn() < 1) {
return false;
}
}

View File

@@ -15,7 +15,7 @@ public class ManaScrewed extends Achievement {
@Override
protected int evaluate(Player player, Game game) {
if (player.getOutcome().hasWon()) {
return player.getNumLandsPlayed();
return player.getAchievementTracker().landsPlayed;
}
return defaultValue; //indicate that player didn't win
}