- experimental fix of ChangeZoneEffect.changeKnownOriginResolve and SacrificeEffect

- Added Traveling Plague
This commit is contained in:
swordshine
2013-08-06 11:44:01 +00:00
parent 7df35a6203
commit f2e710f94d
4 changed files with 18 additions and 2 deletions

1
.gitattributes vendored
View File

@@ -11768,6 +11768,7 @@ res/cardsfolder/t/traumatize.txt svneol=native#text/plain
res/cardsfolder/t/travel_preparations.txt -text
res/cardsfolder/t/travelers_amulet.txt -text
res/cardsfolder/t/travelers_cloak.txt -text
res/cardsfolder/t/traveling_plague.txt -text
res/cardsfolder/t/treacherous_link.txt svneol=native#text/plain
res/cardsfolder/t/treacherous_pit_dweller.txt -text
res/cardsfolder/t/treacherous_urge.txt svneol=native#text/plain

View File

@@ -0,0 +1,14 @@
Name:Traveling Plague
ManaCost:3 B B
Types:Enchantment Aura
K:Enchant creature
A:SP$ Attach | Cost$ 3 B B | ValidTgts$ Creature | AILogic$ Curse
T:Mode$ Phase | Phase$ Upkeep | TriggerZones$ Battlefield | Execute$ TrigPutCounter | TriggerDescription$ At the beginning of each upkeep, put a plague counter on CARDNAME.
SVar:TrigPutCounter:AB$ PutCounter | Cost$ 0 | Defined$ Self | CounterType$ PLAGUE | CounterNum$ 1
S:Mode$ Continuous | Affected$ Creature.EnchantedBy | AddPower$ X | AddToughness$ X | References$ X | Description$ Enchanted creature gets -1/-1 for each plague counter on CARDNAME.
SVar:X:Count$CardCounters.PLAGUE/Times.-1
T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.EnchantedBy | TriggerController$ TriggeredCardController | Execute$ TrigChoose | TriggerDescription$ When enchanted creature leaves the battlefield, that creature's controller returns CARDNAME from its owner's graveyard to the battlefield.
SVar:TrigChoose:AB$ ChooseCard | Cost$ 0 | Choices$ Creature | AILogic$ OppPreferred | Defined$ TriggeredCardController | Mandatory$ True | SubAbility$ DBChangeZone
SVar:DBChangeZone:DB$ ChangeZone | Defined$ Self | Origin$ Graveyard | Destination$ Battlefield | AttachedTo$ ChosenCard
SVar:Picture:http://www.wizards.com/global/images/magic/general/traveling_plague.jpg
Oracle:Enchant creature\nAt the beginning of each upkeep, put a plague counter on Traveling Plague.\nEnchanted creature gets -1/-1 for each plague counter on Traveling Plague.\nWhen enchanted creature leaves the battlefield, that creature's controller returns Traveling Plague from its owner's graveyard to the battlefield.

View File

@@ -407,7 +407,7 @@ public class ChangeZoneEffect extends SpellAbilityEffect {
boolean optional = sa.hasParam("Optional");
for (final Card tgtC : tgtCards) {
for (Card tgtC : tgtCards) {
if (tgt != null && tgtC.isInPlay() && !tgtC.canBeTargetedBy(sa)) {
continue;
}
@@ -419,6 +419,7 @@ public class ChangeZoneEffect extends SpellAbilityEffect {
if (optional && false == player.getController().confirmAction(sa, null, prompt) )
continue;
tgtC = game.getCardState(tgtC);
final Zone originZone = game.getZoneOf(tgtC);
// if Target isn't in the expected Zone, continue

View File

@@ -20,9 +20,9 @@ public class SacrificeEffect extends SpellAbilityEffect {
@Override
public void resolve(SpellAbility sa) {
final Card card = sa.getSourceCard();
final Player activator = sa.getActivatingPlayer();
final Game game = activator.getGame();
final Card card = game.getCardState(sa.getSourceCard());
// Expand Sacrifice keyword here depending on what we need out of it.
final String num = sa.hasParam("Amount") ? sa.getParam("Amount") : "1";