命石快速合成脚本修改提交

back_recharge
yuanshuai 2021-12-13 18:41:46 +08:00
parent 69607c3c66
commit 1ee2a60fc0
1 changed files with 25 additions and 9 deletions

View File

@ -78,15 +78,23 @@ public class LifeStoneUpRequestHandler extends BaseHandler<HeroInfoProto.LifeSto
} else if (type == 4) {
SGemConfig gemConfig = STableManager.getConfig(SGemConfig.class).get(proto.getCurGemId());
TreeMap<Integer, SGemConfig> gemConfigMap = SGemConfig.gemConfigMapByType.get(gemConfig.getType());
if (LifeStoneQuickUp(itemManager, gemConfigMap, costItemMap, gemConfig.getLevel())) {
boolean isBag=proto.getGridIndex()<=0;
if (LifeStoneQuickUp(itemManager, gemConfigMap, costItemMap, gemConfig.getLevel(),isBag)) {
int[] curUpCost = gemConfig.getUpgradeCost();
long allGoldCost = costItemMap.get(curUpCost[0]) + curUpCost[1];
long allGoldCost = curUpCost[1];
if (costItemMap.containsKey(curUpCost[0])){
allGoldCost+=costItemMap.get(curUpCost[0]);
}
costItemMap.put(curUpCost[0], allGoldCost);
if (proto.getGridIndex() > 0) {
equipLifeStoneId = gemConfig.getNextGem();
} else {
addItemMap.put(gemConfig.getNextGem(), 1L);
costItemMap.put(proto.getCurGemId(), 1L);
if (costItemMap.containsKey(proto.getCurGemId())){
long costNum=costItemMap.get(proto.getCurGemId())+1;
costItemMap.put(proto.getCurGemId(),costNum);
}
}
} else {
LOGGER.error("快速合成:命石合成材料不足");
@ -220,7 +228,7 @@ public class LifeStoneUpRequestHandler extends BaseHandler<HeroInfoProto.LifeSto
* @param selectGemLv
* @return
*/
private boolean LifeStoneQuickUp(ItemManager itemManager, TreeMap<Integer, SGemConfig> gemConfigMap, Map<Integer, Long> costItemMap, int selectGemLv) {
private boolean LifeStoneQuickUp(ItemManager itemManager, TreeMap<Integer, SGemConfig> gemConfigMap, Map<Integer, Long> costItemMap, int selectGemLv,boolean isBag) {
long addCount = 0;//一个循环合成数量
long costGoldNum = 0;//合成金币总消耗
for (Map.Entry<Integer, SGemConfig> gemConfigEntry : gemConfigMap.entrySet()) {
@ -229,12 +237,20 @@ public class LifeStoneUpRequestHandler extends BaseHandler<HeroInfoProto.LifeSto
if (gemConfig.getLevel()==selectGemLv){
if (addCount>0||curItem==null){
break;
}else{
costItemMap.put(gemConfig.getId(),1L);
costItemMap.put(gemConfig.getUpgradeCost()[0], (long) gemConfig.getUpgradeCost()[1]);
addCount=1;
break;
}
///是否是在背包操作
if (isBag){
if (curItem.getItemNum()<gemConfig.getUpgradeNum()){
break;
}
}else{
if (curItem.getItemNum()<gemConfig.getUpgradeNum()-1){
break;
}
}
costItemMap.put(gemConfig.getId(),1L);
addCount=1;
break;
}
///如果命石等级大于当前选中的命石等级跳过
if (gemConfig.getLevel() > selectGemLv) {