mirror of
https://github.com/Melledy/Nebula.git
synced 2026-11-04 21:36:51 +01:00
Fix cant claim beginner banner results and simplify newbie gacha flow
This commit is contained in:
1 parent
276c8b2ebd
commit
580a7a92e7
6 files changed
+70
-139
No files matched your search
@@ -13,15 +13,15 @@ public class HandlerGachaNewbieObtainReq extends NetHandler {
|
||||
@Override
|
||||
public byte[] handle(GameSession session, byte[] message) throws Exception {
|
||||
var req = GachaNewbieObtainReq.parseFrom(message);
|
||||
if (!req.hasId() || req.getId() < 0 || (req.hasIdx() && req.getIdx() < 0)) {
|
||||
return session.encodeMsg(NetMsgId.gacha_newbie_obtain_failed_ack);
|
||||
}
|
||||
// req.getIdx() is optional, it always has a value
|
||||
var change = Nebula.getGameContext().getGachaModule().obtainNewbie(session.getPlayer(), req.getId(), req.getIdx());
|
||||
if (change == null) {
|
||||
return session.encodeMsg(NetMsgId.gacha_newbie_obtain_failed_ack);
|
||||
}
|
||||
|
||||
if (!change.isEmpty()) {
|
||||
session.getPlayer().addNextPackage(NetMsgId.items_change_notify, change.toProto());
|
||||
}
|
||||
|
||||
return session.encodeMsg(NetMsgId.gacha_newbie_obtain_succeed_ack, change.toProto());
|
||||
}
|
||||
|
||||
|
||||
@@ -14,8 +14,11 @@ public class HandlerGachaNewbieSaveReq extends NetHandler {
|
||||
public byte[] handle(GameSession session, byte[] message) throws Exception {
|
||||
var req = GachaNewbieSaveReq.parseFrom(message);
|
||||
Integer index = req.hasIdx() ? req.getIdx() : null;
|
||||
boolean succeeded = Nebula.getGameContext().getGachaModule().saveNewbie(session.getPlayer(), req.getId(), index);
|
||||
if (!succeeded) {
|
||||
if (!req.hasId() || req.getId() < 0 || (index != null && index < 0)) {
|
||||
return session.encodeMsg(NetMsgId.gacha_newbie_save_failed_ack);
|
||||
}
|
||||
boolean newbieSaveResult = Nebula.getGameContext().getGachaModule().saveNewbie(session.getPlayer(), req.getId(), index);
|
||||
if (!newbieSaveResult) {
|
||||
return session.encodeMsg(NetMsgId.gacha_newbie_save_failed_ack);
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user