跨服灵脉秘境
parent
33d8fd7746
commit
1a60f70002
|
@ -5,7 +5,8 @@ public class LingMaiSecretArea {
|
|||
private int uid;
|
||||
private String serverName;
|
||||
private String name;
|
||||
private long getAwardTimeOrOccupyTime;//得到奖励的时间或者占领的灵脉的时间
|
||||
private long getAwardTimeOrOccupyTime;//得到奖励的时间(10分钟倒计时/被打下去或者打别人 时候有修改)或者占领的灵脉的时间
|
||||
private long beginOccupyTime;//占领的时间点 占领第一次的时候、打下别人的时候、被别人打下的时候
|
||||
//当日总积分 = score1+基础收益*occupyTime
|
||||
private int score1;//当前结算分 被人打下去后 这个分才会有值
|
||||
private int occupyTime;//占领的时长 以分钟为单位
|
||||
|
@ -66,4 +67,12 @@ public class LingMaiSecretArea {
|
|||
public void setOccupyTime(int occupyTime) {
|
||||
this.occupyTime = occupyTime;
|
||||
}
|
||||
|
||||
public long getBeginOccupyTime() {
|
||||
return beginOccupyTime;
|
||||
}
|
||||
|
||||
public void setBeginOccupyTime(long beginOccupyTime) {
|
||||
this.beginOccupyTime = beginOccupyTime;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -138,7 +138,7 @@ public class CoreService implements RPCRequestIFace.Iface {
|
|||
List<com.ljsd.jieling.logic.dao.TeamPosHeroInfo> lmmj = user.getTeamPosManager().getTeamPosForHero().getOrDefault(TeamEnum.CROSS_LING_MAI_SECRET_AREA.getTeamId(),new ArrayList<>());
|
||||
List<TeamPosHeroInfo> rpclmmj = new ArrayList<TeamPosHeroInfo>();
|
||||
lmmj.forEach(n->rpclmmj.add(new TeamPosHeroInfo().setHeroId(n.getHeroId()).setPosition(n.getPosition())));
|
||||
teams.put(TeamEnum.CROSS_YU_XU_LUN_DAO_THREE.getTeamId(),rpclmmj);
|
||||
teams.put(TeamEnum.CROSS_LING_MAI_SECRET_AREA.getTeamId(),rpclmmj);
|
||||
set.addAll(rpclmmj);
|
||||
// 英雄
|
||||
Map<String,ArenaOfHero> heroes = new HashMap<>();
|
||||
|
|
|
@ -134,7 +134,7 @@ public class CrossLingmaiSecretAreaBattleHandler extends BaseHandler<ArenaInfoPr
|
|||
crossGroup + RedisKey.Delimiter_colon + group, String.valueOf(myLingmaiId));
|
||||
}
|
||||
|
||||
LingMaiSecretArea lingMaiSecretArea = CrossLingmaiLogic.getLingaMaiData(id, uid, user,crossGroup,group);
|
||||
LingMaiSecretArea lingMaiSecretArea = CrossLingmaiLogic.getLingaMaiData(id, uid,crossGroup,group);
|
||||
RedisUtil.getInstence().putMapEntry(RedisKey.CROSS_LINGMAISECRET_INFO, crossGroup + RedisKey.Delimiter_colon + group, String.valueOf(id), lingMaiSecretArea);
|
||||
}
|
||||
res.setResult(fightResult.getResult());
|
||||
|
@ -201,10 +201,11 @@ public class CrossLingmaiSecretAreaBattleHandler extends BaseHandler<ArenaInfoPr
|
|||
//oldOwner.setScore1(score);
|
||||
oldOwner.setGetAwardTimeOrOccupyTime(TimeUtils.nowInt());
|
||||
oldOwner.setId(myLingmaiId);
|
||||
oldOwner.setBeginOccupyTime(TimeUtils.nowInt());
|
||||
RedisUtil.getInstence().putMapEntry(RedisKey.CROSS_LINGMAISECRET_INFO, crossGroup + RedisKey.Delimiter_colon + group, String.valueOf(myLingmaiId), oldOwner);
|
||||
}
|
||||
//易主
|
||||
LingMaiSecretArea lingMaiSecretArea = CrossLingmaiLogic.getLingaMaiData(id, uid, user,crossGroup,group);
|
||||
LingMaiSecretArea lingMaiSecretArea = CrossLingmaiLogic.getLingaMaiData(id, uid,crossGroup,group);
|
||||
RedisUtil.getInstence().putMapEntry(RedisKey.CROSS_LINGMAISECRET_INFO, crossGroup + RedisKey.Delimiter_colon + group, String.valueOf(id), lingMaiSecretArea);
|
||||
//挑战者记录
|
||||
String key1 = RedisKey.getKey(RedisKey.CROSS_LINGMAISECRET_RECORD, String.valueOf(user.getId()), false);
|
||||
|
|
|
@ -69,8 +69,7 @@ public class CrossLingmaiSecretAreaInfoHandler extends BaseHandler<ArenaInfoProt
|
|||
//CROSS_LINGMAISECRET_INFO:跨服分组:分组
|
||||
Map<String, LingMaiSecretArea> lingMaiMap = RedisUtil.getInstence().getMapValues(RedisKey.CROSS_LINGMAISECRET_INFO, crossGroup + RedisKey.Delimiter_colon + group, String.class, LingMaiSecretArea.class);
|
||||
if (page == 0) {
|
||||
int id = lingMaiMap.values().stream().filter(n -> n.getUid() == uid).mapToInt(n -> n.getId()).sum();
|
||||
//lingMaiMap.values().stream().anyMatch(n -> n.getUid() == uid).
|
||||
int id = lingMaiMap.values().stream().filter(n -> n.getUid() == uid).limit(1).mapToInt(n -> n.getId()).sum();
|
||||
if (SLodeConfig.lodeConfig.get(id) != null) {
|
||||
page = SLodeConfig.lodeConfig.get(id).getPageNo();
|
||||
} else {
|
||||
|
@ -97,7 +96,7 @@ public class CrossLingmaiSecretAreaInfoHandler extends BaseHandler<ArenaInfoProt
|
|||
List<LingMaiSecretArea> matchMyInfoList = lingMaiMap.values().stream().filter(n -> n.getUid() == uid).collect(Collectors.toList());
|
||||
if (matchMyInfoList != null && matchMyInfoList.size() > 0) {
|
||||
myOccupyId = matchMyInfoList.get(0).getId();
|
||||
myOccupyTime = (int) matchMyInfoList.get(0).getGetAwardTimeOrOccupyTime();
|
||||
myOccupyTime = (int) matchMyInfoList.get(0).getBeginOccupyTime();
|
||||
}
|
||||
//当前页面数据
|
||||
for (SLodeConfig config : pageConfig) {
|
||||
|
@ -129,7 +128,7 @@ public class CrossLingmaiSecretAreaInfoHandler extends BaseHandler<ArenaInfoProt
|
|||
}
|
||||
res.setMyOccupyId(myOccupyId);
|
||||
res.setMyOccupyTime(myOccupyTime);
|
||||
res.setRemainChangeTimes(1);
|
||||
//res.setRemainChangeTimes(1);
|
||||
MessageUtil.sendMessage(session, 1, MessageTypeProto.MessageType.CrossLingmaiSecretAreaInfoResponse.getNumber(), res.build(), true);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -42,18 +42,18 @@ public class CrossLingmaiLogic {
|
|||
return CrossLingmaiLogic.Instance.instance;
|
||||
}
|
||||
|
||||
public static LingMaiSecretArea getLingaMaiData(int id, int uid, User user,int crossGroup,int group) {
|
||||
public static LingMaiSecretArea getLingaMaiData(int id, int uid,int crossGroup,int group) {
|
||||
//排行榜上有数据 灵脉里没数据 说明被打下去了
|
||||
AbstractRank rank = RankContext.getRankEnum(RankEnum.CROSS_LINGMAI_RANK_PERSON.getType());
|
||||
double disappearScore = rank.getScoreById(user.getId(), crossGroup + RedisKey.Delimiter_colon + group);
|
||||
|
||||
double disappearScore = rank.getScoreById(uid, crossGroup + RedisKey.Delimiter_colon + group);
|
||||
LingMaiSecretArea lingMaiSecretArea = new LingMaiSecretArea();
|
||||
lingMaiSecretArea.setId(id);
|
||||
lingMaiSecretArea.setUid(uid);
|
||||
String serverName = CrossServiceLogic.simplifyServerName(GameApplication.serverId);
|
||||
lingMaiSecretArea.setServerName(serverName);
|
||||
lingMaiSecretArea.setName(user.getPlayerInfoManager().getNickName());
|
||||
//lingMaiSecretArea.setName(user.getPlayerInfoManager().getNickName());
|
||||
lingMaiSecretArea.setGetAwardTimeOrOccupyTime(TimeUtils.nowInt());
|
||||
lingMaiSecretArea.setBeginOccupyTime(TimeUtils.nowInt());
|
||||
if(disappearScore>0){
|
||||
lingMaiSecretArea.setScore1((int) disappearScore);
|
||||
}
|
||||
|
|
|
@ -314,10 +314,10 @@ public class MinuteTask extends Thread {
|
|||
int minute = calendar.get(Calendar.MINUTE);
|
||||
int w = calendar.get(Calendar.DAY_OF_WEEK) - 1;
|
||||
|
||||
//周二 四 六 日开放 9点-21点
|
||||
if(w==0 || w ==2|| w==4 || w == 6){
|
||||
//周二 四 六 开放 9点-21点
|
||||
if( w ==2|| w==4 || w == 6){
|
||||
//占领奖励
|
||||
if(hour>9&&hour<21){
|
||||
if(hour>=9&&hour<=21){
|
||||
int mod = minute%10;
|
||||
if(mod ==0 ){
|
||||
CrossLingmaiLogic.getInstance().sendOccypyReward();
|
||||
|
@ -327,7 +327,8 @@ public class MinuteTask extends Thread {
|
|||
if(hour ==21 && minute==0){
|
||||
CrossLingmaiLogic.getInstance().sendMailReward();
|
||||
}
|
||||
if(hour == 9&& minute==0){
|
||||
//0点清除数据
|
||||
if(hour == 0&& minute==0){
|
||||
CrossLingmaiLogic.getInstance().initData();
|
||||
}
|
||||
|
||||
|
|
|
@ -44,7 +44,7 @@ public class SMServerLodeSetting implements BaseConfig {
|
|||
public static int getGroupByLevel(int level){
|
||||
SMServerLodeSetting config = lodeConfig.get(1);
|
||||
if(config==null){
|
||||
return 0;
|
||||
return 2;
|
||||
}
|
||||
int[][]group = config.getGroup();
|
||||
if(level>=group[0][1]&&level<=group[0][2]){
|
||||
|
@ -53,7 +53,7 @@ public class SMServerLodeSetting implements BaseConfig {
|
|||
if(level>=group[1][1]&&level<=group[1][2]){
|
||||
return group[1][0];
|
||||
}
|
||||
return 1;
|
||||
return 2;
|
||||
}
|
||||
|
||||
public int getId() {
|
||||
|
|
Loading…
Reference in New Issue