diff --git a/src/forge/CardFactory.java b/src/forge/CardFactory.java index d0911cf3a5a..fa5ac6d9872 100644 --- a/src/forge/CardFactory.java +++ b/src/forge/CardFactory.java @@ -7411,7 +7411,14 @@ public class CardFactory implements NewConstants { if((!CardUtil.getColors(card).contains(Constant.Color.White)) && card.isCreature() && zone.is(Constant.Zone.Play)) { spell.setTargetCard(card); - stopSetNext(new Input_PayManaCost(spell)); + if (this.isFree()) + { + this.setFree(false); + AllZone.Stack.add(spell); + stop(); + } + else + stopSetNext(new Input_PayManaCost(spell)); } } };//SpellAbility - target diff --git a/src/forge/CardFactory_Creatures.java b/src/forge/CardFactory_Creatures.java index f149ab7e698..e29d76f3101 100644 --- a/src/forge/CardFactory_Creatures.java +++ b/src/forge/CardFactory_Creatures.java @@ -7848,16 +7848,12 @@ public class CardFactory_Creatures { if(c.isEmpty()) return false; - if(2 <= c.get(0).getNetAttack() && c.get(0).getKeyword().contains("Flying")) { - setTargetCard(c.get(0)); + if( c.get(0).getNetAttack() >= 2 && c.get(0).getKeyword().contains("Flying")) return true; - } CardListUtil.sortAttack(c); - if(4 <= c.get(0).getNetAttack()) { - setTargetCard(c.get(0)); + if(4 <= c.get(0).getNetAttack()) return true; - } return false; } diff --git a/src/forge/GameActionUtil.java b/src/forge/GameActionUtil.java index 83c6307b285..972659567d2 100644 --- a/src/forge/GameActionUtil.java +++ b/src/forge/GameActionUtil.java @@ -1147,7 +1147,7 @@ public class GameActionUtil { AllZone.GameAction.moveToGraveyard(sa.getSourceCard()); for(int j = 0; j < cl.size() * cmc; j++) { - CardFactoryUtil.makeToken("Bird", "WU 1 1 Bird", card, "W U", new String[] { + CardFactoryUtil.makeToken("Bird", "WU 1 1 Bird", sa.getSourceCard().getController(), "W U", new String[] { "Creature", "Bird"}, 1, 1, new String[] {"Flying"}); }