Psyringe - added quantifiable target restrictions. Whenever you use square brackets [] to specify attributes of a target, you can use the operators <=, >= and = to specify quantities for power, toughness, and/or converted manacost. See added cards for examples.
Limitations: - Operators for "greater than", "less than", "unequal" have not been implemented, but if a card actually needs them, you can use a preceding minus sign to negate a comparison. Example: -power=3 means "power not equal to 3", -toughness<=3 means "toughness>3". - You can't use spaces when specifying such restrictions. Write "power<=3" instead of "power <= 3" - You now need to use a space before the "<" and ">" commands that count the matches for lord(), foreach(), all() and aslongas(). So far we always did use spaces in front of them without actually needing to, now we need to. - manacost restrictions don't take "X" costs into account. Example: Mistmeadow Skulkin (FUT) has protection from manacost>=3. Blaze has a converted manacost of 1, but when you cast it with an X of 2, then it actually has a converted manacost of 3 while on the stack, and Mistmeadow Skulkin would be protected from it, but currently it isn't. Please review the code, I'll add a few remarks/questions of my own.
This commit is contained in:
@@ -483,7 +483,7 @@ mana={2}{U}
|
||||
[card]
|
||||
text={T}: Target creature with power 2 or less is unblockable this turn.
|
||||
id=134758
|
||||
alias=1285
|
||||
auto={T}:unblockable target(creature[power<=2])
|
||||
name=Crafty Pathmage
|
||||
rarity=C
|
||||
type=Creature
|
||||
|
||||
@@ -346,7 +346,7 @@ toughness=4
|
||||
[card]
|
||||
text={2}, {T}:Target creature with power 2 or less is unblockable this turn.
|
||||
id=1025
|
||||
alias=1285
|
||||
auto={T}:unblockable target(creature[power<=2])
|
||||
name=Tawnos's Wand
|
||||
rarity=U
|
||||
mana={4}
|
||||
|
||||
@@ -267,6 +267,19 @@ auto=foreach(creature|myBattlefield) draw:1
|
||||
auto=foreach(creature|myBattlefield) life:-1
|
||||
[/card]
|
||||
[card]
|
||||
id=130346
|
||||
name=Mistmeadow Skulk
|
||||
mana={1}{W}
|
||||
type=Creature
|
||||
subtype=Kithkin Rogue
|
||||
power=1
|
||||
toughness=1
|
||||
text=Lifelink, protection from converted mana cost 3 or greater
|
||||
auto=protection from(*[manacost>=3])
|
||||
abilities=lifelink
|
||||
rarity=U
|
||||
[/card]
|
||||
[card]
|
||||
id=136138
|
||||
name=Nessian Courser
|
||||
rarity=C
|
||||
|
||||
@@ -741,17 +741,6 @@ text=All Slivers have "When this permanent comes into play, you may fateseal 1."
|
||||
rarity=C
|
||||
[/card]
|
||||
[card]
|
||||
id=130346
|
||||
name=Mistmeadow Skulk
|
||||
mana={1}{W}
|
||||
type=Creature
|
||||
subtype=Kithkin Rogue
|
||||
power=1
|
||||
toughness=1
|
||||
text=Lifelink, protection from converted mana cost 3 or greater
|
||||
rarity=U
|
||||
[/card]
|
||||
[card]
|
||||
id=136154
|
||||
name=Molten Disaster
|
||||
mana={X}{R}{R}
|
||||
|
||||
@@ -206,6 +206,30 @@ auto={2}{T}:add{U}
|
||||
rarity=U
|
||||
[/card]
|
||||
[card]
|
||||
id=3013
|
||||
name=Aysen Bureaucrats
|
||||
mana={1}{W}
|
||||
type=Creature
|
||||
subtype=Human Advisor
|
||||
power=1
|
||||
toughness=1
|
||||
text={T}: Tap target creature with power 2 or less.
|
||||
auto={T}:tap target(creature[power<=2])
|
||||
rarity=C
|
||||
[/card]
|
||||
[card]
|
||||
id=3014
|
||||
name=Aysen Bureaucrats
|
||||
mana={1}{W}
|
||||
type=Creature
|
||||
subtype=Human Advisor
|
||||
power=1
|
||||
toughness=1
|
||||
text={T}: Tap target creature with power 2 or less.
|
||||
auto={T}:tap target(creature[power<=2])
|
||||
rarity=C
|
||||
[/card]
|
||||
[card]
|
||||
id=3015
|
||||
name=Aysen Crusader
|
||||
mana={2}{W}{W}
|
||||
|
||||
@@ -23,17 +23,6 @@ text={2}, {T}, Sacrifice Apocalypse Chime: Destroy all nontoken permanents from
|
||||
rarity=R
|
||||
[/card]
|
||||
[card]
|
||||
id=3014
|
||||
name=Aysen Bureaucrats
|
||||
mana={1}{W}
|
||||
type=Creature
|
||||
subtype=Human Advisor
|
||||
power=1
|
||||
toughness=1
|
||||
text={T}: Tap target creature with power 2 or less.
|
||||
rarity=C
|
||||
[/card]
|
||||
[card]
|
||||
id=2936
|
||||
name=Baki's Curse
|
||||
mana={2}{U}{U}
|
||||
|
||||
@@ -22,6 +22,7 @@ type=Land
|
||||
[/card]
|
||||
[card]
|
||||
text={1}, {T}: Target 1/1 creature gets +1/+2 until end of turn.
|
||||
auto={1}{T}: 1/2 target(creature[power=1;toughness=1])
|
||||
id=2393
|
||||
name=Aegis of the Meek
|
||||
rarity=R
|
||||
@@ -1531,6 +1532,7 @@ type=Instant
|
||||
[/card]
|
||||
[card]
|
||||
text={2}, {T}: Target creature with power 3 or less gains flying until end of turn.
|
||||
auto={2}{T}: flying target(creature[power<=3])
|
||||
id=2435
|
||||
name=Whalebone Glider
|
||||
rarity=U
|
||||
|
||||
@@ -964,6 +964,7 @@ abilities=legendary
|
||||
text={T}: Add {G} to your mana pool. {T}: Target 1/1 creature gets +1/+2 until end of turn.
|
||||
id=1703
|
||||
auto={T}:Add {G}
|
||||
auto={T}: 1/2 target(creature[power=1;toughness=1])
|
||||
name=Pendelhaven
|
||||
rarity=U
|
||||
type=Land
|
||||
|
||||
@@ -345,7 +345,7 @@ toughness=2
|
||||
text={T}: Target creature with power 2 or less is unblockable this turn.
|
||||
id=3441
|
||||
name=Dwarven Nomad
|
||||
alias=1285
|
||||
auto={T}:unblockable target(creature[power<=2])
|
||||
type=Creature
|
||||
subtype=Dwarf Nomad
|
||||
rarity=C
|
||||
|
||||
@@ -192,7 +192,7 @@ toughness=0
|
||||
[card]
|
||||
text={T}: Target creature with power 2 or less is unblockable this turn.
|
||||
id=40060
|
||||
alias=1285
|
||||
auto={T}:unblockable target(creature[power<=2])
|
||||
name=Crafty Pathmage
|
||||
rarity=C
|
||||
mana={2}{U}
|
||||
|
||||
@@ -608,6 +608,7 @@ toughness=1
|
||||
[/card]
|
||||
[card]
|
||||
text={T}: Target creature with power 2 or less is unblockable this turn.
|
||||
auto={T}:unblockable target(creature[power<=2])
|
||||
id=1285
|
||||
name=Dwarven Warriors
|
||||
rarity=C
|
||||
@@ -1406,6 +1407,15 @@ mana={1}
|
||||
type=Artifact
|
||||
[/card]
|
||||
[card]
|
||||
text=Creatures with power 3 or greater don't untap during their controllers' untap steps.
|
||||
auto=lord(creature[power>=3]) doesnotuntap
|
||||
id=1125
|
||||
name=Meekstone
|
||||
rarity=R
|
||||
type=Artifact
|
||||
mana={1}
|
||||
[/card]
|
||||
[card]
|
||||
id=1210
|
||||
name=Merfolk of the Pearl Trident
|
||||
rarity=C
|
||||
|
||||
@@ -264,15 +264,6 @@ type=Enchantment
|
||||
mana={3}{R}
|
||||
[/card]
|
||||
[card]
|
||||
text=Creatures with power 3 or greater don't untap during their controllers' untap steps.
|
||||
id=1125
|
||||
name=Meekstone
|
||||
rarity=R
|
||||
color=Artifact
|
||||
type=Artifact
|
||||
mana={1}
|
||||
[/card]
|
||||
[card]
|
||||
text=Flying, banding
|
||||
#Banding not supported in Wagic 0.9
|
||||
abilities=Flying, banding
|
||||
|
||||
@@ -57,6 +57,7 @@ generic/wither.txt
|
||||
#Specific Cards
|
||||
########################
|
||||
act_of_treason.txt
|
||||
aegis_of_the_meek.txt
|
||||
aether_mutation.txt
|
||||
afflict.txt
|
||||
akron_legionnaire.txt
|
||||
@@ -93,6 +94,7 @@ ashen_firebeast.txt
|
||||
ashen_firebeast2.txt
|
||||
aura_mutation.txt
|
||||
avarice_totem.txt
|
||||
aysen_bureaucrats.txt
|
||||
baneslayer_angel.txt
|
||||
baneslayer_angel2.txt
|
||||
barbed_sliver.txt
|
||||
@@ -174,6 +176,7 @@ drift_of_the_dead.txt
|
||||
dromad_purebred.txt
|
||||
dross_harvester.txt
|
||||
duskwalker.txt
|
||||
dwarven_warriors.txt
|
||||
ebony_horse.txt
|
||||
ekundu_cyclops1_i218.txt
|
||||
ekundu_cyclops2_i218.txt
|
||||
@@ -266,6 +269,7 @@ lord_of_the_pit.txt
|
||||
lord_of_the_pit2.txt
|
||||
master_decoy.txt
|
||||
master_of_etherium.txt
|
||||
meekstone.txt
|
||||
memory_erosion.txt
|
||||
millstone.txt
|
||||
misc01.txt
|
||||
|
||||
28
projects/mtg/bin/Res/test/aegis_of_the_meek.txt
Normal file
28
projects/mtg/bin/Res/test/aegis_of_the_meek.txt
Normal file
@@ -0,0 +1,28 @@
|
||||
#NAME: Aegis of the Meek
|
||||
#DESC: "{1}{T}: Target 1/1 creature
|
||||
#DESC: gets +1/+2 until end of turn."
|
||||
#DESC: Test tries some illegal targets
|
||||
#DESC: before settling on a legal one.
|
||||
[INIT]
|
||||
firstmain
|
||||
[PLAYER1]
|
||||
inplay:Aegis of the Meek,Raging Goblin,Steppe Lynx,Savannah Lions,Courier Hawk
|
||||
hand:Swords to Plowshares
|
||||
manapool:{W}{W}
|
||||
[PLAYER2]
|
||||
[DO]
|
||||
Aegis of the Meek
|
||||
Steppe Lynx
|
||||
Savannah Lions
|
||||
Courier Hawk
|
||||
Raging Goblin
|
||||
Swords to Plowshares
|
||||
Raging Goblin
|
||||
[ASSERT]
|
||||
firstmain
|
||||
[PLAYER1]
|
||||
inplay:Aegis of the Meek,Steppe Lynx,Savannah Lions,Courier Hawk
|
||||
graveyard:Swords to Plowshares
|
||||
life:22
|
||||
[PLAYER2]
|
||||
[END]
|
||||
25
projects/mtg/bin/Res/test/aysen_bureaucrats.txt
Normal file
25
projects/mtg/bin/Res/test/aysen_bureaucrats.txt
Normal file
@@ -0,0 +1,25 @@
|
||||
#NAME: Aysen Bureaucrats
|
||||
#DESC: "{T}: Tap target creature with power 2 or less."
|
||||
#DESC: Test tries to tap an illegal
|
||||
#DESC: target before tapping the
|
||||
#DESC: legal one.
|
||||
[INIT]
|
||||
firstmain
|
||||
[PLAYER1]
|
||||
inplay:Aysen Bureaucrats,Spark Elemental,Grizzly Bears
|
||||
hand:Assassinate
|
||||
manapool:{2}{B}
|
||||
[PLAYER2]
|
||||
[DO]
|
||||
Aysen Bureaucrats
|
||||
Spark Elemental
|
||||
Grizzly Bears
|
||||
Assassinate
|
||||
Grizzly Bears
|
||||
[ASSERT]
|
||||
firstmain
|
||||
[PLAYER1]
|
||||
inplay:Aysen Bureaucrats,Spark Elemental
|
||||
graveyard:Grizzly Bears,Assassinate
|
||||
[PLAYER2]
|
||||
[END]
|
||||
27
projects/mtg/bin/Res/test/dwarven_warriors.txt
Normal file
27
projects/mtg/bin/Res/test/dwarven_warriors.txt
Normal file
@@ -0,0 +1,27 @@
|
||||
#NAME: Dwarven Warriors
|
||||
#DESC: "{T}: Target creature with power 2
|
||||
#DESC: or less is unblockable this turn."
|
||||
[INIT]
|
||||
firstmain
|
||||
[PLAYER1]
|
||||
inplay:Dwarven Warriors,Grizzly Bears
|
||||
[PLAYER2]
|
||||
inplay:Craw Wurm
|
||||
[DO]
|
||||
Dwarven Warriors
|
||||
Grizzly Bears
|
||||
next
|
||||
next
|
||||
Grizzly Bears
|
||||
next
|
||||
Craw Wurm
|
||||
next
|
||||
next
|
||||
[ASSERT]
|
||||
combatend
|
||||
[PLAYER1]
|
||||
inplay:Dwarven Warriors,Grizzly Bears
|
||||
[PLAYER2]
|
||||
inplay:Craw Wurm
|
||||
life:18
|
||||
[END]
|
||||
35
projects/mtg/bin/Res/test/meekstone.txt
Normal file
35
projects/mtg/bin/Res/test/meekstone.txt
Normal file
@@ -0,0 +1,35 @@
|
||||
#NAME: Meekstone
|
||||
#DESC: "Creatures with power 3 or
|
||||
#DESC: greater don't untap during
|
||||
#DESC: their controllers' untap steps."
|
||||
[INIT]
|
||||
secondmain
|
||||
[PLAYER1]
|
||||
inplay:Meekstone,Flood
|
||||
manapool:{U}{U}{U}{U}
|
||||
[PLAYER2]
|
||||
inplay:Grizzly Bears,War Mammoth,1373,1374,1375
|
||||
hand:Assassinate
|
||||
[DO]
|
||||
Flood
|
||||
Grizzly Bears
|
||||
Flood
|
||||
War Mammoth
|
||||
eot
|
||||
next
|
||||
next
|
||||
next
|
||||
1373
|
||||
1374
|
||||
1375
|
||||
Assassinate
|
||||
Grizzly Bears
|
||||
War Mammoth
|
||||
[ASSERT]
|
||||
firstmain
|
||||
[PLAYER1]
|
||||
inplay:Meekstone,Flood
|
||||
[PLAYER2]
|
||||
inplay:Grizzly Bears,1373,1374,1375
|
||||
graveyard:War Mammoth,Assassinate
|
||||
[END]
|
||||
Reference in New Issue
Block a user