抽卡逻辑
parent
a4dca69532
commit
f72e134f0f
|
@ -520,19 +520,20 @@ public class HeroLogic{
|
|||
}
|
||||
SLotteryRewardConfig sLotteryRewardConfig;
|
||||
//是否有必出
|
||||
int currStarId = 0;
|
||||
if(mustSet.isEmpty()){
|
||||
sLotteryRewardConfig = randomHeroByPoolId(getPooId(sLotterySetting), 1, user.getPlayerInfoManager().getLevel());
|
||||
int star = sLotteryRewardConfig.getStar();
|
||||
if(randomPoolByType.get(mergePool)!=null) {
|
||||
for (int key : randomPoolByType.get(mergePool).keySet()) {
|
||||
if (star == key) {
|
||||
randomPoolByType.get(mergePool).put(key, 0);
|
||||
} else {
|
||||
int curValue = randomPoolByType.get(mergePool).getOrDefault(key, 0);
|
||||
randomPoolByType.get(mergePool).put(key, curValue + 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
// if(randomPoolByType.get(mergePool)!=null) {
|
||||
// for (int key : randomPoolByType.get(mergePool).keySet()) {
|
||||
// if (star == key) {
|
||||
// randomPoolByType.get(mergePool).put(key, 0);
|
||||
// } else {
|
||||
// int curValue = randomPoolByType.get(mergePool).getOrDefault(key, 0);
|
||||
// randomPoolByType.get(mergePool).put(key, curValue + 1);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
currStarId = sLotteryRewardConfig.getStar();
|
||||
}else{
|
||||
|
||||
//有必出时比较各个优先级,取优先级高的
|
||||
|
@ -552,13 +553,16 @@ public class HeroLogic{
|
|||
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
|
||||
}
|
||||
sLotteryRewardConfig = randomHeroByPoolId(onConfig.getpool_id(), 1, user.getPlayerInfoManager().getLevel());
|
||||
currStarId = maxId;
|
||||
}
|
||||
if(randomPoolByType.get(mergePool)!=null) {
|
||||
|
||||
for (int key : randomPoolByType.get(mergePool).keySet()) {
|
||||
//如果生效次数是0可重置
|
||||
List<SLotterySpecialConfig> lotteryListByDifferentType = SLotterySpecialConfig.getLotteryListByDifferentType(key);
|
||||
if(maxId >= key&&lotteryListByDifferentType!=null&&lotteryListByDifferentType.iterator().hasNext()&&lotteryListByDifferentType.iterator().next().getMin_num()==0){
|
||||
if (currStarId >= key && lotteryListByDifferentType != null && lotteryListByDifferentType.iterator().hasNext() && lotteryListByDifferentType.iterator().next().getMin_num() == 0) {
|
||||
randomPoolByType.get(mergePool).put(key, 0);
|
||||
}else{
|
||||
} else {
|
||||
int curValue = randomPoolByType.get(mergePool).getOrDefault(key, 0);
|
||||
randomPoolByType.get(mergePool).put(key, curValue + 1);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue