diff --git a/src/main/java/emu/nebula/game/mail/Mailbox.java b/src/main/java/emu/nebula/game/mail/Mailbox.java index bb9d11d..e83e1fa 100644 --- a/src/main/java/emu/nebula/game/mail/Mailbox.java +++ b/src/main/java/emu/nebula/game/mail/Mailbox.java @@ -55,6 +55,14 @@ public class Mailbox extends PlayerManager implements GameDatabaseObject, Iterab .orElse(null); } + public boolean hasNewMail() { + return this.getList() + .stream() + .filter(mail -> !mail.isRead() && !mail.isRecv()) + .findAny() + .isPresent(); + } + public void sendMail(GameMail mail) { // Set mail id mail.setId(++this.lastMailId); diff --git a/src/main/java/emu/nebula/game/player/Player.java b/src/main/java/emu/nebula/game/player/Player.java index fa9773a..91e114d 100644 --- a/src/main/java/emu/nebula/game/player/Player.java +++ b/src/main/java/emu/nebula/game/player/Player.java @@ -526,11 +526,13 @@ public class Player implements GameDatabaseObject { proto.getMutableFormation().addInfo(f.toProto()); } - // Set state + // Set player states var state = proto.getMutableState() .setStorySet(true); - state.getMutableMail(); + state.getMutableMail() + .setNew(this.getMailbox().hasNewMail()); + state.getMutableBattlePass(); state.getMutableFriendEnergy(); state.getMutableMallPackage();