diff --git a/forge-game/src/main/java/forge/game/player/Player.java b/forge-game/src/main/java/forge/game/player/Player.java index 42908ea4965..2e5f694eb72 100644 --- a/forge-game/src/main/java/forge/game/player/Player.java +++ b/forge-game/src/main/java/forge/game/player/Player.java @@ -2132,12 +2132,8 @@ public class Player extends GameEntity implements Comparable { return lost; } - public final boolean hasProwl(final Set types) { - StringBuilder sb = new StringBuilder(); - for (String type : types) { - sb.append("Card.YouCtrl+").append(type).append(","); - } - return !game.getDamageDoneThisTurn(true, true, sb.toString(), "Player", null, this, null).isEmpty(); + public final boolean hasProwl(final SpellAbility sa) { + return !game.getDamageDoneThisTurn(true, true, "Card.YouCtrl+sharesCreatureTypeWith", "Player", sa.getHostCard(), this, sa).isEmpty(); } public final boolean hasFreerunning() { diff --git a/forge-game/src/main/java/forge/game/spellability/SpellAbilityRestriction.java b/forge-game/src/main/java/forge/game/spellability/SpellAbilityRestriction.java index a1c2876bb62..512ef4e4ec4 100644 --- a/forge-game/src/main/java/forge/game/spellability/SpellAbilityRestriction.java +++ b/forge-game/src/main/java/forge/game/spellability/SpellAbilityRestriction.java @@ -440,7 +440,7 @@ public class SpellAbilityRestriction extends SpellAbilityVariables { } } if (sa.isProwl()) { - if (!activator.hasProwl(c.getType().getCreatureTypes())) { + if (!activator.hasProwl(sa)) { return false; } }