装备加道具日志
parent
d5d2ff3d2a
commit
b1f60947ca
|
|
@ -24,7 +24,6 @@ public class Item extends MongoBase {
|
|||
}
|
||||
|
||||
|
||||
|
||||
public int getItemId() {
|
||||
return itemId;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,6 +16,9 @@ public class ItemLog {
|
|||
private String id;
|
||||
@Field(value = "uid")
|
||||
private int uid;
|
||||
/**
|
||||
* 0 增加,1 减少
|
||||
*/
|
||||
@Field(value = "type")
|
||||
private int type;
|
||||
@Field(value = "level")
|
||||
|
|
@ -46,6 +49,17 @@ public class ItemLog {
|
|||
this.itemTotalNum = itemTotalNum;
|
||||
}
|
||||
|
||||
public ItemLog(User user, int type, int reason, int itemId, long itemNum, long itemTotalNum) {
|
||||
this.uid = user.getId();
|
||||
this.type = type;
|
||||
this.level = user.getPlayerInfoManager().getLevel();
|
||||
this.time = String.valueOf(TimeUtils.now());
|
||||
this.reason = reason;
|
||||
this.itemId = itemId;
|
||||
this.itemNum = itemNum;
|
||||
this.itemTotalNum = itemTotalNum;
|
||||
}
|
||||
|
||||
public ItemLog(User user, int type, int reason, Item item, long itemNum) {
|
||||
this.uid = user.getId();
|
||||
this.type = type;
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ public class ItemUtil {
|
|||
addCard(user, itemObj.getCardMap(), dropBuilder,reason);
|
||||
addEquip(user, itemObj.getEquipMap(), dropBuilder,reason);
|
||||
addSpecialMonster(user,itemObj,dropBuilder,reason);
|
||||
addMagicSoldier(user,itemObj.getMagicSoldierMap(),dropBuilder);
|
||||
addMagicSoldier(user,itemObj.getMagicSoldierMap(),dropBuilder,reason);
|
||||
addGemNew(user,itemObj.getGemNewMap(),dropBuilder);
|
||||
}
|
||||
|
||||
|
|
@ -1189,18 +1189,20 @@ public class ItemUtil {
|
|||
|
||||
StringBuilder reward = new StringBuilder();
|
||||
List<CommonProto.Equip> jewelList = new CopyOnWriteArrayList<>();
|
||||
Map<String, PropertyItem> propertyItemMap = user.getEquipManager().getEquipMap();
|
||||
// jewelMap 为了做宝物礼包推送<宝物品质, 数量>
|
||||
ArrayList<Integer> jewelPush = new ArrayList<>();
|
||||
for (Map.Entry<Integer, Integer> entry : equipMap.entrySet()) {
|
||||
Integer key = entry.getKey();
|
||||
int count = entry.getValue();
|
||||
long count1 = propertyItemMap.values().stream().filter(v -> v.getEquipId() == key).count();
|
||||
int itemType = SItem.getsItemMap().get(key).getItemType();
|
||||
if(!ifPropertyItem(itemType)){
|
||||
continue;
|
||||
}
|
||||
for (int i = 0; i < count; i++) {
|
||||
// 到达装备上限,发送邮件,不走背包
|
||||
if (user.getEquipManager().getEquipMap().size() >= gameSetting.getEquipNumlimit()) {
|
||||
if (propertyItemMap.size() >= gameSetting.getEquipNumlimit()) {
|
||||
reward.append(key).append("#1").append("|");
|
||||
if (reward.length() > 0){
|
||||
reward = new StringBuilder(reward.substring(0, reward.length() - 1));
|
||||
|
|
@ -1211,6 +1213,8 @@ public class ItemUtil {
|
|||
ReportUtil.onReportEvent(user,ReportEventEnum.GET_TREASURE.getType(), key,reason);
|
||||
}
|
||||
}
|
||||
// 后台日志
|
||||
ItemLogic.getInstance().addItemLog(new ItemLog(user, 0, reason, key, count, count+count1));
|
||||
}
|
||||
|
||||
if (reward.length() > 0) {
|
||||
|
|
@ -1298,42 +1302,42 @@ public class ItemUtil {
|
|||
int hasHeroNum = user.getHeroManager().getHeroMap().size();
|
||||
String title = SErrorCodeEerverConfig.getI18NMessage("card_bag_limit_title");
|
||||
String content = SErrorCodeEerverConfig.getI18NMessage("card_bag_limit_txt");
|
||||
int nowInt = TimeUtils.nowInt();
|
||||
if (hasHeroNum >= gameSetting.getHeroNumlimit()){
|
||||
String reward = getLimitReward(cardMap);
|
||||
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,nowInt,Global.MAIL_EFFECTIVE_TIME);
|
||||
MessageUtil.nofityBagIsFull(user);
|
||||
return;
|
||||
}
|
||||
List<CommonProto.Hero> heroList = new CopyOnWriteArrayList<>();
|
||||
StringBuilder reward = new StringBuilder();
|
||||
for (Map.Entry<Integer, Integer> entry : cardMap.entrySet()) {
|
||||
Integer itemId = entry.getKey();
|
||||
int count = entry.getValue();
|
||||
for (int i = 0; i < count; i++) {
|
||||
if (user.getHeroManager().getHeroMap().size() >= gameSetting.getHeroNumlimit()) {
|
||||
if (reward.length() == 0){
|
||||
reward = new StringBuilder(entry.getKey() + "#1");
|
||||
reward = new StringBuilder(itemId + "#1");
|
||||
}else{
|
||||
reward.append("|").append(entry.getKey()).append("#1");
|
||||
reward.append("|").append(itemId).append("#1");
|
||||
}
|
||||
continue;
|
||||
}
|
||||
addCard(user, entry.getKey(),heroList,reason);
|
||||
SItem sItem = SItem.getsItemMap().get(entry.getKey());
|
||||
addCard(user, itemId,heroList,reason);
|
||||
SItem sItem = SItem.getsItemMap().get(itemId);
|
||||
extraDropAop(user,dropBuilder,sItem);
|
||||
}
|
||||
// 回退所得神将不更新任务或活动
|
||||
if (reason == BIReason.HERO_RETURN) {
|
||||
continue;
|
||||
}
|
||||
fiveStarEvent(user,entry.getKey());
|
||||
fiveStarEvent(user, itemId);
|
||||
if(reason != BIReason.HERO_RANDOM){
|
||||
fiveStarPushByCombine(user,entry.getKey(),count);
|
||||
fiveStarPushByCombine(user, itemId,count);
|
||||
}
|
||||
}
|
||||
if (reward.length() > 0) {
|
||||
int nowTime = (int) (TimeUtils.now() / 1000);
|
||||
MailLogic.getInstance().sendMail(user.getId(), title, content, reward.toString(), nowTime, Global.MAIL_EFFECTIVE_TIME);
|
||||
MailLogic.getInstance().sendMail(user.getId(), title, content, reward.toString(), nowInt, Global.MAIL_EFFECTIVE_TIME);
|
||||
MessageUtil.nofityBagIsFull(user);
|
||||
}
|
||||
dropBuilder.addAllHero(heroList);
|
||||
|
|
@ -1866,16 +1870,20 @@ public class ItemUtil {
|
|||
if(itemObj.getSpecialMonsterMap().isEmpty()){
|
||||
return;
|
||||
}
|
||||
Map<String, Pokemon> pokemonMap = user.getPokemonManager().getPokemonMap();
|
||||
for(Map.Entry<Integer,Integer> entry:itemObj.getSpecialMonsterMap().entrySet()){
|
||||
for(int i = 0 ; i <entry.getValue();i++){
|
||||
Pokemon pokemon = new Pokemon(user.getId(),entry.getKey());
|
||||
Integer itemId = entry.getKey();
|
||||
Integer number = entry.getValue();
|
||||
long count = pokemonMap.values().stream().filter(v -> v.getTmpId() == itemId).count();
|
||||
for(int i = 0; i < number; i++){
|
||||
Pokemon pokemon = new Pokemon(user.getId(), itemId);
|
||||
user.getPokemonManager().addPokemon(pokemon);
|
||||
if(!user.getPokemonManager().getPokemonGot().contains(pokemon.getTmpId())){
|
||||
user.getPokemonManager().addPokemonGot(pokemon.getTmpId());
|
||||
}
|
||||
dropBuilder.addPokemon(CBean2Proto.getPokemon(pokemon));
|
||||
SSpiritAnimal animal = STableManager.getConfig(SSpiritAnimal.class).get(entry.getKey());
|
||||
ReportUtil.onReportEvent(user,ReportEventEnum.GET_BEAST.getType(),entry.getKey(),animal.getQuality(),reason);
|
||||
SSpiritAnimal animal = STableManager.getConfig(SSpiritAnimal.class).get(itemId);
|
||||
ReportUtil.onReportEvent(user,ReportEventEnum.GET_BEAST.getType(), itemId,animal.getQuality(),reason);
|
||||
if (animal.getQuality() >= SSpecialConfig.getIntegerValue(SSpecialConfig.ANIMAL_BROADCAST_QUALITY)&&reason!=BIReason.COMPOS_HERO_REWARD) { //策划资质改成星级
|
||||
String nameColor = user.getPlayerInfoManager().getNameColor();
|
||||
String message = SErrorCodeEerverConfig.getI18NMessageNeedConvert("animal_get_broadcast_content",
|
||||
|
|
@ -1886,6 +1894,8 @@ public class ItemUtil {
|
|||
}
|
||||
}
|
||||
}
|
||||
// 后台日志
|
||||
ItemLogic.getInstance().addItemLog(new ItemLog(user, 0, reason, itemId, count, count+number));
|
||||
}
|
||||
// 触发任务,东海寻仙
|
||||
user.getUserMissionManager().onGameEvent(user,GameEvent.ONE_MISSION_TYPE_CONSUME,MissionType.HAVE_ID_STAR_LV_POKEMON_NUM);
|
||||
|
|
@ -1894,17 +1904,23 @@ public class ItemUtil {
|
|||
/**
|
||||
* 掉落神兵
|
||||
*/
|
||||
private static void addMagicSoldier(User user,Map<Integer,Integer> map,CommonProto.Drop.Builder dropBuilder) {
|
||||
private static void addMagicSoldier(User user,Map<Integer,Integer> map,CommonProto.Drop.Builder dropBuilder, int reason) {
|
||||
if(map == null || map.isEmpty()){
|
||||
return;
|
||||
}
|
||||
MagicSoldierManager manager = user.getMagicSoldierManager();
|
||||
Map<String, MagicSoldier> soldierMap = manager.getMagicSoldierMap();
|
||||
for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
|
||||
for (int i = 0; i < entry.getValue(); i++) {
|
||||
MagicSoldier soldier = new MagicSoldier(user.getId(), entry.getKey());
|
||||
Integer itemId = entry.getKey();
|
||||
Integer number = entry.getValue();
|
||||
long count = soldierMap.values().stream().filter(v -> v.getTmpId() == itemId).count();
|
||||
for (int i = 0; i < number; i++) {
|
||||
MagicSoldier soldier = new MagicSoldier(user.getId(), itemId);
|
||||
manager.setMagicSoldier(soldier);
|
||||
dropBuilder.addMagicSoldier(CBean2Proto.toBeanMagicSoldier(soldier));
|
||||
}
|
||||
// 后台日志
|
||||
ItemLogic.getInstance().addItemLog(new ItemLog(user, 0, reason, itemId, count, count+number));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue