From 1b2e00e4783f31409b5cc0d98539c59a72430473 Mon Sep 17 00:00:00 2001 From: lvxinran Date: Thu, 28 Jan 2021 17:05:37 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8A=BD=E5=8D=A1=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ljsd/jieling/logic/hero/HeroLogic.java | 20 +++++++------------ 1 file changed, 7 insertions(+), 13 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 ccf23875e..4d8eca9b2 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 @@ -552,20 +552,14 @@ public class HeroLogic{ throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE); } sLotteryRewardConfig = randomHeroByPoolId(onConfig.getpool_id(), 1, user.getPlayerInfoManager().getLevel()); - if(mustSet.size() > 1){ - //如果同时触发多个 把所有的计数清零 - for(int mustId:mustSet){ - randomPoolByType.get(mergePool).put(mustId,0); + + for (int key : randomPoolByType.get(mergePool).keySet()) { + if(maxId >= key){ + randomPoolByType.get(mergePool).put(key, 0); + }else{ + int curValue = randomPoolByType.get(mergePool).getOrDefault(key, 0); + randomPoolByType.get(mergePool).put(key, curValue + 1); } - }else{ - //如果只触发一个,仍把其他的计数加1 - for (int key : randomPoolByType.get(mergePool).keySet()) { - if(maxId != key){ - int curValue = randomPoolByType.get(mergePool).getOrDefault(key, 0); - randomPoolByType.get(mergePool).put(key, curValue + 1); - } - } - randomPoolByType.get(mergePool).put(maxId,0); } } heroManager.updateRandomPoolByType(mergePool,randomPoolByType.get(mergePool));