Changed some X cost abilities (untested)

This commit is contained in:
Evan Kranzler 2017-09-16 12:58:25 -04:00
parent 8302aa1c54
commit d68efc21c5
10 changed files with 99 additions and 72 deletions

View file

@ -40,6 +40,7 @@ import mage.abilities.effects.Effects;
import mage.constants.AbilityType;
import mage.constants.AbilityWord;
import mage.constants.EffectType;
import mage.constants.TargetAdjustment;
import mage.constants.Zone;
import mage.game.Controllable;
import mage.game.Game;
@ -539,4 +540,8 @@ public interface Ability extends Controllable, Serializable {
void setCanFizzle(boolean canFizzle);
boolean canFizzle();
void setTargetAdjustment(TargetAdjustment targetAdjustment);
TargetAdjustment getTargetAdjustment();
}

View file

@ -99,6 +99,7 @@ public abstract class AbilityImpl implements Ability {
protected List<Watcher> watchers = null;
protected List<Ability> subAbilities = null;
protected boolean canFizzle = true;
protected TargetAdjustment targetAdjustment;
public AbilityImpl(AbilityType abilityType, Zone zone) {
this.id = UUID.randomUUID();
@ -1233,4 +1234,13 @@ public abstract class AbilityImpl implements Ability {
this.canFizzle = canFizzle;
}
@Override
public void setTargetAdjustment(TargetAdjustment targetAdjustment) {
this.targetAdjustment = targetAdjustment;
}
@Override
public TargetAdjustment getTargetAdjustment() {
return targetAdjustment;
}
}

View file

@ -0,0 +1,10 @@
package mage.constants;
/**
*
* @author TheElk801
*/
public enum TargetAdjustment {
NONE,XCOST,DEFENDING_PLAYER
}

View file

@ -74,6 +74,7 @@ public class StackAbility extends StackObjImpl implements Ability {
private UUID controllerId;
private String name;
private String expansionSetCode;
private TargetAdjustment targetAdjustment = TargetAdjustment.NONE;
public StackAbility(Ability ability, UUID controllerId) {
this.ability = ability;
@ -612,4 +613,13 @@ public class StackAbility extends StackObjImpl implements Ability {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@Override
public void setTargetAdjustment(TargetAdjustment targetAdjustment) {
this.targetAdjustment = targetAdjustment;
}
@Override
public TargetAdjustment getTargetAdjustment() {
return targetAdjustment;
}
}