[RIX] Added Vona's Hunger.

This commit is contained in:
LevelX2 2017-12-21 17:08:24 +01:00
parent 859242279e
commit 43c732c751
13 changed files with 474 additions and 48 deletions

View file

@ -5,6 +5,10 @@
*/
package mage.designations;
import java.util.ArrayList;
import java.util.EnumSet;
import java.util.List;
import java.util.UUID;
import mage.MageInt;
import mage.MageObject;
import mage.ObjectColor;
@ -14,6 +18,7 @@ import mage.abilities.Ability;
import mage.abilities.costs.mana.ManaCost;
import mage.abilities.costs.mana.ManaCosts;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.text.TextPart;
import mage.cards.FrameStyle;
import mage.constants.CardType;
import mage.constants.SubType;
@ -23,11 +28,6 @@ import mage.game.events.ZoneChangeEvent;
import mage.util.GameLog;
import mage.util.SubTypeList;
import java.util.ArrayList;
import java.util.EnumSet;
import java.util.List;
import java.util.UUID;
/**
*
* @author LevelX2
@ -40,27 +40,35 @@ public abstract class Designation implements MageObject {
private static ManaCostsImpl emptyCost = new ManaCostsImpl();
private String name;
private DesignationType designationType;
private UUID id;
private FrameStyle frameStyle;
private Abilities<Ability> abilites = new AbilitiesImpl<>();
private String expansionSetCodeForImage;
private final boolean unique; // can a designation be added multiple times (false) or only once to an object (true)
public Designation(String name, String expansionSetCode) {
this.name = name;
public Designation(DesignationType designationType, String expansionSetCode) {
this(designationType, expansionSetCode, true);
}
public Designation(DesignationType designationType, String expansionSetCode, boolean unique) {
this.name = designationType.name();
this.designationType = designationType;
this.id = UUID.randomUUID();
this.frameStyle = FrameStyle.M15_NORMAL;
this.expansionSetCodeForImage = expansionSetCode;
this.unique = unique;
}
public Designation(final Designation designation) {
this.id = designation.id;
this.name = designation.name;
this.designationType = designation.designationType;
this.frameStyle = designation.frameStyle;
this.abilites = designation.abilites.copy();
this.unique = designation.unique;
}
public abstract void start(Game game, UUID controllerId);
@Override
public FrameStyle getFrameStyle() {
return frameStyle;
@ -110,6 +118,10 @@ public abstract class Designation implements MageObject {
return this.id;
}
public DesignationType getDesignationType() {
return designationType;
}
public void setExpansionSetCodeForImage(String expansionSetCodeForImage) {
this.expansionSetCodeForImage = expansionSetCodeForImage;
}
@ -218,4 +230,38 @@ public abstract class Designation implements MageObject {
@Override
public void removePTCDA() {
}
/**
*
* @param game
* @param controllerId
*/
public void start(Game game, UUID controllerId) {
}
@Override
public boolean isAllCreatureTypes() {
return false;
}
@Override
public void setIsAllCreatureTypes(boolean value) {
}
@Override
public List<TextPart> getTextParts() {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
@Override
public TextPart addTextPart(TextPart textPart) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
public boolean isUnique() {
return unique;
}
}