Updated the unsupported.txt file to reflect the 2 card afari added some days ago
Added some undergraded cards (crappy as not chosen discard)
Augur of Skulls
Bog Down
Brain Weevil
Cao Cao, Lord of Wei
Compulsive Research
Consult the Necrosages
Cunning Advisor
Elder Mastery
Esper Charm
Funeral Charm
Mournwhelk
Piracy Charm
Tendrils of Despair
Three Tragedies
Unburden
Unnerve
Voices from the Void
Waking Nightmare
Wit's End
After months of research, card coding and testing, i proudly present you this high-end card package.
It contains 163 new cards! I never thought to find such a massive amount of codable cards on the current card-availability level Wagic has reached now.
Some cards look like they were coded in a much too complicated way, but believe me: There is no other way to make them work.
Talking about the card code, I have to thank Zethfox alot for coding the 'transforms((,newability...))" complex, which was very very useful. THANK YOU!
Added several tests to safe the code of the cards for future changes.
I think this is the last time i will be able to add such a huge number of new cards outside of the upcoming of a new set, we have reached the outer limits of what is doable with the current code. Let's hope there will be some new some time in the future, though i have my doubts there will be anything new in that section of Wagic for a long time.
Below, you will find the card list. Some really exciting cards are hitting the Wagic scene!
I need a break...
Their code was just fine and 100% accurate in concerns with the official rules.
The tests 'cycling2' and 'resounding_roar' occured because of a missing 'choice 0'. Now, the test suite passes.
-- I added an AbilityParser.cpp file, mid term goal is to move AbilityFactory there, so that MTGAbility.cpp becomes a bit less big.
-- I tried to add the file reference in Makefiles, but only tested windows compilation so far
- Fixed bugs related to "castRestriction" variables in MTGAbility. these variables were declared in both the parent and children classes, leading to bugs and duplicate code/content
The test suite passes
Azorius Herald
Boros Fury-Shield
Dryad's Caress
Ogre Savant
Patagia Viper
Plaxmanta
Ribbons of Night
Rolling Spoil
Seed Spark
Steamcore Weird
Tin Street Hooligan
Vigor Mortis
Replaced all counter(1/1), counter(1/2) and counter(2/2) to counter(1/1,1), counter(1/2,1) and counter(2/2,1).
This is its new code:
[card]
name=Bloodhall Ooze
auto=@each my upkeep restriction{type(*[black]|myBattlefield)~morethan~0}:may counter(1/1)
auto=@each my upkeep restriction{type(*[green]|myBattlefield)~morethan~0}:may counter(1/1)
text=At the beginning of your upkeep, if you control a black permanent, you may put a +1/+1 counter on Bloodhall Ooze. -- At the beginning of your upkeep, if you control a green permanent, you may put a +1/+1 counter on Bloodhall Ooze.
mana={R}
type=Creature
subtype=Ooze
power=1
toughness=1
[/card]
This new version, using one of Zeth's latest additions ("restriction{...}"), shows to be a nice improvement concerning the ingame experience: NOW, the trigger will only show up in the interruption window if the restriction is matched. In the old version, it always showed up in the restriction window whenever the trigger potentially could trigger, even if the restriction was not matched.
"restriction{}" also gives us more options in coding new cards. This is one of them:
[card]
name=Library of Alexandria
auto={T}:add{1}
auto={T}:draw:1 restriction{type(*|myhand)~equalto~7}
text={T}: Add {1} to your mana pool. -- {T}: Draw a card. Activate this ability only if you have exactly seven cards in hand.
type=Land
[/card]
A famous and powerful classic! And you can for sure only tap it to draw a card if you have 7 cards in it.
Exchanged the Multikicker test for another one. The older one was doing trouble.
2) Updated all {X}-spells with x targets. They are using "prex" instead of "x" now. Their code is now completely
following the official rules.
3) Changed the code of most cards which search your library for a land card and put it onto the battlefield tapped.
They are using "and((tap))" now. More cards will be changed to that in upcoming revisions.
4) Added 2 tests to save "prex".
puresteel paladin...removed from supported...added to unsupported.
I have no idea why, but this card has cause a surge of completely different bug reports, crashes, strange interactions between cards, you name it...im surprised we didn't receive a report that it caused someone dog to die of heartworms....
anyways if i find some time, i will debug this pandora's box of a code and see why exactly it causes such strange difficult to reproduce bugs.