diff --git a/serverlogic/src/main/java/com/ljsd/jieling/globals/BIReason.java b/serverlogic/src/main/java/com/ljsd/jieling/globals/BIReason.java index 672792ed1..053deab93 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/globals/BIReason.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/globals/BIReason.java @@ -171,5 +171,7 @@ public interface BIReason { int TREASURE_BUY_LEVEL_CONSUME = 1043;//孙龙宝藏等级快速购买 + int TREASURE_RESET_CONCUME = 1044;//孙龙宝藏重置删除积分 + } \ No newline at end of file diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserMissionManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserMissionManager.java index 7e527920d..8db549557 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserMissionManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserMissionManager.java @@ -2,8 +2,11 @@ package com.ljsd.jieling.logic.dao; import com.ljsd.common.mogodb.MongoBase; import com.ljsd.jieling.config.classsStaticCfg.TaskStaticConfig; +import com.ljsd.jieling.globals.BIReason; +import com.ljsd.jieling.globals.Global; import com.ljsd.jieling.logic.OnlineUserManager; import com.ljsd.jieling.logic.dao.root.User; +import com.ljsd.jieling.logic.item.ItemLogic; import com.ljsd.jieling.logic.mission.*; import com.ljsd.jieling.logic.mission.event.MissionEventDistributor; import com.ljsd.jieling.logic.mission.main.*; @@ -11,12 +14,14 @@ import com.ljsd.jieling.network.session.ISession; import com.ljsd.jieling.protocols.CommonProto; import com.ljsd.jieling.protocols.MessageTypeProto; import com.ljsd.jieling.protocols.PlayerInfoProto; +import com.ljsd.jieling.util.ItemUtil; import util.MathUtils; import com.ljsd.jieling.util.MessageUtil; import config.*; import manager.STableManager; import util.TimeUtils; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; @@ -99,6 +104,17 @@ public class UserMissionManager extends MongoBase { break; case TREASH_MONTH_REFRESH: + user.getPlayerInfoManager().setTreasureLevel(0); + int itemNum = user.getItemManager().getItem(Global.TREASURE_SCORE).getItemNum(); + if(itemNum!=0){ + Map treasureScore = new HashMap<>(); + treasureScore.put(Global.TREASURE_SCORE,itemNum); + try { + ItemUtil.itemCost(user,treasureScore, BIReason.TREASURE_RESET_CONCUME,1); + } catch (Exception e) { + e.printStackTrace(); + } + } System.out.println("戒灵秘宝月任务初始化"); int[] dailyRefreshIds1 = resetTreasureTaskInfo(1,missionTypeEnumListMap,treasureCumulationData); int[] weekRefreshIds1 = resetTreasureTaskInfo(2,missionTypeEnumListMap,treasureWeekCumulationData); 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 5197d4745..57000423a 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java @@ -597,7 +597,7 @@ public class ItemUtil { */ public static void treasureLevelUp(User user) throws Exception { STreasureSunlongConfig levelConfig = STreasureSunlongConfig.levelTreasureConfigMap.get(user.getPlayerInfoManager().getTreasureLevel()); - while(ItemUtil.itemCost(user,levelConfig.getIntegral(), BIReason.TREASURE_LEVEL_UP_CONCUME,1)){ + while(levelConfig.getIntegral()!=null&&ItemUtil.itemCost(user,levelConfig.getIntegral(), BIReason.TREASURE_LEVEL_UP_CONCUME,1)){ user.getPlayerInfoManager().addTreasureLevel(); levelConfig = STreasureSunlongConfig.levelTreasureConfigMap.get(user.getPlayerInfoManager().getTreasureLevel()); }