diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/crossServer/CrossYuxulundaoChallengeHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/crossServer/CrossYuxulundaoChallengeHandler.java index 328d17b28..16ba5176b 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/crossServer/CrossYuxulundaoChallengeHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/crossServer/CrossYuxulundaoChallengeHandler.java @@ -48,10 +48,7 @@ import rpc.protocols.CommonProto; import rpc.protocols.MessageTypeProto; import util.TimeUtils; -import java.util.Arrays; -import java.util.Calendar; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; public class CrossYuxulundaoChallengeHandler extends BaseHandler { @@ -326,7 +323,7 @@ public class CrossYuxulundaoChallengeHandler extends BaseHandler> teamPosForHero = user.getTeamPosManager().getTeamPosForHero(); + if(!teamPosForHero.containsKey(myteamId[i]) || teamPosForHero.get(myteamId[i]).size() == 0){ + result[i] = 0; + if (GameApplication.serverId == csPlayer.getServerId()) { + User defuser = UserManager.getUser(csPlayer.getUserId()); + int addforce = HeroLogic.getInstance().calTeamTotalForce(defuser, myteamId[i], false); + arenaRecord.getYxldDefForce().add(addforce); + }else{ + List teamPosHeroInfos = crossArenaManager.getTeams().getOrDefault(myteamId[i], new ArrayList<>()); + int addforcerpc = crossArenaManager.getTotalForceByTeam().get(myteamId[i]); + arenaRecord.getYxldDefForce().add(addforcerpc); + } + return false; + } + return true; + } + public static boolean updateResult(User user,int i, int[] myteamId, int[] defTeamId, int[] result){ //没有队伍时候 直接断定对方赢 Map> teamPosForHero = user.getTeamPosManager().getTeamPosForHero(); if(!teamPosForHero.containsKey(myteamId[i]) || teamPosForHero.get(myteamId[i]).size() == 0){ @@ -380,7 +395,6 @@ public class CrossYuxulundaoChallengeHandler extends BaseHandler result = null;// if (arenaRecord.getYxldResult() == null) { @@ -389,6 +395,7 @@ public class CrossYuxulundaoLogic { result = Arrays.stream(arenaRecord.getYxldResult()).boxed().collect(Collectors.toList()); } if(isSend){ + CSPlayer csPlayer = CrossServiceLogic.getPlayerByRedis(uid); CSPlayer defPlayer = CrossServiceLogic.getPlayerByRedis(arenaRecord.getDefUid()); String myServerName = CrossDeathPathLogic.getInstance().getServerNameByDeathPath(csPlayer.getServerId());