挂机获得装备自动合成
parent
f42827869a
commit
52eb8e895a
|
@ -271,6 +271,7 @@ public class CombatLogic {
|
|||
while (timesTemp-->0){
|
||||
ItemUtil.combineReward(user,true,targetMainLevelConfig.getRandomReward(), 1f,randomItemMap,randomCardMap,randomEquipMap,randomRandomMap,BIReason.ADVENTURE_RANDOM_REWARDD);
|
||||
}
|
||||
randomEquipMap = equipAutoCombine(randomEquipMap);
|
||||
ItemUtil.drop(user,baseBuilder,baseItemMap,baseCardMap,baseEquipMap,baseRandomMap,BIReason.ADVENTURE_BASE_REWARD);
|
||||
ItemUtil.drop(user,randomBuilder,randomItemMap,randomCardMap,randomEquipMap,randomRandomMap,BIReason.ADVENTURE_RANDOM_REWARDD);
|
||||
Map<Integer, CommonProto.Drop> result = new HashMap<>(2);
|
||||
|
@ -953,6 +954,8 @@ public class CombatLogic {
|
|||
}
|
||||
ItemUtil.extraAddItem(user,baseItemMap,BIReason.ADVENTURE_BASE_REWARD);
|
||||
ItemUtil.extraAddItem(user,randomItemMap,BIReason.ADVENTURE_RANDOM_REWARDD);
|
||||
//装备合成
|
||||
randomEquipMap = equipAutoCombine(randomEquipMap);
|
||||
if(viewBaseReward){
|
||||
myResult = true;
|
||||
rewardStr = ItemUtil.getReward(baseItemMap, baseCardMap, baseEquipMap, baseRandomMap);
|
||||
|
@ -980,5 +983,48 @@ public class CombatLogic {
|
|||
myResult = false;
|
||||
return this;
|
||||
}
|
||||
|
||||
}
|
||||
private static Map<Integer,Integer> equipAutoCombine(Map<Integer,Integer> equipMap){
|
||||
if(equipMap.isEmpty())
|
||||
return equipMap;
|
||||
Map<Integer, SEquipConfig> config = STableManager.getConfig(SEquipConfig.class);
|
||||
Map<Integer,Integer> tempMap = new HashMap<>();
|
||||
for(Map.Entry<Integer,Integer> entry:equipMap.entrySet()) {
|
||||
tempMap.put(entry.getKey(),entry.getValue());
|
||||
}
|
||||
boolean isOver;
|
||||
int count = 0;
|
||||
do {
|
||||
isOver = true;
|
||||
Iterator<Integer> it = equipMap.keySet().iterator();
|
||||
while(it.hasNext()){
|
||||
int key = it.next();
|
||||
int value = equipMap.get(key);
|
||||
SEquipConfig sEquipConfig = config.get(key);
|
||||
if(sEquipConfig==null)
|
||||
continue;
|
||||
int star = sEquipConfig.getStar();
|
||||
SEquipStarsConfig sEquipStarsConfig = STableManager.getConfig(SEquipStarsConfig.class).get(star);
|
||||
int createCount = value / sEquipStarsConfig.getRankupCount();
|
||||
if(createCount==0){
|
||||
continue;
|
||||
}
|
||||
int position = sEquipConfig.getPosition();
|
||||
tempMap.put(key,value%sEquipStarsConfig.getRankupCount());
|
||||
SEquipConfig createConfig = SEquipConfig.positionStarMap.get(position).get(star + 1);
|
||||
|
||||
if(createConfig==null)
|
||||
continue;
|
||||
|
||||
int createId = createConfig.getId();
|
||||
|
||||
tempMap.put(createId,tempMap.getOrDefault(createId,0)+createCount);
|
||||
isOver = false;
|
||||
}
|
||||
equipMap = tempMap;
|
||||
count++;
|
||||
}while(!isOver&&count<5);
|
||||
return equipMap;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue