From 4402d62a42c88c9d056051b76da509b3926802a3 Mon Sep 17 00:00:00 2001 From: meixiongfeng <766881921@qq.com> Date: Wed, 17 Aug 2022 15:18:59 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=87=E5=88=B0=E6=BB=A1=E7=BA=A7=E8=BF=98?= =?UTF-8?q?=E6=83=B3=E7=BB=A7=E7=BB=AD=E5=8D=87=E7=BA=A7=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/hero/api_strengthenUplv.go | 5 ++++- modules/hero/model_hero.go | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/modules/hero/api_strengthenUplv.go b/modules/hero/api_strengthenUplv.go index 8c2791148..91fadbe6b 100644 --- a/modules/hero/api_strengthenUplv.go +++ b/modules/hero/api_strengthenUplv.go @@ -119,6 +119,9 @@ func (this *apiComp) StrengthenUplv(session comm.IUserSession, req *pb.HeroStren } curExp += addExp // 先把经验加上 for { + if len(_data.Heroexp) == 0 { + break + } if maxLv <= _hero.Lv && curExp >= _data.Heroexp[0].N { // 设置最大经验和等级 // 超过的经验值 leftExp := curExp - _data.Heroexp[0].N @@ -131,7 +134,7 @@ func (this *apiComp) StrengthenUplv(session comm.IUserSession, req *pb.HeroStren curExp = _data.Heroexp[0].N break } - if _data.Heroexp == nil || _data.Heroexp[0].N > curExp { // 经验不够升级则不能执行升级操作 + if len(_data.Heroexp) == 0 || _data.Heroexp[0].N > curExp { // 经验不够升级则不能执行升级操作 break } else { // 升级操作 curExp -= _data.Heroexp[0].N diff --git a/modules/hero/model_hero.go b/modules/hero/model_hero.go index dba76ef0e..86847d7b6 100644 --- a/modules/hero/model_hero.go +++ b/modules/hero/model_hero.go @@ -480,6 +480,9 @@ func (this *ModelHero) AddCardExp(uid string, hero *pb.DBHero, exp int32) (newhe } curExp += exp // 先把经验加上 for { // 死循环判断一键升级 + if len(_data.Heroexp) == 0 { + break + } if maxLv <= hero.Lv && curExp >= _data.Heroexp[0].N { // 设置最大经验和等级 curLv = maxLv curExp = _data.Heroexp[0].N