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 } // 比重融合