diff --git a/forge-ai/src/main/java/forge/ai/ComputerUtil.java b/forge-ai/src/main/java/forge/ai/ComputerUtil.java index a282325a750..387d4a83e07 100644 --- a/forge-ai/src/main/java/forge/ai/ComputerUtil.java +++ b/forge-ai/src/main/java/forge/ai/ComputerUtil.java @@ -229,7 +229,7 @@ public class ComputerUtil { // Then base on Targeting Restriction final String[] validTgts = tgt.getValidTgts(); - if ((validTgts.length != 1) || !validTgts[0].equals("Card")) { + if (validTgts.length != 1 || !validTgts[0].equals("Card")) { restrict += 10; } diff --git a/forge-game/src/main/java/forge/game/ability/AbilityFactory.java b/forge-game/src/main/java/forge/game/ability/AbilityFactory.java index e8b400abf19..83a638f6ac3 100644 --- a/forge-game/src/main/java/forge/game/ability/AbilityFactory.java +++ b/forge-game/src/main/java/forge/game/ability/AbilityFactory.java @@ -474,11 +474,10 @@ public final class AbilityFactory { final TargetRestrictions tgt = sa.getTargetRestrictions(); // Don't set the zone if it targets a player - if ((tgt != null) && !tgt.canTgtPlayer()) { - sa.getTargetRestrictions().setZone(origin); + if (tgt != null && !tgt.canTgtPlayer()) { + tgt.setZone(origin); } } - } public static final SpellAbility buildFusedAbility(final Card card) { 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 0af9888951c..785efb9f7e9 100644 --- a/forge-game/src/main/java/forge/game/card/CardProperty.java +++ b/forge-game/src/main/java/forge/game/card/CardProperty.java @@ -943,7 +943,8 @@ public class CardProperty { final List cards = CardUtil.getThisTurnCast("Card", source, spellAbility); if (cards.size() < 2) { return false; - } else if (cards.get(1) != card) { + } + if (!cards.get(1).equalsWithTimestamp(card)) { return false; } } else if (property.equals("ThisTurnCast")) { diff --git a/forge-gui/res/cardsfolder/e/errant_street_artist.txt b/forge-gui/res/cardsfolder/e/errant_street_artist.txt index 63cb500f319..4bdc31696ab 100644 --- a/forge-gui/res/cardsfolder/e/errant_street_artist.txt +++ b/forge-gui/res/cardsfolder/e/errant_street_artist.txt @@ -5,6 +5,6 @@ PT:0/3 K:Flash K:Defender K:Haste -A:AB$ CopySpellAbility | Cost$ 1 U T | ValidTgts$ Spell.YouCtrl+wasNotCast | TargetType$ Spell | MayChooseTarget$ True | AILogic$ OnceIfViable | SpellDescription$ Copy target spell you control that wasn't cast. You may choose new targets for the copy. +A:AB$ CopySpellAbility | Cost$ 1 U T | ValidTgts$ Card.YouCtrl+wasNotCast | TargetType$ Spell | MayChooseTarget$ True | AILogic$ OnceIfViable | SpellDescription$ Copy target spell you control that wasn't cast. You may choose new targets for the copy. AI:RemoveDeck:Random Oracle:Flash\nDefender, haste\n{1}{U}, {T}: Copy target spell you control that wasn't cast. You may choose new targets for the copy. \ No newline at end of file diff --git a/forge-gui/res/cardsfolder/s/second_guess.txt b/forge-gui/res/cardsfolder/s/second_guess.txt index 5eb1ac53e93..7afa4e9fce2 100644 --- a/forge-gui/res/cardsfolder/s/second_guess.txt +++ b/forge-gui/res/cardsfolder/s/second_guess.txt @@ -1,5 +1,5 @@ Name:Second Guess ManaCost:1 U Types:Instant -A:SP$ Counter | Cost$ 1 U | TargetType$ Spell | TgtPrompt$ Select second spell cast this turn. | ValidTgts$ Spell.SecondSpellCastThisTurn | SpellDescription$ Counter target spell that's the second spell cast this turn. +A:SP$ Counter | Cost$ 1 U | TargetType$ Spell | TgtPrompt$ Select second spell cast this turn. | ValidTgts$ Card.SecondSpellCastThisTurn | SpellDescription$ Counter target spell that's the second spell cast this turn. Oracle:Counter target spell that's the second spell cast this turn.