- Fixed Mana Drain and friends

This commit is contained in:
swordshine
2014-05-10 06:23:30 +00:00
parent fb41eb5992
commit b37be577cf
10 changed files with 56 additions and 19 deletions

View File

@@ -1399,7 +1399,16 @@ public class AbilityUtils {
return sum;
}
if (sq[0].startsWith("TriggerRememberAmount")) {
final SpellAbility root = sa.getRootAbility();
int count = 0;
for (final Object o : root.getTriggerRemembered()) {
if (o instanceof Integer) {
count += (Integer) o;
}
}
return count;
}
// Count$Compare <int comparator value>.<True>.<False>
if (sq[0].startsWith("Compare")) {
final String[] compString = sq[0].split(" ");

View File

@@ -104,6 +104,10 @@ public class CounterEffect extends SpellAbilityEffect {
continue;
}
if (sa.hasParam("RememberCounteredCMC")) {
sa.getHostCard().addRemembered((Integer) tgtSACard.getCMC());
}
this.removeFromStack(tgtSA, sa, si);
// Destroy Permanent may be able to be turned into a SubAbility

View File

@@ -58,6 +58,14 @@ public class DelayedTriggerEffect extends SpellAbilityEffect {
}
}
if (sa.hasParam("RememberNumber")) {
for (final Object o : sa.getHostCard().getRemembered()) {
if (o instanceof Integer) {
delTrig.addRemembered((Integer) o);
}
}
}
if (mapParams.containsKey("Execute")) {
SpellAbility overridingSA = AbilityFactory.getAbility(sa.getSVar(mapParams.get("Execute")), sa.getHostCard());
delTrig.setOverridingAbility(overridingSA);

View File

@@ -872,6 +872,16 @@ public class CardFactoryUtil {
return doXMath(c.getRemembered().size(), m, c);
}
if (l[0].startsWith("RememberedNumber")) {
int num = 0;
for (final Object o : c.getRemembered()) {
if (o instanceof Integer) {
num += (Integer) o;
}
}
return doXMath(num, m, c);
}
// Count$CountersAdded <CounterType> <ValidSource>
if (l[0].startsWith("CountersAdded")) {
final String[] components = l[0].split(" ", 3);