献祭、回溯修改
parent
6b9ac180e8
commit
eb2259ac92
|
@ -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);
|
||||
|
||||
|
|
|
@ -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){
|
||||
|
|
Loading…
Reference in New Issue