Merge branch 'master_prb_gn' into master_test_gn
commit
e944250fb8
|
@ -118,6 +118,7 @@ public class CrossLingmaiSecretAreaBattleHandler extends BaseHandler<ArenaInfoPr
|
|||
} else if (fightResult.getResult() == 1) {
|
||||
//赢了
|
||||
//结算已有的灵脉
|
||||
int score =0;
|
||||
if (myLingmaiId != 0){
|
||||
LingMaiSecretArea myLingmai = lingMaiMap.get(String.valueOf(myLingmaiId));
|
||||
config = SLodeConfig.lodeConfig.get(myLingmaiId);
|
||||
|
@ -128,7 +129,7 @@ public class CrossLingmaiSecretAreaBattleHandler extends BaseHandler<ArenaInfoPr
|
|||
myLingmai.setScore1(myLingmai.getScore1() + minute*config.getRewardList()[0][1]+(second*config.getRewardList()[0][1]/60));
|
||||
//myLingmai.setGetAwardTimeOrOccupyTime(TimeUtils.nowInt());
|
||||
LOGGER.info("uid:"+uid+"first occupy myLingmaiId: "+myLingmaiId+" minute:"+minute+"second:"+second);
|
||||
int score = myLingmai.getScore1() + config.getRewardList()[0][1] * myLingmai.getOccupyTime()/60;
|
||||
score = myLingmai.getScore1() + config.getRewardList()[0][1] * myLingmai.getOccupyTime()/60;
|
||||
rank = RankContext.getRankEnum(RankEnum.CROSS_LINGMAI_RANK_PERSON.getType());
|
||||
rank.addRank(user.getId(), String.valueOf(crossGroup) + RedisKey.Delimiter_colon + group, score);
|
||||
//清除已有灵脉数据
|
||||
|
@ -136,8 +137,23 @@ public class CrossLingmaiSecretAreaBattleHandler extends BaseHandler<ArenaInfoPr
|
|||
RedisUtil.getInstence().removeMapEntrys(RedisKey.CROSS_LINGMAISECRET_INFO,
|
||||
crossGroup + RedisKey.Delimiter_colon + group, String.valueOf(myLingmaiId));
|
||||
}
|
||||
|
||||
LingMaiSecretArea lingMaiSecretArea = CrossLingmaiLogic.getLingaMaiData(id, uid,crossGroup,group);
|
||||
LingMaiSecretArea lingMaiSecretArea = new LingMaiSecretArea();
|
||||
lingMaiSecretArea.setId(id);
|
||||
lingMaiSecretArea.setUid(uid);
|
||||
String serverName = CrossServiceLogic.simplifyServerName(GameApplication.serverId);
|
||||
lingMaiSecretArea.setServerName(serverName);
|
||||
lingMaiSecretArea.setGetAwardTimeOrOccupyTime(TimeUtils.nowInt());
|
||||
lingMaiSecretArea.setBeginOccupyTime(TimeUtils.nowInt());
|
||||
if(myLingmaiId != 0&&score!=0){
|
||||
lingMaiSecretArea.setScore1(score);
|
||||
}
|
||||
//被打下榜 重新上
|
||||
if(myLingmaiId ==0){
|
||||
double disappearScore = rank.getScoreById(uid, crossGroup + RedisKey.Delimiter_colon + group);
|
||||
if(disappearScore>0){
|
||||
lingMaiSecretArea.setScore1((int) disappearScore);
|
||||
}
|
||||
}
|
||||
RedisUtil.getInstence().putMapEntry(RedisKey.CROSS_LINGMAISECRET_INFO, crossGroup + RedisKey.Delimiter_colon + group, String.valueOf(id), lingMaiSecretArea);
|
||||
}
|
||||
res.setResult(fightResult.getResult());
|
||||
|
@ -190,33 +206,44 @@ public class CrossLingmaiSecretAreaBattleHandler extends BaseHandler<ArenaInfoPr
|
|||
60 : ((TimeUtils.nowInt() - (int)oldOwner.getGetAwardTimeOrOccupyTime()) % 60);
|
||||
long tempScore = second*config.getRewardList()[0][1]/60;
|
||||
LOGGER.info("uid:"+uid+"pvp other occupy id:"+id+" minute:"+minute+"second:"+second);
|
||||
oldOwner.setScore1(oldOwner.getScore1()+minute*config.getRewardList()[0][1]+(int)tempScore);
|
||||
long score = oldOwner.getScore1() + config.getRewardList()[0][1]*(long)oldOwner.getOccupyTime()/60;
|
||||
rank.addRank(defUid, String.valueOf(crossGroup) + RedisKey.Delimiter_colon + group, score);
|
||||
//oldOwner.setScore1(oldOwner.getScore1()+minute*config.getRewardList()[0][1]+(int)tempScore);
|
||||
int score1 =oldOwner.getScore1()+minute*config.getRewardList()[0][1]+(int)tempScore;
|
||||
long scoreOld = score1 + config.getRewardList()[0][1]*(long)oldOwner.getOccupyTime()/60;
|
||||
rank.addRank(defUid, String.valueOf(crossGroup) + RedisKey.Delimiter_colon + group, scoreOld);
|
||||
LingMaiSecretArea myLingmai =null;
|
||||
if (myLingmaiId != 0) {
|
||||
//本人已有灵脉结算
|
||||
LingMaiSecretArea myLingmai = lingMaiMap.get(String.valueOf(myLingmaiId));//上一个占领者
|
||||
myLingmai = lingMaiMap.get(String.valueOf(myLingmaiId));//上一个占领者
|
||||
config = SLodeConfig.lodeConfig.get(myLingmaiId);
|
||||
//minute = ((TimeUtils.nowInt() - (int)myLingmai.getGetAwardTimeOrOccupyTime()) / 60) > 10 ? 10 : ((TimeUtils.nowInt() - (int)myLingmai.getGetAwardTimeOrOccupyTime()) / 60);
|
||||
minute = ((TimeUtils.nowInt() - (int)myLingmai.getGetAwardTimeOrOccupyTime()) / 60);
|
||||
second =((TimeUtils.nowInt() - (int)oldOwner.getGetAwardTimeOrOccupyTime()) % 60) >60 ?
|
||||
60 : ((TimeUtils.nowInt() - (int)oldOwner.getGetAwardTimeOrOccupyTime()) % 60);
|
||||
second =((TimeUtils.nowInt() - (int)myLingmai.getGetAwardTimeOrOccupyTime()) % 60) >60 ?
|
||||
60 : ((TimeUtils.nowInt() - (int)myLingmai.getGetAwardTimeOrOccupyTime()) % 60);
|
||||
LOGGER.info("uid:"+uid+"pvp owner occupy id:"+myLingmaiId+" minute:"+minute+"second:"+second);
|
||||
tempScore =(second*config.getRewardList()[0][1]/60);
|
||||
myLingmai.setScore1(myLingmai.getScore1()+minute*config.getRewardList()[0][1]+(int)tempScore);
|
||||
score1 = myLingmai.getScore1()+minute*config.getRewardList()[0][1]+(int)tempScore;
|
||||
//long newScore = score1+
|
||||
//myLingmai.setScore1(myLingmai.getScore1()+minute*config.getRewardList()[0][1]+(int)tempScore);
|
||||
myLingmai.setGetAwardTimeOrOccupyTime(TimeUtils.nowInt());
|
||||
score = myLingmai.getScore1() + config.getRewardList()[0][1] * (long)myLingmai.getOccupyTime()/60;
|
||||
//我的
|
||||
long score = score1 + config.getRewardList()[0][1] * (long)myLingmai.getOccupyTime()/60;
|
||||
rank = RankContext.getRankEnum(RankEnum.CROSS_LINGMAI_RANK_PERSON.getType());
|
||||
rank.addRank(user.getId(), String.valueOf(crossGroup) + RedisKey.Delimiter_colon + group, score);
|
||||
myLingmai.setScore1((int)score);
|
||||
//两边都计算分 置换
|
||||
//oldOwner.setScore1(score);
|
||||
oldOwner.setGetAwardTimeOrOccupyTime(TimeUtils.nowInt());
|
||||
oldOwner.setId(myLingmaiId);
|
||||
oldOwner.setBeginOccupyTime(TimeUtils.nowInt());
|
||||
oldOwner.setOccupyTime(0);
|
||||
oldOwner.setScore1((int)scoreOld);
|
||||
RedisUtil.getInstence().putMapEntry(RedisKey.CROSS_LINGMAISECRET_INFO, crossGroup + RedisKey.Delimiter_colon + group, String.valueOf(myLingmaiId), oldOwner);
|
||||
}
|
||||
//易主
|
||||
LingMaiSecretArea lingMaiSecretArea = CrossLingmaiLogic.getLingaMaiData(id, uid,crossGroup,group);
|
||||
if(myLingmai!=null){
|
||||
lingMaiSecretArea.setScore1(myLingmai.getScore1());
|
||||
}
|
||||
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);
|
||||
|
|
|
@ -55,7 +55,10 @@ public class CrossLingmaiLogic {
|
|||
lingMaiSecretArea.setGetAwardTimeOrOccupyTime(TimeUtils.nowInt());
|
||||
lingMaiSecretArea.setBeginOccupyTime(TimeUtils.nowInt());
|
||||
if(disappearScore>0){
|
||||
lingMaiSecretArea.setScore1((int) disappearScore);
|
||||
Map<String, LingMaiSecretArea> lingMaiMap = RedisUtil.getInstence().getMapValues(RedisKey.CROSS_LINGMAISECRET_INFO, crossGroup + RedisKey.Delimiter_colon + group, String.class, LingMaiSecretArea.class);
|
||||
if(!lingMaiMap.values().stream().anyMatch(n->n.getUid()==uid)){
|
||||
lingMaiSecretArea.setScore1((int) disappearScore);
|
||||
}
|
||||
}
|
||||
return lingMaiSecretArea;
|
||||
}
|
||||
|
|
|
@ -336,12 +336,12 @@ public class MinuteTask extends Thread {
|
|||
}
|
||||
|
||||
//bug 修复
|
||||
if(w==4){
|
||||
/*if(w==4){
|
||||
if(hour ==10 && minute ==50){
|
||||
LOGGER.error("lingmaimijing0 000000");
|
||||
CrossLingmaiLogic.getInstance().fixBug();
|
||||
}
|
||||
}
|
||||
}*/
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue