diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/crossServer/CrossLingmaiSecretAreaBattleHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/crossServer/CrossLingmaiSecretAreaBattleHandler.java index 7eff9f92c..1008e465b 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/crossServer/CrossLingmaiSecretAreaBattleHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/crossServer/CrossLingmaiSecretAreaBattleHandler.java @@ -118,6 +118,7 @@ public class CrossLingmaiSecretAreaBattleHandler extends BaseHandler0){ + 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 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); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/CrossLingmaiLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/CrossLingmaiLogic.java index a07da74f5..4b50ea88f 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/CrossLingmaiLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/CrossLingmaiLogic.java @@ -55,7 +55,10 @@ public class CrossLingmaiLogic { lingMaiSecretArea.setGetAwardTimeOrOccupyTime(TimeUtils.nowInt()); lingMaiSecretArea.setBeginOccupyTime(TimeUtils.nowInt()); if(disappearScore>0){ - lingMaiSecretArea.setScore1((int) disappearScore); + Map 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; } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/thread/task/MinuteTask.java b/serverlogic/src/main/java/com/ljsd/jieling/thread/task/MinuteTask.java index ad5e07f57..3c51b6934 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/thread/task/MinuteTask.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/thread/task/MinuteTask.java @@ -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(); } - } + }*/ } } }