mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 12:48:00 +00:00
convert Changeling Berserker, Changeling Hero, and Changeling Titan to Champion keyword.
This commit is contained in:
@@ -1,10 +1,11 @@
|
|||||||
Name:Changeling Berserker
|
Name:Changeling Berserker
|
||||||
ManaCost:3 R
|
ManaCost:3 R
|
||||||
Types:Creature Shapeshifter
|
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
|
PT:5/3
|
||||||
K:Changeling
|
K:Changeling
|
||||||
K:Haste
|
K:Haste
|
||||||
|
K:Champion:Creature
|
||||||
SVar:Rarity:Uncommon
|
SVar:Rarity:Uncommon
|
||||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/changeling_berserker.jpg
|
SVar:Picture:http://www.wizards.com/global/images/magic/general/changeling_berserker.jpg
|
||||||
SetInfo:LRW|Uncommon|http://magiccards.info/scans/en/lw/160.jpg
|
SetInfo:LRW|Uncommon|http://magiccards.info/scans/en/lw/160.jpg
|
||||||
|
|||||||
@@ -1,10 +1,11 @@
|
|||||||
Name:Changeling Hero
|
Name:Changeling Hero
|
||||||
ManaCost:4 W
|
ManaCost:4 W
|
||||||
Types:Creature Shapeshifter
|
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
|
PT:4/4
|
||||||
K:Changeling
|
K:Changeling
|
||||||
K:Lifelink
|
K:Lifelink
|
||||||
|
K:Champion:Creature
|
||||||
SVar:Rarity:Uncommon
|
SVar:Rarity:Uncommon
|
||||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/changeling_hero.jpg
|
SVar:Picture:http://www.wizards.com/global/images/magic/general/changeling_hero.jpg
|
||||||
SetInfo:LRW|Uncommon|http://magiccards.info/scans/en/lw/9.jpg
|
SetInfo:LRW|Uncommon|http://magiccards.info/scans/en/lw/9.jpg
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
Name:Changeling Titan
|
Name:Changeling Titan
|
||||||
ManaCost:4 G
|
ManaCost:4 G
|
||||||
Types:Creature Shapeshifter
|
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
|
PT:7/7
|
||||||
K:Changeling
|
K:Changeling
|
||||||
|
K:Champion:Creature
|
||||||
SVar:Rarity:Uncommon
|
SVar:Rarity:Uncommon
|
||||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/changeling_titan.jpg
|
SVar:Picture:http://www.wizards.com/global/images/magic/general/changeling_titan.jpg
|
||||||
SetInfo:LRW|Uncommon|http://magiccards.info/scans/en/lw/200.jpg
|
SetInfo:LRW|Uncommon|http://magiccards.info/scans/en/lw/200.jpg
|
||||||
|
|||||||
@@ -3962,136 +3962,6 @@ public class CardFactory_Creatures {
|
|||||||
}//*************** END ************ END **************************
|
}//*************** 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 **************************
|
//*************** START *********** START **************************
|
||||||
else if(cardName.equals("Faceless Butcher")) {
|
else if(cardName.equals("Faceless Butcher")) {
|
||||||
final CommandReturn getCreature = new CommandReturn() {
|
final CommandReturn getCreature = new CommandReturn() {
|
||||||
|
|||||||
Reference in New Issue
Block a user