限时兑换活动物品掉落修改

lvxinran 2020-08-21 11:30:47 +08:00
parent c36c3abdde
commit dbfb8f4110
4 changed files with 42 additions and 11 deletions

View File

@ -1,6 +1,5 @@
package com.ljsd.jieling.config.clazzStaticCfg;
import config.SExpeditionFloorConfig;
import config.SRaceTowerRewardConfig;
import manager.AbstractClassStaticConfig;
import manager.STableManager;

View File

@ -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());
}*/
}
}
}

View File

@ -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<Integer, CommonProto.Drop> 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<Integer,Integer> itemMap){
Map<Integer, SExchangeActivityConfig> config = STableManager.getConfig(SExchangeActivityConfig.class);
if(config.size()<1){
return;
}
Set<Integer> removeItem = new HashSet<>();
Set<Integer> remainItem = new HashSet<>(3);
for(Map.Entry<Integer,SExchangeActivityConfig> entry:config.entrySet()){
Map<Integer, ActivityMission> 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

View File

@ -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);
}
}