From 5dc5ab2ae537c5b85aeec30cd2bc6010f08b9b37 Mon Sep 17 00:00:00 2001 From: lvxinran Date: Tue, 8 Dec 2020 23:47:25 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=85=E5=B3=B0=E8=B5=9B=E5=8A=A0=E5=85=A5?= =?UTF-8?q?=E7=81=B5=E5=85=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ljsd/jieling/logic/blood/BloodLogic.java | 13 +++++++++---- .../logic/championship/ChampionshipLogic.java | 4 ++-- .../ljsd/jieling/logic/fight/AreFightPro.java | 7 ++++++- .../jieling/logic/fight/DefFightSnapData.java | 17 +++++++++++++++++ .../com/ljsd/jieling/logic/fight/FightUtil.java | 12 ++++++------ 5 files changed, 40 insertions(+), 13 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/blood/BloodLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/blood/BloodLogic.java index 9e8295755..b5e55e1f0 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/blood/BloodLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/blood/BloodLogic.java @@ -98,10 +98,10 @@ public class BloodLogic { * @param heroInfo * @return */ - public CommonProto.FightTeamInfo fightDataMakeUp(Map heroSkills ,Map heroInfo,String pokmanSkill,String passiveSkill){ - return fightDataMakeUp(heroSkills, heroInfo, pokmanSkill, passiveSkill,null); + public CommonProto.FightTeamInfo fightDataMakeUp(Map heroSkills ,Map heroInfo,String pokmanSkill,String passiveSkill,int uid) throws Exception { + return fightDataMakeUp(heroSkills, heroInfo, pokmanSkill, passiveSkill,null,uid); } - public CommonProto.FightTeamInfo fightDataMakeUp(Map heroSkills ,Map heroInfo,String pokmanSkill,String passiveSkill,Map remainHp){ + public CommonProto.FightTeamInfo fightDataMakeUp(Map heroSkills ,Map heroInfo,String pokmanSkill,String passiveSkill,Map remainHp,int uid) throws Exception { List heroDefendFightInfos = new ArrayList<>(); int index=0; for (Map.Entry entry : heroInfo.entrySet()) { @@ -123,10 +123,15 @@ public class BloodLogic { .build(); heroDefendFightInfos.add(heroFightInfo); } + List pokemonSkills = null; + User user = UserManager.getUser(uid, true); + if(user!=null&&!user.getPokemonManager().getPokemonTeamMap().isEmpty()){ + pokemonSkills = HeroLogic.getInstance().getPokemonSkills(UserManager.getUser(uid)); + } return CommonProto.FightTeamInfo. newBuilder() .addAllFightUnitList(heroDefendFightInfos) -// .addAllPokemonUnitList(HeroLogic.getInstance().getPokemonSkills(user)) + .addAllPokemonUnitList(pokemonSkills) .setTeamPassiveList(passiveSkill) .build(); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/championship/ChampionshipLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/championship/ChampionshipLogic.java index 4cda37fa7..3057ce5de 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/championship/ChampionshipLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/championship/ChampionshipLogic.java @@ -647,7 +647,7 @@ public class ChampionshipLogic { if (defMemberInfo.getType() == 0) { FamilyFightInfo fightInfo = defMemberInfo.getFightInfo(); - pvpFightEvent.setDefFightSnapData(new DefFightSnapData(fightInfo.getHeroAttribute(), fightInfo.getHeroSkills(), fightInfo.getPokenmonSkills(), fightInfo.getPassiveSkills())); + pvpFightEvent.setDefFightSnapData(new DefFightSnapData(fightInfo.getHeroAttribute(), fightInfo.getHeroSkills(), fightInfo.getPokenmonSkills(), fightInfo.getPassiveSkills(),defUid)); defForce = fightInfo.getForce(); }else { SArenaRobotConfig sArenaRobotConfig = SArenaRobotConfig.getsArenaRobotConfigById(defUid); @@ -657,7 +657,7 @@ public class ChampionshipLogic { } if (attackMemberInfo.getType() == 0) { FamilyFightInfo fightInfo = attackMemberInfo.getFightInfo(); - pvpFightEvent.setAttackFightSnapData(new DefFightSnapData(fightInfo.getHeroAttribute(), fightInfo.getHeroSkills(), fightInfo.getPokenmonSkills(), fightInfo.getPassiveSkills())); + pvpFightEvent.setAttackFightSnapData(new DefFightSnapData(fightInfo.getHeroAttribute(), fightInfo.getHeroSkills(), fightInfo.getPokenmonSkills(), fightInfo.getPassiveSkills(),attackId)); minForce = fightInfo.getForce(); }else { SArenaRobotConfig sArenaRobotConfig = SArenaRobotConfig.getsArenaRobotConfigById(attackId); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/AreFightPro.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/AreFightPro.java index 578d377f3..58294cede 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/AreFightPro.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/AreFightPro.java @@ -54,7 +54,12 @@ public class AreFightPro implements EndFightProcessor { int warTime = STableManager.getFigureConfig(CommonStaticConfig.class).getsChampionshipSetting().getWarTime(); - CommonProto.FightData build = CommonProto.FightData.newBuilder().setFightType(9).setHeroFightInfos(fightResult.getFightTeamInfo()).addMonsterList(fightResult.getDefFightTeamInfo()).setFightSeed(fightResult.getSeed()).setFightMaxTime(warTime).build(); + CommonProto.FightData build = CommonProto.FightData.newBuilder() + .setFightType(9) + .setHeroFightInfos(fightResult.getFightTeamInfo()) + .addMonsterList(fightResult.getDefFightTeamInfo()) + .setFightSeed(fightResult.getSeed()) + .setFightMaxTime(warTime).build(); arenaRecord.setFightData(build.toByteArray()); RedisUtil.getInstence().putMapEntry(RedisKey.CHAMPION_ARENA_RECORD,"",arenaRecord.getId(),arenaRecord); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/DefFightSnapData.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/DefFightSnapData.java index 067e593a4..59b1cf8cf 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/DefFightSnapData.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/DefFightSnapData.java @@ -10,7 +10,15 @@ public class DefFightSnapData { private Map heroSkills = new HashMap<>(); private String pokenmonSkills; private String passiveSkills; + private int uid; + public DefFightSnapData(Map heroAttribute, Map heroSkills, String pokenmonSkills, String passiveSkills, int uid) { + this.heroAttribute = heroAttribute; + this.heroSkills = heroSkills; + this.pokenmonSkills = pokenmonSkills; + this.passiveSkills = passiveSkills; + this.uid = uid; + } public DefFightSnapData(Map heroAttribute, Map heroSkills, String pokenmonSkills, String passiveSkills) { this.heroAttribute = heroAttribute; @@ -19,6 +27,15 @@ public class DefFightSnapData { this.passiveSkills = passiveSkills; } + public int getUid() { + return uid; + } + + public void setUid(int uid) { + this.uid = uid; + } + + public Map getHeroAttribute() { return heroAttribute; } 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 805df3a08..9060b281a 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 @@ -54,12 +54,12 @@ public class FightUtil { } - public static CommonProto.FightTeamInfo makeFightWithSnapData(DefFightSnapData defFightSnapData){ - return BloodLogic.getInstance().fightDataMakeUp(defFightSnapData.getHeroSkills(),defFightSnapData.getHeroAttribute(),defFightSnapData.getPokenmonSkills(),defFightSnapData.getPassiveSkills()); + public static CommonProto.FightTeamInfo makeFightWithSnapData(DefFightSnapData defFightSnapData) throws Exception { + return BloodLogic.getInstance().fightDataMakeUp(defFightSnapData.getHeroSkills(),defFightSnapData.getHeroAttribute(),defFightSnapData.getPokenmonSkills(),defFightSnapData.getPassiveSkills(),defFightSnapData.getUid()); } - public static CommonProto.FightTeamInfo makeFightBySnapDataWithDouble(DefFightSnapData defFightSnapData,Map attackBloodMap){ - return BloodLogic.getInstance().fightDataMakeUp(defFightSnapData.getHeroSkills(),defFightSnapData.getHeroAttribute(),defFightSnapData.getPokenmonSkills(),defFightSnapData.getPassiveSkills(),attackBloodMap); + public static CommonProto.FightTeamInfo makeFightBySnapDataWithDouble(DefFightSnapData defFightSnapData,Map attackBloodMap) throws Exception { + return BloodLogic.getInstance().fightDataMakeUp(defFightSnapData.getHeroSkills(),defFightSnapData.getHeroAttribute(),defFightSnapData.getPokenmonSkills(),defFightSnapData.getPassiveSkills(),attackBloodMap,defFightSnapData.getUid()); } @@ -120,7 +120,7 @@ public class FightUtil { return builder.build(); } - public static FightResult getFightForPVP(FightEvent fightEvent,int seed){ + public static FightResult getFightForPVP(FightEvent fightEvent,int seed) throws Exception { int fightSeed =seed; PVPFightEvent pvpFightEvent = (PVPFightEvent)fightEvent; CommonProto.FightTeamInfo fightTeamInfo = null; @@ -174,7 +174,7 @@ public class FightUtil { return builder.build(); } - public static FightResult getFightForPVP(FightEvent fightEvent){ + public static FightResult getFightForPVP(FightEvent fightEvent) throws Exception { int fightSeed =getFightSeed(); return getFightForPVP(fightEvent,fightSeed); }