跨服修改
parent
3c3299acfa
commit
4b641f5109
|
@ -204,9 +204,13 @@ public class GetWorldArenaChallengeRequestHandler extends BaseHandler<WorldProto
|
|||
|
||||
if(myRank==-1){
|
||||
//第一次 没有上榜的时候
|
||||
rank.removeOneRankByPiece(String.valueOf(crossGroup),String.valueOf(proto.getChallengeRank()));
|
||||
rank.removeOneRankByPiece(String.valueOf(crossGroup),String.valueOf(proto.getChallengeUid()));
|
||||
rank.addRank(iSession.getUid(), String.valueOf(crossGroup), score);
|
||||
newRank = rank.getRankIndexByKey(String.valueOf(crossGroup),iSession.getUid());
|
||||
if(proto.getChallengeUid()>1000){
|
||||
RedisUtil.getInstence().set(RedisKey.WORLD_ARENA_RANK_MY_MATH, String.valueOf(proto.getChallengeUid()), new HashSet<>());
|
||||
ArenaLogic.randomRank(proto.getChallengeUid(),9999, crossGroup);
|
||||
}
|
||||
}else if(rank.getScoreById(iSession.getUid(),String.valueOf(crossGroup))<rank.getScoreById(proto.getChallengeUid(),String.valueOf(crossGroup))){
|
||||
//在榜上 且排名要升高
|
||||
rank.addRank(proto.getChallengeUid(),String.valueOf(crossGroup),rank.getScoreById(iSession.getUid(),String.valueOf(crossGroup)));
|
||||
|
@ -239,6 +243,8 @@ public class GetWorldArenaChallengeRequestHandler extends BaseHandler<WorldProto
|
|||
builder.setOldrank(newRank==-1?9999:newRank);
|
||||
RedisUtil.getInstence().putMapEntry(RedisKey.WORLD_ARENA_RRECORD, Integer.toString(proto.getChallengeUid()), s, builder.build().toByteArray());
|
||||
}
|
||||
//保存自己的编队
|
||||
CrossServiceLogic.getInstance().dispose(user);
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -50,8 +50,11 @@ public class GetWorldArenaInfoRequestHandler extends BaseHandler<WorldProto.GetW
|
|||
|
||||
WorldProto.GetWorldArenaInfoResponse.Builder builder = WorldProto.GetWorldArenaInfoResponse.newBuilder();
|
||||
long lastOrUnderHour = TimeUtils.getLastOrUnderHour(GameApplication.serverConfig.getCacheOpenTime(), 1, 0, 0, true);
|
||||
|
||||
lastOrUnderHour+=TimeUtils.WEEK*3;
|
||||
SMServerArenaSetting setting = STableManager.getConfig(SMServerArenaSetting.class).get(1);
|
||||
if(setting==null){
|
||||
throw new ErrorCodeException(ErrorCode.CFG_NULL);
|
||||
}
|
||||
lastOrUnderHour+=TimeUtils.WEEK*setting.getOpenWeek();
|
||||
if(TimeUtils.now()<lastOrUnderHour){
|
||||
builder.setIsStart(0);
|
||||
}else{
|
||||
|
@ -61,10 +64,7 @@ public class GetWorldArenaInfoRequestHandler extends BaseHandler<WorldProto.GetW
|
|||
throw new ErrorCodeException(ErrorCode.ACTIVITY_NOT_OPEN);
|
||||
}
|
||||
|
||||
SMServerArenaSetting setting = STableManager.getConfig(SMServerArenaSetting.class).get(1);
|
||||
if(setting==null){
|
||||
throw new ErrorCodeException(ErrorCode.CFG_NULL);
|
||||
}
|
||||
|
||||
|
||||
TimeControllerOfFunction timeControllerOfFunction = GlobalDataManaager.getInstance().getTimeControllerOfFunctionByFunctinoType(FunctionIdEnum.World_Arena);
|
||||
long diff = (System.currentTimeMillis() - timeControllerOfFunction.getStartTime())/1000;
|
||||
|
@ -132,62 +132,5 @@ public class GetWorldArenaInfoRequestHandler extends BaseHandler<WorldProto.GetW
|
|||
// List<String> strings = RedisUtil.getInstence().lGet(RedisKey.WORLD_ARENA_MY_PRON,String.valueOf(iSession.getUid()), 0, -1);
|
||||
builder.setArenaInfo(builder1.build());
|
||||
MessageUtil.sendMessage(iSession,1, MessageTypeProto.MessageType.GetWorldArenaInfoResponse.getNumber(),builder.build(),true);
|
||||
// List<CommonProto.ArenaEnemy> arenaEnemyList = ArenaLogic.getInstance().getArenaEnemyList(new LinkedList<>(arenaEnemies),strings);
|
||||
// builder1.setScore(myIndex)
|
||||
// .addAllArenaEnemys(arenaEnemyList)
|
||||
// .build();
|
||||
|
||||
// //根据我的排名获取
|
||||
// int myIndex = 9999;
|
||||
// if (myRank != null) {
|
||||
// myIndex = myRank.getKey();
|
||||
// }
|
||||
// List<ArenaEnemy> arenaEnemies;
|
||||
// if(proto.getIsPro()){
|
||||
// //获取前4名
|
||||
// arenaEnemies = new LinkedList<>();
|
||||
// for (int i = 1; i <=4 ; i++) {
|
||||
// ArenaEnemy arenaEnemy = integerIntegerHashMap.get(i);
|
||||
// if(arenaEnemy.getRank()==0){
|
||||
// arenaEnemy.setRank(i);
|
||||
// }
|
||||
// arenaEnemies.add(arenaEnemy);
|
||||
// }
|
||||
// }else {
|
||||
// arenaEnemies = ArenaLogic.randomRank(integerIntegerHashMap, rpcMessage.getUid(), myIndex);
|
||||
// }
|
||||
//
|
||||
// builder.setStage(2);
|
||||
// List<String> strings = RedisUtil.getInstence().lGet(RedisKey.WORLD_ARENA_MY_PRON,String.valueOf(rpcMessage.getUid()), 0, -1);
|
||||
// List<CommonProto.ArenaEnemy> arenaEnemyList = ArenaLogic.getInstance().getArenaEnemyList(new LinkedList<>(arenaEnemies),strings);
|
||||
// builder1.setScore(myIndex)
|
||||
// .addAllArenaEnemys(arenaEnemyList)
|
||||
// .build();
|
||||
//
|
||||
// } catch (Exception e) {
|
||||
// e.printStackTrace();
|
||||
// LOGGER.error(e.toString());
|
||||
// } finally {
|
||||
// // Lockeys.getInstance().reset();
|
||||
// }
|
||||
// builder.setArenaInfo(builder1)
|
||||
// return builder.build();
|
||||
|
||||
// if (proto.getStage() != 1) {
|
||||
// WorldProto.GetWorldArenaInfoResponse.Builder builder = WorldProto.GetWorldArenaInfoResponse.newBuilder(proto);
|
||||
// SMServerArenaSetting setting = STableManager.getConfig(SMServerArenaSetting.class).get(1);
|
||||
// if (setting == null) {
|
||||
// throw new ErrorCodeException(ErrorCode.CFG_NULL);
|
||||
// }
|
||||
// TimeControllerOfFunction timeControllerOfFunction = GlobalDataManaager.getInstance().getTimeControllerOfFunctionByFunctinoType(FunctionIdEnum.World_Arena);
|
||||
// long diff = (System.currentTimeMillis() - timeControllerOfFunction.getStartTime())/1000;
|
||||
//
|
||||
//
|
||||
// if (!ArenaWorldLogic.checkJoin(String.valueOf(rpcMessage.getUid()))) {
|
||||
// builder.setEnterable(-1);
|
||||
// }
|
||||
//
|
||||
// proto = builder.build();
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -143,6 +143,9 @@ public class CrossServiceLogic {
|
|||
arenaOfPlayerManager.setUserTitle(player.getUserTitle());
|
||||
arenaOfPlayerManager.setPracticeLevel(user.getHeroManager().getPracticeLevel());
|
||||
arenaOfPlayerManager.setServerId(GameApplication.serverId);
|
||||
arenaOfPlayerManager.setGender(player.getSex());
|
||||
arenaOfPlayerManager.setSkin(player.getUserSkin());
|
||||
arenaOfPlayerManager.setUserMount(player.getUserMount());
|
||||
try {
|
||||
arenaOfPlayerManager.setServerName(CrossServiceLogic.getInstance().findServerName(GameApplication.serverId));
|
||||
} catch (UnknownHostException e) {
|
||||
|
|
|
@ -2,9 +2,9 @@ package com.ljsd.jieling.logic.arena;
|
|||
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
import com.ljsd.fight.ArenaRecord;
|
||||
import com.ljsd.fight.FightType;
|
||||
import com.ljsd.jieling.config.clazzStaticCfg.SArenaRobotStaticConfig;
|
||||
import com.ljsd.jieling.core.FunctionIdEnum;
|
||||
import com.ljsd.fight.FightType;
|
||||
import com.ljsd.jieling.core.GlobalsDef;
|
||||
import com.ljsd.jieling.core.VipPrivilegeType;
|
||||
import com.ljsd.jieling.db.mongo.MongoUtil;
|
||||
|
@ -35,21 +35,18 @@ import com.ljsd.jieling.logic.rank.RankEnum;
|
|||
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.server.GlobalidHelper;
|
||||
import com.ljsd.jieling.network.server.WorldHelper;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
import org.luaj.vm2.lib.jse.JseMathLib;
|
||||
import rpc.protocols.ArenaInfoProto;
|
||||
import rpc.protocols.CommonProto;
|
||||
import rpc.protocols.FightInfoProto;
|
||||
import rpc.protocols.MessageTypeProto;
|
||||
import com.ljsd.jieling.util.*;
|
||||
import com.ljsd.jieling.util.ItemUtil;
|
||||
import com.ljsd.jieling.util.MessageUtil;
|
||||
import config.*;
|
||||
import manager.STableManager;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.data.redis.core.ZSetOperations;
|
||||
import rpc.world.WorldProto;
|
||||
import rpc.protocols.ArenaInfoProto;
|
||||
import rpc.protocols.CommonProto;
|
||||
import rpc.protocols.FightInfoProto;
|
||||
import rpc.protocols.MessageTypeProto;
|
||||
import util.MathUtils;
|
||||
import util.StringUtil;
|
||||
import util.TimeUtils;
|
||||
|
@ -806,6 +803,7 @@ public class ArenaLogic {
|
|||
if(!lock){
|
||||
return;
|
||||
}
|
||||
LOGGER.info("跨服信息初始化...");
|
||||
RedisUtil.getInstence().expire("WORLD_ARENA_INIT_RANK:" + crossGroup,TimeUtils.ONE_MINUTE * 5);
|
||||
|
||||
String key1 = RedisUtil.getInstence().getKey(RedisKey.CROSS_ARENA_ROBOT_INFO, String.valueOf(crossGroup));
|
||||
|
@ -831,9 +829,11 @@ public class ArenaLogic {
|
|||
while(--robotIndex>0){
|
||||
int server = random.nextInt(groupList.size());
|
||||
rank.addRank(robotIndex,String.valueOf(crossGroup),robotNum-robotIndex);
|
||||
robotInfo.put(String.valueOf(robotIndex),new CrossArenaEnemy(robotIds.get(robotIndex),robotIndex,groupList.get(server),0,0,random.nextBoolean(),PlayerLogic.getInstance().getRandomName2WithOutVerify()));
|
||||
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()));
|
||||
|
||||
}
|
||||
LOGGER.info("跨服信息初始化结束");
|
||||
RedisUtil.getInstence().putMapEntrys(RedisKey.CROSS_ARENA_ROBOT_INFO,String.valueOf(crossGroup),robotInfo);
|
||||
}
|
||||
|
||||
|
@ -945,6 +945,10 @@ public class ArenaLogic {
|
|||
.setName(enemy.getPlayerManager().getName())
|
||||
.setServername(enemy.getPlayerManager().getServerName())
|
||||
.setTotalForce(enemy.getHeroManager().getTotalForce())
|
||||
.setUserTitle(enemy.getPlayerManager().getUserTitle())
|
||||
.setUserMount(enemy.getPlayerManager().getUserMount())
|
||||
.setGender(enemy.getPlayerManager().getGender())
|
||||
.setUserSkin(enemy.getPlayerManager().getSkin())
|
||||
.setRank(rank)
|
||||
.build();
|
||||
return CommonProto.ArenaEnemy.newBuilder()
|
||||
|
@ -967,6 +971,8 @@ public class ArenaLogic {
|
|||
.setScore(sArenaRobotConfig.getRobotScore())
|
||||
.setTotalForce(sArenaRobotConfig.getTotalForce())
|
||||
.setServername(CrossServiceLogic.getInstance().findServerName(enemy.getServerID()))
|
||||
.setUserSkin(80012)
|
||||
.setGender(enemy.isGender()?1:0)
|
||||
.setRank(rank)
|
||||
.build();
|
||||
} catch (UnknownHostException e) {
|
||||
|
|
|
@ -16,6 +16,7 @@ public class CrossArenaEnemy {
|
|||
private int rank;//排名
|
||||
private boolean gender;
|
||||
private String randomName;
|
||||
private int totalForce;
|
||||
|
||||
public CrossArenaEnemy(int enemyId, int enemyId_UUid, int serverID, int enemyType, int enemyStatus, int rank) {
|
||||
this.enemyId = enemyId;
|
||||
|
@ -26,11 +27,12 @@ public class CrossArenaEnemy {
|
|||
this.rank = rank;
|
||||
}
|
||||
|
||||
public CrossArenaEnemy(int enemyId,int enemyId_UUid, int serverID, int enemyType, int enemyStatus,boolean gender,String randomName) {
|
||||
public CrossArenaEnemy(int enemyId,int enemyId_UUid, int serverID, int enemyType, int enemyStatus,boolean gender,String randomName,int totalForce) {
|
||||
|
||||
this(enemyId,enemyId_UUid,serverID,enemyType,enemyStatus);
|
||||
this.gender=gender;
|
||||
this.randomName = randomName;
|
||||
this.totalForce = totalForce;
|
||||
}
|
||||
public CrossArenaEnemy(int enemyId,int enemyId_UUid, int serverID, int enemyType, int enemyStatus) {
|
||||
this.enemyId = enemyId;
|
||||
|
@ -85,4 +87,8 @@ public class CrossArenaEnemy {
|
|||
public String getRandomName() {
|
||||
return randomName;
|
||||
}
|
||||
|
||||
public int getTotalForce() {
|
||||
return totalForce;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -32,9 +32,11 @@ public class ArenaOfPlayerManager {
|
|||
private int practiceLevel;
|
||||
private int serverId;
|
||||
private String serverName;
|
||||
private int gender;
|
||||
private int skin;
|
||||
|
||||
|
||||
public ArenaOfPlayerManager(int uId, int level, String name, int head, int headFrame, String guildName, int userTitle, int userMount, int practiceLevel, int serverId, String serverName) {
|
||||
public ArenaOfPlayerManager(int uId, int level, String name, int head, int headFrame, String guildName, int userTitle, int userMount, int practiceLevel, int serverId, String serverName,int gender,int skin) {
|
||||
this.uId = uId;
|
||||
this.level = level;
|
||||
this.name = name;
|
||||
|
@ -46,6 +48,8 @@ public class ArenaOfPlayerManager {
|
|||
this.practiceLevel = practiceLevel;
|
||||
this.serverId = serverId;
|
||||
this.serverName = serverName;
|
||||
this.gender = gender;
|
||||
this.skin = skin;
|
||||
}
|
||||
|
||||
public ArenaOfPlayerManager() {
|
||||
|
@ -138,4 +142,20 @@ public class ArenaOfPlayerManager {
|
|||
public void setUserMount(int userMount) {
|
||||
this.userMount = userMount;
|
||||
}
|
||||
|
||||
public int getGender() {
|
||||
return gender;
|
||||
}
|
||||
|
||||
public void setGender(int gender) {
|
||||
this.gender = gender;
|
||||
}
|
||||
|
||||
public int getSkin() {
|
||||
return skin;
|
||||
}
|
||||
|
||||
public void setSkin(int skin) {
|
||||
this.skin = skin;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -639,9 +639,9 @@ public class PlayerLogic {
|
|||
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
|
||||
}
|
||||
SArenaRobotConfig sArenaRobotConfig = SArenaRobotConfig.getsArenaRobotConfigById(id);
|
||||
CommonProto.TeamOneInfo.Builder oneInfo=null;
|
||||
CommonProto.TeamOneInfo.Builder oneInfo;
|
||||
if(sArenaRobotConfig!=null){
|
||||
getRobotOneInfo(sArenaRobotConfig,info);
|
||||
oneInfo = getRobotOneInfo(sArenaRobotConfig,info);
|
||||
}else{
|
||||
oneInfo = getUserTeamOneInfo(id, teamId);
|
||||
if(UserManager.getUser(id).getFriendManager().getMyApplyFriends().contains(id)){
|
||||
|
@ -663,6 +663,7 @@ public class PlayerLogic {
|
|||
CommonProto.TeamOneInfo.Builder builder = CommonProto.TeamOneInfo.newBuilder()
|
||||
.setHead(query.getPlayerManager().getHead())
|
||||
.setHeadFrame(query.getPlayerManager().getHeadFrame())
|
||||
.setUserTitle(query.getPlayerManager().getUserTitle())
|
||||
.setLevel(query.getPlayerManager().getLevel())
|
||||
.setName(query.getPlayerManager().getName())
|
||||
.setGuildName(query.getPlayerManager().getGuildName())
|
||||
|
@ -674,7 +675,7 @@ public class PlayerLogic {
|
|||
teamOneTeamInfo.addTeam(CBean2Proto.getCrossSimpleHero(hero,heroInfo.getPosition()));
|
||||
}
|
||||
for(Map.Entry<Integer,Pokemon> entry:query.getPokemons().entrySet()){
|
||||
CBean2Proto.getSimpleTeamInfoByPokeMon(entry.getValue(),entry.getKey());
|
||||
teamOneTeamInfo.addPokemonInfos(CBean2Proto.getSimpleTeamInfoByPokeMon(entry.getValue(), entry.getKey()));
|
||||
}
|
||||
teamOneTeamInfo.setTotalForce(query.getHeroManager().getTotalForce());
|
||||
builder.setTeam(teamOneTeamInfo.build());
|
||||
|
|
|
@ -7,6 +7,7 @@ import com.ljsd.jieling.logic.activity.crossService.CrossServiceLogic;
|
|||
import com.ljsd.jieling.logic.dao.CrossArenaEnemy;
|
||||
import com.ljsd.jieling.logic.dao.gm.ArenaOfUser;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import config.SArenaRobotConfig;
|
||||
import org.springframework.data.redis.core.ZSetOperations;
|
||||
import rpc.protocols.CommonProto;
|
||||
import rpc.protocols.PlayerInfoProto;
|
||||
|
@ -49,20 +50,21 @@ public class CrossArenaRank extends AbstractRank {
|
|||
if(Integer.parseInt(data.getValue())<1000){
|
||||
CommonProto.RankInfo.Builder everyRankInfo = CommonProto.RankInfo.newBuilder()
|
||||
.setRank(index)
|
||||
.setParam1(1000000)
|
||||
.setParam1(0)
|
||||
.setParam2(getParam2(data.getScore()))
|
||||
.setParam3(getParam3(data.getScore()));
|
||||
CrossArenaEnemy mapEntry = RedisUtil.getInstence().getMapEntry(RedisKey.CROSS_ARENA_ROBOT_INFO, String.valueOf(GlobleSystemLogic.getInstence().getCrossGroup()), data.getValue(), CrossArenaEnemy.class);
|
||||
if(mapEntry==null){
|
||||
return;
|
||||
}
|
||||
|
||||
everyRankInfo.setParam1(mapEntry.getTotalForce());
|
||||
CommonProto.UserRank.Builder everyRank = CommonProto.UserRank.newBuilder()
|
||||
.setUid(mapEntry.getEnemyId_UUid())
|
||||
.setUserName(mapEntry.getRandomName())
|
||||
.setLevel(100)
|
||||
.setUserSkin(80012)
|
||||
.setRankInfo(everyRankInfo)
|
||||
.setForce(1000000)
|
||||
.setSex(0);
|
||||
builder.addRanks(everyRank);
|
||||
}else{
|
||||
|
|
|
@ -40,6 +40,8 @@ public class SMServerArenaSetting implements BaseConfig {
|
|||
|
||||
private int[] fightArea;
|
||||
|
||||
private int openWeek;
|
||||
|
||||
|
||||
@Override
|
||||
public void init() throws Exception {
|
||||
|
@ -111,5 +113,7 @@ public class SMServerArenaSetting implements BaseConfig {
|
|||
return fightArea;
|
||||
}
|
||||
|
||||
|
||||
public int getOpenWeek() {
|
||||
return openWeek;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue