Merge branch 'master_test_gn' of http://60.1.1.230/backend/jieling_server into master_test_gn

back_recharge
lvxinran 2021-07-09 16:41:33 +08:00
commit cf1070855c
2 changed files with 13 additions and 25 deletions

View File

@ -1505,39 +1505,32 @@ public class GuildLogic {
Map<Integer, Integer> skillInfo= user.getGuildMyInfo().getGuildSkill();
Map<Integer, Map<Integer, SGuildTechnology>> typeMap = SGuildTechnology.technologyMap.get(type);
if(skillInfo.getOrDefault(type, 0)!=beforeLevel||afterLevel>600)
if(skillInfo.getOrDefault(type, 0)!=beforeLevel||afterLevel>600) {
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
}
int size = typeMap.size();
Map<Integer,Integer> consumeMap = new HashMap<>(2);
int baseLevel = beforeLevel / size;//100->16
int nextIndex = beforeLevel % size;//100->4
int afterBaseLevel =afterLevel / size;
int afterNextIndex = afterLevel % size;
// if(){
// }else{
// int level = skillInfo.get(type);
// consume = typeMap.get(level%size+1).get(level/size).getConsume();
// if(typeMap.get(level%size+1).get(level/size+1)==null){
// throw new ErrorCodeException(ErrorCode.HERO_LEVE_MAX);
// }
// }
while(baseLevel<afterBaseLevel || nextIndex<afterNextIndex){
while(baseLevel<afterBaseLevel || nextIndex<afterNextIndex){
// 消耗道具获取
int[][] consume = typeMap.get(nextIndex+1).get(baseLevel).getConsume();
for(int[] consumeOnce:consume) {
consumeMap.put(consumeOnce[0],consumeMap.getOrDefault(consumeOnce[0], 0)+consumeOnce[1]);
}
if(!ItemUtil.checkCost(user, consumeMap)){
//把这一次的减回去
for(int[] consumeOnce:consume) {
consumeMap.put(consumeOnce[0],consumeMap.getOrDefault(consumeOnce[0], 0)-consumeOnce[1]);
}
break;
// 道具消耗
boolean itemCost = ItemUtil.itemCost(user, ItemUtil.mapToArray(consumeMap), BIReason.GUILD_SKILL_LEVEL_UP_CONSUME, 1);
if(!itemCost){
throw new ErrorCodeException(ErrorCode.ITEM_NOT_ENOUGH);
}
// 清理道具map
consumeMap.clear();
// 次数增加
if(nextIndex+1==size){
nextIndex=0;
baseLevel++;
@ -1545,14 +1538,10 @@ public class GuildLogic {
nextIndex++;
}
}
boolean itemCost = ItemUtil.itemCost(user, ItemUtil.mapToArray(consumeMap), BIReason.GUILD_SKILL_LEVEL_UP_CONSUME, 1);
if(!itemCost){
throw new ErrorCodeException(ErrorCode.ITEM_NOT_ENOUGH);
}
Family.GuildSkillLevelUpResponse response = Family.GuildSkillLevelUpResponse.newBuilder().setType(type).setCurlevel(baseLevel*size+nextIndex).build();
user.getGuildMyInfo().setGuildSkillByType(type,baseLevel*size+nextIndex);
// user.getGuildMyInfo().setGuildSkillByType(type,590);
Poster.getPoster().dispatchEvent(new UserMainTeamForceEvent(session.getUid()));
MessageUtil.sendMessage(session,1,messageType.getNumber(),response,true);

View File

@ -3054,7 +3054,6 @@ public class HeroLogic{
if(null!=err){
throw new ErrorCodeException(err);
}
HeroManager heroManager = user.getHeroManager();
Hero hero = user.getHeroManager().getHero(heroId);
int[] growthSwitch = SCHero.getsCHero().get(hero.getTemplateId()).getGrowthSwitch();
if(growthSwitch!=null&&growthSwitch.length>0){
@ -3167,7 +3166,7 @@ public class HeroLogic{
SHeroReturn sHeroReturn = sHeroReturnMap.get(breakFloor);
int[][] returnMaterials = sHeroReturn.getRankupReturn();
SHeroLevlConfig sHeroLevlConfig = SHeroLevlConfig.getsHeroLevlConfigMap().get(hero.getLevel(user.getHeroManager()));
SHeroLevlConfig sHeroLevlConfig = SHeroLevlConfig.getsHeroLevlConfigMap().get(hero.getOriginalLevel());
int[][] levelReturn = ItemLogic.getInstance().itemReturnPercent(sHeroLevlConfig.getSumConsume(), returnPercent);
//进阶材料返还乘万分比
for(int i = 0 ; i <returnMaterials.length;i++){