Rarity is going to be displayed properly on any side of card, including clones

This commit is contained in:
Maxmtg
2013-02-23 06:59:49 +00:00
parent 7c2f17c78c
commit cb163eaeb4
5 changed files with 42 additions and 11 deletions

View File

@@ -35,7 +35,6 @@ import com.google.common.collect.Iterables;
import forge.CardPredicates.Presets;
import forge.card.CardCharacteristics;
import forge.card.CardEdition;
import forge.card.CardRarity;
import forge.card.CardRules;
import forge.card.ability.AbilityUtils;
@@ -66,7 +65,6 @@ import forge.game.phase.Combat;
import forge.game.player.Player;
import forge.game.zone.ZoneType;
import forge.item.CardDb;
import forge.item.IPaperCard;
import forge.util.Expressions;
/**
@@ -189,9 +187,6 @@ public class Card extends GameEntity implements Comparable<Card> {
private int semiPermanentDefenseBoost = 0;
private int randomPicture = 0;
private CardRarity rarity = CardRarity.Unknown;
private String curSetCode = CardEdition.UNKNOWN.getCode();
private int xManaCostPaid = 0;
private int multiKickerMagnitude = 0;
@@ -8417,7 +8412,7 @@ public class Card extends GameEntity implements Comparable<Card> {
* a {@link java.lang.String} object.
*/
public final void setCurSetCode(final String setCode) {
curSetCode = setCode;
this.getCharacteristics().setCurSetCode(setCode);
}
/**
@@ -8428,7 +8423,7 @@ public class Card extends GameEntity implements Comparable<Card> {
* @return a {@link java.lang.String} object.
*/
public final String getCurSetCode() {
return curSetCode;
return this.getCharacteristics().getCurSetCode();
}
/**
@@ -8439,7 +8434,11 @@ public class Card extends GameEntity implements Comparable<Card> {
* @return a {@link java.lang.String} object.
*/
public final CardRarity getRarity() {
return rarity;
return this.getCharacteristics().getRarity();
}
public final void setRarity(CardRarity r) {
this.getCharacteristics().setRarity(r);
}
/**

View File

@@ -44,8 +44,8 @@ public class CardCharacteristics {
private int baseDefense = 0;
private ArrayList<String> intrinsicKeyword = new ArrayList<String>();
private final ArrayList<SpellAbility> spellAbility = new ArrayList<SpellAbility>();
private ArrayList<String> intrinsicAbility = new ArrayList<String>();
private final List<SpellAbility> manaAbility = new ArrayList<SpellAbility>();
private ArrayList<String> intrinsicAbility = new ArrayList<String>();
private ArrayList<Trigger> triggers = new ArrayList<Trigger>();
private ArrayList<ReplacementEffect> replacementEffects = new ArrayList<ReplacementEffect>();
private ArrayList<StaticAbility> staticAbilities = new ArrayList<StaticAbility>();
@@ -53,6 +53,9 @@ public class CardCharacteristics {
private String imageFilename = "";
private Map<String, String> sVars = new TreeMap<String, String>();
private CardRarity rarity = CardRarity.Unknown;
private String curSetCode = CardEdition.UNKNOWN.getCode();
/**
* Gets the name.
*
@@ -406,6 +409,8 @@ public class CardCharacteristics {
this.staticAbilityStrings = new ArrayList<String>(source.getStaticAbilityStrings());
// String imageFilename = copy reference
this.imageFilename = source.getImageFilename();
this.rarity = source.rarity;
this.curSetCode = source.curSetCode;
// Map<String, String> sVars
this.sVars = new TreeMap<String, String>(source.getSVars());
this.replacementEffects = new ArrayList<ReplacementEffect>();
@@ -414,4 +419,24 @@ public class CardCharacteristics {
}
}
public CardRarity getRarity() {
return rarity;
}
public void setRarity(CardRarity rarity) {
this.rarity = rarity;
}
public String getCurSetCode() {
return curSetCode;
}
public void setCurSetCode(String curSetCode) {
this.curSetCode = curSetCode;
}
}

View File

@@ -241,6 +241,9 @@ public class CardFactory {
buildAbilities(c);
c.setCurSetCode(cp.getEdition());
c.setRarity(cp.getRarity());
c.setRandomPicture(cp.getArtIndex() + 1);
String originalPicture = cp.getImageFilename();
//System.out.println(c.getName() + " -> " + originalPicture);
@@ -257,11 +260,15 @@ public class CardFactory {
if (c.getRules().getSplitType() == CardSplitType.Split) {
c.setState(CardCharacteristicName.LeftSplit);
c.setImageFilename(originalPicture);
c.setCurSetCode(cp.getEdition());
c.setRarity(cp.getRarity());
c.setState(CardCharacteristicName.RightSplit);
c.setImageFilename(originalPicture);
} else {
c.setImageFilename(CardUtil.buildFilename(c));
}
c.setCurSetCode(cp.getEdition());
c.setRarity(cp.getRarity());
c.setState(CardCharacteristicName.Original);
}
return c;

View File

@@ -27,7 +27,6 @@ public class MatchStartHelper {
public void addVanguardPlayer(final LobbyPlayer player, final Deck deck, final CardPrinted avatar) {
PlayerStartConditions start = new PlayerStartConditions(deck);
start.setStartingLife(start.getStartingLife() + avatar.getRules().getLife());
start.setStartingHand(start.getStartingHand() + avatar.getRules().getHand());
start.setCardsInCommand(Arrays.asList(avatar));

View File

@@ -142,6 +142,7 @@ public class QuestUtil {
script.add("Colors:" + properties[1]);
script.add("PT:"+ properties[2] + "/" + properties[3]);
script.add("Types:" + properties[5].replace(';', ' '));
script.add("Oracle:"); // tokens don't have texts yet
// c.setManaCost(properties[1]);
String fileName = properties[1] + " " + properties[2] + " " + properties[3] + " " + properties[4];
final CardToken c = new CardToken(CardRulesReader.parseSingleCard(script), CardEdition.UNKNOWN.getCode(), fileName);