mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 12:48:00 +00:00
- Added Phantom Centaur (previous release also contains Phantom Nishoba, forgot to mention it).
- Fixed Wizened Cenn (if it has a different creature type (Conspiracy) it won't get the bonus from other Wizened Cenn)... probably a bunch of the other lords could use this same fix.
This commit is contained in:
@@ -18,6 +18,7 @@ forest.jpg http://resources.wizards.com/magic/cards/unh/en-us/card73946.jpg
|
|||||||
forest1.jpg http://gatherer.wizards.com/handlers/image.ashx?type=card&multiverseid=2748
|
forest1.jpg http://gatherer.wizards.com/handlers/image.ashx?type=card&multiverseid=2748
|
||||||
forest2.jpg http://gatherer.wizards.com/handlers/image.ashx?type=card&multiverseid=587
|
forest2.jpg http://gatherer.wizards.com/handlers/image.ashx?type=card&multiverseid=587
|
||||||
forest3.jpg http://gatherer.wizards.com/handlers/image.ashx?type=card&multiverseid=586
|
forest3.jpg http://gatherer.wizards.com/handlers/image.ashx?type=card&multiverseid=586
|
||||||
|
phantom_centaur.jpg http://www.wizards.com/global/images/magic/general/phantom_centaur.jpg
|
||||||
phantom_nishoba.jpg http://www.wizards.com/global/images/magic/general/phantom_nishoba.jpg
|
phantom_nishoba.jpg http://www.wizards.com/global/images/magic/general/phantom_nishoba.jpg
|
||||||
iona_shield_of_emeria.jpg http://www.wizards.com/global/images/magic/general/iona_shield_of_emeria.jpg
|
iona_shield_of_emeria.jpg http://www.wizards.com/global/images/magic/general/iona_shield_of_emeria.jpg
|
||||||
gaddock_teeg.jpg http://www.wizards.com/global/images/magic/general/gaddock_teeg.jpg
|
gaddock_teeg.jpg http://www.wizards.com/global/images/magic/general/gaddock_teeg.jpg
|
||||||
|
|||||||
@@ -1,3 +1,10 @@
|
|||||||
|
Phantom Centaur
|
||||||
|
2 G G
|
||||||
|
Creature Centaur Spirit
|
||||||
|
Phantom Centaur enters the battlefield with three +1/+1 counters on it. If damage would be dealt to Phantom Centaur, prevent that damage. Remove a +1/+1 counter from Phantom Centaur.
|
||||||
|
2/0
|
||||||
|
Protection from black
|
||||||
|
|
||||||
Phantom Nishoba
|
Phantom Nishoba
|
||||||
5 G W
|
5 G W
|
||||||
Creature Cat Beast Spirit
|
Creature Cat Beast Spirit
|
||||||
|
|||||||
@@ -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/25, SVN revision: 141
|
program/version=Forge -- official beta: 09/11/25, SVN revision: 142
|
||||||
|
|
||||||
tokens--file=AllTokens.txt
|
tokens--file=AllTokens.txt
|
||||||
|
|
||||||
|
|||||||
@@ -2374,6 +2374,52 @@ public class CardFactoryUtil
|
|||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static String getMostProminentColor(CardList list)
|
||||||
|
{
|
||||||
|
|
||||||
|
Map<String,Integer> map = new HashMap<String,Integer>();
|
||||||
|
String s = "";
|
||||||
|
|
||||||
|
for (int i=0;i<list.size();i++)
|
||||||
|
{
|
||||||
|
Card c = list.get(i);
|
||||||
|
ArrayList<String> colorList = CardUtil.getColors(c);
|
||||||
|
|
||||||
|
for (String color : colorList)
|
||||||
|
{
|
||||||
|
if (color.equals("colorless"))
|
||||||
|
;
|
||||||
|
else if (!map.containsKey(color))
|
||||||
|
map.put(color, 1);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
map.put(color, map.get(color)+1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}//for
|
||||||
|
|
||||||
|
int max = 0;
|
||||||
|
String maxColor = "";
|
||||||
|
|
||||||
|
for (int i=0;i<map.size();i++)
|
||||||
|
{
|
||||||
|
Iterator<String> iter = map.keySet().iterator();
|
||||||
|
while(iter.hasNext()) {
|
||||||
|
String color = iter.next();
|
||||||
|
System.out.println(color + " - " + map.get(color));
|
||||||
|
|
||||||
|
if (max < map.get(color))
|
||||||
|
{
|
||||||
|
max = map.get(color);
|
||||||
|
maxColor = color;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
s = maxColor;
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public static String chooseCreatureTypeAI(Card c)
|
public static String chooseCreatureTypeAI(Card c)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -17718,7 +17718,7 @@ public class CardFactory_Creatures {
|
|||||||
|
|
||||||
String color = new String();
|
String color = new String();
|
||||||
String[] colors = Constant.Color.Colors;
|
String[] colors = Constant.Color.Colors;
|
||||||
colors[colors.length-1] = "";
|
colors[colors.length-1] = null;
|
||||||
|
|
||||||
Object o = AllZone.Display.getChoice("Choose color", colors);
|
Object o = AllZone.Display.getChoice("Choose color", colors);
|
||||||
color = (String)o;
|
color = (String)o;
|
||||||
@@ -17726,7 +17726,24 @@ public class CardFactory_Creatures {
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
PlayerZone lib = AllZone.getZone(Constant.Zone.Library, Constant.Player.Human);
|
||||||
|
PlayerZone hand = AllZone.getZone(Constant.Zone.Hand, Constant.Player.Human);
|
||||||
|
CardList list = new CardList();
|
||||||
|
list.addAll(lib.getCards());
|
||||||
|
list.addAll(hand.getCards());
|
||||||
|
|
||||||
|
if (list.size() > 0)
|
||||||
|
{
|
||||||
|
String color = CardFactoryUtil.getMostProminentColor(list);
|
||||||
|
if (!color.equals(""))
|
||||||
|
card.setChosenColor(color);
|
||||||
|
else
|
||||||
|
card.setChosenColor("black");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
card.setChosenColor("black");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -17743,6 +17760,7 @@ public class CardFactory_Creatures {
|
|||||||
card.addComesIntoPlayCommand(comesIntoPlay);
|
card.addComesIntoPlayCommand(comesIntoPlay);
|
||||||
}//*************** END ************ END **************************
|
}//*************** END ************ END **************************
|
||||||
|
|
||||||
|
//*************** START *********** START **************************
|
||||||
else if (cardName.equals("Phantom Nishoba"))
|
else if (cardName.equals("Phantom Nishoba"))
|
||||||
{
|
{
|
||||||
final Card newCard = new Card()
|
final Card newCard = new Card()
|
||||||
@@ -17786,6 +17804,48 @@ public class CardFactory_Creatures {
|
|||||||
return newCard;
|
return newCard;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//*************** START *********** START **************************
|
||||||
|
else if (cardName.equals("Phantom Centaur"))
|
||||||
|
{
|
||||||
|
final Card newCard = new Card()
|
||||||
|
{
|
||||||
|
public void addDamage(final int n)
|
||||||
|
{
|
||||||
|
this.subtractCounter(Counters.P1P1, 1);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
newCard.setOwner(card.getOwner());
|
||||||
|
newCard.setController(card.getController());
|
||||||
|
|
||||||
|
newCard.setManaCost(card.getManaCost());
|
||||||
|
newCard.setName(card.getName());
|
||||||
|
newCard.addType("Creature");
|
||||||
|
newCard.addType("Centaur");
|
||||||
|
newCard.addType("Spirit");
|
||||||
|
newCard.setText(card.getSpellText());
|
||||||
|
newCard.setBaseAttack(card.getBaseAttack());
|
||||||
|
newCard.setBaseDefense(card.getBaseDefense());
|
||||||
|
|
||||||
|
newCard.addIntrinsicKeyword("Protection from black");
|
||||||
|
|
||||||
|
newCard.addSpellAbility(new Spell_Permanent(newCard));
|
||||||
|
|
||||||
|
Command comesIntoPlay = new Command()
|
||||||
|
{
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 4217898403350036317L;
|
||||||
|
|
||||||
|
public void execute()
|
||||||
|
{
|
||||||
|
newCard.addCounter(Counters.P1P1, 3);
|
||||||
|
}
|
||||||
|
};//Command
|
||||||
|
|
||||||
|
newCard.addComesIntoPlayCommand(comesIntoPlay);
|
||||||
|
|
||||||
|
return newCard;
|
||||||
|
}//*************** END ************ END **************************
|
||||||
|
|
||||||
|
|
||||||
// Cards with Cycling abilities
|
// Cards with Cycling abilities
|
||||||
// -1 means keyword "Cycling" not found
|
// -1 means keyword "Cycling" not found
|
||||||
|
|||||||
@@ -9506,7 +9506,13 @@ public class GameActionUtil
|
|||||||
PlayerZone play = AllZone.getZone(Constant.Zone.Play, c
|
PlayerZone play = AllZone.getZone(Constant.Zone.Play, c
|
||||||
.getController());
|
.getController());
|
||||||
CardList cenns = new CardList(play.getCards());
|
CardList cenns = new CardList(play.getCards());
|
||||||
cenns = cenns.getName("Wizened Cenn");
|
cenns = cenns.filter(new CardListFilter()
|
||||||
|
{
|
||||||
|
public boolean addCard(Card c)
|
||||||
|
{
|
||||||
|
return c.getName().equals("Wizened Cenn") && (c.getType().contains("Kithkin") ||c.getKeyword().contains("Changeling"));
|
||||||
|
}
|
||||||
|
});
|
||||||
return cenns.size()-1;
|
return cenns.size()-1;
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -9514,7 +9520,6 @@ public class GameActionUtil
|
|||||||
public void execute()
|
public void execute()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
CardList creature = new CardList();
|
CardList creature = new CardList();
|
||||||
creature.addAll(AllZone.Human_Play.getCards());
|
creature.addAll(AllZone.Human_Play.getCards());
|
||||||
creature.addAll(AllZone.Computer_Play.getCards());
|
creature.addAll(AllZone.Computer_Play.getCards());
|
||||||
|
|||||||
Reference in New Issue
Block a user