mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-16 18:58:00 +00:00
- Fixed Rebel/Merc fetch, can only get permanents now.
- Added the rest of the Harbingers. - Added Meekstone and Qasali Pridemage.
This commit is contained in:
@@ -1,3 +1,35 @@
|
|||||||
|
Qasali Pridemage
|
||||||
|
G W
|
||||||
|
Creature Cat Wizard
|
||||||
|
no text
|
||||||
|
2/2
|
||||||
|
Exalted
|
||||||
|
|
||||||
|
Meekstone
|
||||||
|
1
|
||||||
|
Artifact
|
||||||
|
Creatures with power 3 or greater don't untap during their controllers' untap steps.
|
||||||
|
|
||||||
|
Giant Harbinger
|
||||||
|
4 R
|
||||||
|
Creature Giant
|
||||||
|
When Giant Harbinger enters the battlefield, you may search your library for a Giant card, reveal it, then shuffle your library and put that card on top of it.
|
||||||
|
3/4
|
||||||
|
|
||||||
|
Flamekin Harbinger
|
||||||
|
R
|
||||||
|
Creature Elemental Shaman
|
||||||
|
When Flamekin Harbinger enters the battlefield, you may search your library for an Elemental card, reveal it, then shuffle your library and put that card on top of it.
|
||||||
|
1/1
|
||||||
|
|
||||||
|
Faerie Harbinger
|
||||||
|
3 U
|
||||||
|
Creature Faerie Wizard
|
||||||
|
When Faerie Harbinger enters the battlefield, you may search your library for a Faerie card, reveal it, then shuffle your library and put that card on top of it.
|
||||||
|
2/2
|
||||||
|
Flying
|
||||||
|
Flash
|
||||||
|
|
||||||
Sword of the Meek
|
Sword of the Meek
|
||||||
2
|
2
|
||||||
Artifact Equipment
|
Artifact Equipment
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
<object class="java.awt.Rectangle">
|
<object class="java.awt.Rectangle">
|
||||||
<int>0</int>
|
<int>0</int>
|
||||||
<int>0</int>
|
<int>0</int>
|
||||||
<int>242</int>
|
<int>244</int>
|
||||||
<int>827</int>
|
<int>827</int>
|
||||||
</object>
|
</object>
|
||||||
</void>
|
</void>
|
||||||
@@ -27,8 +27,8 @@
|
|||||||
<object class="java.awt.Rectangle">
|
<object class="java.awt.Rectangle">
|
||||||
<int>0</int>
|
<int>0</int>
|
||||||
<int>0</int>
|
<int>0</int>
|
||||||
<int>242</int>
|
<int>244</int>
|
||||||
<int>145</int>
|
<int>144</int>
|
||||||
</object>
|
</object>
|
||||||
</void>
|
</void>
|
||||||
<void property="name">
|
<void property="name">
|
||||||
@@ -47,8 +47,8 @@
|
|||||||
<void property="bounds">
|
<void property="bounds">
|
||||||
<object class="java.awt.Rectangle">
|
<object class="java.awt.Rectangle">
|
||||||
<int>0</int>
|
<int>0</int>
|
||||||
<int>145</int>
|
<int>144</int>
|
||||||
<int>242</int>
|
<int>244</int>
|
||||||
<int>10</int>
|
<int>10</int>
|
||||||
</object>
|
</object>
|
||||||
</void>
|
</void>
|
||||||
@@ -62,9 +62,9 @@
|
|||||||
<void property="bounds">
|
<void property="bounds">
|
||||||
<object class="java.awt.Rectangle">
|
<object class="java.awt.Rectangle">
|
||||||
<int>0</int>
|
<int>0</int>
|
||||||
<int>155</int>
|
<int>154</int>
|
||||||
<int>242</int>
|
<int>244</int>
|
||||||
<int>174</int>
|
<int>175</int>
|
||||||
</object>
|
</object>
|
||||||
</void>
|
</void>
|
||||||
<void property="name">
|
<void property="name">
|
||||||
@@ -84,7 +84,7 @@
|
|||||||
<object class="java.awt.Rectangle">
|
<object class="java.awt.Rectangle">
|
||||||
<int>0</int>
|
<int>0</int>
|
||||||
<int>329</int>
|
<int>329</int>
|
||||||
<int>242</int>
|
<int>244</int>
|
||||||
<int>10</int>
|
<int>10</int>
|
||||||
</object>
|
</object>
|
||||||
</void>
|
</void>
|
||||||
@@ -99,7 +99,7 @@
|
|||||||
<object class="java.awt.Rectangle">
|
<object class="java.awt.Rectangle">
|
||||||
<int>0</int>
|
<int>0</int>
|
||||||
<int>339</int>
|
<int>339</int>
|
||||||
<int>242</int>
|
<int>244</int>
|
||||||
<int>115</int>
|
<int>115</int>
|
||||||
</object>
|
</object>
|
||||||
</void>
|
</void>
|
||||||
@@ -120,7 +120,7 @@
|
|||||||
<object class="java.awt.Rectangle">
|
<object class="java.awt.Rectangle">
|
||||||
<int>0</int>
|
<int>0</int>
|
||||||
<int>454</int>
|
<int>454</int>
|
||||||
<int>242</int>
|
<int>244</int>
|
||||||
<int>10</int>
|
<int>10</int>
|
||||||
</object>
|
</object>
|
||||||
</void>
|
</void>
|
||||||
@@ -135,7 +135,7 @@
|
|||||||
<object class="java.awt.Rectangle">
|
<object class="java.awt.Rectangle">
|
||||||
<int>0</int>
|
<int>0</int>
|
||||||
<int>464</int>
|
<int>464</int>
|
||||||
<int>242</int>
|
<int>244</int>
|
||||||
<int>107</int>
|
<int>107</int>
|
||||||
</object>
|
</object>
|
||||||
</void>
|
</void>
|
||||||
@@ -156,7 +156,7 @@
|
|||||||
<object class="java.awt.Rectangle">
|
<object class="java.awt.Rectangle">
|
||||||
<int>0</int>
|
<int>0</int>
|
||||||
<int>571</int>
|
<int>571</int>
|
||||||
<int>242</int>
|
<int>244</int>
|
||||||
<int>10</int>
|
<int>10</int>
|
||||||
</object>
|
</object>
|
||||||
</void>
|
</void>
|
||||||
@@ -171,7 +171,7 @@
|
|||||||
<object class="java.awt.Rectangle">
|
<object class="java.awt.Rectangle">
|
||||||
<int>0</int>
|
<int>0</int>
|
||||||
<int>581</int>
|
<int>581</int>
|
||||||
<int>242</int>
|
<int>244</int>
|
||||||
<int>246</int>
|
<int>246</int>
|
||||||
</object>
|
</object>
|
||||||
</void>
|
</void>
|
||||||
@@ -202,7 +202,7 @@
|
|||||||
<object class="org.jdesktop.swingx.MultiSplitLayout$Divider">
|
<object class="org.jdesktop.swingx.MultiSplitLayout$Divider">
|
||||||
<void property="bounds">
|
<void property="bounds">
|
||||||
<object class="java.awt.Rectangle">
|
<object class="java.awt.Rectangle">
|
||||||
<int>242</int>
|
<int>244</int>
|
||||||
<int>0</int>
|
<int>0</int>
|
||||||
<int>10</int>
|
<int>10</int>
|
||||||
<int>827</int>
|
<int>827</int>
|
||||||
@@ -217,9 +217,9 @@
|
|||||||
<object id="MultiSplitLayout$Split2" class="org.jdesktop.swingx.MultiSplitLayout$Split">
|
<object id="MultiSplitLayout$Split2" class="org.jdesktop.swingx.MultiSplitLayout$Split">
|
||||||
<void property="bounds">
|
<void property="bounds">
|
||||||
<object class="java.awt.Rectangle">
|
<object class="java.awt.Rectangle">
|
||||||
<int>252</int>
|
<int>254</int>
|
||||||
<int>0</int>
|
<int>0</int>
|
||||||
<int>911</int>
|
<int>909</int>
|
||||||
<int>827</int>
|
<int>827</int>
|
||||||
</object>
|
</object>
|
||||||
</void>
|
</void>
|
||||||
@@ -228,9 +228,9 @@
|
|||||||
<object class="org.jdesktop.swingx.MultiSplitLayout$Leaf">
|
<object class="org.jdesktop.swingx.MultiSplitLayout$Leaf">
|
||||||
<void property="bounds">
|
<void property="bounds">
|
||||||
<object class="java.awt.Rectangle">
|
<object class="java.awt.Rectangle">
|
||||||
<int>252</int>
|
<int>254</int>
|
||||||
<int>0</int>
|
<int>0</int>
|
||||||
<int>911</int>
|
<int>909</int>
|
||||||
<int>163</int>
|
<int>163</int>
|
||||||
</object>
|
</object>
|
||||||
</void>
|
</void>
|
||||||
@@ -249,9 +249,9 @@
|
|||||||
<object class="org.jdesktop.swingx.MultiSplitLayout$Divider">
|
<object class="org.jdesktop.swingx.MultiSplitLayout$Divider">
|
||||||
<void property="bounds">
|
<void property="bounds">
|
||||||
<object class="java.awt.Rectangle">
|
<object class="java.awt.Rectangle">
|
||||||
<int>252</int>
|
<int>254</int>
|
||||||
<int>163</int>
|
<int>163</int>
|
||||||
<int>911</int>
|
<int>909</int>
|
||||||
<int>10</int>
|
<int>10</int>
|
||||||
</object>
|
</object>
|
||||||
</void>
|
</void>
|
||||||
@@ -264,9 +264,9 @@
|
|||||||
<object class="org.jdesktop.swingx.MultiSplitLayout$Leaf">
|
<object class="org.jdesktop.swingx.MultiSplitLayout$Leaf">
|
||||||
<void property="bounds">
|
<void property="bounds">
|
||||||
<object class="java.awt.Rectangle">
|
<object class="java.awt.Rectangle">
|
||||||
<int>252</int>
|
<int>254</int>
|
||||||
<int>173</int>
|
<int>173</int>
|
||||||
<int>911</int>
|
<int>909</int>
|
||||||
<int>166</int>
|
<int>166</int>
|
||||||
</object>
|
</object>
|
||||||
</void>
|
</void>
|
||||||
@@ -285,9 +285,9 @@
|
|||||||
<object class="org.jdesktop.swingx.MultiSplitLayout$Divider">
|
<object class="org.jdesktop.swingx.MultiSplitLayout$Divider">
|
||||||
<void property="bounds">
|
<void property="bounds">
|
||||||
<object class="java.awt.Rectangle">
|
<object class="java.awt.Rectangle">
|
||||||
<int>252</int>
|
<int>254</int>
|
||||||
<int>339</int>
|
<int>339</int>
|
||||||
<int>911</int>
|
<int>909</int>
|
||||||
<int>10</int>
|
<int>10</int>
|
||||||
</object>
|
</object>
|
||||||
</void>
|
</void>
|
||||||
@@ -300,10 +300,10 @@
|
|||||||
<object class="org.jdesktop.swingx.MultiSplitLayout$Leaf">
|
<object class="org.jdesktop.swingx.MultiSplitLayout$Leaf">
|
||||||
<void property="bounds">
|
<void property="bounds">
|
||||||
<object class="java.awt.Rectangle">
|
<object class="java.awt.Rectangle">
|
||||||
<int>252</int>
|
<int>254</int>
|
||||||
<int>349</int>
|
<int>349</int>
|
||||||
<int>911</int>
|
<int>909</int>
|
||||||
<int>140</int>
|
<int>142</int>
|
||||||
</object>
|
</object>
|
||||||
</void>
|
</void>
|
||||||
<void property="name">
|
<void property="name">
|
||||||
@@ -321,9 +321,9 @@
|
|||||||
<object class="org.jdesktop.swingx.MultiSplitLayout$Divider">
|
<object class="org.jdesktop.swingx.MultiSplitLayout$Divider">
|
||||||
<void property="bounds">
|
<void property="bounds">
|
||||||
<object class="java.awt.Rectangle">
|
<object class="java.awt.Rectangle">
|
||||||
<int>252</int>
|
<int>254</int>
|
||||||
<int>489</int>
|
<int>491</int>
|
||||||
<int>911</int>
|
<int>909</int>
|
||||||
<int>10</int>
|
<int>10</int>
|
||||||
</object>
|
</object>
|
||||||
</void>
|
</void>
|
||||||
@@ -336,10 +336,10 @@
|
|||||||
<object class="org.jdesktop.swingx.MultiSplitLayout$Leaf">
|
<object class="org.jdesktop.swingx.MultiSplitLayout$Leaf">
|
||||||
<void property="bounds">
|
<void property="bounds">
|
||||||
<object class="java.awt.Rectangle">
|
<object class="java.awt.Rectangle">
|
||||||
<int>252</int>
|
<int>254</int>
|
||||||
<int>499</int>
|
<int>501</int>
|
||||||
<int>911</int>
|
<int>909</int>
|
||||||
<int>150</int>
|
<int>148</int>
|
||||||
</object>
|
</object>
|
||||||
</void>
|
</void>
|
||||||
<void property="name">
|
<void property="name">
|
||||||
@@ -357,9 +357,9 @@
|
|||||||
<object class="org.jdesktop.swingx.MultiSplitLayout$Divider">
|
<object class="org.jdesktop.swingx.MultiSplitLayout$Divider">
|
||||||
<void property="bounds">
|
<void property="bounds">
|
||||||
<object class="java.awt.Rectangle">
|
<object class="java.awt.Rectangle">
|
||||||
<int>252</int>
|
<int>254</int>
|
||||||
<int>649</int>
|
<int>649</int>
|
||||||
<int>911</int>
|
<int>909</int>
|
||||||
<int>10</int>
|
<int>10</int>
|
||||||
</object>
|
</object>
|
||||||
</void>
|
</void>
|
||||||
@@ -372,9 +372,9 @@
|
|||||||
<object class="org.jdesktop.swingx.MultiSplitLayout$Leaf">
|
<object class="org.jdesktop.swingx.MultiSplitLayout$Leaf">
|
||||||
<void property="bounds">
|
<void property="bounds">
|
||||||
<object class="java.awt.Rectangle">
|
<object class="java.awt.Rectangle">
|
||||||
<int>252</int>
|
<int>254</int>
|
||||||
<int>659</int>
|
<int>659</int>
|
||||||
<int>911</int>
|
<int>909</int>
|
||||||
<int>168</int>
|
<int>168</int>
|
||||||
</object>
|
</object>
|
||||||
</void>
|
</void>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
program/mail=mtgerror@yahoo.com
|
program/mail=mtgerror@yahoo.com
|
||||||
program/forum=http://www.slightlymagic.net/forum/viewforum.php?f=26
|
program/forum=http://www.slightlymagic.net/forum/viewforum.php?f=26
|
||||||
program/version=MTG Forge -- official beta: 09/11/02, SVN revision: 95
|
program/version=MTG Forge -- official beta: 09/11/02, SVN revision: 96
|
||||||
|
|
||||||
tokens--file=AllTokens.txt
|
tokens--file=AllTokens.txt
|
||||||
|
|
||||||
|
|||||||
@@ -973,7 +973,13 @@ public class CardFactoryUtil
|
|||||||
PlayerZone lib = AllZone.getZone(Constant.Zone.Library, sourceCard.getController());
|
PlayerZone lib = AllZone.getZone(Constant.Zone.Library, sourceCard.getController());
|
||||||
CardList mercs = new CardList();
|
CardList mercs = new CardList();
|
||||||
CardList list = new CardList(lib.getCards());
|
CardList list = new CardList(lib.getCards());
|
||||||
list = list.getType("Mercenary");
|
list = list.filter(new CardListFilter()
|
||||||
|
{
|
||||||
|
public boolean addCard(Card c) {
|
||||||
|
return (c.getType().contains("Mercenary") || c.getKeyword().contains("Changeling")) && c.isPermanent() ;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
if (list.size()==0)
|
if (list.size()==0)
|
||||||
return false;
|
return false;
|
||||||
@@ -1071,7 +1077,12 @@ public class CardFactoryUtil
|
|||||||
|
|
||||||
CardList rebels = new CardList();
|
CardList rebels = new CardList();
|
||||||
CardList list = new CardList(lib.getCards());
|
CardList list = new CardList(lib.getCards());
|
||||||
list = list.getType("Rebel");
|
list = list.filter(new CardListFilter()
|
||||||
|
{
|
||||||
|
public boolean addCard(Card c) {
|
||||||
|
return (c.getType().contains("Rebel") || c.getKeyword().contains("Changeling")) && c.isPermanent() ;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
if (list.size()==0)
|
if (list.size()==0)
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -16333,6 +16333,258 @@ public class CardFactory_Creatures {
|
|||||||
card.addComesIntoPlayCommand(intoPlay);
|
card.addComesIntoPlayCommand(intoPlay);
|
||||||
}//*************** END ************ END **************************
|
}//*************** END ************ END **************************
|
||||||
|
|
||||||
|
//*************** START *********** START **************************
|
||||||
|
else if(cardName.equals("Faerie Harbinger"))
|
||||||
|
{
|
||||||
|
final SpellAbility ability = new Ability(card, "0")
|
||||||
|
{
|
||||||
|
public void resolve()
|
||||||
|
{
|
||||||
|
PlayerZone lib = AllZone.getZone(Constant.Zone.Library, card.getController());
|
||||||
|
if(AllZone.GameAction.isCardInZone(getTargetCard(), lib))
|
||||||
|
{
|
||||||
|
Card c = getTargetCard();
|
||||||
|
AllZone.GameAction.shuffle(card.getController());
|
||||||
|
lib.remove(c);
|
||||||
|
lib.add(c, 0);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}//resolve()
|
||||||
|
};
|
||||||
|
Command intoPlay = new Command()
|
||||||
|
{
|
||||||
|
|
||||||
|
private static final long serialVersionUID = -708639335039567945L;
|
||||||
|
|
||||||
|
public void execute()
|
||||||
|
{
|
||||||
|
PlayerZone lib = AllZone.getZone(Constant.Zone.Library, card.getController());
|
||||||
|
CardList cards = new CardList(lib.getCards());
|
||||||
|
CardList faeries = new CardList();
|
||||||
|
|
||||||
|
for (int i=0;i<cards.size();i++)
|
||||||
|
{
|
||||||
|
if(cards.get(i).getType().contains("Faerie") || cards.get(i).getKeyword().contains("Changeling"))
|
||||||
|
{
|
||||||
|
faeries.add(cards.get(i));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
String controller = card.getController();
|
||||||
|
|
||||||
|
if(faeries.size() == 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if(controller.equals(Constant.Player.Human))
|
||||||
|
{
|
||||||
|
Object o = AllZone.Display.getChoiceOptional("Select target card", faeries.toArray());
|
||||||
|
if(o != null)
|
||||||
|
{
|
||||||
|
ability.setTargetCard((Card)o);
|
||||||
|
AllZone.Stack.add(ability);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else //computer
|
||||||
|
{
|
||||||
|
faeries.shuffle();
|
||||||
|
ability.setTargetCard(faeries.get(0));
|
||||||
|
AllZone.Stack.add(ability);
|
||||||
|
}
|
||||||
|
|
||||||
|
}//execute()
|
||||||
|
};//Command
|
||||||
|
card.addComesIntoPlayCommand(intoPlay);
|
||||||
|
}//*************** END ************ END **************************
|
||||||
|
|
||||||
|
//*************** START *********** START **************************
|
||||||
|
else if(cardName.equals("Flamekin Harbinger"))
|
||||||
|
{
|
||||||
|
final SpellAbility ability = new Ability(card, "0")
|
||||||
|
{
|
||||||
|
public void resolve()
|
||||||
|
{
|
||||||
|
PlayerZone lib = AllZone.getZone(Constant.Zone.Library, card.getController());
|
||||||
|
if(AllZone.GameAction.isCardInZone(getTargetCard(), lib))
|
||||||
|
{
|
||||||
|
Card c = getTargetCard();
|
||||||
|
AllZone.GameAction.shuffle(card.getController());
|
||||||
|
lib.remove(c);
|
||||||
|
lib.add(c, 0);
|
||||||
|
}
|
||||||
|
}//resolve()
|
||||||
|
};
|
||||||
|
Command intoPlay = new Command()
|
||||||
|
{
|
||||||
|
private static final long serialVersionUID = 7114265436722599216L;
|
||||||
|
|
||||||
|
public void execute()
|
||||||
|
{
|
||||||
|
PlayerZone lib = AllZone.getZone(Constant.Zone.Library, card.getController());
|
||||||
|
CardList cards = new CardList(lib.getCards());
|
||||||
|
CardList ele = new CardList();
|
||||||
|
|
||||||
|
for (int i=0;i<cards.size();i++)
|
||||||
|
{
|
||||||
|
if(cards.get(i).getType().contains("Elemental") || cards.get(i).getKeyword().contains("Changeling"))
|
||||||
|
{
|
||||||
|
ele.add(cards.get(i));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
String controller = card.getController();
|
||||||
|
|
||||||
|
if(ele.size() == 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if(controller.equals(Constant.Player.Human))
|
||||||
|
{
|
||||||
|
Object o = AllZone.Display.getChoiceOptional("Select target card", ele.toArray());
|
||||||
|
if(o != null)
|
||||||
|
{
|
||||||
|
ability.setTargetCard((Card)o);
|
||||||
|
AllZone.Stack.add(ability);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else //computer
|
||||||
|
{
|
||||||
|
ele.shuffle();
|
||||||
|
ability.setTargetCard(ele.get(0));
|
||||||
|
AllZone.Stack.add(ability);
|
||||||
|
}
|
||||||
|
|
||||||
|
}//execute()
|
||||||
|
};//Command
|
||||||
|
card.addComesIntoPlayCommand(intoPlay);
|
||||||
|
}//*************** END ************ END **************************
|
||||||
|
|
||||||
|
|
||||||
|
//*************** START *********** START **************************
|
||||||
|
else if(cardName.equals("Giant Harbinger"))
|
||||||
|
{
|
||||||
|
final SpellAbility ability = new Ability(card, "0")
|
||||||
|
{
|
||||||
|
public void resolve()
|
||||||
|
{
|
||||||
|
PlayerZone lib = AllZone.getZone(Constant.Zone.Library, card.getController());
|
||||||
|
if(AllZone.GameAction.isCardInZone(getTargetCard(), lib))
|
||||||
|
{
|
||||||
|
Card c = getTargetCard();
|
||||||
|
AllZone.GameAction.shuffle(card.getController());
|
||||||
|
lib.remove(c);
|
||||||
|
lib.add(c, 0);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}//resolve()
|
||||||
|
};
|
||||||
|
Command intoPlay = new Command()
|
||||||
|
{
|
||||||
|
private static final long serialVersionUID = -2671592749882297551L;
|
||||||
|
|
||||||
|
public void execute()
|
||||||
|
{
|
||||||
|
PlayerZone lib = AllZone.getZone(Constant.Zone.Library, card.getController());
|
||||||
|
CardList cards = new CardList(lib.getCards());
|
||||||
|
CardList giants = new CardList();
|
||||||
|
|
||||||
|
for (int i=0;i<cards.size();i++)
|
||||||
|
{
|
||||||
|
if(cards.get(i).getType().contains("Giant") || cards.get(i).getKeyword().contains("Changeling"))
|
||||||
|
{
|
||||||
|
giants.add(cards.get(i));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
String controller = card.getController();
|
||||||
|
|
||||||
|
if(giants.size() == 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if(controller.equals(Constant.Player.Human))
|
||||||
|
{
|
||||||
|
Object o = AllZone.Display.getChoiceOptional("Select target card", giants.toArray());
|
||||||
|
if(o != null)
|
||||||
|
{
|
||||||
|
ability.setTargetCard((Card)o);
|
||||||
|
AllZone.Stack.add(ability);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else //computer
|
||||||
|
{
|
||||||
|
giants.shuffle();
|
||||||
|
ability.setTargetCard(giants.get(0));
|
||||||
|
AllZone.Stack.add(ability);
|
||||||
|
}
|
||||||
|
|
||||||
|
}//execute()
|
||||||
|
};//Command
|
||||||
|
card.addComesIntoPlayCommand(intoPlay);
|
||||||
|
}//*************** END ************ END **************************
|
||||||
|
|
||||||
|
//*************** START *********** START **************************
|
||||||
|
else if (cardName.equals("Qasali Pridemage"))
|
||||||
|
{
|
||||||
|
final Ability ability = new Ability(card, "1")
|
||||||
|
{
|
||||||
|
public void resolve() {
|
||||||
|
if (AllZone.GameAction.isCardInPlay(card))
|
||||||
|
AllZone.GameAction.sacrifice(card);
|
||||||
|
|
||||||
|
Card c = getTargetCard();
|
||||||
|
AllZone.GameAction.destroy(c);
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean canPlayAI()
|
||||||
|
{
|
||||||
|
PlayerZone hPlay = AllZone.getZone(Constant.Zone.Play, Constant.Player.Human);
|
||||||
|
CardList list = new CardList();
|
||||||
|
list.addAll(hPlay.getCards());
|
||||||
|
|
||||||
|
list = list.filter(new CardListFilter()
|
||||||
|
{
|
||||||
|
public boolean addCard(Card c) {
|
||||||
|
return c.isArtifact() || c.isEnchantment() && CardUtil.getConvertedManaCost(c.getManaCost()) >= 4;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
if (list.size() > 0)
|
||||||
|
{
|
||||||
|
list.shuffle();
|
||||||
|
setTargetCard(list.get(0));
|
||||||
|
}
|
||||||
|
|
||||||
|
return list.size() > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
ability.setDescription("1, Sacrifice Qasali Pridemage: Destroy target artifact or enchantment.");
|
||||||
|
ability.setBeforePayMana(new Input()
|
||||||
|
{
|
||||||
|
private static final long serialVersionUID = -3565024591921095303L;
|
||||||
|
|
||||||
|
public void showMessage()
|
||||||
|
{
|
||||||
|
PlayerZone hPlay = AllZone.getZone(Constant.Zone.Play, Constant.Player.Human);
|
||||||
|
PlayerZone cPlay = AllZone.getZone(Constant.Zone.Play, Constant.Player.Computer);
|
||||||
|
|
||||||
|
CardList list = new CardList();
|
||||||
|
list.addAll(hPlay.getCards());
|
||||||
|
list.addAll(cPlay.getCards());
|
||||||
|
|
||||||
|
list = list.filter(new CardListFilter()
|
||||||
|
{
|
||||||
|
public boolean addCard(Card c) {
|
||||||
|
return c.isArtifact() || c.isEnchantment();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
stopSetNext(CardFactoryUtil.input_targetSpecific(ability, list, "Select an Artifact or Enchantment", true));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
card.addSpellAbility(ability);
|
||||||
|
}//*************** END ************ END **************************
|
||||||
|
|
||||||
// Cards with Cycling abilities
|
// Cards with Cycling abilities
|
||||||
// -1 means keyword "Cycling" not found
|
// -1 means keyword "Cycling" not found
|
||||||
|
|||||||
@@ -34,13 +34,19 @@ public class Input_Untap extends Input
|
|||||||
if(c[i].getNetAttack() < 3)
|
if(c[i].getNetAttack() < 3)
|
||||||
c[i].untap();
|
c[i].untap();
|
||||||
}
|
}
|
||||||
private boolean isMarbleTitanInPlay()
|
private boolean isMarbleTitanInPlay() //or Meekstone
|
||||||
{
|
{
|
||||||
CardList all = new CardList();
|
CardList all = new CardList();
|
||||||
all.addAll(AllZone.Human_Play.getCards());
|
all.addAll(AllZone.Human_Play.getCards());
|
||||||
all.addAll(AllZone.Computer_Play.getCards());
|
all.addAll(AllZone.Computer_Play.getCards());
|
||||||
|
|
||||||
all = all.getName("Marble Titan");
|
all = all.filter(new CardListFilter()
|
||||||
|
{
|
||||||
|
public boolean addCard(Card c) {
|
||||||
|
return c.getName().equals("Meekstone") || c.getName().equals("Marble Titan");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
return all.size() > 0;
|
return all.size() > 0;
|
||||||
}
|
}
|
||||||
private void regularUntap()
|
private void regularUntap()
|
||||||
|
|||||||
@@ -112,6 +112,8 @@ public class PlayerZone_ComesIntoPlay extends DefaultPlayerZone
|
|||||||
PlayerZone play = AllZone.getZone(Constant.Zone.Play, c.getController());
|
PlayerZone play = AllZone.getZone(Constant.Zone.Play, c.getController());
|
||||||
CardList meek = new CardList(grave.getCards());
|
CardList meek = new CardList(grave.getCards());
|
||||||
|
|
||||||
|
meek = meek.getName("Sword of the Meek");
|
||||||
|
|
||||||
if (meek.size() > 0 && c.isCreature() && c.getNetAttack() == 1 && c.getNetDefense() == 1)
|
if (meek.size() > 0 && c.isCreature() && c.getNetAttack() == 1 && c.getNetDefense() == 1)
|
||||||
{
|
{
|
||||||
for (int i=0;i<meek.size();i++)
|
for (int i=0;i<meek.size();i++)
|
||||||
|
|||||||
Reference in New Issue
Block a user