Added Oran-Rief, the Vastwood, and Transguild Courier; Keyworded colors (e.g. "Crookshank Kobolds is red.", "Ghostfire is colorless.").

This commit is contained in:
jendave
2011-08-06 02:47:09 +00:00
parent 409aeb6d7e
commit 2f6a4fe068
5 changed files with 85 additions and 8 deletions

View File

@@ -1,3 +1,21 @@
Transguild Courier
4
Artifact Creature Golem
no text
3/3
Transguild courier is white.
Transguild courier is blue.
Transguild courier is black.
Transguild courier is red.
Transguild courier is green.
Oran-Rief, the Vastwood
no cost
Land
no text
tap: add G
Comes into play tapped.
Sek'Kuar, Deathkeeper Sek'Kuar, Deathkeeper
2 B R G 2 B R G
Legendary Creature Orc Shaman Legendary Creature Orc Shaman
@@ -6402,8 +6420,9 @@ spDamageCP:3
Ghostfire Ghostfire
2 R 2 R
Instant Instant
Ghostfire is colorless. (NOTE: This card is currently treated as red.) no text
spDamageCP:3 spDamageCP:3
Ghostfire is colorless.
Lightning Blast Lightning Blast
3 R 3 R
@@ -11497,6 +11516,7 @@ Land Creature Forest Dryad
no text no text
1/1 1/1
tap: add G tap: add G
Dryad Arbor is green.
Sliversmith Sliversmith
2 2
@@ -14167,14 +14187,16 @@ tap: add G
Crimson Kobolds Crimson Kobolds
0 0
Creature Kobold Creature Kobold
Crimson Kobolds is red. (NOTE: This card is currently treated as colorless.) no text
0/1 0/1
Crimson Kobolds is red.
Crookshank Kobolds Crookshank Kobolds
0 0
Creature Kobold Creature Kobold
Crookshank Kobolds is red. (NOTE: This card is currently treated as colorless.) no text
0/1 0/1
Crookshank Kobolds is red.
Cylian Elf Cylian Elf
1 G 1 G
@@ -14277,8 +14299,9 @@ Reach
Kobolds of Kher Keep Kobolds of Kher Keep
0 0
Creature Kobold Creature Kobold
Kobolds of Kher Keep is red. (NOTE: This card is currently treated as colorless.) no text
0/1 0/1
Kobolds of Kher Keep is red.
Leaden Myr Leaden Myr
2 2

View File

@@ -1,6 +1,6 @@
program/mail=mtgrares@yahoo.com program/mail=mtgrares@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: 68 program/version=MTG Forge -- official beta: 09/11/02, SVN revision: 70
tokens--file=AllTokens.txt tokens--file=AllTokens.txt

View File

@@ -278,7 +278,7 @@ public class Card extends MyObservable
//presumes the first SpellAbility added to this card, is the "main" spell //presumes the first SpellAbility added to this card, is the "main" spell
//skip the first SpellAbility for creatures, since it says "Summon this creature" //skip the first SpellAbility for creatures, since it says "Summon this creature"
//looks bad on the Gui card detail //looks bad on the Gui card detail
if(isPermanent() && i != 0 && !(manaAbility.contains(sa[i]) && ((Ability_Mana) sa[i]).isBasic()))//prevent mana ability duplication if(isPermanent() && (isLand() || i != 0) && !(manaAbility.contains(sa[i]) && ((Ability_Mana) sa[i]).isBasic()))//prevent mana ability duplication
s += sa[i].toString() +"\r\n"; s += sa[i].toString() +"\r\n";
} }

View File

@@ -5,8 +5,55 @@ class CardFactory_Lands {
// computer plays 2 land of these type instead of just 1 per turn // computer plays 2 land of these type instead of just 1 per turn
//*************** START *********** START ************************** //*************** START *********** START **************************
//Ravinca Duel Lands if(cardName.equals("Oran-Rief, the Vastwood"))
{
card.clearSpellKeepManaAbility();
final CardListFilter targets = new CardListFilter()
{
public boolean addCard(Card c) {
return AllZone.GameAction.isCardInPlay(c) && c.isCreature()
&& c.getTurnInZone() == AllZone.Phase.getTurn()
&& CardUtil.getColors(c).contains(Constant.Color.Green);
}
};
Ability_Tap ability = new Ability_Tap(card)
{
/**
*
*/
private static final long serialVersionUID = 1416258136308898492L;
CardList inPlay = new CardList();
public boolean canPlayAI()
{
if(!(AllZone.Phase.getPhase().equals(Constant.Phase.Main1)
&& AllZone.Phase.getActivePlayer().equals(Constant.Player.Computer)))
return false;
inPlay.clear();
inPlay.addAll(AllZone.Computer_Play.getCards());
return (inPlay.filter(targets).size() > 1);
}
public void resolve() {
inPlay.clear();
inPlay.addAll(AllZone.Human_Play.getCards());
inPlay.addAll(AllZone.Computer_Play.getCards());
for(Card targ : inPlay.filter(targets))
targ.addCounter(Counters.P1P1, 1);
}
};
ability.setDescription("tap: Put a +1/+1 counter on each green creature that entered the battlefield this turn.");
ability.setStackDescription("Put a +1/+1 counter on each green creature that entered the battlefield this turn.");
card.addSpellAbility(ability);
}
//*************** END ************ END **************************
//*************** START *********** START **************************
//Ravinca Dual Lands
if(cardName.equals("Blood Crypt") || cardName.equals("Breeding Pool") || cardName.equals("Godless Shrine") || cardName.equals("Hallowed Fountain") || cardName.equals("Overgrown Tomb") || cardName.equals("Sacred Foundry") || cardName.equals("Steam Vents") || cardName.equals("Stomping Ground") || cardName.equals("Temple Garden") || cardName.equals("Watery Grave")) if(cardName.equals("Blood Crypt") || cardName.equals("Breeding Pool") || cardName.equals("Godless Shrine") || cardName.equals("Hallowed Fountain") || cardName.equals("Overgrown Tomb") || cardName.equals("Sacred Foundry") || cardName.equals("Steam Vents") || cardName.equals("Stomping Ground") || cardName.equals("Temple Garden") || cardName.equals("Watery Grave"))
{ {
//if this isn't done, computer plays more than 1 copy //if this isn't done, computer plays more than 1 copy

View File

@@ -123,6 +123,13 @@ public class CardUtil {
break; break;
} }
} }
for(String kw : c.getKeyword())
if(kw.startsWith(c.getName()+" is "))
for(String color : Constant.Color.Colors)
if(kw.endsWith(color+"."))
colors.add(color);
if(colors.contains(Constant.Color.Colorless))
colors.clear();
if(colors.isEmpty()) colors.add(Constant.Color.Colorless); if(colors.isEmpty()) colors.add(Constant.Color.Colorless);
return new ArrayList<String>(colors); return new ArrayList<String>(colors);