挂机奖励修改,随机改一次一次算

back_recharge
duhui 2021-02-02 11:13:43 +08:00
parent b363301111
commit 8086106b52
2 changed files with 15 additions and 9 deletions

View File

@ -275,8 +275,8 @@ public class CombatLogic {
} }
} }
int[] randomRewardMin = targetMainLevelConfig.getRandomRewardMin(); int[] randomRewardMin = targetMainLevelConfig.getRandomRewardMin();
ItemUtil.combineRewardByMainLine(user,false,randomRewardMin, times,baseItemMap,baseCardMap,baseEquipMap,baseRandomMap,itemObj,BIReason.ADVENTURE_BASE_REWARD); ItemUtil.combineRewardByMainLine(user,false, true, randomRewardMin, times,baseItemMap,baseCardMap,baseEquipMap,baseRandomMap,itemObj,BIReason.ADVENTURE_BASE_REWARD);
ItemUtil.combineRewardByMainLine(user,true,targetMainLevelConfig.getRandomReward(), times,randomItemMap,randomCardMap,randomEquipMap,randomRandomMap,itemObj,BIReason.ADVENTURE_RANDOM_REWARDD); ItemUtil.combineRewardByMainLine(user,true, false,targetMainLevelConfig.getRandomReward(), times,randomItemMap,randomCardMap,randomEquipMap,randomRandomMap,itemObj,BIReason.ADVENTURE_RANDOM_REWARDD);
randomEquipMap = equipAutoCombine(randomEquipMap); randomEquipMap = equipAutoCombine(randomEquipMap);
//清除无用活动道具 //清除无用活动道具
removeNoUseItem(user,randomItemMap); removeNoUseItem(user,randomItemMap);
@ -943,9 +943,9 @@ public class CombatLogic {
Integer times = fightStateInfoItem.getValue(); Integer times = fightStateInfoItem.getValue();
SMainLevelConfig sMainLevelConfig = SMainLevelConfig.config.get(fightId); SMainLevelConfig sMainLevelConfig = SMainLevelConfig.config.get(fightId);
int[] randomRewardMin = sMainLevelConfig.getRandomRewardMin(); int[] randomRewardMin = sMainLevelConfig.getRandomRewardMin();
ItemUtil.combineRewardByMainLine(user,true,randomRewardMin, times,baseItemMap,baseCardMap,baseEquipMap,baseRandomMap,itemObj,BIReason.ADVENTURE_BASE_REWARD); ItemUtil.combineRewardByMainLine(user,true,true,randomRewardMin, times,baseItemMap,baseCardMap,baseEquipMap,baseRandomMap,itemObj,BIReason.ADVENTURE_BASE_REWARD);
if (!viewBaseReward){ if (!viewBaseReward){
ItemUtil.combineRewardByMainLine(user,true,sMainLevelConfig.getRandomReward(), times,randomItemMap,randomCardMap,randomEquipMap,randomRandomMap,itemObj,BIReason.ADVENTURE_RANDOM_REWARDD); ItemUtil.combineRewardByMainLine(user,true,false,sMainLevelConfig.getRandomReward(), times,randomItemMap,randomCardMap,randomEquipMap,randomRandomMap,itemObj,BIReason.ADVENTURE_RANDOM_REWARDD);
} }
takeTimes+=times; takeTimes+=times;
} }
@ -957,11 +957,11 @@ public class CombatLogic {
int lastTimeTakes=0; int lastTimeTakes=0;
boolean reset = maxTimes<times; boolean reset = maxTimes<times;
if(maxTimes>0){ if(maxTimes>0){
times = times > maxTimes?maxTimes:times; times = reset?maxTimes:times;
int[] randomRewardMin = targetMainLevelConfig.getRandomRewardMin(); int[] randomRewardMin = targetMainLevelConfig.getRandomRewardMin();
ItemUtil.combineRewardByMainLine(user,true,randomRewardMin, times,baseItemMap,baseCardMap,baseEquipMap,baseRandomMap,itemObj,BIReason.ADVENTURE_BASE_REWARD); ItemUtil.combineRewardByMainLine(user,true,true,randomRewardMin, times,baseItemMap,baseCardMap,baseEquipMap,baseRandomMap,itemObj,BIReason.ADVENTURE_BASE_REWARD);
if (!viewBaseReward){ if (!viewBaseReward){
ItemUtil.combineRewardByMainLine(user,true,targetMainLevelConfig.getRandomReward(), times,randomItemMap,randomCardMap,randomEquipMap,randomRandomMap,itemObj,BIReason.ADVENTURE_RANDOM_REWARDD); ItemUtil.combineRewardByMainLine(user,true,false,targetMainLevelConfig.getRandomReward(), times,randomItemMap,randomCardMap,randomEquipMap,randomRandomMap,itemObj,BIReason.ADVENTURE_RANDOM_REWARDD);
} }
lastTimeTakes=times; lastTimeTakes=times;
} }

View File

@ -353,12 +353,18 @@ public class ItemUtil {
* @param reason * @param reason
* @throws ErrorCodeException * @throws ErrorCodeException
*/ */
public static void combineRewardByMainLine(User user,boolean isLoop,int[] dropGroupIds,int time, Map<Integer, Integer> itemMap, Map<Integer, Integer> cardMap, Map<Integer, Integer> equipMap, Map<Integer, Integer> randomMap,ItemMap itemObj,int reason)throws ErrorCodeException{ public static void combineRewardByMainLine(User user,boolean isLoop,boolean fiexdOrRandom, int[] dropGroupIds,int time, Map<Integer, Integer> itemMap, Map<Integer, Integer> cardMap, Map<Integer, Integer> equipMap, Map<Integer, Integer> randomMap,ItemMap itemObj,int reason)throws ErrorCodeException{
for (int id:dropGroupIds){ for (int id:dropGroupIds){
SRewardGroup sRewardGroup = SRewardGroup.getsRewardItemMap().get(id); SRewardGroup sRewardGroup = SRewardGroup.getsRewardItemMap().get(id);
// 次数 // 次数
long num = time / sRewardGroup.getDrapRate(); long num = time / sRewardGroup.getDrapRate();
if (fiexdOrRandom){
combineRewardDropGroup(user, new int[]{id}, num, itemMap, cardMap, equipMap, randomMap,itemObj); combineRewardDropGroup(user, new int[]{id}, num, itemMap, cardMap, equipMap, randomMap,itemObj);
}else {
while (num-->0){
combineRewardDropGroup(user, new int[]{id}, 1, itemMap, cardMap, equipMap, randomMap,itemObj);
}
}
// 不足掉落的时间,看脸随机 // 不足掉落的时间,看脸随机
int remainder = time % sRewardGroup.getDrapRate(); int remainder = time % sRewardGroup.getDrapRate();