diff --git a/serverlogic/src/main/java/com/ljsd/jieling/config/SDifferDemonsBoxSetting.java b/serverlogic/src/main/java/com/ljsd/jieling/config/SDifferDemonsBoxSetting.java index 5b069ed77..e8246bad3 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/config/SDifferDemonsBoxSetting.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/config/SDifferDemonsBoxSetting.java @@ -57,6 +57,7 @@ public class SDifferDemonsBoxSetting implements BaseConfig { idBySeasonIdMapTmp.get(sDifferDemonsBoxSetting.getSeasonTimes()).add(sDifferDemonsBoxSetting.getId()); } config = configTmp; + idBySeasonIdMap = idBySeasonIdMapTmp; } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityLogic.java index d9cb49ac5..f0c11ff98 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityLogic.java @@ -343,7 +343,7 @@ public class ActivityLogic { } secretBoxManager.setCount(secretBoxManager.getCount()+randCount); - CommonProto.Drop.Builder drop = ItemUtil.drop(user, randDrop); + CommonProto.Drop.Builder drop = ItemUtil.dropPer(user, randDrop); int[] extraItem = sDifferDemonsBoxSetting.getExtraItem(); CommonProto.Drop.Builder extraDrop = ItemUtil.drop(user, new int[][]{extraItem}); PlayerInfoProto.SecretBoxRandomResponse build = PlayerInfoProto.SecretBoxRandomResponse.newBuilder().setDrop(drop).setExtrarReward(extraDrop).build(); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java b/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java index 83b782d17..fb521f79d 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java @@ -36,6 +36,22 @@ public class ItemUtil { addEquip(user,equipMap,dropBuilder); return dropBuilder; } + + public static CommonProto.Drop.Builder dropPer(User user, int[][] itemArr) throws Exception { + CommonProto.Drop.Builder dropBuilder = CommonProto.Drop.newBuilder(); + for(int [] item : itemArr){ + Map itemMap = new HashMap<>(); + Map cardMap = new HashMap<>(); + Map equipMap = new HashMap<>(); + Map randomMap = new HashMap<>(); + selectItemArr(new int[][]{item},cardMap,itemMap,equipMap,randomMap); + useRandomItem(user,randomMap); + addItem(user,itemMap,dropBuilder); + addCard(user,cardMap,dropBuilder); + addEquip(user,equipMap,dropBuilder); + } + return dropBuilder; + } //活动额外掉落 public static void activityDrop(User user,CommonProto.Drop.Builder dropBuilder ,int[] dropGroupIds, float dropRatio) throws Exception { Map itemMap = new HashMap<>();