mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-16 10:48:00 +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
|
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
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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") {
|
||||||
|
|||||||
Reference in New Issue
Block a user