mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 11:48:02 +00:00
- Momir Basic is exempt from evaluating Arcane Master, Mana Flooded and deck construction challenge (e.g. No Spells) achievements as they are pertinent to this format and can't really be regarded as player's "achievements" in this case.
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package forge.achievement;
|
||||
|
||||
import forge.game.Game;
|
||||
import forge.game.GameType;
|
||||
import forge.game.player.Player;
|
||||
|
||||
public class ArcaneMaster extends Achievement {
|
||||
@@ -14,6 +15,9 @@ public class ArcaneMaster extends Achievement {
|
||||
|
||||
@Override
|
||||
protected int evaluate(Player player, Game game) {
|
||||
if (game.getRules().hasAppliedVariant(GameType.MomirBasic)) {
|
||||
return defaultValue; // Momir Basic is exempt from this achievement (custom rules do not require any spellcasting by default)
|
||||
}
|
||||
if (player.getOutcome().hasWon()) {
|
||||
return player.getAchievementTracker().spellsCast;
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package forge.achievement;
|
||||
|
||||
import forge.deck.Deck;
|
||||
import forge.game.Game;
|
||||
import forge.game.GameType;
|
||||
import forge.game.player.Player;
|
||||
import forge.properties.ForgeConstants;
|
||||
|
||||
@@ -55,6 +56,10 @@ public class ChallengeAchievements extends AchievementCollection {
|
||||
|
||||
@Override
|
||||
protected final boolean eval(Player player, Game game) {
|
||||
if (game.getRules().hasAppliedVariant(GameType.MomirBasic)) {
|
||||
// Momir Basic uses a fixed pre-defined deck format (all lands), so designing it to be that way is not the player's achievement
|
||||
return false;
|
||||
}
|
||||
if (player.getOutcome().hasWon()) {
|
||||
return eval(player.getRegisteredPlayer().getDeck());
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package forge.achievement;
|
||||
|
||||
import forge.game.Game;
|
||||
import forge.game.GameType;
|
||||
import forge.game.card.Card;
|
||||
import forge.game.player.Player;
|
||||
import forge.game.zone.ZoneType;
|
||||
@@ -16,6 +17,9 @@ public class ManaFlooded extends Achievement {
|
||||
|
||||
@Override
|
||||
protected int evaluate(Player player, Game game) {
|
||||
if (game.getRules().hasAppliedVariant(GameType.MomirBasic)) {
|
||||
return 0; // in Momir Basic, getting a lot of lands out is not an achievement:w
|
||||
}
|
||||
if (player.getOutcome().hasWon()) {
|
||||
int landCount = 0;
|
||||
for (Card c : player.getZone(ZoneType.Battlefield).getCards()) {
|
||||
|
||||
Reference in New Issue
Block a user