- Phytohydra should be fixed.

- Lands shouldn't be playable at opponent's EOT anymore.
- Checking attack triggers should happen only once, after all attackers have been declared.
- Added Goblin Piledriver, Flame Rift, Spectral Bears, Spectral Force, Pianna, Nomad Captain, Crypt Cobra, Swamp Mosquito, Suq'Ata Assassin.
- Fixed a bunch of bugs with Mox Diamond.
- Guiltfeeder should only trigger when it's unblocked (previously it would trigger when trampling over also). 
- Fixed Elvish Piper (not sure how it broke?).
- Added Poison Counters. 
- AI shouldn't play Cognivore, Terravore, Cantivore, Magnivore, Mortivore anymore if there are no cards in any graveyard keeping them alive.
This commit is contained in:
jendave
2011-08-06 03:03:43 +00:00
parent 12ee61ea02
commit 3762b14ca0
17 changed files with 600 additions and 79 deletions

View File

@@ -15418,16 +15418,19 @@ return land.size() > 1 && CardFactoryUtil.AI_isMainPhase();
private static final long serialVersionUID = -1319202902385425204L;
public void showMessage()
{
AllZone.Display.showMessage("Discard from your hand a land card");
AllZone.Display.showMessage("Discard a land card (or select Mox Diamond to sacrifice it)");
ButtonUtil.enableOnlyCancel();
}
public void selectCard(Card c, PlayerZone zone)
{
if(zone.is(Constant.Zone.Hand))
if(zone.is(Constant.Zone.Hand) && c.isLand())
{
AllZone.GameAction.discard(c);
if(!c.isLand())
AllZone.GameAction.sacrifice(card);
stop();
}
else if (c.equals(card))
{
AllZone.GameAction.sacrifice(card);
stop();
}
}
@@ -15488,7 +15491,7 @@ return land.size() > 1 && CardFactoryUtil.AI_isMainPhase();
return (c.isLand());
}
});
return list.size() != 0;
return list.size() != 0 && super.canPlay();
}//canPlay()
};
card.addComesIntoPlayCommand(intoPlay);
@@ -17355,6 +17358,8 @@ return land.size() > 1 && CardFactoryUtil.AI_isMainPhase();
card.addSpellAbility(ab1);
}//*************** END ************ END **************************
//*************** START *********** START **************************
else if(cardName.equals("Path to Exile"))
@@ -17763,6 +17768,28 @@ return land.size() > 1 && CardFactoryUtil.AI_isMainPhase();
card.clearSpellAbility();
card.addSpellAbility(spell);
}//*************** END ************ END **************************
//*************** START *********** START **************************
if (cardName.equals("Flame Rift"))
{
final SpellAbility spell = new Spell(card)
{
private static final long serialVersionUID = -6008296722680155321L;
public void resolve()
{
AllZone.Human_Life.subtractLife(4);
AllZone.Computer_Life.subtractLife(4);
}
public boolean canPlayAI()
{
return AllZone.Computer_Life.getLife() > 7 && AllZone.Human_Life.getLife() < 7;
}
};
card.clearSpellAbility();
card.addSpellAbility(spell);
}
// Cards with Cycling abilities