From 068fa31db88867de7bba251d234aa3d7e1beb6f4 Mon Sep 17 00:00:00 2001 From: wangyuan Date: Thu, 16 May 2019 10:02:30 +0800 Subject: [PATCH] fix hero --- .../com/ljsd/jieling/logic/hero/HeroLogic.java | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java index 90a8e41a7..6874e436b 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java @@ -416,11 +416,20 @@ public class HeroLogic { } } if(scHeroRankUpConfigByTypeStar!=null){ - SCHeroRankUpConfig scHeroRankUpConfigStar = scHeroRankUpConfigByTypeStar.get(hero.getStar()); - if(scHeroRankUpConfigStar == null){ - scHeroRankUpConfigStar = scHeroRankUpConfigByTypeStar.get(hero.getStar() -1); + boolean isOk =false; + boolean isCheck = false; + for(SCHeroRankUpConfig scHeroRankUpConfigStar:scHeroRankUpConfigByTypeStar.values()){ + int limitStar = scHeroRankUpConfigStar.getLimitStar(); + if(hero.getStar()>limitStar){ + isCheck=true; + if(hero.getLevel()+1<=scHeroRankUpConfigStar.getOpenLevel()){ + isOk = true; + break; + } + } } - if(scHeroRankUpConfigStar == null || (hero.getLevel()+1 > scHeroRankUpConfigStar.getLimitLevel() && hero.getStar() < scHeroRankUpConfigStar.getOpenStar())){ + + if(isCheck && !isOk){ MessageUtil.sendErrorResponse(session,0,MessageTypeProto.MessageType.UP_HERO_LEVEL_RESPONSE_VALUE,"max level"); return; }