diff --git a/res/cards.txt b/res/cards.txt index faa6004c871..fbf3566c810 100644 --- a/res/cards.txt +++ b/res/cards.txt @@ -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 2 B R G Legendary Creature Orc Shaman @@ -6402,8 +6420,9 @@ spDamageCP:3 Ghostfire 2 R Instant -Ghostfire is colorless. (NOTE: This card is currently treated as red.) +no text spDamageCP:3 +Ghostfire is colorless. Lightning Blast 3 R @@ -11497,6 +11516,7 @@ Land Creature Forest Dryad no text 1/1 tap: add G +Dryad Arbor is green. Sliversmith 2 @@ -14167,14 +14187,16 @@ tap: add G Crimson Kobolds 0 Creature Kobold -Crimson Kobolds is red. (NOTE: This card is currently treated as colorless.) +no text 0/1 +Crimson Kobolds is red. Crookshank Kobolds 0 Creature Kobold -Crookshank Kobolds is red. (NOTE: This card is currently treated as colorless.) +no text 0/1 +Crookshank Kobolds is red. Cylian Elf 1 G @@ -14277,8 +14299,9 @@ Reach Kobolds of Kher Keep 0 Creature Kobold -Kobolds of Kher Keep is red. (NOTE: This card is currently treated as colorless.) +no text 0/1 +Kobolds of Kher Keep is red. Leaden Myr 2 diff --git a/res/main.properties b/res/main.properties index 3f796cc16d6..227639fb48f 100644 --- a/res/main.properties +++ b/res/main.properties @@ -1,6 +1,6 @@ program/mail=mtgrares@yahoo.com 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 diff --git a/src/forge/Card.java b/src/forge/Card.java index ea41726586c..7ce74719796 100644 --- a/src/forge/Card.java +++ b/src/forge/Card.java @@ -278,7 +278,7 @@ public class Card extends MyObservable //presumes the first SpellAbility added to this card, is the "main" spell //skip the first SpellAbility for creatures, since it says "Summon this creature" //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"; } diff --git a/src/forge/CardFactory_Lands.java b/src/forge/CardFactory_Lands.java index 83147dcc434..1af483b2a33 100644 --- a/src/forge/CardFactory_Lands.java +++ b/src/forge/CardFactory_Lands.java @@ -5,8 +5,55 @@ class CardFactory_Lands { // computer plays 2 land of these type instead of just 1 per turn - //*************** START *********** START ************************** - //Ravinca Duel Lands + + //*************** START *********** START ************************** + 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 this isn't done, computer plays more than 1 copy diff --git a/src/forge/CardUtil.java b/src/forge/CardUtil.java index 597b31dc9f8..67df17aa865 100644 --- a/src/forge/CardUtil.java +++ b/src/forge/CardUtil.java @@ -123,6 +123,13 @@ public class CardUtil { 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); return new ArrayList(colors);