背包上限修改
parent
5ed723c9da
commit
e50658debc
|
@ -707,6 +707,7 @@ public class ItemUtil {
|
||||||
if (items.isEmpty() && equips.isEmpty() && especialEquips.isEmpty()&&soulEquips.isEmpty()) {
|
if (items.isEmpty() && equips.isEmpty() && especialEquips.isEmpty()&&soulEquips.isEmpty()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
Map<Integer,Integer> equipMap = new HashMap<>();
|
||||||
Map<Integer, Item> itemMap = user.getItemManager().getItemMap();
|
Map<Integer, Item> itemMap = user.getItemManager().getItemMap();
|
||||||
StringBuilder rewardStr = new StringBuilder();
|
StringBuilder rewardStr = new StringBuilder();
|
||||||
boolean isFirst = true;
|
boolean isFirst = true;
|
||||||
|
@ -766,13 +767,16 @@ public class ItemUtil {
|
||||||
}
|
}
|
||||||
continue;
|
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);
|
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){
|
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){
|
for(SoulEquip soulEquip:soulEquips){
|
||||||
SItem sItem = SItem.getsItemMap().get (soulEquip.getEquipId());
|
SItem sItem = SItem.getsItemMap().get (soulEquip.getEquipId());
|
||||||
if (sItem == null){
|
if (sItem == null){
|
||||||
|
@ -790,8 +794,9 @@ public class ItemUtil {
|
||||||
}
|
}
|
||||||
continue;
|
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);
|
user.getMapManager().setTemporaryItems(null);
|
||||||
if(!isVictory){
|
if(!isVictory){
|
||||||
String title = SErrorCodeEerverConfig.getI18NMessage("map_overtime_title");
|
String title = SErrorCodeEerverConfig.getI18NMessage("map_overtime_title");
|
||||||
|
@ -908,8 +913,14 @@ public class ItemUtil {
|
||||||
int hasEquipNum = user.getEquipManager().getEquipMap().size();
|
int hasEquipNum = user.getEquipManager().getEquipMap().size();
|
||||||
String title = SErrorCodeEerverConfig.getI18NMessage("equip_bag_limit_title");
|
String title = SErrorCodeEerverConfig.getI18NMessage("equip_bag_limit_title");
|
||||||
String content = SErrorCodeEerverConfig.getI18NMessage("equip_bag_limit_txt");
|
String content = SErrorCodeEerverConfig.getI18NMessage("equip_bag_limit_txt");
|
||||||
|
int equipNum = equipMap.entrySet().stream().filter(k ->{
|
||||||
if (hasEquipNum >= gameSetting.getEquipNumlimit()){
|
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);
|
String reward = getLimitReward(equipMap,filter);
|
||||||
int nowTime =(int) (TimeUtils.now()/1000);
|
int nowTime =(int) (TimeUtils.now()/1000);
|
||||||
MailLogic.getInstance().sendMail(user.getId(),title,content,reward,nowTime,Global.MAIL_EFFECTIVE_TIME);
|
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> equipList = new CopyOnWriteArrayList<>();
|
||||||
List<CommonProto.Equip> especialEquip = new CopyOnWriteArrayList<>();
|
List<CommonProto.Equip> especialEquip = new CopyOnWriteArrayList<>();
|
||||||
int limit = SSpecialConfig.getIntegerValue(SSpecialConfig.EquipTalismana_limit);
|
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();
|
int itemType = SItem.getsItemMap().get(k.getKey()).getItemType();
|
||||||
if(itemType==GlobalItemType.ESPECIAL_EQUIP){
|
if(itemType==GlobalItemType.ESPECIAL_EQUIP){
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}).collect(Collectors.toSet()).size()>0){
|
}).collect(Collectors.toSet()).size();
|
||||||
if (user.getEquipManager().getEspecialEquipMap().size() >=limit){
|
if(especialNum>0){
|
||||||
|
if (user.getEquipManager().getEspecialEquipMap().size() +especialNum>=limit){
|
||||||
String bagTitle = SErrorCodeEerverConfig.getI18NMessage("EquipTalismana_bag_limit_title");
|
String bagTitle = SErrorCodeEerverConfig.getI18NMessage("EquipTalismana_bag_limit_title");
|
||||||
String bagContent = SErrorCodeEerverConfig.getI18NMessage("EquipTalismana_bag_limit_txt");
|
String bagContent = SErrorCodeEerverConfig.getI18NMessage("EquipTalismana_bag_limit_txt");
|
||||||
String bagReward = getLimitReward(equipMap,filter);
|
String bagReward = getLimitReward(equipMap,filter);
|
||||||
|
@ -985,15 +997,16 @@ public class ItemUtil {
|
||||||
// return;
|
// return;
|
||||||
// }
|
// }
|
||||||
|
|
||||||
if(equipMap.entrySet().stream().filter(k ->{
|
int tempNum = equipMap.entrySet().stream().filter(k ->{
|
||||||
int itemType = SItem.getsItemMap().get(k.getKey()).getItemType();
|
int itemType = SItem.getsItemMap().get(k.getKey()).getItemType();
|
||||||
if(itemType==GlobalItemType.SOUL_MARK){
|
if(itemType==GlobalItemType.SOUL_MARK){
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}).collect(Collectors.toSet()).size()>0){
|
}).collect(Collectors.toSet()).size();
|
||||||
|
if(tempNum>0){
|
||||||
int limit = SSpecialConfig.getIntegerValue(SSpecialConfig.EQUIPSIGN_LIMIT);
|
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 title = SErrorCodeEerverConfig.getI18NMessage("EquipSign_bag_limit_title");
|
||||||
String content = SErrorCodeEerverConfig.getI18NMessage("EquipSign_bag_limit_txt");
|
String content = SErrorCodeEerverConfig.getI18NMessage("EquipSign_bag_limit_txt");
|
||||||
String reward = getLimitReward(equipMap,filter);
|
String reward = getLimitReward(equipMap,filter);
|
||||||
|
|
Loading…
Reference in New Issue