From a0c8e7a50cbbf5aa4f64dbc5dc414580f488c8fe Mon Sep 17 00:00:00 2001 From: Chris Date: Tue, 18 Dec 2012 18:01:02 +0000 Subject: [PATCH] - CheckStyle. --- src/main/java/forge/Card.java | 3 ++ src/main/java/forge/GameAction.java | 2 +- .../card/abilityfactory/ai/DiscardAi.java | 2 +- .../card/abilityfactory/ai/PumpAiBase.java | 2 +- .../effects/ChangeZoneEffect.java | 4 +- .../abilityfactory/effects/DiscardEffect.java | 4 +- src/main/java/forge/card/cost/Cost.java | 2 +- src/main/java/forge/card/cost/CostExile.java | 28 +++++++------- src/main/java/forge/card/mana/ManaPool.java | 2 +- .../card/spellability/SpellPermanent.java | 4 +- .../forge/card/trigger/TriggerHandler.java | 12 +++--- .../forge/card/trigger/TriggerWaiting.java | 8 ++-- .../forge/control/input/InputMulligan.java | 4 +- src/main/java/forge/deck/Deck.java | 21 ++++++----- src/main/java/forge/deck/DeckgenUtil.java | 37 ++++++++++--------- src/main/java/forge/game/GameNew.java | 28 +++++++------- .../java/forge/game/MatchStartHelper.java | 14 +++---- .../java/forge/game/phase/PhaseHandler.java | 37 ++++++++++--------- src/main/java/forge/game/phase/Upkeep.java | 6 +-- 19 files changed, 113 insertions(+), 107 deletions(-) diff --git a/src/main/java/forge/Card.java b/src/main/java/forge/Card.java index 662b8fbfd83..4ad6be53881 100644 --- a/src/main/java/forge/Card.java +++ b/src/main/java/forge/Card.java @@ -656,6 +656,9 @@ public class Card extends GameEntity implements Comparable { this.imprintedCards.addAll(list); } + /** + * TODO: Write javadoc for this method. + */ public final void removeImprinted(final Object o) { this.imprintedCards.remove(o); } diff --git a/src/main/java/forge/GameAction.java b/src/main/java/forge/GameAction.java index f04e328ee21..23125bdb312 100644 --- a/src/main/java/forge/GameAction.java +++ b/src/main/java/forge/GameAction.java @@ -1527,7 +1527,7 @@ public class GameAction { return false; } - if (c.canBeShielded() + if (c.canBeShielded() && (c.getShield() > 0 || c.hasKeyword("If CARDNAME would be destroyed, regenerate it."))) { c.subtractShield(); c.setDamage(0); diff --git a/src/main/java/forge/card/abilityfactory/ai/DiscardAi.java b/src/main/java/forge/card/abilityfactory/ai/DiscardAi.java index d7327557e3e..baa518fb529 100644 --- a/src/main/java/forge/card/abilityfactory/ai/DiscardAi.java +++ b/src/main/java/forge/card/abilityfactory/ai/DiscardAi.java @@ -84,7 +84,7 @@ public class DiscardAi extends SpellAiLogic { } // TODO: Implement support for Discard AI for cards with AnyNumber set to true. - + // Don't use draw abilities before main 2 if possible if (Singletons.getModel().getGame().getPhaseHandler().getPhase().isBefore(PhaseType.MAIN2) && !sa.hasParam("ActivationPhases")) { diff --git a/src/main/java/forge/card/abilityfactory/ai/PumpAiBase.java b/src/main/java/forge/card/abilityfactory/ai/PumpAiBase.java index afb9ba249da..58fdcede7ee 100644 --- a/src/main/java/forge/card/abilityfactory/ai/PumpAiBase.java +++ b/src/main/java/forge/card/abilityfactory/ai/PumpAiBase.java @@ -133,7 +133,7 @@ public abstract class PumpAiBase extends SpellAiLogic { if (card.getShield() > 0) { return true; } - if (card.hasKeyword("If CARDNAME would be destroyed, regenerate it.") + if (card.hasKeyword("If CARDNAME would be destroyed, regenerate it.") && (card.isBlocked() || card.isBlocking())) { return true; } diff --git a/src/main/java/forge/card/abilityfactory/effects/ChangeZoneEffect.java b/src/main/java/forge/card/abilityfactory/effects/ChangeZoneEffect.java index 6fefcd128cd..2bb1fe36c7e 100644 --- a/src/main/java/forge/card/abilityfactory/effects/ChangeZoneEffect.java +++ b/src/main/java/forge/card/abilityfactory/effects/ChangeZoneEffect.java @@ -419,7 +419,7 @@ public class ChangeZoneEffect extends SpellEffect { tgtC.clearUnEnchantCommand(); } tgtC.enchantEntity(attachedTo); - } else {//Equipment + } else { //Equipment if (tgtC.isEquipping()) { final Card oldEquiped = tgtC.getEquippingCard(); tgtC.removeEquipping(oldEquiped); @@ -689,7 +689,7 @@ public class ChangeZoneEffect extends SpellEffect { c.clearUnEnchantCommand(); } c.enchantEntity(attachedTo); - } else {//Equipment + } else { //Equipment if (c.isEquipping()) { final Card oldEquiped = c.getEquippingCard(); c.removeEquipping(oldEquiped); diff --git a/src/main/java/forge/card/abilityfactory/effects/DiscardEffect.java b/src/main/java/forge/card/abilityfactory/effects/DiscardEffect.java index 466417118e8..208970c4de5 100644 --- a/src/main/java/forge/card/abilityfactory/effects/DiscardEffect.java +++ b/src/main/java/forge/card/abilityfactory/effects/DiscardEffect.java @@ -52,8 +52,8 @@ public class DiscardEffect extends RevealEffectBase { sb.append("All"); } else if (sa.hasParam("AnyNumber")) { sb.append("any number"); - } else if (sa.hasParam("NumCards") && sa.getParam("NumCards").equals("X") && - sa.getSVar("X").equals("Remembered$Amount")) { + } else if (sa.hasParam("NumCards") && sa.getParam("NumCards").equals("X") + && sa.getSVar("X").equals("Remembered$Amount")) { sb.append("that many"); } else { sb.append(numCards); diff --git a/src/main/java/forge/card/cost/Cost.java b/src/main/java/forge/card/cost/Cost.java index 8c732057d55..0035b1cf00f 100644 --- a/src/main/java/forge/card/cost/Cost.java +++ b/src/main/java/forge/card/cost/Cost.java @@ -322,7 +322,7 @@ public class Cost { final String description = splitStr.length > 2 ? splitStr[2] : null; this.costParts.add(new CostExile(splitStr[0], splitStr[1], description, ZoneType.Library)); } - + while (parse.contains(Cost.EXILE_SAME_GRAVE_STR)) { final String[] splitStr = this.abCostParse(parse, Cost.EXILE_SAME_GRAVE_STR, 3); parse = this.abUpdateParse(parse, Cost.EXILE_SAME_GRAVE_STR); diff --git a/src/main/java/forge/card/cost/CostExile.java b/src/main/java/forge/card/cost/CostExile.java index 0b11cb69631..5f2286c2ff3 100644 --- a/src/main/java/forge/card/cost/CostExile.java +++ b/src/main/java/forge/card/cost/CostExile.java @@ -81,7 +81,7 @@ public class CostExile extends CostPartWithList { this.from = from; } } - + public CostExile(final String amount, final String type, final String description, final ZoneType from, final boolean sameZone) { this(amount, type, description, from); this.sameZone = sameZone; @@ -131,13 +131,13 @@ public class CostExile extends CostPartWithList { if ((i == null) || (i > 1)) { sb.append("s"); } - + if (this.sameZone) { sb.append(" from the same "); } else { sb.append(" from your "); } - + sb.append(this.from); return sb.toString(); @@ -186,11 +186,11 @@ public class CostExile extends CostPartWithList { if ((amount != null) && (typeList.size() < amount)) { return false; } - + if (this.sameZone && amount != null) { boolean foundPayable = false; List players = game.getPlayers(); - for(Player p : players) { + for (Player p : players) { if (CardLists.filter(typeList, CardPredicates.isController(p)).size() >= amount) { foundPayable = true; break; @@ -243,13 +243,13 @@ public class CostExile extends CostPartWithList { final GameState game = Singletons.getModel().getGame(); final Player activator = ability.getActivatingPlayer(); List list; - + if (this.sameZone) { list = new ArrayList(game.getCardsIn(this.getFrom())); } else { list = new ArrayList(activator.getCardsIn(this.getFrom())); } - + if (this.getType().equals("All")) { this.setList(list); for (final Card card : list) { @@ -283,7 +283,7 @@ public class CostExile extends CostPartWithList { } else if (this.sameZone) { List players = game.getPlayers(); List payableZone = new ArrayList(); - for(Player p : players) { + for (Player p : players) { List enoughType = CardLists.filter(list, CardPredicates.isOwner(p)); if (enoughType.size() < c) { list.removeAll(enoughType); @@ -291,7 +291,7 @@ public class CostExile extends CostPartWithList { payableZone.add(p); } } - + final Input inp = CostExile.exileFromSame(ability, this, this.getType(), payment, list, payableZone, c); Singletons.getModel().getMatch().getInput().setInputInterrupt(inp); } else { @@ -335,7 +335,7 @@ public class CostExile extends CostPartWithList { this.setList(ai.getCardsIn(ZoneType.Library, c)); } else if (this.sameZone) { // TODO Determine exile from same zone for AI - return false; + return false; } else { this.setList(ComputerUtil.chooseExileFrom(ai, this.getFrom(), this.getType(), source, ability.getTargetCard(), c)); @@ -490,12 +490,12 @@ public class CostExile extends CostPartWithList { sb.append("Exile from whose "); sb.append(part.getFrom().toString()); sb.append("?"); - + final Player p = GuiChoose.oneOrNone(sb.toString(), payableZone); if (p == null) { this.cancel(); } - + typeList = CardLists.filter(list, CardPredicates.isOwner(p)); for (int i = 0; i < nNeeded; i++) { @@ -537,8 +537,8 @@ public class CostExile extends CostPartWithList { }; return target; } // exileFrom() - - + + /** * Exile from Stack. * diff --git a/src/main/java/forge/card/mana/ManaPool.java b/src/main/java/forge/card/mana/ManaPool.java index cec367bc154..0dc6156e760 100644 --- a/src/main/java/forge/card/mana/ManaPool.java +++ b/src/main/java/forge/card/mana/ManaPool.java @@ -190,7 +190,7 @@ public class ManaPool { return numRemoved; } - if (isEndOfPhase && this.owner.hasKeyword("Green mana doesn't empty from your mana pool as steps and phases end.")){ + if (isEndOfPhase && this.owner.hasKeyword("Green mana doesn't empty from your mana pool as steps and phases end.")) { // Omnath in play, clear all non-green mana int i = 0; while (i < this.floatingMana.size()) { diff --git a/src/main/java/forge/card/spellability/SpellPermanent.java b/src/main/java/forge/card/spellability/SpellPermanent.java index 09017eb1642..84f455821a6 100644 --- a/src/main/java/forge/card/spellability/SpellPermanent.java +++ b/src/main/java/forge/card/spellability/SpellPermanent.java @@ -482,8 +482,8 @@ public class SpellPermanent extends Spell { } final SpellAbility exSA = af.getAbility(card.getSVar(execute), card); - if (api != null) { - if(exSA.getApi() != api) { + if (api != null) { + if (exSA.getApi() != api) { continue; } else { rightapi = true; diff --git a/src/main/java/forge/card/trigger/TriggerHandler.java b/src/main/java/forge/card/trigger/TriggerHandler.java index 011c207dff5..453bc17a447 100644 --- a/src/main/java/forge/card/trigger/TriggerHandler.java +++ b/src/main/java/forge/card/trigger/TriggerHandler.java @@ -267,9 +267,9 @@ public class TriggerHandler { if (this.suppressedModes.contains(mode)) { return; } - + final GameState game = Singletons.getModel().getGame(); - + runWaitingTrigger(new TriggerWaiting(mode, runParams)); /* Temporarily commented out while timing kinks with some other cards are worked out if (game.getStack().isFrozen()) { @@ -277,10 +277,10 @@ public class TriggerHandler { } else { runWaitingTrigger(new TriggerWaiting(mode, runParams)); } - + */ } - + public final boolean runWaitingTriggers() { ArrayList waiting = new ArrayList(waitingTriggers); waitingTriggers.clear(); @@ -288,10 +288,10 @@ public class TriggerHandler { for (TriggerWaiting wt : waiting) { runWaitingTrigger(wt); } - + return haveWaiting; } - + public final void runWaitingTrigger(TriggerWaiting wt) { final TriggerType mode = wt.getMode(); final Map runParams = wt.getParams(); diff --git a/src/main/java/forge/card/trigger/TriggerWaiting.java b/src/main/java/forge/card/trigger/TriggerWaiting.java index c3613fd9579..12c09494ba7 100644 --- a/src/main/java/forge/card/trigger/TriggerWaiting.java +++ b/src/main/java/forge/card/trigger/TriggerWaiting.java @@ -3,21 +3,21 @@ package forge.card.trigger; import java.util.Map; /** - * TriggerWaiting is just a small object to keep track of things that occurred that need to be run + * TriggerWaiting is just a small object to keep track of things that occurred that need to be run. */ public class TriggerWaiting { private TriggerType mode; private Map params; - + public TriggerWaiting(TriggerType m, Map p) { mode = m; params = p; } - + public TriggerType getMode() { return mode; } - + public Map getParams() { return params; } diff --git a/src/main/java/forge/control/input/InputMulligan.java b/src/main/java/forge/control/input/InputMulligan.java index 86c8b09bce0..d4f6d704687 100644 --- a/src/main/java/forge/control/input/InputMulligan.java +++ b/src/main/java/forge/control/input/InputMulligan.java @@ -176,12 +176,12 @@ public class InputMulligan extends Input { ga.checkStateEffects(); Singletons.getModel().getMatch().getInput().clearInput(); - + //Set Field shown to current player. Player next = game.getPhaseHandler().getPlayerTurn(); VField nextField = CMatchUI.SINGLETON_INSTANCE.getFieldViewFor(next); SDisplayUtil.showTab(nextField); - + game.getPhaseHandler().nextPhase(); } diff --git a/src/main/java/forge/deck/Deck.java b/src/main/java/forge/deck/Deck.java index d0e879b92bc..0c889239f7f 100644 --- a/src/main/java/forge/deck/Deck.java +++ b/src/main/java/forge/deck/Deck.java @@ -162,11 +162,12 @@ public class Deck extends DeckBase { result.sideboard.addAll(this.sideboard); result.avatar = this.avatar; result.commander = this.commander; - + //This if clause is really only necessary when cloning decks that were //around before schemes. - if(this.schemes != null) + if (this.schemes != null) { result.schemes.addAll(this.schemes); + } } /* @@ -369,7 +370,7 @@ public class Deck extends DeckBase { public boolean meetsGameTypeRequirements(GameType type) { return meetsGameTypeRequirements(type, true); } - + public boolean meetsGameTypeRequirements(GameType type, boolean silent) { int deckSize = getMain().countAll(); int deckDistinct = getMain().countDistinct(); @@ -380,12 +381,12 @@ public class Deck extends DeckBase { StringBuilder errMsg = new StringBuilder("Current deck doesn't meet the requirements (minimum "); errMsg.append(type.getDeckMinimum()); errMsg.append(" cards), please correct or choose another deck."); - + JOptionPane.showMessageDialog(null, errMsg.toString(), "Invalid deck", JOptionPane.ERROR_MESSAGE); } return false; } - + if ((max != null && deckSize > max) || (type.isSingleton() && deckDistinct != deckSize)) { return false; } @@ -437,12 +438,12 @@ public class Deck extends DeckBase { } } } - else if (type == GameType.Constructed || type == GameType.Quest) { + else if (type == GameType.Constructed || type == GameType.Quest) { //Must contain no more than 4 of the same card //shared among the main deck and sideboard, except //basic lands and Relentless Rats TreeMap cardCounts = new TreeMap(); - + DeckSection tmp = new DeckSection(this.getMain()); tmp.addAll(this.getSideboard()); @@ -456,7 +457,7 @@ public class Deck extends DeckBase { StringBuilder errMsg = new StringBuilder("More than four \""); errMsg.append(cp.getName()); errMsg.append("\" cards are placed in your deck, please correct or choose another deck."); - + JOptionPane.showMessageDialog(null, errMsg.toString(), "Invalid deck", JOptionPane.ERROR_MESSAGE); } return false; @@ -471,7 +472,7 @@ public class Deck extends DeckBase { } return false; } - + } return true; @@ -525,7 +526,7 @@ public class Deck extends DeckBase { sideboardEdited = new DeckSection(); } } - + public void startDeckEdits() { isEdited = true; if (mainEdited.countAll() == 0) { diff --git a/src/main/java/forge/deck/DeckgenUtil.java b/src/main/java/forge/deck/DeckgenUtil.java index c24cdc26816..c94779e0946 100644 --- a/src/main/java/forge/deck/DeckgenUtil.java +++ b/src/main/java/forge/deck/DeckgenUtil.java @@ -248,11 +248,13 @@ public class DeckgenUtil { final String dName = deck.getName(); deckList.append(dName == null ? "" : dName + nl + nl); - - if(deck.getAvatar() != null) + + if (deck.getAvatar() != null) { deckList.append("Avatar: " + deck.getAvatar().getName() + nl + nl); - if(deck.getCommander() != null) + } + if (deck.getCommander() != null) { deckList.append("Commander: " + deck.getCommander().getName() + nl + nl); + } for (final Entry ev : deckMap.entrySet()) { deckList.append(ev.getValue() + " x " + ev.getKey() + nl); @@ -307,32 +309,31 @@ public class DeckgenUtil { } return result; } - + public static Deck generateSchemeDeck() { Deck res = new Deck(); - - Iterable allSchemes = Iterables.filter(CardDb.instance().getAllNonTraditionalCards(),CardPrinted.Predicates.type("Scheme")); - - for(int i=0;i<20;i++) { + + Iterable allSchemes = Iterables.filter(CardDb.instance().getAllNonTraditionalCards(), CardPrinted.Predicates.type("Scheme")); + + for (int i = 0; i < 20; i++) { CardPrinted cp = Iterables.get(allSchemes, MyRandom.getRandom().nextInt(Iterables.size(allSchemes))); int appearances = 0; - for(CardPrinted added : res.getSchemes().toFlatList()) { - if(added.getName().equals(cp.getName())) - { + for (CardPrinted added : res.getSchemes().toFlatList()) { + if (added.getName().equals(cp.getName())) { + appearances++; } } - - if(appearances < 2) - { + + if (appearances < 2) { + res.getSchemes().add(cp); - } - else - { + } else { + i--; } } - + return res; } } diff --git a/src/main/java/forge/game/GameNew.java b/src/main/java/forge/game/GameNew.java index a35fc2248b2..41ad7f74cf1 100644 --- a/src/main/java/forge/game/GameNew.java +++ b/src/main/java/forge/game/GameNew.java @@ -47,8 +47,8 @@ import forge.util.MyRandom; * All of these methods can and should be static. */ public class GameNew { - private static void prepareGameLibrary(Player player, Deck deck, Map> removedAnteCards, List rAICards, boolean canRandomFoil, Random generator, boolean useAnte) { - + private static void prepareGameLibrary(Player player, Deck deck, Map> removedAnteCards, List rAICards, boolean canRandomFoil, Random generator, boolean useAnte) { + PlayerZone library = player.getZone(ZoneType.Library); PlayerZone sideboard = player.getZone(ZoneType.Sideboard); for (final Entry stackOfCards : deck.getMain()) { @@ -119,14 +119,14 @@ public class GameNew { sideboard.add(card); } - // TODO: Enable the code below for Limited modes only when the AI can play all the + // TODO: Enable the code below for Limited modes only when the AI can play all the // cards in the sideboard (probably means all cards in Forge because in Limited mode, // any cards can end up in the AI sideboard?) - + // mark card as difficult for AI to play if (player.isComputer() && card.getSVar("RemAIDeck").equals("True") && !rAICards.contains(card.getName())) { - if (Singletons.getModel().getMatch().getGameType() != GameType.Draft && - Singletons.getModel().getMatch().getGameType() != GameType.Sealed) { + if (Singletons.getModel().getMatch().getGameType() != GameType.Draft + && Singletons.getModel().getMatch().getGameType() != GameType.Sealed) { rAICards.add(card.getName()); // get card picture so that it is in the image cache // ImageCache.getImage(card); @@ -162,15 +162,15 @@ public class GameNew { private static boolean sideboardAndPrepareLibrary(final Player player, final Deck deck, boolean canRandomFoil, Random generator, boolean useAnte) { final GameType gameType = Singletons.getModel().getMatch().getGameType(); boolean hasSideboard = (deck.getSideboard().countAll() > 0); - + PlayerZone library = player.getZone(ZoneType.Library); DeckSection sideboard = deck.getSideboard(); int sideboardSize = (gameType == GameType.Draft || gameType == GameType.Sealed) ? -1 : sideboard.countAll(); - + if (!hasSideboard) { return false; } - + if (player.isComputer()) { // Here is where the AI could sideboard, but needs to gather hints during the first game about what to SB @@ -193,7 +193,7 @@ public class GameNew { JOptionPane.showMessageDialog(null, errMsg.toString(), "Invalid deck", JOptionPane.ERROR_MESSAGE); } } - + } return true; } @@ -243,17 +243,17 @@ public class GameNew { if (inCommand != null) { for (final Card c : inCommand) { c.setOwner(player); - + com.add(c, false); c.refreshUniqueNumber(); } } - + Iterable schemes = p.getValue().getSchemes(); - if(schemes != null) { + if (schemes != null) { player.setSchemeDeck(schemes); } - + prepareSingleLibrary(player, p.getValue().getDeck(), removedAnteCards, rAICards, canRandomFoil); player.updateObservers(); diff --git a/src/main/java/forge/game/MatchStartHelper.java b/src/main/java/forge/game/MatchStartHelper.java index 0bb50d49414..34d01e0c8a5 100644 --- a/src/main/java/forge/game/MatchStartHelper.java +++ b/src/main/java/forge/game/MatchStartHelper.java @@ -49,25 +49,25 @@ public class MatchStartHelper { players.put(player, start); } - + public void addArchenemy(final LobbyPlayer player, final Deck deck, final Iterable schemes) { PlayerStartConditions start = new PlayerStartConditions(deck); - + start.setSchemes(new Supplier>() { @Override public Iterable get() { List res = new ArrayList(); - for(CardPrinted cp : schemes) - { + for (CardPrinted cp : schemes) { + res.add(cp.toForgeCard()); } - + return res; } - + }); - + players.put(player, start); } diff --git a/src/main/java/forge/game/phase/PhaseHandler.java b/src/main/java/forge/game/phase/PhaseHandler.java index 7182bcf4000..06c940f8677 100644 --- a/src/main/java/forge/game/phase/PhaseHandler.java +++ b/src/main/java/forge/game/phase/PhaseHandler.java @@ -270,10 +270,11 @@ public class PhaseHandler extends MyObservable implements java.io.Serializable { this.getPlayerTurn().drawCards(1, true); } break; - + case MAIN1: - if(this.getPlayerTurn().isArchenemy()) + if (this.getPlayerTurn().isArchenemy()) { this.getPlayerTurn().setSchemeInMotion(); + } break; case COMBAT_BEGIN: @@ -540,7 +541,7 @@ public class PhaseHandler extends MyObservable implements java.io.Serializable { Player next = getNextActivePlayer(); VField nextField = CMatchUI.SINGLETON_INSTANCE.getFieldViewFor(next); SDisplayUtil.showTab(nextField); - + return next; } @@ -717,32 +718,32 @@ public class PhaseHandler extends MyObservable implements java.io.Serializable { if (game.isGameOver()) { return; } - - //904.10. If a non-ongoing scheme card is face up in the - //command zone, and it isn't the source of a triggered ability - //that has triggered but not yet left the stack, that scheme card - //is turned face down and put on the bottom of its owner's scheme - //deck the next time a player would receive priority. + + //904.10. If a non-ongoing scheme card is face up in the + //command zone, and it isn't the source of a triggered ability + //that has triggered but not yet left the stack, that scheme card + //is turned face down and put on the bottom of its owner's scheme + //deck the next time a player would receive priority. //(This is a state-based action. See rule 704.) - for (int i=0; i 0) { final Card target = GuiChoose.one("Select a card to sacrifice", playerLand); - + Singletons.getModel().getGame().getAction().sacrifice(target, null); } } else {