Simplified Rite of Replication using the CopyCardintoNew command and made it work with Doubling Season

This commit is contained in:
jendave
2011-08-06 05:00:36 +00:00
parent 8a459a241a
commit 87ba4d653d
2 changed files with 29 additions and 46 deletions

View File

@@ -1,3 +1,8 @@
Rite of Replication
2 U U
Sorcery
no text
Abyssal Specter Abyssal Specter
2 B B 2 B B
Creature Specter Creature Specter
@@ -909,11 +914,6 @@ no text
Flying Flying
TypeCycling:Plains:2 TypeCycling:Plains:2
Rite of Replication
2 U U
Sorcery
no text
Eternity Vessel Eternity Vessel
6 6
Artifact Artifact

View File

@@ -17133,23 +17133,18 @@ public class CardFactory implements NewConstants {
if(AllZone.GameAction.isCardInPlay(getTargetCard()) if(AllZone.GameAction.isCardInPlay(getTargetCard())
&& CardFactoryUtil.canTarget(card, getTargetCard())) { && CardFactoryUtil.canTarget(card, getTargetCard())) {
PlayerZone play = AllZone.getZone(Constant.Zone.Play, card.getController()); PlayerZone play = AllZone.getZone(Constant.Zone.Play, card.getController());
Card Copy = copyCard(getTargetCard()); CardList DoublingSeasons = new CardList(play.getCards());
CardList all = AllZone.CardFactory.getAllCards(); DoublingSeasons = DoublingSeasons.getName("Doubling Season");
CardList tokens = new CardList(play.getCards()); PlayerZone_ComesIntoPlay.SimultaneousEntry = true;
tokens = tokens.filter(new CardListFilter() { double Count = DoublingSeasons.size();
public boolean addCard(Card c) { Count = Math.pow(2,Count);
return c.isToken(); for(int i = 0; i < Count; i++) {
} if(i + 1== Count) PlayerZone_ComesIntoPlay.SimultaneousEntry = false;
}); Card Copy = copyCardintoNew(getTargetCard());
all.add(tokens);
int Unumber = 0;
for(int i = 0; i < all.size(); i++) {
if(all.get(i).getUniqueNumber() > Unumber) Unumber = all.get(i).getUniqueNumber();
}
Copy.setUniqueNumber(Unumber + 1);
Copy.setToken(true); Copy.setToken(true);
Copy.setController(card.getController()); Copy.setController(card.getController());
play.add(Copy); play.add(Copy);
}
} }
}//resolve() }//resolve()
}; };
@@ -17204,35 +17199,23 @@ public class CardFactory implements NewConstants {
} }
@Override @Override
public void resolve() { public void resolve() {
PlayerZone_ComesIntoPlay.SimultaneousEntry = true; card.setKicked(true);
card.setKicked(true);
PlayerZone play = AllZone.getZone(Constant.Zone.Play, card.getController());
if(AllZone.GameAction.isCardInPlay(getTargetCard()) if(AllZone.GameAction.isCardInPlay(getTargetCard())
&& CardFactoryUtil.canTarget(card, getTargetCard())) { && CardFactoryUtil.canTarget(card, getTargetCard())) {
for(int x = 0; x < 5; x++) { PlayerZone play = AllZone.getZone(Constant.Zone.Play, card.getController());
if(x == 4) PlayerZone_ComesIntoPlay.SimultaneousEntry = false; CardList DoublingSeasons = new CardList(play.getCards());
Card Copy = copyCard(getTargetCard()); DoublingSeasons = DoublingSeasons.getName("Doubling Season");
CardList all = AllZone.CardFactory.getAllCards(); PlayerZone_ComesIntoPlay.SimultaneousEntry = true;
CardList tokens = new CardList(play.getCards()); double Count = DoublingSeasons.size();
tokens = tokens.filter(new CardListFilter() { Count = 5 * Math.pow(2,Count);
public boolean addCard(Card c) { for(int i = 0; i < Count; i++) {
return c.isToken(); if(i + 1== Count) PlayerZone_ComesIntoPlay.SimultaneousEntry = false;
} Card Copy = copyCardintoNew(getTargetCard());
}); Copy.setToken(true);
all.add(tokens); Copy.setController(card.getController());
int Unumber = 0; play.add(Copy);
for(int i = 0; i < all.size(); i++) { }
if(all.get(i).getUniqueNumber() > Unumber) Unumber = all.get(i).getUniqueNumber(); }
}
Copy.setUniqueNumber(Unumber + 4);
Copy.setToken(true);
Copy.setController(card.getController());
play.add(Copy);
AllZone.Display.showMessage("Hack for Legendaries going to the graveyard :)");
}//for
}
}//resolve() }//resolve()
}; };
kicker.setKickerAbility(true); kicker.setKickerAbility(true);