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 c460e8f48..5540d6791 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 @@ -22,6 +22,7 @@ import com.ljsd.jieling.logic.dao.CrossArenaEnemy; import com.ljsd.jieling.logic.dao.ServerConfig; import com.ljsd.jieling.logic.dao.TimeControllerOfFunction; import com.ljsd.jieling.logic.dao.UserManager; +import com.ljsd.jieling.logic.dao.cross.CSPlayer; import com.ljsd.jieling.logic.dao.gm.ArenaOfUser; import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.logic.fight.FightUtil; @@ -34,6 +35,7 @@ import com.ljsd.jieling.logic.rank.rankImpl.AbstractRank; import com.ljsd.jieling.network.server.GlobalidHelper; import com.ljsd.jieling.network.server.WorldHelper; import com.ljsd.jieling.network.session.ISession; +import com.ljsd.jieling.thrift.idl.CrossArenaManager; import com.ljsd.jieling.util.*; import config.SArenaRobotConfig; import config.SArenaSetting; @@ -159,8 +161,11 @@ public class GetWorldArenaChallengeRequestHandler extends BaseHandler1000) { ArenaOfUser arenaOfUser = CrossServiceLogic.getInstance().query(proto.getChallengeUid()); - defendForce = arenaOfUser.getHeroManager().getTotalForceByTeam().get(proto.getTeamId()); - teamInfo = FightUtil.makeCrossPersonData(arenaOfUser,proto.getTeamId(),defendForce); + //defendForce = arenaOfUser.getHeroManager().getTotalForceByTeam().get(proto.getTeamId()); + //teamInfo = FightUtil.makeCrossPersonData(arenaOfUser,proto.getTeamId(),defendForce); + CSPlayer csPlayer = CrossServiceLogic.getPlayerByRedis(user.getId()); + CrossArenaManager crossArenaManager = PlayerLogic.getInstance().getCrossArenaManagerData(csPlayer); + teamInfo = FightUtil.makeCrossPersonData(csPlayer, proto.getTeamId(), null, crossArenaManager); arenaEnemys =ArenaLogic.getInstance().getUserCrossArenaEnemy(crossGroup,arenaOfUser,proto.getChallengeRank(),false).build(); } else { diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/MistyTripActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/MistyTripActivity.java index d00f7a1a1..debec50ad 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/MistyTripActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/MistyTripActivity.java @@ -1,5 +1,6 @@ package com.ljsd.jieling.logic.activity; +import com.ljsd.GameApplication; import com.ljsd.jieling.globals.BIReason; import com.ljsd.jieling.jbean.ActivityMission; import com.ljsd.jieling.jbean.ActivityProgressInfo; @@ -68,6 +69,10 @@ public class MistyTripActivity extends AbstractActivity { } @Override public void initActivity(User user) throws Exception { + boolean open = SGlobalActivity.checkActivityIfOpen(id, user.getPlayerInfoManager().getCreateTime(), GameApplication.serverConfig.getCacheOpenTime()); + if (!open){ + return; + } //初始化所有事件 主线关卡 心魔试炼 山河社稷 大闹天宫 最高战力 user.getUserMissionManager().onGameEvent(user, GameEvent.MISTY_TRIP_REFRESH); } 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 3f096bd2b..03f16a5d5 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 @@ -22,6 +22,7 @@ import com.ljsd.jieling.logic.activity.crossService.CrossServiceLogic; import com.ljsd.jieling.logic.activity.event.Poster; import com.ljsd.jieling.logic.activity.fourChallenge.FourChallengeLogic; import com.ljsd.jieling.logic.dao.*; +import com.ljsd.jieling.logic.dao.cross.CSPlayer; import com.ljsd.jieling.logic.dao.gm.ArenaOfUser; import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.logic.family.CrossDeathPathLogic; @@ -38,6 +39,7 @@ import com.ljsd.jieling.logic.rank.rankImpl.AbstractRank; import com.ljsd.jieling.logic.redpacket.WelfareRedPackEvent; import com.ljsd.jieling.logic.redpacket.WelfareRedPacketType; import com.ljsd.jieling.network.session.ISession; +import com.ljsd.jieling.thrift.idl.CrossArenaManager; import com.ljsd.jieling.util.ItemUtil; import com.ljsd.jieling.util.MessageUtil; import config.*; @@ -670,7 +672,9 @@ public class ArenaLogic { //跨服切磋 ArenaOfUser user = CrossServiceLogic.getInstance().query(challengeUid); deforce = user.getHeroManager().getTotalForceByTeam().get(myteamId); - deffightTeamInfo = FightUtil.makeCrossPersonData(user,myteamId,deforce); + CSPlayer csPlayer = CrossServiceLogic.getPlayerByRedis(user.getId()); + CrossArenaManager crossArenaManager = PlayerLogic.getInstance().getCrossArenaManagerData(csPlayer); + deffightTeamInfo = FightUtil.makeCrossPersonData(csPlayer, myteamId, null, crossArenaManager); } if(myforce teamPosHeroInfos = user.getTeamPosManager().getTeamPosForHero().getOrDefault(teamId, new ArrayList<>()); int addforce = HeroLogic.getInstance().calTeamTotalForce(user, teamId, false); - arenaRecord.setAttackForce(arenaRecord.getAttackForce() + addforce); - arenaRecord.getYxldDefForce().add(addforce); + if(arenaRecord != null){ + arenaRecord.setAttackForce(arenaRecord.getAttackForce() + addforce); + arenaRecord.getYxldDefForce().add(addforce); + } for (TeamPosHeroInfo teamPosHeroInfo : teamPosHeroInfos) { Hero hero = user.getHeroManager().getHeroMap().get(teamPosHeroInfo.getHeroId()); if (hero == null) { @@ -722,8 +725,10 @@ public class FightUtil { } List teamPosHeroInfos = crossArenaManager.getTeams().getOrDefault(teamId, new ArrayList<>()); int addforcerpc = crossArenaManager.getTotalForceByTeam().get(teamId); - arenaRecord.getYxldDefForce().add(addforcerpc); - arenaRecord.setAttackForce(arenaRecord.getAttackForce() + addforcerpc); + if(arenaRecord != null){ + arenaRecord.getYxldDefForce().add(addforcerpc); + arenaRecord.setAttackForce(arenaRecord.getAttackForce() + addforcerpc); + } //Collection seals = crossArenaManager.getSeals().values(); for (com.ljsd.jieling.thrift.idl.TeamPosHeroInfo teamPosHeroInfo : teamPosHeroInfos) { com.ljsd.jieling.thrift.idl.ArenaOfHero hero = crossArenaManager.getHeros().get(teamPosHeroInfo.getHeroId()); @@ -750,7 +755,7 @@ public class FightUtil { .addAllFightUnitList(heroFightInfos) .addAllPokemonUnitList(HeroLogic.getInstance().getCrossPokemon(crossArenaManager)) .setTeamPassiveList("") - .setForceScore(addforcerpc) + .setForceScore(crossArenaManager.getMaxHistoryForce()) .build(); } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/GameFightType.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/GameFightType.java index 8538de850..1fa6f6047 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/GameFightType.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/GameFightType.java @@ -43,7 +43,7 @@ public enum GameFightType { DeathPathChallenge(FightType.CarBossFight,new DefaultWithoutHandFightHandler(),null), CarBossChallenge(FightType.CarBossFight,new DefaultWithoutHandFightHandler(),null), - CarPersonChallenge(FightType.CarBossFight,new PVPFightHandler(),null), + CarPersonChallenge(FightType.CarPersonFight,new PVPFightHandler(),null), GuildChallenge(FightType.GuildChallenge,new DefaultWithoutHandFightHandler(),null), NewGeneral(FightType.GuildChallenge,new DefaultWithoutHandFightHandler(),null), TowerMap(FightType.TowerMap,new DefaultWithoutHandFightHandler(),null),