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:
Psyyringe
2009-12-26 01:50:33 +00:00
parent ddb9ce251b
commit 5c3b3f1d03
22 changed files with 276 additions and 81 deletions
+4
View File
@@ -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
@@ -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]
@@ -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]
@@ -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
View 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]