mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 04:38:00 +00:00
Added:
Adamaro, first to desire Masumaro, first to live Quagnoth Kavu Titan Vampiric Dragon Emperor Crocodile Seedborn Muse
This commit is contained in:
@@ -18275,6 +18275,60 @@ public class CardFactory_Creatures {
|
||||
card.addDestroyCommand(destroy);
|
||||
}//*************** END ************ END **************************
|
||||
|
||||
//*************** START *********** START **************************
|
||||
else if(cardName.equals("Kavu Titan")) {
|
||||
final SpellAbility kicker = new Spell(card) {
|
||||
private static final long serialVersionUID = -1598664196463358630L;
|
||||
|
||||
@Override
|
||||
public void resolve() {
|
||||
PlayerZone hand = AllZone.getZone(Constant.Zone.Hand, card.getController());
|
||||
PlayerZone play = AllZone.getZone(Constant.Zone.Play, card.getController());
|
||||
|
||||
card.setKicked(true);
|
||||
hand.remove(card);
|
||||
play.add(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canPlay() {
|
||||
return super.canPlay() && AllZone.Phase.getActivePlayer().equals(card.getController())
|
||||
&& !AllZone.Phase.getPhase().equals("End of Turn")
|
||||
&& !AllZone.GameAction.isCardInPlay(card);
|
||||
}
|
||||
|
||||
};
|
||||
kicker.setKickerAbility(true);
|
||||
kicker.setManaCost("3 G G");
|
||||
kicker.setAdditionalManaCost("2 G");
|
||||
kicker.setDescription("Kicker 2 G");
|
||||
kicker.setStackDescription(card.getName() + " - Creature 5/5 (Kicked)");
|
||||
|
||||
card.addSpellAbility(kicker);
|
||||
|
||||
final Ability ability = new Ability(card, "0") {
|
||||
@Override
|
||||
public void resolve() {
|
||||
card.addCounter(Counters.P1P1, 3);
|
||||
card.addIntrinsicKeyword("Trample");
|
||||
|
||||
card.setKicked(false);
|
||||
}
|
||||
};
|
||||
|
||||
Command commandComes = new Command() {
|
||||
private static final long serialVersionUID = -2622859088591798773L;
|
||||
|
||||
public void execute() {
|
||||
if(card.isKicked()) {
|
||||
ability.setStackDescription("Kavu Titan gets 3 +1/+1 counters and gains trample.");
|
||||
AllZone.Stack.add(ability);
|
||||
}
|
||||
}//execute()
|
||||
};//CommandComes
|
||||
|
||||
card.addComesIntoPlayCommand(commandComes);
|
||||
}//*************** END ************ END **************************
|
||||
|
||||
//*************** START *********** START **************************
|
||||
else if(cardName.equals("Gatekeeper of Malakir")) {
|
||||
|
||||
@@ -176,6 +176,8 @@ public class GameAction {
|
||||
c.getKeyword().contains("If a spell or ability an opponent controls causes you to discard CARDNAME, put it onto the battlefield with two +1/+1 counters on it instead of putting it into your graveyard."))
|
||||
&& !c.getController().equals(sa.getSourceCard().getController()))
|
||||
discard_PutIntoPlayInstead(c);
|
||||
else if (c.getKeyword().contains("If a spell or ability an opponent controls causes you to discard CARDNAME, return it to your hand."))
|
||||
;
|
||||
else
|
||||
moveToGraveyard(c);
|
||||
}
|
||||
|
||||
@@ -86,6 +86,7 @@ public class GameActionUtil {
|
||||
upkeep_Bringer_of_the_Blue_Dawn();
|
||||
upkeep_Bringer_of_the_White_Dawn();
|
||||
upkeep_Murkfiend_Liege();
|
||||
upkeep_Seedborn_Muse();
|
||||
upkeep_Mirror_Sigil_Sergeant();
|
||||
//upkeep_Luminous_Angel();
|
||||
upkeep_Verdant_Force();
|
||||
@@ -1030,7 +1031,7 @@ public class GameActionUtil {
|
||||
for(int i = 0; i < list.size(); i++) {
|
||||
final Card card = list.get(i);
|
||||
final Command untilEOT = new Command() {
|
||||
private static final long serialVersionUID = -4569751606008597903L;
|
||||
private static final long serialVersionUID = -4569751606008597913L;
|
||||
|
||||
public void execute() {
|
||||
if(AllZone.GameAction.isCardInPlay(card)) {
|
||||
@@ -9778,6 +9779,42 @@ public class GameActionUtil {
|
||||
}
|
||||
}
|
||||
|
||||
private static void upkeep_Seedborn_Muse()
|
||||
{
|
||||
final String player = AllZone.Phase.getActivePlayer();
|
||||
final String opp = AllZone.GameAction.getOpponent(player);
|
||||
|
||||
CardList list = AllZoneUtil.getPlayerCardsInPlay(opp);
|
||||
list = list.getName("Seedborn Muse");
|
||||
|
||||
Ability ability;
|
||||
for (int i = 0; i < list.size(); i++) {
|
||||
final Card card = list.get(i);
|
||||
|
||||
ability = new Ability(card, "0")
|
||||
{
|
||||
public void resolve()
|
||||
{
|
||||
CardList permanents = AllZoneUtil.getPlayerCardsInPlay(opp);
|
||||
permanents = permanents.filter(new CardListFilter() {
|
||||
public boolean addCard(Card c)
|
||||
{
|
||||
return c.isTapped();
|
||||
}
|
||||
});
|
||||
|
||||
for (Card crd:permanents)
|
||||
{
|
||||
crd.untap();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
ability.setStackDescription(card + " - Untap all permanents you control during each other player's untap step.");
|
||||
AllZone.Stack.add(ability);
|
||||
}
|
||||
}
|
||||
|
||||
private static void upkeep_Mirror_Sigil_Sergeant()
|
||||
{
|
||||
final String player = AllZone.Phase.getActivePlayer();
|
||||
@@ -12458,6 +12495,42 @@ public class GameActionUtil {
|
||||
}// execute()
|
||||
};
|
||||
|
||||
|
||||
public static Command Emperor_Crocodile = new Command() {
|
||||
private static final long serialVersionUID = -5406532269475480827L;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
// gloriousAnthemList
|
||||
CardList gloriousAnthemList = new CardList();
|
||||
|
||||
public void execute() {
|
||||
// get all cards
|
||||
|
||||
CardList list = new CardList();
|
||||
list.addAll(AllZone.Human_Play.getCards());
|
||||
list.addAll(AllZone.Computer_Play.getCards());
|
||||
list = list.filter(new CardListFilter() {
|
||||
public boolean addCard(Card c) {
|
||||
return c.getName().equals("Emperor Crocodile");
|
||||
}
|
||||
});
|
||||
|
||||
for (int i=0;i<list.size();i++) {
|
||||
|
||||
Card c = list.get(i);
|
||||
|
||||
|
||||
//Player only has one creature in play (the crocodile) then it dies.
|
||||
if (AllZoneUtil.getCreaturesInPlay(c.getController()).size() == 1) {
|
||||
AllZone.GameAction.sacrifice(c);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}// execute()
|
||||
};
|
||||
|
||||
public static Command Fervor = new Command() {
|
||||
private static final long serialVersionUID = -826876381048543684L;
|
||||
|
||||
@@ -18241,6 +18314,87 @@ public class GameActionUtil {
|
||||
|
||||
}; //Maro
|
||||
|
||||
public static Command Masumaro_First_to_Live = new Command() {
|
||||
private static final long serialVersionUID = -8778922687347191964L;
|
||||
|
||||
public void execute() {
|
||||
// get all creatures
|
||||
CardList list = new CardList();
|
||||
list.addAll(AllZone.Human_Play.getCards());
|
||||
list.addAll(AllZone.Computer_Play.getCards());
|
||||
list = list.getName("Masumaro, First to Live");
|
||||
|
||||
for(int i = 0; i < list.size(); i++) {
|
||||
Card c = list.get(i);
|
||||
int k = 0;
|
||||
if(c.getController().equals(
|
||||
Constant.Player.Human)) {
|
||||
k = countHand_Human();
|
||||
} else k = countHand_Computer();
|
||||
c.setBaseAttack(2*k);
|
||||
c.setBaseDefense(2*k);
|
||||
}
|
||||
}
|
||||
|
||||
private int countHand_Human() {
|
||||
PlayerZone Play = AllZone.getZone(
|
||||
Constant.Zone.Hand, Constant.Player.Human);
|
||||
CardList list = new CardList();
|
||||
list.addAll(Play.getCards());
|
||||
return list.size();
|
||||
}
|
||||
|
||||
private int countHand_Computer() {
|
||||
PlayerZone Play = AllZone.getZone(
|
||||
Constant.Zone.Hand, Constant.Player.Computer);
|
||||
CardList list = new CardList();
|
||||
list.addAll(Play.getCards());
|
||||
return list.size();
|
||||
}
|
||||
|
||||
}; //Masumaro, first to live
|
||||
|
||||
|
||||
public static Command Adamaro_First_to_Desire = new Command() {
|
||||
private static final long serialVersionUID = -8778912687347191965L;
|
||||
|
||||
public void execute() {
|
||||
// get all creatures
|
||||
CardList list = new CardList();
|
||||
list.addAll(AllZone.Human_Play.getCards());
|
||||
list.addAll(AllZone.Computer_Play.getCards());
|
||||
list = list.getName("Adamaro, First to Desire");
|
||||
|
||||
for(int i = 0; i < list.size(); i++) {
|
||||
Card c = list.get(i);
|
||||
int k = 0;
|
||||
if(c.getController().equals(
|
||||
Constant.Player.Human)) {
|
||||
k = countHand_Computer();
|
||||
} else k = countHand_Human();
|
||||
c.setBaseAttack(k);
|
||||
c.setBaseDefense(k);
|
||||
}
|
||||
}
|
||||
|
||||
private int countHand_Human() {
|
||||
PlayerZone Play = AllZone.getZone(
|
||||
Constant.Zone.Hand, Constant.Player.Human);
|
||||
CardList list = new CardList();
|
||||
list.addAll(Play.getCards());
|
||||
return list.size();
|
||||
}
|
||||
|
||||
private int countHand_Computer() {
|
||||
PlayerZone Play = AllZone.getZone(
|
||||
Constant.Zone.Hand, Constant.Player.Computer);
|
||||
CardList list = new CardList();
|
||||
list.addAll(Play.getCards());
|
||||
return list.size();
|
||||
}
|
||||
|
||||
}; //Adamaro, first to desire
|
||||
|
||||
public static Command Overbeing_of_Myth = new Command() {
|
||||
private static final long serialVersionUID = -2250795040532050455L;
|
||||
|
||||
@@ -20892,6 +21046,8 @@ public class GameActionUtil {
|
||||
commands.put("Multani_Maro_Sorcerer", Multani_Maro_Sorcerer);
|
||||
commands.put("Molimo_Maro_Sorcerer", Molimo_Maro_Sorcerer);
|
||||
commands.put("Maro", Maro);
|
||||
commands.put("Masumaro_First_to_Live", Masumaro_First_to_Live);
|
||||
commands.put("Adamaro_First_to_Desire", Adamaro_First_to_Desire);
|
||||
commands.put("Overbeing_of_Myth", Overbeing_of_Myth);
|
||||
commands.put("Guul_Draz_Specter", Guul_Draz_Specter);
|
||||
commands.put("Dakkon", Dakkon);
|
||||
@@ -21063,7 +21219,7 @@ public class GameActionUtil {
|
||||
commands.put("Mass_Hysteria", Mass_Hysteria);
|
||||
commands.put("Fervor", Fervor);
|
||||
commands.put("Madrush_Cyclops", Madrush_Cyclops);
|
||||
|
||||
commands.put("Emperor_Crocodile", Emperor_Crocodile);
|
||||
commands.put("Sun_Quan", Sun_Quan);
|
||||
|
||||
commands.put("Rolling_Stones", Rolling_Stones);
|
||||
|
||||
@@ -46,6 +46,7 @@ public class StaticEffects
|
||||
cardToEffectsList.put("Magnivore", new String[] {"Magnivore"});
|
||||
cardToEffectsList.put("Tarmogoyf", new String[] {"Tarmogoyf"});
|
||||
cardToEffectsList.put("Lhurgoyf", new String[] {"Lhurgoyf"});
|
||||
cardToEffectsList.put("Emperor Crocodile", new String[] {"Emperor_Crocodile"});
|
||||
cardToEffectsList.put("Wolf", new String[] {"Sound_the_Call_Wolf"});
|
||||
cardToEffectsList.put("Drove of Elves", new String[] {"Drove_of_Elves"});
|
||||
cardToEffectsList.put("Crowd of Cinders", new String[] {"Crowd_of_Cinders"});
|
||||
@@ -54,6 +55,8 @@ public class StaticEffects
|
||||
cardToEffectsList.put("Multani, Maro-Sorcerer", new String[] {"Multani_Maro_Sorcerer"});
|
||||
cardToEffectsList.put("Molimo, Maro-Sorcerer", new String[] {"Molimo_Maro_Sorcerer"});
|
||||
cardToEffectsList.put("Maro", new String[] {"Maro"});
|
||||
cardToEffectsList.put("Masumaro, First to Live", new String[] {"Masumaro_First_to_Live"});
|
||||
cardToEffectsList.put("Adamaro, First to Desire", new String[] {"Adamaro_First_to_Desire"});
|
||||
cardToEffectsList.put("Overbeing of Myth", new String[] {"Overbeing_of_Myth"});
|
||||
cardToEffectsList.put("Guul Draz Specter", new String[] {"Guul_Draz_Specter"});
|
||||
cardToEffectsList.put("Dakkon Blackblade", new String[] {"Dakkon"});
|
||||
|
||||
Reference in New Issue
Block a user