Fixing condition merges to ignore null conditions.
This commit is contained in:
@@ -22,7 +22,7 @@ public class CantTakeMoreThanXWoundsModifier extends AbstractModifier {
|
||||
|
||||
public CantTakeMoreThanXWoundsModifier(PhysicalCard source, final Phase phase, int count, Condition condition, Filterable... affectFilters) {
|
||||
super(source, "Can't take more than " + count + " wound(s)", Filters.and(affectFilters),
|
||||
new AndCondition(new PhaseCondition(phase), condition), ModifierEffect.WOUND_MODIFIER);
|
||||
(condition == null ? new PhaseCondition(phase) : new AndCondition(new PhaseCondition(phase), condition)), ModifierEffect.WOUND_MODIFIER);
|
||||
_phase = phase;
|
||||
_count = count;
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ public class AndCondition implements Condition {
|
||||
@Override
|
||||
public boolean isFullfilled(GameState gameState, ModifiersQuerying modifiersQuerying) {
|
||||
for (Condition condition : _conditions) {
|
||||
if (!condition.isFullfilled(gameState, modifiersQuerying))
|
||||
if (condition != null && !condition.isFullfilled(gameState, modifiersQuerying))
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ public class OrCondition implements Condition {
|
||||
@Override
|
||||
public boolean isFullfilled(GameState gameState, ModifiersQuerying modifiersQuerying) {
|
||||
for (Condition condition : _conditions) {
|
||||
if (condition.isFullfilled(gameState, modifiersQuerying))
|
||||
if (condition != null && condition.isFullfilled(gameState, modifiersQuerying))
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user