From 3e2455b84a47c607661d2905fc03aba3c5c5e5b4 Mon Sep 17 00:00:00 2001 From: yuanshuai <243578945@qq.com> Date: Fri, 29 Oct 2021 13:26:43 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A5=9E=E9=AD=82=E5=8A=9F=E8=83=BD=E6=88=98?= =?UTF-8?q?=E6=96=97=E7=9B=B8=E5=85=B3=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../handler/map/behavior/BehaviorUtil.java | 1 + .../ljsd/jieling/logic/fight/FightUtil.java | 6 ++++ .../eventhandler/SevenWorldFightHandler.java | 1 + .../ljsd/jieling/logic/hero/HeroLogic.java | 30 ++++++++++++++----- .../jieling/logic/player/PlayerLogic.java | 12 ++++++-- 5 files changed, 41 insertions(+), 9 deletions(-) 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);