Adventure tavern events, take 2

This commit is contained in:
jjayers99
2023-05-31 16:36:34 -04:00
parent d6f5bf20f4
commit 8e67b5474f
10 changed files with 41 additions and 15 deletions

View File

@@ -7,6 +7,7 @@ import forge.Forge;
import forge.adventure.data.AdventureEventData;
import forge.adventure.player.AdventurePlayer;
import forge.adventure.pointofintrest.PointOfInterestChanges;
import forge.adventure.stage.GameHUD;
import forge.adventure.util.AdventureEventController;
import forge.adventure.util.Controls;
import forge.adventure.util.Current;
@@ -69,6 +70,7 @@ public class InnScene extends UIScene {
public void done() {
GameHUD.getInstance().getTouchpad().setVisible(false);
Forge.switchScene(lastGameScene==null?GameScene.instance():lastGameScene);
}

View File

@@ -55,7 +55,7 @@ public class PlayerStatisticScene extends UIScene {
private PlayerStatisticScene() {
super(Forge.isLandscapeMode() ? "ui/statistic.json" : "ui/statistic_portrait.json");
planeswalkers = PlaneswalkerAchievements.instance;
achievements = FModel.getAchievements(GameType.Constructed);
achievements = FModel.getAchievements(GameType.Adventure);
cardActivation = CardActivationAchievements.instance;
scrollContainer = new Table(Controls.getSkin());
scrollContainer.row();

View File

@@ -1,8 +1,6 @@
package forge.adventure.util;
import com.badlogic.gdx.files.FileHandle;
import com.badlogic.gdx.utils.Array;
import com.badlogic.gdx.utils.Json;
import forge.StaticData;
import forge.adventure.data.AdventureEventData;
import forge.adventure.player.AdventurePlayer;

View File

@@ -8,7 +8,6 @@ import com.google.common.collect.Iterables;
import forge.StaticData;
import forge.adventure.data.GeneratedDeckData;
import forge.adventure.data.GeneratedDeckTemplateData;
import forge.adventure.data.ItemData;
import forge.adventure.data.RewardData;
import forge.card.*;
import forge.card.mana.ManaCostShard;
@@ -17,15 +16,12 @@ import forge.deck.DeckSection;
import forge.deck.DeckgenUtil;
import forge.deck.io.DeckSerializer;
import forge.game.GameFormat;
import forge.gamemodes.quest.QuestController;
import forge.item.BoosterPack;
import forge.item.InventoryItem;
import forge.item.PaperCard;
import forge.item.SealedProduct;
import forge.item.generation.UnOpenedProduct;
import forge.model.FModel;
import forge.util.Aggregates;
import forge.util.MyRandom;
import java.io.File;
import java.util.*;

View File

@@ -32,7 +32,6 @@ import forge.adventure.data.ItemData;
import forge.adventure.scene.RewardScene;
import forge.adventure.scene.Scene;
import forge.adventure.scene.UIScene;
import forge.assets.FImageComplex;
import forge.assets.FSkin;
import forge.assets.ImageCache;
import forge.card.CardImageRenderer;
@@ -47,9 +46,7 @@ import forge.util.ImageFetcher;
import forge.util.ImageUtil;
import forge.util.MyRandom;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.tuple.Pair;
import java.awt.image.BufferedImage;
import java.io.File;
import static forge.adventure.util.Paths.ITEMS_ATLAS;

View File

@@ -313,10 +313,19 @@ public class MatchController extends AbstractGuiGame {
public void finishGame() {
if (Forge.isMobileAdventureMode) {
if (Config.instance().getSettingData().disableWinLose) {
Forge.setCursor(null, "0");
if (!DuelScene.instance().hasCallbackExit())
DuelScene.instance().exitDuelScene();
return;
if (getGameView().isMatchOver()){
Forge.setCursor(null, "0");
if (!DuelScene.instance().hasCallbackExit()){
DuelScene.instance().GameEnd();
DuelScene.instance().exitDuelScene();
}
return;
}
else{
try { MatchController.getHostedMatch().continueMatch();
} catch (NullPointerException e) {}
return;
}
}
}
if (hasLocalPlayers() || getGameView().isMatchOver()) {

View File

@@ -19,7 +19,7 @@ public class AdventureWinLose extends ControlWinLose {
else{
v.getBtnContinue().setVisible(true);
v.getBtnContinue().setEnabled(true);
v.getBtnContinue().setText("CONTINUE MATCH");
v.getBtnContinue().setText(Forge.getLocalizer().getMessage("btnNextGame"));
v.getBtnQuit().setText(Forge.getLocalizer().getMessage("lblQuitAdventureEventMatch"));
}
v.getBtnRestart().setVisible(false);

View File

@@ -77,6 +77,7 @@ public abstract class AchievementCollection implements Iterable<Achievement> {
cb.addItem(FModel.getAchievements(GameType.Quest));
cb.addItem(FModel.getAchievements(GameType.PlanarConquest));
cb.addItem(FModel.getAchievements(GameType.Puzzle));
cb.addItem(FModel.getAchievements(GameType.Adventure));
cb.addItem(AltWinAchievements.instance);
cb.addItem(PlaneswalkerAchievements.instance);
cb.addItem(CardActivationAchievements.instance);

View File

@@ -0,0 +1,18 @@
package forge.localinstance.achievements;
import forge.game.GameType;
import forge.localinstance.properties.ForgeConstants;
public class AdventureAchievements extends AchievementCollection {
public AdventureAchievements() {
super("lblAdventure", ForgeConstants.ACHIEVEMENTS_DIR + "adventure.xml", true);
}
//add achievements that should appear at the bottom below core achievements for each game mode
@Override
protected void addAchievements() {
add(new Poisoned(15, 25, 40));
add(new DeckedOut(8, 4, 2));
}
}

View File

@@ -270,6 +270,7 @@ public final class FModel {
achievements.put(GameType.Quest, new QuestAchievements());
achievements.put(GameType.PlanarConquest, new PlanarConquestAchievements());
achievements.put(GameType.Puzzle, new PuzzleAchievements());
achievements.put(GameType.Adventure, new AdventureAchievements());
//preload AI profiles
AiProfileUtil.loadAllProfiles(ForgeConstants.AI_PROFILE_DIR);
@@ -470,6 +471,10 @@ public final class FModel {
case Quest:
case PlanarConquest:
case Puzzle:
case Adventure:
break;
case AdventureEvent:
gameType = GameType.Adventure;
break;
case QuestDraft:
gameType = GameType.Quest;