Files
bl/logic/service/item/pet.go
昔念 026689f3ed ```
feat(cache): 添加复合键缓存操作支持

添加了基于 uint32+string 组合键的缓存操作方法,包括
GetByCompoundKey、SetByCompoundKey、DelByCompoundKey 和
ContainsByCompoundKey 方法,用于处理用户ID和会话ID的组合缓存场景

fix(vscode): 添加 cSpell 配置支持 struc 词汇

refactor(session): 移除过时的会话管理方法

移除了基于单一字符串键的会话管理方法,因为已迁移到使用
复合键的缓存操作方式
```
2026-01-19 18:51:56 +08:00

48 lines
2.0 KiB
Go

package item
import (
"blazing/logic/service/common"
"blazing/modules/player/model"
)
// C2S_USE_PET_ITEM_OUT_OF_FIGHT 客户端→服务端:非战斗场景使用宠物道具
type C2S_USE_PET_ITEM_OUT_OF_FIGHT struct {
Head common.TomeeHeader `cmd:"2326" struc:"skip"`
CatchTime uint32 `json:"catch_time"` // 使用物品的精灵的捕获时间
ItemID uint32 `json:"item_id"` // 使用的物品ID
}
// S2C_USE_PET_ITEM_OUT_OF_FIGHT 服务端→客户端:非战斗场景使用宠物道具回包
type S2C_USE_PET_ITEM_OUT_OF_FIGHT struct {
CatchTime uint32 `json:"catch_time"` // 使用物品的精灵的捕获时间
ID uint32 `json:"id"` // 精灵ID
Nick string `struc:"[16]byte" fieldDesc:"16字节昵称" json:"nick"`
Nature uint32 `json:"nature"` // 精灵性格
Dv uint32 `json:"dv"` // 精灵个体值
Level uint32 `json:"lv"` // 精灵等级
Hp uint32 `json:"hp"` // 当前血量
MaxHp uint32 `json:"maxhp"` // 最大血量
Exp uint32 `json:"exp"` // 升级所需经验
// * ev:生命学习力,攻击学习力,防御学习力,特攻学习力,特防学习力,速度学习力
Ev [6]uint32 `fieldDesc:"属性" `
// * battle_lv: atk(0), def(1), sp_atk(2), sp_def(3), spd(4), accuracy(5)
Prop [5]uint32 `fieldDesc:"属性" `
SkillListLen uint32 `struc:"sizeof=SkillList"`
SkillList []model.SkillInfo `json:"skilllist"` // 技能数组
}
type C2S_PET_RESET_NATURE struct {
Head common.TomeeHeader `cmd:"2343" struc:"skip"`
CatchTime uint32 // 精灵捕捉时间
Nature uint32 // 目标性格值
ItemId uint32 // 消耗的物品ID
}
// C2S_ITEM_SALE 物品出售/兑换请求结构体(对应原 C# 结构体)
// 字段注释保持与原逻辑一致,字段名遵循 Go 命名规范(首字母大写以支持序列化/反序列化)
type C2S_ITEM_SALE struct {
Head common.TomeeHeader `cmd:"2602" struc:"skip"`
ItemId uint32 // 兑换的物品id
Amount uint32 // 兑换的数量
}