From 1d2b6cbfab3c68f9631056ee315775532691fc95 Mon Sep 17 00:00:00 2001 From: xenohedron Date: Fri, 9 Jun 2023 21:01:45 -0400 Subject: [PATCH] Don't add additional instances of redundant abilities --- Mage/src/main/java/mage/game/GameState.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Mage/src/main/java/mage/game/GameState.java b/Mage/src/main/java/mage/game/GameState.java index 0352fa6aaa9..1569ffe075d 100644 --- a/Mage/src/main/java/mage/game/GameState.java +++ b/Mage/src/main/java/mage/game/GameState.java @@ -1202,6 +1202,12 @@ public class GameState implements Serializable, Copyable { Ability newAbility; if (ability instanceof MageSingleton || !copyAbility) { + // Avoid adding another instance of an ability where multiple copies are redundant + if (attachedTo.getAbilities().contains(ability) + || (getAllOtherAbilities(attachedTo.getId()) != null + && getAllOtherAbilities(attachedTo.getId()).contains(ability))) { + return; + } newAbility = ability; } else { // must use new id, so you can add multiple instances of the same ability