setPaidList, beforePayManaAI, setAllReplacingObjects, hasReplacingObject, wasCancelled were never used (removed)
reduced visibility of setManaPart,
finalized setReplicateManaCost, setXManaCost, setIsMultiKicker, setIsReplicate, setIsCycling, setConditions, (set/add)OptionalAdditionalCosts since they were called by CardFactoryUtil only => all removed from WrappedAbility.java
- make color of listbox selection depend on listbox focus, not cell focus
- avoid NPE when attempting to start a challenge when there isn't one to start
this works around a quirky interaction between WrapLayout and MigLayout that was causing interior cells to be properly resized but the cells surrounding them would not be, resulting in widgets that would be too large or too small for their unupdated containing cells
CommonDrawback: wrote in a single line the complicated chkAIDrawback method
removed unused imports
CardUtil.getRandom replaced with Aggregates.random
getReflectableMana uses Set as collection, so it does not have to check for duplicates before adding new items.
united two CMC calculation methods (one was getCMC from card that read characteristics while other took more factors into account)
Some notes:
- Special rewards for normal duels should be extremely rare, mostly for very hard opponents, 1 special reward per opponent, and always a percentage chance of getting the special reward (preferably less than 50%) rather getting a guaranteed reward.
- In the interests of downward compatibility, it is possible to define the Card Reward either in the [quest] portion (like before) or the [metadata] portion of the dck file. (Duels do not have the [quest] portion but if the definition were simply moved from [quest] to [metadata], all current challenge files would have stopped working properly.)
GameActionUtil - uses common GuiDialog.confirm
CardFactoryLands - converted inlined class to nested
ChangeZoneEffect - removed stringbuilder wrapper (as it was not used anyway)
replaced isComputer/isHuman where it was clear and possible