diff --git a/src/main/java/forge/card/ability/AbilityFactory.java b/src/main/java/forge/card/ability/AbilityFactory.java
index ad45565fe80..ac004474d51 100644
--- a/src/main/java/forge/card/ability/AbilityFactory.java
+++ b/src/main/java/forge/card/ability/AbilityFactory.java
@@ -267,6 +267,9 @@ public final class AbilityFactory {
abTgt.calculateStillToDivide(mapParams.get("DividedAsYouChoose"), hostC, null);
abTgt.setDividedAsYouChoose(true);
}
+ if (mapParams.containsKey("TargetsAtRandom")) {
+ abTgt.setRandomTarget(true);
+ }
return abTgt;
}
diff --git a/src/main/java/forge/card/spellability/Target.java b/src/main/java/forge/card/spellability/Target.java
index 8f31ef64ba3..bf42de7ead9 100644
--- a/src/main/java/forge/card/spellability/Target.java
+++ b/src/main/java/forge/card/spellability/Target.java
@@ -63,6 +63,7 @@ public class Target {
private boolean sameController = false;
private boolean withoutSameCreatureType = false;
private boolean singleTarget = false;
+ private boolean randomTarget = false;
private String definedController = null;
// How many can be targeted?
@@ -695,10 +696,25 @@ public class Target {
* @return a int.
*/
public final int getNumCandidates(final SpellAbility sa, final boolean isTargeted) {
- int candidates = 0;
+ return getAllCandidates(sa, isTargeted).size();
+ }
+
+ /**
+ *
+ * getAllCandidates.
+ *
+ *
+ * @param sa
+ * the sa
+ * @param isTargeted
+ * Check Valid Candidates and Targeting
+ * @return a List