mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 11:18:01 +00:00
moved Combat & CombatUtil to package forge.card.combat Sol has created.
removed EndOfCombat and Cleanup classes as they don't add anything specific to base class. Base class Phase is no longer abstract, also it does not need reference to game instance any longer
This commit is contained in:
6
.gitattributes
vendored
6
.gitattributes
vendored
@@ -14475,6 +14475,8 @@ src/main/java/forge/game/ai/ComputerUtilCombat.java -text
|
||||
src/main/java/forge/game/ai/ComputerUtilCost.java -text
|
||||
src/main/java/forge/game/ai/ComputerUtilMana.java -text
|
||||
src/main/java/forge/game/combat/AttackingBand.java -text
|
||||
src/main/java/forge/game/combat/Combat.java svneol=native#text/plain
|
||||
src/main/java/forge/game/combat/CombatUtil.java svneol=native#text/plain
|
||||
src/main/java/forge/game/event/GameEvent.java -text
|
||||
src/main/java/forge/game/event/GameEventAnteCardsSelected.java -text
|
||||
src/main/java/forge/game/event/GameEventAttackersDeclared.java -text
|
||||
@@ -14528,10 +14530,6 @@ src/main/java/forge/game/limited/SealedCardPoolGenerator.java svneol=native#text
|
||||
src/main/java/forge/game/limited/SealedDeckBuilder.java svneol=native#text/plain
|
||||
src/main/java/forge/game/limited/package-info.java svneol=native#text/plain
|
||||
src/main/java/forge/game/package-info.java -text
|
||||
src/main/java/forge/game/phase/Cleanup.java -text
|
||||
src/main/java/forge/game/phase/Combat.java svneol=native#text/plain
|
||||
src/main/java/forge/game/phase/CombatUtil.java svneol=native#text/plain
|
||||
src/main/java/forge/game/phase/EndOfCombat.java svneol=native#text/plain
|
||||
src/main/java/forge/game/phase/EndOfTurn.java svneol=native#text/plain
|
||||
src/main/java/forge/game/phase/ExtraTurn.java -text
|
||||
src/main/java/forge/game/phase/Phase.java svneol=native#text/plain
|
||||
|
||||
@@ -70,13 +70,13 @@ import forge.game.Game;
|
||||
import forge.game.GameActionUtil;
|
||||
import forge.game.GlobalRuleChange;
|
||||
import forge.game.combat.AttackingBand;
|
||||
import forge.game.combat.Combat;
|
||||
import forge.game.event.GameEventCardDamaged;
|
||||
import forge.game.event.GameEventCardDamaged.DamageType;
|
||||
import forge.game.event.GameEventCardEquipped;
|
||||
import forge.game.event.GameEventCounterAdded;
|
||||
import forge.game.event.GameEventCounterRemoved;
|
||||
import forge.game.event.GameEventCardTapped;
|
||||
import forge.game.phase.Combat;
|
||||
import forge.game.player.Player;
|
||||
import forge.game.zone.Zone;
|
||||
import forge.game.zone.ZoneType;
|
||||
|
||||
@@ -24,7 +24,7 @@ import com.google.common.base.Predicate;
|
||||
import com.google.common.collect.Iterables;
|
||||
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.game.phase.CombatUtil;
|
||||
import forge.game.combat.CombatUtil;
|
||||
import forge.game.player.Player;
|
||||
import forge.util.PredicateString;
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ import forge.game.ai.ComputerUtil;
|
||||
import forge.game.ai.ComputerUtilCard;
|
||||
import forge.game.ai.ComputerUtilCost;
|
||||
import forge.game.ai.ComputerUtilMana;
|
||||
import forge.game.phase.CombatUtil;
|
||||
import forge.game.combat.CombatUtil;
|
||||
import forge.game.phase.PhaseHandler;
|
||||
import forge.game.phase.PhaseType;
|
||||
import forge.game.player.Player;
|
||||
|
||||
@@ -37,7 +37,7 @@ import forge.game.ai.ComputerUtilCard;
|
||||
import forge.game.ai.ComputerUtilCombat;
|
||||
import forge.game.ai.ComputerUtilCost;
|
||||
import forge.game.ai.ComputerUtilMana;
|
||||
import forge.game.phase.Combat;
|
||||
import forge.game.combat.Combat;
|
||||
import forge.game.phase.PhaseType;
|
||||
import forge.game.player.Player;
|
||||
import forge.game.player.PlayerActionConfirmMode;
|
||||
|
||||
@@ -13,7 +13,7 @@ import forge.card.spellability.TargetRestrictions;
|
||||
import forge.game.Game;
|
||||
import forge.game.ai.ComputerUtilCard;
|
||||
import forge.game.ai.ComputerUtilCombat;
|
||||
import forge.game.phase.Combat;
|
||||
import forge.game.combat.Combat;
|
||||
import forge.game.phase.PhaseType;
|
||||
import forge.game.player.Player;
|
||||
import forge.game.zone.ZoneType;
|
||||
|
||||
@@ -16,7 +16,7 @@ import forge.card.spellability.TargetRestrictions;
|
||||
import forge.game.Game;
|
||||
import forge.game.ai.ComputerUtilCombat;
|
||||
import forge.game.ai.ComputerUtilCost;
|
||||
import forge.game.phase.Combat;
|
||||
import forge.game.combat.Combat;
|
||||
import forge.game.phase.PhaseType;
|
||||
import forge.game.player.Player;
|
||||
import forge.game.zone.ZoneType;
|
||||
|
||||
@@ -31,7 +31,7 @@ import forge.card.spellability.SpellAbility;
|
||||
import forge.card.spellability.TargetRestrictions;
|
||||
import forge.game.Game;
|
||||
import forge.game.ai.ComputerUtilCard;
|
||||
import forge.game.phase.CombatUtil;
|
||||
import forge.game.combat.CombatUtil;
|
||||
import forge.game.phase.PhaseType;
|
||||
import forge.game.player.Player;
|
||||
import forge.game.zone.ZoneType;
|
||||
|
||||
@@ -17,7 +17,7 @@ import forge.game.ai.ComputerUtil;
|
||||
import forge.game.ai.ComputerUtilCard;
|
||||
import forge.game.ai.ComputerUtilCombat;
|
||||
import forge.game.ai.ComputerUtilCost;
|
||||
import forge.game.phase.Combat;
|
||||
import forge.game.combat.Combat;
|
||||
import forge.game.phase.PhaseHandler;
|
||||
import forge.game.phase.PhaseType;
|
||||
import forge.game.player.Player;
|
||||
|
||||
@@ -19,7 +19,7 @@ import forge.card.spellability.TargetRestrictions;
|
||||
import forge.game.Game;
|
||||
import forge.game.ai.ComputerUtilCard;
|
||||
import forge.game.ai.ComputerUtilCost;
|
||||
import forge.game.phase.Combat;
|
||||
import forge.game.combat.Combat;
|
||||
import forge.game.phase.PhaseHandler;
|
||||
import forge.game.phase.PhaseType;
|
||||
import forge.game.player.Player;
|
||||
|
||||
@@ -9,7 +9,7 @@ import forge.Card;
|
||||
import forge.CardLists;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.game.phase.CombatUtil;
|
||||
import forge.game.combat.CombatUtil;
|
||||
import forge.game.phase.PhaseType;
|
||||
import forge.game.player.Player;
|
||||
import forge.game.zone.ZoneType;
|
||||
|
||||
@@ -13,7 +13,7 @@ import forge.card.spellability.TargetRestrictions;
|
||||
import forge.game.Game;
|
||||
import forge.game.ai.ComputerUtilCard;
|
||||
import forge.game.ai.ComputerUtilCombat;
|
||||
import forge.game.phase.CombatUtil;
|
||||
import forge.game.combat.CombatUtil;
|
||||
import forge.game.phase.PhaseHandler;
|
||||
import forge.game.phase.PhaseType;
|
||||
import forge.game.player.Player;
|
||||
|
||||
@@ -26,7 +26,7 @@ import forge.CardLists;
|
||||
import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.game.ai.ComputerUtilCard;
|
||||
import forge.game.phase.CombatUtil;
|
||||
import forge.game.combat.CombatUtil;
|
||||
import forge.game.player.Player;
|
||||
import forge.game.player.PlayerActionConfirmMode;
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ import forge.card.spellability.SpellAbility;
|
||||
import forge.card.spellability.TargetRestrictions;
|
||||
import forge.game.ai.ComputerUtilCard;
|
||||
import forge.game.ai.ComputerUtilCombat;
|
||||
import forge.game.phase.CombatUtil;
|
||||
import forge.game.combat.CombatUtil;
|
||||
import forge.game.phase.PhaseType;
|
||||
import forge.game.player.Player;
|
||||
import forge.game.zone.ZoneType;
|
||||
|
||||
@@ -18,7 +18,7 @@ import forge.game.ai.ComputerUtil;
|
||||
import forge.game.ai.ComputerUtilCard;
|
||||
import forge.game.ai.ComputerUtilCombat;
|
||||
import forge.game.ai.ComputerUtilCost;
|
||||
import forge.game.phase.Combat;
|
||||
import forge.game.combat.Combat;
|
||||
import forge.game.phase.PhaseType;
|
||||
import forge.game.player.Player;
|
||||
import forge.game.zone.ZoneType;
|
||||
|
||||
@@ -17,8 +17,8 @@ import forge.game.Game;
|
||||
import forge.game.ai.ComputerUtil;
|
||||
import forge.game.ai.ComputerUtilCard;
|
||||
import forge.game.ai.ComputerUtilCombat;
|
||||
import forge.game.phase.Combat;
|
||||
import forge.game.phase.CombatUtil;
|
||||
import forge.game.combat.Combat;
|
||||
import forge.game.combat.CombatUtil;
|
||||
import forge.game.phase.PhaseHandler;
|
||||
import forge.game.phase.PhaseType;
|
||||
import forge.game.phase.Untap;
|
||||
|
||||
@@ -15,8 +15,8 @@ import forge.game.Game;
|
||||
import forge.game.ai.ComputerUtil;
|
||||
import forge.game.ai.ComputerUtilCard;
|
||||
import forge.game.ai.ComputerUtilCombat;
|
||||
import forge.game.phase.Combat;
|
||||
import forge.game.phase.CombatUtil;
|
||||
import forge.game.combat.Combat;
|
||||
import forge.game.combat.CombatUtil;
|
||||
import forge.game.phase.PhaseType;
|
||||
import forge.game.player.Player;
|
||||
import forge.game.zone.ZoneType;
|
||||
|
||||
@@ -34,7 +34,7 @@ import forge.game.ai.ComputerUtil;
|
||||
import forge.game.ai.ComputerUtilCard;
|
||||
import forge.game.ai.ComputerUtilCombat;
|
||||
import forge.game.ai.ComputerUtilCost;
|
||||
import forge.game.phase.Combat;
|
||||
import forge.game.combat.Combat;
|
||||
import forge.game.phase.PhaseType;
|
||||
import forge.game.player.Player;
|
||||
import forge.game.zone.ZoneType;
|
||||
|
||||
@@ -13,7 +13,7 @@ import forge.game.Game;
|
||||
import forge.game.ai.ComputerUtil;
|
||||
import forge.game.ai.ComputerUtilCombat;
|
||||
import forge.game.ai.ComputerUtilCost;
|
||||
import forge.game.phase.Combat;
|
||||
import forge.game.combat.Combat;
|
||||
import forge.game.phase.PhaseType;
|
||||
import forge.game.player.Player;
|
||||
import forge.game.zone.ZoneType;
|
||||
|
||||
@@ -15,7 +15,7 @@ import forge.card.spellability.TargetRestrictions;
|
||||
import forge.game.Game;
|
||||
import forge.game.ai.ComputerUtil;
|
||||
import forge.game.ai.ComputerUtilCard;
|
||||
import forge.game.phase.CombatUtil;
|
||||
import forge.game.combat.CombatUtil;
|
||||
import forge.game.phase.PhaseHandler;
|
||||
import forge.game.phase.PhaseType;
|
||||
import forge.game.player.Player;
|
||||
|
||||
@@ -13,7 +13,7 @@ import forge.card.ability.SpellAbilityAi;
|
||||
import forge.card.spellability.SpellAbility;
|
||||
import forge.card.spellability.TargetRestrictions;
|
||||
import forge.game.Game;
|
||||
import forge.game.phase.CombatUtil;
|
||||
import forge.game.combat.CombatUtil;
|
||||
import forge.game.phase.PhaseType;
|
||||
import forge.game.player.Player;
|
||||
import forge.game.zone.ZoneType;
|
||||
|
||||
@@ -23,7 +23,7 @@ import forge.card.spellability.SpellAbilityStackInstance;
|
||||
import forge.card.spellability.TargetRestrictions;
|
||||
import forge.card.trigger.TriggerType;
|
||||
import forge.game.Game;
|
||||
import forge.game.phase.Combat;
|
||||
import forge.game.combat.Combat;
|
||||
import forge.game.player.Player;
|
||||
import forge.game.zone.Zone;
|
||||
import forge.game.zone.ZoneType;
|
||||
|
||||
@@ -18,7 +18,7 @@ import forge.card.spellability.TargetRestrictions;
|
||||
import forge.game.Game;
|
||||
import forge.game.ai.ComputerUtilCard;
|
||||
import forge.game.ai.ComputerUtilCombat;
|
||||
import forge.game.phase.Combat;
|
||||
import forge.game.combat.Combat;
|
||||
import forge.game.player.Player;
|
||||
import forge.game.zone.ZoneType;
|
||||
import forge.gui.GuiChoose;
|
||||
|
||||
@@ -31,8 +31,8 @@ import forge.card.spellability.SpellAbility;
|
||||
import forge.card.trigger.Trigger;
|
||||
import forge.card.trigger.TriggerHandler;
|
||||
import forge.game.Game;
|
||||
import forge.game.combat.Combat;
|
||||
import forge.game.event.GameEventTokenCreated;
|
||||
import forge.game.phase.Combat;
|
||||
import forge.game.player.Player;
|
||||
import forge.gui.GuiChoose;
|
||||
import forge.item.PaperToken;
|
||||
|
||||
@@ -35,13 +35,13 @@ import forge.card.replacement.ReplacementHandler;
|
||||
import forge.card.spellability.SpellAbilityStackInstance;
|
||||
import forge.card.trigger.TriggerHandler;
|
||||
import forge.card.trigger.TriggerType;
|
||||
import forge.game.combat.Combat;
|
||||
import forge.game.event.GameEvent;
|
||||
import forge.game.event.GameEventGameOutcome;
|
||||
import forge.game.phase.Cleanup;
|
||||
import forge.game.phase.Combat;
|
||||
import forge.game.phase.EndOfCombat;
|
||||
import forge.game.phase.EndOfTurn;
|
||||
import forge.game.phase.Phase;
|
||||
import forge.game.phase.PhaseHandler;
|
||||
import forge.game.phase.PhaseType;
|
||||
import forge.game.phase.Untap;
|
||||
import forge.game.phase.Upkeep;
|
||||
import forge.game.player.Player;
|
||||
@@ -61,9 +61,9 @@ public class Game {
|
||||
|
||||
private List<Card> activePlanes = null;
|
||||
|
||||
public final Cleanup cleanup;
|
||||
public final Phase cleanup;
|
||||
public final EndOfTurn endOfTurn;
|
||||
public final EndOfCombat endOfCombat;
|
||||
public final Phase endOfCombat;
|
||||
public final Untap untap;
|
||||
public final Upkeep upkeep;
|
||||
private final PhaseHandler phaseHandler;
|
||||
@@ -114,9 +114,9 @@ public class Game {
|
||||
|
||||
untap = new Untap(this);
|
||||
upkeep = new Upkeep(this);
|
||||
cleanup = new Cleanup(this);
|
||||
cleanup = new Phase(PhaseType.CLEANUP);
|
||||
endOfTurn = new EndOfTurn(this);
|
||||
endOfCombat = new EndOfCombat(this);
|
||||
endOfCombat = new Phase(PhaseType.COMBAT_END);
|
||||
|
||||
subscribeToEvents(gameLog.getEventVisitor());
|
||||
}
|
||||
@@ -145,7 +145,7 @@ public class Game {
|
||||
*
|
||||
* @return the cleanup step
|
||||
*/
|
||||
public final Cleanup getCleanup() {
|
||||
public final Phase getCleanup() {
|
||||
return this.cleanup;
|
||||
}
|
||||
|
||||
@@ -163,7 +163,7 @@ public class Game {
|
||||
*
|
||||
* @return the endOfCombat
|
||||
*/
|
||||
public final EndOfCombat getEndOfCombat() {
|
||||
public final Phase getEndOfCombat() {
|
||||
return this.endOfCombat;
|
||||
}
|
||||
|
||||
|
||||
@@ -30,8 +30,8 @@ import forge.CounterType;
|
||||
import forge.GameEntity;
|
||||
import forge.card.trigger.Trigger;
|
||||
import forge.card.trigger.TriggerType;
|
||||
import forge.game.phase.Combat;
|
||||
import forge.game.phase.CombatUtil;
|
||||
import forge.game.combat.Combat;
|
||||
import forge.game.combat.CombatUtil;
|
||||
import forge.game.player.Player;
|
||||
import forge.game.zone.ZoneType;
|
||||
|
||||
@@ -130,7 +130,7 @@ public class AiAttackController {
|
||||
* @param attacker
|
||||
* a {@link forge.Card} object.
|
||||
* @param combat
|
||||
* a {@link forge.game.phase.Combat} object.
|
||||
* a {@link forge.game.combat.Combat} object.
|
||||
* @return a boolean.
|
||||
*/
|
||||
public final boolean isEffectiveAttacker(final Player ai, final Card attacker, final Combat combat) {
|
||||
@@ -220,7 +220,7 @@ public class AiAttackController {
|
||||
* @param attackers
|
||||
* a {@link forge.CardList} object.
|
||||
* @param combat
|
||||
* a {@link forge.game.phase.Combat} object.
|
||||
* a {@link forge.game.combat.Combat} object.
|
||||
* @return a {@link forge.CardList} object.
|
||||
*/
|
||||
public final List<Card> notNeededAsBlockers(final Player ai, final List<Card> attackers) {
|
||||
@@ -438,7 +438,7 @@ public class AiAttackController {
|
||||
* </p>
|
||||
*
|
||||
* @param c
|
||||
* a {@link forge.game.phase.Combat} object.
|
||||
* a {@link forge.game.combat.Combat} object.
|
||||
* @param bAssault
|
||||
* a boolean.
|
||||
*/
|
||||
@@ -491,7 +491,7 @@ public class AiAttackController {
|
||||
* Getter for the field <code>attackers</code>.
|
||||
* </p>
|
||||
*
|
||||
* @return a {@link forge.game.phase.Combat} object.
|
||||
* @return a {@link forge.game.combat.Combat} object.
|
||||
*/
|
||||
public final void declareAttackers(final Combat combat) {
|
||||
// if this method is called multiple times during a turn,
|
||||
@@ -872,7 +872,7 @@ public class AiAttackController {
|
||||
* @param defenders
|
||||
* a {@link forge.CardList} object.
|
||||
* @param combat
|
||||
* a {@link forge.game.phase.Combat} object.
|
||||
* a {@link forge.game.combat.Combat} object.
|
||||
* @return a boolean.
|
||||
*/
|
||||
public final boolean shouldAttack(final Player ai, final Card attacker, final List<Card> defenders, final Combat combat) {
|
||||
|
||||
@@ -28,8 +28,8 @@ import forge.CardLists;
|
||||
import forge.CardPredicates;
|
||||
import forge.CounterType;
|
||||
import forge.GameEntity;
|
||||
import forge.game.phase.Combat;
|
||||
import forge.game.phase.CombatUtil;
|
||||
import forge.game.combat.Combat;
|
||||
import forge.game.combat.CombatUtil;
|
||||
import forge.game.player.Player;
|
||||
|
||||
|
||||
@@ -239,8 +239,8 @@ public class AiBlockController {
|
||||
* </p>
|
||||
*
|
||||
* @param combat
|
||||
* a {@link forge.game.phase.Combat} object.
|
||||
* @return a {@link forge.game.phase.Combat} object.
|
||||
* a {@link forge.game.combat.Combat} object.
|
||||
* @return a {@link forge.game.combat.Combat} object.
|
||||
*/
|
||||
static final Predicate<Card> rampagesOrNeedsManyToBlock = Predicates.or(CardPredicates.containsKeyword("Rampage"), CardPredicates.containsKeyword("CantBeBlockedByAmount GT"));
|
||||
|
||||
@@ -362,8 +362,8 @@ public class AiBlockController {
|
||||
* </p>
|
||||
*
|
||||
* @param combat
|
||||
* a {@link forge.game.phase.Combat} object.
|
||||
* @return a {@link forge.game.phase.Combat} object.
|
||||
* a {@link forge.game.combat.Combat} object.
|
||||
* @return a {@link forge.game.combat.Combat} object.
|
||||
*/
|
||||
private void makeTradeBlocks(final Combat combat) {
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ import forge.card.spellability.SpellAbility;
|
||||
import forge.card.spellability.SpellPermanent;
|
||||
import forge.game.GameActionUtil;
|
||||
import forge.game.Game;
|
||||
import forge.game.phase.Combat;
|
||||
import forge.game.combat.Combat;
|
||||
import forge.game.phase.PhaseType;
|
||||
import forge.game.player.Player;
|
||||
import forge.game.player.PlayerActionConfirmMode;
|
||||
|
||||
@@ -54,8 +54,8 @@ import forge.card.spellability.TargetRestrictions;
|
||||
import forge.card.staticability.StaticAbility;
|
||||
import forge.error.BugReporter;
|
||||
import forge.game.Game;
|
||||
import forge.game.phase.Combat;
|
||||
import forge.game.phase.CombatUtil;
|
||||
import forge.game.combat.Combat;
|
||||
import forge.game.combat.CombatUtil;
|
||||
import forge.game.phase.PhaseHandler;
|
||||
import forge.game.phase.PhaseType;
|
||||
import forge.game.player.Player;
|
||||
|
||||
@@ -28,7 +28,7 @@ import forge.card.spellability.SpellAbility;
|
||||
import forge.deck.CardPool;
|
||||
import forge.deck.Deck;
|
||||
import forge.deck.DeckSection;
|
||||
import forge.game.phase.Combat;
|
||||
import forge.game.combat.Combat;
|
||||
import forge.game.player.Player;
|
||||
import forge.item.PaperCard;
|
||||
import forge.util.Aggregates;
|
||||
|
||||
@@ -42,8 +42,8 @@ import forge.card.trigger.TriggerHandler;
|
||||
import forge.card.trigger.TriggerType;
|
||||
import forge.game.Game;
|
||||
import forge.game.GlobalRuleChange;
|
||||
import forge.game.phase.Combat;
|
||||
import forge.game.phase.CombatUtil;
|
||||
import forge.game.combat.Combat;
|
||||
import forge.game.combat.CombatUtil;
|
||||
import forge.game.player.Player;
|
||||
import forge.game.zone.ZoneType;
|
||||
|
||||
@@ -116,7 +116,7 @@ public class ComputerUtilCombat {
|
||||
* @param attacked
|
||||
* a {@link forge.game.player.Player} object.
|
||||
* @param combat
|
||||
* a {@link forge.game.phase.Combat} object.
|
||||
* a {@link forge.game.combat.Combat} object.
|
||||
* @return a int.
|
||||
*/
|
||||
public static int damageIfUnblocked(final Card attacker, final Player attacked, final Combat combat) {
|
||||
@@ -146,7 +146,7 @@ public class ComputerUtilCombat {
|
||||
* @param attacked
|
||||
* a {@link forge.game.player.Player} object.
|
||||
* @param combat
|
||||
* a {@link forge.game.phase.Combat} object.
|
||||
* a {@link forge.game.combat.Combat} object.
|
||||
* @return a int.
|
||||
*/
|
||||
public static int poisonIfUnblocked(final Card attacker, final Player attacked) {
|
||||
@@ -212,7 +212,7 @@ public class ComputerUtilCombat {
|
||||
* </p>
|
||||
*
|
||||
* @param combat
|
||||
* a {@link forge.game.phase.Combat} object.
|
||||
* a {@link forge.game.combat.Combat} object.
|
||||
* @return a int.
|
||||
*/
|
||||
public static int lifeThatWouldRemain(final Player ai, final Combat combat) {
|
||||
@@ -254,7 +254,7 @@ public class ComputerUtilCombat {
|
||||
* </p>
|
||||
*
|
||||
* @param combat
|
||||
* a {@link forge.game.phase.Combat} object.
|
||||
* a {@link forge.game.combat.Combat} object.
|
||||
* @return a int.
|
||||
*/
|
||||
public static int resultingPoison(final Player ai, final Combat combat) {
|
||||
@@ -295,7 +295,7 @@ public class ComputerUtilCombat {
|
||||
* </p>
|
||||
*
|
||||
* @param combat
|
||||
* a {@link forge.game.phase.Combat} object.
|
||||
* a {@link forge.game.combat.Combat} object.
|
||||
* @return a boolean.
|
||||
*/
|
||||
public static boolean lifeInDanger(final Player ai, final Combat combat) {
|
||||
@@ -333,7 +333,7 @@ public class ComputerUtilCombat {
|
||||
* </p>
|
||||
*
|
||||
* @param combat
|
||||
* a {@link forge.game.phase.Combat} object.
|
||||
* a {@link forge.game.combat.Combat} object.
|
||||
* @return a boolean.
|
||||
*/
|
||||
public static boolean wouldLoseLife(final Player ai, final Combat combat) {
|
||||
@@ -348,7 +348,7 @@ public class ComputerUtilCombat {
|
||||
* </p>
|
||||
*
|
||||
* @param combat
|
||||
* a {@link forge.game.phase.Combat} object.
|
||||
* a {@link forge.game.combat.Combat} object.
|
||||
* @return a boolean.
|
||||
*/
|
||||
public static boolean lifeInSeriousDanger(final Player ai, final Combat combat) {
|
||||
@@ -575,7 +575,7 @@ public class ComputerUtilCombat {
|
||||
* @param trigger
|
||||
* a {@link forge.card.trigger.Trigger} object.
|
||||
* @param combat
|
||||
* a {@link forge.game.phase.Combat} object.
|
||||
* a {@link forge.game.combat.Combat} object.
|
||||
* @return a boolean.
|
||||
*/
|
||||
public static boolean combatTriggerWillTrigger(final Card attacker, final Card defender, final Trigger trigger,
|
||||
@@ -937,7 +937,7 @@ public class ComputerUtilCombat {
|
||||
* @param defender
|
||||
* a {@link forge.Card} object.
|
||||
* @param combat
|
||||
* a {@link forge.game.phase.Combat} object.
|
||||
* a {@link forge.game.combat.Combat} object.
|
||||
* @return a int.
|
||||
*/
|
||||
public static int predictPowerBonusOfAttacker(final Card attacker, final Card defender, final Combat combat
|
||||
@@ -1098,7 +1098,7 @@ public class ComputerUtilCombat {
|
||||
* @param defender
|
||||
* a {@link forge.Card} object.
|
||||
* @param combat
|
||||
* a {@link forge.game.phase.Combat} object.
|
||||
* a {@link forge.game.combat.Combat} object.
|
||||
* @return a int.
|
||||
*/
|
||||
public static int predictToughnessBonusOfAttacker(final Card attacker, final Card defender, final Combat combat
|
||||
@@ -1377,7 +1377,7 @@ public class ComputerUtilCombat {
|
||||
* @param defender
|
||||
* a {@link forge.Card} object.
|
||||
* @param combat
|
||||
* a {@link forge.game.phase.Combat} object.
|
||||
* a {@link forge.game.combat.Combat} object.
|
||||
* @param withoutAbilities
|
||||
* a boolean.
|
||||
* @return a boolean.
|
||||
@@ -1534,7 +1534,7 @@ public class ComputerUtilCombat {
|
||||
* @param attacker
|
||||
* a {@link forge.Card} object.
|
||||
* @param combat
|
||||
* a {@link forge.game.phase.Combat} object.
|
||||
* a {@link forge.game.combat.Combat} object.
|
||||
* @param withoutAbilities
|
||||
* a boolean.
|
||||
* @return a boolean.
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package forge.game.phase;
|
||||
package forge.game.combat;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
@@ -33,7 +33,6 @@ import forge.CardLists;
|
||||
import forge.CardPredicates;
|
||||
import forge.GameEntity;
|
||||
import forge.card.trigger.TriggerType;
|
||||
import forge.game.combat.AttackingBand;
|
||||
import forge.game.player.Player;
|
||||
import forge.game.zone.ZoneType;
|
||||
import forge.util.maps.CollectionSuppliers;
|
||||
@@ -15,7 +15,7 @@
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package forge.game.phase;
|
||||
package forge.game.combat;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
@@ -47,7 +47,8 @@ import forge.card.staticability.StaticAbility;
|
||||
import forge.card.trigger.TriggerType;
|
||||
import forge.game.Game;
|
||||
import forge.game.GlobalRuleChange;
|
||||
import forge.game.combat.AttackingBand;
|
||||
import forge.game.phase.PhaseType;
|
||||
import forge.game.phase.Untap;
|
||||
import forge.game.player.Player;
|
||||
import forge.game.player.PlayerController.ManaPaymentPurpose;
|
||||
import forge.game.zone.ZoneType;
|
||||
@@ -74,7 +75,7 @@ public class CombatUtil {
|
||||
* @param blocker
|
||||
* a {@link forge.Card} object.
|
||||
* @param combat
|
||||
* a {@link forge.game.phase.Combat} object.
|
||||
* a {@link forge.game.combat.Combat} object.
|
||||
* @return a boolean.
|
||||
*/
|
||||
public static boolean canBlock(final Card blocker, final Combat combat) {
|
||||
@@ -173,7 +174,7 @@ public class CombatUtil {
|
||||
* @param attacker
|
||||
* a {@link forge.Card} object.
|
||||
* @param combat
|
||||
* a {@link forge.game.phase.Combat} object.
|
||||
* a {@link forge.game.combat.Combat} object.
|
||||
* @return a boolean.
|
||||
*/
|
||||
public static boolean canBeBlocked(final Card attacker, final Combat combat, Player defendingPlayer) {
|
||||
@@ -355,7 +356,7 @@ public class CombatUtil {
|
||||
* </p>
|
||||
*
|
||||
* @param combat
|
||||
* a {@link forge.game.phase.Combat} object.
|
||||
* a {@link forge.game.combat.Combat} object.
|
||||
* @return a boolean.
|
||||
*/
|
||||
public static String validateBlocks(final Combat combat, final Player defending) {
|
||||
@@ -410,7 +411,7 @@ public class CombatUtil {
|
||||
* @param blocker
|
||||
* a {@link forge.Card} object.
|
||||
* @param combat
|
||||
* a {@link forge.game.phase.Combat} object.
|
||||
* a {@link forge.game.combat.Combat} object.
|
||||
* @return a boolean.
|
||||
*/
|
||||
public static boolean mustBlockAnAttacker(final Card blocker, final Combat combat) {
|
||||
@@ -484,7 +485,7 @@ public class CombatUtil {
|
||||
* @param blocker
|
||||
* a {@link forge.Card} object.
|
||||
* @param combat
|
||||
* a {@link forge.game.phase.Combat} object.
|
||||
* a {@link forge.game.combat.Combat} object.
|
||||
* @return a boolean.
|
||||
*/
|
||||
public static boolean canBlock(final Card attacker, final Card blocker, final Combat combat) {
|
||||
@@ -655,7 +656,7 @@ public class CombatUtil {
|
||||
* @param c
|
||||
* a {@link forge.Card} object.
|
||||
* @param combat
|
||||
* a {@link forge.game.phase.Combat} object.
|
||||
* a {@link forge.game.combat.Combat} object.
|
||||
* @return a boolean.
|
||||
*/
|
||||
public static boolean canAttack(final Card c, final GameEntity def, final Combat combat) {
|
||||
@@ -1,37 +0,0 @@
|
||||
/*
|
||||
* Forge: Play Magic: the Gathering.
|
||||
* Copyright (C) 2011 Forge Team
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package forge.game.phase;
|
||||
|
||||
import forge.game.Game;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Handles "until your next turn" effects and Cleanup hardcoded triggers.
|
||||
* </p>
|
||||
*
|
||||
* @author Forge
|
||||
*/
|
||||
public class Cleanup extends Phase {
|
||||
|
||||
|
||||
/** Constant <code>serialVersionUID=-6993476643509826990L</code>. */
|
||||
private static final long serialVersionUID = -6993476643509826990L;
|
||||
|
||||
public Cleanup(final Game game) { super(game); }
|
||||
|
||||
} // end class Cleanup
|
||||
@@ -1,37 +0,0 @@
|
||||
/*
|
||||
* Forge: Play Magic: the Gathering.
|
||||
* Copyright (C) 2011 Forge Team
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package forge.game.phase;
|
||||
|
||||
import forge.game.Game;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Handles "until end of combat" effects and "at end of combat" hardcoded triggers.
|
||||
* </p>
|
||||
*
|
||||
* @author Forge
|
||||
* @version $Id$
|
||||
*/
|
||||
public class EndOfCombat extends Phase {
|
||||
|
||||
/** Constant <code>serialVersionUID=3035250030566186842L</code>. */
|
||||
private static final long serialVersionUID = 3035250030566186842L;
|
||||
|
||||
public EndOfCombat(final Game game) { super(game); }
|
||||
|
||||
} // end class EndOfCombat
|
||||
@@ -39,7 +39,11 @@ public class EndOfTurn extends Phase {
|
||||
/** Constant <code>serialVersionUID=-3656715295379727275L</code>. */
|
||||
private static final long serialVersionUID = -3656715295379727275L;
|
||||
|
||||
public EndOfTurn(final Game game) { super(game); }
|
||||
protected final Game game;
|
||||
public EndOfTurn(final Game game) {
|
||||
super(PhaseType.END_OF_TURN);
|
||||
this.game = game;
|
||||
}
|
||||
/**
|
||||
* <p>
|
||||
* Handles all the hardcoded events that happen "at end of turn".
|
||||
|
||||
@@ -24,7 +24,6 @@ import java.util.List;
|
||||
import com.google.common.collect.Lists;
|
||||
|
||||
import forge.Command;
|
||||
import forge.game.Game;
|
||||
import forge.game.player.Player;
|
||||
|
||||
|
||||
@@ -36,14 +35,14 @@ import forge.game.player.Player;
|
||||
* @author Forge
|
||||
* @version $Id$
|
||||
*/
|
||||
public abstract class Phase implements java.io.Serializable {
|
||||
public class Phase implements java.io.Serializable {
|
||||
|
||||
private static final long serialVersionUID = 4665309652476851977L;
|
||||
|
||||
protected final Game game;
|
||||
protected final PhaseType type; // mostly decorative field - it's never used
|
||||
|
||||
public Phase(final Game game0) {
|
||||
game = game0;
|
||||
public Phase(PhaseType type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
/** The at. */
|
||||
@@ -102,10 +101,6 @@ public abstract class Phase implements java.io.Serializable {
|
||||
* Use cleanup phase to terminate an effect with "until <Player's> next turn"
|
||||
*/
|
||||
public final void addUntil(Player p, final Command c) {
|
||||
if (null == p) {
|
||||
p = game.getPhaseHandler().getPlayerTurn();
|
||||
}
|
||||
|
||||
if (this.untilMap.containsKey(p)) {
|
||||
this.untilMap.get(p).add(0, c);
|
||||
} else {
|
||||
|
||||
@@ -39,6 +39,8 @@ import forge.card.trigger.TriggerType;
|
||||
import forge.game.GameAge;
|
||||
import forge.game.Game;
|
||||
import forge.game.GameType;
|
||||
import forge.game.combat.Combat;
|
||||
import forge.game.combat.CombatUtil;
|
||||
import forge.game.event.GameEventAttackersDeclared;
|
||||
import forge.game.event.GameEventBlockerAssigned;
|
||||
import forge.game.event.GameEventBlockersDeclared;
|
||||
|
||||
@@ -50,9 +50,11 @@ import forge.gui.input.InputSelectCardsFromList;
|
||||
*/
|
||||
public class Untap extends Phase {
|
||||
private static final long serialVersionUID = 4515266331266259123L;
|
||||
protected final Game game;
|
||||
|
||||
public Untap(final Game game0) {
|
||||
super(game0);
|
||||
super(PhaseType.UNTAP);
|
||||
game = game0;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -68,7 +68,11 @@ import forge.gui.input.InputSelectCardsFromList;
|
||||
public class Upkeep extends Phase {
|
||||
private static final long serialVersionUID = 6906459482978819354L;
|
||||
|
||||
public Upkeep(final Game game) { super(game); }
|
||||
protected final Game game;
|
||||
public Upkeep(final Game game) {
|
||||
super(PhaseType.UPKEEP);
|
||||
this.game = game;
|
||||
}
|
||||
|
||||
/**
|
||||
* <p>
|
||||
|
||||
@@ -20,7 +20,7 @@ import forge.card.spellability.TargetChoices;
|
||||
import forge.deck.Deck;
|
||||
import forge.game.Game;
|
||||
import forge.game.GameType;
|
||||
import forge.game.phase.Combat;
|
||||
import forge.game.combat.Combat;
|
||||
import forge.game.phase.PhaseType;
|
||||
import forge.game.zone.ZoneType;
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ import forge.game.ai.ComputerUtil;
|
||||
import forge.game.ai.AiBlockController;
|
||||
import forge.game.ai.ComputerUtilCombat;
|
||||
import forge.game.ai.ComputerUtilCost;
|
||||
import forge.game.phase.Combat;
|
||||
import forge.game.combat.Combat;
|
||||
import forge.game.zone.ZoneType;
|
||||
import forge.util.Aggregates;
|
||||
import forge.util.MyRandom;
|
||||
|
||||
@@ -33,7 +33,7 @@ import forge.deck.Deck;
|
||||
import forge.deck.DeckSection;
|
||||
import forge.game.Game;
|
||||
import forge.game.GameType;
|
||||
import forge.game.phase.Combat;
|
||||
import forge.game.combat.Combat;
|
||||
import forge.game.phase.PhaseType;
|
||||
import forge.game.zone.ZoneType;
|
||||
import forge.gui.GuiChoose;
|
||||
|
||||
@@ -27,8 +27,8 @@ import forge.Card;
|
||||
import forge.CardPredicates;
|
||||
import forge.GameEntity;
|
||||
import forge.game.combat.AttackingBand;
|
||||
import forge.game.phase.Combat;
|
||||
import forge.game.phase.CombatUtil;
|
||||
import forge.game.combat.Combat;
|
||||
import forge.game.combat.CombatUtil;
|
||||
import forge.game.player.Player;
|
||||
import forge.game.zone.ZoneType;
|
||||
import forge.gui.match.CMatchUI;
|
||||
|
||||
@@ -19,8 +19,8 @@ package forge.gui.input;
|
||||
|
||||
import forge.Card;
|
||||
import forge.Singletons;
|
||||
import forge.game.phase.Combat;
|
||||
import forge.game.phase.CombatUtil;
|
||||
import forge.game.combat.Combat;
|
||||
import forge.game.combat.CombatUtil;
|
||||
import forge.game.player.Player;
|
||||
import forge.game.zone.ZoneType;
|
||||
import forge.gui.GuiDialog;
|
||||
|
||||
@@ -36,7 +36,7 @@ import javax.swing.JPanel;
|
||||
import forge.Card;
|
||||
import forge.Singletons;
|
||||
import forge.control.FControl;
|
||||
import forge.game.phase.Combat;
|
||||
import forge.game.combat.Combat;
|
||||
import forge.gui.match.controllers.CDock;
|
||||
import forge.gui.match.nonsingleton.VField;
|
||||
import forge.gui.toolbox.FSkin;
|
||||
|
||||
@@ -7,7 +7,7 @@ import forge.Command;
|
||||
import forge.GameEntity;
|
||||
import forge.game.Game;
|
||||
import forge.game.combat.AttackingBand;
|
||||
import forge.game.phase.Combat;
|
||||
import forge.game.combat.Combat;
|
||||
import forge.game.phase.PhaseHandler;
|
||||
import forge.game.player.Player;
|
||||
import forge.gui.framework.ICDoc;
|
||||
|
||||
@@ -35,8 +35,8 @@ import forge.CardPredicates.Presets;
|
||||
import forge.Command;
|
||||
import forge.deck.Deck;
|
||||
import forge.game.Game;
|
||||
import forge.game.phase.Combat;
|
||||
import forge.game.phase.CombatUtil;
|
||||
import forge.game.combat.Combat;
|
||||
import forge.game.combat.CombatUtil;
|
||||
import forge.game.phase.PhaseHandler;
|
||||
import forge.game.phase.PhaseType;
|
||||
import forge.game.player.LobbyPlayer;
|
||||
|
||||
@@ -42,7 +42,7 @@ import forge.ImageCache;
|
||||
import forge.Singletons;
|
||||
import forge.card.CardEdition;
|
||||
import forge.card.mana.ManaCost;
|
||||
import forge.game.phase.Combat;
|
||||
import forge.game.combat.Combat;
|
||||
import forge.gui.CardContainer;
|
||||
import forge.gui.toolbox.CardFaceSymbols;
|
||||
import forge.properties.ForgePreferences.FPref;
|
||||
|
||||
@@ -2,7 +2,7 @@ package forge;
|
||||
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
import forge.game.phase.CombatUtil;
|
||||
import forge.game.combat.CombatUtil;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
|
||||
Reference in New Issue
Block a user