Improved Die Roll event and trigger, added Flip Coin trigger management, added/fixed almost all primitives with "roll a die ability", fixed some tab chars in source files.

This commit is contained in:
valfieri
2020-12-15 19:49:06 +01:00
parent bf3d35463f
commit b09763d89e
12 changed files with 666 additions and 297 deletions

View File

@@ -197,7 +197,7 @@ bool JGuiController::CheckUserInput(JButton key)
mObjects[mCurr]->Entering();
}
mEngine->LeftClickedProcessed();
mEngine->ResetInput();
mEngine->ResetInput();
return true;
}
mEngine->LeftClickedProcessed();

View File

@@ -27,6 +27,14 @@ mana={X}{1}{B}
type=Sorcery
[/card]
[card]
name=Abnormal Endurance
target=creature
auto=transforms((,newability[2/0],newability[@movedTo(this|graveyard) from(battlefield):all(trigger[to]) moveTo(ownerBattlefield) and!(tap(noevent))!])) ueot
text=Until end of turn, target creature gets +2/+0 and gains "When this creature dies, return it to the battlefield tapped under its owner's control."
mana={1}{B}
type=Instant
[/card]
[card]
name=Abominable Treefolk
abilities=trample
anyzone=type:*[snow]:myBattlefield/type:*[snow]:myBattlefield cdaactive
@@ -261,6 +269,16 @@ mana={1}{U}{U}
type=Instant
[/card]
[card]
name=Adorable Kitten
auto=rolladie 6 winability life:lastrollresult controller winabilityend loseability life:lastrollresult controller loseabilityend rollend
text=When this creature enters the battlefield, roll a six-sided die. You gain life equal to the result.
mana={W}
type=Host Creature
subtype=Cat
power=1
toughness=1
[/card]
[card]
name=Adorned Pouncer
abilities=double strike
autograveyard={3}{W}{W}{E}:name(Eternalize) clone and!( transforms((Zombie,removemc,setpower=4,settoughness=4,black)) forever )! assorcery
@@ -2343,12 +2361,12 @@ type=Enchantment
[card]
name=As Luck Would Have It
abilities=opponentshroud
auto=@dierolled(creature|battlefield) result(1):counter(0/0,1,Luck) all(this)
auto=@dierolled(creature|battlefield) result(2):counter(0/0,2,Luck) all(this)
auto=@dierolled(creature|battlefield) result(3):counter(0/0,3,Luck) all(this)
auto=@dierolled(creature|battlefield) result(4):counter(0/0,4,Luck) all(this)
auto=@dierolled(creature|battlefield) result(5):counter(0/0,5,Luck) all(this)
auto=@dierolled(creature|battlefield) result(6):counter(0/0,6,Luck) all(this)
auto=@dierolled(*|battlefield) result(1) from(controller):counter(0/0,1,Luck) all(this)
auto=@dierolled(*|battlefield) result(2) from(controller):counter(0/0,2,Luck) all(this)
auto=@dierolled(*|battlefield) result(3) from(controller):counter(0/0,3,Luck) all(this)
auto=@dierolled(*|battlefield) result(4) from(controller):counter(0/0,4,Luck) all(this)
auto=@dierolled(*|battlefield) result(5) from(controller):counter(0/0,5,Luck) all(this)
auto=@dierolled(*|battlefield) result(6) from(controller):counter(0/0,6,Luck) all(this)
auto=this(counter{0/0.100.Luck}=)) wingame controller
text=Hexproof -- Whenever you roll a die, put a number of luck counters on As Luck Would Have It equal to the result. Then if there are 100 or more luck counters on As Luck Would Have It, you win the game. (Count both rolls if you reroll a die.)
mana={G}
@@ -3868,6 +3886,16 @@ mana={1}{U}
type=Instant
[/card]
[card]
name=Big Boa Constrictor
auto=rolladie 6 winability life:-lastrollresult opponent winabilityend loseability life:-lastrollresult opponent loseabilityend rollend
text=When this creature enters the battlefield, roll a six-sided die. Target opponent loses life equal to the result.
mana={3}{B}
type=Host Creature
subtype=Snake
power=1
toughness=2
[/card]
[card]
name=Binding Mummy
auto=@movedto(other zombie|mybattlefield):may tap target(artifact,creature)
text=Whenever another Zombie enters the battlefield under your control, you may tap target artifact or creature.
@@ -5269,6 +5297,13 @@ mana={2}{G}{U}
type=Enchantment
[/card]
[card]
name=Box of Free-Range Goblins
auto=rolladie 6 winability token(Goblin,Creature Goblin,1/1,red)*lastrollresult winabilityend loseability token(Goblin,Creature Goblin,1/1,red)*lastrollresult loseabilityend rollend
text=Roll a six-sided die. Create a number of 1/1 red Goblin creature tokens equal to the result.
mana={4}{R}{R}
type=Sorcery
[/card]
[card]
name=Brallin, Skyshark Rider
abilities=hiddenface,partner
aicode=activate moveTo(myhand) target(Shabraz, the Skyshark|mylibrary)
@@ -7442,6 +7477,35 @@ power=1
toughness=3
[/card]
[card]
name=Chicken a la King
auto=@dierolled(*|battlefield) result(6) from(controller):all(chicken|battlefield) counter(1/1)
auto={T(*[chicken]|mybattlefield)}:rolladie 6 winability donothing winabilityend rollend
text=Whenever a 6 is rolled on a six-sided die, put a +1/+1 counter on each Chicken in play. (You may roll dice only when a card instructs you to.) -- Tap a Chicken you control: Roll a six-sided die.
mana={1}{U}{U}
type=Summon
subtype=Chicken
[/card]
[card]
name=Chicken à la King
auto=@dierolled(*|battlefield) result(6) from(controller):all(chicken|battlefield) counter(1/1)
auto={T(*[chicken]|mybattlefield)}:rolladie 6 winability donothing winabilityend rollend
text=Whenever a 6 is rolled on a six-sided die, put a +1/+1 counter on each Bird. (You may roll dice only when instructed to.) -- Tap an untapped Bird you control: Roll a six-sided die. (Like now.)
mana={1}{U}{U}
type=Creature
subtype=Bird
power=2
toughness=2
[/card]
[card]
name=Chicken Egg
auto=@each my upkeep:rolladie 6 winability donothing winabilityend rollend
auto=@dierolled(this) result(6) from(controller):all(this) sacrifice && token(Giant Chicken,Creature Giant Chicken,4/4,red) myupkeeponly
text=During your upkeep, roll a six-sided die. On a 6, sacrifice Chicken Egg and put a Giant Chicken token into play. Treat this token as a 4/4 red creature that counts as a Chicken.
mana={1}{R}
type=Summon
subtype=Egg
[/card]
[card]
name=Chief Engineer
auto=lord(artifact|myhand,mylibrary,mygraveyard,myexile,mysideboard) convoke
text=Artifact spells you cast have convoke. (Your creatures can help cast those spells. Each creature you tap while casting an artifact spell pays for {1} or one mana of that creatures color.)
@@ -7512,9 +7576,9 @@ toughness=4
[/card]
[card]
name=Chittering Doom
auto=@dierolled(creature|battlefield) result(4):token(Squirrel,Creature Squirrel,1/1,green)
auto=@dierolled(creature|battlefield) result(5):token(Squirrel,Creature Squirrel,1/1,green)
auto=@dierolled(creature|battlefield) result(6):token(Squirrel,Creature Squirrel,1/1,green)
auto=@dierolled(*|battlefield) result(4) from(controller):token(Squirrel,Creature Squirrel,1/1,green)
auto=@dierolled(*|battlefield) result(5) from(controller):token(Squirrel,Creature Squirrel,1/1,green)
auto=@dierolled(*|battlefield) result(6) from(controller):token(Squirrel,Creature Squirrel,1/1,green)
text=Whenever you roll a 4 or higher on a die, create a 1/1 green Squirrel creature token.
mana={3}{G}
type=Enchantment
@@ -7780,7 +7844,7 @@ type=Sorcery
[/card]
[card]
name=Clam-I-Am
auto=@dierolled(creature|battlefield) result(3):all(this) rolladie 6 winability donothing winabilityend loseability donothing loseabilityend rollend
auto=@dierolled(*|battlefield) result(3) from(controller):all(this) rolladie 6 winability donothing winabilityend loseability donothing loseabilityend rollend
text=Whenever you roll a 3 on a six-sided die, you may reroll that die.
mana={2}{U}
type=Summon
@@ -13536,6 +13600,16 @@ power=3
toughness=3
[/card]
[card]
name=Elvish Impersonators
auto=all(this) transforms((Creature Summon Elves,setpower=1,settoughness=1)) forever
auto=all(this) rolladie 6 winability lastrollresultminus1minusend/0 winabilityend loseability lastrollresultminus1minusend/0 loseabilityend rollend
auto=all(this) rolladie 6 winability 0/lastrollresultminus1minusend winabilityend loseability 0/lastrollresultminus1minusend loseabilityend rollend
text=When you play Elvish Impersonators, roll two six-sided dice one after the other. Elvish Impersonators comes into play with power equal to the first die roll and toughness equal to the second.
mana={3}{G}
type=Summon
subtype=Elves
[/card]
[card]
name=Elvish Reclaimer
aicode=activate moveTo(myBattlefield) and!(tap(noevent))! target(land|myLibrary)
auto=aslongas(land|myGraveyard) 2/2 >2
@@ -17352,6 +17426,29 @@ power=3
toughness=3
[/card]
[card]
name=Garbage Elemental (c)
auto=@combat(attacking) source(this):all(other creature[attacking]) 1/0 ueot
suto=all(this) rolladie winability token(Goblin,Creature Goblin,1/1,red)*lastrollresultminuslastrollchoiceminusend winabilityend loseability token(Goblin,Creature Goblin,1/1,red)*lastrollresultminuslastrollchoiceminusend loseabilityend rollend
text=Battle cry (Whenever this creature attacks, each other attacking creature gets +1/+0 until end of turn.) -- When Garbage Elemental enters the battlefield, roll two six-sided dice. Create a number of 1/1 red Goblin creature tokens equal to the difference between those results.
mana={4}{R}
type=Creature
subtype=Elemental
power=3
toughness=2
[/card]
[card]
name=Garbage Elemental (d)
autostack=if casted(this) then cascade:plibrarycount
auto=choice name(Damage opponent) all(this) rolladie 6 winability damage:lastrollresult opponent winabilityend loseability damage:lastrollresult opponent loseabilityend rollend
auto=if type(planeswalker|battlefield)~morethan~0 then choice name(Damage planeswalker) target(planeswalker) rolladie 6 winability damage:lastrollresult winabilityend loseability damage:lastrollresult loseabilityend rollend
text=Cascade (When you cast this spell, exile cards from the top of your library until you exile a nonland card that costs less. You may cast it without paying its mana cost. Put the exiled cards on the bottom of your library in a random order.) -- When Garbage Elemental enters the battlefield, roll a six-sided die. Garbage Elemental deals damage equal to the result to target opponent or planeswalker.
mana={4}{R}
type=Creature
subtype=Elemental
power=3
toughness=3
[/card]
[card]
name=Garenbrig Carver // Shield's Might
abilities=canplayfromexile,flash,adventure
restriction=myturnonly
@@ -18695,6 +18792,16 @@ power=2
toughness=1
[/card]
[card]
name=Goblin Bowling Team
auto=@damaged(creature) from(this):all(trigger[to]) rolladie 6 winability damage:lastrollresult winabilityend loseability damage:lastrollresult loseabilityend rollend
auto=@damageof(player) from(this):all(this) rolladie 6 winability damage:lastrollresult controller winabilityend loseability damage:lastrollresult controller loseabilityend rollend
auto=@damagefoeof(player) from(this):all(this) rolladie 6 winability damage:lastrollresult opponent winabilityend loseability damage:lastrollresult opponent loseabilityend rollend
text=Whenever Goblin Bowling Team damages any creature or player, roll a six-sided die. Goblin Bowling Team deals to that creature or player additional damage equal to the die roll.
mana={3}{R}
type=Summon
subtype=Goblins
[/card]
[card]
name=Goblin Bruiser
mana={1}{R}{R}
type=Creature
@@ -18868,6 +18975,26 @@ power=2
toughness=2
[/card]
[card]
name=Goblin Test Pilot
abilities=flying
auto={T}:all(this) rolladie 6 winability counter(0/0,1,GoblinEffect) winabilityend loseability counter(0/0,1,GoblinEffect) loseabilityend rollend
auto=@dierolled(this) result(1) from(controller):this(counter{0/0.1.GoblinEffect}=1) name(Damage 2 to opponent) name(Damage 2 to opponent) damage:2 opponent && counter(0/0,-1,GoblinEffect) all(this)
auto=@dierolled(this) result(2) from(controller):this(counter{0/0.1.GoblinEffect}=1) name(Damage 2 to yourself) name(Damage 2 to yourself) damage:2 controller && counter(0/0,-1,GoblinEffect) all(this)
auto=@dierolled(this) result(3) from(controller) restriction{type(creature|myBattlefield)~lessthan~2}:this(counter{0/0.1.GoblinEffect}=1) name(Damage 2 to yourself) name(Damage 2 to yourself) damage:2 controller && counter(0/0,-1,GoblinEffect) all(this)
auto=@dierolled(this) result(3) from(controller) restriction{type(creature|myBattlefield)~morethan~1}:this(counter{0/0.1.GoblinEffect}=1) name(Damage 2 to your creature) name(Damage 2 to your creature) ability$!name(Damage creature) damage:2 target(creature|opponentBattlefield)!$ opponent && counter(0/0,-1,GoblinEffect) all(this)
auto=@dierolled(this) result(4) from(controller) restriction{type(creature|opponentBattlefield)~morethan~0}:this(counter{0/0.1.GoblinEffect}=1) name(Damage 2 opponent's creature) name(Damage 2 to opponent's creature) ability$!name(Damage creature) damage:2 target(creature|myBattlefield)!$ opponent && counter(0/0,-1,GoblinEffect) all(this)
auto=@dierolled(this) result(4) from(controller) restriction{type(creature|opponentBattlefield)~equalto~0}:this(counter{0/0.1.GoblinEffect}=1) name(Damage 2 to opponent) name(Damage 2 to opponent) damage:2 opponent && counter(0/0,-1,GoblinEffect) all(this)
auto=@dierolled(this) result(5) from(controller) restriction{type(creature|opponentBattlefield)~morethan~0}:this(counter{0/0.1.GoblinEffect}=1) name(Damage 2 opponent's creature) name(Damage 2 to opponent's creature) ability$!name(Damage creature) damage:2 target(creature|myBattlefield)!$ opponent && counter(0/0,-1,GoblinEffect) all(this)
auto=@dierolled(this) result(5) from(controller) restriction{type(creature|opponentBattlefield)~equalto~0}:this(counter{0/0.1.GoblinEffect}=1) name(Damage 2 to opponent) name(Damage 2 to opponent) damage:2 opponent && counter(0/0,-1,GoblinEffect) all(this)
auto=@dierolled(this) result(6) from(controller):this(counter{0/0.1.GoblinEffect}=1) name(Damage 2 to your creature) name(Damage 2 to your creature) ability$!name(Damage creature) damage:2 target(creature|opponentBattlefield)!$ opponent && counter(0/0,-1,GoblinEffect) all(this)
text=Flying -- {T}: Goblin Test Pilot deals 2 damage to target creature or player chosen at random.
mana={1}{U}{R}
type=Creature
subtype=Goblin Wizard
power=0
toughness=2
[/card]
[card]
name=Goblin Trailblazer
abilities=menace
text=Menace
@@ -18916,6 +19043,13 @@ mana={3}{R}
type=Instant
[/card]
[card]
name=Goblin War Cry
auto=thisforeach(variable{type:creature:opponentBattlefieldminus1minusend}) ability$!name(Creature can't block) name(Creature can't block) target(creature|myBattlefield) cantblock ueot!$ opponent
text=Target opponent chooses a creature he or she controls. Other creatures he or she controls can't block this turn.
mana={2}{R}
type=Sorcery
[/card]
[card]
name=God-Eternal Bontu
abilities=menace
auto=may notatarget(<anyamount>other *|mybattlefield) sacrifice && draw:1
@@ -18988,6 +19122,16 @@ mana={6}
type=Legendary Artifact
[/card]
[card]
name=Godo's Irregulars
auto=@combat(blocked) source(this):all(this) transforms((,newability[{R}:damage:1 target(creature[blocking]|opponentbattlefield)])) ueot
text={R}: Godo's Irregulars deals 1 damage to target creature blocking it.
mana={R}
type=Creature
subtype=Human Warrior
power=1
toughness=1
[/card]
[card]
name=Goka the Unjust
auto={T}:damage:1 target(creature[damaged])
text={T}: Goka the Unjust deals 4 damage to target creature that was dealt damage this turn.
@@ -19744,8 +19888,8 @@ type=Instant
[card]
name=Ground Pounder
auto={3}{G}:all(this) rolladie 6 winability lastrollresult/lastrollresult ueot winabilityend loseability lastrollresult/lastrollresult ueot loseabilityend rollend
auto=@dierolled(creature|battlefield) result(5):name(Gains trample) name(Gains trample) all(this) transforms((,newability[trample])) ueot
auto=@dierolled(creature|battlefield) result(6):name(Gains trample) name(Gains trample) all(this) transforms((,newability[trample])) ueot
auto=@dierolled(*|battlefield) result(5) from(controller):name(Gains trample) name(Gains trample) all(this) transforms((,newability[trample])) ueot
auto=@dierolled(*|battlefield) result(6) from(controller):name(Gains trample) name(Gains trample) all(this) transforms((,newability[trample])) ueot
text={3}{G}: Roll a six-sided die. Ground Pounder gets +X/+X until end of turn, where X is the result. -- Whenever you roll a 5 or higher on a die, Ground Pounder gains trample until end of turn.
mana={1}{G}
type=Creature
@@ -19788,6 +19932,13 @@ mana={G}{U}
type=Instant
[/card]
[card]
name=Growth Spurt
auto=target(creature) rolladie 6 winability lastrollresult/lastrollresult ueot winabilityend loseability lastrollresult/lastrollresult ueot loseabilityend rollend
text=Roll a six-sided die. Target creature gets +X/+X until end of turn, where X is equal to the die roll.
mana={1}{G}
type=Instant
[/card]
[card]
name=Growth-Chamber Guardian
auto={2}{G}:this(counter{1/1.1}<1) transforms((,newability[counter(1/1.2)])) forever
auto=@counteradded(1/1) from(this):transforms((,newability[moveTo(myHand) target(Growth-Chamber Guardian|myLibrary)])) once
@@ -20244,14 +20395,22 @@ power=5
toughness=2
[/card]
[card]
name=Hammer Helper
target=creature
auto=moveto(mybattlefield) and!(transforms((,newability[phaseaction[endofturn sourceinplay] moveTo(previousbattlefield)],newability[all(this) rolladie 6 winability lastrollresult/0 ueot winabilityend loseability lastrollresult/0 ueot loseabilityend rollend],newability[untap],haste)) ueot)!
text=Gain control of target creature until end of turn. Untap that creature and roll a six-sided die. Until end of turn, it gains haste and gets +X/+0, where X is the result.
mana={3}{R}
type=Sorcery
[/card]
[card]
name=Hammer Jammer
auto={3}{G}:all(this) rolladie 6 winability counter(1/1,lastrollresult) winabilityend loseability counter(1/1,lastrollresult) loseabilityend rollend
auto=@dierolled(creature|battlefield) result(1):name(Get counter) name(Get counter) removeallcounters(1/1) && transforms((,newability[counter(1/1.1)])) all(this)
auto=@dierolled(creature|battlefield) result(2):name(Get counters) name(Get counters) removeallcounters(1/1) && transforms((,newability[counter(1/1.2)])) all(this)
auto=@dierolled(creature|battlefield) result(3):name(Get counters) name(Get counters) removeallcounters(1/1) && transforms((,newability[counter(1/1.3)])) all(this)
auto=@dierolled(creature|battlefield) result(4):name(Get counters) name(Get counters) removeallcounters(1/1) && transforms((,newability[counter(1/1.4)])) all(this)
auto=@dierolled(creature|battlefield) result(5):name(Get counters) name(Get counters) removeallcounters(1/1) && transforms((,newability[counter(1/1.5)])) all(this)
auto=@dierolled(creature|battlefield) result(6):name(Get counters) name(Get counters) removeallcounters(1/1) && transforms((,newability[counter(1/1.6)])) all(this)
auto=@dierolled(*|battlefield) result(1) from(controller):name(Get counter) name(Get counter) removeallcounters(1/1) && transforms((,newability[counter(1/1.1)])) all(this)
auto=@dierolled(*|battlefield) result(2) from(controller):name(Get counters) name(Get counters) removeallcounters(1/1) && transforms((,newability[counter(1/1.2)])) all(this)
auto=@dierolled(*|battlefield) result(3) from(controller):name(Get counters) name(Get counters) removeallcounters(1/1) && transforms((,newability[counter(1/1.3)])) all(this)
auto=@dierolled(*|battlefield) result(4) from(controller):name(Get counters) name(Get counters) removeallcounters(1/1) && transforms((,newability[counter(1/1.4)])) all(this)
auto=@dierolled(*|battlefield) result(5) from(controller):name(Get counters) name(Get counters) removeallcounters(1/1) && transforms((,newability[counter(1/1.5)])) all(this)
auto=@dierolled(*|battlefield) result(6) from(controller):name(Get counters) name(Get counters) removeallcounters(1/1) && transforms((,newability[counter(1/1.6)])) all(this)
text=As Hammer Jammer enters the battlefield, roll a six-sided die. Hammer Jammer enters the battlefield with a number of +1/+1 counters on it equal to the result. -- Whenever you roll a die, remove all +1/+1 counters from Hammer Jammer, then put a number of +1/+1 counters on it equal to the result.
mana={3}{R}
type=Creature
@@ -22018,6 +22177,17 @@ type=Enchantment
subtype=Aura
[/card]
[card]
name=Hydradoodle
abilities=reach,trample
auto=thisforeach(variable{halfpaid}) all(this) rolladie 6 winability counter(1/1,lastrollresult) winabilityend loseability counter(1/1,lastrollresult) loseabilityend rollend
text=As Hydradoodle enters the battlefield, roll X six-sided dice. Hydradoodle enters the battlefield with a number of +1/+1 counters on it equal to the total of those results. -- Reach, trample
mana={X}{X}{G}{G}
type=Creature
subtype=Hydra Hound
power=0
toughness=0
[/card]
[card]
name=Hydroid Krasis
abilities=flying, trample
autostack=if casted(this) then draw:3
@@ -22589,6 +22759,17 @@ power=6
toughness=1
[/card]
[card]
name=Impetuous Protege
auto=may name(Put partner on your hand) name(Put partner on your hand) moveto(myhand) target(*[Proud Mentor]|mylibrary)
auto=@combat(attacking) source(this):all(this) power:highest:creature[tapped]:opponentbattlefield/0 ueot
text=Partner with Proud Mentor (When this creature enters the battlefield, target player may put Proud Mentor into their hand from their library, then shuffle.) -- Whenever Impetuous Protege attacks, it gets +X/+0 until end of turn, where X is the greatest power among tapped creatures your opponents control.
mana={2}{R}
type=Creature
subtype=Human Warrior
power=0
toughness=4
[/card]
[card]
name=Imposing Vantasaur
abilities=vigilance
autohand=__CYCLING__({1})
@@ -22976,6 +23157,21 @@ mana={7}
type=Artifact
[/card]
[card]
name=Inhumaniac
auto=@each my upkeep:rolladie 6 winability donothing winabilityend rollend
auto=@dierolled(this) result(1) from(controller):all(this) removeallcounters(1/1) myupkeeponly
auto=@dierolled(this) result(3) from(controller):all(this) counter(1/1,1) myupkeeponly
auto=@dierolled(this) result(4) from(controller):all(this) counter(1/1,1) myupkeeponly
auto=@dierolled(this) result(5) from(controller):all(this) counter(1/1,2) myupkeeponly
auto=@dierolled(this) result(6) from(controller):all(this) counter(1/1,2) myupkeeponly
text=At the beginning of your upkeep, roll a six-sided die. On a 3 or 4, put a +1/+1 counter on Inhumaniac. On a 5 or higher, put two +1/+1 counters on it. On a 1, remove all +1/+1 counters from Inhumaniac.
mana={1}{B}
type=Creature
subtype=Brainiac
power=1
toughness=1
[/card]
[card]
name=Initiate of Blood
auto={T}:name(damage my creature) target(creature[damaged]|mybattlefield) transforms((,newability[damage:1 all(this)],newability[@movedto(this|graveyard) from(battlefield):notatarget(Initiate of Blood|mybattlefield) flip(Goka the Unjust)])) ueot
auto={T}:name(damage opponent's creature) target(creature[damaged]|opponentbattlefield) transforms((,newability[damage:1 all(this)],newability[@movedto(this|graveyard) from(battlefield):notatarget(Initiate of Blood|opponentbattlefield) flip(Goka the Unjust)])) ueot
@@ -23772,6 +23968,19 @@ power=0
toughness=2
[/card]
[card]
name=Jack-in-the-Mox
auto={T}:all(this) rolladie 6 winability counter(0/0,1,JackEffect) winabilityend loseability counter(0/0,1,JackEffect) loseabilityend rollend
auto=@dierolled(this) result(1) from(controller):this(counter{0/0.1.JackEffect}=1) name(Sacrifice Jack-in-the-Mox) name(Sacrifice Jack-in-the-Mox) sacrifice && counter(0/0,-1,JackEffect) all(this)
auto=@dierolled(this) result(2) from(controller):this(counter{0/0.1.JackEffect}=1) name(Add white mana) name(Add white mana) add{W} && counter(0/0,-1,JackEffect) all(this)
auto=@dierolled(this) result(3) from(controller):this(counter{0/0.1.JackEffect}=1) name(Add blue mana) name(Add blue mana) add{U} && counter(0/0,-1,JackEffect) all(this)
auto=@dierolled(this) result(4) from(controller):this(counter{0/0.1.JackEffect}=1) name(Add black mana) name(Add black mana) add{B} && counter(0/0,-1,JackEffect) all(this)
auto=@dierolled(this) result(5) from(controller):this(counter{0/0.1.JackEffect}=1) name(Add red mana) name(Add red mana) add{R} && counter(0/0,-1,JackEffect) all(this)
auto=@dierolled(this) result(6) from(controller):this(counter{0/0.1.JackEffect}=1) name(Add green mana) name(Add green mana) add{G} && counter(0/0,-1,JackEffect) all(this)
text={T}: Roll a six-sided die for Jack-in-the-Mox. On a 1, sacrifice Jack-in-the-Mox and lose 5 life. Otherwise, Jack-in-the-Mox has one of the following effects. Treat this ability as a mana source. -- 2 Add {W} to your mana pool. -- 3 Add {U} to your mana pool. -- 4 Add {B} to your mana pool. -- 5 Add {R} to your mana pool. -- 6 Add {G} to your mana pool.
mana={0}
type=Artifact
[/card]
[card]
name=Jade Bearer
auto=counter(1/1) target(other merfolk|myBattlefield)
text=When Jade Bearer enters the battlefield, put a +1/+1 counter on another target Merfolk you control.
@@ -24133,6 +24342,18 @@ power=2
toughness=2
[/card]
[card]
name=Jumbo Imp
abilities=flying
auto=transforms((Creature Summon Imp,setpower=0,settoughness=0)) forever
auto=all(this) rolladie 6 winability counter(1/1,lastrollresult) winabilityend loseability counter(1/1,lastrollresult) loseabilityend rollend
auto=@each my upkeep:all(this) rolladie 6 winability counter(1/1,lastrollresult) winabilityend loseability counter(1/1,lastrollresult) loseabilityend rollend
auto=@each my endofturn:all(this) rolladie 6 winability counter(1/1,-lastrollresult) winabilityend loseability counter(1/1,-lastrollresult) loseabilityend rollend
text=Flying -- When you play Jumbo Imp, roll a six-sided die. Jumbo Imp comes into play with a number of +1/+1 counters on it equal to the die roll. -- During your upkeep, roll a six-sided die and put on Jumbo Imp a number of +1/+1 counters equal to the die roll. -- At the end of your turn, roll a six-sided die and remove from Jumbo Imp a number of +1/+1 counters equal to the die roll.
mana={2}{B}
type=Summon
subtype=Imp
[/card]
[card]
name=Jungle Creeper
auto={3}{B}{G}:moveto(myhand) all(this)
text={3}{B}{G}: Return Jungle Creeper from your graveyard to your hand.
@@ -25474,6 +25695,14 @@ power=1
toughness=4
[/card]
[card]
name=Khorvath's Fury
auto=count(type:*:myhand) && all(*|myhand) reject && draw:countedamountplus1plusend controller
auto=damage:ohandcount opponent
text=For each player, choose friend or foe. Each friend discards all cards from their hand, then draws that many cards plus one. Khorvath's Fury deals damage to each foe equal to the number of cards in their hand.
mana={4}{R}
type=Sorcery
[/card]
[card]
name=Korvold, Fae-Cursed King
abilities=flying
auto=sacrifice target(*|mybattlefield)
@@ -25600,6 +25829,45 @@ power=4
toughness=4
[/card]
[card]
name=Krav, the Unredeemed
auto=may name(Put partner on your hand) name(Put partner on your hand) moveto(myhand) target(Regna, the Redeemer|mylibrary)
auto={B}{S(creature|myBattlefield)}:name(Sacrifice 1 creature and target yourself) name(Sacrifice 1 creature and target yourself) all(this) counter(1/1,1) && life:1 controller && draw:1 conroller
auto={B}{S(creature|myBattlefield)}:name(Sacrifice 1 creature and target opponent) name(Sacrifice 1 creature and target opponent) all(this) counter(1/1,1) && life:1 opponent && draw:1 opponent
auto={B}{S(creature|myBattlefield)}{S(creature|myBattlefield)}:name(Sacrifice 2 creatures and target yourself) name(Sacrifice 2 creatures and target yourself) all(this) counter(1/1,2) && life:2 controller && draw:2 conroller
auto={B}{S(creature|myBattlefield)}{S(creature|myBattlefield)}:name(Sacrifice 2 creatures and target opponent) name(Sacrifice 2 creatures and target opponent) all(this) counter(1/1,2) && life:2 opponent && draw:2 opponent
auto={B}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}:name(Sacrifice 3 creatures and target yourself) name(Sacrifice 3 creatures and target yourself) all(this) counter(1/1,3) && life:3 controller && draw:3 conroller
auto={B}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}:name(Sacrifice 3 creatures and target opponent) name(Sacrifice 3 creatures and target opponent) all(this) counter(1/1,3) && life:3 opponent && draw:3 opponent
auto={B}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}:name(Sacrifice 4 creatures and target yourself) name(Sacrifice 4 creatures and target yourself) all(this) counter(1/1,4) && life:4 controller && draw:4 conroller
auto={B}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}:name(Sacrifice 4 creatures and target opponent) name(Sacrifice 4 creatures and target opponent) all(this) counter(1/1,4) && life:4 opponent && draw:4 opponent
auto={B}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}:name(Sacrifice 5 creatures and target yourself) name(Sacrifice 5 creatures and target yourself) all(this) counter(1/1,5) && life:5 controller && draw:5 conroller
auto={B}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}:name(Sacrifice 5 creatures and target opponent) name(Sacrifice 5 creatures and target opponent) all(this) counter(1/1,5) && life:5 opponent && draw:5 opponent
auto={B}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}:name(Sacrifice 6 creatures and target yourself) name(Sacrifice 6 creatures and target yourself) all(this) counter(1/1,6) && life:6 controller && draw:6 conroller
auto={B}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}:name(Sacrifice 6 creatures and target opponent) name(Sacrifice 6 creatures and target opponent) all(this) counter(1/1,6) && life:6 opponent && draw:6 opponent
auto={B}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}:name(Sacrifice 7 creatures and target yourself) name(Sacrifice 7 creatures and target yourself) all(this) counter(1/1,7) && life:7 controller && draw:7 conroller
auto={B}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}:name(Sacrifice 7 creatures and target opponent) name(Sacrifice 7 creatures and target opponent) all(this) counter(1/1,7) && life:7 opponent && draw:7 opponent
auto={B}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}:name(Sacrifice 8 creatures and target yourself) name(Sacrifice 8 creatures and target yourself) all(this) counter(1/1,8) && life:8 controller && draw:8 conroller
auto={B}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}:name(Sacrifice 8 creatures and target opponent) name(Sacrifice 8 creatures and target opponent) all(this) counter(1/1,8) && life:8 opponent && draw:8 opponent
auto={B}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}:name(Sacrifice 9 creatures and target yourself) name(Sacrifice 9 creatures and target yourself) all(this) counter(1/1,9) && life:9 controller && draw:9 conroller
auto={B}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}:name(Sacrifice 9 creatures and target opponent) name(Sacrifice 9 creatures and target opponent) all(this) counter(1/1,9) && life:9 opponent && draw:9 opponent
auto={B}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}:name(Sacrifice 10 creatures and target yourself) name(Sacrifice 10 creatures and target yourself) all(this) counter(1/1,10) && life:10 controller && draw:10 conroller
auto={B}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}{S(creature|myBattlefield)}:name(Sacrifice 10 creatures and target opponent) name(Sacrifice 10 creatures and target opponent) all(this) counter(1/1,10) && life:10 opponent && draw:10 opponent
text=Partner with Regna, the Redeemer (When this creature enters the battlefield, target player may put Regna into their hand from their library, then shuffle.) -- {B}, Sacrifice X creatures: Target player draws X cards and gains X life. Put X +1/+1 counters on Krav, the Unredeemed.
mana={4}{B}
type=Legendary Creature
subtype=Demon Krav
power=3
toughness=3
[/card]
[card]
name=Krazy Kow
auto=@each my upkeep:all(this) rolladie 6 winability donothing winabilityend rollend
auto=@dierolled(this) result(1) from(controller):name(Sacrifice and damage) name(Sacrifice and damage) sacrifice all(this) && damage:3 opponent && damage:3 controller && damage:3 all(creature|battlefield)
text=During your upkeep, roll a six-sided die. On a 1, sacrifice Krazy Kow and it deals 3 damage to each creature and player.
mana={3}{R}
type=Summon
subtype=Cow
[/card]
[card]
name=Krenko, Tin Street Kingpin
auto=@combat(attacking) source(this):create(goblin:goblin creature:1/1:red)*power
auto=@combat(attacking) source(this):counter(1/1)
@@ -27098,6 +27366,15 @@ power=4
toughness=1
[/card]
[card]
name=Lobe Lobber
auto={2}:equip
auto=teach(creature) transforms((,newability[{T} restriction{type(planeswalker|battlefield)~morethan~0}:name(Damage planeswalker) name(Damage planeswalker) target(planeswalker) damage:1 && all(this) rolladie 5 winability untap winabilityend loseability if compare(lastrollresult)~equalto~6 then untap loseabilityend rollend],newability[{T}:name(Damage opponent) name(Damage opponent) damage:1 opponent && all(this) rolladie 5 winability untap winabilityend loseability if compare(lastrollresult)~equalto~6 then untap loseabilityend rollend],newability[{T}:name(Damage controller) name(Damage controller) damage:1 controller && all(this) rolladie 5 winability untap winabilityend loseability if compare(lastrollresult)~equalto~6 then untap loseabilityend rollend]))
text=Equipped creature has " {T}: This creature deals 1 damage to target player or planeswalker. Roll a six-sided die. On a 5 or higher, untap it." -- Equip {2}
mana={2}
type=Artifact
subtype=Equipment
[/card]
[card]
name=Loch Dragon
abilities=flying
auto=may ability$!name(discard) reject notatarget(*|myhand) and!(draw:1)! !$ controller
@@ -27650,6 +27927,19 @@ power=1
toughness=2
[/card]
[card]
name=Mad Science Fair Project
auto={T}:all(this) rolladie 6 winability counter(0/0,1,MadEffect) winabilityend loseability counter(0/0,1,MadEffect) loseabilityend rollend
auto=@dierolled(this) result(1) from(controller):this(counter{0/0.1.MadEffect}=1) ability$!name(Add colorless) name(Add colorless) add{C}!$ controller && counter(0/0,-1,MadEffect) all(this)
auto=@dierolled(this) result(2) from(controller):this(counter{0/0.1.MadEffect}=1) ability$!name(Add colorless) name(Add colorless) add{C}!$ controller && counter(0/0,-1,MadEffect) all(this)
auto=@dierolled(this) result(3) from(controller):this(counter{0/0.1.MadEffect}=1) ability$!name(Add colorless) name(Add colorless) add{C}!$ controller && counter(0/0,-1,MadEffect) all(this)
auto=@dierolled(this) result(4) from(controller):this(counter{0/0.1.MadEffect}=1) ability$!name(Add any color) choice name(Add White) add{W} _ choice name(Add Blue) add{U} _ choice name(Add Black) add{B} _ choice name(Add Red) add{R} _ choice name(Add Green) add{G}!$ controller && counter(0/0,-1,MadEffect) all(this)
auto=@dierolled(this) result(5) from(controller):this(counter{0/0.1.MadEffect}=1) ability$!name(Add any color) choice name(Add White) add{W} _ choice name(Add Blue) add{U} _ choice name(Add Black) add{B} _ choice name(Add Red) add{R} _ choice name(Add Green) add{G}!$ controller && counter(0/0,-1,MadEffect) all(this)
auto=@dierolled(this) result(6) from(controller):this(counter{0/0.1.MadEffect}=1) ability$!name(Add any color) choice name(Add White) add{W} _ choice name(Add Blue) add{U} _ choice name(Add Black) add{B} _ choice name(Add Red) add{R} _ choice name(Add Green) add{G}!$ controller && counter(0/0,-1,MadEffect) all(this)
text={T}: Roll a six-sided die. On a 3 or lower, target player adds {1} . Otherwise, that player adds one mana of any color they choose.
mana={3}
type=Artifact
[/card]
[card]
name=Maddening Cacophony
kicker={3}{U}
auto=if paid(kicker) then deplete:halfuptype:*:opponentLibrary opponent
@@ -29064,6 +29354,16 @@ mana={2}{B}
type=Sorcery
[/card]
[card]
name=Mindblade Render
auto=@combatdamagefoeof(player) from(*[warrior]|battlefield):draw:1 controller && life:-1 controller
text=Whenever your opponents are dealt combat damage, if any of that damage was dealt by a Warrior, you draw a card and you lose 1 life.
mana={1}{B}
type=Creature
subtype=Azra Warrior
power=1
toughness=3
[/card]
[card]
name=Mindleecher
abilities=flying,mutate
otherrestriction=type(creature[-human]|mybattlefield)~morethan~0
@@ -29709,6 +30009,16 @@ power=2
toughness=2
[/card]
[card]
name=Mother Kangaroo
auto=all(this) rolladie 6 winability counter(1/1,lastrollresult) winabilityend loseability counter(1/1,lastrollresult) loseabilityend rollend
text=When this creature enters the battlefield, roll a six-sided die. Put a number of +1/+1 counters on this creature equal to the result.
mana={4}{G}
type=Host Creature
subtype=Kangaroo
power=1
toughness=1
[/card]
[card]
name=Mounted Archers
abilities=reach
text=Reach (This creature can block creatures with flying.) -- {W}: Mounted Archers can block an additional creature this turn.
@@ -31486,6 +31796,16 @@ power=2
toughness=2
[/card]
[card]
name=Numbing Jellyfish
auto=all(this) rolladie 6 winability deplete:lastrollresult opponent winabilityend loseability deplete:lastrollresult opponent loseabilityend rollend
text=When this creature enters the battlefield, roll a six-sided die. Target player puts the top X cards of their library into their graveyard, where X is the result.
mana={3}{U}
type=Host Creature
subtype=Jellyfish
power=2
toughness=3
[/card]
[card]
name=Nurturing Peatland
auto={T}{L:1}:Add{G}
auto={T}{L:1}:Add{B}
@@ -32966,6 +33286,16 @@ mana={2}{B}
type=Sorcery
[/card]
[card]
name=Painiac
auto=@each my upkeep:all(this) rolladie 6 winability lastrollresult/0 ueot winabilityend loseability lastrollresult/0 ueot loseabilityend rollend
text=At the beginning of your upkeep, roll a six-sided die. Painiac gets +X/+0 until end of turn, where X is the result.
mana={2}{R}
type=Creature
subtype=Brainiac
power=0
toughness=3
[/card]
[card]
name=Painted Bluffs
auto={T}:Add{1}
auto={1}{T}:add{G}
@@ -33932,6 +34262,15 @@ power=1
toughness=3
[/card]
[card]
name=Pir's Whim
aicode=activate moveTo(myBattlefield) and!(tap(noevent))! target(land|myLibrary)
auto=name(Search land) reveal:plibrarycount optionone name(choose card) target(land|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield) and!(tap(noevent))!)! afterrevealedend revealend
auto=ability$!name(Sacrifice artifact or enchantment) name(Sacrifice artifact or enchantment) target(*[artifact;enchantment]|mybattlefield) sacrifice!$ opponent
text=For each player, choose friend or foe. Each friend searches their library for a land card, puts it onto the battlefield tapped, then shuffles their library. Each foe sacrifices an artifact or enchantment they control.
mana={3}{G}
type=Sorcery
[/card]
[card]
name=Pirate Pur
abilities=cantblock
auto=all(creature|mybattlefield) mustattack
@@ -34298,6 +34637,16 @@ mana={X}{B}
type=Sorcery
[/card]
[card]
name=Poultrygeist
abilities=flying
auto=this(counter{1/1.1}>0) transforms((Creature Summon Chicken,setpower=0,settoughness=0)) forever
auto=@movedto(creature|graveyard) from(battlefield):may name(Roll a die) name(Roll a die) all(this) rolladie 1 winability sacrifice winabilityend loseability counter(1/1) loseabilityend rollend
text=Flying -- Whenever a creature is put into any graveyard from play, you may roll a six-sided die. On a 1, sacrifice Poultrygeist. Otherwise, put a +1/+1 counter on Poultrygeist.
mana={2}{B}
type=Summon
subtype=Chicken
[/card]
[card]
name=Pounce
target=creature|myBattlefield
auto=transforms((,newability[target(creature) dynamicability<!powerstrike eachother!>])) ueot
@@ -36567,7 +36916,7 @@ auto=@each endofturn restriction{compare(lifegain)~morethan~0}:create(warrior:cr
text=Partner with Krav, the Unredeemed (When this creature enters the battlefield, target player may put Krav into their hand from their library, then shuffle.) -- Flying -- At the beginning of each end step, if your team gained life this turn, create two 1/1 white Warrior creature tokens.
mana={5}{W}
type=Legendary Creature
subtype=Angel
subtype=Angel Regna
power=4
toughness=4
[/card]
@@ -40346,6 +40695,13 @@ power=3
toughness=3
[/card]
[card]
name=Sentinel Tower
auto=@movedTo(*[instant;sorcery]|stack) restriction{myturnonly}:name(Damage any target) name(Damage any target) ability$!name(Choose one) choice name(Damage player) damage:type:*[sorcery;instant;fresh]:graveyardplus1plusend target(player) _ choice name(Damage creature) damage:type:*[sorcery;instant;fresh]:graveyardplus1plusend target(creature) _ choice name(Damage planeswalker) damage:type:*[sorcery;instant;fresh]:graveyardplus1plusend target(planeswalker)!$ controller
text=Whenever an instant or sorcery spell is cast during your turn, Sentinel Tower deals damage to any target equal to 1 plus the number of instant and sorcery spells cast before that spell this turn.
mana={4}
type=Artifact
[/card]
[card]
name=Sentinel's Eyes
target=creature
auto=vigilance
@@ -42734,6 +43090,17 @@ power=0
toughness=0
[/card]
[card]
name=Sly Spy (f)
auto=@combatdamagefoeof(player) from(this):all(this) rolladie 6 winability life:-lastrollresult opponent winabilityend loseability life:-lastrollresult opponent loseabilityend rollend
auto=@combatdamageof(player) from(this):all(this) rolladie 6 winability life:-lastrollresult controller winabilityend loseability life:-lastrollresult controller loseabilityend rollend
text=Whenever Sly Spy deals combat damage to a player, roll a six-sided die. That player loses life equal to the result.
mana={2}{B}
type=Creature
subtype=Human Spy
power=2
toughness=2
[/card]
[card]
name=Smelt-Ward Ignus
auto={2}{R}{S}:auto=target(creature[power<=3]|battlefield) transforms((,newability[moveTo(opponentbattlefield)],newability[phaseaction[endofturn sourceinplay] moveTo(ownerbattlefield)],newability[untap],haste)) ueot asSorcery
text={2}{R}, Sacrifice Smelt-Ward Ignus: Gain control of target creature with power 3 or less until end of turn. Untap that creature. It gains haste until end of turn. Activate this ability only any time you could cast a sorcery.
@@ -44897,8 +45264,8 @@ toughness=4
[card]
name=Steel Squirrel
auto={6}:all(this) rolladie 6 winability donothing winabilityend loseability donothing loseabilityend rollend
auto=@dierolled(creature|battlefield) result(5):name(Get 5/5) name(Get 5/5) 5/5 ueot
auto=@dierolled(creature|battlefield) result(6):name(Get 6/6) name(Get 6/6) 6/6 ueot
auto=@dierolled(*|battlefield) result(5) from(controller):name(Get 5/5) name(Get 5/5) 5/5 ueot
auto=@dierolled(*|battlefield) result(6) from(controller):name(Get 6/6) name(Get 6/6) 6/6 ueot
text=Whenever you roll a 5 or higher on a die, Steel Squirrel gets +X/+X until end of turn, where X is the result. -- {6}: Roll a six-sided die.
mana={2}
type=Artifact Creature
@@ -45082,6 +45449,15 @@ mana={X}{U}{U}
type=Sorcery
[/card]
[card]
name=Stolen Strategy
auto=@each my upkeep:all(*[zpos=1]|opponentlibrary) moveto(exile) and!( transforms((,newability[counter(0/0.1.StolenExiled)])) forever )!
auto={0}:name(Cast instants exiled with Stolen Strategy) name(Cast instants exiled with Stolen Strategy) target(<anyamount>instant[fresh;counter{0/0.1.StolenExiled}]|opponentexile) activate castcard(normal)
auto={0}:name(Cast sorceries exiled with Stolen Strategy) name(Cast sorceries exiled with Stolen Strategy) target(<anyamount>sorcery[fresh;counter{0/0.1.StolenExiled}]|opponentexile) activate castcard(normal)
text=At the beginning of your upkeep, exile the top card of each opponent's library. Until end of turn, you may cast spells from among those exiled cards, and you may spend mana as though it were mana of any color to cast those spells.
mana={4}{R}
type=Enchantment
[/card]
[card]
name=Stone Haven Pilgrim
auto=@combat(attacking) source(this) restriction{type(*[artifact;enchantment]|myBattlefield)~morethan~0}:1/1 ueot && lifelink ueot
text=Whenever Stone Haven Pilgrim attacks, if you control an artifact or enchantment, Stone Haven Pilgrim gets +1/+1 and gains lifelink until end of turn.
@@ -45116,7 +45492,7 @@ toughness=2
[card]
name=Stonework Packbeast
auto=becomes(Cleric Rogue Warrior Wizard)
auto={2}:ability$! name(Add any color) choice name(Add White) add{W} _ choice name(Add Blue) add{B} _ choice name(Add Black) add{B} _ choice name(Add Red) add{R} _ choice name(Add Green) add{G}!$ controller
auto={2}:ability$! name(Add any color) choice name(Add White) add{W} _ choice name(Add Blue) add{U} _ choice name(Add Black) add{B} _ choice name(Add Red) add{R} _ choice name(Add Green) add{G}!$ controller
text=Stonework Packbeast is also a Cleric, Rogue, Warrior, and Wizard. -- {2}: Add one mana of any color.
mana={2}
type=Artifact Creature
@@ -47510,6 +47886,16 @@ type=Enchantment
subtype=Saga
[/card]
[card]
name=The Big Idea
auto={2}{BR}{BR}{T}:all(this) rolladie 6 winability token(Brainiac,Creature Brainiac,1/1,red)*lastrollresult winabilityend loseability token(Brainiac,Creature Brainiac,1/1,red)*lastrollresult loseabilityend rollend
text={2}{BR}{BR}, {T}: Roll a six-sided die. Create a number of 1/1 red Brainiac creature tokens equal to the result. -- Tap three untapped Brainiacs you control: The next time you would roll a six-sided die, instead roll two six-sided dice and use the total of those results.
mana={4}{R}{R}
type=Legendary Creature
subtype=Brainiac Villain
power=4
toughness=4
[/card]
[card]
name=The Binding of the Titans
auto=counter(0/0,1,Lore)
auto=@each my firstmain:counter(0/0,1,Lore)
@@ -48604,6 +48990,13 @@ text={T}: Add {G}.
type=Land
[/card]
[card]
name=Time Out
auto=target(*[-land]|battlefield) rolladie 6 winability moveto(ownerlibrary) and!(shuffle)! winabilityend loseability moveto(ownerlibrary) and!(shuffle)! loseabilityend rollend
text=Roll a six-sided die. Put target nonland permanent into its owner's library just beneath the top X cards of that library, where X is the result.
mana={4}{U}
type=Instant
[/card]
[card]
name=Time Vault
abilities=doesnotuntap
auto=tap(noevent)
@@ -50794,6 +51187,21 @@ mana={4}{W}
type=Legendary Sorcery
[/card]
[card]
name=Urza's Science Fair Project
auto={2}:all(this) rolladie 6 winability counter(0/0,1,UrzaEffect) winabilityend loseability counter(0/0,1,UrzaEffect) loseabilityend rollend
auto=@dierolled(this) result(1) from(controller):this(counter{0/0.1.UrzaEffect}=1) name(Gets -2/-2) name(Gets -2/-2) all(this) transforms((,newability[-2/-2],newability[counter(0/0.-1.UrzaEffect)])) ueot
auto=@dierolled(this) result(2) from(controller):this(counter{0/0.1.UrzaEffect}=1) name(It deals no combat damage) name(It deals no combat damage) all(this) transforms((,newability[preventAllCombatDamage from(this)],newability[counter(0/0.-1.UrzaEffect)])) ueot
auto=@dierolled(this) result(3) from(controller):this(counter{0/0.1.UrzaEffect}=1) name(Gains vigilance) name(Gains vigilance) all(this) transforms((,newability[vigilance],newability[counter(0/0.-1.UrzaEffect)])) ueot
auto=@dierolled(this) result(4) from(controller):this(counter{0/0.1.UrzaEffect}=1) name(Gains first strike) name(Gains first strike) all(this) transforms((,newability[first strike],newability[counter(0/0.-1.UrzaEffect)])) ueot
auto=@dierolled(this) result(5) from(controller):this(counter{0/0.1.UrzaEffect}=1) name(Gains flying) name(Gains flying) all(this) transforms((,newability[flying],newability[counter(0/0.-1.UrzaEffect)])) ueot
auto=@dierolled(this) result(6) from(controller):this(counter{0/0.1.UrzaEffect}=1) name(Gets 2/2) name(Gets 2/2) all(this) transforms((,newability[2/2],newability[counter(0/0.-1.UrzaEffect)])) ueot
text={2}: Roll a six-sided die for Urza's Science Fair Project. -- 1 It gets -2/-2 until end of turn. -- 2 It deals no combat damage this turn. -- 3 Attacking does not cause it to tap this turn. -- 4 It gains first strike until end of turn. -- 5 It gains flying until end of turn. -- 6 It gets +2/+2 until end of turn.
mana={6}
type=Artifact Creature
power=4
toughness=4
[/card]
[card]
name=Urza's Tome
auto={3}{T}:draw:1 && transforms((,newability[target(*|myhand) reject])) forever
auto={3}{T} restriction{type(*[artifact;legendary;saga]|mygraveyard)~morethan~0}:draw:1 && exile notatarget(*[artifact;legendary;saga]|mygraveyard)
@@ -51831,6 +52239,14 @@ mana={3}{R}
type=Sorcery
[/card]
[card]
name=Virtus's Maneuver
auto=ability$!name(Return to hand) name(Return to hand) target(creature|mygraveyard) moveto(ownerhand)!$ opponent
auto=ability$!name(Sacrifice creature) name(Sacrifice creature) target(creature|mybattlefield) sacrifice!$ opponent
text=For each player, choose friend or foe. Each friend returns a creature card from their graveyard to their hand. Each foe sacrifices a creature they control.
mana={2}{B}
type=Sorcery
[/card]
[card]
name=Virtus the Veiled
abilities=deathtouch,partner
auto=may moveto(myhand) notatarget(gorm the great|mylibrary)
@@ -53308,9 +53724,9 @@ type=Instant
name=Willing Test Subject
abilities=reach
auto={6}:all(this) rolladie 6 winability donothing winabilityend loseability donothing loseabilityend rollend
auto=@dierolled(creature|battlefield) result(4):name(Get 1/1 counter) name(Get 1/1 counter) counter(1/1) all(this)
auto=@dierolled(creature|battlefield) result(5):name(Get 1/1 counter) name(Get 1/1 counter) counter(1/1) all(this)
auto=@dierolled(creature|battlefield) result(6):name(Get 1/1 counter) name(Get 1/1 counter) counter(1/1) all(this)
auto=@dierolled(*|battlefield) result(4) from(controller):name(Get 1/1 counter) name(Get 1/1 counter) counter(1/1) all(this)
auto=@dierolled(*|battlefield) result(5) from(controller):name(Get 1/1 counter) name(Get 1/1 counter) counter(1/1) all(this)
auto=@dierolled(*|battlefield) result(6) from(controller):name(Get 1/1 counter) name(Get 1/1 counter) counter(1/1) all(this)
text=Reach -- Whenever you roll a 4 or higher on a die, put a +1/+1 counter on Willing Test Subject. -- {6}: Roll a six-sided die.
mana={2}{G}
type=Creature
@@ -54311,6 +54727,14 @@ power=2
toughness=2
[/card]
[card]
name=Zndrsplt's Judgment
auto=ability$!name(Create a token copy) name(Create a token copy) target(creature|mybattlefield) clone!$ controller
auto=ability$!name(Return to hand) name(Return to hand) target(creature|mybattlefield) moveto(ownerhand)!$ opponent
text=For each player, choose friend or foe. Each friend creates a token that's a copy of a creature they control. Each foe returns a creature they control to its owner's hand.
mana={4}{U}
type=Sorcery
[/card]
[card]
name=Zof Bloodbog
auto=tap(noevent)
auto={T}:add{B}

View File

@@ -133,15 +133,6 @@ power=2
toughness=1
[/card]
[card]
name=Adorable Kitten
text=When this creature enters the battlefield, roll a six-sided die. You gain life equal to the result.
mana={W}
type=Host Creature
subtype=Cat
power=1
toughness=1
[/card]
[card]
name=Adriana's Valor
text=Hidden agenda (Start the game with this conspiracy face down in the command zone and secretly name a card. You may turn this conspiracy face up any time and reveal the chosen name.) -- Whenever a creature you control with the chosen name attacks, you may pay {W}. If you do, that creature gains indestructible until end of turn. (Damage and effects that say "destroy" don't destroy it.)
type=Conspiracy
@@ -1081,15 +1072,6 @@ mana={G}{W}
type=Sorcery
[/card]
[card]
name=Big Boa Constrictor
text=When this creature enters the battlefield, roll a six-sided die. Target opponent loses life equal to the result.
mana={3}{B}
type=Host Creature
subtype=Snake
power=1
toughness=2
[/card]
[card]
name=Bind
text=Counter target activated ability. (Mana abilities can't be targeted.) -- Draw a card.
mana={1}{G}
@@ -1328,6 +1310,12 @@ mana={X}{X}{R}
type=Sorcery
[/card]
[card]
name=Bonus Round
text=Until end of turn, whenever a player casts an instant or sorcery spell, that player copies it and may choose new targets for the copy.
mana={1}{R}{R}
type=Sorcery
[/card]
[card]
name=Booby Trap
text=As Booby Trap enters the battlefield, name a card other than a basic land card and choose an opponent. -- The chosen player reveals each card he or she draws. -- When the chosen player draws the named card, sacrifice Booby Trap. If you do, Booby Trap deals 10 damage to that player.
mana={6}
@@ -1430,12 +1418,6 @@ mana={3}{G}{G}
type=Instant
[/card]
[card]
name=Box of Free-Range Goblins
text=Roll a six-sided die. Create a number of 1/1 red Goblin creature tokens equal to the result.
mana={4}{R}{R}
type=Sorcery
[/card]
[card]
name=Brago's Favor
text=Hidden agenda (Start the game with this conspiracy face down in the command zone and secretly name a card. You may turn this conspiracy face up any time and reveal the chosen name.) -- Spells with the chosen name you cast cost {1} less to cast.
type=Conspiracy
@@ -1993,6 +1975,15 @@ mana={2}{R}{R}
type=Enchantment
[/card]
[card]
name=Chancellor of the Annex
text=You may reveal this card from your opening hand. If you do, when each opponent casts his or her first spell of the game, counter that spell unless that player pays {1}. -- Flying -- Whenever an opponent casts a spell, counter it unless that player pays {1}.
mana={4}{W}{W}{W}
type=Creature
subtype=Angel
power=5
toughness=6
[/card]
[card]
name=Chancellor of the Dross
text=You may reveal this card from your opening hand. If you do, at the beginning of the first upkeep, each opponent loses 3 life, then you gain life equal to the life lost this way. -- Flying, lifelink
mana={4}{B}{B}{B}
@@ -2020,15 +2011,6 @@ power=5
toughness=7
[/card]
[card]
name=Chancellor of the Tangle
text=You may reveal this card from your opening hand. If you do, at the beginning of your first main phase, add {G} to your mana pool. -- Vigilance, reach
mana={4}{G}{G}{G}
type=Creature
subtype=Beast
power=6
toughness=7
[/card]
[card]
name=Chandra's Incinerator
text=This spell costs {X} less to cast, where X is the total amount of noncombat damage dealt to your opponents this turn. -- Trample -- Whenever a source you control deals noncombat damage to an opponent, Chandra's Incinerator deals that much damage to target creature or planeswalker that player controls.
mana={5}{R}
@@ -2126,29 +2108,6 @@ mana={2}{U}
type=Enchantment
[/card]
[card]
name=Chicken Egg
text=During your upkeep, roll a six-sided die. On a 6, sacrifice Chicken Egg and put a Giant Chicken token into play. Treat this token as a 4/4 red creature that counts as a Chicken.
mana={1}{R}
type=Summon
subtype=Egg
[/card]
[card]
name=Chicken a la King
text=Whenever a 6 is rolled on a six-sided die, put a +1/+1 counter on each Chicken in play. (You may roll dice only when a card instructs you to.) -- Tap a Chicken you control: Roll a six-sided die.
mana={1}{U}{U}
type=Summon
subtype=Chicken
[/card]
[card]
name=Chicken à la King
text=Whenever a 6 is rolled on a six-sided die, put a +1/+1 counter on each Bird. (You may roll dice only when instructed to.) -- Tap an untapped Bird you control: Roll a six-sided die. (Like now.)
mana={1}{U}{U}
type=Creature
subtype=Bird
power=2
toughness=2
[/card]
[card]
name=Chipper Chopper
text=Flying -- When Chipper Chopper enters the battlefield, you may sacrifice another artifact. If you do, put two +1/+1 counters on Chipper Chopper and it assembles a Contraption. (Put the top card of your Contraption deck face up onto one of your sprockets.)
mana={3}{U}
@@ -3685,13 +3644,6 @@ power=*
toughness=*
[/card]
[card]
name=Elvish Impersonators
text=When you play Elvish Impersonators, roll two six-sided dice one after the other. Elvish Impersonators comes into play with power equal to the first die roll and toughness equal to the second.
mana={3}{G}
type=Summon
subtype=Elves
[/card]
[card]
name=Emblazoned Golem
text=Kicker {X} (You may pay an additional {X} as you cast this spell.) -- Spend only colored mana on X. No more than one mana of each color may be spent this way. -- If Emblazoned Golem was kicked, it enters the battlefield with X +1/+1 counters on it.
mana={2}
@@ -4632,6 +4584,12 @@ mana={2}{W}
type=Instant
[/card]
[card]
name=Fumble
text=Return target creature to its owner's hand. Gain control of all Auras and Equipment that were attached to it, then attach them to another creature.
mana={1}{U}
type=Instant
[/card]
[card]
name=Fungal Behemoth
text=Fungal Behemoth's power and toughness are each equal to the number of +1/+1 counters on creatures you control. -- Suspend X—{X}{G}{G}. X can't be 0. (Rather than cast this card from your hand, you may pay {X}{G}{G} and exile it with X time counters on it. At the beginning of your upkeep, remove a time counter. When the last is removed, cast it without paying its mana cost. It has haste.) -- Whenever a time counter is removed from Fungal Behemoth while it's exiled, you may put a +1/+1 counter on target creature.
mana={3}{G}
@@ -4716,25 +4674,9 @@ power=3
toughness=1
[/card]
[card]
name=Garbage Elemental (c)
text=Battle cry (Whenever this creature attacks, each other attacking creature gets +1/+0 until end of turn.) -- When Garbage Elemental enters the battlefield, roll two six-sided dice. Create a number of 1/1 red Goblin creature tokens equal to the difference between those results.
mana={4}{R}
type=Creature
subtype=Elemental
power=3
toughness=2
[/card]
[card]
name=Garbage Elemental (d)
text=Cascade (When you cast this spell, exile cards from the top of your library until you exile a nonland card that costs less. You may cast it without paying its mana cost. Put the exiled cards on the bottom of your library in a random order.) -- When Garbage Elemental enters the battlefield, roll a six-sided die. Garbage Elemental deals damage equal to the result to target opponent or planeswalker.
mana={4}{R}
type=Creature
subtype=Elemental
power=3
toughness=3
[/card]
[card]
name=Garbage Elemental (e)
auto=may counter(1/1) all(this)
auto=this(counter{1/1.1}>0) cantblock
text=Unleash (You may have this creature enter the battlefield with a +1/+1 counter on it. It can't block as long as it has a +1/+1 counter on it.) -- Each creature you control with any kind of counter on it has art menace. (They can't be blocked except by creatures with two or more visible figures in their art.)
mana={4}{R}
type=Creature
@@ -5165,13 +5107,6 @@ type=Summon
subtype=Goblin
[/card]
[card]
name=Goblin Bowling Team
text=Whenever Goblin Bowling Team damages any creature or player, roll a six-sided die. Goblin Bowling Team deals to that creature or player additional damage equal to the die roll.
mana={3}{R}
type=Summon
subtype=Goblins
[/card]
[card]
name=Goblin Charbelcher
text={3}, {T}: Reveal cards from the top of your library until you reveal a land card. Goblin Charbelcher deals damage equal to the number of nonland cards revealed this way to target creature or player. If the revealed land card was a Mountain, Goblin Charbelcher deals double that damage instead. Put the revealed cards on the bottom of your library in any order.
mana={4}
@@ -5263,37 +5198,12 @@ power=1
toughness=1
[/card]
[card]
name=Goblin Test Pilot
abilities=flying
text=Flying -- {T}: Goblin Test Pilot deals 2 damage to target creature or player chosen at random.
mana={1}{U}{R}
type=Creature
subtype=Goblin Wizard
power=0
toughness=2
[/card]
[card]
name=Goblin Tutor
text=Roll a six-sided die for Goblin Tutor. On a 1, Goblin Tutor has no effect. Otherwise, search your library for the indicated card, reveal that card to all players, and put it into your hand. Shuffle your library afterwards. -- 2 Any Goblin Tutor -- 3 Any enchantment -- 4 Any artifact -- 5 Any creature -- 6 Any sorcery, instant, or interrupt
mana={R}
type=Instant
[/card]
[card]
name=Goblin War Cry
text=Target opponent chooses a creature he or she controls. Other creatures he or she controls can't block this turn.
mana={2}{R}
type=Sorcery
[/card]
[card]
name=Godo's Irregulars
text={R}: Godo's Irregulars deals 1 damage to target creature blocking it.
mana={R}
type=Creature
subtype=Human Warrior
power=1
toughness=1
[/card]
[card]
name=Godsend
text=Equipped creature gets +3/+3. -- Whenever equipped creature blocks or becomes blocked by one or more creatures, you may exile one of those creatures. -- Opponents can't cast cards with the same name as cards exiled with Godsend. -- Equip {3}
mana={1}{W}{W}
@@ -5491,18 +5401,21 @@ mana={4}{R}{R}
type=Enchantment
[/card]
[card]
name=Grothama, All-Devouring
text=Other creatures have "Whenever this creature attacks, you may have it fight Grothama, All-Devouring." -- When Grothama leaves the battlefield, each player draws cards equal to the amount of damage dealt to Grothama this turn by sources they controlled.
mana={3}{G}{G}
type=Legendary Creature
subtype=Wurm
power=10
toughness=8
[/card]
[card]
name=Grove of the Dreampods
text=When you planeswalk to Grove of the Dreampods or at the beginning of your upkeep, reveal cards from the top of your library until you reveal a creature card. Put that card onto the battlefield and the rest on the bottom of your library in a random order. -- Whenever you roll {K}, return target creature card from your graveyard to the battlefield.
type=Plane
subtype=Fabacin
[/card]
[card]
name=Growth Spurt
text=Roll a six-sided die. Target creature gets +X/+X until end of turn, where X is equal to the die roll.
mana={1}{G}
type=Instant
[/card]
[card]
name=Grudge Keeper
text=Whenever players finish voting, each opponent who voted for a choice you didn't vote for loses 2 life.
mana={1}{B}
@@ -5687,12 +5600,6 @@ text=Cumulative upkeep {1} (At the beginning of your upkeep, put an age counter
type=Land
[/card]
[card]
name=Hammer Helper
text=Gain control of target creature until end of turn. Untap that creature and roll a six-sided die. Until end of turn, it gains haste and gets +X/+0, where X is the result.
mana={3}{R}
type=Sorcery
[/card]
[card]
name=Hammerfest Boomtacular
text=Whenever you cast a spell with a Goblin Explosioneers watermark, Hammerfest Boomtacular deals 2 damage to any target.
mana={3}{R}{R}
@@ -6137,15 +6044,6 @@ power=2
toughness=1
[/card]
[card]
name=Hydradoodle
text=As Hydradoodle enters the battlefield, roll X six-sided dice. Hydradoodle enters the battlefield with a number of +1/+1 counters on it equal to the total of those results. -- Reach, trample
mana={X}{X}{G}{G}
type=Creature
subtype=Hydra Hound
power=0
toughness=0
[/card]
[card]
name=Hymn of the Wilds
text=(Start the game with this conspiracy face up in the command zone.) -- The first creature spell you cast each turn costs {1} less to cast. -- You can't cast instant or sorcery spells.
type=Conspiracy
@@ -6538,15 +6436,6 @@ type=Artifact
subtype=Contraption
[/card]
[card]
name=Inhumaniac
text=At the beginning of your upkeep, roll a six-sided die. On a 3 or 4, put a +1/+1 counter on Inhumaniac. On a 5 or higher, put two +1/+1 counters on it. On a 1, remove all +1/+1 counters from Inhumaniac.
mana={1}{B}
type=Creature
subtype=Brainiac
power=1
toughness=1
[/card]
[card]
name=Ink-Treader Nephilim
text=Whenever a player casts an instant or sorcery spell, if Ink-Treader Nephilim is the only target of that spell, copy the spell for each other creature that spell could target. Each copy targets a different one of those creatures.
mana={R}{G}{W}{U}
@@ -6716,12 +6605,6 @@ mana={3}{W}{W}
type=Instant
[/card]
[card]
name=Jack-in-the-Mox
text={T}: Roll a six-sided die for Jack-in-the-Mox. On a 1, sacrifice Jack-in-the-Mox and lose 5 life. Otherwise, Jack-in-the-Mox has one of the following effects. Treat this ability as a mana source. -- 2 Add {W} to your mana pool. -- 3 Add {U} to your mana pool. -- 4 Add {B} to your mana pool. -- 5 Add {R} to your mana pool. -- 6 Add {G} to your mana pool.
mana={0}
type=Artifact
[/card]
[card]
name=Jackknight
text=Whenever another artifact enters the battlefield under your control, put a +1/+1 counter on Jackknight. If that artifact is a Contraption, Jackknight gains lifelink until end of turn.
mana={1}{W}
@@ -6857,13 +6740,6 @@ power=3
toughness=3
[/card]
[card]
name=Jumbo Imp
text=Flying -- When you play Jumbo Imp, roll a six-sided die. Jumbo Imp comes into play with a number of +1/+1 counters on it equal to the die roll. -- During your upkeep, roll a six-sided die and put on Jumbo Imp a number of +1/+1 counters equal to the die roll. -- At the end of your turn, roll a six-sided die and remove from Jumbo Imp a number of +1/+1 counters equal to the die roll.
mana={2}{B}
type=Summon
subtype=Imp
[/card]
[card]
name=Just Desserts
text=Just Desserts deals p damage to target creature. (p is the ratio of a circle's circumference to its diameter. (It's a smidgen more than 3.) )
mana={1}{R}
@@ -7323,13 +7199,6 @@ mana={2}
type=Legendary Artifact
[/card]
[card]
name=Krazy Kow
text=During your upkeep, roll a six-sided die. On a 1, sacrifice Krazy Kow and it deals 3 damage to each creature and player.
mana={3}{R}
type=Summon
subtype=Cow
[/card]
[card]
name=Kresh the Bloodbraided
text=Whenever another creature dies, you may put X +1/+1 counters on Kresh the Bloodbraided, where X is that creature's power.
mana={2}{B}{R}{G}
@@ -7742,13 +7611,6 @@ power=*
toughness=*
[/card]
[card]
name=Lobe Lobber
text=Equipped creature has " {T}: This creature deals 1 damage to target player or planeswalker. Roll a six-sided die. On a 5 or higher, untap it." -- Equip {2}
mana={2}
type=Artifact
subtype=Equipment
[/card]
[card]
name=Locket of Yesterdays
text=Spells you cast cost {1} less to cast for each card with the same name as that spell in your graveyard.
mana={1}
@@ -7853,12 +7715,6 @@ power=3
toughness=2
[/card]
[card]
name=Mad Science Fair Project
text={T}: Roll a six-sided die. On a 3 or lower, -- target player adds {1} . Otherwise, that player adds one mana of any color they choose.
mana={3}
type=Artifact
[/card]
[card]
name=Maddening Imp
abilities=flying
text=Flying -- {T}: Non-Wall creatures the active player controls attack this turn if able. At the beginning of the next end step, destroy each of those creatures that didn't attack this turn. Activate this ability only during an opponent's turn and only before combat.
@@ -8688,15 +8544,6 @@ text=Hideaway (This land enters the battlefield tapped. When it does, look at th
type=Land
[/card]
[card]
name=Mother Kangaroo
text=When this creature enters the battlefield, roll a six-sided die. Put a number of +1/+1 counters on this creature equal to the result.
mana={4}{G}
type=Host Creature
subtype=Kangaroo
power=1
toughness=1
[/card]
[card]
name=Mother of Goons
text=Whenever a creature an opponent controls is put into a graveyard from play, sacrifice Mother of Goons unless you insult that creature.
mana={2}{B}
@@ -9219,15 +9066,6 @@ mana={2}{U}
type=Instant
[/card]
[card]
name=Numbing Jellyfish
text=When this creature enters the battlefield, roll a six-sided die. Target player puts the top X cards of their library into their graveyard, where X is the result.
mana={3}{U}
type=Host Creature
subtype=Jellyfish
power=2
toughness=3
[/card]
[card]
name=Nurturing Licid
text={G}, {T}: Nurturing Licid loses this ability and becomes an Aura enchantment with enchant creature. Attach it to target creature. You may pay {G} to end this effect. -- {G}: Regenerate enchanted creature.
mana={1}{G}
@@ -9341,6 +9179,15 @@ power=4
toughness=4
[/card]
[card]
name=Okaun, Eye of Chaos
text=Partner with Zndrsplt, Eye of Wisdom (When this creature enters the battlefield, target player may put Zndrsplt into their hand from their library, then shuffle.) -- At the beginning of combat on your turn, flip a coin until you lose a flip. -- Whenever a player wins a coin flip, double Okaun's power and toughness until end of turn.
mana={4}{R}
type=Legendary Creature
subtype=Cyclops Berserker
power=3
toughness=3
[/card]
[card]
name=Okk
text=Okk can't attack unless a creature with greater power also attacks. -- Okk can't block unless a creature with greater power also blocks.
mana={1}{R}
@@ -9623,15 +9470,6 @@ mana={2}{B}
type=Sorcery
[/card]
[card]
name=Painiac
text=At the beginning of your upkeep, roll a six-sided die. Painiac gets +X/+0 until end of turn, where X is the result.
mana={2}{R}
type=Creature
subtype=Brainiac
power=0
toughness=3
[/card]
[card]
name=Paliano Vanguard
text=Draft Paliano Vanguard face up. -- As you draft a creature card, you may reveal it, note its creature types, then turn Paliano Vanguard face down. -- Other creatures you control of a type you noted for cards named Paliano Vanguard get +1/+1.
mana={1}{W}
@@ -9933,6 +9771,16 @@ power=2
toughness=2
[/card]
[card]
name=Pir, Imaginative Rascal
auto=may name(Put partner on your hand) name(Put partner on your hand) moveto(myhand) target(Toothy, Imaginary Friend|mylibrary)
text=Partner with Toothy, Imaginary Friend (When this creature enters the battlefield, target player may put Toothy into their hand from their library, then shuffle.) -- If one or more counters would be put on a permanent your team controls, that many plus one of each of those kinds of counters are put on that permanent instead.
mana={2}{G}
type=Legendary Creature
subtype=Human
power=1
toughness=1
[/card]
[card]
name=Piracy
text=Until end of turn, you may tap lands you don't control for mana. Spend this mana only to cast spells.
mana={U}{U}
@@ -10077,13 +9925,6 @@ mana={3}{R}{R}
type=Enchantment
[/card]
[card]
name=Poultrygeist
text=Flying -- Whenever a creature is put into any graveyard from play, you may roll a six-sided die. On a 1, sacrifice Poultrygeist. Otherwise, put a +1/+1 counter on Poultrygeist.
mana={2}{B}
type=Summon
subtype=Chicken
[/card]
[card]
name=Power Artifact
text=Enchant artifact -- Enchanted artifact's activated abilities cost {2} less to activate. This effect can't reduce the amount of mana an ability costs to activate to less than one mana.
mana={U}{U}
@@ -12092,15 +11933,6 @@ power=2
toughness=2
[/card]
[card]
name=Sly Spy (f)
text=Whenever Sly Spy deals combat damage to a player, roll a six-sided die. That player loses life equal to the result.
mana={2}{B}
type=Creature
subtype=Human Spy
power=2
toughness=2
[/card]
[card]
name=Smart Ass
text=Whenever Smart Ass attacks, name a card. Defending player may reveal his or her hand and show you that the named card isn't there. If that player doesn't, Smart Ass is unblockable this turn.
mana={2}{U}
@@ -12908,6 +12740,12 @@ power=2
toughness=2
[/card]
[card]
name=Stunning Reversal
text=The next time you would lose the game this turn, instead draw seven cards and your life total becomes 1. -- Exile Stunning Reversal.
mana={3}{B}
type=Instant
[/card]
[card]
name=Subcontract
text=A person outside the game looks at target opponent's hand and chooses a nonland card from it. That player discards that card.
mana={B}
@@ -13321,15 +13159,6 @@ type=Plane
subtype=Iquatana
[/card]
[card]
name=The Big Idea
text={2}{B} or {R}{B} or {R}, {T}: Roll a six-sided die. Create a number of 1/1 red Brainiac creature tokens equal to the result. -- Tap three untapped Brainiacs you control: The next time you would roll a six-sided die, instead roll two six-sided dice and use the total of those results.
mana={4}{R}{R}
type=Legendary Creature
subtype=Brainiac Villain
power=4
toughness=4
[/card]
[card]
name=The Chain Veil
text=At the beginning of your end step, if you didn't activate a loyalty ability of a planeswalker this turn, you lose 2 life. -- {4}, {T}: For each planeswalker you control, you may activate one of its loyalty abilities once this turn as though none of its loyalty abilities have been activated this turn.
mana={4}
@@ -13670,12 +13499,6 @@ mana={5}
type=Artifact
[/card]
[card]
name=Time Out
text=Roll a six-sided die. Put target nonland permanent into its owner's library just beneath the top X cards of that library, where X is the result.
mana={4}{U}
type=Instant
[/card]
[card]
name=Time Stop
text=End the turn. (Exile all spells and abilities on the stack, including this card. The player whose turn it is discards down to his or her maximum hand size. Damage wears off, and "this turn" and "until end of turn" effects end.)
mana={4}{U}{U}
@@ -14080,14 +13903,6 @@ mana={2}
type=Artifact
[/card]
[card]
name=Urza's Science Fair Project
text={2}: Roll a six-sided die for Urza's Science Fair Project. -- 1 It gets -2/-2 until end of turn. -- 2 It deals no combat damage this turn. -- 3 Attacking does not cause it to tap this turn. -- 4 It gains first strike until end of turn. -- 5 It gains flying until end of turn. -- 6 It gets +2/+2 until end of turn.
mana={6}
type=Artifact Creature
power=4
toughness=4
[/card]
[card]
name=Urza, Academy Headmaster
text=+1: Head to AskUrza.com and click +1. -- -1: Head to AskUrza.com and click -1. -- -6: Head to AskUrza.com and click -6.
mana={W}{U}{B}{R}{G}
@@ -15145,6 +14960,15 @@ power=3
toughness=3
[/card]
[card]
name=Zndrsplt, Eye of Wisdom
text=Partner with Okaun, Eye of Chaos (When this creature enters the battlefield, target player may put Okaun into their hand from their library, then shuffle.) -- At the beginning of combat on your turn, flip a coin until you lose a flip. -- Whenever a player wins a coin flip, draw a card.
mana={4}{U}
type=Legendary Creature
subtype=Homunculus
power=1
toughness=4
[/card]
[card]
name=Zombie Fanboy
text=As Zombie Fanboy comes into play, choose an artist. -- Whenever a permanent by the chosen artist is put into a graveyard, put two +1/+1 counters on Zombie Fanboy.
mana={2}{B}

View File

@@ -733,6 +733,10 @@ private:
{
intValue = (s == "lastrollresult")?target->lastRollResult:target->dieSide;
}
else if(s == "lastflipresult" || s == "lastflipchoice")
{
intValue = (s == "lastflipresult")?target->lastFlipResult:target->coinSide;
}
else if (s == "pdrewcount" || s == "odrewcount")
{
intValue = (s == "pdrewcount")?target->controller()->drawCounter:target->controller()->opponent()->drawCounter;
@@ -1768,8 +1772,9 @@ public:
bool limitOnceATurn;
int triggeredTurn;
int rollresult;
TrCardRolledDie(GameObserver* observer, int id, MTGCardInstance * source, TargetChooser * tc, bool once = false, bool limitOnceATurn = false, int rollresult = 0) :
Trigger(observer, id, source,once, tc),limitOnceATurn(limitOnceATurn), rollresult(rollresult)
string playerName;
TrCardRolledDie(GameObserver* observer, int id, MTGCardInstance * source, TargetChooser * tc, bool once = false, bool limitOnceATurn = false, int rollresult = 0, string playerName = "") :
Trigger(observer, id, source,once, tc),limitOnceATurn(limitOnceATurn), rollresult(rollresult), playerName(playerName)
{
}
@@ -1781,6 +1786,8 @@ public:
return 0;
if (rollresult > 0 && rollresult != e->card->lastRollResult)
return 0;
if (playerName != "" && playerName != e->playerName)
return 0;
if (!tc->canTarget(e->card)) return 0;
triggeredTurn = game->turn;
return 1;
@@ -1792,6 +1799,39 @@ public:
}
};
class TrCardFlippedCoin: public Trigger
{
public:
bool limitOnceATurn;
int triggeredTurn;
int flipresult;
string playerName;
TrCardFlippedCoin(GameObserver* observer, int id, MTGCardInstance * source, TargetChooser * tc, bool once = false, bool limitOnceATurn = false, int flipresult = -1, string playerName = "") :
Trigger(observer, id, source,once, tc),limitOnceATurn(limitOnceATurn), flipresult(flipresult), playerName(playerName)
{
}
int triggerOnEventImpl(WEvent * event)
{
WEventCardFlipCoin * e = dynamic_cast<WEventCardFlipCoin *> (event);
if (!e) return 0;
if (limitOnceATurn && triggeredTurn == game->turn)
return 0;
if (flipresult > -1 && flipresult != e->card->lastFlipResult)
return 0;
if (playerName != "" && playerName != e->playerName)
return 0;
if (!tc->canTarget(e->card)) return 0;
triggeredTurn = game->turn;
return 1;
}
TrCardFlippedCoin * clone() const
{
return NEW TrCardFlippedCoin(*this);
}
};
class TrTokenCreated: public Trigger
{
public:

View File

@@ -113,6 +113,7 @@ public:
int chooseacolor;
string chooseasubtype;
int coinSide;//1 = tails
int lastFlipResult;
int dieSide;
int lastRollResult;

View File

@@ -345,7 +345,7 @@ struct WEventCardCopiedACard : public WEventCardUpdate {
//alterenergy event
struct WEventplayerEnergized : public WEvent {
WEventplayerEnergized(Player * player,int nb_count);
WEventplayerEnergized(Player * player, int nb_count);
Player * player;
int nb_count;
using WEvent::getTarget;
@@ -368,7 +368,15 @@ struct WEventCardSurveiled : public WEventCardUpdate {
//roll die event
struct WEventCardRollDie : public WEventCardUpdate {
WEventCardRollDie(MTGCardInstance * card);
string playerName;
WEventCardRollDie(MTGCardInstance * card, string playerName);
virtual Targetable * getTarget(int target);
};
//flip coin event
struct WEventCardFlipCoin : public WEventCardUpdate {
string playerName;
WEventCardFlipCoin(MTGCardInstance * card, string playerName);
virtual Targetable * getTarget(int target);
};

View File

@@ -2731,6 +2731,9 @@ int AASetCoin::resolve()
_target->coinSide = side;
int flip = game->getRandomGenerator()->random() % 2;
_target->lastFlipResult = flip;
WEvent * e = NEW WEventCardFlipCoin(_target, source->controller()->getDisplayName());
game->receiveEvent(e);
vector<string>Win = parseBetween(abilityToAlter,"winability "," winabilityend");
if(Win.size())
{
@@ -2881,7 +2884,7 @@ int AASetDie::resolve()
int roll = 1 + game->getRandomGenerator()->random() % 6;
_target->lastRollResult = roll;
WEvent * e = NEW WEventCardRollDie(_target);
WEvent * e = NEW WEventCardRollDie(_target, source->controller()->getDisplayName());
game->receiveEvent(e);
vector<string>Win = parseBetween(abilityToAlter,"winability "," winabilityend");
if(Win.size())
@@ -2894,6 +2897,7 @@ int AASetDie::resolve()
abilityLose = Lose[1];
}
std::stringstream msg;
if(abilityWin.size() && roll == side)
{
AbilityFactory af(game);
@@ -2908,13 +2912,15 @@ int AASetDie::resolve()
{
abilityAltered->addToGame();
}
MTGAbility * message = NEW MTGEventText(game,this->GetId(), source, "You Won The Die Roll");
msg << "Result is: " << roll << ". You Won The Die Roll";
MTGAbility * message = NEW MTGEventText(game,this->GetId(), source, msg.str());
message->oneShot = true;
message->addToGame();
}
else if(abilityWin.size() && !abilityLose.size())
{
MTGAbility * message = NEW MTGEventText(game,this->GetId(), source, "You Lost The Die Roll");
msg << "Result is: " << roll << ". You Lost The Die Roll";
MTGAbility * message = NEW MTGEventText(game,this->GetId(), source, msg.str());
message->oneShot = true;
message->addToGame();
}
@@ -2932,13 +2938,15 @@ int AASetDie::resolve()
{
abilityAltered->addToGame();
}
MTGAbility * message = NEW MTGEventText(game,this->GetId(), source, "You Lost The Die Roll");
msg << "Result is: " << roll << ". You Lost The Die Roll";
MTGAbility * message = NEW MTGEventText(game,this->GetId(), source, msg.str());
message->oneShot = true;
message->addToGame();
}
else if(abilityLose.size())
{
MTGAbility * message = NEW MTGEventText(game,this->GetId(), source, "You Won The Die Roll");
msg << "Result is: " << roll << ". You Won The Die Roll";
MTGAbility * message = NEW MTGEventText(game,this->GetId(), source, msg.str());
message->oneShot = true;
message->addToGame();
}
@@ -2948,17 +2956,9 @@ int AASetDie::resolve()
const string AASetDie::getMenuText()
{
if(side == 1)
return "Your choice is 1";
if(side == 2)
return "Your choice is 2";
if(side == 3)
return "Your choice is 3";
if(side == 4)
return "Your choice is 4";
if(side == 5)
return "Your choice is 5";
return "Your choice is 6";
std::stringstream msg;
msg << "Your choice is: " << side;
return msg.str();
}
AASetDie * AASetDie::clone() const

View File

@@ -1030,17 +1030,35 @@ void GameObserver::gameStateBasedEffects()
c->Provoker = NULL;
}
MTGGameZone * f = p->game->graveyard;
for (int k = 0; k < f->nb_cards; k++)
MTGGameZone * fg = p->game->graveyard;
for (int k = 0; k < fg->nb_cards; k++)
{
MTGCardInstance * card = f->cards[k];
card->fresh = 0;
MTGCardInstance * card = fg->cards[k];
card->fresh = 0; // Remove fresh attribute to cards put in graveyard last turn
}
MTGGameZone * fe = p->game->exile;
for (int k = 0; k < fe->nb_cards; k++)
{
MTGCardInstance * card = fe->cards[k]; // Remove fresh attribute to previous exiled cards
card->fresh = 0;
MTGCardInstance * card = fe->cards[k];
card->fresh = 0; // Remove fresh attribute to cards put in exile last turn
}
MTGGameZone * fh = p->game->hand;
for (int k = 0; k < fh->nb_cards; k++)
{
MTGCardInstance * card = fh->cards[k];
card->fresh = 0; // Remove fresh attribute to cards put in hand last turn
}
MTGGameZone * fc = p->game->commandzone;
for (int k = 0; k < fc->nb_cards; k++)
{
MTGCardInstance * card = fc->cards[k];
card->fresh = 0; // Remove fresh attribute to cards put in commandzone last turn
}
MTGGameZone * fl = p->game->commandzone;
for (int k = 0; k < fl->nb_cards; k++)
{
MTGCardInstance * card = fl->cards[k];
card->fresh = 0; // Remove fresh attribute to cards put in library last turn
}
}
if (z->nb_cards == 0)

View File

@@ -1229,7 +1229,33 @@ TriggeredAbility * AbilityFactory::parseTrigger(string s, string, int id, Spell
if(res.size()){
rollresult = atoi(res[1].c_str());
}
return NEW TrCardRolledDie(observer, id, card, tc, once, limitOnceATurn, rollresult);
string playerName = "";
vector<string>from = parseBetween(s, "from(",")");
if(from.size() && from[1] == "opponent"){
playerName = card->controller()->opponent()->getDisplayName();
} else if(from.size() && from[1] == "controller"){
playerName = card->controller()->getDisplayName();
}
return NEW TrCardRolledDie(observer, id, card, tc, once, limitOnceATurn, rollresult, playerName);
}
//Fip coin has been performed from a card
if (TargetChooser * tc = parseSimpleTC(s, "coinflipped", card)){
int flipresult = -1;
vector<string>res = parseBetween(s, "result(",")");
if(res.size() && res[1] == "head"){
flipresult = 0;
} else if(res.size() && (res[1] == "tails" || res[1] == "tail")){
flipresult = 1;
}
string playerName = "";
vector<string>from = parseBetween(s, "from(",")");
if(from.size() && from[1] == "opponent"){
playerName = card->controller()->opponent()->getDisplayName();
} else if(from.size() && from[1] == "controller"){
playerName = card->controller()->getDisplayName();
}
return NEW TrCardFlippedCoin(observer, id, card, tc, once, limitOnceATurn, flipresult, playerName);
}
//Token has been created

View File

@@ -262,6 +262,7 @@ void MTGCardInstance::initMTGCI()
chooseacolor = -1;
chooseasubtype = "";
coinSide = -1;
lastFlipResult = -1;
dieSide = 0;
lastRollResult = 0;
isAttacking = NULL;

View File

@@ -3311,6 +3311,10 @@ int MTGUnearthRule::receiveEvent(WEvent * event)
{
e->card->fresh = 1;
}
if (e->from == e->card->controller()->game->stack && e->to == e->card->controller()->game->graveyard) // Apply fresh attribute for new casted spells
{
e->card->fresh = 1;
}
if (e->to == e->card->controller()->game->battlefield)
{
e->card->fresh = 1;
@@ -3320,6 +3324,18 @@ int MTGUnearthRule::receiveEvent(WEvent * event)
{
e->card->fresh = 1;
}
if (e->to == e->card->controller()->game->hand) // Apply fresh attribute for cards just put in hand
{
e->card->fresh = 1;
}
if (e->to == e->card->controller()->game->commandzone) // Apply fresh attribute for cards just put in commandzone
{
e->card->fresh = 1;
}
if (e->to == e->card->controller()->game->library) // Apply fresh attribute for cards just put in library
{
e->card->fresh = 1;
}
if (card && card->basicAbilities[(int)Constants::UNEARTH])
{

View File

@@ -297,8 +297,13 @@ WEventCardSurveiled::WEventCardSurveiled(MTGCardInstance * card) :
{
}
WEventCardRollDie::WEventCardRollDie(MTGCardInstance * card) :
WEventCardUpdate(card)
WEventCardRollDie::WEventCardRollDie(MTGCardInstance * card, string playerName) :
WEventCardUpdate(card), playerName(playerName)
{
}
WEventCardFlipCoin::WEventCardFlipCoin(MTGCardInstance * card, string playerName) :
WEventCardUpdate(card), playerName(playerName)
{
}
@@ -527,6 +532,12 @@ Targetable * WEventCardRollDie::getTarget(int target)
return NULL;
}
Targetable * WEventCardFlipCoin::getTarget(int target)
{
if (target) return card;
return NULL;
}
Targetable * WEventTokenCreated::getTarget(int target)
{
if (target) return card;