mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 11:18:01 +00:00
*Some Commander infrastructure added
This commit is contained in:
@@ -133,6 +133,7 @@ public class Card extends GameEntity implements Comparable<Card> {
|
|||||||
private List<Card> blockedThisTurn = null;
|
private List<Card> blockedThisTurn = null;
|
||||||
private List<Card> blockedByThisTurn = null;
|
private List<Card> blockedByThisTurn = null;
|
||||||
|
|
||||||
|
private boolean isCommander = false;
|
||||||
private boolean startsGameInPlay = false;
|
private boolean startsGameInPlay = false;
|
||||||
private boolean drawnThisTurn = false;
|
private boolean drawnThisTurn = false;
|
||||||
private boolean tapped = false;
|
private boolean tapped = false;
|
||||||
@@ -7320,6 +7321,10 @@ public class Card extends GameEntity implements Comparable<Card> {
|
|||||||
if (!this.isType(source.getChosenType())) {
|
if (!this.isType(source.getChosenType())) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
} else if (property.equals("IsCommander")) {
|
||||||
|
if(!this.isCommander) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
if (!this.isType(property)) {
|
if (!this.isType(property)) {
|
||||||
return false;
|
return false;
|
||||||
@@ -9139,13 +9144,13 @@ public class Card extends GameEntity implements Comparable<Card> {
|
|||||||
cardRules = r;
|
cardRules = r;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
public boolean isCommander() {
|
||||||
* TODO: Write javadoc for this method.
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public boolean isEdhGeneral() {
|
|
||||||
// TODO - have a field
|
// TODO - have a field
|
||||||
return false;
|
return this.isCommander;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCommander(boolean b) {
|
||||||
|
this.isCommander = b;
|
||||||
}
|
}
|
||||||
|
|
||||||
} // end Card class
|
} // end Card class
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ public class CardCollections {
|
|||||||
private final IStorage<Deck> cube;
|
private final IStorage<Deck> cube;
|
||||||
private final IStorage<Deck> scheme;
|
private final IStorage<Deck> scheme;
|
||||||
private final IStorage<Deck> plane;
|
private final IStorage<Deck> plane;
|
||||||
|
private final IStorage<Deck> commander;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO: Write javadoc for Constructor.
|
* TODO: Write javadoc for Constructor.
|
||||||
@@ -56,9 +57,10 @@ public class CardCollections {
|
|||||||
this.cube = new StorageImmediatelySerialized<Deck>(new DeckSerializer(new File(NewConstants.DECK_CUBE_DIR)));
|
this.cube = new StorageImmediatelySerialized<Deck>(new DeckSerializer(new File(NewConstants.DECK_CUBE_DIR)));
|
||||||
this.scheme = new StorageImmediatelySerialized<Deck>(new DeckSerializer(new File(NewConstants.DECK_SCHEME_DIR)));
|
this.scheme = new StorageImmediatelySerialized<Deck>(new DeckSerializer(new File(NewConstants.DECK_SCHEME_DIR)));
|
||||||
this.plane = new StorageImmediatelySerialized<Deck>(new DeckSerializer(new File(NewConstants.DECK_PLANE_DIR)));
|
this.plane = new StorageImmediatelySerialized<Deck>(new DeckSerializer(new File(NewConstants.DECK_PLANE_DIR)));
|
||||||
|
this.commander = new StorageImmediatelySerialized<Deck>(new DeckSerializer(new File(NewConstants.DECK_COMMANDER_DIR)));
|
||||||
|
|
||||||
sw.stop();
|
sw.stop();
|
||||||
System.out.printf("Read decks (%d ms): %d constructed, %d sealed, %d draft, %d cubes, %d scheme, %d planar.%n", sw.getTime(), constructed.size(), sealed.size(), draft.size(), cube.size(), scheme.size(), plane.size());
|
System.out.printf("Read decks (%d ms): %d constructed, %d sealed, %d draft, %d cubes, %d scheme, %d planar, %d commander.%n", sw.getTime(), constructed.size(), sealed.size(), draft.size(), cube.size(), scheme.size(), plane.size(),commander.size());
|
||||||
// int sum = constructed.size() + sealed.size() + draft.size() + cube.size() + scheme.size() + plane.size();
|
// int sum = constructed.size() + sealed.size() + draft.size() + cube.size() + scheme.size() + plane.size();
|
||||||
// FSkin.setProgessBarMessage(String.format("Loaded %d decks in %f sec", sum, sw.getTime() / 1000f ));
|
// FSkin.setProgessBarMessage(String.format("Loaded %d decks in %f sec", sum, sw.getTime() / 1000f ));
|
||||||
// remove this after most people have been switched to new layout
|
// remove this after most people have been switched to new layout
|
||||||
@@ -116,5 +118,12 @@ public class CardCollections {
|
|||||||
public IStorage<Deck> getPlane() {
|
public IStorage<Deck> getPlane() {
|
||||||
return plane;
|
return plane;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the plane
|
||||||
|
*/
|
||||||
|
public IStorage<Deck> getCommander() {
|
||||||
|
return commander;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,7 +16,8 @@ public enum GameType {
|
|||||||
Constructed ( DeckFormat.Constructed, false, true ),
|
Constructed ( DeckFormat.Constructed, false, true ),
|
||||||
Archenemy ( DeckFormat.Archenemy, false, false ),
|
Archenemy ( DeckFormat.Archenemy, false, false ),
|
||||||
Planechase ( DeckFormat.Planechase, false, false ),
|
Planechase ( DeckFormat.Planechase, false, false ),
|
||||||
Vanguard ( DeckFormat.Vanguard, true, true );
|
Vanguard ( DeckFormat.Vanguard, true, true ),
|
||||||
|
Commander ( DeckFormat.Commander, false, false);
|
||||||
|
|
||||||
private final DeckFormat decksFormat;
|
private final DeckFormat decksFormat;
|
||||||
private final boolean bCardpoolLimited;
|
private final boolean bCardpoolLimited;
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import java.util.HashMap;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import forge.deck.Deck;
|
import forge.deck.Deck;
|
||||||
|
import forge.deck.DeckSection;
|
||||||
import forge.game.player.LobbyPlayer;
|
import forge.game.player.LobbyPlayer;
|
||||||
import forge.item.CardPrinted;
|
import forge.item.CardPrinted;
|
||||||
|
|
||||||
@@ -33,6 +34,15 @@ public class MatchStartHelper {
|
|||||||
|
|
||||||
players.put(player, start);
|
players.put(player, start);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void addCommanderPlayer(final LobbyPlayer player, final Deck deck)
|
||||||
|
{
|
||||||
|
PlayerStartConditions start = new PlayerStartConditions(deck);
|
||||||
|
start.setStartingLife(40);
|
||||||
|
start.setCardsInCommand(deck.get(DeckSection.Commander).toFlatList());
|
||||||
|
|
||||||
|
players.put(player, start);
|
||||||
|
}
|
||||||
|
|
||||||
public void addArchenemy(final LobbyPlayer player, final Deck deck, final Iterable<CardPrinted> schemes) {
|
public void addArchenemy(final LobbyPlayer player, final Deck deck, final Iterable<CardPrinted> schemes) {
|
||||||
PlayerStartConditions start = new PlayerStartConditions(deck);
|
PlayerStartConditions start = new PlayerStartConditions(deck);
|
||||||
|
|||||||
@@ -644,7 +644,7 @@ public abstract class Player extends GameEntity implements Comparable<Player> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
this.assignedDamage.put(source, damageToDo);
|
this.assignedDamage.put(source, damageToDo);
|
||||||
if(source.isEdhGeneral())
|
if(source.isCommander())
|
||||||
this.edhGeneralDamage+= damageToDo;
|
this.edhGeneralDamage+= damageToDo;
|
||||||
|
|
||||||
GameActionUtil.executeDamageDealingEffects(source, damageToDo);
|
GameActionUtil.executeDamageDealingEffects(source, damageToDo);
|
||||||
|
|||||||
@@ -75,6 +75,7 @@ public final class NewConstants {
|
|||||||
public static final String DECK_SEALED_DIR = DECK_BASE_DIR + "sealed/";
|
public static final String DECK_SEALED_DIR = DECK_BASE_DIR + "sealed/";
|
||||||
public static final String DECK_SCHEME_DIR = DECK_BASE_DIR + "scheme/";
|
public static final String DECK_SCHEME_DIR = DECK_BASE_DIR + "scheme/";
|
||||||
public static final String DECK_PLANE_DIR = DECK_BASE_DIR + "planar/";
|
public static final String DECK_PLANE_DIR = DECK_BASE_DIR + "planar/";
|
||||||
|
public static final String DECK_COMMANDER_DIR = DECK_BASE_DIR + "commander/";
|
||||||
public static final String QUEST_SAVE_DIR = USER_QUEST_DIR + "saves/";
|
public static final String QUEST_SAVE_DIR = USER_QUEST_DIR + "saves/";
|
||||||
public static final String MAIN_PREFS_FILE = USER_PREFS_DIR + "forge.preferences";
|
public static final String MAIN_PREFS_FILE = USER_PREFS_DIR + "forge.preferences";
|
||||||
public static final String QUEST_PREFS_FILE = USER_PREFS_DIR + "quest.preferences";
|
public static final String QUEST_PREFS_FILE = USER_PREFS_DIR + "quest.preferences";
|
||||||
|
|||||||
Reference in New Issue
Block a user