挂机获得装备自动合成
parent
f42827869a
commit
52eb8e895a
|
@ -271,6 +271,7 @@ public class CombatLogic {
|
||||||
while (timesTemp-->0){
|
while (timesTemp-->0){
|
||||||
ItemUtil.combineReward(user,true,targetMainLevelConfig.getRandomReward(), 1f,randomItemMap,randomCardMap,randomEquipMap,randomRandomMap,BIReason.ADVENTURE_RANDOM_REWARDD);
|
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,baseBuilder,baseItemMap,baseCardMap,baseEquipMap,baseRandomMap,BIReason.ADVENTURE_BASE_REWARD);
|
||||||
ItemUtil.drop(user,randomBuilder,randomItemMap,randomCardMap,randomEquipMap,randomRandomMap,BIReason.ADVENTURE_RANDOM_REWARDD);
|
ItemUtil.drop(user,randomBuilder,randomItemMap,randomCardMap,randomEquipMap,randomRandomMap,BIReason.ADVENTURE_RANDOM_REWARDD);
|
||||||
Map<Integer, CommonProto.Drop> result = new HashMap<>(2);
|
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,baseItemMap,BIReason.ADVENTURE_BASE_REWARD);
|
||||||
ItemUtil.extraAddItem(user,randomItemMap,BIReason.ADVENTURE_RANDOM_REWARDD);
|
ItemUtil.extraAddItem(user,randomItemMap,BIReason.ADVENTURE_RANDOM_REWARDD);
|
||||||
|
//装备合成
|
||||||
|
randomEquipMap = equipAutoCombine(randomEquipMap);
|
||||||
if(viewBaseReward){
|
if(viewBaseReward){
|
||||||
myResult = true;
|
myResult = true;
|
||||||
rewardStr = ItemUtil.getReward(baseItemMap, baseCardMap, baseEquipMap, baseRandomMap);
|
rewardStr = ItemUtil.getReward(baseItemMap, baseCardMap, baseEquipMap, baseRandomMap);
|
||||||
|
@ -980,5 +983,48 @@ public class CombatLogic {
|
||||||
myResult = false;
|
myResult = false;
|
||||||
return this;
|
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