diff --git a/gamecommon/src/main/java/util/MathUtils.java b/gamecommon/src/main/java/util/MathUtils.java index 1707e8c89..74b63367f 100644 --- a/gamecommon/src/main/java/util/MathUtils.java +++ b/gamecommon/src/main/java/util/MathUtils.java @@ -205,6 +205,16 @@ public class MathUtils { return array[index][0]; } + public static int[] randomFromWeight(int[][][] arrays){ + int[] result = new int[arrays.length]; + int i=0; + for(int[][] array : arrays){ + int index = randomFromWeightReturnIndex(array); + result[i++] = array[index][0]; + } + return result; + } + diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildFightLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildFightLogic.java index 7568e17b2..055db9e6d 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildFightLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildFightLogic.java @@ -1105,9 +1105,9 @@ public class GuildFightLogic { user.getGuildMyInfo().setLastHurt(myHurt); SGuildBossRewardConfig sGuildBossRewardConfig = SGuildBossRewardConfig.getIndexByHurt(myHurt); - int randomGroupId = MathUtils.randomFromWeight(sGuildBossRewardConfig.getRandomReward()); + int[] randomGroupIds = MathUtils.randomFromWeight(sGuildBossRewardConfig.getRandomRewardAllGroup()); CommonProto.Drop.Builder drop = ItemUtil.drop(user, sGuildBossRewardConfig.getReward(), 1, 0, BIReason.GUILD_BOSS_FIGHT_BASE_REWARD); - CommonProto.Drop.Builder raadomDrop = ItemUtil.drop(user, new int[]{randomGroupId}, 1, 0, BIReason.GUILD_BOSS_FIGHT_RANDOM_REWARD); + CommonProto.Drop.Builder raadomDrop = ItemUtil.drop(user, randomGroupIds, 1, 0, BIReason.GUILD_BOSS_FIGHT_RANDOM_REWARD); FightInfoProto.FightEndResponse.Builder fightEndResponse = FightInfoProto.FightEndResponse.newBuilder(); fightEndResponse.setEnventDrop(drop);