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; } }