Bug Fixes. Fixed Irini Senger to only reduce white/green enchantment spells by 1 (Thanks Sloth). Added ButtonUtil.reset just after the game starts (Not sure if this fixed your bug Rob, because i wasn't sure what the bug was). Added a card property, CopiedSpell. With copiedspell, i made a few changes to cascade and storm and fixed Gelectrode (It used to trigger its ability at copied spells). Also made the popup for vengevine better.

This commit is contained in:
jendave
2011-08-06 04:59:14 +00:00
parent 87a5d322c3
commit ce7b34daad
5 changed files with 23 additions and 11 deletions

View File

@@ -253,8 +253,7 @@ Irini Sengir
Legendary Creature Vampire Dwarf Legendary Creature Vampire Dwarf
White enchantment spells and green enchantment spells cost 2 more to cast. White enchantment spells and green enchantment spells cost 2 more to cast.
2/2 2/2
CostChange:All:More:2:Spell:white:Enchantment:NoSpecial CostChange:All:More:2:Spell:white/green:Enchantment:OnlyOneBonus
CostChange:All:More:2:Spell:green:Enchantment:NoSpecial
Hum of the Radix Hum of the Radix
2 G G 2 G G

View File

@@ -42,6 +42,7 @@ public class Card extends MyObservable {
private boolean sickness = true; //summoning sickness private boolean sickness = true; //summoning sickness
private boolean token = false; private boolean token = false;
private boolean copiedToken = false; private boolean copiedToken = false;
private boolean copiedSpell = false;
private boolean checkedPropagandaThisTurn = false; private boolean checkedPropagandaThisTurn = false;
private boolean creatureAttackedThisCombat = false; private boolean creatureAttackedThisCombat = false;
private boolean creatureBlockedThisCombat = false; private boolean creatureBlockedThisCombat = false;
@@ -707,7 +708,14 @@ public class Card extends MyObservable {
public boolean isCopiedToken() { public boolean isCopiedToken() {
return copiedToken; return copiedToken;
} }
public void setCopiedSpell(boolean b)
{
copiedSpell = b;
}
public boolean isCopiedSpell() {
return copiedSpell;
}
public void setExaltedBonus(boolean b) { public void setExaltedBonus(boolean b) {
exaltedBonus = b; exaltedBonus = b;
} }

View File

@@ -1177,6 +1177,7 @@ public class GameAction {
AllZone.Stack.reset();//this works, it clears the stack of Upkeep effects like Bitterblossom AllZone.Stack.reset();//this works, it clears the stack of Upkeep effects like Bitterblossom
AllZone.InputControl.setInput(new Input_Mulligan()); AllZone.InputControl.setInput(new Input_Mulligan());
Phase.GameBegins = 1; Phase.GameBegins = 1;
ButtonUtil.reset();
}//newGame() }//newGame()
//this is where the computer cheats //this is where the computer cheats

View File

@@ -6,6 +6,8 @@ import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.Random; import java.util.Random;
import javax.swing.JOptionPane;
public class GameActionUtil { public class GameActionUtil {
public static void executeUpkeepEffects() { public static void executeUpkeepEffects() {
@@ -453,7 +455,7 @@ public class GameActionUtil {
Human_Nexus = Human_Nexus.getName("Maelstrom Nexus"); Human_Nexus = Human_Nexus.getName("Maelstrom Nexus");
Computer_Nexus = Computer_Nexus.getName("Maelstrom Nexus"); Computer_Nexus = Computer_Nexus.getName("Maelstrom Nexus");
if (Human_Nexus.size() > 0){ if (Human_Nexus.size() > 0){
if (Phase.PlayerSpellCount == 1) if (Phase.PlayerSpellCount == 1 && !c.isCopiedSpell())
{ {
for (int i=0;i<Human_Nexus.size();i++) for (int i=0;i<Human_Nexus.size();i++)
{ {
@@ -462,7 +464,7 @@ public class GameActionUtil {
} }
} }
if (Computer_Nexus.size() > 0){ if (Computer_Nexus.size() > 0){
if (Phase.ComputerSpellCount == 1) if (Phase.ComputerSpellCount == 1 && !c.isCopiedSpell())
{ {
for (int i=0;i<Computer_Nexus.size();i++) for (int i=0;i<Computer_Nexus.size();i++)
{ {
@@ -910,7 +912,8 @@ public class GameActionUtil {
}; };
// ability.setStackDescription(StormCard + " - Storm Copy."); // ability.setStackDescription(StormCard + " - Storm Copy.");
// Add all targetted storm cards to the if statement // Add all targetted storm cards to the if statement
Phase.StormCount = Phase.StormCount - 1; ability.getSourceCard().setCopiedSpell(true);
// Phase.StormCount = Phase.StormCount - 1;
String player = StormCard.getController(); String player = StormCard.getController();
ability.setManaCost("0"); ability.setManaCost("0");
if(player == "Human"){ if(player == "Human"){
@@ -952,10 +955,11 @@ public class GameActionUtil {
@Override @Override
public void resolve() { public void resolve() {
if(controller == "Human"){ if(controller == "Human"){
String[] choices = {"Yes", "No"}; Object[] possibleValues = {"Yes", "No"};
Object q = null; Object q = JOptionPane.showOptionDialog(null, "Return Vengevine from the graveyard?", "Vengevine Ability",
q = AllZone.Display.getChoiceOptional("Return Vengevine from the graveyard", choices); JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE,
if(q.equals("Yes")) { null, possibleValues, possibleValues[0]);
if(q.equals(0)) {
if(AllZone.GameAction.isCardInZone(card, grave)) { if(AllZone.GameAction.isCardInZone(card, grave)) {
AllZone.GameAction.moveTo(play, card); AllZone.GameAction.moveTo(play, card);
} }
@@ -2215,7 +2219,7 @@ public class GameActionUtil {
list = list.getName("Gelectrode"); list = list.getName("Gelectrode");
if(list.size() > 0 && (c.getType().contains("Instant") || c.getType().contains("Sorcery"))) { if(list.size() > 0 && (c.getType().contains("Instant") || c.getType().contains("Sorcery")) && !c.isCopiedSpell()) {
for(int i = 0; i < list.size(); i++) { for(int i = 0; i < list.size(); i++) {
final Card card = list.get(i); final Card card = list.get(i);

View File

@@ -223,7 +223,7 @@ public class MagicStack extends MyObservable
stack.add(0, sp); stack.add(0, sp);
this.updateObservers(); this.updateObservers();
if(sp.isSpell()) if(sp.isSpell() && !sp.getSourceCard().isCopiedSpell())
{ {
Phase.StormCount = Phase.StormCount + 1; Phase.StormCount = Phase.StormCount + 1;
if(sp.getSourceCard().getController() == "Human") { if(sp.getSourceCard().getController() == "Human") {