diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/BehaviorUtil.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/BehaviorUtil.java index 93ae0e4b6..45b22b06e 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/BehaviorUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/behavior/BehaviorUtil.java @@ -269,6 +269,7 @@ public class BehaviorUtil { .setPosition(teamPosHeroInfo.getPosition()) .setStar(hero.getStar()) .setSkinId(hero.getSkin()) + .setGodSoulLv(hero.getGodSoulLv()) .build(); heroFightInfos.add(heroFightInfo); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/FightUtil.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/FightUtil.java index e2964d59b..66a7c79e0 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/FightUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/FightUtil.java @@ -331,6 +331,7 @@ public class FightUtil { .setStar(hero.getStar()) .setPosition(teamPosHeroInfo.getPosition()) .setSkinId(hero.getSkin()) + .setGodSoulLv(hero.getGodSoulLv()) .build(); heroFightInfos.add(heroFightInfo); } @@ -398,6 +399,7 @@ public class FightUtil { .setStar(hero.getStar()) .setPosition(teamPosHeroInfo.getPosition()) .setSkinId(hero.getSkin()) + .setGodSoulLv(hero.getGodSoulLv()) .build(); heroFightInfos.add(heroFightInfo); } @@ -438,6 +440,7 @@ public class FightUtil { .setPosition(teamPosHeroInfo.getPosition()) .setSkinId(hero.getSkin()) .setStar(hero.getStar()) + .setGodSoulLv(hero.getGodSoulLv()) .build(); heroFightInfos.add(heroFightInfo); } @@ -661,6 +664,7 @@ public class FightUtil { .setPosition(teamPosHeroInfo.getPosition()) .setStar(hero.getStar()) .setSkinId(hero.getSkin()) + .setGodSoulLv(hero.getGodSoulLv()) .build(); heroFightInfos.add(heroFightInfo); } @@ -707,6 +711,7 @@ public class FightUtil { .setPosition(teamPosHeroInfo.getPosition()) .setStar(hero.getStar()) .setSkinId(hero.getSkin()) + .setGodSoulLv((hero.getGodSoulLv())) .build(); heroFightInfos.add(heroFightInfo); } @@ -747,6 +752,7 @@ public class FightUtil { .setPosition(teamPosHeroInfo.getPosition()) .setStar(hero.getStar()) .setSkinId(hero.getSkin()) + .setGodSoulLv(hero.getGodSoulLv()) .build(); heroFightInfos.add(heroFightInfo); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/eventhandler/SevenWorldFightHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/eventhandler/SevenWorldFightHandler.java index 4657d2539..cdaa3c9c0 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/eventhandler/SevenWorldFightHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/eventhandler/SevenWorldFightHandler.java @@ -109,6 +109,7 @@ public class SevenWorldFightHandler implements IFightEventProcesor { .setStar(hero.getStar()) .setSkinId(hero.getSkin()) .setForceScore(HeroLogic.getInstance().calTeamForce(user,teamId)) + .setGodSoulLv(hero.getGodSoulLv()) .build(); heroFightInfos.add(heroFightInfo); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java index 9adc5c24b..e6be3783a 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java @@ -68,6 +68,7 @@ import java.math.BigDecimal; import java.util.*; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.atomic.AtomicBoolean; +import java.util.function.IntToDoubleFunction; import java.util.stream.Collectors; public class HeroLogic { @@ -1932,15 +1933,10 @@ public class HeroLogic { } } }); - - //神魂技能 - for (int i = 0; i < tempHero.getSoulSkill().length; i++) { - if (i0){ + skillList.addAll(GetGodSoulSkill(hero.getTemplateId(),hero.getGodSoulLv())); } - return skillList; } @@ -2310,6 +2306,14 @@ public class HeroLogic { } sb.append(sPlayerHeadIcon.getSkill()[0][0]).append(DIVISION); } + + //神魂技能 + if (hero.getGodSoulLv()>0) { + ListgodSoulSkills= HeroLogic.getInstance().GetGodSoulSkill(hero.getTemplateId(),hero.getGodSoulLv()); + for (Integer godSoulSkill : godSoulSkills) { + sb.append(godSoulSkill).append(DIVISION); + } + } return sb; } @@ -5800,4 +5804,16 @@ public class HeroLogic { } return false; } + + ///获取英雄神魂技能 + public List GetGodSoulSkill(int heroTId,int godSoulLv){ + ListskillList=new ArrayList<>(); + SCHero tempHero = SCHero.getsCHero().get(heroTId); + for (int[] ints : tempHero.getSoulSkill()) { + if (ints[0]<=godSoulLv){ + skillList.add(ints[1]); + } + } + return skillList; + } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java index a0e918569..6ca8288dc 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/player/PlayerLogic.java @@ -572,7 +572,13 @@ public class PlayerLogic { Map taSuiHeroMap = user.getHeroManager().getTaSuiHeroMap(); for(Map.Entry entry:taSuiHeroMap.entrySet()){ TaSuiHero hero = entry.getValue(); - CommonProto.TeamSimpleInfo info = CommonProto.TeamSimpleInfo.newBuilder().setHeroTid(hero.getTempId()).setLevel(hero.getLeve()).setStar(hero.getStar()).setPosition(entry.getKey()).setGodSoulLv(hero.getGodSoulLv()).build(); + CommonProto.TeamSimpleInfo info = CommonProto.TeamSimpleInfo.newBuilder() + .setHeroTid(hero.getTempId()) + .setLevel(hero.getLeve()) + .setStar(hero.getStar()) + .setPosition(entry.getKey()) + .setGodSoulLv(hero.getGodSoulLv()) + .build(); teamInfo.addTeam(info); } teamInfo.setTotalForce(user.getHeroManager().getTaSuiLingXiaoRankForce()); @@ -1378,7 +1384,7 @@ public class PlayerLogic { CommonProto.Hero.Builder heroBuilder = CommonProto.Hero.newBuilder(). setLevel(hero.getLevel(user.getHeroManager())) .setEspecialEquipLevel(hero.getEspecialEquipLevel()) - .setStar(hero.getStar()).setId(hero.getId()) + .setStar(hero.getStar()).setId(hero.getId()).setGodSoulLv(hero.getGodSoulLv()) .setHeroId(hero.getTemplateId()) .setBreakId(hero.getBreakIdByHongMeng(user.getHeroManager())) .setStarBreakId(hero.getStarBreakId()); @@ -1423,6 +1429,7 @@ public class PlayerLogic { } // 皮肤 heroBuilder.setSkinId(hero.getSkin()); + heroBuilder.setGodSoulLv(hero.getGodSoulLv()); // 英雄技能 int profession = SCHero.getsCHero().get(hero.getTemplateId()).getProfession(); int skill = user.getGuildMyInfo().getGuildSkill().getOrDefault(profession, 0); @@ -1471,6 +1478,7 @@ public class PlayerLogic { } // 皮肤 heroBuilder.setSkinId(hero.getSkin()); + heroBuilder.setGodSoulLv(hero.getGodSoulLv()); // 英雄技能 int profession = SCHero.getsCHero().get(hero.getTemplateId()).getProfession(); int skill = query.getGuildSkill().getOrDefault(profession, 0);