juzamjedi wrote:juzamjedi wrote:OK here are some problems I've found for cards not included in the previous release. From the best I can tell these are generic engine-level problems not card-specific.
Hellspark Elemental.
Unearth crashes.
Treetop Village. Adding the creature type to a land causes the crash.
Spreading Seas. subtypes.set() crashes.
Baneslayer Angel. partial() no longer defined. This was used for other protection abilities as well (like protection from Goblins)
Everflowing Chalice. If you multikick it like normal it is fine, but when you try to cancel casting (i.e. hit escape) it crashes from reduce() of empty sequence.
Cancel. StackTarget doesn't target spells on the stack. Although maybe this is a feature not a bug
See here for the tested cards.
This was the post that I was referring to. I removed the KotR note since I figured out what I did wrong there.
I suppose I could put it on my to-do list. I can't actively test cards on my current computer, it's only got
Python 3.1. Since I don't have time right now, could you answer my other question, about 0.7.0a's file-loading? Does it have multiple cards in a single file? Because if not, I'll have to make time to make an 0.7.0b release.
EDIT: Nevermind, I just looked at the cards you posted and saw the name terminator at the bottom.
EDIT2: And I've looked over the cards. Here are my thoughts:
Baneslayer Angel: Should never have used partial() to begin with. I don't care how many cards did this on the old card editor, it was a mistake. Change the last two protections to this:
- Code: Select all
abilities.add(protection(condition=lambda other: other.subtypes == Demon, attribute="Demons"))
abilities.add(protection(condition=lambda other: other.subtypes == Dragon, attribute="Dragons"))
Cancel: StackTarget wasn't changed, as far as I know. However, isSpell is no longer defined, which is your real problem. Try this:
- Code: Select all
StackTarget(AbilityMatch(CastSpell, "Spell"))
I can only assume the AbilityMatches were commented out because of a circular import or something.
To find this sort of thing yourself, just
look at the source.Everflowing Chalice: As you may have guessed, this is a problem with multikicker itself, not the card, which is fine as far as I can tell. Probably just have to fix it so that it doesn't try to reduce() anything if you cancel.
Hellspark Elemental: Great job telling me it crashed without a traceback. >_<
Spreading Seas: Ditto.
Treetop Village: Ditto.
Always, always,
always provide a traceback for a crash, so I have some clue of where I'm supposed to be looking for.