物品掉落

back_recharge
lvxinran 2019-11-06 11:31:28 +08:00
parent cc6da29f57
commit 7e0d37f785
1 changed files with 38 additions and 41 deletions

View File

@ -687,8 +687,9 @@ public class ItemUtil {
LOGGER.info("the uid={},the curMapId={},add equip={},equipNum={},totalEquipNum={}",user.getId(),user.getMapManager().getCurMapId(),entry.getKey(),nums,equips.size());
}
for (Map.Entry<Integer, Integer> entry : equipMap.entrySet()) {
SEquipTalismana sEquipTalismana = STableManager.getConfig(SEquipTalismana.class).get(entry.getKey());
if (sEquipTalismana == null) {
// SEquipTalismana sEquipTalismana = STableManager.getConfig(SEquipTalismana.class).get(entry.getKey());
Map<Integer, SEquipTalismana> sEquipTalismanaMap = SEquipTalismana.equipTalismanaStarMap.get(entry.getKey());
if (sEquipTalismanaMap.isEmpty()) {
continue;
}
Integer nums = entry.getValue();
@ -697,7 +698,7 @@ public class ItemUtil {
especialEquips.add(equip);
especialEquip.add(CBean2Proto.getEquipProto(equip));
}
LOGGER.info("the uid={},the curMapId={},add equip={},equipNum={},totalEquipNum={}",user.getId(),user.getMapManager().getCurMapId(),entry.getKey(),nums,equips.size());
LOGGER.info("the uid={},the curMapId={},add equip={},equipNum={},totalEquipNum={}",user.getId(),user.getMapManager().getCurMapId(),entry.getKey(),nums,especialEquips.size());
}
for (Map.Entry<Integer, Integer> entry : equipMap.entrySet()) {
@ -711,7 +712,7 @@ public class ItemUtil {
soulEquips.add(soulEquip1);
soulEquiplist.add(CBean2Proto.getEquipProto(soulEquip1));
}
LOGGER.info("the uid={},the curMapId={},add equip={},equipNum={},totalEquipNum={}",user.getId(),user.getMapManager().getCurMapId(),entry.getKey(),nums,equips.size());
LOGGER.info("the uid={},the curMapId={},add equip={},equipNum={},totalEquipNum={}",user.getId(),user.getMapManager().getCurMapId(),entry.getKey(),nums,soulEquiplist.size());
}
mapManager.setTemporaryItems(temporaryItems);
@ -783,48 +784,16 @@ public class ItemUtil {
if(!sendToFront.isEmpty()){
MessageUtil.sendBagIndication(user.getId(),0,sendToFront);
}
for (Equip equip : equips) {
SItem sItem = SItem.getsItemMap().get (equip.getEquipId());
if (sItem == null){
continue;
}
if (sItem.getIsSave() != 1) {
continue;
}
if(!isVictory){
if(isFirst){
rewardStr.append(equip.getEquipId()).append("#").append("1");
isFirst = false;
}else{
rewardStr.append("|").append(equip.getEquipId()).append("#").append("1");
}
continue;
}
user.getEquipManager().addEquip(user,equip);
KtEventUtils.onKtEvent(user, ParamEventBean.UserItemEvent,BIReason.TEMPORARY_REWARD,GlobalsDef.addReason,sItem.getId(),1,-1);
for(Equip equip:equips){
equipsToBag(user,isVictory,equip,rewardStr);
}
for(EspecialEquip especialEquip:especialEquips){
user.getEquipManager().addEspecialEquip(user,especialEquip);
equipsToBag(user,isVictory,especialEquip,rewardStr);
}
for(SoulEquip soulEquip:soulEquips){
SItem sItem = SItem.getsItemMap().get (soulEquip.getEquipId());
if (sItem == null){
continue;
}
if (sItem.getIsSave() != 1) {
continue;
}
if(!isVictory){
if(isFirst){
rewardStr.append(soulEquip.getEquipId()).append("#").append("1");
isFirst = false;
}else{
rewardStr.append("|").append(soulEquip.getEquipId()).append("#").append("1");
}
continue;
}
user.getEquipManager().addSoulEquip(soulEquip);
equipsToBag(user,isVictory,soulEquip,rewardStr);
}
user.getMapManager().setTemporaryItems(null);
if(!isVictory){
String title = SErrorCodeEerverConfig.getI18NMessage("map_overtime_title");
@ -835,6 +804,34 @@ public class ItemUtil {
}
public static void equipsToBag(User user, boolean isVictory,PropertyItem equip, StringBuilder rewardStr) throws Exception {
EquipManager equipManager = user.getEquipManager();
SItem sItem = SItem.getsItemMap().get (equip.getEquipId());
if (sItem == null){
return;
}
if (sItem.getIsSave() != 1) {
return;
}
if(!isVictory){
if(rewardStr.length()<1){
rewardStr.append(equip.getEquipId()).append("#").append("1");
}else{
rewardStr.append("|").append(equip.getEquipId()).append("#").append("1");
}
return;
}
if(equip instanceof Equip){
equipManager.addEquip(user,(Equip)equip);
}else if(equip instanceof EspecialEquip){
equipManager.addEspecialEquip(user,(EspecialEquip) equip);
}else if(equip instanceof SoulEquip){
equipManager.addSoulEquip((SoulEquip)equip);
}
KtEventUtils.onKtEvent(user, ParamEventBean.UserItemEvent,BIReason.TEMPORARY_REWARD,GlobalsDef.addReason,sItem.getId(),1,-1);
}
private static void useItem(User user,Map<Integer,Integer> useItemMap,int reason,int subReason) throws Exception{
if(useItemMap.isEmpty()){
return;