From 198d3aac4f70bb198e9de8958ccde93030d5fc8a Mon Sep 17 00:00:00 2001 From: Melledy <121644117+Melledy@users.noreply.github.com> Date: Fri, 5 Dec 2025 22:34:47 -0800 Subject: [PATCH] Fix story red dot (untested) --- src/main/java/emu/nebula/game/player/Player.java | 2 +- .../java/emu/nebula/game/story/StoryManager.java | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/main/java/emu/nebula/game/player/Player.java b/src/main/java/emu/nebula/game/player/Player.java index a4a12a3..b29ae1d 100644 --- a/src/main/java/emu/nebula/game/player/Player.java +++ b/src/main/java/emu/nebula/game/player/Player.java @@ -821,7 +821,7 @@ public class Player implements GameDatabaseObject { // Set player states var state = proto.getMutableState() - .setStorySet(true) + .setStorySet(this.getStoryManager().hasNew()) .setFriend(this.getFriendList().hasPendingRequests()); state.getMutableMail() diff --git a/src/main/java/emu/nebula/game/story/StoryManager.java b/src/main/java/emu/nebula/game/story/StoryManager.java index c14068f..d7f13db 100644 --- a/src/main/java/emu/nebula/game/story/StoryManager.java +++ b/src/main/java/emu/nebula/game/story/StoryManager.java @@ -38,6 +38,18 @@ public class StoryManager extends PlayerManager implements GameDatabaseObject { this.save(); } + + public boolean hasNew() { + if (this.getCompletedStories().size() < GameData.getStoryDataTable().size()) { + return true; + } + + if (this.getCompletedSets().size() < GameData.getStorySetSectionDataTable().size()) { + return true; + } + + return false; + } public PlayerChangeInfo settle(IntList list) { // Player change info @@ -63,6 +75,7 @@ public class StoryManager extends PlayerManager implements GameDatabaseObject { Nebula.getGameDatabase().addToSet(this, this.getPlayerUid(), "completedStories", id); } + // Complete return changes; } @@ -90,6 +103,7 @@ public class StoryManager extends PlayerManager implements GameDatabaseObject { // Save to db Nebula.getGameDatabase().update(this, this.getPlayerUid(), "completedSets." + chapterId, sectionIndex); + // Complete return changes; } }