diff --git a/modules/blazing/model/pet.go b/modules/blazing/model/pet.go index 4a8cb08f..e30972ba 100644 --- a/modules/blazing/model/pet.go +++ b/modules/blazing/model/pet.go @@ -133,15 +133,21 @@ func (pet *PetInfo) Cure() { } } } -func (petinfo *PetInfo) Update() { + +// 传入bool则不升级 +func (petinfo *PetInfo) Update(t ...bool) { + basic := xmlres.PetMAP[int(petinfo.ID)] - // 检查是否可以进化 - if basic.EvolvesTo != 0 && // 有明确的进化 - int(petinfo.Level) >= basic.EvolvingLv && // 有明确的进化等级 - basic.IsLarge == 0 { // 非最终形态 - petinfo.ID = uint32(basic.EvolvesTo) + if len(t) == 0 { + // 检查是否可以进化 + if basic.EvolvesTo != 0 && // 有明确的进化 + int(petinfo.Level) >= basic.EvolvingLv && // 有明确的进化等级 + basic.IsLarge == 0 { // 非最终形态 + petinfo.ID = uint32(basic.EvolvesTo) + basic = xmlres.PetMAP[int(petinfo.ID)] //重新计算 + } } petinfo.LvExp = petinfo.NextLvExp @@ -303,7 +309,7 @@ func GenPetInfo( p.CalculatePetPane() p.Hp = p.MaxHp - p.Update() + p.Update(true) return p }