mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 19:58:00 +00:00
Merge branch 'combatPhaseHandlerFix' into 'master'
Combat: initConstraints before Declare Attackers See merge request core-developers/forge!2281
This commit is contained in:
@@ -50,7 +50,7 @@ import java.util.Map.Entry;
|
||||
*/
|
||||
public class Combat {
|
||||
private final Player playerWhoAttacks;
|
||||
private final AttackConstraints attackConstraints;
|
||||
private AttackConstraints attackConstraints;
|
||||
// Defenders, as they are attacked by hostile forces
|
||||
private final FCollection<GameEntity> attackableEntries = new FCollection<>();
|
||||
|
||||
@@ -71,10 +71,6 @@ public class Combat {
|
||||
public Combat(final Player attacker) {
|
||||
playerWhoAttacks = attacker;
|
||||
|
||||
// Create keys for all possible attack targets
|
||||
attackableEntries.addAll(CombatUtil.getAllPossibleDefenders(playerWhoAttacks));
|
||||
|
||||
attackConstraints = new AttackConstraints(this);
|
||||
}
|
||||
|
||||
public Combat(Combat combat, GameObjectMap map) {
|
||||
@@ -119,6 +115,13 @@ public class Combat {
|
||||
attackConstraints = new AttackConstraints(this);
|
||||
}
|
||||
|
||||
public void initConstraints() {
|
||||
// Create keys for all possible attack targets
|
||||
attackableEntries.addAll(CombatUtil.getAllPossibleDefenders(playerWhoAttacks));
|
||||
|
||||
attackConstraints = new AttackConstraints(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
@@ -283,6 +283,7 @@ public class PhaseHandler implements java.io.Serializable {
|
||||
|
||||
case COMBAT_DECLARE_ATTACKERS:
|
||||
if (!playerTurn.hasLost()) {
|
||||
combat.initConstraints();
|
||||
game.getStack().freezeStack();
|
||||
declareAttackersTurnBasedAction();
|
||||
game.getStack().unfreezeStack();
|
||||
|
||||
Reference in New Issue
Block a user