Gathered phase-related classes in a package

This commit is contained in:
Maxmtg
2012-04-07 08:32:53 +00:00
parent 04d8059a7d
commit d8e5a8011c
75 changed files with 261 additions and 361 deletions

22
.gitattributes vendored
View File

@@ -11353,7 +11353,6 @@ src/main/java/forge/ButtonUtil.java svneol=native#text/plain
src/main/java/forge/Card.java svneol=native#text/plain
src/main/java/forge/CardCharactersticName.java -text
src/main/java/forge/CardColor.java svneol=native#text/plain
src/main/java/forge/CardContainer.java svneol=native#text/plain
src/main/java/forge/CardDamageHistory.java -text
src/main/java/forge/CardKeywords.java -text svneol=native#text/plain
src/main/java/forge/CardList.java svneol=native#text/plain
@@ -11365,8 +11364,6 @@ src/main/java/forge/CardType.java svneol=native#text/plain
src/main/java/forge/CardUtil.java svneol=native#text/plain
src/main/java/forge/Color.java svneol=native#text/plain
src/main/java/forge/ColorChanger.java -text
src/main/java/forge/Combat.java svneol=native#text/plain
src/main/java/forge/CombatUtil.java svneol=native#text/plain
src/main/java/forge/Command.java svneol=native#text/plain
src/main/java/forge/CommandArgs.java svneol=native#text/plain
src/main/java/forge/CommandList.java svneol=native#text/plain
@@ -11381,8 +11378,6 @@ src/main/java/forge/Constant.java svneol=native#text/plain
src/main/java/forge/ConstantStringArrayList.java svneol=native#text/plain
src/main/java/forge/Counters.java svneol=native#text/plain
src/main/java/forge/DefaultPlayerZone.java svneol=native#text/plain
src/main/java/forge/EndOfCombat.java svneol=native#text/plain
src/main/java/forge/EndOfTurn.java svneol=native#text/plain
src/main/java/forge/ExternalPanel.java svneol=native#text/plain
src/main/java/forge/GameAction.java svneol=native#text/plain
src/main/java/forge/GameActionUtil.java svneol=native#text/plain
@@ -11403,10 +11398,6 @@ src/main/java/forge/MagicStack.java svneol=native#text/plain
src/main/java/forge/Move.java svneol=native#text/plain
src/main/java/forge/MyObservable.java svneol=native#text/plain
src/main/java/forge/NameChanger.java svneol=native#text/plain
src/main/java/forge/Phase.java svneol=native#text/plain
src/main/java/forge/PhaseHandler.java -text
src/main/java/forge/PhaseType.java -text
src/main/java/forge/PhaseUtil.java svneol=native#text/plain
src/main/java/forge/Player.java svneol=native#text/plain
src/main/java/forge/PlayerType.java svneol=native#text/plain
src/main/java/forge/PlayerUtil.java svneol=native#text/plain
@@ -11417,8 +11408,6 @@ src/main/java/forge/Singletons.java svneol=native#text/plain
src/main/java/forge/StaticEffect.java svneol=native#text/plain
src/main/java/forge/StaticEffects.java svneol=native#text/plain
src/main/java/forge/UndoCommand.java svneol=native#text/plain
src/main/java/forge/Untap.java -text
src/main/java/forge/Upkeep.java svneol=native#text/plain
src/main/java/forge/ZCTrigger.java svneol=native#text/plain
src/main/java/forge/card/BoosterData.java -text
src/main/java/forge/card/BoosterGenerator.java svneol=native#text/plain
@@ -11661,6 +11650,17 @@ src/main/java/forge/game/limited/IBoosterDraft.java svneol=native#text/plain
src/main/java/forge/game/limited/SealedDeck.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/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/Phase.java svneol=native#text/plain
src/main/java/forge/game/phase/PhaseHandler.java -text
src/main/java/forge/game/phase/PhaseType.java -text
src/main/java/forge/game/phase/PhaseUtil.java svneol=native#text/plain
src/main/java/forge/game/phase/Untap.java -text
src/main/java/forge/game/phase/Upkeep.java svneol=native#text/plain
src/main/java/forge/gui/CardContainer.java svneol=native#text/plain
src/main/java/forge/gui/CardListViewer.java -text
src/main/java/forge/gui/ForgeAction.java svneol=native#text/plain
src/main/java/forge/gui/GuiUtils.java svneol=native#text/plain

View File

@@ -41,10 +41,10 @@ import arcane.ui.ScaledImagePanel.ScalingType;
import arcane.ui.util.GlowText;
import forge.AllZoneUtil;
import forge.Card;
import forge.CardContainer;
import forge.Counters;
import forge.ImageCache;
import forge.Singletons;
import forge.gui.CardContainer;
import forge.gui.toolbox.CardFaceSymbols;
import forge.properties.ForgePreferences.FPref;

View File

@@ -27,6 +27,8 @@ import forge.card.replacement.ReplacementHandler;
import forge.card.trigger.TriggerHandler;
import forge.control.input.InputControl;
import forge.game.GameState;
import forge.game.phase.Combat;
import forge.game.phase.EndOfTurn;
import forge.properties.ForgeProps;
import forge.properties.NewConstants;
import forge.quest.QuestController;
@@ -148,7 +150,7 @@ public final class AllZone {
*
* Will eventually be marked deprecated.
*
* @return a {@link forge.EndOfTurn} object.
* @return a {@link forge.game.phase.EndOfTurn} object.
* @since 1.0.15
*/
public static EndOfTurn getEndOfTurn() {
@@ -162,10 +164,10 @@ public final class AllZone {
*
* Will eventually be marked deprecated.
*
* @return a {@link forge.EndOfCombat} object.
* @return a {@link forge.game.phase.EndOfCombat} object.
* @since 1.0.15
*/
public static forge.EndOfCombat getEndOfCombat() {
public static forge.game.phase.EndOfCombat getEndOfCombat() {
return Singletons.getModel().getGameState().getEndOfCombat();
}
@@ -300,7 +302,7 @@ public final class AllZone {
*
* Will eventually be marked deprecated.
*
* @return a {@link forge.Combat} object.
* @return a {@link forge.game.phase.Combat} object.
* @since 1.0.15
*/
public static Combat getCombat() {
@@ -315,7 +317,7 @@ public final class AllZone {
* Will eventually be marked deprecated.
*
* @param attackers
* a {@link forge.Combat} object.
* a {@link forge.game.phase.Combat} object.
* @since 1.0.15
*/
public static void setCombat(final Combat attackers) {

View File

@@ -932,7 +932,7 @@ public class Card extends GameEntity implements Comparable<Card> {
* clearBlockedThisTurn.
* </p>
*/
void clearBlockedThisTurn() {
public void clearBlockedThisTurn() {
this.blockedThisTurn.clear();
}
@@ -955,7 +955,7 @@ public class Card extends GameEntity implements Comparable<Card> {
* clearBlockedByThisTurn.
* </p>
*/
void clearBlockedByThisTurn() {
public void clearBlockedByThisTurn() {
this.blockedByThisTurn.clear();
}

View File

@@ -30,6 +30,7 @@ import forge.card.spellability.SpellAbility;
import forge.card.spellability.SpellPermanent;
import forge.card.trigger.Trigger;
import forge.card.trigger.TriggerType;
import forge.game.phase.PhaseType;
/**
* <p>

View File

@@ -19,8 +19,8 @@ package forge;
import com.esotericsoftware.minlog.Log;
import forge.PhaseType;
import forge.control.input.Input;
import forge.game.phase.PhaseType;
/**
* <p>

View File

@@ -38,6 +38,8 @@ import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target;
import forge.control.input.InputPayManaCostUtil;
import forge.error.ErrorViewer;
import forge.game.phase.Combat;
import forge.game.phase.CombatUtil;
/**
* <p>
@@ -1623,7 +1625,7 @@ public class ComputerUtil {
* getAttackers.
* </p>
*
* @return a {@link forge.Combat} object.
* @return a {@link forge.game.phase.Combat} object.
*/
public static Combat getAttackers() {
final ComputerUtilAttack att = new ComputerUtilAttack(AllZone.getComputerPlayer().getCardsIn(Zone.Battlefield),
@@ -1637,7 +1639,7 @@ public class ComputerUtil {
* getBlockers.
* </p>
*
* @return a {@link forge.Combat} object.
* @return a {@link forge.game.phase.Combat} object.
*/
public static Combat getBlockers() {
final CardList blockers = AllZone.getComputerPlayer().getCardsIn(Zone.Battlefield);

View File

@@ -24,6 +24,8 @@ import forge.Constant.Zone;
import forge.card.cardfactory.CardFactoryUtil;
import forge.card.trigger.Trigger;
import forge.card.trigger.TriggerType;
import forge.game.phase.Combat;
import forge.game.phase.CombatUtil;
import forge.util.MyRandom;
//doesHumanAttackAndWin() uses the global variable AllZone.getComputerPlayer()
@@ -110,7 +112,7 @@ public class ComputerUtilAttack {
* @param attacker
* a {@link forge.Card} object.
* @param combat
* a {@link forge.Combat} object.
* a {@link forge.game.phase.Combat} object.
* @return a boolean.
*/
public final boolean isEffectiveAttacker(final Card attacker, final Combat combat) {
@@ -202,7 +204,7 @@ public class ComputerUtilAttack {
* @param attackers
* a {@link forge.CardList} object.
* @param combat
* a {@link forge.Combat} object.
* a {@link forge.game.phase.Combat} object.
* @return a {@link forge.CardList} object.
*/
public final CardList notNeededAsBlockers(final CardList attackers, final Combat combat) {
@@ -375,7 +377,7 @@ public class ComputerUtilAttack {
* </p>
*
* @param c
* a {@link forge.Combat} object.
* a {@link forge.game.phase.Combat} object.
* @param bAssault
* a boolean.
*/
@@ -414,7 +416,7 @@ public class ComputerUtilAttack {
* Getter for the field <code>attackers</code>.
* </p>
*
* @return a {@link forge.Combat} object.
* @return a {@link forge.game.phase.Combat} object.
*/
public final Combat getAttackers() {
// if this method is called multiple times during a turn,
@@ -757,7 +759,7 @@ public class ComputerUtilAttack {
* @param defenders
* a {@link forge.CardList} object.
* @param combat
* a {@link forge.Combat} object.
* a {@link forge.game.phase.Combat} object.
* @return a boolean.
*/
public final boolean shouldAttack(final Card attacker, final CardList defenders, final Combat combat) {

View File

@@ -20,6 +20,8 @@ package forge;
import java.util.List;
import forge.card.cardfactory.CardFactoryUtil;
import forge.game.phase.Combat;
import forge.game.phase.CombatUtil;
/**
* <p>
@@ -178,7 +180,7 @@ public class ComputerUtilBlock {
* @param blockersLeft
* a {@link forge.CardList} object.
* @param combat
* a {@link forge.Combat} object.
* a {@link forge.game.phase.Combat} object.
* @return a {@link forge.CardList} object.
*/
private static CardList getPossibleBlockers(final Card attacker, final CardList blockersLeft, final Combat combat) {
@@ -206,7 +208,7 @@ public class ComputerUtilBlock {
* @param blockersLeft
* a {@link forge.CardList} object.
* @param combat
* a {@link forge.Combat} object.
* a {@link forge.game.phase.Combat} object.
* @return a {@link forge.CardList} object.
*/
private static CardList getSafeBlockers(final Card attacker, final CardList blockersLeft, final Combat combat) {
@@ -232,7 +234,7 @@ public class ComputerUtilBlock {
* @param blockersLeft
* a {@link forge.CardList} object.
* @param combat
* a {@link forge.Combat} object.
* a {@link forge.game.phase.Combat} object.
* @return a {@link forge.CardList} object.
*/
private static CardList getKillingBlockers(final Card attacker, final CardList blockersLeft, final Combat combat) {
@@ -253,7 +255,7 @@ public class ComputerUtilBlock {
* </p>
*
* @param combat
* a {@link forge.Combat} object.
* a {@link forge.game.phase.Combat} object.
* @return a {@link forge.CardList} object.
*/
public static CardList sortPotentialAttackers(final Combat combat) {
@@ -312,8 +314,8 @@ public class ComputerUtilBlock {
* </p>
*
* @param combat
* a {@link forge.Combat} object.
* @return a {@link forge.Combat} object.
* a {@link forge.game.phase.Combat} object.
* @return a {@link forge.game.phase.Combat} object.
*/
private static Combat makeGoodBlocks(final Combat combat) {
@@ -381,8 +383,8 @@ public class ComputerUtilBlock {
* </p>
*
* @param combat
* a {@link forge.Combat} object.
* @return a {@link forge.Combat} object.
* a {@link forge.game.phase.Combat} object.
* @return a {@link forge.game.phase.Combat} object.
*/
private static Combat makeGangBlocks(final Combat combat) {
@@ -510,8 +512,8 @@ public class ComputerUtilBlock {
* </p>
*
* @param combat
* a {@link forge.Combat} object.
* @return a {@link forge.Combat} object.
* a {@link forge.game.phase.Combat} object.
* @return a {@link forge.game.phase.Combat} object.
*/
private static Combat makeTradeBlocks(final Combat combat) {
@@ -545,8 +547,8 @@ public class ComputerUtilBlock {
* </p>
*
* @param combat
* a {@link forge.Combat} object.
* @return a {@link forge.Combat} object.
* a {@link forge.game.phase.Combat} object.
* @return a {@link forge.game.phase.Combat} object.
*/
private static Combat makeChumpBlocks(final Combat combat) {
@@ -582,8 +584,8 @@ public class ComputerUtilBlock {
* </p>
*
* @param combat
* a {@link forge.Combat} object.
* @return a {@link forge.Combat} object.
* a {@link forge.game.phase.Combat} object.
* @return a {@link forge.game.phase.Combat} object.
*/
private static Combat reinforceBlockersAgainstTrample(final Combat combat) {
@@ -634,8 +636,8 @@ public class ComputerUtilBlock {
* </p>
*
* @param combat
* a {@link forge.Combat} object.
* @return a {@link forge.Combat} object.
* a {@link forge.game.phase.Combat} object.
* @return a {@link forge.game.phase.Combat} object.
*/
private static Combat reinforceBlockersToKill(final Combat combat) {
@@ -707,10 +709,10 @@ public class ComputerUtilBlock {
* </p>
*
* @param combat
* a {@link forge.Combat} object.
* a {@link forge.game.phase.Combat} object.
* @param possibleBlockers
* a {@link forge.CardList} object.
* @return a {@link forge.Combat} object.
* @return a {@link forge.game.phase.Combat} object.
*/
private static Combat resetBlockers(final Combat combat, final CardList possibleBlockers) {
@@ -746,10 +748,10 @@ public class ComputerUtilBlock {
* </p>
*
* @param originalCombat
* a {@link forge.Combat} object.
* a {@link forge.game.phase.Combat} object.
* @param possibleBlockers
* a {@link forge.CardList} object.
* @return a {@link forge.Combat} object.
* @return a {@link forge.game.phase.Combat} object.
*/
public static Combat getBlockers(final Combat originalCombat, final CardList possibleBlockers) {

View File

@@ -49,6 +49,7 @@ import forge.control.input.InputPayManaCostAbility;
import forge.control.input.InputPayManaCostUtil;
import forge.game.GameEndReason;
import forge.game.GameSummary;
import forge.game.phase.PhaseHandler;
import forge.gui.GuiUtils;
import forge.view.match.ViewWinLose;

View File

@@ -1303,7 +1303,7 @@ public final class GuiDisplayUtil {
}
if (!tChangePhase.trim().toLowerCase().equals("none")) {
Singletons.getModel().getGameState().getPhaseHandler().setDevPhaseState(forge.PhaseType.smartValueOf(tChangePhase));
Singletons.getModel().getGameState().getPhaseHandler().setDevPhaseState(forge.game.phase.PhaseType.smartValueOf(tChangePhase));
}
if (!tHumanSetupCardsInPlay.trim().toLowerCase().equals("none")) {

View File

@@ -30,6 +30,7 @@ import javax.swing.JScrollPane;
import javax.swing.SwingConstants;
import forge.error.ErrorViewer;
import forge.gui.CardContainer;
import forge.gui.game.CardPanel;
/**

View File

@@ -44,6 +44,7 @@ import forge.card.trigger.Trigger;
import forge.card.trigger.TriggerType;
import forge.control.input.Input;
import forge.control.input.InputPayManaCostAbility;
import forge.game.phase.PhaseType;
import forge.gui.GuiUtils;
/**

View File

@@ -36,6 +36,7 @@ import forge.card.spellability.SpellAbility;
import forge.card.staticability.StaticAbility;
import forge.card.trigger.TriggerType;
import forge.game.GameLossReason;
import forge.game.phase.PhaseHandler;
import forge.gui.GuiUtils;
import forge.util.MyRandom;

View File

@@ -30,7 +30,6 @@ import forge.ComputerUtil;
import forge.Constant;
import forge.Constant.Zone;
import forge.GameActionUtil;
import forge.PhaseType;
import forge.Player;
import forge.Singletons;
import forge.card.cardfactory.CardFactoryUtil;
@@ -43,6 +42,7 @@ import forge.card.spellability.SpellAbilityCondition;
import forge.card.spellability.SpellAbilityRestriction;
import forge.card.spellability.SpellPermanent;
import forge.card.spellability.Target;
import forge.game.phase.PhaseType;
/**
* <p>

View File

@@ -27,7 +27,6 @@ import forge.AllZoneUtil;
import forge.Card;
import forge.ComputerUtil;
import forge.Counters;
import forge.PhaseType;
import forge.Player;
import forge.Singletons;
import forge.card.cost.Cost;
@@ -37,6 +36,7 @@ import forge.card.spellability.AbilitySub;
import forge.card.spellability.Spell;
import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target;
import forge.game.phase.PhaseType;
import forge.util.MyRandom;
/**

View File

@@ -31,7 +31,6 @@ import forge.CardUtil;
import forge.Command;
import forge.ComputerUtil;
import forge.Constant.Zone;
import forge.PhaseType;
import forge.Player;
import forge.Singletons;
import forge.card.replacement.ReplacementEffect;
@@ -43,6 +42,7 @@ import forge.card.spellability.Target;
import forge.card.staticability.StaticAbility;
import forge.card.trigger.Trigger;
import forge.card.trigger.TriggerHandler;
import forge.game.phase.PhaseType;
/**
* <p>

View File

@@ -29,13 +29,11 @@ import forge.Card;
import forge.CardList;
import forge.CardListFilter;
import forge.CardUtil;
import forge.CombatUtil;
import forge.Command;
import forge.ComputerUtil;
import forge.Constant.Zone;
import forge.GameActionUtil;
import forge.GameEntity;
import forge.PhaseType;
import forge.Player;
import forge.Singletons;
import forge.card.cardfactory.CardFactoryUtil;
@@ -47,6 +45,8 @@ import forge.card.spellability.SpellAbility;
import forge.card.spellability.SpellPermanent;
import forge.card.spellability.Target;
import forge.card.staticability.StaticAbility;
import forge.game.phase.CombatUtil;
import forge.game.phase.PhaseType;
import forge.gui.GuiUtils;
import forge.util.MyRandom;

View File

@@ -30,13 +30,11 @@ import forge.CardList;
import forge.CardListFilter;
import forge.CardListUtil;
import forge.CardUtil;
import forge.CombatUtil;
import forge.ComputerUtil;
import forge.Constant;
import forge.Constant.Zone;
import forge.GameActionUtil;
import forge.GameEntity;
import forge.PhaseType;
import forge.Player;
import forge.PlayerZone;
import forge.Singletons;
@@ -50,6 +48,8 @@ import forge.card.spellability.SpellAbility;
import forge.card.spellability.SpellAbilityStackInstance;
import forge.card.spellability.SpellPermanent;
import forge.card.spellability.Target;
import forge.game.phase.CombatUtil;
import forge.game.phase.PhaseType;
import forge.gui.GuiUtils;
import forge.util.MyRandom;

View File

@@ -24,10 +24,8 @@ import forge.AllZone;
import forge.Card;
import forge.CardList;
import forge.CardListFilter;
import forge.CombatUtil;
import forge.ComputerUtil;
import forge.Constant.Zone;
import forge.PhaseType;
import forge.Player;
import forge.Singletons;
import forge.card.cardfactory.CardFactoryUtil;
@@ -36,6 +34,8 @@ import forge.card.spellability.AbilitySub;
import forge.card.spellability.Spell;
import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target;
import forge.game.phase.CombatUtil;
import forge.game.phase.PhaseType;
/**
* <p>

View File

@@ -32,7 +32,6 @@ import forge.CardListFilter;
import forge.Command;
import forge.ComputerUtil;
import forge.Constant.Zone;
import forge.PhaseType;
import forge.Player;
import forge.Singletons;
import forge.card.cardfactory.CardFactoryUtil;
@@ -43,6 +42,7 @@ import forge.card.spellability.Spell;
import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target;
import forge.card.trigger.TriggerType;
import forge.game.phase.PhaseType;
import forge.gui.GuiUtils;
import forge.util.MyRandom;

View File

@@ -33,8 +33,6 @@ import forge.ComputerUtil;
import forge.Constant;
import forge.Constant.Zone;
import forge.Counters;
import forge.PhaseHandler;
import forge.PhaseType;
import forge.Player;
import forge.PlayerZone;
import forge.Singletons;
@@ -47,6 +45,8 @@ import forge.card.spellability.Spell;
import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target;
import forge.control.input.Input;
import forge.game.phase.PhaseHandler;
import forge.game.phase.PhaseType;
import forge.gui.GuiUtils;
import forge.util.MyRandom;

View File

@@ -29,7 +29,6 @@ import forge.CardListFilter;
import forge.CardUtil;
import forge.ComputerUtil;
import forge.Constant.Zone;
import forge.PhaseType;
import forge.Player;
import forge.Singletons;
import forge.card.cardfactory.CardFactoryUtil;
@@ -41,6 +40,7 @@ import forge.card.spellability.Spell;
import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target;
import forge.card.spellability.TargetSelection;
import forge.game.phase.PhaseType;
import forge.util.MyRandom;
/**

View File

@@ -28,11 +28,9 @@ import forge.AllZoneUtil;
import forge.Card;
import forge.CardList;
import forge.CardListFilter;
import forge.CombatUtil;
import forge.Command;
import forge.ComputerUtil;
import forge.Constant.Zone;
import forge.PhaseType;
import forge.Singletons;
import forge.card.cardfactory.CardFactoryUtil;
import forge.card.cost.Cost;
@@ -43,6 +41,8 @@ import forge.card.spellability.Spell;
import forge.card.spellability.SpellAbility;
import forge.card.spellability.SpellAbilityRestriction;
import forge.card.spellability.Target;
import forge.game.phase.CombatUtil;
import forge.game.phase.PhaseType;
import forge.util.MyRandom;
/**

View File

@@ -25,12 +25,9 @@ import forge.AllZoneUtil;
import forge.Card;
import forge.CardList;
import forge.CardListFilter;
import forge.CombatUtil;
import forge.Command;
import forge.ComputerUtil;
import forge.Constant.Zone;
import forge.PhaseHandler;
import forge.PhaseType;
import forge.Player;
import forge.Singletons;
import forge.card.replacement.ReplacementEffect;
@@ -43,6 +40,9 @@ import forge.card.spellability.Target;
import forge.card.trigger.Trigger;
import forge.card.trigger.TriggerHandler;
import forge.card.trigger.TriggerType;
import forge.game.phase.CombatUtil;
import forge.game.phase.PhaseHandler;
import forge.game.phase.PhaseType;
import forge.util.MyRandom;
/**

View File

@@ -32,7 +32,6 @@ import forge.ComputerUtil;
import forge.Constant;
import forge.Constant.Zone;
import forge.GameEntity;
import forge.PhaseType;
import forge.Player;
import forge.Singletons;
import forge.card.cardfactory.CardFactoryUtil;
@@ -42,6 +41,7 @@ import forge.card.spellability.AbilitySub;
import forge.card.spellability.Spell;
import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target;
import forge.game.phase.PhaseType;
//AB:GainControl|ValidTgts$Creature|TgtPrompt$Select target legendary creature|LoseControl$Untap,LoseControl|SpellDescription$Gain control of target xxxxxxx

View File

@@ -29,8 +29,6 @@ import forge.CardList;
import forge.CardListFilter;
import forge.ComputerUtil;
import forge.Constant.Zone;
import forge.PhaseHandler;
import forge.PhaseType;
import forge.Player;
import forge.Singletons;
import forge.card.cardfactory.CardFactoryUtil;
@@ -41,6 +39,8 @@ import forge.card.spellability.AbilitySub;
import forge.card.spellability.Spell;
import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target;
import forge.game.phase.PhaseHandler;
import forge.game.phase.PhaseType;
import forge.gui.GuiUtils;
import forge.util.MyRandom;

View File

@@ -26,10 +26,8 @@ import forge.Card;
import forge.CardList;
import forge.CardListUtil;
import forge.CardUtil;
import forge.CombatUtil;
import forge.ComputerUtil;
import forge.Constant.Zone;
import forge.PhaseType;
import forge.Player;
import forge.Singletons;
import forge.card.cardfactory.CardFactoryUtil;
@@ -40,6 +38,8 @@ import forge.card.spellability.AbilitySub;
import forge.card.spellability.Spell;
import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target;
import forge.game.phase.CombatUtil;
import forge.game.phase.PhaseType;
/**
* <p>

View File

@@ -30,12 +30,10 @@ import forge.Card;
import forge.CardList;
import forge.CardListFilter;
import forge.CardUtil;
import forge.CombatUtil;
import forge.Command;
import forge.ComputerUtil;
import forge.Constant;
import forge.Constant.Zone;
import forge.PhaseType;
import forge.Player;
import forge.Singletons;
import forge.card.cardfactory.CardFactoryUtil;
@@ -46,6 +44,8 @@ import forge.card.spellability.AbilitySub;
import forge.card.spellability.Spell;
import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target;
import forge.game.phase.CombatUtil;
import forge.game.phase.PhaseType;
import forge.gui.GuiUtils;
/**

View File

@@ -27,13 +27,10 @@ import forge.Card;
import forge.CardList;
import forge.CardListFilter;
import forge.CardUtil;
import forge.CombatUtil;
import forge.Command;
import forge.ComputerUtil;
import forge.Constant.Zone;
import forge.GameEntity;
import forge.PhaseHandler;
import forge.PhaseType;
import forge.Player;
import forge.Singletons;
import forge.card.cardfactory.CardFactoryUtil;
@@ -45,6 +42,9 @@ import forge.card.spellability.Spell;
import forge.card.spellability.SpellAbility;
import forge.card.spellability.SpellAbilityRestriction;
import forge.card.spellability.Target;
import forge.game.phase.CombatUtil;
import forge.game.phase.PhaseHandler;
import forge.game.phase.PhaseType;
import forge.util.MyRandom;
/**

View File

@@ -26,11 +26,9 @@ import forge.AllZoneUtil;
import forge.Card;
import forge.CardList;
import forge.CardListUtil;
import forge.CombatUtil;
import forge.Command;
import forge.ComputerUtil;
import forge.Constant.Zone;
import forge.PhaseType;
import forge.Singletons;
import forge.card.cardfactory.CardFactoryUtil;
import forge.card.cost.Cost;
@@ -40,6 +38,8 @@ import forge.card.spellability.AbilitySub;
import forge.card.spellability.Spell;
import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target;
import forge.game.phase.CombatUtil;
import forge.game.phase.PhaseType;
/**
* <p>

View File

@@ -35,7 +35,6 @@ import forge.ComputerUtil;
import forge.Constant;
import forge.Constant.Zone;
import forge.GameActionUtil;
import forge.PhaseType;
import forge.Player;
import forge.PlayerZone;
import forge.Singletons;
@@ -46,6 +45,7 @@ import forge.card.spellability.AbilitySub;
import forge.card.spellability.Spell;
import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target;
import forge.game.phase.PhaseType;
import forge.gui.GuiUtils;
import forge.util.MyRandom;

View File

@@ -27,7 +27,6 @@ import forge.Card;
import forge.CardList;
import forge.ComputerUtil;
import forge.Constant.Zone;
import forge.PhaseType;
import forge.Player;
import forge.Singletons;
import forge.card.cardfactory.CardFactoryUtil;
@@ -40,6 +39,7 @@ import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target;
import forge.card.trigger.Trigger;
import forge.card.trigger.TriggerHandler;
import forge.game.phase.PhaseType;
import forge.util.MyRandom;
/**

View File

@@ -23,7 +23,6 @@ import java.util.HashMap;
import forge.AllZone;
import forge.Card;
import forge.ComputerUtil;
import forge.PhaseType;
import forge.Player;
import forge.Singletons;
import forge.card.spellability.AbilityActivated;
@@ -31,6 +30,7 @@ import forge.card.spellability.AbilitySub;
import forge.card.spellability.Spell;
import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target;
import forge.game.phase.PhaseType;
/**
* <p>

View File

@@ -31,7 +31,6 @@ import forge.ComputerUtil;
import forge.Constant;
import forge.Constant.Zone;
import forge.GameActionUtil;
import forge.PhaseType;
import forge.Player;
import forge.Singletons;
import forge.card.cardfactory.CardFactoryUtil;
@@ -42,6 +41,7 @@ import forge.card.spellability.AbilitySub;
import forge.card.spellability.Spell;
import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target;
import forge.game.phase.PhaseType;
import forge.gui.GuiUtils;
import forge.util.MyRandom;

View File

@@ -26,7 +26,6 @@ import forge.Command;
import forge.ComputerUtil;
import forge.Constant;
import forge.Constant.Zone;
import forge.PhaseUtil;
import forge.Player;
import forge.PlayerZone;
import forge.Singletons;
@@ -36,6 +35,7 @@ import forge.card.spellability.AbilitySub;
import forge.card.spellability.Spell;
import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target;
import forge.game.phase.PhaseUtil;
import forge.gui.GuiUtils;
import forge.util.MyRandom;

View File

@@ -32,7 +32,6 @@ import forge.Counters;
import forge.GameActionUtil;
import forge.Player;
import forge.PlayerZone;
import forge.PhaseType;
import forge.Singletons;
import forge.card.cost.Cost;
import forge.card.spellability.Ability;
@@ -40,6 +39,7 @@ import forge.card.spellability.AbilityActivated;
import forge.card.spellability.AbilityMana;
import forge.card.spellability.SpellAbility;
import forge.control.input.Input;
import forge.game.phase.PhaseType;
import forge.gui.GuiUtils;
import forge.util.MyRandom;

View File

@@ -17,27 +17,9 @@
*/
package forge.card.cardfactory;
import com.esotericsoftware.minlog.Log;
import forge.AllZone;
import forge.AllZoneUtil;
import forge.Card;
import forge.CardList;
import forge.CardListFilter;
import forge.CardUtil;
import forge.Constant;
import forge.Constant.Zone;
import forge.Command;
import forge.Counters;
import forge.PhaseHandler;
import forge.Player;
import forge.PlayerZone;
import forge.Singletons;
import forge.card.cost.Cost;
import forge.card.spellability.Ability;
import forge.card.spellability.AbilityActivated;
import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target;
import forge.gui.GuiUtils;
/**
* <p>
@@ -63,194 +45,10 @@ public class CardFactoryPlaneswalkers {
public static Card getCard(final Card card, final String cardName) {
// All Planeswalkers set their loyality in the beginning
if (card.getBaseLoyalty() > 0) {
card.addComesIntoPlayCommand(CardFactoryUtil.entersBattleFieldWithCounters(card, Counters.LOYALTY,
card.getBaseLoyalty()));
Command cmd = CardFactoryUtil.entersBattleFieldWithCounters(card, Counters.LOYALTY, card.getBaseLoyalty());
card.addComesIntoPlayCommand(cmd);
}
// *************** START *********** START **************************
/*if (cardName.equals("Sarkhan the Mad")) {
// Planeswalker book-keeping
final int[] turn = new int[1];
turn[0] = -1;
// ability1
/*
* 0: Reveal the top card of your library and put it into your hand.
* Sarkhan the Mad deals damage to himself equal to that card's
* converted mana cost.
*/
/*final SpellAbility ability1 = new Ability(card, "0") {
@Override
public void resolve() {
card.addCounterFromNonEffect(Counters.LOYALTY, 0);
turn[0] = Singletons.getModel().getGameState().getPhaseHandler().getTurn();
final Player player = card.getController();
final PlayerZone lib = player.getZone(Constant.Zone.Library);
final Card topCard = lib.get(0);
final int convertedManaTopCard = CardUtil.getConvertedManaCost(topCard.getManaCost());
final CardList showTop = new CardList();
showTop.add(topCard);
GuiUtils.chooseOneOrNone("Revealed top card: ", showTop.toArray());
// now, move it to player's hand
Singletons.getModel().getGameAction().moveToHand(topCard);
// now, do X damage to Sarkhan
card.addDamage(convertedManaTopCard, card);
} // resolve()
@Override
public boolean canPlayAI() {
// the computer isn't really smart enough to play this
// effectively, and it doesn't really
// help unless there are no cards in his hand
return false;
}
@Override
public boolean canPlay() {
// looks like standard Planeswalker stuff...
// maybe should check if library is empty, or 1 card?
return AllZone.getZoneOf(card).is(Constant.Zone.Battlefield)
&& (turn[0] != Singletons.getModel().getGameState().getPhaseHandler().getTurn()) && PhaseHandler.canCastSorcery(card.getController());
} // canPlay()
};
final StringBuilder ab1 = new StringBuilder();
ab1.append("0: Reveal the top card of your library and put it ");
ab1.append("into your hand. Sarkhan the Mad deals damage ");
ab1.append("to himself equal to that card's converted mana cost.");
ability1.setDescription(ab1.toString());
final StringBuilder stack1 = new StringBuilder();
stack1.append(card.getName()).append(" - Reveal top card and do damage.");
ability1.setStackDescription(stack1.toString());
// ability2
/*
* -2: Target creature's controller sacrifices it, then that player
* puts a 5/5 red Dragon creature token with flying onto the
* battlefield.
*/
/*final Target target2 = new Target(card, "TgtC");
final Cost cost2 = new Cost(card, "SubCounter<2/LOYALTY>", true);
final SpellAbility ability2 = new AbilityActivated(card, cost2, target2) {
private static final long serialVersionUID = 4322453486268967722L;
@Override
public void resolve() {
// card.subtractCounter(Counters.LOYALTY, 2);
turn[0] = Singletons.getModel().getGameState().getPhaseHandler().getTurn();
final Card target = this.getTargetCard();
Singletons.getModel().getGameAction().sacrifice(target);
// in makeToken, use target for source, so it goes into the
// correct Zone
CardFactoryUtil.makeToken("Dragon", "R 5 5 Dragon", target.getController(), "R", new String[] {
"Creature", "Dragon" }, 5, 5, new String[] { "Flying" });
} // resolve()
@Override
public boolean canPlayAI() {
CardList creatures = AllZoneUtil.getCreaturesInPlay(AllZone.getComputerPlayer());
creatures = creatures.filter(new CardListFilter() {
@Override
public boolean addCard(final Card c) {
return !(c.isToken() && c.isType("Dragon"));
}
});
return creatures.size() >= 1;
}
@Override
public void chooseTargetAI() {
CardList cards = AllZone.getComputerPlayer().getCardsIn(Zone.Battlefield);
// avoid targeting the dragon tokens we just put in play...
cards = cards.filter(new CardListFilter() {
@Override
public boolean addCard(final Card c) {
return !(c.isToken() && c.isType("Dragon"));
}
});
this.setTargetCard(CardFactoryUtil.getCheapestCreatureAI(cards, this, true));
final StringBuilder sb = new StringBuilder();
sb.append("Sarkhan the Mad caused sacrifice of: ");
sb.append(CardFactoryUtil.getCheapestCreatureAI(cards, this, true));
Log.debug("Sarkhan the Mad", sb.toString());
}
@Override
public boolean canPlay() {
return AllZone.getZoneOf(card).is(Constant.Zone.Battlefield)
&& (card.getCounters(Counters.LOYALTY) >= 2) && (turn[0] != Singletons.getModel().getGameState().getPhaseHandler().getTurn())
&& PhaseHandler.canCastSorcery(card.getController());
} // canPlay()
};
final StringBuilder ab2 = new StringBuilder();
ab2.append("-2: Target creature's controller sacrifices it, ");
ab2.append("then that player puts a 5/5 red Dragon creature ");
ab2.append("token with flying onto the battlefield.");
ability2.setDescription(ab2.toString());
// ability3
/*
* -4: Each Dragon creature you control deals damage equal to its
* power to target player.
*/
/*final Target target3 = new Target(card, "Select target player", "Player");
final Cost cost3 = new Cost(card, "SubCounter<4/LOYALTY>", true);
final SpellAbility ability3 = new AbilityActivated(card, cost3, target3) {
private static final long serialVersionUID = -5488579738767048060L;
@Override
public void resolve() {
// card.subtractCounter(Counters.LOYALTY, 4);
turn[0] = Singletons.getModel().getGameState().getPhaseHandler().getTurn();
final Player target = this.getTargetPlayer();
final Player player = card.getController();
final CardList dragons = player.getCardsIn(Zone.Battlefield).getType("Dragon");
for (int i = 0; i < dragons.size(); i++) {
final Card dragon = dragons.get(i);
final int damage = dragon.getNetAttack();
target.addDamage(damage, dragon);
}
} // resolve()
@Override
public boolean canPlayAI() {
this.setTargetPlayer(AllZone.getHumanPlayer());
final CardList dragons = AllZone.getComputerPlayer().getCardsIn(Zone.Battlefield).getType("Dragon");
return (card.getCounters(Counters.LOYALTY) >= 4) && (dragons.size() >= 1);
}
@Override
public boolean canPlay() {
return AllZone.getZoneOf(card).is(Constant.Zone.Battlefield)
&& (card.getCounters(Counters.LOYALTY) >= 4) && (turn[0] != Singletons.getModel().getGameState().getPhaseHandler().getTurn())
&& PhaseHandler.canCastSorcery(card.getController());
} // canPlay()
};
final StringBuilder ab3 = new StringBuilder();
ab3.append("-4: Each Dragon creature you control ");
ab3.append("deals damage equal to its power to target player.");
ability3.setDescription(ab3.toString());
card.addSpellAbility(ability1);
card.addSpellAbility(ability2);
card.addSpellAbility(ability3);
card.setSVars(card.getSVars());
card.setSets(card.getSets());
return card;
}*/ // *************** END ************ END **************************
return card;
}

View File

@@ -36,17 +36,14 @@ import forge.CardCharactersticName;
import forge.CardList;
import forge.CardListFilter;
import forge.CardUtil;
import forge.CombatUtil;
import forge.Command;
import forge.CommandArgs;
import forge.ComputerUtil;
import forge.Constant;
import forge.PhaseType;
import forge.Constant.Zone;
import forge.Counters;
import forge.GameActionUtil;
import forge.HandSizeOp;
import forge.PhaseHandler;
import forge.Player;
import forge.PlayerZone;
import forge.Singletons;
@@ -68,6 +65,9 @@ import forge.card.trigger.TriggerType;
import forge.control.input.Input;
import forge.control.input.InputPayManaCost;
import forge.control.input.InputPayManaCostUtil;
import forge.game.phase.CombatUtil;
import forge.game.phase.PhaseHandler;
import forge.game.phase.PhaseType;
import forge.gui.GuiUtils;
import forge.util.MyRandom;

View File

@@ -24,7 +24,6 @@ import forge.ButtonUtil;
import forge.Card;
import forge.ComputerUtil;
import forge.Constant.Zone;
import forge.PhaseHandler;
import forge.Player;
import forge.PlayerZone;
import forge.Singletons;
@@ -35,6 +34,7 @@ import forge.card.trigger.TriggerType;
import forge.control.input.Input;
import forge.control.input.InputMana;
import forge.control.input.InputPayManaCostUtil;
import forge.game.phase.PhaseHandler;
/**
* The Class CostMana.

View File

@@ -25,13 +25,13 @@ import forge.Card;
import forge.CardList;
import forge.Constant;
import forge.Constant.Zone;
import forge.PhaseHandler;
import forge.Player;
import forge.card.cardfactory.CardFactoryUtil;
import forge.card.cost.Cost;
import forge.card.cost.CostPayment;
import forge.card.staticability.StaticAbility;
import forge.error.ErrorViewer;
import forge.game.phase.PhaseHandler;
/**
* <p>

View File

@@ -21,13 +21,13 @@ import java.util.HashMap;
import forge.AllZoneUtil;
import forge.CardList;
import forge.PhaseType;
import forge.Constant.Zone;
import forge.PhaseHandler;
import forge.Player;
import forge.Singletons;
import forge.card.abilityfactory.AbilityFactory;
import forge.card.cardfactory.CardFactoryUtil;
import forge.game.phase.PhaseHandler;
import forge.game.phase.PhaseType;
/**
* <p>

View File

@@ -23,14 +23,14 @@ import forge.AllZone;
import forge.AllZoneUtil;
import forge.Card;
import forge.CardList;
import forge.PhaseType;
import forge.Constant.Zone;
import forge.PhaseHandler;
import forge.Player;
import forge.PlayerZone;
import forge.Singletons;
import forge.card.abilityfactory.AbilityFactory;
import forge.card.cardfactory.CardFactoryUtil;
import forge.game.phase.PhaseHandler;
import forge.game.phase.PhaseType;
/**
* <p>

View File

@@ -21,7 +21,7 @@ import java.util.ArrayList;
import java.util.List;
import forge.Constant;
import forge.PhaseType;
import forge.game.phase.PhaseType;
/**
* <p>

View File

@@ -31,7 +31,6 @@ import forge.ComputerAIGeneral;
import forge.ComputerUtil;
import forge.Constant;
import forge.Constant.Zone;
import forge.PhaseType;
import forge.Player;
import forge.Singletons;
import forge.card.abilityfactory.AbilityFactory;
@@ -40,6 +39,7 @@ import forge.card.cost.Cost;
import forge.card.trigger.Trigger;
import forge.card.trigger.TriggerType;
import forge.control.input.Input;
import forge.game.phase.PhaseType;
/**
* <p>

View File

@@ -24,13 +24,13 @@ import java.util.Map;
import forge.AllZone;
import forge.AllZoneUtil;
import forge.Card;
import forge.PhaseType;
import forge.Constant.Zone;
import forge.GameEntity;
import forge.Player;
import forge.Singletons;
import forge.card.abilityfactory.AbilityFactory;
import forge.card.spellability.SpellAbility;
import forge.game.phase.PhaseType;
/**
* The Class StaticAbility.

View File

@@ -22,11 +22,11 @@ import java.util.List;
import forge.AllZone;
import forge.Card;
import forge.PhaseHandler;
import forge.Player;
import forge.Constant.Zone;
import forge.card.spellability.AbilityMana;
import forge.card.spellability.SpellAbility;
import forge.game.phase.PhaseHandler;
/**
* The Class StaticAbility_CantBeCast.

View File

@@ -26,7 +26,6 @@ import forge.AllZoneUtil;
import forge.Card;
import forge.CardList;
import forge.CardUtil;
import forge.PhaseType;
import forge.Constant.Zone;
import forge.PlayerZone;
import forge.Singletons;
@@ -34,6 +33,7 @@ import forge.card.TriggerReplacementBase;
import forge.card.abilityfactory.AbilityFactory;
import forge.card.cardfactory.CardFactoryUtil;
import forge.card.spellability.SpellAbility;
import forge.game.phase.PhaseType;
/**
* <p>

View File

@@ -29,7 +29,6 @@ import forge.Command;
import forge.CommandArgs;
import forge.ComputerUtil;
import forge.Constant;
import forge.PhaseType;
import forge.Constant.Zone;
import forge.GameActionUtil;
import forge.Player;
@@ -44,6 +43,7 @@ import forge.card.spellability.SpellAbility;
import forge.card.spellability.SpellAbilityRestriction;
import forge.card.spellability.Target;
import forge.control.input.Input;
import forge.game.phase.PhaseType;
import forge.util.TextUtil;
/**
@@ -280,9 +280,9 @@ public class TriggerHandler {
return;
}
if( 0 == 1 ) {
System.out.println("T:" + mode.toString() + " > " + TextUtil.mapToString(runParams) );
}
// if( 0 == 1 ) {
// System.out.println("T:" + mode.toString() + " > " + TextUtil.mapToString(runParams) );
// }
// This is done to allow the list of triggers to be modified while
// triggers are running.

View File

@@ -26,10 +26,8 @@ import javax.swing.ImageIcon;
import forge.AllZone;
import forge.Card;
import forge.CardContainer;
import forge.CardList;
import forge.Constant;
import forge.PhaseType;
import forge.Constant.Zone;
import forge.GuiMultipleBlockers;
import forge.Player;
@@ -42,6 +40,8 @@ import forge.control.match.ControlMessage;
import forge.control.match.ControlPicture;
import forge.control.match.ControlTabber;
import forge.game.GameType;
import forge.game.phase.PhaseType;
import forge.gui.CardContainer;
import forge.gui.toolbox.FLabel;
import forge.gui.toolbox.FSkin;
import forge.properties.ForgePreferences.FPref;

View File

@@ -21,9 +21,9 @@ import forge.AllZone;
import forge.ButtonUtil;
import forge.Card;
import forge.CardList;
import forge.CombatUtil;
import forge.Constant;
import forge.Constant.Zone;
import forge.game.phase.CombatUtil;
import forge.PlayerZone;
import forge.Singletons;

View File

@@ -22,10 +22,10 @@ import java.util.ArrayList;
import forge.AllZone;
import forge.ButtonUtil;
import forge.Card;
import forge.CombatUtil;
import forge.Constant;
import forge.PlayerZone;
import forge.Singletons;
import forge.game.phase.CombatUtil;
/**
* <p>

View File

@@ -20,9 +20,9 @@ package forge.control.input;
import forge.AllZone;
import forge.ButtonUtil;
import forge.Card;
import forge.CombatUtil;
import forge.Constant;
import forge.Constant.Zone;
import forge.game.phase.CombatUtil;
import forge.PlayerZone;
import forge.Singletons;

View File

@@ -21,11 +21,11 @@ import java.util.LinkedList;
import java.util.Stack;
import forge.ComputerAIInput;
import forge.PhaseType;
import forge.MyObservable;
import forge.PhaseHandler;
import forge.Player;
import forge.Singletons;
import forge.game.phase.PhaseHandler;
import forge.game.phase.PhaseType;
import forge.model.FModel;
/**

View File

@@ -29,14 +29,14 @@ import forge.Constant;
import forge.Constant.Zone;
import forge.GameAction;
import forge.GameActionUtil;
import forge.PhaseHandler;
import forge.PhaseUtil;
import forge.Player;
import forge.PlayerZone;
import forge.Singletons;
import forge.card.abilityfactory.AbilityFactory;
import forge.card.spellability.SpellAbility;
import forge.game.GamePlayerRating;
import forge.game.phase.PhaseHandler;
import forge.game.phase.PhaseUtil;
import forge.quest.QuestController;
import forge.quest.bazaar.QuestItemType;
/**

View File

@@ -20,11 +20,11 @@ package forge.control.input;
import forge.AllZone;
import forge.ButtonUtil;
import forge.Card;
import forge.PhaseType;
import forge.GuiDisplayUtil;
import forge.Player;
import forge.PlayerZone;
import forge.Singletons;
import forge.game.phase.PhaseType;
/**
* <p>

View File

@@ -21,13 +21,13 @@ import forge.AllZone;
import forge.ButtonUtil;
import forge.Card;
import forge.Constant.Zone;
import forge.PhaseHandler;
import forge.Player;
import forge.PlayerZone;
import forge.Singletons;
import forge.card.mana.ManaCost;
import forge.card.spellability.SpellAbility;
import forge.card.trigger.TriggerType;
import forge.game.phase.PhaseHandler;
//pays the cost of a card played from the player's hand
//the card is removed from the players hand if the cost is paid

View File

@@ -16,13 +16,13 @@ import forge.CardUtil;
import forge.Constant;
import forge.Constant.Zone;
import forge.GameAction;
import forge.PhaseHandler;
import forge.Player;
import forge.Singletons;
import forge.card.trigger.TriggerType;
import forge.control.FControl;
import forge.control.input.InputMulligan;
import forge.deck.Deck;
import forge.game.phase.PhaseHandler;
import forge.gui.toolbox.FLabel;
import forge.item.CardPrinted;
import forge.properties.ForgePreferences.FPref;

View File

@@ -18,22 +18,22 @@
package forge.game;
import forge.AIPlayer;
import forge.Combat;
import forge.Constant;
import forge.DefaultPlayerZone;
import forge.EndOfCombat;
import forge.EndOfTurn;
import forge.GameLog;
import forge.HumanPlayer;
import forge.MagicStack;
import forge.PhaseHandler;
import forge.Player;
import forge.PlayerZone;
import forge.StaticEffects;
import forge.Untap;
import forge.Upkeep;
import forge.card.replacement.ReplacementHandler;
import forge.card.trigger.TriggerHandler;
import forge.game.phase.Combat;
import forge.game.phase.EndOfCombat;
import forge.game.phase.EndOfTurn;
import forge.game.phase.PhaseHandler;
import forge.game.phase.Untap;
import forge.game.phase.Upkeep;
/**
* Represents the state of a <i>single game</i> and is

View File

@@ -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;
package forge.game.phase;
import java.util.ArrayList;
import java.util.Collection;
@@ -28,6 +28,15 @@ import java.util.Map.Entry;
import java.util.Set;
import java.util.TreeMap;
import forge.AllZone;
import forge.AllZoneUtil;
import forge.Card;
import forge.CardList;
import forge.CardUtil;
import forge.GameActionUtil;
import forge.GameEntity;
import forge.Player;
import forge.Singletons;
import forge.Constant.Zone;
import forge.card.trigger.TriggerType;

View File

@@ -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;
package forge.game.phase;
import java.util.ArrayList;
import java.util.HashMap;
@@ -25,7 +25,23 @@ import java.util.regex.Pattern;
import com.esotericsoftware.minlog.Log;
import forge.PhaseType;
import forge.AllZone;
import forge.AllZoneUtil;
import forge.Card;
import forge.CardList;
import forge.CardListFilter;
import forge.Command;
import forge.ComputerUtil;
import forge.Constant;
import forge.Counters;
import forge.GameAction;
import forge.GameActionUtil;
import forge.GameEntity;
import forge.Player;
import forge.PlayerUtil;
import forge.PlayerZone;
import forge.Singletons;
import forge.Constant.Color;
import forge.Constant.Zone;
import forge.card.TriggerReplacementBase;
import forge.card.abilityfactory.AbilityFactory;
@@ -57,7 +73,7 @@ public class CombatUtil {
* @param blocker
* a {@link forge.Card} object.
* @param combat
* a {@link forge.Combat} object.
* a {@link forge.game.phase.Combat} object.
* @return a boolean.
*/
public static boolean canBlock(final Card blocker, final Combat combat) {
@@ -134,7 +150,7 @@ public class CombatUtil {
* @param attacker
* a {@link forge.Card} object.
* @param combat
* a {@link forge.Combat} object.
* a {@link forge.game.phase.Combat} object.
* @return a boolean.
*/
public static boolean canBeBlocked(final Card attacker, final Combat combat) {
@@ -388,7 +404,7 @@ public class CombatUtil {
* </p>
*
* @param combat
* a {@link forge.Combat} object.
* a {@link forge.game.phase.Combat} object.
* @return a boolean.
*/
public static boolean finishedMandatoryBlocks(final Combat combat) {
@@ -444,7 +460,7 @@ public class CombatUtil {
* @param blocker
* a {@link forge.Card} object.
* @param combat
* a {@link forge.Combat} object.
* a {@link forge.game.phase.Combat} object.
* @return a boolean.
*/
public static boolean mustBlockAnAttacker(final Card blocker, final Combat combat) {
@@ -515,7 +531,7 @@ public class CombatUtil {
* @param blocker
* a {@link forge.Card} object.
* @param combat
* a {@link forge.Combat} object.
* a {@link forge.game.phase.Combat} object.
* @return a boolean.
*/
public static boolean canBlock(final Card attacker, final Card blocker, final Combat combat) {
@@ -708,7 +724,7 @@ public class CombatUtil {
* @param c
* a {@link forge.Card} object.
* @param combat
* a {@link forge.Combat} object.
* a {@link forge.game.phase.Combat} object.
* @return a boolean.
*/
public static boolean canAttack(final Card c, final Combat combat) {
@@ -960,7 +976,7 @@ public class CombatUtil {
* @param attacked
* a {@link forge.Player} object.
* @param combat
* a {@link forge.Combat} object.
* a {@link forge.game.phase.Combat} object.
* @return a int.
*/
public static int damageIfUnblocked(final Card attacker, final Player attacked, final Combat combat) {
@@ -987,7 +1003,7 @@ public class CombatUtil {
* @param attacked
* a {@link forge.Player} object.
* @param combat
* a {@link forge.Combat} object.
* a {@link forge.game.phase.Combat} object.
* @return a int.
*/
public static int poisonIfUnblocked(final Card attacker, final Player attacked, final Combat combat) {
@@ -1053,7 +1069,7 @@ public class CombatUtil {
* </p>
*
* @param combat
* a {@link forge.Combat} object.
* a {@link forge.game.phase.Combat} object.
* @return a int.
*/
public static int lifeThatWouldRemain(final Combat combat) {
@@ -1095,7 +1111,7 @@ public class CombatUtil {
* </p>
*
* @param combat
* a {@link forge.Combat} object.
* a {@link forge.game.phase.Combat} object.
* @return a int.
*/
public static int resultingPoison(final Combat combat) {
@@ -1136,7 +1152,7 @@ public class CombatUtil {
* </p>
*
* @param combat
* a {@link forge.Combat} object.
* a {@link forge.game.phase.Combat} object.
* @return a boolean.
*/
public static boolean lifeInDanger(final Combat combat) {
@@ -1175,7 +1191,7 @@ public class CombatUtil {
* </p>
*
* @param combat
* a {@link forge.Combat} object.
* a {@link forge.game.phase.Combat} object.
* @return a boolean.
*/
public static boolean wouldLoseLife(final Combat combat) {
@@ -1190,7 +1206,7 @@ public class CombatUtil {
* </p>
*
* @param combat
* a {@link forge.Combat} object.
* a {@link forge.game.phase.Combat} object.
* @return a boolean.
*/
public static boolean lifeInSeriousDanger(final Combat combat) {
@@ -1417,7 +1433,7 @@ public class CombatUtil {
* @param trigger
* a {@link forge.card.trigger.Trigger} object.
* @param combat
* a {@link forge.Combat} object.
* a {@link forge.game.phase.Combat} object.
* @return a boolean.
*/
public static boolean combatTriggerWillTrigger(final Card attacker, final Card defender, final Trigger trigger,
@@ -1710,7 +1726,7 @@ public class CombatUtil {
* @param defender
* a {@link forge.Card} object.
* @param combat
* a {@link forge.Combat} object.
* a {@link forge.game.phase.Combat} object.
* @return a int.
*/
public static int predictPowerBonusOfAttacker(final Card attacker, final Card defender, final Combat combat) {
@@ -1837,7 +1853,7 @@ public class CombatUtil {
* @param defender
* a {@link forge.Card} object.
* @param combat
* a {@link forge.Combat} object.
* a {@link forge.game.phase.Combat} object.
* @return a int.
*/
public static int predictToughnessBonusOfAttacker(final Card attacker, final Card defender, final Combat combat) {
@@ -2077,7 +2093,7 @@ public class CombatUtil {
* @param defender
* a {@link forge.Card} object.
* @param combat
* a {@link forge.Combat} object.
* a {@link forge.game.phase.Combat} object.
* @param withoutAbilities
* a boolean.
* @return a boolean.
@@ -2219,7 +2235,7 @@ public class CombatUtil {
* @param attacker
* a {@link forge.Card} object.
* @param combat
* a {@link forge.Combat} object.
* a {@link forge.game.phase.Combat} object.
* @param withoutAbilities
* a boolean.
* @return a boolean.

View File

@@ -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;
package forge.game.phase;
/**
* <p>

View File

@@ -15,8 +15,17 @@
* 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;
package forge.game.phase;
import forge.AllZone;
import forge.AllZoneUtil;
import forge.Card;
import forge.CardList;
import forge.CardListFilter;
import forge.CardListUtil;
import forge.Counters;
import forge.Player;
import forge.Singletons;
import forge.Constant.Zone;
import forge.card.spellability.Ability;
import forge.card.spellability.SpellAbility;

View File

@@ -15,10 +15,15 @@
* 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;
package forge.game.phase;
import java.util.HashMap;
import forge.Command;
import forge.CommandList;
import forge.Player;
import forge.Singletons;
/**
* <p>

View File

@@ -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;
package forge.game.phase;
import java.util.HashMap;
import java.util.Observer;
@@ -23,6 +23,15 @@ import java.util.Stack;
import com.esotericsoftware.minlog.Log;
import forge.AllZone;
import forge.AllZoneUtil;
import forge.Card;
import forge.CardList;
import forge.CardListFilter;
import forge.GameActionUtil;
import forge.MyObservable;
import forge.Player;
import forge.Singletons;
import forge.Constant.Zone;
import forge.card.trigger.TriggerType;
import forge.properties.ForgePreferences.FPref;
@@ -938,7 +947,7 @@ public class PhaseHandler extends MyObservable implements java.io.Serializable {
* </p>
*
* @param phase
* a {@link java.lang.PhaseType} object.
* a {@link java.forge.game.phase.PhaseType} object.
*/
public final void setDevPhaseState(final PhaseType phase) {
this.phaseIndex = phase.Index;

View File

@@ -1,4 +1,4 @@
package forge;
package forge.game.phase;
import java.security.InvalidParameterException;
import java.util.ArrayList;

View File

@@ -15,14 +15,21 @@
* 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;
package forge.game.phase;
import java.util.HashMap;
import forge.PhaseType;
import forge.AllZone;
import forge.AllZoneUtil;
import forge.Card;
import forge.CardList;
import forge.CardListFilter;
import forge.Player;
import forge.Singletons;
import forge.Constant.Zone;
import forge.card.trigger.TriggerType;
import forge.control.ControlMatchUI;
import forge.game.phase.PhaseType;
import forge.view.match.ViewField.PhaseLabel;
/**

View File

@@ -15,10 +15,23 @@
* 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;
package forge.game.phase;
import java.util.ArrayList;
import forge.AllZone;
import forge.AllZoneUtil;
import forge.ButtonUtil;
import forge.Card;
import forge.CardList;
import forge.CardListFilter;
import forge.Constant;
import forge.Counters;
import forge.GameActionUtil;
import forge.GameEntity;
import forge.Player;
import forge.PlayerZone;
import forge.Singletons;
import forge.Constant.Zone;
import forge.card.cardfactory.CardFactoryUtil;
import forge.control.input.Input;

View File

@@ -15,10 +15,28 @@
* 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;
package forge.game.phase;
import java.util.ArrayList;
import forge.AllZone;
import forge.AllZoneUtil;
import forge.ButtonUtil;
import forge.Card;
import forge.CardCharactersticName;
import forge.CardList;
import forge.CardListFilter;
import forge.CardListUtil;
import forge.Command;
import forge.ComputerUtil;
import forge.Constant;
import forge.Counters;
import forge.GameAction;
import forge.GameActionUtil;
import forge.Player;
import forge.PlayerUtil;
import forge.PlayerZone;
import forge.Singletons;
import forge.Constant.Zone;
import forge.card.cardfactory.CardFactoryUtil;
import forge.card.spellability.Ability;

View File

@@ -16,7 +16,9 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package forge;
package forge.gui;
import forge.Card;
/**
* The class CardContainer. A card container is an object that references a

View File

@@ -35,9 +35,9 @@ import javax.swing.border.EtchedBorder;
import forge.AllZone;
import forge.Card;
import forge.CardContainer;
import forge.Constant;
import forge.Constant.Zone;
import forge.gui.CardContainer;
import forge.Counters;
import forge.GameEntity;
import forge.GuiDisplayUtil;

View File

@@ -26,9 +26,9 @@ import javax.swing.JLabel;
import javax.swing.JPanel;
import forge.Card;
import forge.CardContainer;
import forge.GuiDisplayUtil;
import forge.ImageCache;
import forge.gui.CardContainer;
/**
* The class CardPanel. A card panel stores a card to display it on the

View File

@@ -30,8 +30,8 @@ import arcane.ui.ScaledImagePanel;
import arcane.ui.ScaledImagePanel.MultipassType;
import arcane.ui.ScaledImagePanel.ScalingType;
import forge.Card;
import forge.CardContainer;
import forge.ImageCache;
import forge.gui.CardContainer;
import forge.item.CardPrinted;
import forge.item.InventoryItem;

View File

@@ -12,11 +12,11 @@ import javax.swing.SwingConstants;
import net.miginfocom.swing.MigLayout;
import forge.AllZone;
import forge.Constant;
import forge.PhaseHandler;
import forge.Player;
import forge.Singletons;
import forge.control.match.ControlWinLose;
import forge.game.GameType;
import forge.game.phase.PhaseHandler;
import forge.gui.OverlayUtils;
import forge.gui.toolbox.FButton;
import forge.gui.toolbox.FLabel;

View File

@@ -10,6 +10,7 @@ import org.testng.annotations.Test;
import forge.card.cardfactory.CardFactoryInterface;
import forge.card.mana.ManaCost;
import forge.control.input.InputPayManaCostUtil;
import forge.game.phase.CombatUtil;
/**
* <p>