寻仙招募修改2

back_recharge
duhui 2022-05-24 12:02:36 +08:00
parent 1f9d9736e6
commit 3a6a3fdf25
1 changed files with 6 additions and 12 deletions

View File

@ -1843,9 +1843,7 @@ public class ActivityLogic implements IEventHandler{
// 计算总权重 // 计算总权重
int totalWeight = weight.values().stream().mapToInt(Integer::intValue).sum(); int totalWeight = weight.values().stream().mapToInt(Integer::intValue).sum();
int i = 0; for (int i = 0; i < 1; i++) {
// 根据抽奖次数循环
while (i < num){
// 随机数 // 随机数
int randomInt = MathUtils.randomInt(totalWeight); int randomInt = MathUtils.randomInt(totalWeight);
// up奖励信息 // up奖励信息
@ -1859,11 +1857,11 @@ public class ActivityLogic implements IEventHandler{
SWishActivityPool pool = SWishActivityPool.map.get(entry.getKey()); SWishActivityPool pool = SWishActivityPool.map.get(entry.getKey());
// null意味着是up奖励 // null意味着是up奖励
if (pool == null){ if (pool == null){
reward[i++] = result; reward[i] = result;
} }
// 非up奖励 // 非up奖励
else { else {
reward[i++] = pool.getItemId(); reward[i] = pool.getItemId();
} }
break; break;
} }
@ -1904,25 +1902,21 @@ public class ActivityLogic implements IEventHandler{
int[] ints = {0,1,2,3,4,5,6,7,8,9}; int[] ints = {0,1,2,3,4,5,6,7,8,9};
List<Integer> random = MathUtils.randomForOneArray(ints, 5); List<Integer> random = MathUtils.randomForOneArray(ints, 5);
int i = 0; for (int i = 0; i < 10; i++) {
// 根据抽奖次数循环
while (i < 10){
// 随机位置给碎片 // 随机位置给碎片
if (random.contains(i)){ if (random.contains(i)){
reward[i++] = new int[]{incs[0],incs[1]}; reward[i] = new int[]{incs[0],incs[1]};
continue;
} }
// 随机数 // 随机数
int randomInt = MathUtils.randomInt(totalWeight); int randomInt = MathUtils.randomInt(totalWeight);
// 权重循环 // 权重循环
for (Map.Entry<Integer, Integer> entry : weight.entrySet()) { for (Map.Entry<Integer, Integer> entry : weight.entrySet()) {
// 随机值小于等于当前次数权重,证明抽到了 // 随机值小于等于当前次数权重,证明抽到了
if (randomInt <= entry.getValue()){ if (randomInt <= entry.getValue()){
// 根据id获取奖池信息 // 根据id获取奖池信息
SWishActivityPool pool = SWishActivityPool.map.get(entry.getKey()); SWishActivityPool pool = SWishActivityPool.map.get(entry.getKey());
reward[i++] = pool.getItemId(); reward[i] = pool.getItemId();
} }
// 未抽到, 减去当前次数权重 // 未抽到, 减去当前次数权重
randomInt -= entry.getValue(); randomInt -= entry.getValue();