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:
Psyyringe
2009-12-08 08:39:34 +00:00
parent c13b178b5a
commit 0ec6c7bf37
17 changed files with 492 additions and 119 deletions

View File

@@ -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

View 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]

View 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]

View 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]

View 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]

View 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]

View 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]

View 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]

View 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]

View 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]

View 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]

View 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]

View 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]

View 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]

View 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]