Psyringe - 5DN overhaul: added 6 cards (some borderline) and fixed 11 bugs. Added test scripts for most added cards. Please check/review as I'm still inexperienced with card code.
Additions:
- Added Avarice Totem. Code works, but uses a trick to circumvent a parser limitation. Feedback welcome.
- Added Fangren Pathcutter. Code works, but will fail if Fangren Pathcutter gets removed during the combatattackers phase (currently unlikely though). Feedback welcome.
- Added Goblin Cannon (spectacularly useless card, but codeable)
- Added Silent Arbiter (code works pretty well imho)
- Added Skullcage (doesn't work correctly yet due to bug; issue will be opened shortly)
- Added Thought Courier (has wrong sequence of actions, but is acceptable imho)
Bugfixes:
- Arachnoid didn't have Reach
- Battered Golem was missing a "may"
- softcoded Beacon of Creation
- Beacon of Destruction was missing an alias
- Beacon of Immortality was missing an alias
- Cackling Imp couldn't use its ability
- removed Crucible of Worlds (didn't work on several accounts)
- Krark-Clan Ironworks had an incorrect {T} cost
- Krark-Clan Ogre had an incorrect cost
- Screaming Fury was missing a target
- Skyhunter Skirmisher had double strike spelled wrong
Other:
- experimented with several more cards but couldn't implement them correctly, check the comments in todo.dat for details.
This commit is contained in:
@@ -84,10 +84,13 @@ ascendant_evincar3.txt
|
||||
ashen_firebeast.txt
|
||||
ashen_firebeast2.txt
|
||||
aura_mutation.txt
|
||||
avarice_totem.txt
|
||||
baneslayer_angel.txt
|
||||
baneslayer_angel2.txt
|
||||
barbed_sliver.txt
|
||||
basal_sliver.txt
|
||||
beacon_of_creation.txt
|
||||
beacon_of_destruction.txt
|
||||
beacon_of_unrest.txt
|
||||
belligerent_hatchling.txt
|
||||
benalish_knight.txt
|
||||
@@ -161,6 +164,7 @@ elvish_promenade.txt
|
||||
emblem_of_the_warmind.txt
|
||||
enervate.txt
|
||||
erg_raiders_i157.txt
|
||||
fangren_pathcutter.txt
|
||||
farhaven_elf.txt
|
||||
farmstead.txt
|
||||
fastbond.txt
|
||||
@@ -292,6 +296,7 @@ shivan_hellkite.txt
|
||||
shock.txt
|
||||
shock2.txt
|
||||
siege_gang_commander.txt
|
||||
silent_arbiter.txt
|
||||
slate_of_ancestry.txt
|
||||
sleeper_agent.txt
|
||||
slith_bloodletter.txt
|
||||
@@ -317,6 +322,7 @@ terror.txt
|
||||
terror2.txt
|
||||
threaten.txt
|
||||
throne_of_bone.txt
|
||||
thought_courier.txt
|
||||
titanic_ultimatum.txt
|
||||
torture.txt
|
||||
tranquil_domain.txt
|
||||
|
||||
20
projects/mtg/bin/Res/test/avarice_totem.txt
Normal file
20
projects/mtg/bin/Res/test/avarice_totem.txt
Normal file
@@ -0,0 +1,20 @@
|
||||
#NAME: Avarice Totem
|
||||
#DESC: {5}: Exchange control of Avarice Totem
|
||||
#DESC: and target nonland permanent.
|
||||
[INIT]
|
||||
firstmain
|
||||
[PLAYER1]
|
||||
inplay:Avarice Totem
|
||||
manapool:{5}
|
||||
[PLAYER2]
|
||||
inplay:Grizzly Bears
|
||||
[DO]
|
||||
Avarice Totem
|
||||
Grizzly Bears
|
||||
[ASSERT]
|
||||
firstmain
|
||||
[PLAYER1]
|
||||
inplay:Grizzly Bears
|
||||
[PLAYER2]
|
||||
inplay:Avarice Totem
|
||||
[END]
|
||||
21
projects/mtg/bin/Res/test/beacon_of_creation.txt
Normal file
21
projects/mtg/bin/Res/test/beacon_of_creation.txt
Normal file
@@ -0,0 +1,21 @@
|
||||
#NAME: Beacon of Creation
|
||||
#DESC: "Put a 1/1 green Insect creature token
|
||||
#DESC: onto the battlefield for each Forest
|
||||
#DESC: you control. Shuffle Beacon of Creation
|
||||
#DESC: into its owner's library"
|
||||
[INIT]
|
||||
firstmain
|
||||
[PLAYER1]
|
||||
inplay:1386,1387
|
||||
hand:51613
|
||||
manapool:{3}{G}
|
||||
[PLAYER2]
|
||||
[DO]
|
||||
51613
|
||||
[ASSERT]
|
||||
firstmain
|
||||
[PLAYER1]
|
||||
inplay:1386,1387,-51613,-51613
|
||||
library:51613
|
||||
[PLAYER2]
|
||||
[END]
|
||||
21
projects/mtg/bin/Res/test/beacon_of_destruction.txt
Normal file
21
projects/mtg/bin/Res/test/beacon_of_destruction.txt
Normal file
@@ -0,0 +1,21 @@
|
||||
#NAME: Beacon of Destruction
|
||||
#DESC: "deals 5 damage to target creature
|
||||
#DESC: or player. Shuffle Beacon of
|
||||
#DESC: Destruction into its owner's library."
|
||||
[INIT]
|
||||
firstmain
|
||||
[PLAYER1]
|
||||
hand:51612
|
||||
manapool:{3}{R}{R}
|
||||
[PLAYER2]
|
||||
inplay:Earth Elemental
|
||||
[DO]
|
||||
51612
|
||||
Earth Elemental
|
||||
[ASSERT]
|
||||
firstmain
|
||||
[PLAYER1]
|
||||
library:51612
|
||||
[PLAYER2]
|
||||
graveyard:Earth Elemental
|
||||
[END]
|
||||
24
projects/mtg/bin/Res/test/bugs/skullcage0_i239.txt
Normal file
24
projects/mtg/bin/Res/test/bugs/skullcage0_i239.txt
Normal file
@@ -0,0 +1,24 @@
|
||||
#NAME: Skull Cage 0
|
||||
#DESC: "At the beginning of each opponent's upkeep,
|
||||
#DESC: Skullcage deals 2 damage to that player
|
||||
#DESC: unless he or she has exactly three or
|
||||
#DESC: exactly four cards in hand."
|
||||
#DESC: This script tests whether the player will
|
||||
#DESC: correctly suffer 2 damage if he has no cards
|
||||
#DESC: in hand.
|
||||
#DESC: http://code.google.com/p/wagic/issues/detail?id=239
|
||||
[INIT]
|
||||
untap
|
||||
[PLAYER1]
|
||||
[PLAYER2]
|
||||
inplay:Skullcage
|
||||
[DO]
|
||||
next
|
||||
next
|
||||
[ASSERT]
|
||||
draw
|
||||
[PLAYER1]
|
||||
life:18
|
||||
[PLAYER2]
|
||||
inplay:Skullcage
|
||||
[END]
|
||||
26
projects/mtg/bin/Res/test/bugs/skullcage1_i239.txt
Normal file
26
projects/mtg/bin/Res/test/bugs/skullcage1_i239.txt
Normal file
@@ -0,0 +1,26 @@
|
||||
#NAME: Skull Cage 1
|
||||
#DESC: "At the beginning of each opponent's upkeep,
|
||||
#DESC: Skullcage deals 2 damage to that player
|
||||
#DESC: unless he or she has exactly three or
|
||||
#DESC: exactly four cards in hand."
|
||||
#DESC: This script tests whether the player will
|
||||
#DESC: correctly suffer 2 damage if he has 1 card
|
||||
#DESC: in hand.
|
||||
#DESC: http://code.google.com/p/wagic/issues/detail?id=239
|
||||
[INIT]
|
||||
untap
|
||||
[PLAYER1]
|
||||
hand:Forest
|
||||
[PLAYER2]
|
||||
inplay:Skullcage
|
||||
[DO]
|
||||
next
|
||||
next
|
||||
[ASSERT]
|
||||
draw
|
||||
[PLAYER1]
|
||||
hand:Forest
|
||||
life:18
|
||||
[PLAYER2]
|
||||
inplay:Skullcage
|
||||
[END]
|
||||
26
projects/mtg/bin/Res/test/bugs/skullcage2_i239.txt
Normal file
26
projects/mtg/bin/Res/test/bugs/skullcage2_i239.txt
Normal file
@@ -0,0 +1,26 @@
|
||||
#NAME: Skull Cage 2
|
||||
#DESC: "At the beginning of each opponent's upkeep,
|
||||
#DESC: Skullcage deals 2 damage to that player
|
||||
#DESC: unless he or she has exactly three or
|
||||
#DESC: exactly four cards in hand."
|
||||
#DESC: This script tests whether the player will
|
||||
#DESC: correctly suffer 2 damage if he has 2 cards
|
||||
#DESC: in hand.
|
||||
#DESC: http://code.google.com/p/wagic/issues/detail?id=239
|
||||
[INIT]
|
||||
untap
|
||||
[PLAYER1]
|
||||
hand:Forest,Island
|
||||
[PLAYER2]
|
||||
inplay:Skullcage
|
||||
[DO]
|
||||
next
|
||||
next
|
||||
[ASSERT]
|
||||
draw
|
||||
[PLAYER1]
|
||||
hand:Forest,Island
|
||||
life:18
|
||||
[PLAYER2]
|
||||
inplay:Skullcage
|
||||
[END]
|
||||
25
projects/mtg/bin/Res/test/bugs/skullcage3_i239.txt
Normal file
25
projects/mtg/bin/Res/test/bugs/skullcage3_i239.txt
Normal file
@@ -0,0 +1,25 @@
|
||||
#NAME: Skull Cage 3
|
||||
#DESC: "At the beginning of each opponent's upkeep,
|
||||
#DESC: Skullcage deals 2 damage to that player
|
||||
#DESC: unless he or she has exactly three or
|
||||
#DESC: exactly four cards in hand."
|
||||
#DESC: This script tests whether the player will
|
||||
#DESC: correctly suffer no damage if he has 3 cards
|
||||
#DESC: in hand.
|
||||
#DESC: http://code.google.com/p/wagic/issues/detail?id=239
|
||||
[INIT]
|
||||
untap
|
||||
[PLAYER1]
|
||||
hand:Forest,Island,Mountain
|
||||
[PLAYER2]
|
||||
inplay:Skullcage
|
||||
[DO]
|
||||
next
|
||||
next
|
||||
[ASSERT]
|
||||
draw
|
||||
[PLAYER1]
|
||||
hand:Forest,Island,Mountain
|
||||
[PLAYER2]
|
||||
inplay:Skullcage
|
||||
[END]
|
||||
25
projects/mtg/bin/Res/test/bugs/skullcage4_i239.txt
Normal file
25
projects/mtg/bin/Res/test/bugs/skullcage4_i239.txt
Normal file
@@ -0,0 +1,25 @@
|
||||
#NAME: Skull Cage 4
|
||||
#DESC: "At the beginning of each opponent's upkeep,
|
||||
#DESC: Skullcage deals 2 damage to that player
|
||||
#DESC: unless he or she has exactly three or
|
||||
#DESC: exactly four cards in hand."
|
||||
#DESC: This script tests whether the player will
|
||||
#DESC: correctly suffer no damage if he has 4 cards
|
||||
#DESC: in hand.
|
||||
#DESC: http://code.google.com/p/wagic/issues/detail?id=239
|
||||
[INIT]
|
||||
untap
|
||||
[PLAYER1]
|
||||
hand:Forest,Island,Mountain,Plains
|
||||
[PLAYER2]
|
||||
inplay:Skullcage
|
||||
[DO]
|
||||
next
|
||||
next
|
||||
[ASSERT]
|
||||
draw
|
||||
[PLAYER1]
|
||||
hand:Forest,Island,Mountain,Plains
|
||||
[PLAYER2]
|
||||
inplay:Skullcage
|
||||
[END]
|
||||
26
projects/mtg/bin/Res/test/bugs/skullcage5_i239.txt
Normal file
26
projects/mtg/bin/Res/test/bugs/skullcage5_i239.txt
Normal file
@@ -0,0 +1,26 @@
|
||||
#NAME: Skull Cage 5
|
||||
#DESC: "At the beginning of each opponent's upkeep,
|
||||
#DESC: Skullcage deals 2 damage to that player
|
||||
#DESC: unless he or she has exactly three or
|
||||
#DESC: exactly four cards in hand."
|
||||
#DESC: This script tests whether the player will
|
||||
#DESC: correctly suffer 2 damage if he has 5 cards
|
||||
#DESC: in hand.
|
||||
#DESC: http://code.google.com/p/wagic/issues/detail?id=239
|
||||
[INIT]
|
||||
untap
|
||||
[PLAYER1]
|
||||
hand:Forest,Island,Mountain,Plains,Swamp
|
||||
[PLAYER2]
|
||||
inplay:Skullcage
|
||||
[DO]
|
||||
next
|
||||
next
|
||||
[ASSERT]
|
||||
draw
|
||||
[PLAYER1]
|
||||
hand:Forest,Island,Mountain,Plains,Swamp
|
||||
life:18
|
||||
[PLAYER2]
|
||||
inplay:Skullcage
|
||||
[END]
|
||||
26
projects/mtg/bin/Res/test/bugs/skullcage6_i239.txt
Normal file
26
projects/mtg/bin/Res/test/bugs/skullcage6_i239.txt
Normal file
@@ -0,0 +1,26 @@
|
||||
#NAME: Skull Cage 6
|
||||
#DESC: "At the beginning of each opponent's upkeep,
|
||||
#DESC: Skullcage deals 2 damage to that player
|
||||
#DESC: unless he or she has exactly three or
|
||||
#DESC: exactly four cards in hand."
|
||||
#DESC: This script tests whether the player will
|
||||
#DESC: correctly suffer 2 damage if he has 6 cards
|
||||
#DESC: in hand.
|
||||
#DESC: http://code.google.com/p/wagic/issues/detail?id=239
|
||||
[INIT]
|
||||
untap
|
||||
[PLAYER1]
|
||||
hand:Forest,Island,Mountain,Plains,Swamp,Grizzly Bears
|
||||
[PLAYER2]
|
||||
inplay:Skullcage
|
||||
[DO]
|
||||
next
|
||||
next
|
||||
[ASSERT]
|
||||
draw
|
||||
[PLAYER1]
|
||||
hand:Forest,Island,Mountain,Plains,Swamp,Grizzly Bears
|
||||
life:18
|
||||
[PLAYER2]
|
||||
inplay:Skullcage
|
||||
[END]
|
||||
26
projects/mtg/bin/Res/test/bugs/skullcage7_i239.txt
Normal file
26
projects/mtg/bin/Res/test/bugs/skullcage7_i239.txt
Normal file
@@ -0,0 +1,26 @@
|
||||
#NAME: Skull Cage 7
|
||||
#DESC: "At the beginning of each opponent's upkeep,
|
||||
#DESC: Skullcage deals 2 damage to that player
|
||||
#DESC: unless he or she has exactly three or
|
||||
#DESC: exactly four cards in hand."
|
||||
#DESC: This script tests whether the player will
|
||||
#DESC: correctly suffer 2 damage if he has 7 cards
|
||||
#DESC: in hand.
|
||||
#DESC: http://code.google.com/p/wagic/issues/detail?id=239
|
||||
[INIT]
|
||||
untap
|
||||
[PLAYER1]
|
||||
hand:Forest,Island,Mountain,Plains,Swamp,Grizzly Bears,Craw Wurm
|
||||
[PLAYER2]
|
||||
inplay:Skullcage
|
||||
[DO]
|
||||
next
|
||||
next
|
||||
[ASSERT]
|
||||
draw
|
||||
[PLAYER1]
|
||||
hand:Forest,Island,Mountain,Plains,Swamp,Grizzly Bears,Craw Wurm
|
||||
life:18
|
||||
[PLAYER2]
|
||||
inplay:Skullcage
|
||||
[END]
|
||||
28
projects/mtg/bin/Res/test/fangren_pathcutter.txt
Normal file
28
projects/mtg/bin/Res/test/fangren_pathcutter.txt
Normal file
@@ -0,0 +1,28 @@
|
||||
#NAME: Fangren Pathcutter 1
|
||||
#DESC: Verifies that Fangren Pathcutter
|
||||
#DESC: gives Trample to itself and
|
||||
#DESC: other attacking creatures.
|
||||
[INIT]
|
||||
combatattackers
|
||||
[PLAYER1]
|
||||
inplay:Fangren Pathcutter,Craw Wurm
|
||||
[PLAYER2]
|
||||
inplay:Grizzly Bears,Raging Goblin
|
||||
[DO]
|
||||
Fangren Pathcutter
|
||||
Craw Wurm
|
||||
next
|
||||
Grizzly Bears
|
||||
Raging Goblin
|
||||
Raging Goblin
|
||||
next
|
||||
next
|
||||
next
|
||||
[ASSERT]
|
||||
combatend
|
||||
[PLAYER1]
|
||||
inplay:Fangren Pathcutter,Craw Wurm
|
||||
[PLAYER2]
|
||||
graveyard:Grizzly Bears,Raging Goblin
|
||||
life:13
|
||||
[END]
|
||||
25
projects/mtg/bin/Res/test/silent_arbiter.txt
Normal file
25
projects/mtg/bin/Res/test/silent_arbiter.txt
Normal file
@@ -0,0 +1,25 @@
|
||||
#NAME: Silent Arbiter
|
||||
#DESC: "No more than one creature can attack each combat.
|
||||
#DESC: No more than one creature can block each combat."
|
||||
[INIT]
|
||||
combatattackers
|
||||
[PLAYER1]
|
||||
inplay:Silent Arbiter,Grizzly Bears
|
||||
[PLAYER2]
|
||||
inplay:Raging Goblin,Earth Elemental
|
||||
[DO]
|
||||
Grizzly Bears
|
||||
Silent Arbiter
|
||||
next
|
||||
Raging Goblin
|
||||
Earth Elemental
|
||||
next
|
||||
next
|
||||
[ASSERT]
|
||||
combatend
|
||||
[PLAYER1]
|
||||
inplay:Silent Arbiter,Grizzly Bears
|
||||
[PLAYER2]
|
||||
inplay:Earth Elemental
|
||||
graveyard:Raging Goblin
|
||||
[END]
|
||||
23
projects/mtg/bin/Res/test/thought_courier.txt
Normal file
23
projects/mtg/bin/Res/test/thought_courier.txt
Normal file
@@ -0,0 +1,23 @@
|
||||
#NAME: Thought Courier
|
||||
#DESC: Verifies that Thought Courier
|
||||
#DESC: can draw and discard a card.
|
||||
#DESC: Does not check whether it can
|
||||
#DESC: discard the card it just drew.
|
||||
[INIT]
|
||||
firstmain
|
||||
[PLAYER1]
|
||||
inplay:Thought Courier
|
||||
hand:Island
|
||||
library:Plains
|
||||
[PLAYER2]
|
||||
[DO]
|
||||
Thought Courier
|
||||
Island
|
||||
[ASSERT]
|
||||
firstmain
|
||||
[PLAYER1]
|
||||
inplay:Thought Courier
|
||||
hand:Plains
|
||||
graveyard:Island
|
||||
[PLAYER2]
|
||||
[END]
|
||||
Reference in New Issue
Block a user