From 804b6da50e8254598763874f91e138b4d6a64a21 Mon Sep 17 00:00:00 2001 From: Melledy <121644117+Melledy@users.noreply.github.com> Date: Mon, 2 Oct 2023 06:09:02 -0700 Subject: [PATCH] Add head icons when adding avatars --- .../java/emu/lunarcore/game/player/Player.java | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/main/java/emu/lunarcore/game/player/Player.java b/src/main/java/emu/lunarcore/game/player/Player.java index 38ca44d..4855533 100644 --- a/src/main/java/emu/lunarcore/game/player/Player.java +++ b/src/main/java/emu/lunarcore/game/player/Player.java @@ -120,7 +120,7 @@ public class Player { // Give us a starter character and add it to our main lineup. // TODO script tutorial GameAvatar avatar = new GameAvatar(this.getCurHeroPath()); - this.getAvatars().addAvatar(avatar); + this.addAvatar(avatar); this.getCurrentLineup().getAvatars().add(avatar.getAvatarId()); } @@ -186,8 +186,10 @@ public class Player { } public void addHeadIcon(int headIconId) { - this.getUnlockedHeadIcons().add(headIconId); - this.sendPacket(new PacketPlayerSyncScNotify(this.toBoardData())); + boolean success = this.getUnlockedHeadIcons().add(headIconId); + if (success) { + this.sendPacket(new PacketPlayerSyncScNotify(this.toBoardData())); + } } public boolean setHeadIcon(int id) { @@ -204,7 +206,15 @@ public class Player { } public boolean addAvatar(GameAvatar avatar) { - return getAvatars().addAvatar(avatar); + boolean success = getAvatars().addAvatar(avatar); + if (success) { + // Add profile picture of avatar + int headIconId = 200000 + avatar.getAvatarId(); + if (GameData.getItemExcelMap().containsKey(headIconId)) { + this.addHeadIcon(headIconId); + } + } + return success; } public GameAvatar getAvatarById(int avatarId) {