英雄升星修改,进阶修改
parent
9904db73d6
commit
20f2fffb71
|
@ -866,7 +866,7 @@ public class HeroLogic{
|
|||
//删除hero
|
||||
CommonProto.Drop.Builder baseBuilder = ItemLogic.getInstance().decomposeHero(session,new LinkedList<>(removeHeroIds),Collections.singleton(26),MessageTypeProto.MessageType.UP_HERO_STAR_RESPONSE_VALUE);
|
||||
// recyleHeroBySystem(user,removeHeroIds);
|
||||
rankUpHeroExecute(targetHero,1,8);
|
||||
rankUpHeroExecute(targetHero);
|
||||
Poster.getPoster().dispatchEvent(new HeroUpStarEvent(user.getId(),targetHero.getTemplateId(),targetHero.getStar()));
|
||||
if(targetHero.getStar()>=5&&targetHero.getStar()!=15){
|
||||
if(SItem.getsItemMap().get(scHero.getId()).getQuantity()>=5)
|
||||
|
@ -888,11 +888,19 @@ public class HeroLogic{
|
|||
}
|
||||
ReportUtil.onReportEvent(user, ReportEventEnum.HERO_STRENGTHEN.getType(),String.valueOf(targetHero.getTemplateId()),String.valueOf(oldStar),String.valueOf(targetHero.getStar()),"");
|
||||
}
|
||||
private void rankUpHeroExecute(Hero hero,int starCount,int unlockEspecialEquipStar) throws Exception {
|
||||
private void rankUpHeroExecute(Hero hero)throws Exception {
|
||||
//是否解锁法宝
|
||||
if(hero.getStar()<unlockEspecialEquipStar&&hero.getStar()+starCount>=unlockEspecialEquipStar){
|
||||
SGameSetting gameSetting = STableManager.getFigureConfig(CommonStaticConfig.class).getGameSetting();
|
||||
int[][] equipTalismanaUnlock = gameSetting.getEquipTalismanaUnlock();
|
||||
for(int [] lockLimit:equipTalismanaUnlock){
|
||||
//英雄星级解锁
|
||||
if(lockLimit[0]==2) {
|
||||
if (hero.getStar() < lockLimit[1] && hero.getStar() + 1 >= lockLimit[1]) {
|
||||
hero.updateEspecial(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
hero.upStar( 1 );
|
||||
}
|
||||
|
||||
|
@ -2341,23 +2349,31 @@ public class HeroLogic{
|
|||
|
||||
heroManager.removeHero(uid,heroId);
|
||||
int[][] returnMaterials = sHeroReturn.getRankupReturn();
|
||||
SHeroLevlConfig sHeroLevlConfig = SHeroLevlConfig.getsHeroLevlConfigMap().get(hero.getLevel());
|
||||
int[][] levelReturn = ItemLogic.getInstance().itemReturnPercent(sHeroLevlConfig.getSumConsume(), returnPercent);
|
||||
int returnHero = sHeroReturn.getHeroId();
|
||||
//进阶材料返还乘万分比
|
||||
int[][] realReturnMaterials = new int[returnMaterials.length][];
|
||||
for(int i = 0 ; i <realReturnMaterials.length;i++){
|
||||
realReturnMaterials[i] = new int[]{returnMaterials[i][0],(int)(returnMaterials[i][1]/10000d*returnPercent)};
|
||||
Map<Integer,Integer> returnItemMap = new HashMap<>();
|
||||
for(int i = 0 ; i <returnMaterials.length;i++){
|
||||
returnItemMap.put(returnMaterials[i][0],(int)(returnMaterials[i][1]/10000d*returnPercent));
|
||||
}
|
||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user,realReturnMaterials, BIReason.HERO_BACK_REWARD);
|
||||
ItemUtil.drop(user, new int[][]{{returnHero,1}},drop, BIReason.HERO_BACK_REWARD);
|
||||
for(int i = 0 ; i <levelReturn.length;i++){
|
||||
returnItemMap.put(levelReturn[i][0],returnItemMap.getOrDefault(levelReturn[i][0],0)+levelReturn[i][1]);
|
||||
}
|
||||
returnItemMap.put(returnHero,1);
|
||||
int[][] resultDrop = new int[returnItemMap.size()][];
|
||||
int index = 0;
|
||||
for(Map.Entry<Integer,Integer> entry:returnItemMap.entrySet()){
|
||||
resultDrop[index] = new int[]{entry.getKey(),entry.getValue()};
|
||||
index++;
|
||||
}
|
||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, resultDrop, BIReason.HERO_BACK_REWARD);
|
||||
CommonProto.Hero.Builder heroProto = drop.getHero(0).toBuilder();
|
||||
String createHeroId = heroProto.getId();
|
||||
heroProto.setStar(star);
|
||||
drop.setHero(0,heroProto.build());
|
||||
Hero newHero = user.getHeroManager().getHeroMap().get(createHeroId);
|
||||
newHero.setStar(star);
|
||||
SHeroLevlConfig sHeroLevlConfig = SHeroLevlConfig.getsHeroLevlConfigMap().get(hero.getLevel());
|
||||
int[][] levelUpReturn = sHeroLevlConfig.getSumConsume();
|
||||
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);
|
||||
|
||||
|
|
Loading…
Reference in New Issue