feat(controller): 增强命令注册逻辑并修复试炼塔关卡限制

- 在命令注册时检查重复方法,如果存在则panic提示错误
- 移除CurrentFreshStage和CurrentStage的默认值设置逻辑
- 添加关卡等级验证,确保用户不能挑战超过最大关卡数的关卡
- 修复试炼之塔和勇者之塔的关卡计算逻辑

fix(item): 修复道具使用返回值类型转换问题

- 将ThreeTimes和TwoTimes字段从int32转为uint32返回
- 为能量吸收道具使用函数添加结果结构体初始化

refactor(fight): 清理战斗服务中的注释和字段定义

- 移除C2S_FRESH_CHOICE_FIGHT_LEVEL结构体中冗余的注释说明
- 统一FightOverInfo结构体的格式

fix(item): 修复宠物道具使用的条件判断

- 为道具300790添加DV值大于等于31时不能使用的限制

fix(player): 修复玩家经验加成次数的判断逻辑

- 将TwoTimes和ThreeTimes的判断从不等于0改为大于0
- 将EnergyTime的判断从不等于0改为大于0
- 统一所有次数字段的类型为int32以避免负数问题

chore(admin): 清理无用代码

- 移除未使用的context包导入
- 注释掉未完成的TimeMap接口实现
```
This commit is contained in:
昔念
2026-03-03 23:40:21 +08:00
parent 5caa9a1e4f
commit 0c7fd18bc9
8 changed files with 72 additions and 55 deletions

View File

@@ -1,6 +1,7 @@
package player
import (
"blazing/common/socket/errorcode"
"blazing/common/utils"
"blazing/logic/service/common"
"blazing/logic/service/fight/info"
@@ -63,15 +64,33 @@ func (f *baseplayer) FindPet(catchTime uint32) (int, *model.PetInfo, bool) {
})
}
// PetDel 删除指定宠物
// catchTime: 宠物的捕捉时间戳
func (f *Player) PetDel(catchTime uint32) {
index, olpet, ok := f.FindPet(catchTime)
if ok {
//先将背包更新
f.Service.Pet.UPdate(*olpet)
f.Service.Pet.Pet_del(catchTime)
f.Info.PetList = append(f.Info.PetList[:index], f.Info.PetList[index+1:]...)
}
func (p *baseplayer) Getfightinfo() info.Fightinfo {
return info.Fightinfo{}
}
func (f *baseplayer) SendPack(b []byte) error {
return nil
}
func (f *baseplayer) MessWin(b bool) {
}
func (f *baseplayer) SendPackCmd(_ uint32, _ any) {
//fmt.Println("战斗结束")
}
func (p *baseplayer) GetPetInfo() []model.PetInfo {
return p.Info.PetList
}
func (lw *baseplayer) SendLoadPercent(info.LoadPercentOutboundInfo) {
}
func (p *baseplayer) CanFight() errorcode.ErrorCode {
return 0
}