diff --git a/src/forge/Card.java b/src/forge/Card.java index cd79a844cd6..21975d50a03 100644 --- a/src/forge/Card.java +++ b/src/forge/Card.java @@ -2016,7 +2016,7 @@ public class Card extends MyObservable { } public int getNetAttack() { - if(this.getAmountOfKeyword("CARDNAME's power and toughness are switched") % 2 == 1 ) return getUnswitchedDefense(); + if(this.getAmountOfKeyword("CARDNAME's power and toughness are switched") % 2 != 0 ) return getUnswitchedDefense(); else return getUnswitchedAttack(); } @@ -2032,7 +2032,7 @@ public class Card extends MyObservable { } public int getNetDefense() { - if(this.getAmountOfKeyword("CARDNAME's power and toughness are switched") % 2 == 1 ) return getUnswitchedAttack(); + if(this.getAmountOfKeyword("CARDNAME's power and toughness are switched") % 2 != 0 ) return getUnswitchedAttack(); else return getUnswitchedDefense(); } diff --git a/src/forge/GameActionUtil.java b/src/forge/GameActionUtil.java index a47a6fcca45..3b1ee0c2d89 100644 --- a/src/forge/GameActionUtil.java +++ b/src/forge/GameActionUtil.java @@ -7322,8 +7322,8 @@ public class GameActionUtil { if(!k[4].equalsIgnoreCase("no colors")) { colors = k[4]; if(colors.contains(",Overwrite") || colors.contains("Overwrite")) { - colors.replace(",Overwrite",""); - colors.replace("Overwrite",""); + colors = colors.replace(",Overwrite",""); + colors = colors.replace("Overwrite",""); se.setOverwriteColors(true); } colors = CardUtil.getShortColorsString(new ArrayList(Arrays.asList(k[4].split(",")))); diff --git a/src/forge/card/abilityFactory/AbilityFactory.java b/src/forge/card/abilityFactory/AbilityFactory.java index 742c92d4e70..eba3309ab61 100644 --- a/src/forge/card/abilityFactory/AbilityFactory.java +++ b/src/forge/card/abilityFactory/AbilityFactory.java @@ -1053,7 +1053,7 @@ public class AbilityFactory { else if (defined.endsWith("Owner")){ String triggeringType = defined.substring(9); triggeringType = triggeringType.substring(0,triggeringType.length()-5); - Object c = (Card)sa.getSourceCard().getTriggeringObject(triggeringType); + Object c = sa.getSourceCard().getTriggeringObject(triggeringType); if(c instanceof Card) { o = ((Card)c).getOwner(); diff --git a/src/forge/card/abilityFactory/AbilityFactory_ChangeZone.java b/src/forge/card/abilityFactory/AbilityFactory_ChangeZone.java index fecc4899b93..989d005b9e9 100644 --- a/src/forge/card/abilityFactory/AbilityFactory_ChangeZone.java +++ b/src/forge/card/abilityFactory/AbilityFactory_ChangeZone.java @@ -600,9 +600,9 @@ public class AbilityFactory_ChangeZone { c = basicManaFixing(fetchList, type); else if (fetchList.getNotType("Creature").size() == 0) c = CardFactoryUtil.AI_getBestCreature(fetchList); //if only creatures take the best - else if (destination.equals("Battlefield") || destination.equals("Graveyard")) + else if ("Battlefield".equals(destination) || "Graveyard".equals(destination)) c = CardFactoryUtil.AI_getMostExpensivePermanent(fetchList, af.getHostCard(), false); - else if (destination.equals("Exile")){ + else if ("Exile".equals(destination)){ // Exiling your own stuff, if Exiling opponents stuff choose best if (destZone.getPlayer().isHuman()) c = CardFactoryUtil.AI_getMostExpensivePermanent(fetchList, af.getHostCard(), false); @@ -627,11 +627,11 @@ public class AbilityFactory_ChangeZone { player.shuffle(); for(Card c : fetched){ - if (destination.equals("Library")){ + if ("Library".equals(destination)){ int libraryPos = params.containsKey("LibraryPosition") ? Integer.parseInt(params.get("LibraryPosition")) : 0; AllZone.GameAction.moveToLibrary(c, libraryPos); } - else if (destination.equals("Battlefield")){ + else if ("Battlefield".equals(destination)){ if (params.containsKey("Tapped")) c.tap(); if (params.containsKey("GainControl")) @@ -646,7 +646,7 @@ public class AbilityFactory_ChangeZone { if(params.containsKey("Imprint")) card.addImprinted(c); } - if (!destination.equals("Battlefield") && !type.equals("Card")){ + if (!"Battlefield".equals(destination) && !"Card".equals(type)){ String picked = af.getHostCard().getName() + " - Computer picked:"; if (fetched.size() > 0) GuiUtils.getChoice(picked, fetched.toArray()); @@ -688,7 +688,7 @@ public class AbilityFactory_ChangeZone { return new CardList(); source = rem.get(0); - type.replace("Remembered", "Card"); + type = type.replace("Remembered", "Card"); } return list.getValidCards(type.split(","), sa.getActivatingPlayer(), source); diff --git a/src/forge/card/abilityFactory/AbilityFactory_Destroy.java b/src/forge/card/abilityFactory/AbilityFactory_Destroy.java index 463736f84a9..61be26b7a28 100644 --- a/src/forge/card/abilityFactory/AbilityFactory_Destroy.java +++ b/src/forge/card/abilityFactory/AbilityFactory_Destroy.java @@ -549,7 +549,7 @@ public class AbilityFactory_Destroy { // Set PayX here to maximum value. int xPay = ComputerUtil.determineLeftoverMana(sa); source.setSVar("PayX", Integer.toString(xPay)); - Valid.replace("X", Integer.toString(xPay)); + Valid = Valid.replace("X", Integer.toString(xPay)); } CardList humanlist = AllZoneUtil.getPlayerCardsInPlay(AllZone.HumanPlayer); diff --git a/src/forge/card/spellability/Ability_Mana.java b/src/forge/card/spellability/Ability_Mana.java index 880b7e5b217..1dd326dd364 100644 --- a/src/forge/card/spellability/Ability_Mana.java +++ b/src/forge/card/spellability/Ability_Mana.java @@ -190,6 +190,8 @@ abstract public class Ability_Mana extends Ability_Activated implements java.io. public boolean equals(Object o) { //Mana abilities with same Descriptions are "equal" + if(o == null) + return false; return o.toString().equals(this.toString()); } diff --git a/src/forge/card/trigger/Trigger.java b/src/forge/card/trigger/Trigger.java index 8825b31dd4a..92ec7a987eb 100644 --- a/src/forge/card/trigger/Trigger.java +++ b/src/forge/card/trigger/Trigger.java @@ -2,6 +2,7 @@ package forge.card.trigger; import java.util.ArrayList; import java.util.HashMap; +import java.util.Map; import forge.AllZone; import forge.AllZoneUtil; @@ -77,9 +78,9 @@ public abstract class Trigger { { name = n; mapParams = new HashMap(); - for(String key : params.keySet()) + for(Map.Entry entry : params.entrySet()) { - mapParams.put(key,params.get(key)); + mapParams.put(entry.getKey(),entry.getValue()); } hostCard = host; } @@ -87,9 +88,9 @@ public abstract class Trigger { public Trigger(HashMap params, Card host) { mapParams = new HashMap(); - for(String key : params.keySet()) + for(Map.Entry entry : params.entrySet()) { - mapParams.put(key,params.get(key)); + mapParams.put(entry.getKey(),entry.getValue()); } hostCard = host; } diff --git a/src/forge/deck/Deck.java b/src/forge/deck/Deck.java index 1b7fd2215ab..f34f5b78f20 100644 --- a/src/forge/deck/Deck.java +++ b/src/forge/deck/Deck.java @@ -3,10 +3,16 @@ package forge.deck; import forge.Card; import forge.Constant; +import java.io.Serializable; import java.util.*; -public class Deck implements Comparable{ - //gameType is from Constant.GameType, like Constant.GameType.Regular +public class Deck implements Comparable, Serializable{ + /** + * + */ + private static final long serialVersionUID = -7478025567887481994L; + + //gameType is from Constant.GameType, like Constant.GameType.Regular private Map metadata = new HashMap(); @@ -164,6 +170,14 @@ public class Deck implements Comparable{ public int compareTo(Deck d) { return getName().compareTo(d.getName()); } + + public boolean equals(Object o) { + if(o instanceof Deck){ + Deck d = (Deck)o; + return getName().equals(d.getName()); + } + return false; + } public Set> getMetadata() { return metadata.entrySet();