mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2026-05-27 07:29:50 +08:00
Refactor avatar skilldepot and constellation/talent changing
Ensures Traveler retains talent levels and constellations on inactive elements when switching elements. Relevant for any other skillDepot-changing activities like Windtrace too, though keeping those in the db might not be as useful. Refactor avatar talent upgrade and access Refactor skillExtraCharges
This commit is contained in:
@@ -13,8 +13,10 @@ public class HandlerAvatarSkillUpgradeReq extends PacketHandler {
|
||||
public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
|
||||
AvatarSkillUpgradeReq req = AvatarSkillUpgradeReq.parseFrom(payload);
|
||||
|
||||
// Sanity checks
|
||||
var avatar = session.getPlayer().getAvatars().getAvatarByGuid(req.getAvatarGuid());
|
||||
if (avatar == null) return;
|
||||
// Level up avatar talent
|
||||
session.getServer().getInventorySystem().upgradeAvatarSkill(session.getPlayer(), req.getAvatarGuid(), req.getAvatarSkillId());
|
||||
avatar.upgradeSkill(req.getAvatarSkillId());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user