From fc91229e9505d35435b0f2ecb4309cb4d76f7b4c Mon Sep 17 00:00:00 2001
From: Maxmtg
Date: Tue, 9 Apr 2013 15:34:51 +0000
Subject: [PATCH] getAttackerList was duplicate of getAttackers - has been
replaced.
---
.../java/forge/card/ability/ai/EffectAi.java | 2 +-
.../java/forge/card/ability/ai/PumpAiBase.java | 8 ++++----
.../java/forge/card/ability/ai/TapAiBase.java | 2 +-
.../card/ability/effects/ChooseColorEffect.java | 3 +--
.../java/forge/control/input/InputAttack.java | 14 ++++----------
src/main/java/forge/game/phase/Combat.java | 17 +++--------------
src/main/java/forge/game/phase/CombatUtil.java | 8 ++++----
src/main/java/forge/game/phase/PhaseUtil.java | 8 ++++----
.../forge/gui/match/nonsingleton/CField.java | 2 +-
9 files changed, 23 insertions(+), 41 deletions(-)
diff --git a/src/main/java/forge/card/ability/ai/EffectAi.java b/src/main/java/forge/card/ability/ai/EffectAi.java
index 1c2ff1f58d3..937afb351a5 100644
--- a/src/main/java/forge/card/ability/ai/EffectAi.java
+++ b/src/main/java/forge/card/ability/ai/EffectAi.java
@@ -63,7 +63,7 @@ public class EffectAi extends SpellAbilityAi {
final Target tgt = sa.getTarget();
if (tgt != null) {
tgt.resetTargets();
- List list = game.getCombat().getAttackerList();
+ List list = game.getCombat().getAttackers();
list = CardLists.getValidCards(list, tgt.getValidTgts(), sa.getActivatingPlayer(), sa.getSourceCard());
list = CardLists.getTargetableCards(list, sa);
Card target = ComputerUtilCard.getBestCreatureAI(list);
diff --git a/src/main/java/forge/card/ability/ai/PumpAiBase.java b/src/main/java/forge/card/ability/ai/PumpAiBase.java
index c7e8174d045..9921cb8a9fb 100644
--- a/src/main/java/forge/card/ability/ai/PumpAiBase.java
+++ b/src/main/java/forge/card/ability/ai/PumpAiBase.java
@@ -179,7 +179,7 @@ public abstract class PumpAiBase extends SpellAbilityAi {
} else if (keyword.endsWith("Flying")) {
if (ph.isPlayerTurn(opp)
&& ph.getPhase().equals(PhaseType.COMBAT_DECLARE_ATTACKERS_INSTANT_ABILITY)
- && !CardLists.getKeyword(Singletons.getModel().getGame().getCombat().getAttackerList(), "Flying").isEmpty()
+ && !CardLists.getKeyword(Singletons.getModel().getGame().getCombat().getAttackers(), "Flying").isEmpty()
&& !card.hasKeyword("Reach")
&& CombatUtil.canBlock(card)
&& ComputerUtilCombat.lifeInDanger(ai, Singletons.getModel().getGame().getCombat())) {
@@ -196,7 +196,7 @@ public abstract class PumpAiBase extends SpellAbilityAi {
} else if (keyword.endsWith("Horsemanship")) {
if (ph.isPlayerTurn(opp)
&& ph.getPhase().equals(PhaseType.COMBAT_DECLARE_ATTACKERS_INSTANT_ABILITY)
- && !CardLists.getKeyword(Singletons.getModel().getGame().getCombat().getAttackerList(), "Horsemanship").isEmpty()
+ && !CardLists.getKeyword(Singletons.getModel().getGame().getCombat().getAttackers(), "Horsemanship").isEmpty()
&& CombatUtil.canBlock(card)
&& ComputerUtilCombat.lifeInDanger(ai, Singletons.getModel().getGame().getCombat())) {
return true;
@@ -312,7 +312,7 @@ public abstract class PumpAiBase extends SpellAbilityAi {
} else if (keyword.equals("Reach")) {
if (ph.isPlayerTurn(ai)
|| !ph.getPhase().equals(PhaseType.COMBAT_DECLARE_ATTACKERS_INSTANT_ABILITY)
- || CardLists.getKeyword(Singletons.getModel().getGame().getCombat().getAttackerList(), "Flying").isEmpty()
+ || CardLists.getKeyword(Singletons.getModel().getGame().getCombat().getAttackers(), "Flying").isEmpty()
|| card.hasKeyword("Flying")
|| !CombatUtil.canBlock(card)) {
return false;
@@ -324,7 +324,7 @@ public abstract class PumpAiBase extends SpellAbilityAi {
}
int canBlockNum = 1 + card.getKeywordAmount("CARDNAME can block an additional creature.");
int possibleBlockNum = 0;
- for (Card attacker : Singletons.getModel().getGame().getCombat().getAttackerList()) {
+ for (Card attacker : Singletons.getModel().getGame().getCombat().getAttackers()) {
if (CombatUtil.canBlock(attacker, card)) {
possibleBlockNum++;
if (possibleBlockNum > canBlockNum) {
diff --git a/src/main/java/forge/card/ability/ai/TapAiBase.java b/src/main/java/forge/card/ability/ai/TapAiBase.java
index 452dbb4981e..238c8f78543 100644
--- a/src/main/java/forge/card/ability/ai/TapAiBase.java
+++ b/src/main/java/forge/card/ability/ai/TapAiBase.java
@@ -167,7 +167,7 @@ public abstract class TapAiBase extends SpellAbilityAi {
List attackers;
if (phase.getPhase().isAfter(PhaseType.COMBAT_DECLARE_ATTACKERS)) {
//Combat has already started
- attackers = Singletons.getModel().getGame().getCombat().getAttackerList();
+ attackers = Singletons.getModel().getGame().getCombat().getAttackers();
} else {
attackers = CardLists.filter(ai.getCreaturesInPlay(), new Predicate() {
@Override
diff --git a/src/main/java/forge/card/ability/effects/ChooseColorEffect.java b/src/main/java/forge/card/ability/effects/ChooseColorEffect.java
index cfefeffb9af..0786724192a 100644
--- a/src/main/java/forge/card/ability/effects/ChooseColorEffect.java
+++ b/src/main/java/forge/card/ability/effects/ChooseColorEffect.java
@@ -100,8 +100,7 @@ public class ChooseColorEffect extends SpellAbilityEffect {
chosen.add(ComputerUtilCard.getMostProminentColor(list));
}
else if (logic.equals("MostProminentAttackers")) {
- chosen.add(ComputerUtilCard.getMostProminentColor(Singletons.getModel().getGame().getCombat()
- .getAttackerList()));
+ chosen.add(ComputerUtilCard.getMostProminentColor(Singletons.getModel().getGame().getCombat().getAttackers()));
}
else if (logic.equals("MostProminentKeywordInComputerDeck")) {
List list = ai.getAllCards();
diff --git a/src/main/java/forge/control/input/InputAttack.java b/src/main/java/forge/control/input/InputAttack.java
index 55367ce8f11..0f22db80ed6 100644
--- a/src/main/java/forge/control/input/InputAttack.java
+++ b/src/main/java/forge/control/input/InputAttack.java
@@ -65,18 +65,12 @@ public class InputAttack extends InputBase {
return;
}
- final StringBuilder sb = new StringBuilder();
- sb.append("Declare Attackers: Select Creatures to Attack ");
- sb.append(o.toString());
+ showMessage("Declare Attackers: Select Creatures to Attack " + o.toString());
- CMatchUI.SINGLETON_INSTANCE.showMessage(sb.toString());
-
- if (game.getCombat().getRemainingDefenders() == 0) {
- // Nothing left to attack, has to attack this defender
- List possibleAttackers = Singletons.getControl().getPlayer().getCardsIn(ZoneType.Battlefield);
+ if (game.getCombat().getRemainingDefenders() == 0) { // last Target
+ List possibleAttackers = player.getCardsIn(ZoneType.Battlefield);
for (Card c : Iterables.filter(possibleAttackers, CardPredicates.Presets.CREATURES)) {
- if (c.hasKeyword("CARDNAME attacks each turn if able.") && CombatUtil.canAttack(c, game.getCombat())
- && !c.isAttacking()) {
+ if (c.hasKeyword("CARDNAME attacks each turn if able.") && CombatUtil.canAttack(c, game.getCombat()) && !c.isAttacking()) {
game.getCombat().addAttacker(c);
}
}
diff --git a/src/main/java/forge/game/phase/Combat.java b/src/main/java/forge/game/phase/Combat.java
index 2a43d645dc8..7c4987b65d1 100644
--- a/src/main/java/forge/game/phase/Combat.java
+++ b/src/main/java/forge/game/phase/Combat.java
@@ -429,17 +429,6 @@ public class Combat {
return new ArrayList(this.attackerMap.keySet());
} // getAttackers()
- /**
- *
- * getAttackerList.
- *
- *
- * @return an array of {@link forge.Card} objects.
- */
- public final List getAttackerList() {
- return new ArrayList(this.attackerMap.keySet());
- } // getAttackers()
-
/**
*
* isBlocked.
@@ -642,7 +631,7 @@ public class Combat {
* a {@link forge.Card} object.
*/
public final void undoBlockingAssignment(final Card blocker) {
- final List att = this.getAttackerList();
+ final List att = this.getAttackers();
for (final Card attacker : att) {
if (this.getBlockers(attacker).contains(blocker)) {
this.getBlockingAttackerList(attacker).remove(blocker);
@@ -677,7 +666,7 @@ public class Combat {
*
*/
public final void setUnblocked() {
- final List attacking = this.getAttackerList();
+ final List attacking = this.getAttackers();
for (final Card attacker : attacking) {
final List block = this.getBlockers(attacker);
@@ -723,7 +712,7 @@ public class Combat {
private final boolean assignAttackersDamage(boolean firstStrikeDamage) {
this.defendingDamageMap.clear(); // this should really happen in deal damage
List blockers = null;
- final List attackers = this.getAttackerList();
+ final List attackers = this.getAttackers();
boolean assignedDamage = false;
for (final Card attacker : attackers) {
// If attacker isn't in the right first/regular strike section, continue along
diff --git a/src/main/java/forge/game/phase/CombatUtil.java b/src/main/java/forge/game/phase/CombatUtil.java
index 70c81f3bda0..e9dd96eab38 100644
--- a/src/main/java/forge/game/phase/CombatUtil.java
+++ b/src/main/java/forge/game/phase/CombatUtil.java
@@ -385,7 +385,7 @@ public class CombatUtil {
public static boolean finishedMandatoryBlocks(final Combat combat, final Player defending) {
final List blockers = Singletons.getControl().getPlayer().getCreaturesInPlay();
- final List attackers = combat.getAttackerList();
+ final List attackers = combat.getAttackers();
// if a creature does not block but should, return false
for (final Card blocker : blockers) {
@@ -433,7 +433,7 @@ public class CombatUtil {
private static void orderMultipleBlockers(final Combat combat) {
// If there are multiple blockers, the Attacker declares the Assignment Order
final Player player = combat.getAttackingPlayer();
- final List attackers = combat.getAttackerList();
+ final List attackers = combat.getAttackers();
for (final Card attacker : attackers) {
List blockers = combat.getBlockers(attacker);
if (blockers.size() <= 1) {
@@ -484,7 +484,7 @@ public class CombatUtil {
return false;
}
- final List attackers = combat.getAttackerList();
+ final List attackers = combat.getAttackers();
final List attackersWithLure = new ArrayList();
for (final Card attacker : attackers) {
if (attacker.hasStartOfKeyword("All creatures able to block CARDNAME do so.")
@@ -1194,7 +1194,7 @@ public class CombatUtil {
// Run triggers
final HashMap runParams = new HashMap();
runParams.put("Attacker", c);
- final List otherAttackers = Singletons.getModel().getGame().getCombat().getAttackerList();
+ final List otherAttackers = Singletons.getModel().getGame().getCombat().getAttackers();
otherAttackers.remove(c);
runParams.put("OtherAttackers", otherAttackers);
runParams.put("Attacked", Singletons.getModel().getGame().getCombat().getDefenderByAttacker(c));
diff --git a/src/main/java/forge/game/phase/PhaseUtil.java b/src/main/java/forge/game/phase/PhaseUtil.java
index a33abf99f3a..2f8d384a60d 100644
--- a/src/main/java/forge/game/phase/PhaseUtil.java
+++ b/src/main/java/forge/game/phase/PhaseUtil.java
@@ -126,7 +126,7 @@ public class PhaseUtil {
// Handles removing cards like Mogg Flunkies from combat if group attack
// didn't occur
- final List filterList = combat.getAttackerList();
+ final List filterList = combat.getAttackers();
for (Card c : filterList) {
if (c.hasKeyword("CARDNAME can't attack or block alone.") && c.isAttacking()) {
if (combat.getAttackers().size() < 2) {
@@ -135,7 +135,7 @@ public class PhaseUtil {
}
}
- final List list = combat.getAttackerList();
+ final List list = combat.getAttackers();
// TODO move propaganda to happen as the Attacker is Declared
// Remove illegal Propaganda attacks first only for attacking the Player
@@ -154,7 +154,7 @@ public class PhaseUtil {
*
*/
public static void handleAttackingTriggers() {
- final List list = Singletons.getModel().getGame().getCombat().getAttackerList();
+ final List list = Singletons.getModel().getGame().getCombat().getAttackers();
Singletons.getModel().getGame().getStack().freezeStack();
// Then run other Attacker bonuses
// check for exalted:
@@ -220,7 +220,7 @@ public class PhaseUtil {
}
});
- final List attList = game.getCombat().getAttackerList();
+ final List attList = game.getCombat().getAttackers();
CombatUtil.checkDeclareBlockers(list);
diff --git a/src/main/java/forge/gui/match/nonsingleton/CField.java b/src/main/java/forge/gui/match/nonsingleton/CField.java
index 46411578830..4ff05c1f474 100644
--- a/src/main/java/forge/gui/match/nonsingleton/CField.java
+++ b/src/main/java/forge/gui/match/nonsingleton/CField.java
@@ -406,7 +406,7 @@ public class CField implements ICDoc {
}
}
- final List att = Singletons.getModel().getGame().getCombat().getAttackerList();
+ final List att = Singletons.getModel().getGame().getCombat().getAttackers();
if ((c.isTapped() || c.hasSickness() || (c.hasKeyword("Vigilance") && att.contains(c))) && (input instanceof InputAttack)) {
final CardPanel cardPanel = CField.this.view.getTabletop().getCardPanel(c.getUniqueNumber());
for (final CardPanel cp : cardPanel.getAttachedPanels()) {