Fix Wanderwine Prophets.

This commit is contained in:
elcnesh
2014-07-01 15:17:31 +00:00
parent d49b6a992f
commit e30d7bbaa2
2 changed files with 24 additions and 8 deletions

View File

@@ -61,11 +61,16 @@ public class SacrificeEffect extends SpellAbilityEffect {
final boolean destroy = sa.hasParam("Destroy"); final boolean destroy = sa.hasParam("Destroy");
final boolean remSacrificed = sa.hasParam("RememberSacrificed"); final boolean remSacrificed = sa.hasParam("RememberSacrificed");
final String remSVar = sa.getParam("RememberSacrificedSVar");
int countSacrificed = 0;
if (valid.equals("Self")) { if (valid.equals("Self")) {
if (game.getZoneOf(card).is(ZoneType.Battlefield)) { if (game.getZoneOf(card).is(ZoneType.Battlefield)) {
if (game.getAction().sacrifice(card, sa) != null && remSacrificed) { if (game.getAction().sacrifice(card, sa) != null) {
card.addRemembered(card); countSacrificed++;
if (remSacrificed) {
card.addRemembered(card);
}
} }
} }
} }
@@ -98,12 +103,23 @@ public class SacrificeEffect extends SpellAbilityEffect {
runParams.put("Devoured", sac); runParams.put("Devoured", sac);
game.getTriggerHandler().runTrigger(TriggerType.Devoured, runParams, false); game.getTriggerHandler().runTrigger(TriggerType.Devoured, runParams, false);
} }
if ( remSacrificed && (wasDestroyed || wasSacrificed) ) { if (wasDestroyed || wasSacrificed) {
card.addRemembered(lKICopy); countSacrificed++;
if (remSacrificed) {
card.addRemembered(lKICopy);
}
} }
} }
} }
if (remSVar != null) {
card.setSVar(remSVar, String.valueOf(countSacrificed));
SpellAbility root = sa;
do {
root.setSVar(remSVar, String.valueOf(countSacrificed));
root = root.getSubAbility();
} while (root != null);
}
} }
} }

View File

@@ -4,10 +4,10 @@ Types:Creature Merfolk Wizard
PT:4/4 PT:4/4
K:Champion:Merfolk K:Champion:Merfolk
T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigSacrifice | OptionalDecider$ You | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, you may sacrifice a Merfolk. If you do, take an extra turn after this one. T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigSacrifice | OptionalDecider$ You | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, you may sacrifice a Merfolk. If you do, take an extra turn after this one.
SVar:TrigSacrifice:AB$ Sacrifice | Cost$ 0 | SacValid$ Merfolk | RememberSacrificed$ True | SubAbility$ DBAddTurn SVar:TrigSacrifice:AB$ Sacrifice | Cost$ 0 | SacValid$ Merfolk | RememberSacrificedSVar$ NumSacrificed | SubAbility$ DBAddTurn
SVar:DBAddTurn:DB$ AddTurn | NumTurns$ 1 | ConditionCheckSVar$ X | ConditionSVarCompare$ EQ1 | SubAbility$ DBCleanup SVar:DBAddTurn:DB$ AddTurn | NumTurns$ 1 | ConditionCheckSVar$ NumSacrificed | ConditionSVarCompare$ EQ1 | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:DBCleanup:DB$ StoreSVar | SVar$ NumSacrificed | Type$ Number | Expression$ 0
SVar:X:Remembered$Amount SVar:NumSacrificed:0
SVar:RemRandomDeck:True SVar:RemRandomDeck:True
SVar:Picture:http://www.wizards.com/global/images/magic/general/wanderwine_prophets.jpg SVar:Picture:http://www.wizards.com/global/images/magic/general/wanderwine_prophets.jpg
Oracle:Champion a Merfolk (When this enters the battlefield, sacrifice it unless you exile another Merfolk you control. When this leaves the battlefield, that card returns to the battlefield.)\nWhenever Wanderwine Prophets deals combat damage to a player, you may sacrifice a Merfolk. If you do, take an extra turn after this one. Oracle:Champion a Merfolk (When this enters the battlefield, sacrifice it unless you exile another Merfolk you control. When this leaves the battlefield, that card returns to the battlefield.)\nWhenever Wanderwine Prophets deals combat damage to a player, you may sacrifice a Merfolk. If you do, take an extra turn after this one.