removed all references to mage.util.Logging, java.util.logging
transient static doesn't mean anything, since static fields are never
included in serialization
it's not correct html, and causes all following text to render italic.
only visible on a few cards, because reminder text typically comes at
the end of line.
the exiled card wouldn't be put in its owner's graveyard if Grinning Totem
changed zones before the delayed trigger
any cards using CardUtil.getCardExileZoneId for delayed effects are likely
broken in the same way
As mentioned in the test comments:
“* I take two Ivy Lane Denizen on to the stack and then Renegade
Krasis's Evolve
* Ability, so resolving Renegade Krasis's Evolve Ability is first
. (Maybe
* Ivy Lane Denizen's target is any.) When Renegade Krasis's Evolve
Ability
* resolves, +1/+1 counter is placed on it, but doesn't triggers
Renegade
* Krasis's second ability.”
This means that Renegade dent put a counter on Adaptive, as the ivy +1
triggers are still on the stack
+ “A Phyrexian mana symbol represents a cost that can be paid either
with *one mana of its color* or by paying 2 life”. These symbols are
mono colored, as such I have made them so.
+ Added test cases for phyrexian mana symbols
+ “107.4e. Hybrid mana symbols are also colored mana symbols.” I have
added the Type COLORED to each mono hybrid symbol
+ added tests for hybrid mana symbols
+ added subornation logic to enough(). We do not want to mix the public
subtract() call with this method. As doing so would mean that either a)
subtraction can go below 0 (this should not happen) or b) we break this
function with exceptions. This is a work around for these scenarios.
+ calling subtraction will now throw an exception if you try and use
more mana than is available. This is better than setting it to 0.
Setting to 0 impose that you should still be allowed to perform the
action.
+ updated subtraction test to check for exception
+ subtractionCost() will not allow using mana that is not available,
same as subtract()
+ added javadoc
+ added final to method variables that should not be mutated
+ Mana can no longer be initialised with minus values
+ added null assertions
+ renamed ‘addXXX’ to ‘increaseXXX’. Add implies that you are able to
add variable amounts.
+ subtraction can no longer allow minus values.
+ removed unused state
+ refactored classes use renamed/removed mana calls
+ added comment to contains(), needs to be looked into?
+ Added validation to setting of mana. Can no longer be set to minus
values. Will log if an attempt is made
+Added comment to static mana, this is unsafe.