Implement achievements properly

This commit is contained in:
Melledy
2025-11-29 00:29:04 -08:00
parent 898e8dd43f
commit f53bdaba32
44 changed files with 818 additions and 115 deletions
@@ -7,7 +7,7 @@ import emu.nebula.proto.SkillInstanceSettle.SkillInstanceSettleResp;
import emu.nebula.net.HandlerId;
import emu.nebula.data.GameData;
import emu.nebula.game.instance.InstanceSettleData;
import emu.nebula.game.quest.QuestCondType;
import emu.nebula.game.quest.QuestCondition;
import emu.nebula.net.GameSession;
@HandlerId(NetMsgId.skill_instance_settle_req)
@@ -30,7 +30,7 @@ public class HandlerSkillInstanceSettleReq extends NetHandler {
// Settle instance
var changes = player.getInstanceManager().settleInstance(
data,
QuestCondType.SkillInstanceClearTotal,
QuestCondition.SkillInstanceClearTotal,
player.getProgress().getSkillInstanceLog(),
"skillInstanceLog",
req.getStar()
@@ -38,6 +38,9 @@ public class HandlerSkillInstanceSettleReq extends NetHandler {
var settleData = (InstanceSettleData) changes.getExtraData();
// Handle client events for achievements
session.getPlayer().getAchievementManager().handleClientEvents(req.getEvents());
// Create response
var rsp = SkillInstanceSettleResp.newInstance()
.setExp(settleData.getExp())