diff --git a/serverlogic/src/main/java/com/ljsd/jieling/config/clazzStaticCfg/RewardStaticConfig.java b/serverlogic/src/main/java/com/ljsd/jieling/config/clazzStaticCfg/RewardStaticConfig.java index c2117d4ef..71cb5736e 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/config/clazzStaticCfg/RewardStaticConfig.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/config/clazzStaticCfg/RewardStaticConfig.java @@ -1,6 +1,5 @@ package com.ljsd.jieling.config.clazzStaticCfg; -import config.SExpeditionFloorConfig; import config.SRaceTowerRewardConfig; import manager.AbstractClassStaticConfig; import manager.STableManager; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/DefaultEmptyActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/DefaultEmptyActivity.java index a9df0cef6..04062dac7 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/DefaultEmptyActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/DefaultEmptyActivity.java @@ -1,18 +1,17 @@ package com.ljsd.jieling.logic.activity; import com.ljsd.jieling.config.clazzStaticCfg.TaskStaticConfig; +import com.ljsd.jieling.globals.BIReason; import com.ljsd.jieling.globals.Global; import com.ljsd.jieling.jbean.ActivityMission; +import com.ljsd.jieling.logic.dao.Item; import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.logic.mail.MailLogic; import com.ljsd.jieling.logic.mission.GameEvent; import com.ljsd.jieling.logic.mission.main.ServenMissionIdsType; import com.ljsd.jieling.util.ItemUtil; import com.ljsd.jieling.util.ToolsUtil; -import config.SErrorCodeEerverConfig; -import config.SGlobalActivity; -import config.SSevenDaysScore; -import config.STreasureTaskConfig; +import config.*; import manager.STableManager; import java.util.ArrayList; @@ -57,7 +56,7 @@ public class DefaultEmptyActivity extends AbstractActivity{ }*/ } }else if(sGlobalActivity.getType() == ActivityType.EXCHANGEANDDROP){ - /* int shopId = sGlobalActivity.getShopId(); + int shopId = sGlobalActivity.getShopId()[0]; SStoreConfig sStoreConfig = SStoreConfig.getSstoreConfigBuyStore().get(shopId).get(0); int removeItemId = sStoreConfig.getCost()[0][0]; Item item = user.getItemManager().getItem(removeItemId); @@ -65,7 +64,7 @@ public class DefaultEmptyActivity extends AbstractActivity{ int[][] cost= new int[1][]; cost[0] = new int[]{item.getItemId(),item.getItemNum()}; ItemUtil.itemCost(user,cost, BIReason.EXCHANGE_ACTIVITY_CLOSE,sGlobalActivity.getId()); - }*/ + } } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/CombatLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/CombatLogic.java index d84a2615c..551997d64 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/CombatLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/CombatLogic.java @@ -14,6 +14,7 @@ import com.ljsd.jieling.globals.BIReason; import com.ljsd.jieling.globals.Global; import com.ljsd.jieling.handler.map.MapManager; import com.ljsd.jieling.handler.map.behavior.BehaviorUtil; +import com.ljsd.jieling.jbean.ActivityMission; import com.ljsd.jieling.ktbeans.KTGameType; import com.ljsd.jieling.ktbeans.KtEventUtils; import com.ljsd.jieling.ktbeans.parmsBean.ParamEventBean; @@ -279,6 +280,8 @@ public class CombatLogic { ItemUtil.combineReward(user,true,targetMainLevelConfig.getRandomReward(), 1f,randomItemMap,randomCardMap,randomEquipMap,randomRandomMap,BIReason.ADVENTURE_RANDOM_REWARDD); } randomEquipMap = equipAutoCombine(randomEquipMap); + //清除无用活动道具 + removeNoUseItem(user,randomItemMap); ItemUtil.drop(user,baseBuilder,baseItemMap,baseCardMap,baseEquipMap,baseRandomMap,BIReason.ADVENTURE_BASE_REWARD); ItemUtil.drop(user,randomBuilder,randomItemMap,randomCardMap,randomEquipMap,randomRandomMap,BIReason.ADVENTURE_RANDOM_REWARDD); Map result = new HashMap<>(2); @@ -972,6 +975,7 @@ public class CombatLogic { rewardStr = ItemUtil.getReward(baseItemMap, baseCardMap, baseEquipMap, baseRandomMap); return this; } + removeNoUseItem(user,randomItemMap); if(sendMail){ if(!baseItemMap.isEmpty()){ int vipLevel = user.getPlayerInfoManager().getVipLevel(); @@ -997,6 +1001,34 @@ public class CombatLogic { } + private static void removeNoUseItem(User user,Map itemMap){ + Map config = STableManager.getConfig(SExchangeActivityConfig.class); + if(config.size()<1){ + return; + } + Set removeItem = new HashSet<>(); + Set remainItem = new HashSet<>(3); + for(Map.Entry entry:config.entrySet()){ + Map activityMissionMap = user.getActivityManager().getActivityMissionMap(); + int activityId = entry.getValue().getActivityId(); + if(!activityMissionMap.containsKey(activityId)){ + removeItem.add(entry.getValue().getActivityItem()); + continue; + } + if(activityMissionMap.get(activityId).getOpenType()!=1){ + removeItem.add(entry.getValue().getActivityItem()); + continue; + } + remainItem.add(entry.getValue().getActivityItem()); + } + for(int item :removeItem){ + if(remainItem.contains(item)){ + continue; + } + itemMap.remove(item); + } + } + /** * 将挂机和急速探索的装备合成起来 * @param equipMap 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 13aa5e49b..f614c5422 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 @@ -1802,10 +1802,11 @@ public class HeroLogic{ for(int[] item : otherAttriMap){ int propertyId = item[0]; int propertyValue = item[1]; - if(heroAttributeMap.containsKey(propertyId)){ - propertyValue += heroAttributeMap.get(propertyId); - } - heroAttributeMap.put(propertyId,propertyValue); +// if(heroAttributeMap.containsKey(propertyId)){ +// propertyValue += heroAttributeMap.get(propertyId); +// } +// heroAttributeMap.put(propertyId,propertyValue); + heroAttributeMap.put(propertyId,heroAttributeMap.getOrDefault(propertyId,0)+propertyValue); } }