back_recharge
zhangshanxue 2019-10-24 10:34:07 +08:00
commit 070774cc6b
1 changed files with 25 additions and 12 deletions

View File

@ -707,6 +707,7 @@ public class ItemUtil {
if (items.isEmpty() && equips.isEmpty() && especialEquips.isEmpty()&&soulEquips.isEmpty()) {
return;
}
Map<Integer,Integer> equipMap = new HashMap<>();
Map<Integer, Item> itemMap = user.getItemManager().getItemMap();
StringBuilder rewardStr = new StringBuilder();
boolean isFirst = true;
@ -766,13 +767,16 @@ public class ItemUtil {
}
continue;
}
user.getEquipManager().addEquip(user,equip);
equipMap.put(equip.getEquipId(),equipMap.containsKey(equip.getEquipId())?equipMap.get(equip.getEquipId())+1:1);
KtEventUtils.onKtEvent(user, ParamEventBean.UserItemEvent,BIReason.TEMPORARY_REWARD,GlobalsDef.addReason,sItem.getId(),1,-1);
}
addEquip(user,equipMap,CommonProto.Drop.newBuilder(),BIReason.MAP_GENERAL_FIGHT_REWARD);
equipMap = new HashMap<>();
for(EspecialEquip especialEquip:especialEquips){
user.getEquipManager().addEspecialEquip(user,especialEquip);
equipMap.put(especialEquip.getEquipId(),equipMap.containsKey(especialEquip.getEquipId())?equipMap.get(especialEquip.getEquipId())+1:1);
}
addEquip(user,equipMap,CommonProto.Drop.newBuilder(),BIReason.MAP_GENERAL_FIGHT_REWARD);
equipMap = new HashMap<>();
for(SoulEquip soulEquip:soulEquips){
SItem sItem = SItem.getsItemMap().get (soulEquip.getEquipId());
if (sItem == null){
@ -790,8 +794,9 @@ public class ItemUtil {
}
continue;
}
user.getEquipManager().addSoulEquip(soulEquip);
equipMap.put(soulEquip.getEquipId(),equipMap.containsKey(soulEquip.getEquipId())?equipMap.get(soulEquip.getEquipId())+1:1);
}
addSoulEquip(user,equipMap,CommonProto.Drop.newBuilder(),BIReason.MAP_GENERAL_FIGHT_REWARD);
user.getMapManager().setTemporaryItems(null);
if(!isVictory){
String title = SErrorCodeEerverConfig.getI18NMessage("map_overtime_title");
@ -908,8 +913,14 @@ public class ItemUtil {
int hasEquipNum = user.getEquipManager().getEquipMap().size();
String title = SErrorCodeEerverConfig.getI18NMessage("equip_bag_limit_title");
String content = SErrorCodeEerverConfig.getI18NMessage("equip_bag_limit_txt");
if (hasEquipNum >= gameSetting.getEquipNumlimit()){
int equipNum = equipMap.entrySet().stream().filter(k ->{
int itemType = SItem.getsItemMap().get(k.getKey()).getItemType();
if(itemType==GlobalItemType.EQUIP){
return true;
}
return false;
}).collect(Collectors.toSet()).size();
if (hasEquipNum +equipNum>= gameSetting.getEquipNumlimit()){
String reward = getLimitReward(equipMap,filter);
int nowTime =(int) (TimeUtils.now()/1000);
MailLogic.getInstance().sendMail(user.getId(),title,content,reward,nowTime,Global.MAIL_EFFECTIVE_TIME);
@ -920,14 +931,15 @@ public class ItemUtil {
List<CommonProto.Equip> equipList = new CopyOnWriteArrayList<>();
List<CommonProto.Equip> especialEquip = new CopyOnWriteArrayList<>();
int limit = SSpecialConfig.getIntegerValue(SSpecialConfig.EquipTalismana_limit);
if(equipMap.entrySet().stream().filter(k ->{
int especialNum = equipMap.entrySet().stream().filter(k ->{
int itemType = SItem.getsItemMap().get(k.getKey()).getItemType();
if(itemType==GlobalItemType.ESPECIAL_EQUIP){
return true;
}
return false;
}).collect(Collectors.toSet()).size()>0){
if (user.getEquipManager().getEspecialEquipMap().size() >=limit){
}).collect(Collectors.toSet()).size();
if(especialNum>0){
if (user.getEquipManager().getEspecialEquipMap().size() +especialNum>=limit){
String bagTitle = SErrorCodeEerverConfig.getI18NMessage("EquipTalismana_bag_limit_title");
String bagContent = SErrorCodeEerverConfig.getI18NMessage("EquipTalismana_bag_limit_txt");
String bagReward = getLimitReward(equipMap,filter);
@ -985,15 +997,16 @@ public class ItemUtil {
// return;
// }
if(equipMap.entrySet().stream().filter(k ->{
int tempNum = equipMap.entrySet().stream().filter(k ->{
int itemType = SItem.getsItemMap().get(k.getKey()).getItemType();
if(itemType==GlobalItemType.SOUL_MARK){
return true;
}
return false;
}).collect(Collectors.toSet()).size()>0){
}).collect(Collectors.toSet()).size();
if(tempNum>0){
int limit = SSpecialConfig.getIntegerValue(SSpecialConfig.EQUIPSIGN_LIMIT);
if (user.getEquipManager().getSoulEquipMap().size() >=limit){
if (user.getEquipManager().getSoulEquipMap().size()+tempNum >=limit){
String title = SErrorCodeEerverConfig.getI18NMessage("EquipSign_bag_limit_title");
String content = SErrorCodeEerverConfig.getI18NMessage("EquipSign_bag_limit_txt");
String reward = getLimitReward(equipMap,filter);