diff --git a/forge-game/src/main/java/forge/game/player/PlayerController.java b/forge-game/src/main/java/forge/game/player/PlayerController.java index b8c37d9ee60..d41f66164ab 100644 --- a/forge-game/src/main/java/forge/game/player/PlayerController.java +++ b/forge-game/src/main/java/forge/game/player/PlayerController.java @@ -291,4 +291,8 @@ public abstract class PlayerController { public boolean canPlayUnlimitedLands() { return false; } + + public boolean hasCheated() { + return false; + } } \ No newline at end of file diff --git a/forge-gui/src/main/java/forge/achievement/AchievementCollection.java b/forge-gui/src/main/java/forge/achievement/AchievementCollection.java index 4d5c875f63e..cee1371bacb 100644 --- a/forge-gui/src/main/java/forge/achievement/AchievementCollection.java +++ b/forge-gui/src/main/java/forge/achievement/AchievementCollection.java @@ -73,6 +73,8 @@ public abstract class AchievementCollection implements Iterable { } public void updateAll(IGuiBase gui, Player player) { + if (player.getController().hasCheated()) { return; } //don't update achievements if player cheated during game + for (Achievement achievement : achievements.values()) { achievement.update(gui, player); } diff --git a/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java b/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java index 8d76a16ac23..696cc5c0694 100644 --- a/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java +++ b/forge-gui/src/main/java/forge/player/PlayerControllerHuman.java @@ -1681,8 +1681,12 @@ public class PlayerControllerHuman extends PlayerController { } //Dev Mode cheat functions - private DevModeCheats cheats; private boolean canPlayUnlimitedLands; + @Override + public boolean canPlayUnlimitedLands() { + return canPlayUnlimitedLands; + } + private DevModeCheats cheats; public DevModeCheats cheat() { if (cheats == null) { cheats = new DevModeCheats(); @@ -1690,13 +1694,10 @@ public class PlayerControllerHuman extends PlayerController { } return cheats; } + @Override public boolean hasCheated() { return cheats != null; } - @Override - public boolean canPlayUnlimitedLands() { - return canPlayUnlimitedLands; - } public class DevModeCheats { private DevModeCheats() { }