宝器合成返回道具,修改

back_recharge
duhui 2022-09-06 16:19:56 +08:00
parent 6a3ef86f79
commit c24fe5768c
2 changed files with 11 additions and 18 deletions

View File

@ -391,7 +391,7 @@ public class ItemLogic {
public void decomposeJewel(ISession session, List<String> jewelList) throws Exception {
User user = UserManager.getUser(session.getUid());
Map<String, PropertyItem> equipMap = user.getEquipManager().getEquipMap();
List<int[]> items = new ArrayList<>();
List<int[][]> items = new ArrayList<>();
StringBuilder reward = new StringBuilder();
StringBuilder reportIdLevelQuality = new StringBuilder();
for (String jewelId : jewelList) {
@ -430,19 +430,19 @@ public class ItemLogic {
if (jewel.getGodTreeLv() > 0){
TreeMap<Integer, SGodHoodTreeLevel> treeMap = new TreeMap<>(STableManager.getConfig(SGodHoodTreeLevel.class));
SortedMap<Integer, SGodHoodTreeLevel> subMap = treeMap.subMap(0, jewel.getGodTreeLv());
List<int[]> collect = subMap.values().stream().map(SGodHoodTreeLevel::getLvupCost).collect(Collectors.toList());
List<int[][]> collect = subMap.values().stream().map(v->new int[][]{v.getLvupCost()}).collect(Collectors.toList());
items.addAll(collect);
}
items.add(new int[]{propertyItem.getEquipId(), 1});
items.add(new int[][]{{propertyItem.getEquipId(), 1}});
}
for (String jewelId : jewelList) {
user.getEquipManager().remove(jewelId);
}
items.add(StringUtil.parseFiledInt(reward.toString()));
int[][] itemArray = items.toArray(new int[items.size()][]);
CommonProto.Drop.Builder drop = ItemUtil.drop(user, itemArray, BIReason.JEWEL_DECOMPOSE);
// 奖励组
CommonProto.Drop.Builder drop = ItemUtil.drop(user, StringUtil.parseFiledInt(reward.toString()), 1, 0, BIReason.JEWEL_DECOMPOSE);
// 直接的奖励
ItemUtil.drop(user, items, drop, BIReason.JEWEL_DECOMPOSE);
// 协议返回
sendUseAndPriceItemMessage(session, MessageTypeProto.MessageType.USER_AND_PRICE_ITEM_RESPONSE_VALUE, drop);
// 日志上报
@ -456,20 +456,20 @@ public class ItemLogic {
ReportUtil.onReportEvent(user, ReportEventEnum.TREASURE_DECOMPOSITION.getType(), reportIdLevelQuality.toString(), itemId, itemNum);
}
private void jewelCostBack(Map<Integer, SJewelRankupConfig> map, Jewel jewel, List<int[]> items, int level){
private void jewelCostBack(Map<Integer, SJewelRankupConfig> map, Jewel jewel, List<int[][]> items, int level){
for (SJewelRankupConfig value : map.values()) {
if (value.getLevel() >= level) {
continue;
}
items.addAll(Arrays.asList(value.getUpExpend()));
items.add(value.getUpExpend());
if (value.getJewelExpend().length < 1) {
continue;
}
for (int[] count : value.getJewelExpend()) {
if (count[0] == 1) {
items.add(new int[]{jewel.getEquipId(), count[1]});
items.add(new int[][]{{jewel.getEquipId(), count[1]}});
} else {
items.add(count);
items.add(new int[][]{count});
}
}
}

View File

@ -253,23 +253,16 @@ public class ItemUtil {
*/
public static CommonProto.Drop.Builder drop(User user, int[] dropGroupIds,float dropRatio, int isMapping,int reason) throws Exception {
CommonProto.Drop.Builder dropBuilder = CommonProto.Drop.newBuilder();
ItemMap itemObj = new ItemMap();
combineRewardDropGroup(user, dropGroupIds, dropRatio,itemObj);
// useRandomItem(user,randomMap,reason);
mapToAdd(user,itemObj,dropBuilder,reason);
return dropBuilder;
}
public static CommonProto.Drop.Builder drop(User user, int[] dropGroupIds,CommonProto.Drop.Builder dropBuilder,float dropRatio, int isMapping,int reason) throws Exception {
ItemMap itemObj = new ItemMap();
combineRewardDropGroup(user, dropGroupIds, dropRatio,itemObj);
// useRandomItem(user,randomMap,reason);
mapToAdd(user,itemObj,dropBuilder,reason);
return dropBuilder;
}