献祭、回溯修改

back_recharge
lvxinran 2020-03-27 15:42:18 +08:00
parent 6b9ac180e8
commit eb2259ac92
2 changed files with 19 additions and 7 deletions

View File

@ -2105,9 +2105,7 @@ public class HeroLogic{
ItemUtil.drop(user, returnHero,drop, BIReason.HERO_BACK_REWARD);
SHeroLevlConfig sHeroLevlConfig = SHeroLevlConfig.getsHeroLevlConfigMap().get(hero.getLevel());
int[][] levelUpReturn = sHeroLevlConfig.getSumConsume();
//升级材料返还乘万分比
Arrays.stream(levelUpReturn).forEach(i->i[1]*=((double)returnPercent/10000));
ItemUtil.drop(user, levelUpReturn,drop, BIReason.HERO_BACK_REWARD);
ItemUtil.drop(user, ItemLogic.getInstance().itemReturnPercent(levelUpReturn,returnPercent),drop, BIReason.HERO_BACK_REWARD);
HeroInfoProto.HeroReturnResponse build = HeroInfoProto.HeroReturnResponse.newBuilder().setDrop(drop).build();
MessageUtil.sendMessage(session,1,responseMsgId,build,true);

View File

@ -306,18 +306,20 @@ public class ItemLogic {
Hero hero = heroManager.getHeroMap().get(heroId);
heroManager.removeHero(uid,heroId);
int[][] sumConsume = SHeroLevlConfig.getsHeroLevlConfigMap().get(hero.getLevel()).getSumConsume();
Arrays.stream(sumConsume).forEach(i->i[1]*=((double)rankUpReturnPercent/10000));
ItemUtil.combineReward(sumConsume,baseItemMap,baseCardMap,baseEquipMap,baseRandomMap);
ItemUtil.combineReward(itemReturnPercent(sumConsume,rankUpReturnPercent),baseItemMap,baseCardMap,baseEquipMap,baseRandomMap);
int breakId = hero.getBreakId();
int starBreakId = hero.getStarBreakId();
if(breakId!=0 || starBreakId!=0){
SCHeroRankUpConfig scHeroRankUpConfig = STableManager.getConfig(SCHeroRankUpConfig.class).get(breakId);
if(scHeroRankUpConfig!=null){
ItemUtil.combineReward(scHeroRankUpConfig.getSumConsume(),baseItemMap,baseCardMap,baseEquipMap,baseRandomMap);
int[][] levelUpReturn = scHeroRankUpConfig.getSumConsume();
ItemUtil.combineReward(itemReturnPercent(levelUpReturn,rankUpReturnPercent),baseItemMap,baseCardMap,baseEquipMap,baseRandomMap);
}
scHeroRankUpConfig = STableManager.getConfig(SCHeroRankUpConfig.class).get(starBreakId);
if(scHeroRankUpConfig!=null){
ItemUtil.combineReward(scHeroRankUpConfig.getSumConsume(),baseItemMap,baseCardMap,baseEquipMap,baseRandomMap);
int[][] levelUpReturn = scHeroRankUpConfig.getSumConsume();
ItemUtil.combineReward(itemReturnPercent(levelUpReturn,rankUpReturnPercent),baseItemMap,baseCardMap,baseEquipMap,baseRandomMap);
}
continue;
@ -346,6 +348,18 @@ public class ItemLogic {
return baseBuilder;
}
/**
*
* @param sumConsume
* @param rankUpReturnPercent 90%9000
*/
public int[][] itemReturnPercent(int[][] sumConsume,int rankUpReturnPercent){
int[][] tempReturn = new int[sumConsume.length][];
for(int i = 0 ; i < sumConsume.length;i++){
tempReturn[i] = new int[]{sumConsume[i][0],Double.valueOf(sumConsume[i][1]*(double)rankUpReturnPercent/10000).intValue()};
}
return tempReturn;
}
public ErrorCode checkHeroResolve(List<String> heroIdsList,User user){
HeroManager heroManager = user.getHeroManager();
if (heroIdsList.size() == 0){