mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 19:58:00 +00:00
Simplified Quicksilver Gargantuan
This commit is contained in:
@@ -13280,7 +13280,8 @@ public class CardFactory_Creatures {
|
||||
|
||||
|
||||
//*************** START *********** START **************************
|
||||
else if(cardName.equals("Clone") || cardName.equals("Vesuvan Doppelganger")) {
|
||||
else if(cardName.equals("Clone") || cardName.equals("Vesuvan Doppelganger")
|
||||
|| cardName.equals("Quicksilver Gargantuan")) {
|
||||
final CardFactory cfact = cf;
|
||||
final Card[] copyTarget = new Card[1];
|
||||
final Card[] cloned = new Card[1];
|
||||
@@ -13330,6 +13331,11 @@ public class CardFactory_Creatures {
|
||||
cloned[0].addExtrinsicKeyword("At the beginning of your upkeep, you may have this creature become a copy of target creature except it doesn't copy that creature's color. If you do, this creature gains this ability.");
|
||||
cloned[0].addColor("U", cloned[0], false, true);
|
||||
}
|
||||
|
||||
else if (cardName.equals("Quicksilver Gargantuan")) {
|
||||
cloned[0].setBaseDefense(7);
|
||||
cloned[0].setBaseAttack(7);
|
||||
}
|
||||
PlayerZone play = AllZone.getZone(Constant.Zone.Battlefield, card.getController());
|
||||
play.add(cloned[0]);
|
||||
card.setCurrentlyCloningCard(cloned[0]);
|
||||
@@ -13362,99 +13368,6 @@ public class CardFactory_Creatures {
|
||||
copy.setStackDescription(cardName+" - enters the battlefield as a copy of selected card.");
|
||||
copy.setBeforePayMana(runtime);
|
||||
}//*************** END ************ END **************************
|
||||
|
||||
|
||||
//*************** START *********** START **************************
|
||||
else if(cardName.equals("Quicksilver Gargantuan")) {
|
||||
final CardFactory cfact = cf;
|
||||
final Card[] copyTarget = new Card[1];
|
||||
final Card[] cloned = new Card[1];
|
||||
|
||||
final SpellAbility copyBack = new Ability(card, "0") {
|
||||
@Override
|
||||
public void resolve() {
|
||||
Card orig = cfact.getCard(cloned[0].getCloneOrigin().getName(), card.getController());
|
||||
PlayerZone dest = AllZone.getZone(cloned[0]);
|
||||
AllZone.GameAction.moveTo(dest, orig);
|
||||
dest.remove(cloned[0]);
|
||||
}
|
||||
};//SpellAbility
|
||||
|
||||
final Command leaves = new Command() {
|
||||
private static final long serialVersionUID = 8591474793502538215L;
|
||||
|
||||
public void execute() {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append(card.getName()).append(" - reverting "+cloned[0].getName()+" to "+card.getName()+".");
|
||||
copyBack.setStackDescription(sb.toString());
|
||||
|
||||
AllZone.Stack.add(copyBack);
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
final SpellAbility copy = new Spell(card) {
|
||||
private static final long serialVersionUID = 4396978456522751312L;
|
||||
|
||||
@Override
|
||||
public void resolve() {
|
||||
|
||||
if (card.getController().equals(AllZone.ComputerPlayer)) {
|
||||
|
||||
CardList AICreatures = AllZoneUtil.getCreaturesInPlay(AllZone.ComputerPlayer);
|
||||
CardList PlayerCreatures = AllZoneUtil.getCreaturesInPlay(AllZone.HumanPlayer);
|
||||
if (!AICreatures.isEmpty()) {
|
||||
|
||||
copyTarget[0] = AICreatures.iterator().next();
|
||||
|
||||
}
|
||||
|
||||
else if (!PlayerCreatures.isEmpty()) {
|
||||
|
||||
copyTarget[0] = PlayerCreatures.iterator().next();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (copyTarget[0] != null) {
|
||||
|
||||
cloned[0] = cfact.getCard(copyTarget[0].getName(), card.getController());
|
||||
cloned[0].setCloneOrigin(card);
|
||||
cloned[0].addLeavesPlayCommand(leaves);
|
||||
cloned[0].setBaseDefense(7);
|
||||
cloned[0].setBaseAttack(7);
|
||||
PlayerZone play = AllZone.getZone(Constant.Zone.Battlefield, card.getController());
|
||||
play.add(cloned[0]);
|
||||
card.setCurrentlyCloningCard(cloned[0]);
|
||||
}
|
||||
|
||||
}
|
||||
};//SpellAbility
|
||||
|
||||
Input runtime = new Input() {
|
||||
private static final long serialVersionUID = 7625038074569687330L;
|
||||
|
||||
@Override
|
||||
public void showMessage() {
|
||||
AllZone.Display.showMessage(cardName+" - Select a creature on the battlefield");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void selectCard(Card c, PlayerZone z) {
|
||||
if( z.is(Constant.Zone.Battlefield) && c.isCreature()) {
|
||||
copyTarget[0] = c;
|
||||
stopSetNext(new Input_PayManaCost(copy));
|
||||
}
|
||||
}
|
||||
};
|
||||
card.clearSpellAbility();
|
||||
card.addSpellAbility(copy);
|
||||
copy.setStackDescription(cardName+" - enters the battlefield as a copy of selected card.");
|
||||
copy.setBeforePayMana(runtime);
|
||||
}//*************** END ************ END **************************
|
||||
|
||||
|
||||
|
||||
if(hasKeyword(card, "Level up") != -1 && hasKeyword(card, "maxLevel") != -1)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user