mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-15 18:28:00 +00:00
- 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:
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user