- Converted Dodecapod, Loxodon Smiter, Obstinate Baloth and Wilt-Leaf Liege from keywords to replacement effects.

- Added DiscardMeByOpp param and applied to relevant cards (I've prioritised from 1 - 3, 3 being most dangerous to discard, but priority checking isn't actually applied yet. Plan to expand when I have more free time).
This commit is contained in:
moomarc
2013-02-12 06:23:43 +00:00
parent 28285e4746
commit 75f45c2076
13 changed files with 32 additions and 23 deletions

View File

@@ -3,7 +3,10 @@ ManaCost:4
Types:Artifact Creature Golem Types:Artifact Creature Golem
Text:no text Text:no text
PT:3/3 PT:3/3
K:If a spell or ability an opponent controls causes you to discard CARDNAME, put it onto the battlefield with two +1/+1 counters on it instead of putting it into your graveyard. R:Event$ Discard | ActiveZones$ Hand | ValidCard$ Card.Self | ValidSource$ Card.OppCtrl | ReplaceWith$ SurpriseETB | DiscardFromEffect$ True | Description$ If a spell or ability an opponent controls causes you to discard CARDNAME, put it onto the battlefield with two +1/+1 counters on it instead of putting it into your graveyard.
SVar:SurpriseETB:DB$ ChangeZone | DefinedPlayer$ ReplacedPlayer | Defined$ ReplacedCard | Origin$ Hand | Destination$ Battlefield | SubAbility$ TwiceTheSurprise
SVar:TwiceTheSurprise:DB$ PutCounter | Defined$ ReplacedCard | CounterType$ P1P1 | CounterNum$ 2
SVar:DiscardMeByOpp:3
SVar:Rarity:Uncommon SVar:Rarity:Uncommon
SVar:Picture:http://www.wizards.com/global/images/magic/general/dodecapod.jpg SVar:Picture:http://www.wizards.com/global/images/magic/general/dodecapod.jpg
SetInfo:APC|Uncommon|http://magiccards.info/scans/en/ap/134.jpg SetInfo:APC|Uncommon|http://magiccards.info/scans/en/ap/134.jpg

View File

@@ -5,6 +5,7 @@ Text:no text
A:SP$ DealDamage | Cost$ 1 R | ValidTgts$ Creature,Player | TgtPrompt$ Select target creature or player | NumDmg$ 2 | SpellDescription$ CARDNAME deals 2 damage to target creature or player. A:SP$ DealDamage | Cost$ 1 R | ValidTgts$ Creature,Player | TgtPrompt$ Select target creature or player | NumDmg$ 2 | SpellDescription$ CARDNAME deals 2 damage to target creature or player.
T:Mode$ Discarded | ValidCard$ Card.Self | ValidCause$ Card.OppCtrl | Execute$ TrigDoubleDmg | TriggerDescription$ When a spell or ability an opponent controls causes you to discard CARDNAME, CARDNAME deals 4 damage to target creature or player. T:Mode$ Discarded | ValidCard$ Card.Self | ValidCause$ Card.OppCtrl | Execute$ TrigDoubleDmg | TriggerDescription$ When a spell or ability an opponent controls causes you to discard CARDNAME, CARDNAME deals 4 damage to target creature or player.
SVar:TrigDoubleDmg:AB$ DealDamage | Cost$ 0 | ValidTgts$ Creature,Player | TgtPrompt$ Select target creature or player | NumDmg$ 4 SVar:TrigDoubleDmg:AB$ DealDamage | Cost$ 0 | ValidTgts$ Creature,Player | TgtPrompt$ Select target creature or player | NumDmg$ 4
SVar:DiscardMeByOpp:3
SVar:Rarity:Uncommon SVar:Rarity:Uncommon
SVar:Picture:http://www.wizards.com/global/images/magic/general/guerrilla_tactics.jpg SVar:Picture:http://www.wizards.com/global/images/magic/general/guerrilla_tactics.jpg
SetInfo:8ED|Uncommon|http://magiccards.info/scans/en/8e/192.jpg SetInfo:8ED|Uncommon|http://magiccards.info/scans/en/8e/192.jpg

View File

@@ -4,7 +4,9 @@ Types:Creature Elephant Soldier
Text:no text Text:no text
PT:4/4 PT:4/4
K:CARDNAME can't be countered. K:CARDNAME can't be countered.
K:If a spell or ability an opponent controls causes you to discard CARDNAME, put it onto the battlefield instead of putting it into your graveyard. R:Event$ Discard | ActiveZones$ Hand | ValidCard$ Card.Self | ValidSource$ Card.OppCtrl | ReplaceWith$ SurpriseETB | DiscardFromEffect$ True | Description$ If a spell or ability an opponent controls causes you to discard CARDNAME, put it onto the battlefield instead of putting it into your graveyard.
SVar:SurpriseETB:DB$ ChangeZone | DefinedPlayer$ ReplacedPlayer | Defined$ ReplacedCard | Origin$ Hand | Destination$ Battlefield
SVar:DiscardMeByOpp:2
SVar:Rarity:Rare SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/loxodon_smiter.jpg SVar:Picture:http://www.wizards.com/global/images/magic/general/loxodon_smiter.jpg
SetInfo:RTR|Rare|http://magiccards.info/scans/en/rtr/178.jpg SetInfo:RTR|Rare|http://magiccards.info/scans/en/rtr/178.jpg

View File

@@ -7,6 +7,7 @@ T:Mode$ Discarded | ValidCard$ Card.Self | ValidCause$ Card.OppCtrl | Execute$ T
SVar:TrigGainLife:AB$ GainLife | Cost$ 0 | Defined$ You | LifeAmount$ 2 | SubAbility$ DelayReturn SVar:TrigGainLife:AB$ GainLife | Cost$ 0 | Defined$ You | LifeAmount$ 2 | SubAbility$ DelayReturn
SVar:DelayReturn:DB$ DelayedTrigger | Mode$ Phase | Phase$ End of Turn | Execute$ TrigReturn | TriggerDescription$ Return CARDNAME from your graveyard to your hand. SVar:DelayReturn:DB$ DelayedTrigger | Mode$ Phase | Phase$ End of Turn | Execute$ TrigReturn | TriggerDescription$ Return CARDNAME from your graveyard to your hand.
SVar:TrigReturn:DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand | Defined$ Self SVar:TrigReturn:DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand | Defined$ Self
SVar:DiscardMeByOpp:3
SVar:Rarity:Uncommon SVar:Rarity:Uncommon
SVar:Picture:http://www.wizards.com/global/images/magic/general/mangaras_blessing.jpg SVar:Picture:http://www.wizards.com/global/images/magic/general/mangaras_blessing.jpg
SetInfo:MIR|Uncommon|http://magiccards.info/scans/en/mr/229.jpg SetInfo:MIR|Uncommon|http://magiccards.info/scans/en/mr/229.jpg

View File

@@ -4,8 +4,9 @@ Types:Artifact
Text:no text Text:no text
A:AB$ Token | Cost$ 4 T | TokenAmount$ 1 | TokenName$ Gnome | TokenTypes$ Artifact,Creature,Gnome | TokenOwner$ You | TokenColors$ Colorless | TokenPower$ 1 | TokenToughness$ 1 | SpellDescription$ Put a 1/1 colorless Gnome artifact creature token onto the battlefield. A:AB$ Token | Cost$ 4 T | TokenAmount$ 1 | TokenName$ Gnome | TokenTypes$ Artifact,Creature,Gnome | TokenOwner$ You | TokenColors$ Colorless | TokenPower$ 1 | TokenToughness$ 1 | SpellDescription$ Put a 1/1 colorless Gnome artifact creature token onto the battlefield.
T:Mode$ Discarded | ValidCard$ Card.Self | ValidCause$ Card.OppCtrl | Execute$ TrigToken | TriggerDescription$ When a spell or ability an opponent controls causes you to discard CARDNAME, put four 1/1 colorless Gnome artifact creature tokens onto the battlefield. T:Mode$ Discarded | ValidCard$ Card.Self | ValidCause$ Card.OppCtrl | Execute$ TrigToken | TriggerDescription$ When a spell or ability an opponent controls causes you to discard CARDNAME, put four 1/1 colorless Gnome artifact creature tokens onto the battlefield.
SVar:TrigToken:DB$Token | TokenAmount$ 4 | TokenName$ Gnome | TokenTypes$ Artifact,Creature,Gnome | TokenOwner$ You | TokenColors$ Colorless | TokenPower$ 1 | TokenToughness$ 1 SVar:TrigToken:DB$ Token | TokenAmount$ 4 | TokenName$ Gnome | TokenTypes$ Artifact,Creature,Gnome | TokenOwner$ You | TokenColors$ Colorless | TokenPower$ 1 | TokenToughness$ 1
SVar:Rarity:Rare SVar:Rarity:Rare
SVar:DiscardMeByOpp:2
SVar:Picture:http://www.wizards.com/global/images/magic/general/metrognome.jpg SVar:Picture:http://www.wizards.com/global/images/magic/general/metrognome.jpg
SetInfo:USG|Rare|http://magiccards.info/scans/en/us/301.jpg SetInfo:USG|Rare|http://magiccards.info/scans/en/us/301.jpg
Oracle:When a spell or ability an opponent controls causes you to discard Metrognome, put four 1/1 colorless Gnome artifact creature tokens onto the battlefield.\n{4}, {T}: Put a 1/1 colorless Gnome artifact creature token onto the battlefield. Oracle:When a spell or ability an opponent controls causes you to discard Metrognome, put four 1/1 colorless Gnome artifact creature tokens onto the battlefield.\n{4}, {T}: Put a 1/1 colorless Gnome artifact creature token onto the battlefield.

View File

@@ -3,9 +3,11 @@ ManaCost:2 G G
Types:Creature Beast Types:Creature Beast
Text:no text Text:no text
PT:4/4 PT:4/4
K:If a spell or ability an opponent controls causes you to discard CARDNAME, put it onto the battlefield instead of putting it into your graveyard.
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigGainLife | TriggerDescription$ When CARDNAME enters the battlefield, you gain 4 life. T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigGainLife | TriggerDescription$ When CARDNAME enters the battlefield, you gain 4 life.
SVar:TrigGainLife:AB$GainLife | Cost$ 0 | LifeAmount$ 4 SVar:TrigGainLife:AB$GainLife | Cost$ 0 | LifeAmount$ 4
R:Event$ Discard | ActiveZones$ Hand | ValidCard$ Card.Self | ValidSource$ Card.OppCtrl | ReplaceWith$ SurpriseETB | DiscardFromEffect$ True | Description$ If a spell or ability an opponent controls causes you to discard CARDNAME, put it onto the battlefield instead of putting it into your graveyard.
SVar:SurpriseETB:DB$ ChangeZone | DefinedPlayer$ ReplacedPlayer | Defined$ ReplacedCard | Origin$ Hand | Destination$ Battlefield
SVar:DiscardMeByOpp:2
SVar:Rarity:Rare SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/obstinate_baloth.jpg SVar:Picture:http://www.wizards.com/global/images/magic/general/obstinate_baloth.jpg
SetInfo:M11|Rare|http://magiccards.info/scans/en/m11/188.jpg SetInfo:M11|Rare|http://magiccards.info/scans/en/m11/188.jpg

View File

@@ -5,6 +5,7 @@ Text:no text
A:SP$ DealDamage | Cost$ U | ValidTgts$ Creature,Player | TgtPrompt$ Select target creature or player | NumDmg$ 1 | SpellDescription$ CARDNAME deals 1 damage to target creature or player. A:SP$ DealDamage | Cost$ U | ValidTgts$ Creature,Player | TgtPrompt$ Select target creature or player | NumDmg$ 1 | SpellDescription$ CARDNAME deals 1 damage to target creature or player.
T:Mode$ Discarded | ValidCard$ Card.Self | ValidCause$ Card.OppCtrl | Execute$ TrigLoseLife | TriggerDescription$ When a spell or ability an opponent controls causes you to discard CARDNAME, that player loses 5 life. T:Mode$ Discarded | ValidCard$ Card.Self | ValidCause$ Card.OppCtrl | Execute$ TrigLoseLife | TriggerDescription$ When a spell or ability an opponent controls causes you to discard CARDNAME, that player loses 5 life.
SVar:TrigLoseLife:AB$ LoseLife | Cost$ 0 | Defined$ TriggeredCauseController | LifeAmount$ 5 SVar:TrigLoseLife:AB$ LoseLife | Cost$ 0 | Defined$ TriggeredCauseController | LifeAmount$ 5
SVar:DiscardMeByOpp:3
SVar:Rarity:Common SVar:Rarity:Common
SVar:Picture:http://www.wizards.com/global/images/magic/general/psychic_purge.jpg SVar:Picture:http://www.wizards.com/global/images/magic/general/psychic_purge.jpg
SetInfo:LEG|Common|http://magiccards.info/scans/en/lg/68.jpg SetInfo:LEG|Common|http://magiccards.info/scans/en/lg/68.jpg

View File

@@ -7,6 +7,7 @@ SVar:PureDiscarded:Mode$ Discarded | ValidCard$ Card.YouCtrl | ValidCause$ Card.
SVar:TrigPureChange:AB$ ChangeZone | Cost$ 0 | Defined$ TriggeredCard | Origin$ Graveyard | Destination$ Hand SVar:TrigPureChange:AB$ ChangeZone | Cost$ 0 | Defined$ TriggeredCard | Origin$ Graveyard | Destination$ Hand
T:Mode$ Discarded | ValidCard$ Card.Self | ValidCause$ Card.OppCtrl | Execute$ TrigPureReturn | TriggerDescription$ When a spell or ability an opponent controls causes you to discard CARDNAME, return it to your hand. T:Mode$ Discarded | ValidCard$ Card.Self | ValidCause$ Card.OppCtrl | Execute$ TrigPureReturn | TriggerDescription$ When a spell or ability an opponent controls causes you to discard CARDNAME, return it to your hand.
SVar:TrigPureReturn:AB$ ChangeZone | Cost$ 0 | Origin$ Graveyard | Destination$ Hand SVar:TrigPureReturn:AB$ ChangeZone | Cost$ 0 | Origin$ Graveyard | Destination$ Hand
SVar:DiscardMeByOpp:1
SVar:RemAIDeck:True SVar:RemAIDeck:True
SVar:RemRandomDeck:True SVar:RemRandomDeck:True
SVar:Rarity:Rare SVar:Rarity:Rare

View File

@@ -6,7 +6,8 @@ PT:4/5
K:Split second K:Split second
K:Shroud K:Shroud
T:Mode$ Discarded | ValidCard$ Card.Self | ValidCause$ Card.OppCtrl | Execute$ TrigReturn | TriggerDescription$ When a spell or ability an opponent controls causes you to discard CARDNAME, return it to your hand. T:Mode$ Discarded | ValidCard$ Card.Self | ValidCause$ Card.OppCtrl | Execute$ TrigReturn | TriggerDescription$ When a spell or ability an opponent controls causes you to discard CARDNAME, return it to your hand.
SVar:TrigReturn:AB$ChangeZone | Cost$ 0 | Origin$ Graveyard | Destination$ Hand SVar:TrigReturn:AB$ ChangeZone | Cost$ 0 | Origin$ Graveyard | Destination$ Hand
SVar:DiscardMeByOpp:1
SVar:Rarity:Rare SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/quagnoth.jpg SVar:Picture:http://www.wizards.com/global/images/magic/general/quagnoth.jpg
SetInfo:FUT|Rare|http://magiccards.info/scans/en/fut/150.jpg SetInfo:FUT|Rare|http://magiccards.info/scans/en/fut/150.jpg

View File

@@ -3,9 +3,11 @@ ManaCost:1 GW GW GW
Types:Creature Elf Knight Types:Creature Elf Knight
Text:no text Text:no text
PT:4/4 PT:4/4
K:If a spell or ability an opponent controls causes you to discard CARDNAME, put it onto the battlefield instead of putting it into your graveyard.
S:Mode$ Continuous | Affected$ Creature.Green+Other+YouCtrl | AddPower$ 1 | AddToughness$ 1 | Description$ Other green creatures you control get +1/+1. S:Mode$ Continuous | Affected$ Creature.Green+Other+YouCtrl | AddPower$ 1 | AddToughness$ 1 | Description$ Other green creatures you control get +1/+1.
S:Mode$ Continuous | Affected$ Creature.White+Other+YouCtrl | AddPower$ 1 | AddToughness$ 1 | Description$ Other white creatures you control get +1/+1. S:Mode$ Continuous | Affected$ Creature.White+Other+YouCtrl | AddPower$ 1 | AddToughness$ 1 | Description$ Other white creatures you control get +1/+1.
R:Event$ Discard | ActiveZones$ Hand | ValidCard$ Card.Self | ValidSource$ Card.OppCtrl | ReplaceWith$ SurpriseETB | DiscardFromEffect$ True | Description$ If a spell or ability an opponent controls causes you to discard CARDNAME, put it onto the battlefield instead of putting it into your graveyard.
SVar:SurpriseETB:DB$ ChangeZone | DefinedPlayer$ ReplacedPlayer | Defined$ ReplacedCard | Origin$ Hand | Destination$ Battlefield
SVar:DiscardMeByOpp:2
SVar:PlayMain1:TRUE SVar:PlayMain1:TRUE
SVar:Rarity:Rare SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/wilt_leaf_liege.jpg SVar:Picture:http://www.wizards.com/global/images/magic/general/wilt_leaf_liege.jpg

View File

@@ -114,9 +114,7 @@ public class DiscardEffect extends RevealEffectBase {
List<Card> goodChoices = CardLists.filter(dPChHand, new Predicate<Card>() { List<Card> goodChoices = CardLists.filter(dPChHand, new Predicate<Card>() {
@Override @Override
public boolean apply(final Card c) { public boolean apply(final Card c) {
if (c.hasKeyword("If a spell or ability an opponent controls causes you to discard CARDNAME," if (!c.getSVar("DiscardMeByOpp").equals("") || !c.getSVar("DiscardMe").equals("")) {
+ " put it onto the battlefield instead of putting it into your graveyard.")
|| !c.getSVar("DiscardMe").equals("")) {
return false; return false;
} }
return true; return true;

View File

@@ -56,6 +56,11 @@ public class ReplaceDiscard extends ReplacementEffect {
return false; return false;
} }
} }
if (this.getMapParams().containsKey("ValidSource")) {
if (!matchesValid(runParams.get("Source"), this.getMapParams().get("ValidSource").split(","), this.getHostCard())) {
return false;
}
}
if (this.getMapParams().containsKey("DiscardFromEffect")) { if (this.getMapParams().containsKey("DiscardFromEffect")) {
if (null == runParams.get("Source")) { if (null == runParams.get("Source")) {
return false; return false;

View File

@@ -1633,21 +1633,12 @@ public abstract class Player extends GameEntity implements Comparable<Player> {
game.getAction().discardMadness(c, this); game.getAction().discardMadness(c, this);
boolean hasPutIntoPlayInsteadOfDiscard = c.hasKeyword("If a spell or ability an opponent controls causes you to discard CARDNAME, put it onto the battlefield instead of putting it into your graveyard.");
boolean hasPutIntoPlayWith2xP1P1InsteadOfDiscard = c.hasKeyword("If a spell or ability an opponent controls causes you to discard CARDNAME, put it onto the battlefield with two +1/+1 counters on it instead of putting it into your graveyard.");
boolean discardToTopOfLibrary = null != sa && sa.hasParam("DiscardToTopOfLibrary"); boolean discardToTopOfLibrary = null != sa && sa.hasParam("DiscardToTopOfLibrary");
if ((hasPutIntoPlayInsteadOfDiscard || hasPutIntoPlayWith2xP1P1InsteadOfDiscard) if (discardToTopOfLibrary) {
&& null != sa && sa.getSourceCard().getController().isOpponentOf(c.getController())) {
game.getAction().moveToPlay(c);
if (hasPutIntoPlayWith2xP1P1InsteadOfDiscard) {
c.addCounter(CounterType.P1P1, 2, false);
}
// Play the corresponding Put into Play sound
game.getEvents().post(new SpellResolvedEvent(c, sa));
} else if (discardToTopOfLibrary) {
game.getAction().moveToLibrary(c, 0); game.getAction().moveToLibrary(c, 0);
// Play the Discard sound
game.getEvents().post(new CardDiscardedEvent());
} else { } else {
game.getAction().moveToGraveyard(c); game.getAction().moveToGraveyard(c);