Files
bl/logic/service/pet/list.go
昔念 f76587f952 feat(pet): 实现精灵融合功能并优化相关逻辑
新增精灵融合接口及处理逻辑,支持主副精灵融合生成新精灵,并消耗金币与材料。
同时调整了战斗技能选择流程、修复地图热度统计安全问题以及完善宠物删除机制。

- 添加 `PetFusion` 控制器方法实现融合核心逻辑
- 新增 `C2S_PetFusion` 和 `PetFusionInfo` 结构体用于通信
- 修正战斗中技能随机选取后立即返回的问题
- 修复太空站进入/离开时对地图热度的并发访问风险
-
2025-11-26 01:33:48 +08:00

45 lines
2.1 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package pet
import "blazing/logic/service/common"
type GetPetListInboundEmpty struct {
Head common.TomeeHeader `cmd:"2303" struc:"skip"`
}
type GetPetListFreeInboundEmpty struct {
Head common.TomeeHeader `cmd:"2320" struc:"skip"`
}
type GetPetListOutboundInfo struct {
ShortInfoListLen uint32 `struc:"int32,sizeof=ShortInfoList"`
ShortInfoList []PetShortInfo
}
// PetShortInfo 精灵简要信息结构体
type PetShortInfo struct {
ID uint32 // 精灵类型ID
CatchTime uint32 // 精灵生成时间
Level uint32 // 精灵等级
SkinID uint32 // 精灵皮肤ID
Shiny uint32 // 精灵是否闪光0=否1=是)
}
// C2S_PetFusion 前端(Client)到后端(Server)的精灵融合请求包
type C2S_PetFusion struct {
Head common.TomeeHeader `cmd:"2351" struc:"skip"`
Mcatchtime uint32 `json:"mcatchtime" msgpack:"mcatchtime"` // 主精灵的时间戳
Auxcatchtime uint32 `json:"auxcatchtime" msgpack:"auxcatchtime"` // 副精灵的时间戳
Item1 uint32 `json:"item1" msgpack:"item1"` // 物品序号1
Item2 uint32 `json:"item2" msgpack:"item2"` // 物品序号2
Item3 uint32 `json:"item3" msgpack:"item3"` // 物品序号3
Item4 uint32 `json:"item4" msgpack:"item4"` // 物品序号4
GoldItem1 uint32 `json:"gold_item1" msgpack:"gold_item1"` // 0代表未放置 金豆物品1C#:gold_item1
GoldItem2 uint32 `json:"gold_item2" msgpack:"gold_item2"` // 0代表未放置 金豆物品2C#:gold_item2
}
// PetFusionInfo 精灵融合结果详情(后端回包嵌套结构体)
type PetFusionInfo struct {
ObtainTime uint32 `json:"obtainTime" msgpack:"obtainTime"` // 如果获得时间为0 则代表融合失败
SoulID uint32 `json:"soulID" msgpack:"soulID"` // 元神珠的id 融合失败为0
StarterCpTm uint32 `json:"starterCpTm" msgpack:"starterCpTm"` // 融合失败为0
CostItemFlag uint32 `json:"costItemFlag" msgpack:"costItemFlag"` // 是不是消耗掉了金豆道具 1代表消耗道具
}