From b8b4f58805a7edb8c87ac4fecc2392f30c9f031b Mon Sep 17 00:00:00 2001 From: slapshot5 Date: Sat, 3 Sep 2011 09:22:29 +0000 Subject: [PATCH] many Checkstyle fixes --- src/main/java/forge/BoosterDraft.java | 14 +- src/main/java/forge/BoosterDraft_1.java | 135 ++-- src/main/java/forge/BoosterGenerator.java | 53 +- src/main/java/forge/CardUtil.java | 2 +- src/main/java/forge/GameAction.java | 4 +- src/main/java/forge/Quest_Assignment.java | 98 +-- src/main/java/forge/SealedDeck.java | 2 +- src/main/java/forge/SetInfo.java | 19 +- src/main/java/forge/SetInfoUtil.java | 135 ++-- src/main/java/forge/SimpleCombat.java | 33 +- src/main/java/forge/Time.java | 6 +- src/main/java/forge/UndoCommand.java | 4 +- src/main/java/forge/ZCTrigger.java | 16 +- .../card/abilityFactory/AbilityFactory.java | 632 ++++++++++-------- .../abilityFactory/AbilityFactory_Choose.java | 9 +- 15 files changed, 694 insertions(+), 468 deletions(-) diff --git a/src/main/java/forge/BoosterDraft.java b/src/main/java/forge/BoosterDraft.java index dad2959a21e..de62153196e 100644 --- a/src/main/java/forge/BoosterDraft.java +++ b/src/main/java/forge/BoosterDraft.java @@ -18,36 +18,36 @@ public interface BoosterDraft { * * @return a {@link forge.CardList} object. */ - public CardPoolView nextChoice(); + CardPoolView nextChoice(); /** *

setChoice.

* * @param c a {@link forge.Card} object. */ - public void setChoice(CardPrinted c); + void setChoice(CardPrinted c); /** *

hasNextChoice.

* * @return a boolean. */ - public boolean hasNextChoice(); + boolean hasNextChoice(); /** *

getDecks.

* * @return an array of {@link forge.deck.Deck} objects. */ - public Deck[] getDecks(); //size 7, all the computers decks + Deck[] getDecks(); //size 7, all the computers decks - /** Constant LandSetCode="{}" */ + /** Constant LandSetCode="{}". */ public String LandSetCode[] = {""}; - /** Constant draftFormat="{}" */ + /** Constant draftFormat="{}". */ public String draftFormat[] = {""}; - /** Constant draftPicks="{}" */ + /** Constant draftPicks="{}". */ public Map draftPicks = new TreeMap(); } diff --git a/src/main/java/forge/BoosterDraft_1.java b/src/main/java/forge/BoosterDraft_1.java index e97a7790154..82f586958d5 100644 --- a/src/main/java/forge/BoosterDraft_1.java +++ b/src/main/java/forge/BoosterDraft_1.java @@ -6,11 +6,17 @@ import forge.card.CardPrinted; import forge.deck.Deck; import forge.gui.GuiUtils; -import javax.swing.*; import java.io.File; import java.util.ArrayList; import java.util.List; +import javax.swing.JOptionPane; + +/** + * + * TODO Write javadoc for this type. + * + */ public class BoosterDraft_1 implements BoosterDraft { private final BoosterDraftAI draftAI = new BoosterDraftAI(); private static final int nPlayers = 8; @@ -18,7 +24,7 @@ public class BoosterDraft_1 implements BoosterDraft { private static int stopCount = 45; //boosterPackSize * 3;//should total of 45 private int currentCount = 0; - private List> pack;//size 8 + private List> pack; //size 8 //private BoosterGenerator packs[] = {new BoosterGenerator(), new BoosterGenerator(), new BoosterGenerator()}; private ArrayList packs = new ArrayList(); private int packNum = 0; @@ -26,7 +32,7 @@ public class BoosterDraft_1 implements BoosterDraft { //helps the computer choose which booster packs to pick from //the first row says "pick from boosters 1-7, skip 0" since the players picks from 0 //the second row says "pick from 0 and 2-7 boosters, skip 1" - player chooses from 1 - private final int computerChoose[][] = { + private final int[][] computerChoose = { {1, 2, 3, 4, 5, 6, 7}, {0, 2, 3, 4, 5, 6, 7}, {0, 1, 3, 4, 5, 6, 7}, @@ -37,6 +43,10 @@ public class BoosterDraft_1 implements BoosterDraft { {0, 1, 2, 3, 4, 5, 6} }; + /** + * + * TODO Write javadoc for Constructor. + */ BoosterDraft_1() { pack = get8BoosterPack(); } @@ -52,19 +62,21 @@ public class BoosterDraft_1 implements BoosterDraft { if (draftType.equals("Full")) { // Draft from all cards in Forge BoosterGenerator bpFull = new BoosterGenerator(); - for (int i = 0; i < 3; i++) + for (int i = 0; i < 3; i++) { packs.add(bpFull); + } LandSetCode[0] = AllZone.getCardFactory().getCard("Plains", AllZone.getHumanPlayer()).getMostRecentSet(); } else if (draftType.equals("Block")) { // Draft from cards by block or set ArrayList bNames = SetInfoUtil.getBlockNameList(); ArrayList rbNames = new ArrayList(); - for (int i = bNames.size() - 1; i >= 0; i--) + for (int i = bNames.size() - 1; i >= 0; i--) { rbNames.add(bNames.get(i)); + } Object o = GuiUtils.getChoice("Choose Block", rbNames.toArray()); - ArrayList blockSets = SetInfoUtil.getSets_BlockName(o.toString()); + ArrayList blockSets = SetInfoUtil.getSetsBlockName(o.toString()); int nPacks = SetInfoUtil.getDraftPackCount(o.toString()); ArrayList setCombos = new ArrayList(); @@ -100,7 +112,7 @@ public class BoosterDraft_1 implements BoosterDraft { Object p = GuiUtils.getChoice("Choose Set Combination", setCombos.toArray()); - String pp[] = p.toString().split("/"); + String[] pp = p.toString().split("/"); int n = 0; for (int i = 0; i < nPacks; i++) { BoosterGenerator bpMulti = new BoosterGenerator(pp[i]); @@ -112,17 +124,19 @@ public class BoosterDraft_1 implements BoosterDraft { LandSetCode[0] = SetInfoUtil.getLandCode(o.toString()); } else if (draftType.equals("Custom")) { // Draft from user-defined cardpools - String dList[]; + String[] dList; ArrayList customs = new ArrayList(); ArrayList customList = new ArrayList(); // get list of custom draft files File dFolder = new File("res/draft/"); - if (!dFolder.exists()) + if (!dFolder.exists()) { throw new RuntimeException("BoosterDraft : folder not found -- folder is " + dFolder.getAbsolutePath()); + } - if (!dFolder.isDirectory()) + if (!dFolder.isDirectory()) { throw new RuntimeException("BoosterDraft : not a folder -- " + dFolder.getAbsolutePath()); + } dList = dFolder.list(); @@ -136,31 +150,43 @@ public class BoosterDraft_1 implements BoosterDraft { String dfd = dfData.get(j); - if (dfd.startsWith("Name:")) + if (dfd.startsWith("Name:")) { cd.Name = dfd.substring(5); - if (dfd.startsWith("Type:")) + } + if (dfd.startsWith("Type:")) { cd.Type = dfd.substring(5); - if (dfd.startsWith("DeckFile:")) + } + if (dfd.startsWith("DeckFile:")) { cd.DeckFile = dfd.substring(9); - if (dfd.startsWith("IgnoreRarity:")) + } + if (dfd.startsWith("IgnoreRarity:")) { cd.IgnoreRarity = dfd.substring(13).equals("True"); - if (dfd.startsWith("LandSetCode:")) + } + if (dfd.startsWith("LandSetCode:")) { cd.LandSetCode = dfd.substring(12); + } - if (dfd.startsWith("NumCards:")) + if (dfd.startsWith("NumCards:")) { cd.NumCards = Integer.parseInt(dfd.substring(9)); - if (dfd.startsWith("NumSpecials:")) + } + if (dfd.startsWith("NumSpecials:")) { cd.NumSpecials = Integer.parseInt(dfd.substring(12)); - if (dfd.startsWith("NumMythics:")) + } + if (dfd.startsWith("NumMythics:")) { cd.NumMythics = Integer.parseInt(dfd.substring(11)); - if (dfd.startsWith("NumRares:")) + } + if (dfd.startsWith("NumRares:")) { cd.NumRares = Integer.parseInt(dfd.substring(9)); - if (dfd.startsWith("NumUncommons:")) + } + if (dfd.startsWith("NumUncommons:")) { cd.NumUncommons = Integer.parseInt(dfd.substring(13)); - if (dfd.startsWith("NumCommons:")) + } + if (dfd.startsWith("NumCommons:")) { cd.NumCommons = Integer.parseInt(dfd.substring(11)); - if (dfd.startsWith("NumPacks:")) + } + if (dfd.startsWith("NumPacks:")) { cd.NumPacks = Integer.parseInt(dfd.substring(9)); + } } @@ -173,23 +199,26 @@ public class BoosterDraft_1 implements BoosterDraft { CustomDraft chosenDraft = null; // present list to user - if (customs.size() < 1) + if (customs.size() < 1) { JOptionPane.showMessageDialog(null, "No custom draft files found.", "", JOptionPane.INFORMATION_MESSAGE); - - else { + } else { Object p = GuiUtils.getChoice("Choose Custom Draft", customList.toArray()); for (int i = 0; i < customs.size(); i++) { CustomDraft cd = customs.get(i); - if (cd.Name.equals(p.toString())) + if (cd.Name.equals(p.toString())) { chosenDraft = cd; + } } - if (chosenDraft.IgnoreRarity) + if (chosenDraft.IgnoreRarity) { chosenDraft.NumCommons = chosenDraft.NumCards; + } - BoosterGenerator bpCustom = new BoosterGenerator(chosenDraft.DeckFile, chosenDraft.NumCommons, chosenDraft.NumUncommons, chosenDraft.NumRares, chosenDraft.NumMythics, chosenDraft.NumSpecials, chosenDraft.IgnoreRarity); + BoosterGenerator bpCustom = new BoosterGenerator(chosenDraft.DeckFile, chosenDraft.NumCommons, + chosenDraft.NumUncommons, chosenDraft.NumRares, chosenDraft.NumMythics, chosenDraft.NumSpecials, + chosenDraft.IgnoreRarity); int n = 0; for (int i = 0; i < chosenDraft.NumPacks; i++) { packs.add(bpCustom); @@ -210,9 +239,10 @@ public class BoosterDraft_1 implements BoosterDraft { * * @return a {@link forge.CardList} object. */ - public CardPoolView nextChoice() { - if (pack.get(getCurrentBoosterIndex()).size() == 0) + public final CardPoolView nextChoice() { + if (pack.get(getCurrentBoosterIndex()).size() == 0) { pack = get8BoosterPack(); + } computerChoose(); return new CardPool(pack.get(getCurrentBoosterIndex())); @@ -223,18 +253,19 @@ public class BoosterDraft_1 implements BoosterDraft { * * @return an array of {@link forge.CardList} objects. */ - public List> get8BoosterPack() { + public final List> get8BoosterPack() { List> list = new ArrayList>(); if (packNum < packs.size()) { - for (int i = 0; i < 8; i++) + for (int i = 0; i < 8; i++) { list.add(packs.get(packNum).getBoosterPack()); + } } packNum++; return list; - }//get8BoosterPack() + } //get8BoosterPack() //size 7, all the computers decks @@ -243,12 +274,12 @@ public class BoosterDraft_1 implements BoosterDraft { * * @return an array of {@link forge.deck.Deck} objects. */ - public Deck[] getDecks() { + public final Deck[] getDecks() { return draftAI.getDecks(); } private void computerChoose() { - int row[] = computerChoose[getCurrentBoosterIndex()]; + int[] row = computerChoose[getCurrentBoosterIndex()]; for (int i = 0; i < row.length; i++) { CardList forAi = new CardList(); @@ -256,11 +287,11 @@ public class BoosterDraft_1 implements BoosterDraft { for (CardPrinted cr : booster) { forAi.add(cr.toForgeCard()); } - // TODO: Please write this drafting code to work without heavy cards + // TODO Please write this drafting code to work without heavy cards Card aiPick = draftAI.choose(forAi, i); String pickedName = aiPick.getName(); - for (int pick = booster.size()-1; pick >= 0; pick--) { + for (int pick = booster.size() - 1; pick >= 0; pick--) { CardPrinted cp = booster.get(pick); if (cp.getName().equalsIgnoreCase(pickedName)) { booster.remove(pick); @@ -268,7 +299,7 @@ public class BoosterDraft_1 implements BoosterDraft { } } } - }//computerChoose() + } //computerChoose() private int getCurrentBoosterIndex() { return currentCount % nPlayers; @@ -279,39 +310,41 @@ public class BoosterDraft_1 implements BoosterDraft { * * @return a boolean. */ - public boolean hasNextChoice() { + public final boolean hasNextChoice() { return currentCount < stopCount; } /** {@inheritDoc} */ - public void setChoice(CardPrinted c) { + public final void setChoice(final CardPrinted c) { List thisBooster = pack.get(getCurrentBoosterIndex()); - if (!thisBooster.contains(c)) + if (!thisBooster.contains(c)) { throw new RuntimeException("BoosterDraft : setChoice() error - card not found - " + c + " - booster pack = " + thisBooster); + } if (Constant.Runtime.UpldDrft[0]) { for (int i = 0; i < thisBooster.size(); i++) { CardPrinted cc = thisBooster.get(i); - String CnBk = cc.getName() + "|" + cc.getSet(); + String cnBk = cc.getName() + "|" + cc.getSet(); float pickValue = 0; - if (cc.equals(c)) + if (cc.equals(c)) { pickValue = thisBooster.size() * (1f - ((float) currentCount) / stopCount) * 2f; - else - pickValue = 0; - - if (!draftPicks.containsKey(CnBk)) { - draftPicks.put(CnBk, pickValue); } else { - float curValue = draftPicks.get(CnBk); + pickValue = 0; + } + + if (!draftPicks.containsKey(cnBk)) { + draftPicks.put(cnBk, pickValue); + } else { + float curValue = draftPicks.get(cnBk); float newValue = (curValue + pickValue) / 2; - draftPicks.put(CnBk, newValue); + draftPicks.put(cnBk, newValue); } } } thisBooster.remove(c); currentCount++; - }//setChoice() + } //setChoice() } diff --git a/src/main/java/forge/BoosterGenerator.java b/src/main/java/forge/BoosterGenerator.java index d6a926b79e4..17244a2d1a6 100644 --- a/src/main/java/forge/BoosterGenerator.java +++ b/src/main/java/forge/BoosterGenerator.java @@ -51,7 +51,6 @@ public class BoosterGenerator { numMythics = 0; numSpecials = 0; - for (CardPrinted c : CardDb.instance().getAllUniqueCards()) { addToRarity(c); } @@ -59,7 +58,20 @@ public class BoosterGenerator { shuffleAll(); } - public BoosterGenerator(String DeckFile, int nCommons, int nUncommons, int nRares, int nMythics, int nSpecials, boolean ignoreRarity) { + /** + * + * TODO Write javadoc for Constructor. + * @param deckFile a String + * @param nCommons an int + * @param nUncommons an int + * @param nRares an int + * @param nMythics an int + * @param nSpecials an int + * @param ignoreRarity a boolean + */ + public BoosterGenerator(final String deckFile, final int nCommons, final int nUncommons, final int nRares, + final int nMythics, final int nSpecials, final boolean ignoreRarity) + { numCommons = nCommons; numUncommons = nUncommons; numRares = nRares; @@ -68,9 +80,10 @@ public class BoosterGenerator { //DeckManager dio = new DeckManager(ForgeProps.getFile(NewConstants.NEW_DECKS)); DeckManager dio = AllZone.getDeckManager(); - Deck dPool = dio.getDeck(DeckFile); - if (dPool == null) - throw new RuntimeException("BoosterGenerator : deck not found - " + DeckFile); + Deck dPool = dio.getDeck(deckFile); + if (dPool == null) { + throw new RuntimeException("BoosterGenerator : deck not found - " + deckFile); + } CardPoolView tList = dPool.getMain(); for (Entry e : tList) { @@ -84,7 +97,7 @@ public class BoosterGenerator { /** *

Constructor for BoosterGenerator.

* - * @param SetCode a {@link java.lang.String} object. + * @param setCode a {@link java.lang.String} object. */ public BoosterGenerator(final String setCode) { numCommons = 0; @@ -93,7 +106,7 @@ public class BoosterGenerator { numMythics = 0; numSpecials = 0; - List setsList = Arrays.asList(new String[]{ setCode }); + List setsList = Arrays.asList(new String[]{setCode}); Predicate filter = CardPrinted.Predicates.printedInSets(setsList, true); List cardsInThisSet = filter.select(CardDb.instance().getAllCards()); @@ -155,15 +168,16 @@ public class BoosterGenerator { * * @return a {@link forge.CardList} object. */ - public List getBoosterPack() { + public final List getBoosterPack() { List temp = new ArrayList(); int i = 0; if (commons.size() > numCommons) { for (i = 0; i < numCommons; i++) { - if (iCommons >= commons.size()) + if (iCommons >= commons.size()) { iCommons = 0; + } temp.add(commons.get(iCommons++)); } @@ -171,8 +185,9 @@ public class BoosterGenerator { if (uncommons.size() > numUncommons) { for (i = 0; i < numUncommons; i++) { - if (iUncommons >= uncommons.size()) + if (iUncommons >= uncommons.size()) { iUncommons = 0; + } temp.add(uncommons.get(iUncommons++)); } @@ -182,21 +197,24 @@ public class BoosterGenerator { if (numMythics > 0) { if (mythics.size() > numMythics) { if (MyRandom.random.nextInt(8) <= 1) { - if (iMythics >= mythics.size()) + if (iMythics >= mythics.size()) { iMythics = 0; + } temp.add(mythics.get(iMythics++)); } else { - if (iRares >= rares.size()) + if (iRares >= rares.size()) { iRares = 0; + } temp.add(rares.get(iRares++)); } } } else { if (rares.size() > numRares) { - if (iRares >= rares.size()) + if (iRares >= rares.size()) { iRares = 0; + } temp.add(rares.get(iRares++)); } @@ -205,8 +223,9 @@ public class BoosterGenerator { if (specials.size() > numSpecials) { for (i = 0; i < numSpecials; i++) { - if (iSpecials >= specials.size()) + if (iSpecials >= specials.size()) { iSpecials = 0; + } temp.add(specials.get(iSpecials++)); } @@ -220,11 +239,11 @@ public class BoosterGenerator { * * @return a int. */ - public int getBoosterPackSize() { + public final int getBoosterPackSize() { return numCommons + numUncommons + numRares + numSpecials; } - - private void addToRarity(CardPrinted c) { + + private void addToRarity(final CardPrinted c) { switch(c.getRarity()) { case Common: commons.add(c); break; case Uncommon: uncommons.add(c); break; diff --git a/src/main/java/forge/CardUtil.java b/src/main/java/forge/CardUtil.java index aef4b90cd3a..6789a3f4e71 100644 --- a/src/main/java/forge/CardUtil.java +++ b/src/main/java/forge/CardUtil.java @@ -661,7 +661,7 @@ public final class CardUtil { return res; } - + /** * getLKICopy. * @param c a Card. diff --git a/src/main/java/forge/GameAction.java b/src/main/java/forge/GameAction.java index 990cadf24b3..718bcf5e479 100644 --- a/src/main/java/forge/GameAction.java +++ b/src/main/java/forge/GameAction.java @@ -1068,7 +1068,7 @@ public class GameAction { card.setRandomSetCode(); if (!card.getCurSetCode().equals("")) { - int n = SetInfoUtil.getSetInfo_Code(card.getSets(), card.getCurSetCode()).PicCount; + int n = SetInfoUtil.getSetInfoCode(card.getSets(), card.getCurSetCode()).PicCount; if (n > 1) card.setRandomPicture(generator.nextInt(n - 1) + 1); @@ -1119,7 +1119,7 @@ public class GameAction { card.setRandomSetCode(); if (!card.getCurSetCode().equals("")) { - int n = SetInfoUtil.getSetInfo_Code(card.getSets(), card.getCurSetCode()).PicCount; + int n = SetInfoUtil.getSetInfoCode(card.getSets(), card.getCurSetCode()).PicCount; if (n > 1) card.setRandomPicture(generator.nextInt(n - 1) + 1); diff --git a/src/main/java/forge/Quest_Assignment.java b/src/main/java/forge/Quest_Assignment.java index 0757dd50d86..1b8f04e1c54 100644 --- a/src/main/java/forge/Quest_Assignment.java +++ b/src/main/java/forge/Quest_Assignment.java @@ -33,10 +33,10 @@ public class Quest_Assignment { /** *

Setter for the field id.

* - * @param id a int. + * @param idIn a int. */ - public void setId(int id) { - this.id = id; + public final void setId(final int idIn) { + this.id = idIn; } /** @@ -44,17 +44,17 @@ public class Quest_Assignment { * * @return a int. */ - public int getId() { + public final int getId() { return id; } /** *

Setter for the field creditsReward.

* - * @param creditsReward a long. + * @param creditsRewardIn a long. */ - public void setCreditsReward(long creditsReward) { - this.creditsReward = creditsReward; + public final void setCreditsReward(final long creditsRewardIn) { + this.creditsReward = creditsRewardIn; } /** @@ -62,17 +62,17 @@ public class Quest_Assignment { * * @return a long. */ - public long getCreditsReward() { + public final long getCreditsReward() { return creditsReward; } /** *

Setter for the field name.

* - * @param name a {@link java.lang.String} object. + * @param nameIn a {@link java.lang.String} object. */ - public void setName(String name) { - this.name = name; + public final void setName(final String nameIn) { + this.name = nameIn; } /** @@ -80,17 +80,17 @@ public class Quest_Assignment { * * @return a {@link java.lang.String} object. */ - public String getName() { + public final String getName() { return name; } /** *

Setter for the field desc.

* - * @param desc a {@link java.lang.String} object. + * @param descIn a {@link java.lang.String} object. */ - public void setDesc(String desc) { - this.desc = desc; + public final void setDesc(final String descIn) { + this.desc = descIn; } /** @@ -98,17 +98,17 @@ public class Quest_Assignment { * * @return a {@link java.lang.String} object. */ - public String getDesc() { + public final String getDesc() { return desc; } /** *

Setter for the field difficulty.

* - * @param difficulty a {@link java.lang.String} object. + * @param difficultyIn a {@link java.lang.String} object. */ - public void setDifficulty(String difficulty) { - this.difficulty = difficulty; + public final void setDifficulty(final String difficultyIn) { + this.difficulty = difficultyIn; } /** @@ -116,17 +116,17 @@ public class Quest_Assignment { * * @return a {@link java.lang.String} object. */ - public String getDifficulty() { + public final String getDifficulty() { return difficulty; } /** *

Setter for the field repeatable.

* - * @param repeatable a boolean. + * @param repeatableIn a boolean. */ - public void setRepeatable(boolean repeatable) { - this.repeatable = repeatable; + public final void setRepeatable(final boolean repeatableIn) { + this.repeatable = repeatableIn; } /** @@ -134,17 +134,17 @@ public class Quest_Assignment { * * @return a boolean. */ - public boolean isRepeatable() { + public final boolean isRepeatable() { return repeatable; } /** *

Setter for the field requiredNumberWins.

* - * @param requiredNumberWins a int. + * @param requiredNumberWinsIn a int. */ - public void setRequiredNumberWins(int requiredNumberWins) { - this.requiredNumberWins = requiredNumberWins; + public final void setRequiredNumberWins(final int requiredNumberWinsIn) { + this.requiredNumberWins = requiredNumberWinsIn; } /** @@ -152,17 +152,17 @@ public class Quest_Assignment { * * @return a int. */ - public int getRequiredNumberWins() { + public final int getRequiredNumberWins() { return requiredNumberWins; } /** *

Setter for the field computerLife.

* - * @param computerLife a int. + * @param computerLifeIn a int. */ - public void setComputerLife(int computerLife) { - this.computerLife = computerLife; + public final void setComputerLife(final int computerLifeIn) { + this.computerLife = computerLifeIn; } /** @@ -170,17 +170,17 @@ public class Quest_Assignment { * * @return a int. */ - public int getComputerLife() { + public final int getComputerLife() { return computerLife; } /** *

Setter for the field cardReward.

* - * @param cardReward a {@link java.lang.String} object. + * @param cardRewardIn a {@link java.lang.String} object. */ - public void setCardReward(String cardReward) { - this.cardReward = cardReward; + public final void setCardReward(final String cardRewardIn) { + this.cardReward = cardRewardIn; } /** @@ -188,7 +188,7 @@ public class Quest_Assignment { * * @return a {@link java.lang.String} object. */ - public String getCardReward() { + public final String getCardReward() { return cardReward; } @@ -197,7 +197,7 @@ public class Quest_Assignment { * * @param s a {@link java.lang.String} object. */ - public void setIconName(String s) { + public final void setIconName(final String s) { iconName = s; } @@ -206,17 +206,17 @@ public class Quest_Assignment { * * @return a {@link java.lang.String} object. */ - public String getIconName() { + public final String getIconName() { return iconName; } /** *

Setter for the field human.

* - * @param human a {@link forge.CardList} object. + * @param humanIn a {@link forge.CardList} object. */ - public void setHuman(CardList human) { - this.human = human; + public final void setHuman(final CardList humanIn) { + this.human = humanIn; } /** @@ -224,7 +224,7 @@ public class Quest_Assignment { * * @return a {@link forge.CardList} object. */ - public CardList getHuman() { + public final CardList getHuman() { return human; } @@ -233,14 +233,14 @@ public class Quest_Assignment { * * @param s a {@link java.lang.String} object. */ - public void addCompy(String s) { + public final void addCompy(final String s) { this.compy.add(s); } /** *

clearCompy.

*/ - public void clearCompy() { + public final void clearCompy() { this.compy.clear(); } @@ -250,17 +250,17 @@ public class Quest_Assignment { * * @return a {@link java.util.ArrayList} object. */ - public ArrayList getCompy() { + public final ArrayList getCompy() { return compy; } /** *

Setter for the field cardRewardList.

* - * @param cardRewardList a {@link java.util.ArrayList} object. + * @param cardRewardListIn a {@link java.util.ArrayList} object. */ - public void setCardRewardList(ArrayList cardRewardList) { - this.cardRewardList = cardRewardList; + public final void setCardRewardList(final ArrayList cardRewardListIn) { + this.cardRewardList = cardRewardListIn; } /** @@ -268,7 +268,7 @@ public class Quest_Assignment { * * @return a {@link java.util.ArrayList} object. */ - public ArrayList getCardRewardList() { + public final ArrayList getCardRewardList() { return cardRewardList; } } diff --git a/src/main/java/forge/SealedDeck.java b/src/main/java/forge/SealedDeck.java index 89fa6c950db..f3d55ff6465 100644 --- a/src/main/java/forge/SealedDeck.java +++ b/src/main/java/forge/SealedDeck.java @@ -41,7 +41,7 @@ public class SealedDeck { Object o = GuiUtils.getChoice("Choose Block", rbNames.toArray()); - ArrayList blockSets = SetInfoUtil.getSets_BlockName(o.toString()); + ArrayList blockSets = SetInfoUtil.getSetsBlockName(o.toString()); int nPacks = SetInfoUtil.getSealedPackCount(o.toString()); ArrayList setCombos = new ArrayList(); diff --git a/src/main/java/forge/SetInfo.java b/src/main/java/forge/SetInfo.java index 45d06037360..eb15e0d269f 100644 --- a/src/main/java/forge/SetInfo.java +++ b/src/main/java/forge/SetInfo.java @@ -29,7 +29,7 @@ public class SetInfo { * @param r a {@link java.lang.String} object. * @param u a {@link java.lang.String} object. */ - public SetInfo(String c, String r, String u) { + public SetInfo(final String c, final String r, final String u) { Code = c; Rarity = r; URL = u; @@ -44,7 +44,7 @@ public class SetInfo { * @param u a {@link java.lang.String} object. * @param p a int. */ - public SetInfo(String c, String r, String u, int p) { + public SetInfo(final String c, final String r, final String u, final int p) { Code = c; Rarity = r; URL = u; @@ -56,15 +56,16 @@ public class SetInfo { * * @param parse a {@link java.lang.String} object. */ - public SetInfo(String parse) { + public SetInfo(final String parse) { String[] pp = parse.split("\\|"); Code = pp[0]; Rarity = pp[1]; URL = pp[2]; - if (pp.length > 3) + if (pp.length > 3) { PicCount = Integer.parseInt(pp[3]); - else + } else { PicCount = 0; + } } /** @@ -72,16 +73,18 @@ public class SetInfo { * * @return a {@link java.lang.String} object. */ - public String toString() { + public final String toString() { return Code; } /** {@inheritDoc} */ - public boolean equals(Object o) { + public final boolean equals(final Object o) { if (o instanceof SetInfo) { SetInfo siO = (SetInfo) o; return Code.equals(siO.Code); - } else return false; + } else { + return false; + } } } diff --git a/src/main/java/forge/SetInfoUtil.java b/src/main/java/forge/SetInfoUtil.java index 04229d95514..b7f28b5f41f 100644 --- a/src/main/java/forge/SetInfoUtil.java +++ b/src/main/java/forge/SetInfoUtil.java @@ -16,8 +16,13 @@ import forge.card.CardSet; * @author Forge * @version $Id$ */ -public class SetInfoUtil { - /** Constant setData */ +public final class SetInfoUtil { + + private SetInfoUtil() { + throw new AssertionError(); + } + + /** Constant setData. */ private static HashMap setsByCode = new HashMap(); private static List allSets = new ArrayList(); @@ -58,10 +63,23 @@ public class SetInfoUtil { Collections.sort(allSets); } + /** + * + * TODO Write javadoc for this method. + * @param code a String + * @return a CardSet + */ public static CardSet getSetByCode(final String code) { if (setsByCode.isEmpty()) { loadSetData(); } return setsByCode.get(code); } + + /** + * + * TODO Write javadoc for this method. + * @param code a String + * @return a CardSet + */ public static CardSet getSetByCodeOrThrow(final String code) { if (setsByCode.isEmpty()) { loadSetData(); } CardSet set = setsByCode.get(code); @@ -69,6 +87,11 @@ public class SetInfoUtil { return set; } + /** + * + * TODO Write javadoc for this method. + * @return a List + */ public static List getCodeList() { if (setsByCode.isEmpty()) { loadSetData(); } return new ArrayList(setsByCode.keySet()); @@ -85,6 +108,12 @@ public class SetInfoUtil { return Predicate.getTrue(CardSet.class).select(allSets, CardSet.fn1, CardSet.fnGetName); } + /** + * + * TODO Write javadoc for this method. + * @param setName a String + * @return a String + */ public static String getCode3ByName(final String setName) { if (setsByCode.isEmpty()) { loadSetData(); } @@ -95,6 +124,12 @@ public class SetInfoUtil { return ""; } + /** + * + * TODO Write javadoc for this method. + * @param code a String + * @return a String + */ public static String getCode2ByCode(final String code) { if (setsByCode.isEmpty()) { loadSetData(); } CardSet set = setsByCode.get(code); @@ -102,12 +137,12 @@ public class SetInfoUtil { } /** - *

getSetName_SetCode3.

+ *

getNameByCode.

* - * @param SetCode3 a {@link java.lang.String} object. + * @param code a {@link java.lang.String} object. * @return a {@link java.lang.String} object. */ - public static String getNameByCode(String code) { + public static String getNameByCode(final String code) { if (setsByCode.isEmpty()) { loadSetData(); } CardSet set = setsByCode.get(code); return set == null ? "" : set.getName(); @@ -134,27 +169,27 @@ public class SetInfoUtil { } /** - *

getSetInfo_Code.

+ *

getSetInfoCode.

* - * @param SetList a {@link java.util.ArrayList} object. - * @param SetCode a {@link java.lang.String} object. + * @param setList a {@link java.util.ArrayList} object. + * @param setCode a {@link java.lang.String} object. * @return a {@link forge.SetInfo} object. */ - public static SetInfo getSetInfo_Code(ArrayList SetList, String SetCode) { + public static SetInfo getSetInfoCode(final ArrayList setList, final String setCode) { SetInfo si; - for (int i = 0; i < SetList.size(); i++) { - si = SetList.get(i); - if (si.Code.equals(SetCode)) { return si; } + for (int i = 0; i < setList.size(); i++) { + si = setList.get(i); + if (si.Code.equals(setCode)) { return si; } } return null; } /** - *

getSetIndex.

+ *

getIndexByCode.

* - * @param SetCode a {@link java.lang.String} object. + * @param code a {@link java.lang.String} object. * @return a int. */ public static int getIndexByCode(final String code) { @@ -163,7 +198,7 @@ public class SetInfoUtil { return set == null ? 0 : set.getIndex(); } - /** Constant blockData */ + /** Constant blockData. */ private static ArrayList> blockData = new ArrayList>(); /** @@ -178,9 +213,9 @@ public class SetInfoUtil { if (s.length() > 5) { HashMap sm = new HashMap(); - String ss[] = s.split("\\|"); + String[] ss = s.split("\\|"); for (int j = 0; j < ss.length; j++) { - String kv[] = ss[j].split(":"); + String[] kv = ss[j].split(":"); sm.put(kv[0], kv[1]); } @@ -199,37 +234,43 @@ public class SetInfoUtil { public static ArrayList getBlockNameList() { ArrayList bnl = new ArrayList(); - if (blockData.size() == 0) + if (blockData.size() == 0) { loadBlockData(); + } - for (int i = 0; i < blockData.size(); i++) + for (int i = 0; i < blockData.size(); i++) { bnl.add(blockData.get(i).get("Name")); + } return bnl; } /** - *

getSets_BlockName.

+ *

getSetsBlockName.

* * @param blockName a {@link java.lang.String} object. * @return a {@link java.util.ArrayList} object. */ - public static ArrayList getSets_BlockName(String blockName) { + public static ArrayList getSetsBlockName(final String blockName) { ArrayList sets = new ArrayList(); - if (blockData.size() == 0) + if (blockData.size() == 0) { loadBlockData(); + } for (int i = 0; i < blockData.size(); i++) { if (blockData.get(i).get("Name").equals(blockName)) { - if (blockData.get(i).containsKey("Set0")) + if (blockData.get(i).containsKey("Set0")) { sets.add(blockData.get(i).get("Set0")); + } - if (blockData.get(i).containsKey("Set1")) + if (blockData.get(i).containsKey("Set1")) { sets.add(blockData.get(i).get("Set1")); + } - if (blockData.get(i).containsKey("Set2")) + if (blockData.get(i).containsKey("Set2")) { sets.add(blockData.get(i).get("Set2")); + } } } @@ -242,13 +283,15 @@ public class SetInfoUtil { * @param blockName a {@link java.lang.String} object. * @return a int. */ - public static int getDraftPackCount(String blockName) { - if (blockData.size() == 0) + public static int getDraftPackCount(final String blockName) { + if (blockData.size() == 0) { loadBlockData(); + } for (int i = 0; i < blockData.size(); i++) { - if (blockData.get(i).get("Name").equals(blockName)) + if (blockData.get(i).get("Name").equals(blockName)) { return Integer.parseInt(blockData.get(i).get("DraftPacks")); + } } return 0; @@ -260,13 +303,15 @@ public class SetInfoUtil { * @param blockName a {@link java.lang.String} object. * @return a int. */ - public static int getSealedPackCount(String blockName) { - if (blockData.size() == 0) + public static int getSealedPackCount(final String blockName) { + if (blockData.size() == 0) { loadBlockData(); + } for (int i = 0; i < blockData.size(); i++) { - if (blockData.get(i).get("Name").equals(blockName)) + if (blockData.get(i).get("Name").equals(blockName)) { return Integer.parseInt(blockData.get(i).get("SealedPacks")); + } } return 0; @@ -278,23 +323,31 @@ public class SetInfoUtil { * @param blockName a {@link java.lang.String} object. * @return a {@link java.lang.String} object. */ - public static String getLandCode(String blockName) { - if (blockData.size() == 0) + public static String getLandCode(final String blockName) { + if (blockData.size() == 0) { loadBlockData(); + } for (int i = 0; i < blockData.size(); i++) { - if (blockData.get(i).get("Name").equals(blockName)) + if (blockData.get(i).get("Name").equals(blockName)) { return blockData.get(i).get("LandSetCode"); + } } return "M11"; // default, should never happen IRL } - - public static ArrayList getLegalSets(String fmt) { - ArrayList lglSets = new ArrayList(); - - lglSets = FileUtil.readFile("res/blockdata/" + fmt + ".txt"); - - return lglSets; + + /** + * + * TODO Write javadoc for this method. + * @param fmt a String + * @return an ArrayList + */ + public static ArrayList getLegalSets(final String fmt) { + ArrayList lglSets = new ArrayList(); + + lglSets = FileUtil.readFile("res/blockdata/" + fmt + ".txt"); + + return lglSets; } } diff --git a/src/main/java/forge/SimpleCombat.java b/src/main/java/forge/SimpleCombat.java index baab0d35220..ac067cd403d 100644 --- a/src/main/java/forge/SimpleCombat.java +++ b/src/main/java/forge/SimpleCombat.java @@ -26,10 +26,11 @@ class SimpleCombat { * * @param attackingCreatures a {@link forge.CardList} object. */ - public SimpleCombat(CardList attackingCreatures) { + public SimpleCombat(final CardList attackingCreatures) { CardList a = attackingCreatures; - for (int i = 0; i < a.size(); i++) + for (int i = 0; i < a.size(); i++) { addAttacker(a.get(i)); + } } /** @@ -46,7 +47,7 @@ class SimpleCombat { * * @param c a {@link forge.Card} object. */ - public void addAttacker(Card c) { + public void addAttacker(final Card c) { attackers.add(c); map.put(c, new CardList()); } @@ -57,7 +58,7 @@ class SimpleCombat { * @param attacker a {@link forge.Card} object. * @return a {@link forge.CardList} object. */ - public CardList getBlockers(Card attacker) { + public CardList getBlockers(final Card attacker) { return map.get(attacker); } @@ -67,9 +68,11 @@ class SimpleCombat { * @param attacker a {@link forge.Card} object. * @param blocker a {@link forge.Card} object. */ - public void addBlocker(Card attacker, Card blocker) { + public void addBlocker(final Card attacker, final Card blocker) { CardList list = map.get(attacker); - if (list == null) throw new RuntimeException("SimpleCombat : addBlocker() attacker not found - " + attacker); + if (list == null) { + throw new RuntimeException("SimpleCombat : addBlocker() attacker not found - " + attacker); + } list.add(blocker); } @@ -85,7 +88,9 @@ class SimpleCombat { while (it.hasNext()) { Card attack = it.next(); CardList block = map.get(attack); - if (block.size() == 0) list.add(attack); + if (block.size() == 0) { + list.add(attack); + } } return list; @@ -114,13 +119,17 @@ class SimpleCombat { int blockerDamage = block.getNetCombatDamage(); int attackerDamage = attack.getNetCombatDamage(); - if (attack.getNetDefense() <= blockerDamage) aDestroy.add(attack); + if (attack.getNetDefense() <= blockerDamage) { + aDestroy.add(attack); + } - if (block.getNetDefense() <= attackerDamage) bDestroy.add(block); + if (block.getNetDefense() <= attackerDamage) { + bDestroy.add(block); + } } - }//while + } //while return new CardList[]{aDestroy, bDestroy}; - }//combatDamage() + } //combatDamage() /** {@inheritDoc} */ @Override @@ -143,4 +152,4 @@ class SimpleCombat { return sb.toString(); } -}//Combat +} //end class SimpleCombat diff --git a/src/main/java/forge/Time.java b/src/main/java/forge/Time.java index 5f915aa17a4..edecfbfb193 100644 --- a/src/main/java/forge/Time.java +++ b/src/main/java/forge/Time.java @@ -20,7 +20,7 @@ public class Time { /** *

start.

*/ - public void start() { + public final void start() { startTime = System.currentTimeMillis(); } @@ -29,7 +29,7 @@ public class Time { * * @return a double. */ - public double stop() { + public final double stop() { stopTime = System.currentTimeMillis(); return getTime(); } @@ -39,7 +39,7 @@ public class Time { * * @return a double. */ - public double getTime() { + public final double getTime() { return (stopTime - startTime) / 1000.0; } } diff --git a/src/main/java/forge/UndoCommand.java b/src/main/java/forge/UndoCommand.java index 7edd8f190a3..4b2fd8e571c 100644 --- a/src/main/java/forge/UndoCommand.java +++ b/src/main/java/forge/UndoCommand.java @@ -10,10 +10,10 @@ public interface UndoCommand extends Command { /** *

execute.

*/ - public void execute(); + void execute(); /** *

undo.

*/ - public void undo(); + void undo(); } diff --git a/src/main/java/forge/ZCTrigger.java b/src/main/java/forge/ZCTrigger.java index d25aa0a9cd3..6bd046fd80d 100644 --- a/src/main/java/forge/ZCTrigger.java +++ b/src/main/java/forge/ZCTrigger.java @@ -20,7 +20,7 @@ public enum ZCTrigger { * @param text a {@link java.lang.String} object. * @param tofrom a {@link java.lang.String} object. */ - ZCTrigger(String text, String tofrom) { + ZCTrigger(final String text, final String tofrom) { this.ruleText = text; this.triggerZones = tofrom.split(" > "); } @@ -32,8 +32,9 @@ public enum ZCTrigger { * @param destintationZone a {@link java.lang.String} object. * @return a boolean. */ - public boolean triggerOn(String sourceZone, String destintationZone) { - return ((triggerZones[0].equals("any") || triggerZones[0].equals(sourceZone)) && (triggerZones[1].equals("any") || triggerZones[0].equals(sourceZone))); + public boolean triggerOn(final String sourceZone, final String destintationZone) { + return ((triggerZones[0].equals("any") || triggerZones[0].equals(sourceZone)) + && (triggerZones[1].equals("any") || triggerZones[0].equals(sourceZone))); } /** @@ -42,9 +43,12 @@ public enum ZCTrigger { * @param description a {@link java.lang.String} object. * @return a {@link forge.ZCTrigger} object. */ - public static ZCTrigger getTrigger(String description) { - for (ZCTrigger t : ZCTrigger.values()) - if (t.ruleText.equals(description)) return t; + public static ZCTrigger getTrigger(final String description) { + for (ZCTrigger t : ZCTrigger.values()) { + if (t.ruleText.equals(description)) { + return t; + } + } return null; } diff --git a/src/main/java/forge/card/abilityFactory/AbilityFactory.java b/src/main/java/forge/card/abilityFactory/AbilityFactory.java index bf9cbdc9389..674f19044d2 100644 --- a/src/main/java/forge/card/abilityFactory/AbilityFactory.java +++ b/src/main/java/forge/card/abilityFactory/AbilityFactory.java @@ -1,9 +1,26 @@ package forge.card.abilityFactory; -import forge.*; + +import forge.AllZone; +import forge.AllZoneUtil; +import forge.Card; +import forge.CardList; +import forge.CardUtil; +import forge.Command; +import forge.ComputerUtil; +import forge.Constant; +import forge.GameActionUtil; +import forge.Player; import forge.card.cardFactory.CardFactoryUtil; import forge.card.cost.Cost; -import forge.card.spellability.*; + +import forge.card.spellability.Ability; +import forge.card.spellability.Ability_Sub; +import forge.card.spellability.SpellAbility; +import forge.card.spellability.SpellAbility_Condition; +import forge.card.spellability.Spell_Permanent; +import forge.card.spellability.SpellAbility_Restriction; +import forge.card.spellability.Target; import java.util.ArrayList; import java.util.HashMap; @@ -47,7 +64,7 @@ public class AbilityFactory { * * @return a boolean. */ - public boolean isAbility() { + public final boolean isAbility() { return isAb; } @@ -56,7 +73,7 @@ public class AbilityFactory { * * @return a boolean. */ - public boolean isSpell() { + public final boolean isSpell() { return isSp; } @@ -65,7 +82,7 @@ public class AbilityFactory { * * @return a boolean. */ - public boolean isDrawback() { + public final boolean isDrawback() { return isDb; } @@ -76,7 +93,7 @@ public class AbilityFactory { * * @return a {@link forge.card.cost.Cost} object. */ - public Cost getAbCost() { + public final Cost getAbCost() { return abCost; } @@ -89,7 +106,7 @@ public class AbilityFactory { * * @return a boolean. */ - public boolean isTargeted() { + public final boolean isTargeted() { return isTargeted; } @@ -98,7 +115,7 @@ public class AbilityFactory { * * @return a boolean. */ - public boolean hasValid() { + public final boolean hasValid() { return hasValid; } @@ -107,7 +124,7 @@ public class AbilityFactory { * * @return a {@link forge.card.spellability.Target} object. */ - public Target getAbTgt() { + public final Target getAbTgt() { return abTgt; } @@ -116,7 +133,7 @@ public class AbilityFactory { * * @return a boolean. */ - public boolean isCurse() { + public final boolean isCurse() { return mapParams.containsKey("IsCurse"); } @@ -127,7 +144,7 @@ public class AbilityFactory { * * @return a boolean. */ - public boolean hasSubAbility() { + public final boolean hasSubAbility() { return hasSubAb; } @@ -138,7 +155,7 @@ public class AbilityFactory { * * @return a boolean. */ - public boolean hasSpDescription() { + public final boolean hasSpDescription() { return hasSpDesc; } @@ -149,7 +166,7 @@ public class AbilityFactory { * * @return a {@link java.lang.String} object. */ - public String getAPI() { + public final String getAPI() { return API; } @@ -162,25 +179,29 @@ public class AbilityFactory { * @param hostCard a {@link forge.Card} object. * @return a {@link java.util.HashMap} object. */ - public HashMap getMapParams(String abString, Card hostCard) { + public final HashMap getMapParams(final String abString, final Card hostCard) { HashMap mapParameters = new HashMap(); - if (!(abString.length() > 0)) + if (!(abString.length() > 0)) { throw new RuntimeException("AbilityFactory : getAbility -- abString too short in " + hostCard.getName() + ": [" + abString + "]"); + } - String a[] = abString.split("\\|"); + String[] a = abString.split("\\|"); - for (int aCnt = 0; aCnt < a.length; aCnt++) + for (int aCnt = 0; aCnt < a.length; aCnt++) { a[aCnt] = a[aCnt].trim(); + } - if (!(a.length > 0)) + if (!(a.length > 0)) { throw new RuntimeException("AbilityFactory : getAbility -- a[] too short in " + hostCard.getName()); + } for (int i = 0; i < a.length; i++) { - String aa[] = a[i].split("\\$"); + String[] aa = a[i].split("\\$"); - for (int aaCnt = 0; aaCnt < aa.length; aaCnt++) + for (int aaCnt = 0; aaCnt < aa.length; aaCnt++) { aa[aaCnt] = aa[aaCnt].trim(); + } if (aa.length != 2) { StringBuilder sb = new StringBuilder(); @@ -202,7 +223,7 @@ public class AbilityFactory { * @param hostCard a {@link forge.Card} object. * @return a {@link forge.card.spellability.SpellAbility} object. */ - public SpellAbility getAbility(String abString, Card hostCard) { + public final SpellAbility getAbility(final String abString, final Card hostCard) { SpellAbility SA = null; @@ -221,12 +242,14 @@ public class AbilityFactory { } else if (mapParams.containsKey("DB")) { isDb = true; API = mapParams.get("DB"); - } else + } else { throw new RuntimeException("AbilityFactory : getAbility -- no API in " + hostCard.getName()); + } if (!isDb) { - if (!mapParams.containsKey("Cost")) + if (!mapParams.containsKey("Cost")) { throw new RuntimeException("AbilityFactory : getAbility -- no Cost in " + hostCard.getName()); + } abCost = new Cost(mapParams.get("Cost"), hostCard.getName(), isAb); } @@ -246,26 +269,32 @@ public class AbilityFactory { if (hasValid) { // TgtPrompt now optional StringBuilder sb = new StringBuilder(); - if (hostC != null) sb.append(hostC + " - "); + if (hostC != null) { + sb.append(hostC + " - "); + } String prompt = mapParams.containsKey("TgtPrompt") ? mapParams.get("TgtPrompt") : "Select target " + mapParams.get("ValidTgts"); sb.append(prompt); abTgt = new Target(hostC, sb.toString(), mapParams.get("ValidTgts").split(","), min, max); - } else + } else { abTgt = new Target(hostC, mapParams.get("Tgt"), min, max); + } - if (mapParams.containsKey("TgtZone")) // if Targeting something not in play, this Key should be set + if (mapParams.containsKey("TgtZone")) { // if Targeting something not in play, this Key should be set abTgt.setZone(mapParams.get("TgtZone")); + } // Target Type mostly for Counter: Spell,Activated,Triggered,Ability (or any combination of) // Ability = both activated and triggered abilities - if (mapParams.containsKey("TargetType")) + if (mapParams.containsKey("TargetType")) { abTgt.setTargetSpellAbilityType(mapParams.get("TargetType")); + } // TargetValidTargeting most for Counter: e.g. target spell that targets X. - if (mapParams.containsKey("TargetValidTargeting")) + if (mapParams.containsKey("TargetValidTargeting")) { abTgt.setSAValidTargeting(mapParams.get("TargetValidTargeting")); - - if (mapParams.containsKey("TargetUnique")){ + } + + if (mapParams.containsKey("TargetUnique")) { abTgt.setUniqueTargets(true); } } @@ -280,600 +309,665 @@ public class AbilityFactory { if (API.equals("DealDamage")) { AbilityFactory_DealDamage dd = new AbilityFactory_DealDamage(this); - if (isAb) + if (isAb) { SA = dd.getAbility(); - else if (isSp) + } else if (isSp) { SA = dd.getSpell(); - else if (isDb) + } else if (isDb) { SA = dd.getDrawback(); + } } else if (API.equals("DamageAll")) { AbilityFactory_DealDamage dd = new AbilityFactory_DealDamage(this); - if (isAb) + if (isAb) { SA = dd.getAbilityDamageAll(); - else if (isSp) + } else if (isSp) { SA = dd.getSpellDamageAll(); - else if (isDb) + } else if (isDb) { SA = dd.getDrawbackDamageAll(); + } } else if (API.equals("PutCounter")) { - if (isAb) + if (isAb) { SA = AbilityFactory_Counters.createAbilityPutCounters(this); - else if (isSp) + } else if (isSp) { SA = AbilityFactory_Counters.createSpellPutCounters(this); - else if (isDb) + } else if (isDb) { SA = AbilityFactory_Counters.createDrawbackPutCounters(this); + } } else if (API.equals("PutCounterAll")) { - if (isAb) + if (isAb) { SA = AbilityFactory_Counters.createAbilityPutCounterAll(this); - else if (isSp) + } else if (isSp) { SA = AbilityFactory_Counters.createSpellPutCounterAll(this); - else if (isDb) + } else if (isDb) { SA = AbilityFactory_Counters.createDrawbackPutCounterAll(this); + } } else if (API.equals("RemoveCounter")) { - if (isAb) + if (isAb) { SA = AbilityFactory_Counters.createAbilityRemoveCounters(this); - else if (isSp) + } else if (isSp) { SA = AbilityFactory_Counters.createSpellRemoveCounters(this); - else if (isDb) + } else if (isDb) { SA = AbilityFactory_Counters.createDrawbackRemoveCounters(this); + } } else if (API.equals("RemoveCounterAll")) { - if (isAb) + if (isAb) { SA = AbilityFactory_Counters.createAbilityRemoveCounterAll(this); - else if (isSp) + } else if (isSp) { SA = AbilityFactory_Counters.createSpellRemoveCounterAll(this); - else if (isDb) + } else if (isDb) { SA = AbilityFactory_Counters.createDrawbackRemoveCounterAll(this); + } } else if (API.equals("Proliferate")) { - if (isAb) + if (isAb) { SA = AbilityFactory_Counters.createAbilityProliferate(this); - else if (isSp) + } else if (isSp) { SA = AbilityFactory_Counters.createSpellProliferate(this); - else if (isDb) + } else if (isDb) { SA = AbilityFactory_Counters.createDrawbackProliferate(this); + } } - + else if (API.equals("MoveCounter")) { - if (isAb) + if (isAb) { SA = AbilityFactory_Counters.createAbilityMoveCounters(this); - else if (isSp) + } else if (isSp) { SA = AbilityFactory_Counters.createSpellMoveCounters(this); - else if (isDb) + } else if (isDb) { SA = AbilityFactory_Counters.createDrawbackMoveCounters(this); + } } else if (API.equals("ChangeZone")) { - if (isAb) + if (isAb) { SA = AbilityFactory_ChangeZone.createAbilityChangeZone(this); - else if (isSp) + } else if (isSp) { SA = AbilityFactory_ChangeZone.createSpellChangeZone(this); - else if (isDb) + } else if (isDb) { SA = AbilityFactory_ChangeZone.createDrawbackChangeZone(this); + } } else if (API.equals("ChangeZoneAll")) { - if (isAb) + if (isAb) { SA = AbilityFactory_ChangeZone.createAbilityChangeZoneAll(this); - else if (isSp) + } else if (isSp) { SA = AbilityFactory_ChangeZone.createSpellChangeZoneAll(this); - else if (isDb) + } else if (isDb) { SA = AbilityFactory_ChangeZone.createDrawbackChangeZoneAll(this); + } } else if (API.equals("Pump")) { AbilityFactory_Pump afPump = new AbilityFactory_Pump(this); - if (isAb) + if (isAb) { SA = afPump.getAbilityPump(); - else if (isSp) + } else if (isSp) { SA = afPump.getSpellPump(); - else if (isDb) + } else if (isDb) { SA = afPump.getDrawbackPump(); + } - if (isAb || isSp) + if (isAb || isSp) { hostCard.setSVar("PlayMain1", "TRUE"); + } } else if (API.equals("PumpAll")) { AbilityFactory_Pump afPump = new AbilityFactory_Pump(this); - if (isAb) + if (isAb) { SA = afPump.getAbilityPumpAll(); - else if (isSp) + } else if (isSp) { SA = afPump.getSpellPumpAll(); - else if (isDb) + } else if (isDb) { SA = afPump.getDrawbackPumpAll(); + } - if (isAb || isSp) + if (isAb || isSp) { hostCard.setSVar("PlayMain1", "TRUE"); + } } else if (API.equals("GainLife")) { - if (isAb) + if (isAb) { SA = AbilityFactory_AlterLife.createAbilityGainLife(this); - else if (isSp) + } else if (isSp) { SA = AbilityFactory_AlterLife.createSpellGainLife(this); - else if (isDb) + } else if (isDb) { SA = AbilityFactory_AlterLife.createDrawbackGainLife(this); + } } else if (API.equals("LoseLife")) { - if (isAb) + if (isAb) { SA = AbilityFactory_AlterLife.createAbilityLoseLife(this); - else if (isSp) + } else if (isSp) { SA = AbilityFactory_AlterLife.createSpellLoseLife(this); - else if (isDb) + } else if (isDb) { SA = AbilityFactory_AlterLife.createDrawbackLoseLife(this); + } } else if (API.equals("SetLife")) { - if (isAb) + if (isAb) { SA = AbilityFactory_AlterLife.createAbilitySetLife(this); - else if (isSp) + } else if (isSp) { SA = AbilityFactory_AlterLife.createSpellSetLife(this); - else if (isDb) + } else if (isDb) { SA = AbilityFactory_AlterLife.createDrawbackSetLife(this); + } } else if (API.equals("Poison")) { - if (isAb) + if (isAb) { SA = AbilityFactory_AlterLife.createAbilityPoison(this); - else if (isSp) + } else if (isSp) { SA = AbilityFactory_AlterLife.createSpellPoison(this); - else if (isDb) + } else if (isDb) { SA = AbilityFactory_AlterLife.createDrawbackPoison(this); + } } else if (API.equals("Fog")) { - if (isAb) + if (isAb) { SA = AbilityFactory_Combat.createAbilityFog(this); - else if (isSp) + } else if (isSp) { SA = AbilityFactory_Combat.createSpellFog(this); - else if (isDb) + } else if (isDb) { SA = AbilityFactory_Combat.createDrawbackFog(this); + } } else if (API.equals("Untap")) { - if (isAb) + if (isAb) { SA = AbilityFactory_PermanentState.createAbilityUntap(this); - else if (isSp) + } else if (isSp) { SA = AbilityFactory_PermanentState.createSpellUntap(this); - else if (isDb) + } else if (isDb) { SA = AbilityFactory_PermanentState.createDrawbackUntap(this); + } } else if (API.equals("UntapAll")) { - if (isAb) + if (isAb) { SA = AbilityFactory_PermanentState.createAbilityUntapAll(this); - else if (isSp) + } else if (isSp) { SA = AbilityFactory_PermanentState.createSpellUntapAll(this); - else if (isDb) + } else if (isDb) { SA = AbilityFactory_PermanentState.createDrawbackUntapAll(this); + } } else if (API.equals("Tap")) { - if (isAb) + if (isAb) { SA = AbilityFactory_PermanentState.createAbilityTap(this); - else if (isSp) + } else if (isSp) { SA = AbilityFactory_PermanentState.createSpellTap(this); - else if (isDb) + } else if (isDb) { SA = AbilityFactory_PermanentState.createDrawbackTap(this); + } } else if (API.equals("TapAll")) { - if (isAb) + if (isAb) { SA = AbilityFactory_PermanentState.createAbilityTapAll(this); - else if (isSp) + } else if (isSp) { SA = AbilityFactory_PermanentState.createSpellTapAll(this); - else if (isDb) + } else if (isDb) { SA = AbilityFactory_PermanentState.createDrawbackTapAll(this); + } } else if (API.equals("TapOrUntap")) { - if (isAb) + if (isAb) { SA = AbilityFactory_PermanentState.createAbilityTapOrUntap(this); - else if (isSp) + } else if (isSp) { SA = AbilityFactory_PermanentState.createSpellTapOrUntap(this); - else if (isDb) + } else if (isDb) { SA = AbilityFactory_PermanentState.createDrawbackTapOrUntap(this); + } } else if (API.equals("PreventDamage")) { - if (isAb) + if (isAb) { SA = AbilityFactory_PreventDamage.getAbilityPreventDamage(this); - else if (isSp) + } else if (isSp) { SA = AbilityFactory_PreventDamage.getSpellPreventDamage(this); - else if (isDb) { + } else if (isDb) { SA = AbilityFactory_PreventDamage.createDrawbackPreventDamage(this); } } else if (API.equals("Regenerate")) { - if (isAb) + if (isAb) { SA = AbilityFactory_Regenerate.getAbilityRegenerate(this); - else if (isSp) + } else if (isSp) { SA = AbilityFactory_Regenerate.getSpellRegenerate(this); - else if (isDb) { + } else if (isDb) { SA = AbilityFactory_Regenerate.createDrawbackRegenerate(this); } } else if (API.equals("Draw")) { - if (isAb) + if (isAb) { SA = AbilityFactory_ZoneAffecting.createAbilityDraw(this); - else if (isSp) + } else if (isSp) { SA = AbilityFactory_ZoneAffecting.createSpellDraw(this); - else if (isDb) + } else if (isDb) { SA = AbilityFactory_ZoneAffecting.createDrawbackDraw(this); + } } else if (API.equals("Mill")) { - if (isAb) + if (isAb) { SA = AbilityFactory_ZoneAffecting.createAbilityMill(this); - else if (isSp) + } else if (isSp) { SA = AbilityFactory_ZoneAffecting.createSpellMill(this); - else if (isDb) + } else if (isDb) { SA = AbilityFactory_ZoneAffecting.createDrawbackMill(this); + } } else if (API.equals("Scry")) { - if (isAb) + if (isAb) { SA = AbilityFactory_Reveal.createAbilityScry(this); - else if (isSp) + } else if (isSp) { SA = AbilityFactory_Reveal.createSpellScry(this); - else if (isDb) + } else if (isDb) { SA = AbilityFactory_Reveal.createDrawbackScry(this); + } } else if (API.equals("RearrangeTopOfLibrary")) { - if (isAb) + if (isAb) { SA = AbilityFactory_Reveal.createRearrangeTopOfLibraryAbility(this); - else if (isSp) + } else if (isSp) { SA = AbilityFactory_Reveal.createRearrangeTopOfLibrarySpell(this); - else if (isDb) + } else if (isDb) { SA = AbilityFactory_Reveal.createRearrangeTopOfLibraryDrawback(this); + } } else if (API.equals("Sacrifice")) { - if (isAb) + if (isAb) { SA = AbilityFactory_Sacrifice.createAbilitySacrifice(this); - else if (isSp) + } else if (isSp) { SA = AbilityFactory_Sacrifice.createSpellSacrifice(this); - else if (isDb) + } else if (isDb) { SA = AbilityFactory_Sacrifice.createDrawbackSacrifice(this); + } } else if (API.equals("SacrificeAll")) { - if (isAb) + if (isAb) { SA = AbilityFactory_Sacrifice.createAbilitySacrificeAll(this); - else if (isSp) + } else if (isSp) { SA = AbilityFactory_Sacrifice.createSpellSacrificeAll(this); - else if (isDb) + } else if (isDb) { SA = AbilityFactory_Sacrifice.createDrawbackSacrificeAll(this); + } } else if (API.equals("Destroy")) { - if (isAb) + if (isAb) { SA = AbilityFactory_Destroy.createAbilityDestroy(this); - else if (isSp) + } else if (isSp) { SA = AbilityFactory_Destroy.createSpellDestroy(this); - else if (isDb) { + } else if (isDb) { SA = AbilityFactory_Destroy.createDrawbackDestroy(this); } } else if (API.equals("DestroyAll")) { - if (isAb) + if (isAb) { SA = AbilityFactory_Destroy.createAbilityDestroyAll(this); - else if (isSp) + } else if (isSp) { SA = AbilityFactory_Destroy.createSpellDestroyAll(this); - else if (isDb) + } else if (isDb) { SA = AbilityFactory_Destroy.createDrawbackDestroyAll(this); + } } else if (API.equals("Mana")) { String produced = mapParams.get("Produced"); - if (isAb) + if (isAb) { SA = AbilityFactory_Mana.createAbilityMana(this, produced); - if (isSp) + } + if (isSp) { SA = AbilityFactory_Mana.createSpellMana(this, produced); - if (isDb) + } + if (isDb) { SA = AbilityFactory_Mana.createDrawbackMana(this, produced); + } } else if (API.equals("ManaReflected")) { // Reflected mana will have a filler for produced of "1" - if (isAb) + if (isAb) { SA = AbilityFactory_Mana.createAbilityManaReflected(this, "1"); + } if (isSp) { // shouldn't really happen i think? SA = AbilityFactory_Mana.createSpellManaReflected(this, "1"); } } else if (API.equals("Token")) { - AbilityFactory_Token AFT = new AbilityFactory_Token(this); + AbilityFactory_Token aft = new AbilityFactory_Token(this); - if (isAb) - SA = AFT.getAbility(); - else if (isSp) - SA = AFT.getSpell(); - else if (isDb) - SA = AFT.getDrawback(); + if (isAb) { + SA = aft.getAbility(); + } else if (isSp) { + SA = aft.getSpell(); + } else if (isDb) { + SA = aft.getDrawback(); + } } else if (API.equals("GainControl")) { AbilityFactory_GainControl afControl = new AbilityFactory_GainControl(this); - if (isAb) + if (isAb) { SA = afControl.getAbilityGainControl(); - else if (isSp) + } else if (isSp) { SA = afControl.getSpellGainControl(); - else if (isDb) { + } else if (isDb) { SA = afControl.getDrawbackGainControl(); } } else if (API.equals("Discard")) { - if (isAb) + if (isAb) { SA = AbilityFactory_ZoneAffecting.createAbilityDiscard(this); - else if (isSp) + } else if (isSp) { SA = AbilityFactory_ZoneAffecting.createSpellDiscard(this); - else if (isDb) + } else if (isDb) { SA = AbilityFactory_ZoneAffecting.createDrawbackDiscard(this); + } } else if (API.equals("Counter")) { AbilityFactory_CounterMagic c = new AbilityFactory_CounterMagic(this); - if (isTargeted) // Since all "Counter" ABs Counter things on the Stack no need for it to be everywhere + if (isTargeted) { // Since all "Counter" ABs Counter things on the Stack no need for it to be everywhere abTgt.setZone("Stack"); + } - if (isAb) + if (isAb) { SA = c.getAbilityCounter(this); - else if (isSp) + } else if (isSp) { SA = c.getSpellCounter(this); - else if (isDb) + } else if (isDb) { SA = c.getDrawbackCounter(this); + } } else if (API.equals("AddTurn")) { - if (isAb) + if (isAb) { SA = AbilityFactory_Turns.createAbilityAddTurn(this); - else if (isSp) + } else if (isSp) { SA = AbilityFactory_Turns.createSpellAddTurn(this); - else if (isDb) + } else if (isDb) { SA = AbilityFactory_Turns.createDrawbackAddTurn(this); + } } else if (API.equals("Clash")) { - if (isAb) + if (isAb) { SA = AbilityFactory_Clash.getAbilityClash(this); - else if (isSp) + } else if (isSp) { SA = AbilityFactory_Clash.getSpellClash(this); - else if (isDb) + } else if (isDb) { SA = AbilityFactory_Clash.getDrawbackClash(this); + } } else if (API.equals("Animate")) { - if (isAb) + if (isAb) { SA = AbilityFactory_Animate.createAbilityAnimate(this); - else if (isSp) + } else if (isSp) { SA = AbilityFactory_Animate.createSpellAnimate(this); - else if (isDb) + } else if (isDb) { SA = AbilityFactory_Animate.createDrawbackAnimate(this); + } } else if (API.equals("Effect")) { - if (isAb) + if (isAb) { SA = AbilityFactory_Effect.createAbilityEffect(this); - else if (isSp) + } else if (isSp) { SA = AbilityFactory_Effect.createSpellEffect(this); - else if (isDb) + } else if (isDb) { SA = AbilityFactory_Effect.createDrawbackEffect(this); + } } else if (API.equals("WinsGame")) { - if (isAb) + if (isAb) { SA = AbilityFactory_EndGameCondition.createAbilityWinsGame(this); - else if (isSp) + } else if (isSp) { SA = AbilityFactory_EndGameCondition.createSpellWinsGame(this); - else if (isDb) + } else if (isDb) { SA = AbilityFactory_EndGameCondition.createDrawbackWinsGame(this); + } } else if (API.equals("LosesGame")) { - if (isAb) + if (isAb) { SA = AbilityFactory_EndGameCondition.createAbilityLosesGame(this); - else if (isSp) + } else if (isSp) { SA = AbilityFactory_EndGameCondition.createSpellLosesGame(this); - else if (isDb) + } else if (isDb) { SA = AbilityFactory_EndGameCondition.createDrawbackLosesGame(this); + } } else if (API.equals("RevealHand")) { - if (isAb) + if (isAb) { SA = AbilityFactory_Reveal.createAbilityRevealHand(this); - else if (isSp) + } else if (isSp) { SA = AbilityFactory_Reveal.createSpellRevealHand(this); - else if (isDb) + } else if (isDb) { SA = AbilityFactory_Reveal.createDrawbackRevealHand(this); + } } else if (API.equals("Dig")) { - if (isAb) + if (isAb) { SA = AbilityFactory_Reveal.createAbilityDig(this); - else if (isSp) + } else if (isSp) { SA = AbilityFactory_Reveal.createSpellDig(this); - else if (isDb) + } else if (isDb) { SA = AbilityFactory_Reveal.createDrawbackDig(this); + } } - + else if (API.equals("DigUntil")) { - if (isAb) + if (isAb) { SA = AbilityFactory_Reveal.createAbilityDigUntil(this); - else if (isSp) + } else if (isSp) { SA = AbilityFactory_Reveal.createSpellDigUntil(this); - else if (isDb) + } else if (isDb) { SA = AbilityFactory_Reveal.createDrawbackDigUntil(this); + } } else if (API.equals("Shuffle")) { - if (isAb) + if (isAb) { SA = AbilityFactory_ZoneAffecting.createAbilityShuffle(this); - else if (isSp) + } else if (isSp) { SA = AbilityFactory_ZoneAffecting.createSpellShuffle(this); - else if (isDb) + } else if (isDb) { SA = AbilityFactory_ZoneAffecting.createDrawbackShuffle(this); + } } else if (API.equals("ChooseType")) { - if (isAb) + if (isAb) { SA = AbilityFactory_Choose.createAbilityChooseType(this); - else if (isSp) + } else if (isSp) { SA = AbilityFactory_Choose.createSpellChooseType(this); - else if (isDb) + } else if (isDb) { SA = AbilityFactory_Choose.createDrawbackChooseType(this); + } } else if (API.equals("ChooseColor")) { - if (isAb) + if (isAb) { SA = AbilityFactory_Choose.createAbilityChooseColor(this); - else if (isSp) + } else if (isSp) { SA = AbilityFactory_Choose.createSpellChooseColor(this); - else if (isDb) + } else if (isDb) { SA = AbilityFactory_Choose.createDrawbackChooseColor(this); + } } else if (API.equals("CopyPermanent")) { - if (isAb) + if (isAb) { SA = AbilityFactory_Copy.createAbilityCopyPermanent(this); - else if (isSp) + } else if (isSp) { SA = AbilityFactory_Copy.createSpellCopyPermanent(this); - else if (isDb) + } else if (isDb) { SA = AbilityFactory_Copy.createDrawbackCopyPermanent(this); + } } else if (API.equals("CopySpell")) { - if (isTargeted) // Since all "CopySpell" ABs copy things on the Stack no need for it to be everywhere + if (isTargeted) { // Since all "CopySpell" ABs copy things on the Stack no need for it to be everywhere abTgt.setZone("Stack"); + } - if (isAb) + if (isAb) { SA = AbilityFactory_Copy.createAbilityCopySpell(this); - else if (isSp) + } else if (isSp) { SA = AbilityFactory_Copy.createSpellCopySpell(this); - else if (isDb) + } else if (isDb) { SA = AbilityFactory_Copy.createDrawbackCopySpell(this); + } hostCard.setCopiesSpells(true); } else if (API.equals("FlipACoin")) { - if (isAb) + if (isAb) { SA = AbilityFactory_Clash.createAbilityFlip(this); - else if (isSp) + } else if (isSp) { SA = AbilityFactory_Clash.createSpellFlip(this); - else if (isDb) + } else if (isDb) { SA = AbilityFactory_Clash.createDrawbackFlip(this); + } } else if (API.equals("DelayedTrigger")) { - if (isAb) + if (isAb) { SA = AbilityFactory_DelayedTrigger.getAbility(this); - else if (isSp) + } else if (isSp) { SA = AbilityFactory_DelayedTrigger.getSpell(this); - if (isDb) + } + if (isDb) { SA = AbilityFactory_DelayedTrigger.getDrawback(this); + } } else if (API.equals("Cleanup")) { - if (isDb) + if (isDb) { SA = AbilityFactory_Cleanup.getDrawback(this); + } } else if (API.equals("RegenerateAll")) { - if (isAb) + if (isAb) { SA = AbilityFactory_Regenerate.getAbilityRegenerateAll(this); - else if (isSp) + } else if (isSp) { SA = AbilityFactory_Regenerate.getSpellRegenerateAll(this); - else if (isDb) { + } else if (isDb) { SA = AbilityFactory_Regenerate.createDrawbackRegenerateAll(this); } } else if (API.equals("AnimateAll")) { - if (isAb) + if (isAb) { SA = AbilityFactory_Animate.createAbilityAnimateAll(this); - else if (isSp) + } else if (isSp) { SA = AbilityFactory_Animate.createSpellAnimateAll(this); - else if (isDb) + } else if (isDb) { SA = AbilityFactory_Animate.createDrawbackAnimateAll(this); + } } else if (API.equals("Debuff")) { - if (isAb) + if (isAb) { SA = AbilityFactory_Debuff.createAbilityDebuff(this); - else if (isSp) + } else if (isSp) { SA = AbilityFactory_Debuff.createSpellDebuff(this); - else if (isDb) + } else if (isDb) { SA = AbilityFactory_Debuff.createDrawbackDebuff(this); + } } else if (API.equals("DebuffAll")) { - if (isAb) + if (isAb) { SA = AbilityFactory_Debuff.createAbilityDebuffAll(this); - else if (isSp) + } else if (isSp) { SA = AbilityFactory_Debuff.createSpellDebuffAll(this); - else if (isDb) + } else if (isDb) { SA = AbilityFactory_Debuff.createDrawbackDebuffAll(this); + } } else if (API.equals("DrainMana")) { - if (isAb) + if (isAb) { SA = AbilityFactory_Mana.createAbilityDrainMana(this); - else if (isSp) + } else if (isSp) { SA = AbilityFactory_Mana.createSpellDrainMana(this); - else if (isDb) + } else if (isDb) { SA = AbilityFactory_Mana.createDrawbackDrainMana(this); + } } - + else if (API.equals("Protection")) { - if (isAb) + if (isAb) { SA = AbilityFactory_Protection.createAbilityProtection(this); - else if (isSp) + } else if (isSp) { SA = AbilityFactory_Protection.createSpellProtection(this); - else if (isDb) + } else if (isDb) { SA = AbilityFactory_Protection.createDrawbackProtection(this); + } } else if (API.equals("Attach")) { - if (isAb) + if (isAb) { SA = AbilityFactory_Attach.createAbilityAttach(this); - else if (isSp) + } else if (isSp) { SA = AbilityFactory_Attach.createSpellAttach(this); - else if (isDb) + } else if (isDb) { SA = AbilityFactory_Attach.createDrawbackAttach(this); + } } - + else if (API.equals("ProtectionAll")) { - if (isAb) + if (isAb) { SA = AbilityFactory_Protection.createAbilityProtectionAll(this); - else if (isSp) + } else if (isSp) { SA = AbilityFactory_Protection.createSpellProtectionAll(this); - else if (isDb) + } else if (isDb) { SA = AbilityFactory_Protection.createDrawbackProtectionAll(this); + } } - - else if(API.equals("MustAttack")) { + + else if (API.equals("MustAttack")) { if (isAb) { SA = AbilityFactory_Combat.createAbilityMustAttack(this); } @@ -887,7 +981,11 @@ public class AbilityFactory { if (SA == null) { - throw new RuntimeException("AbilityFactory : SpellAbility was not created for " + hostCard.getName() + ". Looking for API: " + API); + StringBuilder msg = new StringBuilder(); + msg.append("AbilityFactory : SpellAbility was not created for "); + msg.append(hostCard.getName()); + msg.append(". Looking for API: ").append(API); + throw new RuntimeException(msg.toString()); } // ********************************************* @@ -900,7 +998,7 @@ public class AbilityFactory { } if (SA instanceof Spell_Permanent) { - SA.setDescription(SA.getSourceCard().getName()); + SA.setDescription(SA.getSourceCard().getName()); } else if (hasSpDesc) { StringBuilder sb = new StringBuilder(); @@ -926,7 +1024,7 @@ public class AbilityFactory { // StackDescriptions are overwritten by the AF type instead of through this //if (!isTargeted) - // SA.setStackDescription(hostCard.getName()); + //SA.setStackDescription(hostCard.getName()); makeRestrictions(SA); makeConditions(SA); @@ -1009,10 +1107,10 @@ public class AbilityFactory { public static boolean playReusable(final SpellAbility sa) { // TODO probably also consider if winter orb or similar are out - if (sa.getPayCosts() == null) { - // This is only true for Drawbacks and triggers - return true; - } + if (sa.getPayCosts() == null) { + // This is only true for Drawbacks and triggers + return true; + } return (sa.getPayCosts().isReusuableResource() && AllZone.getPhase().is(Constant.Phase.End_Of_Turn) && AllZone.getPhase().isNextTurn(AllZone.getComputerPlayer())); @@ -1029,7 +1127,7 @@ public class AbilityFactory { return (sa.getSourceCard().isCreature() && sa.getPayCosts().getTap() && (AllZone.getPhase().isBefore(Constant.Phase.Combat_Declare_Blockers_InstantAbility) - || AllZone.getPhase().isNextTurn(AllZone.getHumanPlayer()))); + || AllZone.getPhase().isNextTurn(AllZone.getHumanPlayer()))); } /** @@ -1440,7 +1538,7 @@ public class AbilityFactory { */ public static ArrayList getDefinedSpellAbilities(final Card card, final String def, final SpellAbility sa) - { + { ArrayList sas = new ArrayList(); String defined = (def == null) ? "Self" : def; // default to Self @@ -1453,7 +1551,7 @@ public class AbilityFactory { SpellAbility parent = findParentsTargetedSpellAbility(sa); sas.addAll(parent.getTarget().getTargetSAs()); } else if (defined.startsWith("Triggered")) { - SpellAbility root = sa.getRootSpellAbility(); + SpellAbility root = sa.getRootSpellAbility(); String triggeringType = defined.substring(9); Object o = root.getTriggeringObject(triggeringType); @@ -1471,7 +1569,7 @@ public class AbilityFactory { } return sas; - } + } /** *

getDefinedObjects.

@@ -1594,12 +1692,12 @@ public class AbilityFactory { */ public static ArrayList predictThreatenedObjects(final AbilityFactory saviourAf, final SpellAbility topStack) - { + { ArrayList objects = new ArrayList(); ArrayList threatened = new ArrayList(); String saviourApi = ""; if (saviourAf != null) { - saviourApi = saviourAf.getAPI(); + saviourApi = saviourAf.getAPI(); } if (topStack == null) { @@ -1635,22 +1733,22 @@ public class AbilityFactory { // indestructible if (c.hasKeyword("Indestructible")) { - continue; + continue; } //already regenerated if (c.getShield() > 0) { - continue; + continue; } //don't use it on creatures that can't be regenerated if (saviourApi.equals("Regenerate") && !c.canBeShielded()) { - continue; + continue; } //don't bounce or blink a permanent that the human player owns or is a token if (saviourApi.equals("ChangeZone") && (c.getOwner().isHuman() || c.isToken())) { - continue; + continue; } if (c.predictDamage(dmg, source, false) >= c.getKillDamage()) { @@ -1671,57 +1769,57 @@ public class AbilityFactory { } //Destroy => regeneration/bounce else if ((threatApi.equals("Destroy") || threatApi.equals("DestroyAll")) - && ((saviourApi.equals("Regenerate") && !threatParams.containsKey("NoRegen")) - || saviourApi.equals("ChangeZone"))) + && ((saviourApi.equals("Regenerate") && !threatParams.containsKey("NoRegen")) + || saviourApi.equals("ChangeZone"))) { - for (Object o : objects) { + for (Object o : objects) { if (o instanceof Card) { Card c = (Card) o; // indestructible if (c.hasKeyword("Indestructible")) { - continue; + continue; } //already regenerated if (c.getShield() > 0) { - continue; + continue; } //don't bounce or blink a permanent that the human player owns or is a token if (saviourApi.equals("ChangeZone") && (c.getOwner().isHuman() || c.isToken())) { - continue; + continue; } //don't use it on creatures that can't be regenerated if (saviourApi.equals("Regenerate") && !c.canBeShielded()) { - continue; + continue; } threatened.add(c); } - } + } } //Exiling => bounce else if ((threatApi.equals("ChangeZone") || threatApi.equals("ChangeZoneAll")) - && saviourApi.equals("ChangeZone") - && threatParams.containsKey("Destination") && threatParams.get("Destination").equals("Exile")) + && saviourApi.equals("ChangeZone") + && threatParams.containsKey("Destination") && threatParams.get("Destination").equals("Exile")) { - for (Object o : objects) { + for (Object o : objects) { if (o instanceof Card) { Card c = (Card) o; //don't bounce or blink a permanent that the human player owns or is a token if (saviourApi.equals("ChangeZone") && (c.getOwner().isHuman() || c.isToken())) { - continue; + continue; } threatened.add(c); } - } + } } } threatened.addAll(predictThreatenedObjects(saviourAf, topStack.getSubAbility())); return threatened; - } + } /** *

handleRemembering.

@@ -1837,7 +1935,7 @@ public class AbilityFactory { public void execute() { resolveSubAbilities(sa); if (usedStack) { - AllZone.getStack().finishResolving(sa, false); + AllZone.getStack().finishResolving(sa, false); } } }; @@ -1852,7 +1950,7 @@ public class AbilityFactory { } resolveSubAbilities(sa); if (usedStack) { - AllZone.getStack().finishResolving(sa, false); + AllZone.getStack().finishResolving(sa, false); } } }; @@ -1865,7 +1963,7 @@ public class AbilityFactory { ComputerUtil.playNoStack(ability); //Unless cost was payed - no resolve resolveSubAbilities(sa); if (usedStack) { - AllZone.getStack().finishResolving(sa, false); + AllZone.getStack().finishResolving(sa, false); } } else { sa.resolve(); @@ -1874,7 +1972,7 @@ public class AbilityFactory { } resolveSubAbilities(sa); if (usedStack) { - AllZone.getStack().finishResolving(sa, false); + AllZone.getStack().finishResolving(sa, false); } } } @@ -1892,8 +1990,8 @@ public class AbilityFactory { } AbilityFactory af = sa.getAbilityFactory(); if (af == null) { - sa.resolve(); - return; + sa.resolve(); + return; } HashMap params = af.getMapParams(); @@ -1906,7 +2004,7 @@ public class AbilityFactory { //try to resolve subabilities (see null check above) resolveSubAbilities(sa); if (usedStack) { - AllZone.getStack().finishResolving(sa, false); + AllZone.getStack().finishResolving(sa, false); } } else { passUnlessCost(sa, usedStack); diff --git a/src/main/java/forge/card/abilityFactory/AbilityFactory_Choose.java b/src/main/java/forge/card/abilityFactory/AbilityFactory_Choose.java index 078c1634ef1..ba27126bebd 100644 --- a/src/main/java/forge/card/abilityFactory/AbilityFactory_Choose.java +++ b/src/main/java/forge/card/abilityFactory/AbilityFactory_Choose.java @@ -19,11 +19,13 @@ import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; -import javax.swing.*; + import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; +import javax.swing.JOptionPane; + /** *

AbilityFactory_Choose class.

* @@ -31,6 +33,11 @@ import java.util.HashMap; * @version $Id$ */ public class AbilityFactory_Choose { + + private AbilityFactory_Choose() { + throw new AssertionError(); + } + // ************************************************************************* // ************************* ChooseType ************************************ // *************************************************************************