diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/gtw/GetWorldArenaChallengeRequestHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/gtw/GetWorldArenaChallengeRequestHandler.java index a2531b4e8..c460e8f48 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/gtw/GetWorldArenaChallengeRequestHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/gtw/GetWorldArenaChallengeRequestHandler.java @@ -159,9 +159,10 @@ public class GetWorldArenaChallengeRequestHandler extends BaseHandler1000) { ArenaOfUser arenaOfUser = CrossServiceLogic.getInstance().query(proto.getChallengeUid()); - teamInfo = FightUtil.makeCrossPersonData(arenaOfUser,proto.getTeamId()); - arenaEnemys =ArenaLogic.getInstance().getUserCrossArenaEnemy(crossGroup,arenaOfUser,proto.getChallengeRank(),false).build(); defendForce = arenaOfUser.getHeroManager().getTotalForceByTeam().get(proto.getTeamId()); + teamInfo = FightUtil.makeCrossPersonData(arenaOfUser,proto.getTeamId(),defendForce); + arenaEnemys =ArenaLogic.getInstance().getUserCrossArenaEnemy(crossGroup,arenaOfUser,proto.getChallengeRank(),false).build(); + } else { //机器人 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 2c5594768..93ae0e4b6 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 @@ -277,6 +277,7 @@ public class BehaviorUtil { .addAllFightUnitList(heroFightInfos) .addAllPokemonUnitList(HeroLogic.getInstance().getPokemonSkills(user)) .setTeamPassiveList(HeroLogic.getInstance().getPokenmonPassiveSkills(user,teamId)) + .setForceScore(HeroLogic.getInstance().calTeamForce(user,teamId)) .build(); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/ArenaLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/ArenaLogic.java index d3a473c12..3f096bd2b 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/ArenaLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/ArenaLogic.java @@ -670,7 +670,7 @@ public class ArenaLogic { //跨服切磋 ArenaOfUser user = CrossServiceLogic.getInstance().query(challengeUid); deforce = user.getHeroManager().getTotalForceByTeam().get(myteamId); - deffightTeamInfo = FightUtil.makeCrossPersonData(user,myteamId); + deffightTeamInfo = FightUtil.makeCrossPersonData(user,myteamId,deforce); } if(myforce heroFightInfos = new ArrayList<>(); ArenaOfHeroManager heroManager = arenaOfUser.getHeroManager(); List teamPosHeroInfos = heroManager.getTeams().get(teamId); @@ -662,6 +669,7 @@ public class FightUtil { .addAllFightUnitList(heroFightInfos) .addAllPokemonUnitList(HeroLogic.getInstance().getCrossPokemonSkills(arenaOfUser)) .setTeamPassiveList("") + .setForceScore(deforce) .build(); } @@ -704,6 +712,7 @@ public class FightUtil { .addAllFightUnitList(heroFightInfos) .addAllPokemonUnitList(HeroLogic.getInstance().getCrossPokemonSkills(user)) .setTeamPassiveList("") + .setForceScore(HeroLogic.getInstance().calTeamForce(user,teamId)) .build(); } else { //其他服玩家 @@ -741,6 +750,7 @@ public class FightUtil { .addAllFightUnitList(heroFightInfos) .addAllPokemonUnitList(HeroLogic.getInstance().getCrossPokemon(crossArenaManager)) .setTeamPassiveList("") + .setForceScore(addforcerpc) .build(); } } 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 6feab5978..be7adf39b 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 @@ -55,6 +55,7 @@ import config.*; import manager.STableManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.data.mongodb.core.aggregation.ArithmeticOperators; import rpc.protocols.*; import sun.security.ssl.Debug; import util.MathUtils; @@ -2380,9 +2381,29 @@ public class HeroLogic{ .setPosition(entry.getKey()) .setStar(pokemon.getStar()) .setProperty(propertyBuilder.toString()) - .setUnitId(String.valueOf(pokemon.getTmpId())).setUnitSkillIds(String.valueOf(sSpiritAnimalSkill.getId())).build(); + .setUnitId(String.valueOf(pokemon.getTmpId())) + .setUnitSkillIds(String.valueOf(sSpiritAnimalSkill.getId())) + .build(); pokemonInfos.add(info); } + String skillStr=""; + for (Map.Entry entry : user.getHeroManager().getPracticeSkillMap().entrySet()) { + int skillId=SPlayerSkill.GetSPlayerSkill(entry.getKey(),entry.getValue()).getId(); + if (skillStr.isEmpty()){ + skillStr+= skillId; + }else{ + skillStr+= "#"+skillId; + } + } + CommonProto.FightUnitInfo skillInfo = CommonProto.FightUnitInfo + .newBuilder() + .setUnitId("0") + .setUnitSkillIds(skillStr) + .setProperty("0") + .setPosition(100) + .setSkinId(0) + .build(); + pokemonInfos.add(skillInfo); return pokemonInfos; } @@ -3106,6 +3127,24 @@ public class HeroLogic{ return l; } + ///获取最高战斗力 + public long calTeamForce(User user,int teamId){ + return user.getPlayerInfoManager().getMaxForce(); + //之前是当前编队战斗力 + /*long teamForce = 0; + List teamHeros = user.getTeamPosManager().getTeamPosForHero().get(teamId); + if (teamHeros==null||teamHeros.isEmpty()) { + return teamForce; + } + for (TeamPosHeroInfo teamHero : teamHeros) { + Hero _hero = user.getHeroManager().getHero(teamHero.getHeroId()); + long heroForce = calHeoForce(user, _hero, teamId); + teamForce += heroForce; + } + LOGGER.info("编队id:{} 战斗力:{}",teamId,teamForce); + return teamForce;*/ + } + public int calForce( Map heroAllAttribute ){ double result = 0;