mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2026-05-17 19:04:04 +08:00
27 lines
1.1 KiB
Java
27 lines
1.1 KiB
Java
package emu.grasscutter.server.packet.recv;
|
|
|
|
import emu.grasscutter.game.quest.enums.QuestContent;
|
|
import emu.grasscutter.net.packet.*;
|
|
import emu.grasscutter.net.proto.EvtDoSkillSuccNotifyOuterClass.EvtDoSkillSuccNotify;
|
|
import emu.grasscutter.server.game.GameSession;
|
|
|
|
@Opcodes(PacketOpcodes.EvtDoSkillSuccNotify)
|
|
public class HandlerEvtDoSkillSuccNotify extends PacketHandler {
|
|
|
|
@Override
|
|
public void handle(GameSession session, byte[] header, byte[] payload) throws Exception {
|
|
EvtDoSkillSuccNotify notify = EvtDoSkillSuccNotify.parseFrom(payload);
|
|
|
|
var player = session.getPlayer();
|
|
int skillId = notify.getSkillId();
|
|
int casterId = notify.getCasterId();
|
|
|
|
// Call skill perform in the player's ability manager.
|
|
player.getAbilityManager().onSkillStart(session.getPlayer(), skillId, casterId);
|
|
|
|
// Handle skill notify in other managers.
|
|
player.getStaminaManager().handleEvtDoSkillSuccNotify(session, skillId, casterId);
|
|
player.getQuestManager().queueEvent(QuestContent.QUEST_CONTENT_SKILL, skillId);
|
|
}
|
|
}
|