Additional and alternative costs improved:

* Now player must choose additional costs before ability's modes;
* Fixed broken kicker ability from ZNR (see comments from d4ca287f0f);
* Improved compatibility of additional cost with cost modification effects (fixed that optional multi-costs doesn't affected by cost modification);
* Improved compatibility of additional cost with alternative cost (some cards ignores additional cost on alternative usage, e.g. on play free);
This commit is contained in:
Oleg Agafonov 2020-09-13 09:56:55 +04:00
parent 586538a66c
commit 6e0c7e868c
17 changed files with 504 additions and 156 deletions

View file

@ -1,10 +1,11 @@
package mage.abilities.costs;
import mage.util.Copyable;
/**
* @author LevelX2
*/
public interface OptionalAdditionalCost extends Cost {
public interface OptionalAdditionalCost extends Cost, Copyable<OptionalAdditionalCost> {
String getName();
@ -29,20 +30,18 @@ public interface OptionalAdditionalCost extends Cost {
* message.
*
* @param position - if there are multiple costs, it's the postion the cost
* is set (starting with 0)
* is set (starting with 0)
* @return
*/
String getCastSuffixMessage(int position);
/**
* If the player intends to pay the cost, the cost will be activated
*
*/
void activate();
/**
* Reset the activate and count information
*
*/
void reset();