Fix tower defense first clear rewards

This commit is contained in:
Melledy
2026-02-13 02:02:26 -08:00
parent 57b17f2d25
commit 300a838e06
@@ -22,17 +22,20 @@ public class HandlerActivityTowerDefenseLevelSettleReq extends NetHandler {
return session.encodeMsg(NetMsgId.activity_tower_defense_level_settle_failed_ack);
}
// Claim rewards
var change = activity.claimReward(req.getLevelId());
// Only receive rewards if we havent completed the stage
if (!activity.getCompletedStages().containsKey(req.getLevelId())) {
// Claim rewards
var change = activity.claimReward(req.getLevelId());
// Update completed stages
activity.getCompletedStages().put(req.getLevelId(), req.getStar());
// Update completed stages and save activity to the database
activity.getCompletedStages().put(req.getLevelId(), req.getStar());
activity.save();
// Save changes
session.getPlayer().save();
// Encode and send
return session.encodeMsg(NetMsgId.activity_tower_defense_level_settle_succeed_ack, change.toProto());
// Encode and send
return session.encodeMsg(NetMsgId.activity_tower_defense_level_settle_succeed_ack, change.toProto());
} else {
return session.encodeMsg(NetMsgId.activity_tower_defense_level_settle_succeed_ack);
}
}
}