玉虚论道bug修改
parent
65045c93d9
commit
3b5fbb92dd
|
@ -240,6 +240,7 @@ public class CrossYuxulundaoChallengeHandler extends BaseHandler<ArenaInfoProto.
|
|||
} else if (changeTimes == 5 && dailyReward.get(2) == 0) {
|
||||
dailyReward.set(2, 1);
|
||||
}
|
||||
user.getArenaManager().setCrossYuxulundaoDailyRewad(dailyReward);
|
||||
//改变挑战领取宝箱状态
|
||||
MessageUtil.sendMessage(session, 1, MessageTypeProto.MessageType.CrossYuXuLunDaoChallengeResponse.getNumber(), res.build(), true);
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package com.ljsd.jieling.handler.crossServer;
|
||||
|
||||
import com.ljsd.jieling.core.FunctionIdEnum;
|
||||
import com.ljsd.jieling.core.GlobalsDef;
|
||||
import com.ljsd.jieling.db.redis.RedisKey;
|
||||
import com.ljsd.jieling.db.redis.RedisUtil;
|
||||
import com.ljsd.jieling.globals.BIReason;
|
||||
|
@ -9,12 +10,10 @@ import com.ljsd.jieling.logic.GlobalDataManaager;
|
|||
import com.ljsd.jieling.logic.GlobleSystemLogic;
|
||||
import com.ljsd.jieling.logic.activity.crossService.CrossServiceLogic;
|
||||
import com.ljsd.jieling.logic.arena.CrossYuxulundaoLogic;
|
||||
import com.ljsd.jieling.logic.dao.ArenaEnemy;
|
||||
import com.ljsd.jieling.logic.dao.ArenaManager;
|
||||
import com.ljsd.jieling.logic.dao.TimeControllerOfFunction;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.logic.dao.*;
|
||||
import com.ljsd.jieling.logic.dao.gm.ArenaOfUser;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.hero.HeroLogic;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
import com.ljsd.jieling.util.ItemUtil;
|
||||
import com.ljsd.jieling.util.MessageUtil;
|
||||
|
@ -26,6 +25,7 @@ import rpc.protocols.CommonProto;
|
|||
import rpc.protocols.MessageTypeProto;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 玉虚论道 页面数据请求
|
||||
|
@ -48,6 +48,7 @@ public class CrossYuxulundaoGetInfoHandler extends BaseHandler<ArenaInfoProto.Cr
|
|||
if (crossGroup == -1) {
|
||||
return;
|
||||
}
|
||||
boolean isNeedUpdate =false;
|
||||
ArenaManager arenaManager = user.getArenaManager();
|
||||
ArenaInfoProto.CrossYuXuLunDaoGetInfoResponse.Builder builder = ArenaInfoProto.CrossYuXuLunDaoGetInfoResponse.newBuilder();
|
||||
ArenaOfUser myQuery = CrossServiceLogic.getInstance().query(user.getId());
|
||||
|
@ -70,6 +71,12 @@ public class CrossYuxulundaoGetInfoHandler extends BaseHandler<ArenaInfoProto.Cr
|
|||
//CrossYuxulundaoLogic.getInstance().matchRivals(user);
|
||||
} else {
|
||||
//赛季内第一次登陆请求
|
||||
//主线编队复制到第一队伍
|
||||
TeamPosManager teamPosManager = user.getTeamPosManager();
|
||||
Map<Integer, List<TeamPosHeroInfo>> teamPosForHero = teamPosManager.getTeamPosForHero();
|
||||
if(teamPosForHero.containsKey(GlobalsDef.FORMATION_NORMAL)){
|
||||
teamPosManager.updateTeamPosByTeamId(GlobalsDef.CROSS_YU_XU_LUN_DAO_ONE, teamPosManager.getTeamPosForHero().get(GlobalsDef.FORMATION_NORMAL));
|
||||
}
|
||||
builder.setIsFirst(true);
|
||||
arenaManager.setCrossYuxulundaoFirst(System.currentTimeMillis());
|
||||
//重置段位发奖
|
||||
|
@ -82,6 +89,8 @@ public class CrossYuxulundaoGetInfoHandler extends BaseHandler<ArenaInfoProto.Cr
|
|||
builder.addDrop(drop);
|
||||
}
|
||||
myQuery.getPlayerManager().setCrossYuxulundaoNewScore(SMServerRankConfig.serverRankConfig.get(resetId).getScoreLow());
|
||||
isNeedUpdate= true;
|
||||
|
||||
}
|
||||
arenaManager.setCrossMatchTimes(0);
|
||||
CrossYuxulundaoLogic.getInstance().matchRivals(user);
|
||||
|
@ -106,13 +115,18 @@ public class CrossYuxulundaoGetInfoHandler extends BaseHandler<ArenaInfoProto.Cr
|
|||
}
|
||||
}
|
||||
myQuery.getPlayerManager().setCrossYxldMaxLevel(id);
|
||||
isNeedUpdate = true;
|
||||
}
|
||||
builder.setOldMyscore(oldScore);
|
||||
builder.setNewMyscore(newScore);
|
||||
if (oldScore != newScore) {
|
||||
myQuery.getPlayerManager().setCrossYuxulundaoOldScore(newScore);
|
||||
isNeedUpdate = true;
|
||||
}
|
||||
}
|
||||
if(isNeedUpdate){
|
||||
CrossServiceLogic.getInstance().update(myQuery);
|
||||
}
|
||||
//builder.setFreeTimes(5);
|
||||
builder.addAllDailyRewardState(arenaManager.getCrossYuxulundaoDailyRewad());
|
||||
SMServerArenaSetting setting = STableManager.getConfig(SMServerArenaSetting.class).get(2);
|
||||
|
|
|
@ -81,7 +81,11 @@ public class CrossServiceLogic {
|
|||
private void countForce(ArenaOfUser arenaOfUser) throws Exception {
|
||||
User user = UserManager.getUser(arenaOfUser.getId());
|
||||
int totalForce = HeroLogic.getInstance().calTeamTotalForce(user, GlobalsDef.WORLD_TEAM_ARENA_DEFENSE, false);
|
||||
int yxldForce = HeroLogic.getInstance().calTeamTotalForce(user, GlobalsDef.CROSS_YU_XU_LUN_DAO_ONE, false)+
|
||||
HeroLogic.getInstance().calTeamTotalForce(user, GlobalsDef.CROSS_YU_XU_LUN_DAO_TWO, false)+
|
||||
HeroLogic.getInstance().calTeamTotalForce(user, GlobalsDef.CROSS_YU_XU_LUN_DAO_THREE, false);
|
||||
arenaOfUser.getHeroManager().setTotalForce(totalForce);
|
||||
arenaOfUser.getHeroManager().setYxldForce(yxldForce);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -22,10 +22,7 @@ import com.ljsd.jieling.logic.player.PlayerLogic;
|
|||
import com.ljsd.jieling.logic.rank.RankContext;
|
||||
import com.ljsd.jieling.logic.rank.RankEnum;
|
||||
import com.ljsd.jieling.logic.rank.rankImpl.AbstractRank;
|
||||
import config.SArenaRobotConfig;
|
||||
import config.SMServerArenaSetting;
|
||||
import config.SMServerRankConfig;
|
||||
import config.SMServerRankReward;
|
||||
import config.*;
|
||||
import manager.STableManager;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
@ -101,7 +98,7 @@ public class CrossYuxulundaoLogic {
|
|||
int server = random.nextInt(groupList.size());
|
||||
rank.addRank(robotIndex, String.valueOf(crossGroup), 100 - robotIndex);
|
||||
SArenaRobotConfig config = SArenaRobotConfig.getsArenaRobotConfigById(robotIds.get(robotIndex));
|
||||
robotInfo.put(String.valueOf(robotIndex), new CrossArenaEnemy(robotIds.get(robotIndex), robotIndex, groupList.get(server), 0, 0, random.nextBoolean(), PlayerLogic.getInstance().getRandomName2WithOutVerify(), config.getTotalForce(), config.getRoleLv()));
|
||||
robotInfo.put(String.valueOf(robotIndex), new CrossArenaEnemy(robotIds.get(robotIndex), robotIndex, groupList.get(server), 0, config.getMsScroe(), random.nextBoolean(), PlayerLogic.getInstance().getRandomName2WithOutVerify(), config.getTotalForce(), config.getRoleLv()));
|
||||
}
|
||||
LOGGER.info("跨服玉虚论道初始化结束");
|
||||
RedisUtil.getInstence().putMapEntrys(RedisKey.CROSS_YUXULUNDAO_ROBOT_INFO, String.valueOf(crossGroup), robotInfo);
|
||||
|
@ -113,13 +110,15 @@ public class CrossYuxulundaoLogic {
|
|||
if (crossGroup == -1) {
|
||||
return;
|
||||
}
|
||||
String title = SErrorCodeEerverConfig.getI18NMessage("MsRankTitle");
|
||||
String rkey = RedisUtil.getInstence().getKey(RedisKey.CROSS_YUXULUNDAO_RANK, Integer.toString(crossGroup));
|
||||
Set<String> arenaRank = RedisUtil.getInstence().getReverseZset(rkey, 0, -1);
|
||||
List<Integer> arenaRankfilt = arenaRank.stream().mapToInt(n -> Integer.parseInt(n)).filter(n -> n > 1000).boxed().collect(Collectors.toList());
|
||||
for (int i = 0; i < arenaRankfilt.size(); i++) {
|
||||
SMServerRankReward config = SMServerRankReward.getIdByScore(i + 1);
|
||||
try {
|
||||
MailLogic.getInstance().sendMail(arenaRankfilt.get(0), "玉虚论道排名奖励", "恭喜您在本次玉虚论道荣获" + (i + 1) + "名,请及时领取附件中的排名奖励!",
|
||||
String content = SErrorCodeEerverConfig.getI18NMessageNeedConvert("MsRankContent",new Object[]{(i + 1)},new int[0],"#");
|
||||
MailLogic.getInstance().sendMail(arenaRankfilt.get(i), title, content,
|
||||
StringUtil.parseArrayToString(config.getSeasonReward()), TimeUtils.nowInt(), Global.MAIL_EFFECTIVE_TIME);
|
||||
//TODO 跑马灯
|
||||
//ChatLogic.getInstance().sendSysChatMessage(message,Global.LUCKY_LUCK,String.valueOf(equipId),0,0,0,0,0);
|
||||
|
@ -238,8 +237,8 @@ public class CrossYuxulundaoLogic {
|
|||
}
|
||||
} else {
|
||||
//比他低的三个 比他高的两个
|
||||
Set<String> arenaRank1 = RedisUtil.getInstence().getReverseZset(rkey, myRank - 3, myRank - 1);
|
||||
Set<String> arenaRank2 = RedisUtil.getInstence().getReverseZset(rkey, myRank, myRank + 3);
|
||||
Set<String> arenaRank1 = RedisUtil.getInstence().getReverseZset(rkey, myRank - 3, myRank - 2);
|
||||
Set<String> arenaRank2 = RedisUtil.getInstence().getReverseZset(rkey, myRank, myRank + 2);
|
||||
arenaRank.addAll(arenaRank1);
|
||||
arenaRank.addAll(arenaRank2);
|
||||
}
|
||||
|
@ -296,7 +295,7 @@ public class CrossYuxulundaoLogic {
|
|||
.setLevel(arenaOfUser.getPlayerManager().getLevel())
|
||||
.setName(arenaOfUser.getPlayerManager().getName())
|
||||
.setServername(serverName)
|
||||
.setTotalForce(arenaOfUser.getHeroManager().getTotalForce())
|
||||
.setTotalForce(arenaOfUser.getHeroManager().getYxldForce())
|
||||
.setUserTitle(arenaOfUser.getPlayerManager().getUserTitle())
|
||||
.setUserMount(arenaOfUser.getPlayerManager().getUserMount())
|
||||
.setGender(arenaOfUser.getPlayerManager().getGender())
|
||||
|
@ -355,7 +354,7 @@ public class CrossYuxulundaoLogic {
|
|||
.addAllResult(result)
|
||||
.setMyScoreChange(arenaRecord.getYxldScoreChange())
|
||||
.setLevel(arenaRecord.getLevel())
|
||||
.setHead(arenaRecord.getHead())
|
||||
.setHead(arenaRecord.getHead()).setServerName(arenaRecord.getServerName())
|
||||
.setUserName(arenaRecord.getUserName())
|
||||
.setHeadFrame(arenaRecord.getHeadFrame()).setFightData1(fightDataProto1).setFightData2(fightDataProto2).setFightData3(fightDataProto3)
|
||||
.setPower(arenaRecord.getAttackForce()).setType(arenaRecord.getYxldBattleType()).build();
|
||||
|
|
|
@ -25,6 +25,8 @@ public class ArenaOfHeroManager {
|
|||
|
||||
private int totalForce;
|
||||
|
||||
private int yxldForce;
|
||||
|
||||
|
||||
public ArenaOfHeroManager(Map<Integer, List<TeamPosHeroInfo>> teams, Map<String, ArenaOfHero> heros, Map<String, PropertyItem> jewels, Map<Integer,Integer> totalForceByTeam, int totalForce) {
|
||||
this.teams = teams;
|
||||
|
@ -76,4 +78,12 @@ public class ArenaOfHeroManager {
|
|||
public void setTotalForceByTeam(Map<Integer, Integer> totalForceByTeam) {
|
||||
this.totalForceByTeam = totalForceByTeam;
|
||||
}
|
||||
|
||||
public int getYxldForce() {
|
||||
return yxldForce;
|
||||
}
|
||||
|
||||
public void setYxldForce(int yxldForce) {
|
||||
this.yxldForce = yxldForce;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -72,7 +72,7 @@ public class CrossYuXuLunDaoRank extends AbstractRank{
|
|||
.setUserSkin(80012)
|
||||
.setRankInfo(everyRankInfo)
|
||||
.setServerName(serverName)
|
||||
.setSex(0);
|
||||
.setSex(0).setCrossScore(mapEntry.getEnemyStatus());
|
||||
builder.addRanks(everyRank);
|
||||
}else{
|
||||
ArenaOfUser query = CrossServiceLogic.getInstance().query(Integer.valueOf(data.getValue()));
|
||||
|
|
Loading…
Reference in New Issue