From 24fb25692f9fc05e340e1f3483e60d3008c212e8 Mon Sep 17 00:00:00 2001 From: meixiongfeng <766881921@qq.com> Date: Fri, 12 Aug 2022 10:43:49 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=B1=E9=B8=A3=E5=B1=9E=E6=80=A7=E5=88=86?= =?UTF-8?q?=E9=85=8DBUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/hero/api_awaken.go | 1 + modules/hero/api_resonance.go | 8 +------- modules/hero/api_resonanceReset.go | 6 +++--- modules/hero/api_resonanceSelect.go | 16 ++++++++-------- 4 files changed, 13 insertions(+), 18 deletions(-) diff --git a/modules/hero/api_awaken.go b/modules/hero/api_awaken.go index b4c4f0b80..9a01f3358 100644 --- a/modules/hero/api_awaken.go +++ b/modules/hero/api_awaken.go @@ -102,6 +102,7 @@ func (this *apiComp) Awaken(session comm.IUserSession, req *pb.HeroAwakenReq) (c _hero.JuexingLv += 1 _heroMap := map[string]interface{}{ "juexingLv": _hero.JuexingLv, + "sameCount": 1, "isOverlying": false, } // 保存数据 diff --git a/modules/hero/api_resonance.go b/modules/hero/api_resonance.go index 9fbdd4171..7bd9af3c1 100644 --- a/modules/hero/api_resonance.go +++ b/modules/hero/api_resonance.go @@ -75,10 +75,6 @@ func (this *apiComp) Resonance(session comm.IUserSession, req *pb.HeroResonanceR } } - // if int32(len(req.CostObjID)) != int32(len(szCostHero)) { // 总数消耗校验 - // code = pb.ErrorCode_HeroNoEnough // 消耗数量不对应 - // return - // } for k, v := range szCostHero { c := this.module.DelCard(session.GetUserId(), _costMaphero[k], v) if c != pb.ErrorCode_Success { @@ -121,9 +117,7 @@ func (this *apiComp) Resonance(session comm.IUserSession, req *pb.HeroResonanceR // 返还对应初始星级的卡 for _, v := range resonConfig.Prize { if v.A == comm.HeroType { - for i := 0; i < int(v.N); i++ { // 有多少张加多少次 - this.module.modelHero.createOneHero(session.GetUserId(), v.T) - } + this.module.modelHero.createHeroOverlying(session.GetUserId(), v.T, v.N) } } diff --git a/modules/hero/api_resonanceReset.go b/modules/hero/api_resonanceReset.go index 735f173d2..3e0138475 100644 --- a/modules/hero/api_resonanceReset.go +++ b/modules/hero/api_resonanceReset.go @@ -68,10 +68,10 @@ func (this *apiComp) ResonanceReset(session comm.IUserSession, req *pb.HeroReson for k := range _hero.Energy { // 清除玩家选择的共鸣属性 delete(_hero.Energy, k) } - _hero.ResonateNum *= resonConfig.Energy + _hero.DistributionResonate = _hero.ResonateNum * resonConfig.Energy _heroMap := map[string]interface{}{ - "DistributionResonate": _hero.ResonateNum, - "Energy": _hero.Energy, + "distributionResonate": _hero.DistributionResonate, + "energy": _hero.Energy, "isOverlying": false, } diff --git a/modules/hero/api_resonanceSelect.go b/modules/hero/api_resonanceSelect.go index c768419d9..53fe43784 100644 --- a/modules/hero/api_resonanceSelect.go +++ b/modules/hero/api_resonanceSelect.go @@ -14,10 +14,11 @@ func (this *apiComp) ResonanceUseEnergyCheck(session comm.IUserSession, req *pb. return } for _, v := range req.Energy { - if v.UseType != comm.ResonanceAtkPro && v.UseType != comm.ResonanceHpPro && v.UseType != comm.ResonanceDefPro { + if v.UseEnergy < 0 || (v.UseType != comm.ResonanceAtkPro && v.UseType != comm.ResonanceHpPro && v.UseType != comm.ResonanceDefPro) { code = pb.ErrorCode_ReqParameterError return } + } return } @@ -25,10 +26,8 @@ func (this *apiComp) ResonanceUseEnergyCheck(session comm.IUserSession, req *pb. func (this *apiComp) ResonanceUseEnergy(session comm.IUserSession, req *pb.HeroResonanceUseEnergyReq) (code pb.ErrorCode, data proto.Message) { var ( _hero *pb.DBHero - energyMap map[string]int32 totalEnergy int32 ) - energyMap = make(map[string]int32, 0) code = this.ResonanceUseEnergyCheck(session, req) // check if code != pb.ErrorCode_Success { return @@ -39,7 +38,6 @@ func (this *apiComp) ResonanceUseEnergy(session comm.IUserSession, req *pb.HeroR return } for _, v := range req.Energy { - energyMap[v.UseType] += v.UseEnergy totalEnergy += v.UseEnergy } @@ -48,12 +46,14 @@ func (this *apiComp) ResonanceUseEnergy(session comm.IUserSession, req *pb.HeroR return } for _, v := range req.Energy { - _hero.Energy[v.UseType] += v.UseEnergy + if v.UseEnergy > 0 { + _hero.Energy[v.UseType] += v.UseEnergy + } } - + _hero.DistributionResonate -= totalEnergy _heroMap := map[string]interface{}{ - "DistributionResonate": _hero.DistributionResonate - totalEnergy, // 减没有分配的能量 - "Energy": _hero.Energy, + "distributionResonate": _hero.DistributionResonate, // 减没有分配的能量 + "energy": _hero.Energy, "isOverlying": false, }