From d658bf226511f15a678fe78930993137f25fa222 Mon Sep 17 00:00:00 2001 From: Susucre <34709007+Susucre@users.noreply.github.com> Date: Mon, 17 Jul 2023 01:53:22 +0200 Subject: [PATCH] refactor: expose Player->incrementLandsPlayed for some custom effects. (#10632) * Expose Player->incrementLandsPlayed for some custom effects. * also expose resetLandsPlayed --- .../test/java/org/mage/test/player/TestPlayer.java | 10 ++++++++++ .../test/java/org/mage/test/stub/PlayerStub.java | 8 ++++++++ Mage/src/main/java/mage/players/Player.java | 3 +++ Mage/src/main/java/mage/players/PlayerImpl.java | 14 ++++++++++++-- 4 files changed, 33 insertions(+), 2 deletions(-) diff --git a/Mage.Tests/src/test/java/org/mage/test/player/TestPlayer.java b/Mage.Tests/src/test/java/org/mage/test/player/TestPlayer.java index f4c5b1da2e9..e12447ba6cb 100644 --- a/Mage.Tests/src/test/java/org/mage/test/player/TestPlayer.java +++ b/Mage.Tests/src/test/java/org/mage/test/player/TestPlayer.java @@ -3181,6 +3181,16 @@ public class TestPlayer implements Player { return computerPlayer.getPlayableActivatedAbilities(object, zone, game); } + @Override + public void incrementLandsPlayed() { + computerPlayer.incrementLandsPlayed(); + } + + @Override + public void resetLandsPlayed() { + computerPlayer.resetLandsPlayed(); + } + @Override public int getLandsPlayed() { return computerPlayer.getLandsPlayed(); diff --git a/Mage.Tests/src/test/java/org/mage/test/stub/PlayerStub.java b/Mage.Tests/src/test/java/org/mage/test/stub/PlayerStub.java index 5ad32770b25..364b8ba0e3d 100644 --- a/Mage.Tests/src/test/java/org/mage/test/stub/PlayerStub.java +++ b/Mage.Tests/src/test/java/org/mage/test/stub/PlayerStub.java @@ -260,6 +260,14 @@ public class PlayerStub implements Player { return null; } + @Override + public void incrementLandsPlayed() { + } + + @Override + public void resetLandsPlayed() { + } + @Override public int getLandsPlayed() { return 0; diff --git a/Mage/src/main/java/mage/players/Player.java b/Mage/src/main/java/mage/players/Player.java index af86d2f0de4..6365923fdb6 100644 --- a/Mage/src/main/java/mage/players/Player.java +++ b/Mage/src/main/java/mage/players/Player.java @@ -209,6 +209,9 @@ public interface Player extends MageItem, Copyable { Cards getHand(); + void incrementLandsPlayed(); + void resetLandsPlayed(); + int getLandsPlayed(); int getLandsPerTurn(); diff --git a/Mage/src/main/java/mage/players/PlayerImpl.java b/Mage/src/main/java/mage/players/PlayerImpl.java index 7e4c838ea62..d6ceca2497e 100644 --- a/Mage/src/main/java/mage/players/PlayerImpl.java +++ b/Mage/src/main/java/mage/players/PlayerImpl.java @@ -485,7 +485,7 @@ public abstract class PlayerImpl implements Player, Serializable { @Override public void beginTurn(Game game) { - this.landsPlayed = 0; + resetLandsPlayed(); updateRange(game); } @@ -1285,7 +1285,7 @@ public abstract class PlayerImpl implements Player, Serializable { game.fireEvent(landEventBefore); if (moveCards(card, Zone.BATTLEFIELD, playLandAbility, game, false, false, false, null)) { - landsPlayed++; + incrementLandsPlayed(); GameEvent landEventAfter = GameEvent.getEvent(GameEvent.EventType.LAND_PLAYED, card.getId(), playLandAbility, playerId, activationStatus.getApprovingObject()); landEventAfter.setZone(cardZoneBefore); @@ -1647,6 +1647,16 @@ public abstract class PlayerImpl implements Player, Serializable { return useable; } + @Override + public void incrementLandsPlayed() { + landsPlayed++; + } + + @Override + public void resetLandsPlayed() { + landsPlayed = 0; + } + @Override public int getLandsPlayed() { return landsPlayed;