- Fixed possibility of getting stuck with no targets.

This commit is contained in:
Sloth
2013-09-05 11:27:54 +00:00
parent f531baf7d3
commit 11e738e6c6

View File

@@ -462,7 +462,7 @@ public class TargetRestrictions {
if (!c.isValid(this.validTgts, srcCard.getController(), srcCard)) { if (!c.isValid(this.validTgts, srcCard.getController(), srcCard)) {
continue; continue;
} }
if (isTargeted && !c.canBeTargetedBy(sa)) { if (isTargeted && !sa.canTarget(c)) {
continue; continue;
} }
if (sa.getTargets().isTargeting(c)) { if (sa.getTargets().isTargeting(c)) {
@@ -513,10 +513,9 @@ public class TargetRestrictions {
final Card srcCard = sa.getSourceCard(); // should there be OrginalHost at any moment? final Card srcCard = sa.getSourceCard(); // should there be OrginalHost at any moment?
if (this.tgtZone.contains(ZoneType.Stack)) { if (this.tgtZone.contains(ZoneType.Stack)) {
for (final Card c : game.getStackZone().getCards()) { for (final Card c : game.getStackZone().getCards()) {
boolean isValidTarget = c.isValid(this.validTgts, srcCard.getController(), srcCard); if (c.isValid(this.validTgts, srcCard.getController(), srcCard)
boolean canTarget = (!isTargeted || c.canBeTargetedBy(sa)); && (!isTargeted || sa.canTarget(c))
boolean isAlreadyTargeted = sa.getTargets().isTargeting(c); && !sa.getTargets().isTargeting(c)) {
if (isValidTarget && canTarget && !isAlreadyTargeted) {
candidates.add(c); candidates.add(c);
} }
} }