礼物升星

master_0.05_aqlm
grimm 2024-04-01 11:36:47 +08:00
parent d2bcfe7d6b
commit c0ddc38d70
2 changed files with 16 additions and 2 deletions

View File

@ -633,12 +633,12 @@ public class EquipLogic {
ArrayList<int[][]> costList = new ArrayList<>();
costList.add(config.getFormula());
costList.add(config.getResource());
boolean cost = ItemUtil.itemCost(user, costList, BIReason.GIFT_UP_STAR_COST, 1);
boolean cost = ItemUtil.checkCost(user, costList);
if (!cost){
throw new ErrorCodeException(ErrorCode.ITEM_NOT_ENOUGH);
}
CommonProto.Drop.Builder drop = ItemUtil.drop(user, new int[][]{{giftId, 1}}, BIReason.GIFT_UP_STAR_GET);
ItemUtil.itemCost(user, costList, BIReason.GIFT_EQUIP_UP_COST, 0);
HeroInfoProto.GiftEquipUpStarResponse.Builder builder = HeroInfoProto.GiftEquipUpStarResponse.newBuilder().setDrop(drop);
MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.GiftEquipUpStarResponse_VALUE, builder.build(), true);
}

View File

@ -1508,6 +1508,20 @@ public class ItemUtil {
return checkCostLong(user,longMap);
}
public static boolean checkCost(User user, List<int[][]> item) throws Exception {
HashMap<Integer, Integer> itemMap = new HashMap<>();
for (int[][] ints : item) {
selectCost(ints,itemMap);
}
return checkCost(user,itemMap);
}
public static boolean checkCost(User user, int[][] item) throws Exception {
HashMap<Integer, Integer> itemMap = new HashMap<>();
selectCost(item,itemMap);
return checkCost(user,itemMap);
}
public static boolean checkCostLong(User user, Map<Integer, Long> itemMap) throws Exception {
if (itemMap == null || itemMap.isEmpty()) {
return true;