mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 19:28:01 +00:00
Merge pull request #8145 from kevlahnota/newMaster
fix Rewarded Deck dialogs
This commit is contained in:
@@ -1160,20 +1160,20 @@ public class AdventurePlayer implements Serializable, SaveFileContent {
|
||||
questFlags.clear();
|
||||
}
|
||||
|
||||
public void addQuest(String questID) {
|
||||
public void addQuest(String questID, boolean isNewGame) {
|
||||
int id = Integer.parseInt(questID);
|
||||
addQuest(id);
|
||||
addQuest(id, isNewGame);
|
||||
}
|
||||
|
||||
public void addQuest(int questID) {
|
||||
public void addQuest(int questID, boolean isNewGame) {
|
||||
AdventureQuestData toAdd = AdventureQuestController.instance().generateQuest(questID);
|
||||
|
||||
if (toAdd != null) {
|
||||
addQuest(toAdd);
|
||||
addQuest(toAdd, isNewGame);
|
||||
}
|
||||
}
|
||||
|
||||
public void addQuest(AdventureQuestData q) {
|
||||
public void addQuest(AdventureQuestData q, boolean isNewGame) {
|
||||
//TODO: add a config flag for this
|
||||
boolean noTrackedQuests = true;
|
||||
for (AdventureQuestData existing : quests) {
|
||||
@@ -1186,7 +1186,8 @@ public class AdventurePlayer implements Serializable, SaveFileContent {
|
||||
if (noTrackedQuests || q.autoTrack)
|
||||
AdventureQuestController.trackQuest(q);
|
||||
q.activateNextStages();
|
||||
AdventureQuestController.instance().showQuestDialogs(MapStage.getInstance());
|
||||
if (!isNewGame)
|
||||
AdventureQuestController.instance().showQuestDialogs(MapStage.getInstance());
|
||||
}
|
||||
|
||||
public List<AdventureQuestData> getQuests() {
|
||||
|
||||
@@ -268,7 +268,7 @@ public class NewGameScene extends MenuScene {
|
||||
SoundSystem.instance.changeBackgroundTrack();
|
||||
WorldStage.getInstance().enterSpawnPOI();
|
||||
if (AdventurePlayer.current().getQuests().stream().noneMatch(q -> q.getID() == 28)) {
|
||||
AdventurePlayer.current().addQuest("28"); //Temporary link to Shandalar main questline
|
||||
AdventurePlayer.current().addQuest("28", true); //Temporary link to Shandalar main questline
|
||||
}
|
||||
Forge.switchScene(GameScene.instance());
|
||||
};
|
||||
|
||||
@@ -254,7 +254,7 @@ public class SaveLoadScene extends UIScene {
|
||||
Current.player().resetQuestFlags();
|
||||
Current.player().setCharacterFlag("newGamePlus", 1);
|
||||
Current.player().removeAllQuestItems();
|
||||
AdventurePlayer.current().addQuest("28");
|
||||
AdventurePlayer.current().addQuest("28", true);
|
||||
WorldSave.getCurrentSave().clearBookmarks();
|
||||
WorldStage.getInstance().enterSpawnPOI();
|
||||
SoundSystem.instance.changeBackgroundTrack();
|
||||
|
||||
@@ -98,10 +98,24 @@ public class TileMapScene extends HudScene {
|
||||
if (Current.player().fullHeal())
|
||||
autoheal = true; // to play sound/effect on act
|
||||
}
|
||||
if (WorldSave.getCurrentSave().getPlayer().hasAnnounceFantasy()) {
|
||||
WorldSave.getCurrentSave().getPlayer().clearAnnounceFantasy();
|
||||
MapStage.getInstance().showDeckAwardDialog("{BLINK=WHITE;RED}Chaos Mode!{ENDBLINK}\n" +
|
||||
"Enemy will use Preconstructed or Random Generated Decks. Genetic AI Decks will be available to some enemies on Hard difficulty.",
|
||||
WorldSave.getCurrentSave().getPlayer().getSelectedDeck(), this::initializeDialogs);
|
||||
} else if (WorldSave.getCurrentSave().getPlayer().hasAnnounceCustom()) {
|
||||
WorldSave.getCurrentSave().getPlayer().clearAnnounceCustom();
|
||||
MapStage.getInstance().showDeckAwardDialog("{GRADIENT}Custom Deck Mode!{ENDGRADIENT}\n" +
|
||||
"Some enemies will use Genetic AI Decks randomly.", WorldSave.getCurrentSave().getPlayer().getSelectedDeck(), this::initializeDialogs);
|
||||
} else {
|
||||
initializeDialogs();
|
||||
}
|
||||
}
|
||||
|
||||
private void initializeDialogs() {
|
||||
AdventureQuestController.instance().updateEnteredPOI(rootPoint);
|
||||
AdventureQuestController.instance().showQuestDialogs(stage);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean leave() {
|
||||
// clear player collision on WorldStage and the GameHUD will restore it after the flicker animation.
|
||||
|
||||
@@ -178,7 +178,7 @@ public class ConsoleCommandInterpreter {
|
||||
catch (Exception e){
|
||||
return "Can not convert " +s[0]+" to number";
|
||||
}
|
||||
Current.player().addQuest(ID);
|
||||
Current.player().addQuest(ID, false);
|
||||
return "Quest generated";
|
||||
});
|
||||
registerCommand(new String[]{"give", "shards"}, s -> {
|
||||
|
||||
@@ -191,7 +191,7 @@ public abstract class GameStage extends Stage {
|
||||
showDialog();
|
||||
}
|
||||
|
||||
public void showDeckAwardDialog(String message, Deck deck) {
|
||||
public void showDeckAwardDialog(String message, Deck deck, Runnable runnable) {
|
||||
dialog.getContentTable().clear();
|
||||
dialog.getButtonTable().clear();
|
||||
dialog.clearListeners();
|
||||
@@ -236,7 +236,11 @@ public abstract class GameStage extends Stage {
|
||||
L.skipToTheEnd();
|
||||
|
||||
dialog.getContentTable().add(L).width(250);
|
||||
dialog.getButtonTable().add(Controls.newTextButton("OK", this::hideDialog)).width(240);
|
||||
dialog.getButtonTable().add(Controls.newTextButton("OK", () -> {
|
||||
hideDialog();
|
||||
if (runnable != null)
|
||||
runnable.run();
|
||||
})).width(240);
|
||||
dialog.setKeepWithinStage(true);
|
||||
setDialogStage(GameHUD.getInstance());
|
||||
showDialog();
|
||||
|
||||
@@ -364,16 +364,6 @@ public class WorldStage extends GameStage implements SaveFileContent {
|
||||
background.setPlayerPos(player.getX(), player.getY());
|
||||
//spriteGroup.setCullingArea(new Rectangle(player.getX()-getViewport().getWorldHeight()/2,player.getY()-getViewport().getWorldHeight()/2,getViewport().getWorldHeight(),getViewport().getWorldHeight()));
|
||||
super.draw();
|
||||
if (WorldSave.getCurrentSave().getPlayer().hasAnnounceFantasy()) {
|
||||
MapStage.getInstance().showDeckAwardDialog("{BLINK=WHITE;RED}Chaos Mode!{ENDBLINK}\n" +
|
||||
"Enemy will use Preconstructed or Random Generated Decks. Genetic AI Decks will be available to some enemies on Hard difficulty.",
|
||||
WorldSave.getCurrentSave().getPlayer().getSelectedDeck());
|
||||
WorldSave.getCurrentSave().getPlayer().clearAnnounceFantasy();
|
||||
} else if (WorldSave.getCurrentSave().getPlayer().hasAnnounceCustom()) {
|
||||
MapStage.getInstance().showDeckAwardDialog("{GRADIENT}Custom Deck Mode!{ENDGRADIENT}\n" +
|
||||
"Some enemies will use Genetic AI Decks randomly.", WorldSave.getCurrentSave().getPlayer().getSelectedDeck());
|
||||
WorldSave.getCurrentSave().getPlayer().clearAnnounceCustom();
|
||||
}
|
||||
}
|
||||
|
||||
public void enterSpawnPOI(){
|
||||
|
||||
@@ -92,10 +92,10 @@ public class MapDialog {
|
||||
@Override
|
||||
public void changed(ChangeEvent changeEvent, Actor actor) {
|
||||
if (prebuiltQuestData != null && Integer.parseInt(questAccepted) == prebuiltQuestData.getID()) {
|
||||
Current.player().addQuest(prebuiltQuestData);
|
||||
Current.player().addQuest(prebuiltQuestData, false);
|
||||
}
|
||||
else {
|
||||
Current.player().addQuest(questAccepted);
|
||||
Current.player().addQuest(questAccepted, false);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user