forked from External/mage
Game: fixed rare bugs in some cards after rollback or cancel actions:
* Cumulative upkeep cost - fixed that it can lost payed state (cards: Aboroth, Karplusan Minotaur, Psychic Vortex, Sheltering Ancient); * Effects - fixed that it can lost selected targets or other settings (cards: Citadel of Pain, Crimson Honor Guard, Curfew, Leveler, Mana Cache, Monsoon, Paradigm Shift, Saprazzan Bailiff); * Exile all cards from graveyard ability - fixed that it can lost targets (example: Agent of Erebos); * Melee ability - fixed that it can lost targets (example: Adriana, Captain of the Guard).
This commit is contained in:
parent
82cc789534
commit
07ddad6e48
60 changed files with 163 additions and 224 deletions
|
|
@ -3,11 +3,19 @@ package mage.abilities.dynamicvalue;
|
|||
import mage.abilities.Ability;
|
||||
import mage.abilities.effects.Effect;
|
||||
import mage.game.Game;
|
||||
import mage.util.Copyable;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
public interface DynamicValue extends Serializable {
|
||||
/**
|
||||
* Dynamic value can be called multiple times from different places, so don't use inner/changeable fields. If you
|
||||
* use it then think x100 times and override Copy method with copy constructor.
|
||||
*/
|
||||
public interface DynamicValue extends Serializable, Copyable<DynamicValue> {
|
||||
|
||||
int calculate(Game game, Ability sourceAbility, Effect effect);
|
||||
|
||||
DynamicValue copy();
|
||||
|
||||
String getMessage();
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue