From 81eedff9df60b1fc2caa562ccbd83c9c2159fe70 Mon Sep 17 00:00:00 2001 From: lvxinran Date: Fri, 28 Feb 2020 12:29:53 +0800 Subject: [PATCH] =?UTF-8?q?=E6=88=92=E7=81=B5=E7=A7=98=E5=AE=9D=E5=8D=87?= =?UTF-8?q?=E7=BA=A7=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/ljsd/jieling/util/ItemUtil.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java b/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java index 252e30b11..99a2c8f53 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java @@ -15,6 +15,7 @@ import com.ljsd.jieling.handler.map.TemporaryItems; import com.ljsd.jieling.ktbeans.KtEventUtils; import com.ljsd.jieling.ktbeans.parmsBean.ParamEventBean; import com.ljsd.jieling.logic.OnlineUserManager; +import com.ljsd.jieling.logic.activity.ActivityType; import com.ljsd.jieling.logic.activity.event.HeroFiveStarGetEvent; import com.ljsd.jieling.logic.activity.event.Poster; import com.ljsd.jieling.logic.activity.event.UseItemEvent; @@ -646,10 +647,16 @@ public class ItemUtil { * @param user */ public static void treasureLevelUp(User user) throws Exception { - STreasureSunlongConfig levelConfig = STreasureSunlongConfig.levelTreasureConfigMap.get(user.getPlayerInfoManager().getTreasureLevel()); + + List activities = SGlobalActivity.sGlobalActivityMapByType.get(ActivityType.TREASURE); + SGlobalActivity activity = activities.stream().filter(a -> user.getActivityManager().getActivityMissionMap().containsKey(a)).findAny().orElse(null); + if(activity==null){ + return; + } + STreasureSunlongConfig levelConfig = STreasureSunlongConfig.levelTreasureConfigMap.get(activity.getId()).get(user.getPlayerInfoManager().getTreasureLevel()); while(levelConfig!=null&&levelConfig.getIntegral().length>0&&ItemUtil.itemCost(user,levelConfig.getIntegral(), BIReason.TREASURE_LEVEL_UP_CONSUME,1)){ user.getPlayerInfoManager().addTreasureLevel(); - levelConfig = STreasureSunlongConfig.levelTreasureConfigMap.get(user.getPlayerInfoManager().getTreasureLevel()); + levelConfig = STreasureSunlongConfig.levelTreasureConfigMap.get(activity.getId()).get(user.getPlayerInfoManager().getTreasureLevel()); } PlayerInfoProto.TreasureLevelUpIndication indication = PlayerInfoProto.TreasureLevelUpIndication.newBuilder().setLevel(user.getPlayerInfoManager().getTreasureLevel()).build(); MessageUtil.sendIndicationMessage(OnlineUserManager.getSessionByUid(user.getId()),1,MessageTypeProto.MessageType.TREASURE_LEVELUP_INDICATION_VALUE,indication,true);