mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 04:08:01 +00:00
Fix so game doesn't skip over phases with stops too quickly after using End Turn
This commit is contained in:
@@ -655,16 +655,28 @@ public class PlayerControllerHuman extends PlayerController {
|
|||||||
@Override
|
@Override
|
||||||
public SpellAbility chooseSpellAbilityToPlay() {
|
public SpellAbility chooseSpellAbilityToPlay() {
|
||||||
if (mayAutoPass()) {
|
if (mayAutoPass()) {
|
||||||
if (!game.getStack().isEmpty()) {
|
//avoid prompting for input if current phase is set to be auto-passed
|
||||||
|
//instead posing a short delay if needed to prevent the game jumping ahead too quick
|
||||||
|
int delay = 0;
|
||||||
|
if (game.getStack().isEmpty()) {
|
||||||
|
//make sure to briefly pause at phases your not set up to skip
|
||||||
|
if (!isUiSetToSkipPhase(game.getPhaseHandler().getPlayerTurn(), game.getPhaseHandler().getPhase())) {
|
||||||
|
delay = FControlGamePlayback.phasesDelay;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
//pause slightly longer for spells and abilities on the stack resolving
|
||||||
|
delay = FControlGamePlayback.resolveDelay;
|
||||||
|
}
|
||||||
|
if (delay > 0) {
|
||||||
try {
|
try {
|
||||||
//pause briefly while spells and abilities on the stack resolve
|
Thread.sleep(delay);
|
||||||
Thread.sleep(FControlGamePlayback.resolveDelay);
|
|
||||||
}
|
}
|
||||||
catch (InterruptedException e) {
|
catch (InterruptedException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return null; //avoid prompting for input if current phase is set to be auto-passed
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (game.getStack().isEmpty() && isUiSetToSkipPhase(game.getPhaseHandler().getPlayerTurn(), game.getPhaseHandler().getPhase())) {
|
if (game.getStack().isEmpty() && isUiSetToSkipPhase(game.getPhaseHandler().getPlayerTurn(), game.getPhaseHandler().getPhase())) {
|
||||||
|
|||||||
Reference in New Issue
Block a user