mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 04:08:01 +00:00
Merge remote-tracking branch 'upstream/master' into LOTR10
This commit is contained in:
@@ -815,6 +815,7 @@ public class Game {
|
|||||||
cc.removeEncodedCard(c);
|
cc.removeEncodedCard(c);
|
||||||
cc.removeRemembered(c);
|
cc.removeRemembered(c);
|
||||||
cc.removeAttachedTo(c);
|
cc.removeAttachedTo(c);
|
||||||
|
cc.removeAttachedCard(c);
|
||||||
}
|
}
|
||||||
triggerList.put(c.getZone().getZoneType(), null, c);
|
triggerList.put(c.getZone().getZoneType(), null, c);
|
||||||
getAction().ceaseToExist(c, false);
|
getAction().ceaseToExist(c, false);
|
||||||
|
|||||||
@@ -242,7 +242,7 @@ public class StaticEffect {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// remove Types
|
// remove Types
|
||||||
if (hasParam("AddType") || hasParam("AddAllCreatureTypes") || hasParam("RemoveType")) {
|
if (hasParam("AddType") || hasParam("AddAllCreatureTypes") || hasParam("RemoveType") || hasParam("RemoveLandTypes")) {
|
||||||
// the view is updated in GameAction#checkStaticAbilities to avoid flickering
|
// the view is updated in GameAction#checkStaticAbilities to avoid flickering
|
||||||
affectedCard.removeChangedCardTypes(getTimestamp(), ability.getId(), false);
|
affectedCard.removeChangedCardTypes(getTimestamp(), ability.getId(), false);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -589,9 +589,6 @@ public class ChangeZoneEffect extends SpellAbilityEffect {
|
|||||||
if (sa.hasParam("Tapped") || sa.isNinjutsu()) {
|
if (sa.hasParam("Tapped") || sa.isNinjutsu()) {
|
||||||
gameCard.setTapped(true);
|
gameCard.setTapped(true);
|
||||||
}
|
}
|
||||||
if (sa.hasParam("Untapped")) {
|
|
||||||
gameCard.setTapped(false);
|
|
||||||
}
|
|
||||||
if (sa.hasParam("Transformed")) {
|
if (sa.hasParam("Transformed")) {
|
||||||
if (gameCard.isTransformable()) {
|
if (gameCard.isTransformable()) {
|
||||||
// need LKI before Animate does apply
|
// need LKI before Animate does apply
|
||||||
@@ -1302,8 +1299,6 @@ public class ChangeZoneEffect extends SpellAbilityEffect {
|
|||||||
else if (destination.equals(ZoneType.Battlefield)) {
|
else if (destination.equals(ZoneType.Battlefield)) {
|
||||||
if (sa.hasParam("Tapped")) {
|
if (sa.hasParam("Tapped")) {
|
||||||
c.setTapped(true);
|
c.setTapped(true);
|
||||||
} else if (sa.hasParam("Untapped")) {
|
|
||||||
c.setTapped(false);
|
|
||||||
}
|
}
|
||||||
if (sa.hasAdditionalAbility("AnimateSubAbility")) {
|
if (sa.hasAdditionalAbility("AnimateSubAbility")) {
|
||||||
// need LKI before Animate does apply
|
// need LKI before Animate does apply
|
||||||
|
|||||||
@@ -361,8 +361,8 @@ public class SpellAbilityRestriction extends SpellAbilityVariables {
|
|||||||
public final boolean checkOtherRestrictions(final Card c, final SpellAbility sa, final Player activator) {
|
public final boolean checkOtherRestrictions(final Card c, final SpellAbility sa, final Player activator) {
|
||||||
final Game game = activator.getGame();
|
final Game game = activator.getGame();
|
||||||
|
|
||||||
// legendary sorcery
|
// 205.4e. Any instant or sorcery spell with the supertype "legendary" is subject to a casting restriction
|
||||||
if (c.isSorcery() && c.getType().isLegendary() && CardLists.getValidCardCount(
|
if ((c.isSorcery() || c.isInstant()) && c.getType().isLegendary() && CardLists.getValidCardCount(
|
||||||
activator.getCardsIn(ZoneType.Battlefield),
|
activator.getCardsIn(ZoneType.Battlefield),
|
||||||
"Creature.Legendary,Planeswalker.Legendary", c.getController(), c, sa) <= 0) {
|
"Creature.Legendary,Planeswalker.Legendary", c.getController(), c, sa) <= 0) {
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -1958,11 +1958,11 @@ public class CardDbCardMockTestCase extends CardMockTestCase {
|
|||||||
assertEquals(loyalUnicorn, legacyLoyalUnicorn);
|
assertEquals(loyalUnicorn, legacyLoyalUnicorn);
|
||||||
|
|
||||||
// Selfless Squire: Available in Forge in COMMANDER 2021; Treasure Chest;
|
// Selfless Squire: Available in Forge in COMMANDER 2021; Treasure Chest;
|
||||||
// COMMANDER 2016
|
// COMMANDER 2016; The Lord of the Rings: Tales of Middle-earth Commander
|
||||||
String cnSelflessSquire = "Selfless Squire";
|
String cnSelflessSquire = "Selfless Squire";
|
||||||
PaperCard selflessSquire = this.cardDb.getCard(cnSelflessSquire);
|
PaperCard selflessSquire = this.cardDb.getCard(cnSelflessSquire);
|
||||||
assertNotNull(selflessSquire);
|
assertNotNull(selflessSquire);
|
||||||
assertEquals(selflessSquire.getEdition(), "C21"); // Commander 2021
|
assertEquals(selflessSquire.getEdition(), "LTC"); // The Lord of the Rings: Tales of Middle-earth Commander
|
||||||
|
|
||||||
PaperCard legacySelflessSquire = this.legacyCardDb.getCardFromEdition(cnSelflessSquire,
|
PaperCard legacySelflessSquire = this.legacyCardDb.getCardFromEdition(cnSelflessSquire,
|
||||||
LegacyCardDb.LegacySetPreference.Latest);
|
LegacyCardDb.LegacySetPreference.Latest);
|
||||||
@@ -2003,10 +2003,10 @@ public class CardDbCardMockTestCase extends CardMockTestCase {
|
|||||||
assertEquals(loyalUnicorn, legacyLoyalUnicorn);
|
assertEquals(loyalUnicorn, legacyLoyalUnicorn);
|
||||||
|
|
||||||
// Selfless Squire: Available in Forge in COMMANDER 2021; Treasure Chest;
|
// Selfless Squire: Available in Forge in COMMANDER 2021; Treasure Chest;
|
||||||
// COMMANDER 2016
|
// COMMANDER 2016; The Lord of the Rings: Tales of Middle-earth Commander
|
||||||
selflessSquire = this.cardDb.getCard(cnSelflessSquire);
|
selflessSquire = this.cardDb.getCard(cnSelflessSquire);
|
||||||
assertNotNull(selflessSquire);
|
assertNotNull(selflessSquire);
|
||||||
assertEquals(selflessSquire.getEdition(), "C21");
|
assertEquals(selflessSquire.getEdition(), "LTC");
|
||||||
|
|
||||||
legacySelflessSquire = this.legacyCardDb.getCardFromEdition(cnSelflessSquire,
|
legacySelflessSquire = this.legacyCardDb.getCardFromEdition(cnSelflessSquire,
|
||||||
LegacyCardDb.LegacySetPreference.LatestCoreExp);
|
LegacyCardDb.LegacySetPreference.LatestCoreExp);
|
||||||
|
|||||||
@@ -6190,7 +6190,7 @@ Kaya, Ghost Assassin|CN2|2
|
|||||||
1 City on Fire|MOM
|
1 City on Fire|MOM
|
||||||
1 Etali, Primal Conquerer|MOM
|
1 Etali, Primal Conquerer|MOM
|
||||||
1 Into the Fire|MOM
|
1 Into the Fire|MOM
|
||||||
1 Invasion of Kaladheim|MOM
|
1 Invasion of Kaldheim|MOM
|
||||||
1 Invasion of Karsus|MOM
|
1 Invasion of Karsus|MOM
|
||||||
1 Nahiri's Warcrafting|MOM
|
1 Nahiri's Warcrafting|MOM
|
||||||
1 Orthion, Hero of Lavabrink|MOM
|
1 Orthion, Hero of Lavabrink|MOM
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
Name:Danitha, New Benalia's Light
|
Name:Danitha, New Benalia's Light
|
||||||
ManaCost:1 G W
|
ManaCost:1 G W
|
||||||
Types:Legendary Creature Human Knight
|
Types:Legendary Creature Human Knight
|
||||||
PT:2/3
|
PT:2/2
|
||||||
K:Vigilance
|
K:Vigilance
|
||||||
K:Trample
|
K:Trample
|
||||||
K:Lifelink
|
K:Lifelink
|
||||||
|
|||||||
@@ -9,6 +9,6 @@ SVar:DBChooseCard:DB$ ChooseCard | ChoiceZone$ Hand | Choices$ Card.nonLand+IsRe
|
|||||||
SVar:DBChangeZone:DB$ ChangeZone | Defined$ ChosenCard | Origin$ Hand | Destination$ Exile | Imprint$ True | SubAbility$ DBEffect
|
SVar:DBChangeZone:DB$ ChangeZone | Defined$ ChosenCard | Origin$ Hand | Destination$ Exile | Imprint$ True | SubAbility$ DBEffect
|
||||||
SVar:DBEffect:DB$ Effect | Duration$ Permanent | StaticAbilities$ MayPlay,CostsMore | RememberObjects$ Imprinted | ForgetOnMoved$ Exile | SubAbility$ DBCleanup
|
SVar:DBEffect:DB$ Effect | Duration$ Permanent | StaticAbilities$ MayPlay,CostsMore | RememberObjects$ Imprinted | ForgetOnMoved$ Exile | SubAbility$ DBCleanup
|
||||||
SVar:MayPlay:Mode$ Continuous | Affected$ Card.IsRemembered | AffectedZone$ Exile | MayPlay$ True | MayPlayPlayer$ CardOwner
|
SVar:MayPlay:Mode$ Continuous | Affected$ Card.IsRemembered | AffectedZone$ Exile | MayPlay$ True | MayPlayPlayer$ CardOwner
|
||||||
SVar:CostsMore:Mode$ RaiseCost | ValidCard$ Card.IsRemembered | AffectedZone$ Exile | Type$ Spell | Amount$ 2
|
SVar:CostsMore:Mode$ RaiseCost | ValidCard$ Card.IsRemembered+CastSa Spell.MayPlaySource | AffectedZone$ Exile | Type$ Spell | Amount$ 2
|
||||||
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearChosenCard$ True | ClearImprinted$ True
|
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearChosenCard$ True | ClearImprinted$ True
|
||||||
Oracle:Flying\nWhen Elite Spellbinder enters the battlefield, look at target opponent's hand. You may exile a nonland card from it. For as long as that card remains exiled, its owner may play it. A spell cast this way costs {2} more to cast.
|
Oracle:Flying\nWhen Elite Spellbinder enters the battlefield, look at target opponent's hand. You may exile a nonland card from it. For as long as that card remains exiled, its owner may play it. A spell cast this way costs {2} more to cast.
|
||||||
|
|||||||
@@ -3,6 +3,6 @@ ManaCost:3 U U
|
|||||||
Types:Legendary Creature Human Wizard
|
Types:Legendary Creature Human Wizard
|
||||||
PT:2/4
|
PT:2/4
|
||||||
K:Flying
|
K:Flying
|
||||||
A:AB$ ChangeZone | Cost$ U U | Origin$ Graveyard | Destination$ Battlefield | ValidTgts$ Aura.YouOwn | AttachedTo$ Self | ActivationPhases$ Upkeep | PlayerTurn$ True | IsPresent$ Aura.Attached | PresentCompare$ EQ0 | SpellDescription$ Return target Aura card from your graveyard to the battlefield attached to CARDNAME. Activate only during your upkeep and only if CARDNAME isn't enchanted.
|
A:AB$ ChangeZone | Cost$ U U | Origin$ Graveyard | Destination$ Battlefield | ValidTgts$ Aura.YouOwn | AttachedTo$ Self | ActivationPhases$ Upkeep | PlayerTurn$ True | IsPresent$ Aura.Attached | PresentCompare$ EQ0 | SpellDescription$ Return target Aura card from your graveyard to the battlefield attached to CARDNAME. Activate only during your upkeep and only if NICKNAME isn't enchanted.
|
||||||
A:AB$ DestroyAll | Cost$ U U T | ValidCards$ Card.Aura+AttachedTo Card.Self | SpellDescription$ Destroy all Auras attached to CARDNAME.
|
A:AB$ DestroyAll | Cost$ U U T | ValidCards$ Card.Aura+AttachedTo Card.Self | SpellDescription$ Destroy all Auras attached to NICKNAME.
|
||||||
Oracle:Flying\n{U}{U}: Return target Aura card from your graveyard to the battlefield attached to Hakim, Loreweaver. Activate only during your upkeep and only if Hakim isn't enchanted.\n{U}{U}, {T}: Destroy all Auras attached to Hakim.
|
Oracle:Flying\n{U}{U}: Return target Aura card from your graveyard to the battlefield attached to Hakim, Loreweaver. Activate only during your upkeep and only if Hakim isn't enchanted.\n{U}{U}, {T}: Destroy all Auras attached to Hakim.
|
||||||
|
|||||||
@@ -4,9 +4,9 @@ Types:Legendary Creature Bird Advisor
|
|||||||
PT:2/3
|
PT:2/3
|
||||||
K:Flying
|
K:Flying
|
||||||
A:AB$ Effect | Cost$ 0 | ValidTgts$ Instant.YouOwn,Sorcery.YouOwn | TgtZone$ Graveyard | TgtPrompt$ Select target instant or sorcery card in your graveyard | ActivationLimit$ 1 | RememberObjects$ Targeted | StaticAbilities$ MayPlay,RaiseCost | ReplacementEffects$ ReplaceGraveyard | SubAbility$ DBCleanup | SpellDescription$ You may cast target instant or sorcery card from your graveyard this turn. If that spell doesn't target a creature you control, it costs {8} more to cast this way. If that spell would be put into your graveyard, exile it instead. Activate only once each turn. (You still pay the spell's costs. Timing rules for the spell still apply.)
|
A:AB$ Effect | Cost$ 0 | ValidTgts$ Instant.YouOwn,Sorcery.YouOwn | TgtZone$ Graveyard | TgtPrompt$ Select target instant or sorcery card in your graveyard | ActivationLimit$ 1 | RememberObjects$ Targeted | StaticAbilities$ MayPlay,RaiseCost | ReplacementEffects$ ReplaceGraveyard | SubAbility$ DBCleanup | SpellDescription$ You may cast target instant or sorcery card from your graveyard this turn. If that spell doesn't target a creature you control, it costs {8} more to cast this way. If that spell would be put into your graveyard, exile it instead. Activate only once each turn. (You still pay the spell's costs. Timing rules for the spell still apply.)
|
||||||
SVar:MayPlay:Mode$ Continuous | MayPlay$ True | EffectZone$ Command | Affected$ Card.IsRemembered | AffectedZone$ Graveyard | Description$ You may cast target instant or sorcery card from your graveyard this turn. (You still pay the spell's costs. Timing rules for the spell still apply.)
|
SVar:MayPlay:Mode$ Continuous | MayPlay$ True | EffectZone$ Command | Affected$ Card.IsRemembered+nonLand | AffectedZone$ Graveyard | Description$ You may cast target instant or sorcery card from your graveyard this turn. (You still pay the spell's costs. Timing rules for the spell still apply.)
|
||||||
SVar:RaiseCost:Mode$ RaiseCost | ValidCard$ Card.IsRemembered | ValidTarget$ Creature.YouCtrl+inZoneBattlefield | UnlessValidTarget$ True | Activator$ You | Type$ Spell | Amount$ 8 | EffectZone$ Command | Description$ If that spell doesn't target a creature you control, it costs {8} more to cast this way.
|
SVar:RaiseCost:Mode$ RaiseCost | ValidCard$ Card.IsRemembered+CastSa Spell.MayPlaySource | ValidTarget$ Creature.YouCtrl+inZoneBattlefield | UnlessValidTarget$ True | Activator$ You | Type$ Spell | Amount$ 8 | EffectZone$ Command | Description$ If that spell doesn't target a creature you control, it costs {8} more to cast this way.
|
||||||
SVar:ReplaceGraveyard:Event$ Moved | ValidCard$ Card.IsRemembered | Destination$ Graveyard | ReplaceWith$ MoveExile | Description$ If that spell would be put into your graveyard, exile it instead.
|
SVar:ReplaceGraveyard:Event$ Moved | ValidCard$ Card.IsRemembered+CastSa Spell.MayPlaySource | Destination$ Graveyard | ReplaceWith$ MoveExile | Description$ If that spell would be put into your graveyard, exile it instead.
|
||||||
SVar:MoveExile:DB$ ChangeZone | Defined$ ReplacedCard | Origin$ All | Destination$ Exile | SubAbility$ ExileSelf
|
SVar:MoveExile:DB$ ChangeZone | Defined$ ReplacedCard | Origin$ All | Destination$ Exile | SubAbility$ ExileSelf
|
||||||
SVar:ExileSelf:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile
|
SVar:ExileSelf:DB$ ChangeZone | Defined$ Self | Origin$ Command | Destination$ Exile
|
||||||
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
|
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
|
||||||
|
|||||||
@@ -4,6 +4,6 @@ Types:Instant
|
|||||||
A:SP$ ChangeZone | ValidTgts$ Permanent.nonLand | TgtPrompt$ Select target nonland permanent | Origin$ Battlefield | Destination$ Exile | RememberChanged$ True | SubAbility$ DBEffect | SpellDescription$ Exile target nonland permanent.
|
A:SP$ ChangeZone | ValidTgts$ Permanent.nonLand | TgtPrompt$ Select target nonland permanent | Origin$ Battlefield | Destination$ Exile | RememberChanged$ True | SubAbility$ DBEffect | SpellDescription$ Exile target nonland permanent.
|
||||||
SVar:DBEffect:DB$ Effect | Duration$ Permanent | StaticAbilities$ MayPlay,CostsMore | RememberObjects$ Remembered | ForgetOnMoved$ Exile | SubAbility$ DBCleanup | SpellDescription$ For as long as that card remains exiled, its owner may play it. A spell cast by an opponent this way costs {2} more to cast.
|
SVar:DBEffect:DB$ Effect | Duration$ Permanent | StaticAbilities$ MayPlay,CostsMore | RememberObjects$ Remembered | ForgetOnMoved$ Exile | SubAbility$ DBCleanup | SpellDescription$ For as long as that card remains exiled, its owner may play it. A spell cast by an opponent this way costs {2} more to cast.
|
||||||
SVar:MayPlay:Mode$ Continuous | Affected$ Card.IsRemembered | AffectedZone$ Exile | MayPlay$ True | MayPlayPlayer$ CardOwner
|
SVar:MayPlay:Mode$ Continuous | Affected$ Card.IsRemembered | AffectedZone$ Exile | MayPlay$ True | MayPlayPlayer$ CardOwner
|
||||||
SVar:CostsMore:Mode$ RaiseCost | ValidCard$ Card.IsRemembered | AffectedZone$ Exile | Type$ Spell | Amount$ 2 | Activator$ Opponent
|
SVar:CostsMore:Mode$ RaiseCost | ValidCard$ Card.IsRemembered+CastSa Spell.MayPlaySource | AffectedZone$ Exile | Type$ Spell | Amount$ 2 | Activator$ Opponent
|
||||||
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
|
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
|
||||||
Oracle:Exile target nonland permanent. For as long as that card remains exiled, its owner may play it. A spell cast by an opponent this way costs {2} more to cast.
|
Oracle:Exile target nonland permanent. For as long as that card remains exiled, its owner may play it. A spell cast by an opponent this way costs {2} more to cast.
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ Types:Legendary Creature Human Warrior
|
|||||||
PT:3/3
|
PT:3/3
|
||||||
S:Mode$ Continuous | Affected$ Creature.YouCtrl | AddAbility$ Mana | Description$ Each creature you control has "{T}: Add one mana of any of this creature's colors. Spend this mana only to activate an ability of a creature. Activate only if this creature has another activated ability."
|
S:Mode$ Continuous | Affected$ Creature.YouCtrl | AddAbility$ Mana | Description$ Each creature you control has "{T}: Add one mana of any of this creature's colors. Spend this mana only to activate an ability of a creature. Activate only if this creature has another activated ability."
|
||||||
SVar:Mana:AB$ ManaReflected | Cost$ T | Valid$ Defined.Self | ColorOrType$ Color | ReflectProperty$ Is | RestrictValid$ Activated.Creature+inZoneBattlefield | IsPresent$ Card.Self+hasOtherActivatedAbility | SpellDescription$ Add one mana of any of this creature's colors. Spend this mana only to activate an ability of a creature. Activate only if this creature has another activated ability.
|
SVar:Mana:AB$ ManaReflected | Cost$ T | Valid$ Defined.Self | ColorOrType$ Color | ReflectProperty$ Is | RestrictValid$ Activated.Creature+inZoneBattlefield | IsPresent$ Card.Self+hasOtherActivatedAbility | SpellDescription$ Add one mana of any of this creature's colors. Spend this mana only to activate an ability of a creature. Activate only if this creature has another activated ability.
|
||||||
A:AB$ Mill | Cost$ W U B R G | NumCards$ 5 | RememberMilled$ True | SubAbility$ DBChangeZone | SpellDescription$ Mill five cards.
|
A:AB$ Mill | Cost$ W U B R G T | NumCards$ 5 | RememberMilled$ True | SubAbility$ DBChangeZone | SpellDescription$ Mill five cards.
|
||||||
SVar:DBChangeZone:DB$ ChangeZoneAll | ChangeType$ Creature.IsRemembered+hasNonManaActivatedAbility | Origin$ Graveyard,Exile | Destination$ Hand | SubAbility$ DBCleanup | SpellDescription$ Put all creature cards with activated abilities that aren't mana abilities from among the milled cards into your hand.
|
SVar:DBChangeZone:DB$ ChangeZoneAll | ChangeType$ Creature.IsRemembered+hasNonManaActivatedAbility | Origin$ Graveyard,Exile | Destination$ Hand | SubAbility$ DBCleanup | SpellDescription$ Put all creature cards with activated abilities that aren't mana abilities from among the milled cards into your hand.
|
||||||
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
|
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
|
||||||
DeckHas:Ability$Mill
|
DeckHas:Ability$Mill
|
||||||
|
|||||||
@@ -2,9 +2,9 @@ Name:Tomb of Horrors Adventurer
|
|||||||
ManaCost:5 U
|
ManaCost:5 U
|
||||||
Types:Creature Elf Monk
|
Types:Creature Elf Monk
|
||||||
PT:4/4
|
PT:4/4
|
||||||
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | ValidActivatingPlayer$ You | Execute$ TrigInitiative | TriggerDescription$ When CARDNAME enters the battlefield, you take the initiative.
|
T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigInitiative | TriggerDescription$ When CARDNAME enters the battlefield, you take the initiative.
|
||||||
SVar:TrigInitiative:DB$ TakeInitiative
|
SVar:TrigInitiative:DB$ TakeInitiative
|
||||||
T:Mode$ SpellCast | ValidCard$ Card.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigCopy | ActivatorThisTurnCast$ EQ2 | TriggerDescription$ Whenever you cast your second spell each turn, copy it. If you've completed a dungeon, copy that spell twice instead. You may choose new targets for the copies. (A copy of a permanent spell becomes a token.)
|
T:Mode$ SpellCast | ValidCard$ Card.YouCtrl | TriggerZones$ Battlefield | Execute$ TrigCopy | ActivatorThisTurnCast$ EQ2 | ValidActivatingPlayer$ You | TriggerDescription$ Whenever you cast your second spell each turn, copy it. If you've completed a dungeon, copy that spell twice instead. You may choose new targets for the copies. (A copy of a permanent spell becomes a token.)
|
||||||
SVar:TrigCopy:DB$ CopySpellAbility | Amount$ Y | Defined$ TriggeredSpellAbility | MayChooseTarget$ True
|
SVar:TrigCopy:DB$ CopySpellAbility | Amount$ Y | Defined$ TriggeredSpellAbility | MayChooseTarget$ True
|
||||||
SVar:X:PlayerCountPropertyYou$DungeonsCompleted
|
SVar:X:PlayerCountPropertyYou$DungeonsCompleted
|
||||||
SVar:Y:Count$Compare X GE1.2.1
|
SVar:Y:Count$Compare X GE1.2.1
|
||||||
|
|||||||
@@ -181,7 +181,10 @@ ScryfallCode=LTC
|
|||||||
173 R Mentor of the Meek @Wei Guan
|
173 R Mentor of the Meek @Wei Guan
|
||||||
174 U Palace Jailer @Brian Valeza
|
174 U Palace Jailer @Brian Valeza
|
||||||
175 U Path to Exile @Torgeir Fjereide
|
175 U Path to Exile @Torgeir Fjereide
|
||||||
|
176 R Selfless Squire @Kim Sokol
|
||||||
|
177 U Sunset Revelry @Viko Menezes
|
||||||
178 U Swords to Plowshares @Christina Kraus
|
178 U Swords to Plowshares @Christina Kraus
|
||||||
|
179 R Unbreakable Formation @Ben Wootten
|
||||||
180 R Verge Rangers @Miguel Mercado
|
180 R Verge Rangers @Miguel Mercado
|
||||||
181 C Village Bell-Ringer @Brian Valeza
|
181 C Village Bell-Ringer @Brian Valeza
|
||||||
182 R Visions of Glory @Justyna Dura
|
182 R Visions of Glory @Justyna Dura
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ ScryfallCode=LTR
|
|||||||
43 C Birthday Escape @David Álvarez
|
43 C Birthday Escape @David Álvarez
|
||||||
44 R Borne Upon a Wind @Alexander Mokhov
|
44 R Borne Upon a Wind @Alexander Mokhov
|
||||||
45 C Captain of Umbar @Wei Guan
|
45 C Captain of Umbar @Wei Guan
|
||||||
46 U Council's Deliberation @
|
46 U Council's Deliberation @Viko Menezes
|
||||||
47 C Deceive the Messenger @Tomas Duchek
|
47 C Deceive the Messenger @Tomas Duchek
|
||||||
48 C Dreadful as the Storm @Daniel Correia
|
48 C Dreadful as the Storm @Daniel Correia
|
||||||
49 U Elrond, Lord of Rivendell @Ryan Yee
|
49 U Elrond, Lord of Rivendell @Ryan Yee
|
||||||
@@ -227,7 +227,7 @@ ScryfallCode=LTR
|
|||||||
218 R Pippin, Guard of the Citadel @Bartłomiej Gaweł
|
218 R Pippin, Guard of the Citadel @Bartłomiej Gaweł
|
||||||
219 U Prince Imrahil the Fair @Justyna Dura
|
219 U Prince Imrahil the Fair @Justyna Dura
|
||||||
220 U Ringsight @Campbell White
|
220 U Ringsight @Campbell White
|
||||||
221 U Rise of the Witch-king @
|
221 U Rise of the Witch-king @Andrea Piparo
|
||||||
222 R Samwise Gamgee @Ekaterina Burmak
|
222 R Samwise Gamgee @Ekaterina Burmak
|
||||||
223 M Saruman of Many Colors @Alexander Mokhov
|
223 M Saruman of Many Colors @Alexander Mokhov
|
||||||
224 M Sauron, the Dark Lord @Kieran Yanner
|
224 M Sauron, the Dark Lord @Kieran Yanner
|
||||||
@@ -306,7 +306,7 @@ ScryfallCode=LTR
|
|||||||
297 R The Balrog, Flame of Udun @John Tedrick
|
297 R The Balrog, Flame of Udun @John Tedrick
|
||||||
298 R Bilbo's Ring @Randy Gallegos
|
298 R Bilbo's Ring @Randy Gallegos
|
||||||
299 M Gandalf the White @Leonardo Borazio
|
299 M Gandalf the White @Leonardo Borazio
|
||||||
300 M Saruman of Many Colors @
|
300 M Saruman of Many Colors @Wonchun Choi
|
||||||
302 R Boromir, Warden of the Tower @Anato Finnstark
|
302 R Boromir, Warden of the Tower @Anato Finnstark
|
||||||
303 U Faramir, Field Commander @Dominik Mayer
|
303 U Faramir, Field Commander @Dominik Mayer
|
||||||
304 R Frodo, Sauron's Bane @Andreas Rocha
|
304 R Frodo, Sauron's Bane @Andreas Rocha
|
||||||
@@ -332,10 +332,10 @@ ScryfallCode=LTR
|
|||||||
324 U Legolas, Counter of Kills @Anato Finnstark
|
324 U Legolas, Counter of Kills @Anato Finnstark
|
||||||
325 R Merry, Esquire of Rohan @Dominik Mayer
|
325 R Merry, Esquire of Rohan @Dominik Mayer
|
||||||
326 R Pippin, Guard of the Citadel @Anato Finnstark
|
326 R Pippin, Guard of the Citadel @Anato Finnstark
|
||||||
327 R Samwise Gamgee @
|
327 R Samwise Gamgee @Marko Manev
|
||||||
328 M Saruman of Many Colors @Marko Manev
|
328 M Saruman of Many Colors @Marko Manev
|
||||||
329 M Sauron, the Dark Lord @Dominik Mayer & Anato Finnstark
|
329 M Sauron, the Dark Lord @Dominik Mayer & Anato Finnstark
|
||||||
330 R Smeagol, Helpful Guide
|
330 R Smeagol, Helpful Guide @Andreas Rocha
|
||||||
331 M Tom Bombadil @Marko Manev
|
331 M Tom Bombadil @Marko Manev
|
||||||
332 U Nazgul @Wonchun Choi
|
332 U Nazgul @Wonchun Choi
|
||||||
333 U Nazgul @Chris Cold
|
333 U Nazgul @Chris Cold
|
||||||
@@ -458,7 +458,7 @@ ScryfallCode=LTR
|
|||||||
450 U Gollum, Patient Plotter @Marta Nael
|
450 U Gollum, Patient Plotter @Marta Nael
|
||||||
451 M The One Ring @Marta Nael
|
451 M The One Ring @Marta Nael
|
||||||
649 U Denethor, Ruling Steward @Campbell White
|
649 U Denethor, Ruling Steward @Campbell White
|
||||||
753 R Mines of Moria @
|
753 R Mines of Moria @Lucas Terryn
|
||||||
760 R Forge Anew @Craig J Spearing
|
760 R Forge Anew @Craig J Spearing
|
||||||
763 R Press the Enemy @
|
763 R Press the Enemy @
|
||||||
764 R Rangers of Ithilien @Torgeir Fjereide
|
764 R Rangers of Ithilien @Torgeir Fjereide
|
||||||
|
|||||||
Reference in New Issue
Block a user