mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 19:28:01 +00:00
include setcode and artid for gamestate
This commit is contained in:
@@ -107,7 +107,7 @@ public abstract class GameState {
|
||||
public GameState() {
|
||||
}
|
||||
|
||||
public abstract IPaperCard getPaperCard(String cardName);
|
||||
public abstract IPaperCard getPaperCard(String cardName, String setCode, int artID);
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
@@ -258,9 +258,12 @@ public abstract class GameState {
|
||||
|
||||
if (c.hasMergedCard()) {
|
||||
// we have to go by the current top card name here
|
||||
newText.append(c.getTopMergedCard().getPaperCard().getName());
|
||||
newText.append(c.getTopMergedCard().getPaperCard().getName()).append("|Set:")
|
||||
.append(c.getTopMergedCard().getPaperCard().getEdition()).append("|Art:")
|
||||
.append(c.getTopMergedCard().getPaperCard().getArtIndex());
|
||||
} else {
|
||||
newText.append(c.getPaperCard().getName());
|
||||
newText.append(c.getPaperCard().getName()).append("|Set:").append(c.getPaperCard().getEdition())
|
||||
.append("|Art:").append(c.getPaperCard().getArtIndex());
|
||||
}
|
||||
}
|
||||
if (c.isCommander()) {
|
||||
@@ -735,11 +738,13 @@ public abstract class GameState {
|
||||
String id = rememberedEnts.getValue();
|
||||
|
||||
Card exiledWith = idToCard.get(Integer.parseInt(id));
|
||||
if (exiledWith != null) {
|
||||
exiledWith.addExiledCard(c);
|
||||
c.setExiledWith(exiledWith);
|
||||
c.setExiledBy(exiledWith.getController());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private int parseTargetInScript(final String tgtDef) {
|
||||
int tgtID;
|
||||
@@ -1196,6 +1201,18 @@ public abstract class GameState {
|
||||
}
|
||||
}
|
||||
|
||||
int artID = -1;
|
||||
for (final String info : cardinfo) {
|
||||
if (info.startsWith("Art:")) {
|
||||
try {
|
||||
artID = Integer.parseInt(info.substring(info.indexOf(':') + 1));
|
||||
} catch (Exception e) {
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Card c;
|
||||
boolean hasSetCurSet = false;
|
||||
if (cardinfo[0].startsWith("t:")) {
|
||||
@@ -1212,7 +1229,7 @@ public abstract class GameState {
|
||||
}
|
||||
c = Card.fromPaperCard(token, player, player.getGame());
|
||||
} else {
|
||||
PaperCard pc = StaticData.instance().getCommonCards().getCard(cardinfo[0], setCode);
|
||||
PaperCard pc = StaticData.instance().getCommonCards().getCard(cardinfo[0], setCode, artID);
|
||||
if (pc == null) {
|
||||
System.err.println("ERROR: Tried to create a non-existent card named " + cardinfo[0] + " (set: " + (setCode == null ? "any" : setCode) + ") when loading game state!");
|
||||
continue;
|
||||
|
||||
@@ -262,9 +262,9 @@ public class MatchController extends AbstractGuiGame {
|
||||
|
||||
if (ph != null && saveState && ph.isMain()) {
|
||||
phaseGameState = new GameState() {
|
||||
@Override //todo get specific card edition for this function?
|
||||
public IPaperCard getPaperCard(final String cardName) {
|
||||
return FModel.getMagicDb().getCommonCards().getCard(cardName);
|
||||
@Override
|
||||
public IPaperCard getPaperCard(final String cardName, final String setCode, final int artID) {
|
||||
return FModel.getMagicDb().getCommonCards().getCard(cardName, setCode, artID);
|
||||
}
|
||||
};
|
||||
try {
|
||||
|
||||
@@ -98,8 +98,8 @@ public class Puzzle extends GameState implements InventoryItem, Comparable<Puzzl
|
||||
this.parse(stateLines);
|
||||
}
|
||||
|
||||
public IPaperCard getPaperCard(final String cardName) {
|
||||
return FModel.getMagicDb().getCommonCards().getCard(cardName);
|
||||
public IPaperCard getPaperCard(final String cardName, final String setCode, final int artID) {
|
||||
return FModel.getMagicDb().getCommonCards().getCard(cardName, setCode, artID);
|
||||
}
|
||||
|
||||
public void setupMaxPlayerHandSize(Game game, int maxHandSize) {
|
||||
|
||||
@@ -2451,8 +2451,8 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont
|
||||
private GameState createGameStateObject() {
|
||||
return new GameState() {
|
||||
@Override
|
||||
public IPaperCard getPaperCard(final String cardName) {
|
||||
return FModel.getMagicDb().getCommonCards().getCard(cardName);
|
||||
public IPaperCard getPaperCard(final String cardName, final String setCode, final int artID) {
|
||||
return FModel.getMagicDb().getCommonCards().getCard(cardName, setCode, artID);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user