mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 12:18:00 +00:00
- Found and fixed a bug in the GameActionUtil.playCard_Enchantress_Draw() code. Added a JOptionPane.showConfirmDialog() to Verduran Enchantress and Mesa Enchantress, you are now asked if you want to draw a card for these two only. Argothian Enchantress and Enchantress's Presence forces you to draw a card. Added some AI to the computer's choice.
This commit is contained in:
@@ -1,12 +0,0 @@
|
||||
#Forge
|
||||
#Mon Aug 23 19:15:41 CEST 2010
|
||||
gui.laf=com.sun.java.swing.plaf.windows.WindowsLookAndFeel
|
||||
AI.stack.land=false
|
||||
gui.new=true
|
||||
stack.offset=tiny
|
||||
card.images.size=medium
|
||||
card.overlay=true
|
||||
card.scale.larger.than.original=true
|
||||
stack.max.size=3
|
||||
gui.laf.fonts=false
|
||||
loss.condition.milling=true
|
||||
|
||||
@@ -2563,39 +2563,64 @@ public class GameActionUtil {
|
||||
public static void playCard_Enchantress_Draw(Card c) {
|
||||
|
||||
PlayerZone play = AllZone.getZone(Constant.Zone.Play, c.getController());
|
||||
|
||||
CardList list = new CardList();
|
||||
list.addAll(play.getCards());
|
||||
|
||||
list = list.filter(new CardListFilter() {
|
||||
public boolean addCard(Card crd) {
|
||||
if (crd.getName().equals("Verduran Enchantress") || crd.getName().equals("Enchantress's Presence")
|
||||
|| crd.getName().equals("Mesa Enchantress")
|
||||
|| crd.getName().equals("Argothian Enchantress")) return true;
|
||||
|| crd.getName().equals("Mesa Enchantress") || crd.getName().equals("Argothian Enchantress")) return true;
|
||||
else return false;
|
||||
}
|
||||
});
|
||||
//list = list.getName("Verduran Enchantress");
|
||||
|
||||
if (c.isEnchantment()) {
|
||||
for (int i = 0; i < list.size(); i++) {
|
||||
final Card card = list.get(0);
|
||||
final Card card = list.get(i); //was "list.get(0);"
|
||||
|
||||
Ability ability2 = new Ability(card, "0") {
|
||||
@Override
|
||||
public void resolve() {
|
||||
// draws a card
|
||||
Boolean mayDrawNotMust = (card.getName().equals("Verduran Enchantress") || card.getName().equals("Mesa Enchantress"));
|
||||
int choice = 0;
|
||||
|
||||
if (card.getController().equals("Human")) {
|
||||
if (mayDrawNotMust) {
|
||||
StringBuffer title = new StringBuffer();
|
||||
title.append(card.getName()).append(" Ability");
|
||||
StringBuffer message = new StringBuffer();
|
||||
message.append("Will you draw a card?");
|
||||
choice = JOptionPane.showConfirmDialog(null, message.toString(), title.toString(), JOptionPane.YES_NO_OPTION);
|
||||
}// May Draw a card
|
||||
|
||||
if ((mayDrawNotMust && choice == JOptionPane.YES_OPTION) || !mayDrawNotMust) {
|
||||
AllZone.GameAction.drawCard(card.getController());
|
||||
}
|
||||
}// Human
|
||||
|
||||
if (card.getController().equals("Computer")) {
|
||||
int compLibSize = AllZone.getZone(Constant.Zone.Library, Constant.Player.Computer).size();
|
||||
int compHandSize = AllZone.getZone(Constant.Zone.Hand, Constant.Player.Computer).size();
|
||||
if ((!mayDrawNotMust) || (mayDrawNotMust && compLibSize >= 5 && compHandSize <= 7)) {
|
||||
AllZone.GameAction.drawCard(card.getController());
|
||||
}
|
||||
}// Computer
|
||||
}// resolve()
|
||||
};// ability2
|
||||
|
||||
ability2.setStackDescription(card.getName() + " - " + c.getController()
|
||||
+ " plays an enchantment spell and draws a card");
|
||||
AllZone.Stack.add(ability2);
|
||||
StringBuffer sb = new StringBuffer();
|
||||
sb.append(card.getName()).append(" - ").append(c.getController()).append(" plays an enchantment spell and ");
|
||||
if (card.getName().equals("Verduran Enchantress") || card.getName().equals("Mesa Enchantress")) {
|
||||
sb.append("may draw a card.");
|
||||
} else {
|
||||
sb.append("draws a card.");
|
||||
}
|
||||
|
||||
ability2.setStackDescription(sb.toString());
|
||||
AllZone.Stack.add(ability2);
|
||||
}// for
|
||||
}// if isEnchantment()
|
||||
}
|
||||
}// playCard_Enchantress_Draw()
|
||||
|
||||
public static void playCard_Gilt_Leaf_Archdruid(Card c) {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user