mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2025-12-20 19:04:40 +01:00
Try to give name card
This commit is contained in:
@@ -1,10 +1,17 @@
|
||||
package emu.grasscutter.server.packet.recv;
|
||||
|
||||
import emu.grasscutter.Grasscutter;
|
||||
import emu.grasscutter.data.GenshinData;
|
||||
import emu.grasscutter.data.def.RewardData;
|
||||
import emu.grasscutter.game.inventory.GenshinItem;
|
||||
import emu.grasscutter.game.props.ActionReason;
|
||||
import emu.grasscutter.net.packet.Opcodes;
|
||||
import emu.grasscutter.net.packet.PacketOpcodes;
|
||||
import emu.grasscutter.net.proto.AvatarFetterLevelRewardReqOuterClass.AvatarFetterLevelRewardReq;
|
||||
import emu.grasscutter.server.game.GameSession;
|
||||
import emu.grasscutter.server.packet.send.PacketAvatarFetterLevelRewardRsp;
|
||||
import emu.grasscutter.server.packet.send.PacketItemAddHintNotify;
|
||||
import emu.grasscutter.server.packet.send.PacketUnlockNameCardNotify;
|
||||
import emu.grasscutter.net.packet.PacketHandler;
|
||||
|
||||
@Opcodes(PacketOpcodes.AvatarFetterLevelRewardReq)
|
||||
@@ -23,9 +30,19 @@ public class HandlerAvatarFetterLevelRewardReq extends PacketHandler {
|
||||
.getAvatars()
|
||||
.getAvatarByGuid(avatarGuid)
|
||||
.getNameCardRewardId();
|
||||
|
||||
// Here need to send the packets, I am not at all clear ah!
|
||||
|
||||
RewardData card = GenshinData.getRewardDataMap().get(rewardId);
|
||||
int cardId = card.getRewardItemList().get(0).getItemId();
|
||||
|
||||
if (session.getPlayer().getNameCardList().contains(cardId)) {
|
||||
// Already got divorce certificate.
|
||||
session.send(new PacketAvatarFetterLevelRewardRsp(req.getAvatarGuid(), req.getFetterLevel()));
|
||||
return;
|
||||
}
|
||||
|
||||
GenshinItem item = new GenshinItem(cardId);
|
||||
session.getPlayer().sendPacket(new PacketItemAddHintNotify(item, ActionReason.FetterLevelReward));
|
||||
session.send(new PacketUnlockNameCardNotify(cardId));
|
||||
session.send(new PacketAvatarFetterLevelRewardRsp(avatarGuid, req.getFetterLevel(), rewardId));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user