经验道具

master_otnew
grimm 2024-01-25 17:12:38 +08:00
parent 0360262525
commit a34c8013d9
1 changed files with 20 additions and 10 deletions

View File

@ -758,13 +758,11 @@ public class ItemUtil {
// 日志记录
ItemLogic.getInstance().addItemLog(new ItemLog(user, 0, reason, item, itemNum));
extraDropAop(user, dropBuilder, sItem);
// id
switch (id){
case Global.EXP://经验
userLevelUp(user, itemNum);
continue;
break;
case Global.TREASURE_SCORE://青龙秘宝积分
treasureLevelUp(user);
break;
@ -793,7 +791,12 @@ public class ItemUtil {
break;
default:break;
}
sendToFront.add(CBean2Proto.getItem(item, -1));
extraDropAop(user, dropBuilder, sItem);
// 经验道具特殊,不记录
if (id != Global.EXP){
sendToFront.add(CBean2Proto.getItem(item, -1));
}
}
// 发送装备图鉴修改推送
@ -807,24 +810,31 @@ public class ItemUtil {
dropBuilder.addAllItemlist(itemProtoList);
}
boolean extraBol = !extraItem.isEmpty();
if (!sendToFront.isEmpty() || extraBol) {
MessageUtil.sendBagIndication(user.getId(), 0, sendToFront, extraBol);
// 经验道具特殊,不发邮件
Iterator<Map.Entry<Integer, Integer>> iterator = extraItem.entrySet().iterator();
while (iterator.hasNext()){
Integer itemId = iterator.next().getKey();
SItem item = SItem.getsItemMap().get(itemId);
if (item.getId() == Global.EXP){
iterator.remove();
}
}
boolean extraBol = !extraItem.isEmpty();
if (extraBol) {
StringBuilder builder = new StringBuilder();
for(Map.Entry<Integer,Integer> entry : extraItem.entrySet()){
SItem item = SItem.getsItemMap().get(entry.getKey());
if (item.getId() == Global.EXP){
continue;
}
builder.append(entry.getKey()).append("#").append(entry.getValue());
String title = SErrorCodeEerverConfig.getI18NMessage("item_max_mail_title");
String content = SErrorCodeEerverConfig.getI18NMessageNeedConvert("item_max_mail_content",new String[]{item.getName(),String.valueOf(item.getItemNumlimit())},new int[]{1,0},"#");
MailLogic.getInstance().sendMail(user.getId(),title,content,builder.toString(),TimeUtils.nowInt(),Global.MAIL_EFFECTIVE_TIME);
builder = new StringBuilder();
}
MessageUtil.sendBagIndication(user.getId(), 0, sendToFront, true);
}
else if (!sendToFront.isEmpty()) {
MessageUtil.sendBagIndication(user.getId(), 0, sendToFront, false);
}
Poster.getPoster().dispatchEvent(new AddItemEvent(user.getId(),itemMap));