mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 11:48:02 +00:00
- Committed "exile from hand/battlefield" dev menu options by Zuchinni.
This commit is contained in:
@@ -35,12 +35,14 @@ public final class CDev implements ICDoc {
|
|||||||
view.getLblDumpGame().addMouseListener(madDump);
|
view.getLblDumpGame().addMouseListener(madDump);
|
||||||
view.getLblTutor().addMouseListener(madTutor);
|
view.getLblTutor().addMouseListener(madTutor);
|
||||||
view.getLblCardToHand().addMouseListener(madCardToHand);
|
view.getLblCardToHand().addMouseListener(madCardToHand);
|
||||||
|
view.getLblExileFromHand().addMouseListener(madExileFromHand);
|
||||||
view.getLblCounterPermanent().addMouseListener(madCounter);
|
view.getLblCounterPermanent().addMouseListener(madCounter);
|
||||||
view.getLblTapPermanent().addMouseListener(madTap);
|
view.getLblTapPermanent().addMouseListener(madTap);
|
||||||
view.getLblUntapPermanent().addMouseListener(madUntap);
|
view.getLblUntapPermanent().addMouseListener(madUntap);
|
||||||
view.getLblSetLife().addMouseListener(madLife);
|
view.getLblSetLife().addMouseListener(madLife);
|
||||||
view.getLblWinGame().addMouseListener(madWinGame);
|
view.getLblWinGame().addMouseListener(madWinGame);
|
||||||
view.getLblCardToBattlefield().addMouseListener(madCardToBattlefield);
|
view.getLblCardToBattlefield().addMouseListener(madCardToBattlefield);
|
||||||
|
view.getLblExileFromPlay().addMouseListener(madExileFromPlay);
|
||||||
view.getLblRiggedRoll().addMouseListener(madRiggedRoll);
|
view.getLblRiggedRoll().addMouseListener(madRiggedRoll);
|
||||||
view.getLblWalkTo().addMouseListener(madWalkToPlane);
|
view.getLblWalkTo().addMouseListener(madWalkToPlane);
|
||||||
}
|
}
|
||||||
@@ -130,6 +132,17 @@ public final class CDev implements ICDoc {
|
|||||||
getController().cheat().addCardToHand();
|
getController().cheat().addCardToHand();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private final MouseListener madExileFromHand = new MouseAdapter() {
|
||||||
|
@Override
|
||||||
|
public void mousePressed(final MouseEvent e) {
|
||||||
|
exileCardsFromHand();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
public void exileCardsFromHand() {
|
||||||
|
getController().cheat().exileCardsFromHand();;
|
||||||
|
}
|
||||||
|
|
||||||
private final MouseListener madCounter = new MouseAdapter() {
|
private final MouseListener madCounter = new MouseAdapter() {
|
||||||
@Override
|
@Override
|
||||||
public void mousePressed(final MouseEvent e) {
|
public void mousePressed(final MouseEvent e) {
|
||||||
@@ -190,6 +203,16 @@ public final class CDev implements ICDoc {
|
|||||||
getController().cheat().addCardToBattlefield();
|
getController().cheat().addCardToBattlefield();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private final MouseListener madExileFromPlay = new MouseAdapter() {
|
||||||
|
@Override
|
||||||
|
public void mousePressed(final MouseEvent e) {
|
||||||
|
exileCardsFromPlay();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
public void exileCardsFromPlay() {
|
||||||
|
getController().cheat().exileCardsFromBattlefield();
|
||||||
|
}
|
||||||
|
|
||||||
private final MouseListener madRiggedRoll = new MouseAdapter() {
|
private final MouseListener madRiggedRoll = new MouseAdapter() {
|
||||||
@Override
|
@Override
|
||||||
public void mousePressed(final MouseEvent e) {
|
public void mousePressed(final MouseEvent e) {
|
||||||
|
|||||||
@@ -33,6 +33,8 @@ public class DevModeMenu implements ActionListener, IDevListener {
|
|||||||
TUTOR_FOR_CARD("Tutor for Card"),
|
TUTOR_FOR_CARD("Tutor for Card"),
|
||||||
ADD_CARD_TO_HAND("Add Card to Hand"),
|
ADD_CARD_TO_HAND("Add Card to Hand"),
|
||||||
ADD_CARD_TO_PLAY("Add Card to Play"),
|
ADD_CARD_TO_PLAY("Add Card to Play"),
|
||||||
|
EXILE_FROM_HAND("Exile from Hand"),
|
||||||
|
EXILE_FROM_PLAY("Exile from Play"),
|
||||||
SET_PLAYER_LIFE("Set Player Life"),
|
SET_PLAYER_LIFE("Set Player Life"),
|
||||||
WIN_GAME("Win Game"),
|
WIN_GAME("Win Game"),
|
||||||
SETUP_GAME_STATE("Setup Game State"),
|
SETUP_GAME_STATE("Setup Game State"),
|
||||||
@@ -76,6 +78,8 @@ public class DevModeMenu implements ActionListener, IDevListener {
|
|||||||
menu.addSeparator();
|
menu.addSeparator();
|
||||||
menu.add(getMenuItem(DevMenuItem.ADD_CARD_TO_HAND));
|
menu.add(getMenuItem(DevMenuItem.ADD_CARD_TO_HAND));
|
||||||
menu.add(getMenuItem(DevMenuItem.ADD_CARD_TO_PLAY));
|
menu.add(getMenuItem(DevMenuItem.ADD_CARD_TO_PLAY));
|
||||||
|
menu.add(getMenuItem(DevMenuItem.EXILE_FROM_HAND));
|
||||||
|
menu.add(getMenuItem(DevMenuItem.EXILE_FROM_PLAY));
|
||||||
menu.addSeparator();
|
menu.addSeparator();
|
||||||
menu.add(getMenuItem(DevMenuItem.SET_PLAYER_LIFE));
|
menu.add(getMenuItem(DevMenuItem.SET_PLAYER_LIFE));
|
||||||
menu.add(getMenuItem(DevMenuItem.WIN_GAME));
|
menu.add(getMenuItem(DevMenuItem.WIN_GAME));
|
||||||
@@ -119,6 +123,8 @@ public class DevModeMenu implements ActionListener, IDevListener {
|
|||||||
case TUTOR_FOR_CARD: { controller.tutorForCard(); break; }
|
case TUTOR_FOR_CARD: { controller.tutorForCard(); break; }
|
||||||
case ADD_CARD_TO_HAND: { controller.addCardToHand(); break; }
|
case ADD_CARD_TO_HAND: { controller.addCardToHand(); break; }
|
||||||
case ADD_CARD_TO_PLAY: { controller.addCardToBattlefield(); break; }
|
case ADD_CARD_TO_PLAY: { controller.addCardToBattlefield(); break; }
|
||||||
|
case EXILE_FROM_PLAY: { controller.exileCardsFromPlay(); break; }
|
||||||
|
case EXILE_FROM_HAND: { controller.exileCardsFromHand(); break; }
|
||||||
case SET_PLAYER_LIFE: { controller.setPlayerLife(); break; }
|
case SET_PLAYER_LIFE: { controller.setPlayerLife(); break; }
|
||||||
case WIN_GAME: { controller.winGame(); break; }
|
case WIN_GAME: { controller.winGame(); break; }
|
||||||
case SETUP_GAME_STATE: { controller.setupGameState(); break; }
|
case SETUP_GAME_STATE: { controller.setupGameState(); break; }
|
||||||
|
|||||||
@@ -66,7 +66,9 @@ public class VDev implements IVDoc<CDev>, IDevListener {
|
|||||||
private final DevLabel lblSetLife = new DevLabel("Set Player Life");
|
private final DevLabel lblSetLife = new DevLabel("Set Player Life");
|
||||||
private final DevLabel lblWinGame = new DevLabel("Win Game");
|
private final DevLabel lblWinGame = new DevLabel("Win Game");
|
||||||
private final DevLabel lblCardToBattlefield = new DevLabel("Add Card to Play");
|
private final DevLabel lblCardToBattlefield = new DevLabel("Add Card to Play");
|
||||||
|
private final DevLabel lblExileFromPlay = new DevLabel("Exile Card from Play");
|
||||||
private final DevLabel lblCardToHand = new DevLabel("Add Card to Hand");
|
private final DevLabel lblCardToHand = new DevLabel("Add Card to Hand");
|
||||||
|
private final DevLabel lblExileFromHand = new DevLabel("Exile Card from Hand");
|
||||||
private final DevLabel lblRiggedRoll = new DevLabel("Rigged Planar Roll");
|
private final DevLabel lblRiggedRoll = new DevLabel("Rigged Planar Roll");
|
||||||
private final DevLabel lblWalkTo = new DevLabel("Planeswalk to");
|
private final DevLabel lblWalkTo = new DevLabel("Planeswalk to");
|
||||||
|
|
||||||
@@ -86,6 +88,8 @@ public class VDev implements IVDoc<CDev>, IDevListener {
|
|||||||
viewport.add(this.lblViewAll, halfConstraints);
|
viewport.add(this.lblViewAll, halfConstraints);
|
||||||
viewport.add(this.lblCardToHand, halfConstraintsLeft);
|
viewport.add(this.lblCardToHand, halfConstraintsLeft);
|
||||||
viewport.add(this.lblCardToBattlefield, halfConstraints);
|
viewport.add(this.lblCardToBattlefield, halfConstraints);
|
||||||
|
viewport.add(this.lblExileFromPlay, halfConstraintsLeft);
|
||||||
|
viewport.add(this.lblExileFromHand, halfConstraints);
|
||||||
viewport.add(this.lblSetLife, halfConstraintsLeft);
|
viewport.add(this.lblSetLife, halfConstraintsLeft);
|
||||||
viewport.add(this.lblWinGame, halfConstraints);
|
viewport.add(this.lblWinGame, halfConstraints);
|
||||||
viewport.add(this.lblSetupGame, halfConstraintsLeft);
|
viewport.add(this.lblSetupGame, halfConstraintsLeft);
|
||||||
@@ -182,11 +186,21 @@ public class VDev implements IVDoc<CDev>, IDevListener {
|
|||||||
return this.lblCardToHand;
|
return this.lblCardToHand;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** @return {@link forge.screens.match.views.VDev.DevLabel} */
|
||||||
|
public DevLabel getLblExileFromHand() {
|
||||||
|
return this.lblExileFromHand;
|
||||||
|
}
|
||||||
|
|
||||||
/** @return {@link forge.screens.match.views.VDev.DevLabel} */
|
/** @return {@link forge.screens.match.views.VDev.DevLabel} */
|
||||||
public final DevLabel getLblCardToBattlefield() {
|
public final DevLabel getLblCardToBattlefield() {
|
||||||
return lblCardToBattlefield;
|
return lblCardToBattlefield;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** @return {@link forge.screens.match.views.VDev.DevLabel} */
|
||||||
|
public DevLabel getLblExileFromPlay() {
|
||||||
|
return this.lblExileFromPlay;
|
||||||
|
}
|
||||||
|
|
||||||
/** @return {@link forge.screens.match.views.VDev.DevLabel} */
|
/** @return {@link forge.screens.match.views.VDev.DevLabel} */
|
||||||
public DevLabel getLblCounterPermanent() {
|
public DevLabel getLblCounterPermanent() {
|
||||||
return this.lblCounterPermanent;
|
return this.lblCounterPermanent;
|
||||||
|
|||||||
@@ -26,6 +26,16 @@ public interface IDevModeCheats {
|
|||||||
|
|
||||||
void addCardToHand();
|
void addCardToHand();
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Exiles cards from specified player's hand. Will prompt user for player and cards.
|
||||||
|
*/
|
||||||
|
void exileCardsFromHand();
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Exiles cards from play. Will prompt user for player and cards.
|
||||||
|
*/
|
||||||
|
void exileCardsFromBattlefield();
|
||||||
|
|
||||||
void addCardToBattlefield();
|
void addCardToBattlefield();
|
||||||
|
|
||||||
void riggedPlanarRoll();
|
void riggedPlanarRoll();
|
||||||
@@ -80,6 +90,12 @@ public interface IDevModeCheats {
|
|||||||
public void addCardToHand() {
|
public void addCardToHand() {
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
|
public void exileCardsFromHand() {
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void exileCardsFromBattlefield() {
|
||||||
|
}
|
||||||
|
@Override
|
||||||
public void addCardToBattlefield() {
|
public void addCardToBattlefield() {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1784,6 +1784,72 @@ public class PlayerControllerHuman
|
|||||||
}});
|
}});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see forge.player.IDevModeCheats#exileCardsFromHand()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void exileCardsFromHand() {
|
||||||
|
final Player p = game.getPlayer(getGui().oneOrNone("Exile card(s) from which player's hand?", PlayerView.getCollection(game.getPlayers())));
|
||||||
|
if (p == null) { return; }
|
||||||
|
|
||||||
|
final CardCollection selection;
|
||||||
|
|
||||||
|
CardCollectionView cardsInHand = p.getCardsIn(ZoneType.Hand);
|
||||||
|
selection = game.getCardList(getGui().many("Choose cards to exile",
|
||||||
|
"Discarded", 0, -1, CardView.getCollection(cardsInHand), null));
|
||||||
|
|
||||||
|
if (selection != null && selection.size() > 0)
|
||||||
|
{
|
||||||
|
for (Card c : selection)
|
||||||
|
{
|
||||||
|
if (c == null) { continue; }
|
||||||
|
if (game.getAction().moveTo(ZoneType.Exile, c) != null)
|
||||||
|
{
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
sb.append(p).append(" exiles ").append(c).append(" due to Dev Cheats.");
|
||||||
|
game.getGameLog().add(GameLogEntryType.DISCARD, sb.toString());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
game.getGameLog().add(GameLogEntryType.INFORMATION, "DISCARD CHEAT ERROR");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see forge.player.IDevModeCheats#exileCardsFromBattlefield()
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void exileCardsFromBattlefield() {
|
||||||
|
final Player p = game.getPlayer(getGui().oneOrNone("Exile card(s) from which player's battlefield?", PlayerView.getCollection(game.getPlayers())));
|
||||||
|
if (p == null) { return; }
|
||||||
|
|
||||||
|
final CardCollection selection;
|
||||||
|
|
||||||
|
CardCollectionView cardsInPlay = p.getCardsIn(ZoneType.Battlefield);
|
||||||
|
selection = game.getCardList(getGui().many("Choose cards to exile",
|
||||||
|
"Discarded", 0, -1, CardView.getCollection(cardsInPlay), null));
|
||||||
|
|
||||||
|
if (selection != null && selection.size() > 0)
|
||||||
|
{
|
||||||
|
for (Card c : selection)
|
||||||
|
{
|
||||||
|
if (c == null) { continue; }
|
||||||
|
if (game.getAction().moveTo(ZoneType.Exile, c) != null)
|
||||||
|
{
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
sb.append(p).append(" exiles ").append(c).append(" due to Dev Cheats.");
|
||||||
|
game.getGameLog().add(GameLogEntryType.ZONE_CHANGE, sb.toString());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
game.getGameLog().add(GameLogEntryType.INFORMATION, "EXILE FROM PLAY CHEAT ERROR");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see forge.player.IDevModeCheats#addCardToBattlefield()
|
* @see forge.player.IDevModeCheats#addCardToBattlefield()
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user