法宝掉落
parent
d88ed321c8
commit
3defe3d54c
|
@ -1,6 +1,7 @@
|
||||||
package com.ljsd.jieling.handler.map;
|
package com.ljsd.jieling.handler.map;
|
||||||
|
|
||||||
import com.ljsd.jieling.logic.dao.Equip;
|
import com.ljsd.jieling.logic.dao.Equip;
|
||||||
|
import com.ljsd.jieling.logic.dao.EspecialEquip;
|
||||||
import com.ljsd.jieling.logic.dao.Item;
|
import com.ljsd.jieling.logic.dao.Item;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
@ -14,4 +15,6 @@ public class TemporaryItems {
|
||||||
|
|
||||||
public Set<Equip> equips = new HashSet<>();
|
public Set<Equip> equips = new HashSet<>();
|
||||||
|
|
||||||
|
public Set<EspecialEquip> especialEquips = new HashSet<>();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -496,6 +496,7 @@ public class ItemUtil {
|
||||||
public static void addItemToTemporaryBag(User user, Map<Integer, Integer> itemMap, Map<Integer, Integer> equipMap, CommonProto.Drop.Builder dropBuilder) throws Exception {
|
public static void addItemToTemporaryBag(User user, Map<Integer, Integer> itemMap, Map<Integer, Integer> equipMap, CommonProto.Drop.Builder dropBuilder) throws Exception {
|
||||||
List<CommonProto.Item> itemProtoList = new ArrayList<>();
|
List<CommonProto.Item> itemProtoList = new ArrayList<>();
|
||||||
List<CommonProto.Equip> equipProtoList = new ArrayList<>();
|
List<CommonProto.Equip> equipProtoList = new ArrayList<>();
|
||||||
|
List<CommonProto.Equip> especialEquip = new ArrayList<>();
|
||||||
MapManager mapManager = user.getMapManager();
|
MapManager mapManager = user.getMapManager();
|
||||||
TemporaryItems temporaryItems = mapManager.getTemporaryItems();
|
TemporaryItems temporaryItems = mapManager.getTemporaryItems();
|
||||||
if (temporaryItems == null) {
|
if (temporaryItems == null) {
|
||||||
|
@ -520,9 +521,16 @@ public class ItemUtil {
|
||||||
LOGGER.info("the uid={},the curMapId={},add item={},addItemNum={},totalItemNum={}",user.getId(),user.getMapManager().getCurMapId(),entry.getKey(),entry.getValue(),item.getItemNum());
|
LOGGER.info("the uid={},the curMapId={},add item={},addItemNum={},totalItemNum={}",user.getId(),user.getMapManager().getCurMapId(),entry.getKey(),entry.getValue(),item.getItemNum());
|
||||||
}
|
}
|
||||||
Set<Equip> equips = temporaryItems.equips;
|
Set<Equip> equips = temporaryItems.equips;
|
||||||
|
Set<EspecialEquip> especialEquips = temporaryItems.especialEquips;
|
||||||
for (Map.Entry<Integer, Integer> entry : equipMap.entrySet()) {
|
for (Map.Entry<Integer, Integer> entry : equipMap.entrySet()) {
|
||||||
SEquipConfig sEquipConfig = SEquipConfig.getsEquipConfigById(entry.getKey());
|
SEquipConfig sEquipConfig = SEquipConfig.getsEquipConfigById(entry.getKey());
|
||||||
if (sEquipConfig == null) {
|
if (sEquipConfig == null) {
|
||||||
|
Map<Integer, SEquipTalismana> sEquipTalismanaMap = SEquipTalismana.equipTalismanaStarMap.get(entry.getKey());
|
||||||
|
if(sEquipTalismanaMap!=null&&sEquipTalismanaMap.size()>0){
|
||||||
|
EspecialEquip tempEquip = new EspecialEquip(user.getId(),entry.getKey());
|
||||||
|
especialEquip.add(CBean2Proto.getEquipProto(tempEquip));
|
||||||
|
especialEquips.add(tempEquip);
|
||||||
|
}
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
Equip equip = new Equip(user.getId(), entry.getKey());
|
Equip equip = new Equip(user.getId(), entry.getKey());
|
||||||
|
@ -534,6 +542,7 @@ public class ItemUtil {
|
||||||
if (dropBuilder != null) {
|
if (dropBuilder != null) {
|
||||||
dropBuilder.addAllItemlist(itemProtoList);
|
dropBuilder.addAllItemlist(itemProtoList);
|
||||||
dropBuilder.addAllEquipId(equipProtoList);
|
dropBuilder.addAllEquipId(equipProtoList);
|
||||||
|
dropBuilder.addAllEspecialEquipId(especialEquip);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!sendToFront.isEmpty()){
|
if(!sendToFront.isEmpty()){
|
||||||
|
@ -550,7 +559,8 @@ public class ItemUtil {
|
||||||
public static void addTemporaryItemToBag(User user, TemporaryItems temporaryItems, boolean isVictory) throws Exception {
|
public static void addTemporaryItemToBag(User user, TemporaryItems temporaryItems, boolean isVictory) throws Exception {
|
||||||
Map<Integer, Item> items = temporaryItems.items;
|
Map<Integer, Item> items = temporaryItems.items;
|
||||||
Set<Equip> equips = temporaryItems.equips;
|
Set<Equip> equips = temporaryItems.equips;
|
||||||
if (items.isEmpty() && equips.isEmpty()) {
|
Set<EspecialEquip> especialEquips = temporaryItems.especialEquips;
|
||||||
|
if (items.isEmpty() && equips.isEmpty() && especialEquips.isEmpty()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Map<Integer, Item> itemMap = user.getItemManager().getItemMap();
|
Map<Integer, Item> itemMap = user.getItemManager().getItemMap();
|
||||||
|
@ -615,6 +625,10 @@ public class ItemUtil {
|
||||||
user.getEquipManager().addEquip(user,equip);
|
user.getEquipManager().addEquip(user,equip);
|
||||||
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);
|
||||||
}
|
}
|
||||||
|
for(EspecialEquip especialEquip:especialEquips){
|
||||||
|
user.getEquipManager().addEspecialEquip(user,especialEquip);
|
||||||
|
|
||||||
|
}
|
||||||
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");
|
||||||
|
|
Loading…
Reference in New Issue