抽卡逻辑

back_recharge
lvxinran 2021-01-28 17:53:22 +08:00
parent a4dca69532
commit f72e134f0f
1 changed files with 17 additions and 13 deletions

View File

@ -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);
}