From 7e62540b7cf39c381135810df39c53f741a1217a Mon Sep 17 00:00:00 2001
From: tool4EvEr <tool4EvEr@192.168.0.60>
Date: Sat, 14 Oct 2023 22:23:00 +0200
Subject: [PATCH] Fix merge

---
 forge-game/src/main/java/forge/game/GameAction.java             | 2 +-
 .../src/main/java/forge/game/ability/effects/TapAllEffect.java  | 2 +-
 .../main/java/forge/game/ability/effects/TapOrUntapEffect.java  | 2 +-
 forge-game/src/main/java/forge/game/card/CardProperty.java      | 1 -
 .../src/test/java/forge/ai/simulation/SimulationTest.java       | 2 +-
 5 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/forge-game/src/main/java/forge/game/GameAction.java b/forge-game/src/main/java/forge/game/GameAction.java
index cefe83e2305..1b9693ac6ab 100644
--- a/forge-game/src/main/java/forge/game/GameAction.java
+++ b/forge-game/src/main/java/forge/game/GameAction.java
@@ -1523,7 +1523,7 @@ private boolean stateBasedAction_Role(Card c, CardCollection removeList) {
                 continue;
             }
             // sort by game timestamp
-            rolesByPlayer.sort(CardPredicates.compareByTimestamp());
+            rolesByPlayer.sort(CardPredicates.compareByGameTimestamp());
             removeList.addAll(rolesByPlayer.subList(0, rolesByPlayer.size() - 1));
             checkAgain = true;
         }
diff --git a/forge-game/src/main/java/forge/game/ability/effects/TapAllEffect.java b/forge-game/src/main/java/forge/game/ability/effects/TapAllEffect.java
index 40129fa7197..1b6a71097c4 100644
--- a/forge-game/src/main/java/forge/game/ability/effects/TapAllEffect.java
+++ b/forge-game/src/main/java/forge/game/ability/effects/TapAllEffect.java
@@ -46,7 +46,7 @@ public void resolve(SpellAbility sa) {
                 card.addRemembered(tgtC);
             }
             if (sa.hasParam("TapperController")) {
-                tapper = c.getController();
+                tapper = tgtC.getController();
             }
             tgtC.tap(true, sa, tapper);
         }
diff --git a/forge-game/src/main/java/forge/game/ability/effects/TapOrUntapEffect.java b/forge-game/src/main/java/forge/game/ability/effects/TapOrUntapEffect.java
index 22a88f260bc..68419ed2826 100644
--- a/forge-game/src/main/java/forge/game/ability/effects/TapOrUntapEffect.java
+++ b/forge-game/src/main/java/forge/game/ability/effects/TapOrUntapEffect.java
@@ -52,7 +52,7 @@ public void resolve(SpellAbility sa) {
             }
             // If the effected card is controlled by the same controller of the SA, default to untap.
             boolean tap = pc.chooseBinary(sa, Localizer.getInstance().getMessage("lblTapOrUntapTarget", CardTranslation.getTranslatedName(gameCard.getName())), PlayerController.BinaryChoiceType.TapOrUntap,
-                    !gameCard.getController().equals(sa.getActivatingPlayer()));
+                    !gameCard.getController().equals(activator));
 
             if (tap) {
                 Player tapper = activator;
diff --git a/forge-game/src/main/java/forge/game/card/CardProperty.java b/forge-game/src/main/java/forge/game/card/CardProperty.java
index e115d898fd3..62c2ca9e02e 100644
--- a/forge-game/src/main/java/forge/game/card/CardProperty.java
+++ b/forge-game/src/main/java/forge/game/card/CardProperty.java
@@ -1190,7 +1190,6 @@ else if (prop.isEmpty() && dmgSource.equalsWithGameTimestamp(source)) {
         } else if (property.startsWith("Damaged")) {
             boolean found = false;
             for (Pair<Integer, Boolean> p : source.getDamageReceivedThisTurn()) {
-                boolean found = false;
                 if (game.getDamageLKI(p).getLeft().equalsWithGameTimestamp(card)) {
                     found = true;
                     break;
diff --git a/forge-gui-desktop/src/test/java/forge/ai/simulation/SimulationTest.java b/forge-gui-desktop/src/test/java/forge/ai/simulation/SimulationTest.java
index 6e18001898b..1cccb3b4fe5 100644
--- a/forge-gui-desktop/src/test/java/forge/ai/simulation/SimulationTest.java
+++ b/forge-gui-desktop/src/test/java/forge/ai/simulation/SimulationTest.java
@@ -175,7 +175,7 @@ protected List<Card> addTokens(String name, int amount, Player p) {
     protected Card addToken(String name, Player p) {
         Card c = createToken(name, p);
         // card need a new Timestamp otherwise Static Abilities might collide
-        c.setTimestamp(p.getGame().getNextTimestamp());
+        c.setGameTimestamp(p.getGame().getNextTimestamp());
         p.getZone(ZoneType.Battlefield).add(c);
         return c;
     }