mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 12:18:00 +00:00
'Mulligan' phase removed
This commit is contained in:
@@ -148,6 +148,9 @@ public class InputControl extends MyObservable implements java.io.Serializable {
|
|||||||
* @return a {@link forge.control.input.Input} object.
|
* @return a {@link forge.control.input.Input} object.
|
||||||
*/
|
*/
|
||||||
public final Input getActualInput() {
|
public final Input getActualInput() {
|
||||||
|
if ( !game.hasMulliganned() )
|
||||||
|
return new InputMulligan();
|
||||||
|
|
||||||
final PhaseHandler handler = game.getPhaseHandler();
|
final PhaseHandler handler = game.getPhaseHandler();
|
||||||
final PhaseType phase = handler.getPhase();
|
final PhaseType phase = handler.getPhase();
|
||||||
final Player playerTurn = handler.getPlayerTurn();
|
final Player playerTurn = handler.getPlayerTurn();
|
||||||
|
|||||||
@@ -174,7 +174,6 @@ public class InputMulligan extends Input {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ga.checkStateEffects();
|
ga.checkStateEffects();
|
||||||
Singletons.getModel().getMatch().getInput().clearInput();
|
|
||||||
|
|
||||||
Player next = game.getPhaseHandler().getPlayerTurn();
|
Player next = game.getPhaseHandler().getPlayerTurn();
|
||||||
|
|
||||||
@@ -187,7 +186,9 @@ public class InputMulligan extends Input {
|
|||||||
VField nextField = CMatchUI.SINGLETON_INSTANCE.getFieldViewFor(next);
|
VField nextField = CMatchUI.SINGLETON_INSTANCE.getFieldViewFor(next);
|
||||||
SDisplayUtil.showTab(nextField);
|
SDisplayUtil.showTab(nextField);
|
||||||
|
|
||||||
game.getPhaseHandler().nextPhase();
|
game.setMulliganComplete();
|
||||||
|
Singletons.getModel().getMatch().getInput().clearInput();
|
||||||
|
Singletons.getModel().getMatch().getInput().resetInput();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -23,16 +23,12 @@ import forge.CardUtil;
|
|||||||
import forge.Singletons;
|
import forge.Singletons;
|
||||||
import forge.card.trigger.TriggerHandler;
|
import forge.card.trigger.TriggerHandler;
|
||||||
import forge.card.trigger.TriggerType;
|
import forge.card.trigger.TriggerType;
|
||||||
import forge.control.input.Input;
|
|
||||||
import forge.control.input.InputControl;
|
|
||||||
import forge.control.input.InputMulligan;
|
|
||||||
import forge.deck.Deck;
|
import forge.deck.Deck;
|
||||||
import forge.deck.CardPool;
|
import forge.deck.CardPool;
|
||||||
import forge.deck.DeckSection;
|
import forge.deck.DeckSection;
|
||||||
import forge.error.BugReporter;
|
import forge.error.BugReporter;
|
||||||
import forge.game.event.FlipCoinEvent;
|
import forge.game.event.FlipCoinEvent;
|
||||||
import forge.game.phase.PhaseHandler;
|
import forge.game.phase.PhaseHandler;
|
||||||
import forge.game.phase.PhaseType;
|
|
||||||
import forge.game.player.AIPlayer;
|
import forge.game.player.AIPlayer;
|
||||||
import forge.game.player.LobbyPlayer;
|
import forge.game.player.LobbyPlayer;
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
@@ -389,18 +385,7 @@ public class GameNew {
|
|||||||
p.drawCards(p.getMaxHandSize());
|
p.drawCards(p.getMaxHandSize());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
game.getPhaseHandler().setPhaseState(PhaseType.MULLIGAN);
|
|
||||||
|
|
||||||
InputControl control = match.getInput();
|
|
||||||
Input tmp = new InputMulligan();
|
|
||||||
control.setInput(tmp);
|
|
||||||
|
|
||||||
|
|
||||||
Thread thGame = new GameInputUpdatesThread(match, game);
|
Thread thGame = new GameInputUpdatesThread(match, game);
|
||||||
|
|
||||||
match.getInput().getInput().showMessage();
|
|
||||||
thGame.setName("Game input updater");
|
thGame.setName("Game input updater");
|
||||||
thGame.start();
|
thGame.start();
|
||||||
} // newGame()
|
} // newGame()
|
||||||
|
|||||||
@@ -666,4 +666,8 @@ public class GameState {
|
|||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
return actionPlay;
|
return actionPlay;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean mulliganned = false;
|
||||||
|
public boolean hasMulliganned(){ return mulliganned; }
|
||||||
|
public void setMulliganComplete() { mulliganned = true; }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ public class PhaseHandler extends MyObservable implements java.io.Serializable {
|
|||||||
/** Constant <code>serialVersionUID=5207222278370963197L</code>. */
|
/** Constant <code>serialVersionUID=5207222278370963197L</code>. */
|
||||||
private static final long serialVersionUID = 5207222278370963197L;
|
private static final long serialVersionUID = 5207222278370963197L;
|
||||||
|
|
||||||
private PhaseType phase = PhaseType.MULLIGAN;
|
private PhaseType phase = PhaseType.UNTAP;
|
||||||
private int turn = 0;
|
private int turn = 0;
|
||||||
// Start turn at 0, so first untap step will turn it to 1
|
// Start turn at 0, so first untap step will turn it to 1
|
||||||
|
|
||||||
|
|||||||
@@ -9,8 +9,6 @@ import org.apache.commons.lang3.StringUtils;
|
|||||||
|
|
||||||
|
|
||||||
public enum PhaseType {
|
public enum PhaseType {
|
||||||
MULLIGAN("Mulligan"),
|
|
||||||
// Note: Mulligan is not part of "All Phases" which are strictly ingame phases
|
|
||||||
UNTAP("Untap"),
|
UNTAP("Untap"),
|
||||||
UPKEEP("Upkeep"),
|
UPKEEP("Upkeep"),
|
||||||
DRAW("Draw"),
|
DRAW("Draw"),
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ public class InputProxy extends MyObservable implements Observer {
|
|||||||
* @param in
|
* @param in
|
||||||
* a {@link forge.control.input.Input} object.
|
* a {@link forge.control.input.Input} object.
|
||||||
*/
|
*/
|
||||||
public void setInput(final Input in) {
|
public final void setInput(final Input in) {
|
||||||
valid = true;
|
valid = true;
|
||||||
this.input = in;
|
this.input = in;
|
||||||
this.input.showMessage(); // this call may invalidate the input by the time it returns
|
this.input.showMessage(); // this call may invalidate the input by the time it returns
|
||||||
|
|||||||
Reference in New Issue
Block a user