- Some fixes for possible null pointer exceptions in Requirements and Target_Selection

This commit is contained in:
jendave
2011-08-06 06:15:38 +00:00
parent 7bfcfd13e4
commit c6428f09e2
2 changed files with 16 additions and 5 deletions

View File

@@ -23,7 +23,7 @@ public class SpellAbility_Requirements {
fromZone.remove(c); fromZone.remove(c);
} }
if (select.getTgt().doesTarget()){ if (select.doesTarget()){
select.setRequirements(this); select.setRequirements(this);
select.chooseTargets(); select.chooseTargets();
} }
@@ -39,7 +39,7 @@ public class SpellAbility_Requirements {
fromZone.add(ability.getSourceCard()); fromZone.add(ability.getSourceCard());
} }
select.getTgt().resetTargets(); select.resetTargets();
return; return;
} }
startPaying(); startPaying();
@@ -58,8 +58,8 @@ public class SpellAbility_Requirements {
// add back to hand // add back to hand
fromZone.add(ability.getSourceCard()); fromZone.add(ability.getSourceCard());
} }
if (select.getTgt().doesTarget()) if (select != null)
select.getTgt().resetTargets(); select.resetTargets();
payment.cancelPayment(); payment.cancelPayment();
} }
@@ -69,6 +69,6 @@ public class SpellAbility_Requirements {
AllZone.ManaPool.clearPay(false); AllZone.ManaPool.clearPay(false);
AllZone.Stack.add(ability); AllZone.Stack.add(ability);
if (select != null) if (select != null)
select.getTgt().resetTargets(); select.resetTargets();
} }
} }

View File

@@ -27,6 +27,17 @@ public class Target_Selection {
card = sa.getSourceCard(); card = sa.getSourceCard();
} }
public boolean doesTarget(){
if (target == null)
return false;
return target.doesTarget();
}
public void resetTargets(){
if (target != null)
target.resetTargets();
}
public boolean chooseTargets(){ public boolean chooseTargets(){
// if not enough targets chosen, reset and cancel Ability // if not enough targets chosen, reset and cancel Ability
if (bCancel || bDoneTarget && target.getNumTargeted() < target.getMinTargets()){ if (bCancel || bDoneTarget && target.getNumTargeted() < target.getMinTargets()){