diff --git a/res/cardsfolder/changeling_berserker.txt b/res/cardsfolder/changeling_berserker.txt index 023ef981b7b..8ffdef1311f 100644 --- a/res/cardsfolder/changeling_berserker.txt +++ b/res/cardsfolder/changeling_berserker.txt @@ -1,10 +1,11 @@ Name:Changeling Berserker ManaCost:3 R Types:Creature Shapeshifter -Text:Champion a creature +Text:Champion a creature (When this enters the battlefield, sacrifice it unless you exile another creature you control. When this leaves the battlefield, that card returns to the battlefield.) PT:5/3 K:Changeling K:Haste +K:Champion:Creature SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/changeling_berserker.jpg SetInfo:LRW|Uncommon|http://magiccards.info/scans/en/lw/160.jpg diff --git a/res/cardsfolder/changeling_hero.txt b/res/cardsfolder/changeling_hero.txt index 6d051c3d126..c3f95b948ae 100644 --- a/res/cardsfolder/changeling_hero.txt +++ b/res/cardsfolder/changeling_hero.txt @@ -1,10 +1,11 @@ Name:Changeling Hero ManaCost:4 W Types:Creature Shapeshifter -Text:Champion a creature +Text:Champion a creature (When this enters the battlefield, sacrifice it unless you exile another creature you control. When this leaves the battlefield, that card returns to the battlefield.) PT:4/4 K:Changeling K:Lifelink +K:Champion:Creature SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/changeling_hero.jpg SetInfo:LRW|Uncommon|http://magiccards.info/scans/en/lw/9.jpg diff --git a/res/cardsfolder/changeling_titan.txt b/res/cardsfolder/changeling_titan.txt index 26f419ebae4..06421c7231e 100644 --- a/res/cardsfolder/changeling_titan.txt +++ b/res/cardsfolder/changeling_titan.txt @@ -1,9 +1,10 @@ Name:Changeling Titan ManaCost:4 G Types:Creature Shapeshifter -Text:Champion a creature +Text:Champion a creature (When this enters the battlefield, sacrifice it unless you exile another creature you control. When this leaves the battlefield, that card returns to the battlefield.) PT:7/7 K:Changeling +K:Champion:Creature SVar:Rarity:Uncommon SVar:Picture:http://www.wizards.com/global/images/magic/general/changeling_titan.jpg SetInfo:LRW|Uncommon|http://magiccards.info/scans/en/lw/200.jpg diff --git a/src/forge/CardFactory_Creatures.java b/src/forge/CardFactory_Creatures.java index b48e13955c7..626e334b478 100644 --- a/src/forge/CardFactory_Creatures.java +++ b/src/forge/CardFactory_Creatures.java @@ -3962,136 +3962,6 @@ public class CardFactory_Creatures { }//*************** END ************ END ************************** - //*************** START *********** START ************************** - else if(cardName.equals("Changeling Berserker") || cardName.equals("Changeling Hero") - || cardName.equals("Changeling Titan")) { - final CommandReturn getCreature = new CommandReturn() { - public Object execute() { - //get all creatures - CardList list = new CardList(); - PlayerZone play = AllZone.getZone(Constant.Zone.Battlefield, card.getController()); - list.addAll(play.getCards()); - - list = list.filter(new CardListFilter() { - public boolean addCard(Card c) { - return c.getType().contains("Creature"); - } - }); - - return list; - } - };//CommandReturn - - final SpellAbility abilityComes = new Ability(card, "0") { - @Override - public void resolve() { - if(getTargetCard() == null || getTargetCard() == card) AllZone.GameAction.sacrifice(card); - - else if(AllZone.GameAction.isCardInPlay(getTargetCard())) { - AllZone.GameAction.exile(getTargetCard()); - } - }//resolve() - }; - - final Input inputComes = new Input() { - - private static final long serialVersionUID = 5210700665533271691L; - - @Override - public void showMessage() { - CardList choice = (CardList) getCreature.execute(); - - stopSetNext(CardFactoryUtil.input_targetChampionSac(card, abilityComes, choice, - "Select creature to remove from the game", false, false)); - ButtonUtil.disableAll(); - } - }; - Command commandComes = new Command() { - - private static final long serialVersionUID = -3580408066322945328L; - - public void execute() { - CardList creature = (CardList) getCreature.execute(); - Player s = card.getController(); - if(creature.size() == 0) { - AllZone.GameAction.sacrifice(card); - return; - } else if(s.equals(AllZone.HumanPlayer)) AllZone.InputControl.setInput(inputComes); - else //computer - { - Card target; - //must target computer creature - CardList computer = new CardList(AllZone.Computer_Battlefield.getCards()); - computer = computer.getType("Creature"); - computer.remove(card); - - computer.shuffle(); - if(computer.size() != 0) { - target = computer.get(0); - abilityComes.setTargetCard(target); - AllZone.Stack.add(abilityComes); - } - else - AllZone.GameAction.sacrifice(card); - }//else - }//execute() - };//CommandComes - Command commandLeavesPlay = new Command() { - - private static final long serialVersionUID = -5903638227914705191L; - - public void execute() { - //System.out.println(abilityComes.getTargetCard().getName()); - Object o = abilityComes.getTargetCard(); - - if(o == null || ((Card) o).isToken() || !AllZone.GameAction.isCardExiled((Card) o)) return; - - SpellAbility ability = new Ability(card, "0") { - @Override - public void resolve() { - //copy card to reset card attributes like attack and defense - Card c = abilityComes.getTargetCard(); - if(!c.isToken()) { - c = AllZone.CardFactory.copyCard(c); - c.setController(c.getOwner()); - - PlayerZone play = AllZone.getZone(Constant.Zone.Battlefield, c.getOwner()); - PlayerZone removed = AllZone.getZone(Constant.Zone.Exile, c.getOwner()); - removed.remove(c); - play.add(c); - - } - }//resolve() - };//SpellAbility - - StringBuilder sb = new StringBuilder(); - sb.append(card.getName()).append(" - returning creature to play"); - ability.setStackDescription(sb.toString()); - - AllZone.Stack.add(ability); - }//execute() - };//Command - - card.addComesIntoPlayCommand(commandComes); - card.addLeavesPlayCommand(commandLeavesPlay); - - card.clearSpellAbility(); - card.addSpellAbility(new Spell_Permanent(card) { - - private static final long serialVersionUID = 2583297503017070549L; - - @Override - public boolean canPlayAI() { - Object o = getCreature.execute(); - if(o == null) return false; - - CardList cl = (CardList) getCreature.execute(); - return (o != null) && cl.size() > 0 && AllZone.getZone(getSourceCard()).is(Constant.Zone.Hand); - } - }); - }//*************** END ************ END ************************** - - //*************** START *********** START ************************** else if(cardName.equals("Faceless Butcher")) { final CommandReturn getCreature = new CommandReturn() {