mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 11:48:02 +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 {
|
public class Combat {
|
||||||
private final Player playerWhoAttacks;
|
private final Player playerWhoAttacks;
|
||||||
private final AttackConstraints attackConstraints;
|
private AttackConstraints attackConstraints;
|
||||||
// Defenders, as they are attacked by hostile forces
|
// Defenders, as they are attacked by hostile forces
|
||||||
private final FCollection<GameEntity> attackableEntries = new FCollection<>();
|
private final FCollection<GameEntity> attackableEntries = new FCollection<>();
|
||||||
|
|
||||||
@@ -71,10 +71,6 @@ public class Combat {
|
|||||||
public Combat(final Player attacker) {
|
public Combat(final Player attacker) {
|
||||||
playerWhoAttacks = 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) {
|
public Combat(Combat combat, GameObjectMap map) {
|
||||||
@@ -119,6 +115,13 @@ public class Combat {
|
|||||||
attackConstraints = new AttackConstraints(this);
|
attackConstraints = new AttackConstraints(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void initConstraints() {
|
||||||
|
// Create keys for all possible attack targets
|
||||||
|
attackableEntries.addAll(CombatUtil.getAllPossibleDefenders(playerWhoAttacks));
|
||||||
|
|
||||||
|
attackConstraints = new AttackConstraints(this);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
|
|||||||
@@ -283,6 +283,7 @@ public class PhaseHandler implements java.io.Serializable {
|
|||||||
|
|
||||||
case COMBAT_DECLARE_ATTACKERS:
|
case COMBAT_DECLARE_ATTACKERS:
|
||||||
if (!playerTurn.hasLost()) {
|
if (!playerTurn.hasLost()) {
|
||||||
|
combat.initConstraints();
|
||||||
game.getStack().freezeStack();
|
game.getStack().freezeStack();
|
||||||
declareAttackersTurnBasedAction();
|
declareAttackersTurnBasedAction();
|
||||||
game.getStack().unfreezeStack();
|
game.getStack().unfreezeStack();
|
||||||
|
|||||||
Reference in New Issue
Block a user