feat: 实现每日签到功能并优化战斗和道具逻辑

This commit is contained in:
xinian
2026-04-06 02:06:11 +08:00
committed by cnb
parent f433a26a6d
commit 5b37d9493b
17 changed files with 1066 additions and 86 deletions

View File

@@ -45,7 +45,7 @@ type FighterState struct {
Level uint32 `json:"level"`
// Anger 怒气值;当前服务端主链路暂未实际填充时默认为 0先为协议对齐预留。
Anger uint32 `json:"anger"`
// Status 当前异常/增益状态回合数组;下标语义沿用现有战斗状态定义。
// Status 当前异常增益状态回合数组;下标语义沿用现有战斗状态定义。
Status [20]int8 `json:"status"`
// Prop 当前能力等级变化数组:攻击、防御、特攻、特防、速度、命中。
Prop [6]int8 `json:"prop"`
@@ -55,30 +55,42 @@ type FighterState struct {
// FightStateMeta 是统一状态包的公共元数据。
type FightStateMeta struct {
Round uint32 `json:"round"`
Weather uint32 `json:"weather,omitempty"`
WinnerID uint32 `json:"winnerId,omitempty"`
Reason model.EnumBattleOverReason `json:"reason,omitempty"`
LegacyCmd uint32 `json:"legacyCmd,omitempty"`
// Round 当前回合数。
Round uint32 `json:"round"`
// Weather 当前天气或场地编号;当前主链路未填充时可为 0。
Weather uint32 `json:"weather,omitempty"`
// WinnerID 当前已确定的胜者 ID未结束时通常为 0。
WinnerID uint32 `json:"winnerId,omitempty"`
// Reason 当前已确定的结束原因;未结束时通常为 0。
Reason model.EnumBattleOverReason `json:"reason,omitempty"`
// LegacyCmd 对应旧协议命令号,便于新旧包对照和过渡期调试。
LegacyCmd uint32 `json:"legacyCmd,omitempty"`
}
// FightSkillHurtState 保存技能结算后的左右两侧战报快照
// FightSkillHurtState 保存技能结算阶段的详细战报
type FightSkillHurtState struct {
Left []model.AttackValue `json:"left,omitempty"`
// Left 我方阵营本次技能结算后的攻击值快照列表。
Left []model.AttackValue `json:"left,omitempty"`
// Right 敌方阵营本次技能结算后的攻击值快照列表。
Right []model.AttackValue `json:"right,omitempty"`
}
// FightLoadState 保存加载进度信息。
type FightLoadState struct {
UserID uint32 `json:"userId"`
// UserID 当前上报加载进度的玩家 ID。
UserID uint32 `json:"userId"`
// Percent 当前加载百分比。
Percent uint32 `json:"percent"`
}
// FightChatState 保存战斗内聊天信息。
type FightChatState struct {
SenderID uint32 `json:"senderId"`
// SenderID 发言玩家 ID。
SenderID uint32 `json:"senderId"`
// SenderNickname 发言玩家昵称。
SenderNickname string `json:"senderNickname"`
Message string `json:"message"`
// Message 聊天内容。
Message string `json:"message"`
}
// FightStateEnvelope 是统一出站状态结构。