mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 19:28:01 +00:00
Player: add wasDealtCombatDamageThisTurn Property
This commit is contained in:
@@ -86,6 +86,7 @@ public class Player extends GameEntity implements Comparable<Player> {
|
|||||||
private int life = 20;
|
private int life = 20;
|
||||||
private int startingLife = 20;
|
private int startingLife = 20;
|
||||||
private final Map<Card, Integer> assignedDamage = Maps.newHashMap();
|
private final Map<Card, Integer> assignedDamage = Maps.newHashMap();
|
||||||
|
private final Map<Card, Integer> assignedCombatDamage = Maps.newHashMap();
|
||||||
private int spellsCastThisTurn = 0;
|
private int spellsCastThisTurn = 0;
|
||||||
private int landsPlayedThisTurn = 0;
|
private int landsPlayedThisTurn = 0;
|
||||||
private int investigatedThisTurn = 0;
|
private int investigatedThisTurn = 0;
|
||||||
@@ -125,10 +126,10 @@ public class Player extends GameEntity implements Comparable<Player> {
|
|||||||
private boolean tappedLandForManaThisTurn = false;
|
private boolean tappedLandForManaThisTurn = false;
|
||||||
private int attackersDeclaredThisTurn = 0;
|
private int attackersDeclaredThisTurn = 0;
|
||||||
|
|
||||||
private final Map<ZoneType, PlayerZone> zones = new EnumMap<ZoneType, PlayerZone>(ZoneType.class);
|
private final Map<ZoneType, PlayerZone> zones = Maps.newEnumMap(ZoneType.class);
|
||||||
|
|
||||||
private CardCollection currentPlanes = new CardCollection();
|
private CardCollection currentPlanes = new CardCollection();
|
||||||
private List<String> prowl = new ArrayList<String>();
|
private List<String> prowl = Lists.newArrayList();
|
||||||
|
|
||||||
private PlayerStatistics stats = new PlayerStatistics();
|
private PlayerStatistics stats = new PlayerStatistics();
|
||||||
private PlayerController controller;
|
private PlayerController controller;
|
||||||
@@ -568,10 +569,13 @@ public class Player extends GameEntity implements Comparable<Player> {
|
|||||||
view.updateCommanderDamage(this);
|
view.updateCommanderDamage(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
assignedDamage.put(source, amount);
|
int old = assignedDamage.containsKey(source) ? assignedDamage.get(source) : 0;
|
||||||
|
assignedDamage.put(source, old + amount);
|
||||||
source.getDamageHistory().registerDamage(this);
|
source.getDamageHistory().registerDamage(this);
|
||||||
|
|
||||||
if (isCombat) {
|
if (isCombat) {
|
||||||
|
old = assignedCombatDamage.containsKey(source) ? assignedCombatDamage.get(source) : 0;
|
||||||
|
assignedCombatDamage.put(source, old + amount);
|
||||||
for (final String type : source.getType()) {
|
for (final String type : source.getType()) {
|
||||||
source.getController().addProwlType(type);
|
source.getController().addProwlType(type);
|
||||||
}
|
}
|
||||||
@@ -825,6 +829,7 @@ public class Player extends GameEntity implements Comparable<Player> {
|
|||||||
|
|
||||||
public final void clearAssignedDamage() {
|
public final void clearAssignedDamage() {
|
||||||
assignedDamage.clear();
|
assignedDamage.clear();
|
||||||
|
assignedCombatDamage.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
public final int getAssignedDamage() {
|
public final int getAssignedDamage() {
|
||||||
@@ -834,6 +839,14 @@ public class Player extends GameEntity implements Comparable<Player> {
|
|||||||
}
|
}
|
||||||
return num;
|
return num;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public final int getAssignedCombatDamage() {
|
||||||
|
int num = 0;
|
||||||
|
for (final Integer value : assignedCombatDamage.values()) {
|
||||||
|
num += value;
|
||||||
|
}
|
||||||
|
return num;
|
||||||
|
}
|
||||||
|
|
||||||
public final Iterable<Card> getAssignedDamageSources() {
|
public final Iterable<Card> getAssignedDamageSources() {
|
||||||
return assignedDamage.keySet();
|
return assignedDamage.keySet();
|
||||||
@@ -2109,6 +2122,10 @@ public class Player extends GameEntity implements Comparable<Player> {
|
|||||||
if (assignedDamage.isEmpty()) {
|
if (assignedDamage.isEmpty()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
} else if (property.startsWith("wasDealtCombatDamageThisTurn")) {
|
||||||
|
if (assignedCombatDamage.isEmpty()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
} else if (property.startsWith("LostLifeThisTurn")) {
|
} else if (property.startsWith("LostLifeThisTurn")) {
|
||||||
if (lifeLostThisTurn <= 0) {
|
if (lifeLostThisTurn <= 0) {
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
Reference in New Issue
Block a user