From 5874ae270f4d4ff48d23cbe9d48a07b6e5bc71c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=98=94=E5=BF=B5?= <12574910+72wo@users.noreply.github.com> Date: Wed, 4 Mar 2026 14:12:48 +0800 Subject: [PATCH] =?UTF-8?q?```=20feat(item-use):=20=E5=AE=8C=E5=96=84?= =?UTF-8?q?=E7=8E=84=E5=BD=A9=E9=81=93=E5=85=B7=E4=BD=BF=E7=94=A8=E9=80=BB?= =?UTF-8?q?=E8=BE=91=E5=B9=B6=E6=B7=BB=E5=8A=A0=E5=AE=A0=E7=89=A9=E9=97=AA?= =?UTF-8?q?=E4=BA=AE=E7=8A=B6=E6=80=81=E4=BF=AE=E5=A4=8D=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在玄彩道具使用过程中添加闪亮状态修复检查,确保道具使用前宠物状态正常 - 修改FixShiny方法返回布尔值以指示操作是否成功 - 当物品不足时返回ErrItemUnusable错误码 - 调整代码执行顺序,先进行闪亮状态修复再更新物品数量 ``` --- logic/controller/item_use.go | 7 ++++++- modules/player/model/pet.go | 5 +++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/logic/controller/item_use.go b/logic/controller/item_use.go index 223a626d4..466aecc97 100644 --- a/logic/controller/item_use.go +++ b/logic/controller/item_use.go @@ -102,8 +102,13 @@ func (h Controller) handlexuancaiItem(currentPet *model.PetInfo, c *player.Playe if items < 100 { return errorcode.ErrorCodes.ErrInsufficientItems } + + ok := currentPet.FixShiny() + if !ok { + return errorcode.ErrorCodes.ErrItemUnusable + } + c.Service.Item.UPDATE(uint32(items), -100) - currentPet.FixShiny() return 0 } diff --git a/modules/player/model/pet.go b/modules/player/model/pet.go index 8f348b44a..c58f93139 100644 --- a/modules/player/model/pet.go +++ b/modules/player/model/pet.go @@ -245,13 +245,14 @@ func (pet *PetInfo) Cure() { } // 强制选色,这个是给熔炉用的 -func (pet *PetInfo) FixShiny() { +func (pet *PetInfo) FixShiny() bool { co := service.NewShinyService().RandShiny(pet.ID) if co != nil { pet.ShinyInfo = []data.GlowFilter{*co} + return true } - + return false } // 比重融合