mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 11:48:02 +00:00
Added Oran-Rief, the Vastwood, and Transguild Courier; Keyworded colors (e.g. "Crookshank Kobolds is red.", "Ghostfire is colorless.").
This commit is contained in:
@@ -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";
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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<String>(colors);
|
||||
|
||||
Reference in New Issue
Block a user