mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 11:48:02 +00:00
Add Blackjack achievement
This commit is contained in:
1
.gitattributes
vendored
1
.gitattributes
vendored
@@ -16655,6 +16655,7 @@ forge-gui/src/main/java/forge/GuiBase.java -text
|
||||
forge-gui/src/main/java/forge/UiCommand.java svneol=native#text/plain
|
||||
forge-gui/src/main/java/forge/achievement/Achievement.java -text
|
||||
forge-gui/src/main/java/forge/achievement/AchievementCollection.java -text
|
||||
forge-gui/src/main/java/forge/achievement/Blackjack.java -text
|
||||
forge-gui/src/main/java/forge/achievement/ConstructedAchievements.java -text
|
||||
forge-gui/src/main/java/forge/achievement/DeckedOut.java -text
|
||||
forge-gui/src/main/java/forge/achievement/DraftAchievements.java -text
|
||||
|
||||
39
forge-gui/src/main/java/forge/achievement/Blackjack.java
Normal file
39
forge-gui/src/main/java/forge/achievement/Blackjack.java
Normal file
@@ -0,0 +1,39 @@
|
||||
package forge.achievement;
|
||||
|
||||
import forge.game.Game;
|
||||
import forge.game.player.GameLossReason;
|
||||
import forge.game.player.Player;
|
||||
|
||||
public class Blackjack extends Achievement {
|
||||
private static final int THRESHOLD = 21;
|
||||
|
||||
public Blackjack(int silver0, int gold0) {
|
||||
super("Blackjack",
|
||||
String.format("Win a game by dealing %d combat damage with your commander.", THRESHOLD), THRESHOLD,
|
||||
String.format("Win a game by dealing %d combat damage with your commander.", silver0), silver0,
|
||||
String.format("Win a game by dealing %d combat damage with your commander.", gold0), gold0);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int evaluate(Player player, Game game) {
|
||||
if (player.getOutcome().hasWon()) {
|
||||
for (Player p : game.getRegisteredPlayers()) {
|
||||
if (p.isOpponentOf(player) && p.getOutcome().lossState == GameLossReason.CommanderDamage) {
|
||||
Integer damage = p.getCommanderDamage().get(player.getCommander());
|
||||
if (damage != null && damage >= THRESHOLD) {
|
||||
return damage;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getSubTitle() {
|
||||
if (best > 0) {
|
||||
return "Best: " + best + " Damage";
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -16,11 +16,12 @@ public class ConstructedAchievements extends AchievementCollection {
|
||||
//add achievements that should appear at the bottom below core achievements for each game mode
|
||||
@Override
|
||||
protected void buildBottomShelf() {
|
||||
add("Poisoned", new Poisoned(10, 15, 25));
|
||||
add("Poisoned", new Poisoned(15, 25));
|
||||
add("DeckedOut", new DeckedOut(8, 4));
|
||||
add("Vanguard", new VariantWins(GameType.Vanguard, 25, 50));
|
||||
add("MomirBasic", new VariantWins(GameType.MomirBasic, 25, 50));
|
||||
add("Commander", new VariantWins(GameType.Commander, 25, 50));
|
||||
add("Blackjack", new Blackjack(30, 50));
|
||||
add("Planechase", new VariantWins(GameType.Planechase, 25, 50));
|
||||
add("Archenemy", new VariantWins(GameType.Archenemy, 25, 50));
|
||||
}
|
||||
|
||||
@@ -5,9 +5,11 @@ import forge.game.player.GameLossReason;
|
||||
import forge.game.player.Player;
|
||||
|
||||
public class Poisoned extends Achievement {
|
||||
public Poisoned(int bronze0, int silver0, int gold0) {
|
||||
private static final int THRESHOLD = 10;
|
||||
|
||||
public Poisoned(int silver0, int gold0) {
|
||||
super("Poisoned",
|
||||
String.format("Win a game by giving opponent %d poison counters.", bronze0), bronze0,
|
||||
String.format("Win a game by giving opponent %d poison counters.", THRESHOLD), THRESHOLD,
|
||||
String.format("Win a game by giving opponent %d poison counters.", silver0), silver0,
|
||||
String.format("Win a game by giving opponent %d poison counters.", gold0), gold0);
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@ public class QuestAchievements extends AchievementCollection {
|
||||
//add achievements that should appear at the bottom below core achievements for each game mode
|
||||
@Override
|
||||
protected void buildBottomShelf() {
|
||||
add("Poisoned", new Poisoned(10, 15, 25));
|
||||
add("Poisoned", new Poisoned(15, 25));
|
||||
add("DeckedOut", new DeckedOut(8, 4));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user