mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-16 02:38:02 +00:00
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:
@@ -253,8 +253,7 @@ Irini Sengir
|
||||
Legendary Creature Vampire Dwarf
|
||||
White enchantment spells and green enchantment spells cost 2 more to cast.
|
||||
2/2
|
||||
CostChange:All:More:2:Spell:white:Enchantment:NoSpecial
|
||||
CostChange:All:More:2:Spell:green:Enchantment:NoSpecial
|
||||
CostChange:All:More:2:Spell:white/green:Enchantment:OnlyOneBonus
|
||||
|
||||
Hum of the Radix
|
||||
2 G G
|
||||
|
||||
@@ -42,6 +42,7 @@ public class Card extends MyObservable {
|
||||
private boolean sickness = true; //summoning sickness
|
||||
private boolean token = false;
|
||||
private boolean copiedToken = false;
|
||||
private boolean copiedSpell = false;
|
||||
private boolean checkedPropagandaThisTurn = false;
|
||||
private boolean creatureAttackedThisCombat = false;
|
||||
private boolean creatureBlockedThisCombat = false;
|
||||
@@ -707,7 +708,14 @@ public class Card extends MyObservable {
|
||||
public boolean isCopiedToken() {
|
||||
return copiedToken;
|
||||
}
|
||||
public void setCopiedSpell(boolean b)
|
||||
{
|
||||
copiedSpell = b;
|
||||
}
|
||||
|
||||
public boolean isCopiedSpell() {
|
||||
return copiedSpell;
|
||||
}
|
||||
public void setExaltedBonus(boolean b) {
|
||||
exaltedBonus = b;
|
||||
}
|
||||
|
||||
@@ -1177,6 +1177,7 @@ public class GameAction {
|
||||
AllZone.Stack.reset();//this works, it clears the stack of Upkeep effects like Bitterblossom
|
||||
AllZone.InputControl.setInput(new Input_Mulligan());
|
||||
Phase.GameBegins = 1;
|
||||
ButtonUtil.reset();
|
||||
}//newGame()
|
||||
|
||||
//this is where the computer cheats
|
||||
|
||||
@@ -6,6 +6,8 @@ import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.Random;
|
||||
|
||||
import javax.swing.JOptionPane;
|
||||
|
||||
|
||||
public class GameActionUtil {
|
||||
public static void executeUpkeepEffects() {
|
||||
@@ -453,7 +455,7 @@ public class GameActionUtil {
|
||||
Human_Nexus = Human_Nexus.getName("Maelstrom Nexus");
|
||||
Computer_Nexus = Computer_Nexus.getName("Maelstrom Nexus");
|
||||
if (Human_Nexus.size() > 0){
|
||||
if (Phase.PlayerSpellCount == 1)
|
||||
if (Phase.PlayerSpellCount == 1 && !c.isCopiedSpell())
|
||||
{
|
||||
for (int i=0;i<Human_Nexus.size();i++)
|
||||
{
|
||||
@@ -462,7 +464,7 @@ public class GameActionUtil {
|
||||
}
|
||||
}
|
||||
if (Computer_Nexus.size() > 0){
|
||||
if (Phase.ComputerSpellCount == 1)
|
||||
if (Phase.ComputerSpellCount == 1 && !c.isCopiedSpell())
|
||||
{
|
||||
for (int i=0;i<Computer_Nexus.size();i++)
|
||||
{
|
||||
@@ -910,7 +912,8 @@ public class GameActionUtil {
|
||||
};
|
||||
// ability.setStackDescription(StormCard + " - Storm Copy.");
|
||||
// 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();
|
||||
ability.setManaCost("0");
|
||||
if(player == "Human"){
|
||||
@@ -952,10 +955,11 @@ public class GameActionUtil {
|
||||
@Override
|
||||
public void resolve() {
|
||||
if(controller == "Human"){
|
||||
String[] choices = {"Yes", "No"};
|
||||
Object q = null;
|
||||
q = AllZone.Display.getChoiceOptional("Return Vengevine from the graveyard", choices);
|
||||
if(q.equals("Yes")) {
|
||||
Object[] possibleValues = {"Yes", "No"};
|
||||
Object q = JOptionPane.showOptionDialog(null, "Return Vengevine from the graveyard?", "Vengevine Ability",
|
||||
JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE,
|
||||
null, possibleValues, possibleValues[0]);
|
||||
if(q.equals(0)) {
|
||||
if(AllZone.GameAction.isCardInZone(card, grave)) {
|
||||
AllZone.GameAction.moveTo(play, card);
|
||||
}
|
||||
@@ -2215,7 +2219,7 @@ public class GameActionUtil {
|
||||
|
||||
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++) {
|
||||
final Card card = list.get(i);
|
||||
|
||||
@@ -223,7 +223,7 @@ public class MagicStack extends MyObservable
|
||||
stack.add(0, sp);
|
||||
|
||||
this.updateObservers();
|
||||
if(sp.isSpell())
|
||||
if(sp.isSpell() && !sp.getSourceCard().isCopiedSpell())
|
||||
{
|
||||
Phase.StormCount = Phase.StormCount + 1;
|
||||
if(sp.getSourceCard().getController() == "Human") {
|
||||
|
||||
Reference in New Issue
Block a user