- Added Ice Cave

This commit is contained in:
swordshine
2014-06-02 13:58:46 +00:00
parent 6412dd2702
commit 2738b2f79b
5 changed files with 26 additions and 2 deletions

View File

@@ -1251,6 +1251,20 @@ public class AbilityUtils {
if (unlessCost.equals("CardManaCost")) {
cost = new Cost(source.getManaCost(), true);
}
else if (unlessCost.equals("TriggeredSpellManaCost")) {
SpellAbility triggered = (SpellAbility) sa.getRootAbility().getTriggeringObject("SpellAbility");
Card triggeredCard = triggered.getHostCard();
if (triggeredCard.getManaCost() == null) {
cost = new Cost(ManaCost.ZERO, true);
} else {
int xCount = triggeredCard.getManaCost().countX();
int xPaid = triggeredCard.getXManaCostPaid() * xCount;
ManaCostBeingPaid toPay = new ManaCostBeingPaid(triggeredCard.getManaCost());
toPay.decreaseShard(ManaCostShard.X, xCount);
toPay.increaseColorlessMana(xPaid);
cost = new Cost(toPay.toManaCost(), true);
}
}
else if (unlessCost.equals("ChosenManaCost")) {
if (source.getChosenCard().isEmpty()) {
cost = new Cost(ManaCost.ZERO, true);

View File

@@ -68,6 +68,7 @@ public class DelayedTriggerEffect extends SpellAbilityEffect {
if (mapParams.containsKey("Execute")) {
SpellAbility overridingSA = AbilityFactory.getAbility(sa.getSVar(mapParams.get("Execute")), sa.getHostCard());
overridingSA.setActivatingPlayer(sa.getActivatingPlayer());
delTrig.setOverridingAbility(overridingSA);
}

View File

@@ -380,8 +380,9 @@ public class TriggerHandler {
if (regtrig.getStoredTriggeredObjects() != null) {
sa.setAllTriggeringObjects(regtrig.getStoredTriggeredObjects());
}
sa.setActivatingPlayer(host.getController());
if (sa.getActivatingPlayer() == null) { // overriding delayed trigger should have set activator
sa.setActivatingPlayer(host.getController());
}
if (triggerParams.containsKey("TriggerController")) {
Player p = AbilityUtils.getDefinedPlayers(regtrig.getHostCard(), triggerParams.get("TriggerController"), sa).get(0);
sa.setActivatingPlayer(p);