From 6c61059cfe7981927ffedd7b52d39864062ad63e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=98=94=E5=BF=B5?= <12574910+72wo@users.noreply.github.com> Date: Thu, 26 Feb 2026 01:02:30 +0800 Subject: [PATCH] =?UTF-8?q?```=20fix(fight=5Ftower):=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E6=88=98=E6=96=97=E5=A1=94Boss=E8=8E=B7=E5=8F=96=E9=80=BB?= =?UTF-8?q?=E8=BE=91=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修改条件判断从检查boss不为nil改为检查boss[0].BossIds长度不为0 - 修正PetTawor方法中索引越界问题,从boss[0]改为boss[1] - 在TowerService.Boss方法中添加按tower_level升序排序确保数据一致性 ``` --- logic/controller/fight_塔.go | 4 ++-- modules/config/service/tower.go | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/logic/controller/fight_塔.go b/logic/controller/fight_塔.go index 11b938ab..b221c2d8 100644 --- a/logic/controller/fight_塔.go +++ b/logic/controller/fight_塔.go @@ -81,7 +81,7 @@ func (h Controller) FreshChoiceFightLevel(data *fight.C2S_FRESH_CHOICE_FIGHT_LEV //next := service.NewTower600Service().Boss(c.Info.CurrentFreshStage + 1) } - if boss != nil { + if len(boss[0].BossIds) != 0 { //单节点,取获取到的一个,然后因为不是剧情,所以只有一层 r := service.NewBossService().Get(boss[0].BossIds[0]) for _, v := range r { @@ -131,7 +131,7 @@ func (h Controller) PetTawor(data *fight.StartTwarInboundInfo, c *player.Player) } if len(boss) > 1 { - r := service.NewBossService().Get(boss[0].BossIds[0]) + r := service.NewBossService().Get(boss[1].BossIds[0]) for _, v := range r { result.BossID = append(result.BossID, uint32(v.MonID)) } diff --git a/modules/config/service/tower.go b/modules/config/service/tower.go index ae91856f..62607e53 100644 --- a/modules/config/service/tower.go +++ b/modules/config/service/tower.go @@ -68,7 +68,7 @@ func (m *UnifiedTowerModel) GroupName() string { // Boss 根据塔等级获取对应的Boss配置(统一入口) func (s *TowerService) Boss(towerLevel ...uint32) []model.BaseTowerConfig { // 构建基础查询条件 - query := dbm_enable(s.Model).WhereIn("tower_level", towerLevel) + query := dbm_enable(s.Model).WhereIn("tower_level", towerLevel).OrderAsc("tower_level") // 600塔专属的缓存配置 var config []model.BaseTowerConfig