Note this particular aspect of the "becomes" ability was not broken prior to the fix for 559. This is a sanity check as it has nothing to do with color change. but tests ability changes due to "becomes" ability.
Issue: 559
This one was a bit of a doozy to fix correctly, but the actual fix ended up being fairly simple - the upshot is that TargetAbility never checked for whether an extra cost needed setting prior doing a target selection. While at it, I discovered and fixed another bug: if you're in the middle of an extra cost choice (like sacrifice, for instance) and hit the next phase button, the game would let you proceed, and then hang in an endless loop.
While at it, did a little cleanup/refactoring around GameObserver's waitForExtraPayment - any time a bool has something that sounds like a verb, it probably deserves to be a function. Now it is. (I needed to refactor it anyway, as I reused that code for the next phase hang.)
Note that after this fix, I had to patch two test cases (siege_gang_commander.txt & seismic_assault.txt) - since I've change the selection order (ie a target ability with a sacrifice cost requires the cost to be paid up front before picking the target), this means that tests involving targeting & sacrifices need to switch the order of the cards to pass.
- fixed memory leak in AEquip/ATeach
- Test suite now trims strings correctly (allows to have space between comma-separated card names)
- Added Paradise Mantle (for ATeach test)
- removed a missing wallpaper from wallpapers list
- Optimized 163 cards (Card list --> First comment).
Most of them profit from the much more detailed combat trigger system and the new types of damage prevention.
- Added 17 tests to save Zethfox's additions for the future.
- Fixed issue182.
- adding tests for issue 489 and issue 491
- check for null pointers in Credits.cpp
- Test suite can now select tokens by their name
- Fixed Dragon Broodmothere's token name
- fixing buggy test for kicker introduced in r2414
- removed old translation tool scripts (not needed anymore)
- simplified "borderline.txt" using the global "borderline" grade.
- fix for issue 467 (simultaneous triggers + "trigger" keyword)
- MootPoint's patch for some string parsing
- some random int/float compilation warning fixes
- Partial fix for issue 335. This fixes the general problem of triggers not working in the case @movedTo(Battlefield) from(anywhere), but not the specific case of River kelpie not getting to draw a card after being "persisted"
2 example cards:
[card]
name=Decree of Justice
auto=token(Angel,Creature Angel,4/4,flying,white)*XX
autohand={2}{W}:cycling
autohand={X}{W}:name(cycle and soldier tokens) && cycling && thisforeach(X) token(Soldier,Creature Soldier,1/1,white)*X
text=Put X 4/4 white Angel creature tokens with flying onto the battlefield. -- Cycling {2}{W} ({2}{W}, Discard this card: Draw a card.) -- When you cycle Decree of Justice, you may pay {X}. If you do, put X 1/1 white Soldier creature tokens onto the battlefield.
mana={X}{X}{2}{W}{W}
type=Sorcery
[/card]
[card]
name=Stormbind
auto={2}{D}:damage:2 target(creature,player)
text={2}, Discard a card at random: Stormbind deals 2 damage to target creature or player.
mana={1}{R}{G}
type=Enchantment
[/card]
Added 2 tests for the keywords introduced in rev2272.
Corrected several card bugs.
[card]
name=Frogmite
abilities=affinityartifacts
text=Affinity for artifacts (This spell costs {1} less to cast for each artifact you control.)
mana={4}
type=Artifact Creature
subtype=Frog
power=2
toughness=2
[/card]
Added tests for that.
Have fun!
This addition includes
- cards with STORM (Dragonstorm,Tendrils of Agony,etc.) --> IT'S FINALLY THERE!
- cards which restrict the casting of spells (Arcane Laboratory,Silence)
- PLATINUM ANGEL (keyword: CANTLOSE)
Added tests for STORM;LAND:number,Sneak Attack
Removed Rhox Meditant and its tests.