Add completed dummy achievements because the client needs them for random things

This commit is contained in:
Melledy
2025-11-24 21:38:40 -08:00
parent c78c6a7492
commit 55ff9b2826
3 changed files with 48 additions and 0 deletions

View File

@@ -2,8 +2,11 @@ package emu.nebula.server.handlers;
import emu.nebula.net.NetHandler;
import emu.nebula.net.NetMsgId;
import emu.nebula.proto.Public.Achievement;
import emu.nebula.proto.Public.Achievements;
import emu.nebula.proto.Public.QuestProgress;
import emu.nebula.net.HandlerId;
import emu.nebula.data.GameData;
import emu.nebula.net.GameSession;
@HandlerId(NetMsgId.achievement_info_req)
@@ -11,8 +14,24 @@ public class HandlerAchievementInfoReq extends NetHandler {
@Override
public byte[] handle(GameSession session, byte[] message) throws Exception {
// Build response
var rsp = Achievements.newInstance();
for (var data : GameData.getAchievementDataTable()) {
var progress = QuestProgress.newInstance()
.setCur(data.getAimNumShow())
.setMax(data.getAimNumShow());
var info = Achievement.newInstance()
.setId(data.getId())
.setStatus(2)
.setCompleted(session.getPlayer().getCreateTime())
.addProgress(progress);
rsp.addList(info);
}
// Encode and send
return session.encodeMsg(NetMsgId.achievement_info_succeed_ack, rsp);
}