diff --git a/src/main/java/emu/lunarcore/game/battle/BattleService.java b/src/main/java/emu/lunarcore/game/battle/BattleService.java index cc3ca86..f3be006 100644 --- a/src/main/java/emu/lunarcore/game/battle/BattleService.java +++ b/src/main/java/emu/lunarcore/game/battle/BattleService.java @@ -82,7 +82,7 @@ public class BattleService extends BaseGameService { List stages = new ArrayList<>(); for (var monster : monsters) { - StageExcel stage = GameData.getStageExcelMap().get(monster.getStageId(player.getWorldLevel())); + StageExcel stage = GameData.getStageExcelMap().get(monster.getStageId()); if (stage != null) { stages.add(stage); diff --git a/src/main/java/emu/lunarcore/game/scene/Scene.java b/src/main/java/emu/lunarcore/game/scene/Scene.java index 296bd7d..47e9faf 100644 --- a/src/main/java/emu/lunarcore/game/scene/Scene.java +++ b/src/main/java/emu/lunarcore/game/scene/Scene.java @@ -89,6 +89,7 @@ public class Scene { monster.setInstId(monsterInfo.getID()); monster.setEventId(monsterInfo.getEventID()); monster.setGroupId(group.getId()); + monster.setWorldLevel(this.getPlayer().getWorldLevel()); // Add to monsters this.addEntity(monster); @@ -210,6 +211,10 @@ public class Scene { return false; } + if (entity instanceof EntityMonster monster) { + monster.setWorldLevel(worldLevel); + } + player.sendPacket(new PacketActivateFarmElementScRsp(entityId, worldLevel)); return true; } diff --git a/src/main/java/emu/lunarcore/game/scene/entity/EntityMonster.java b/src/main/java/emu/lunarcore/game/scene/entity/EntityMonster.java index 36c84d7..420bdb0 100644 --- a/src/main/java/emu/lunarcore/game/scene/entity/EntityMonster.java +++ b/src/main/java/emu/lunarcore/game/scene/entity/EntityMonster.java @@ -28,7 +28,7 @@ public class EntityMonster implements GameEntity { this.rot = new Position(); } - public int getStageId(int worldLevel) { + public int getStageId() { return (this.getEventId() * 10) + worldLevel; }