From 59b28c36e8ce1c6134391830140e05c23ae2cce2 Mon Sep 17 00:00:00 2001 From: xuexinpeng Date: Tue, 4 May 2021 00:24:50 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AB=9E=E6=8A=80=E5=9C=BA=E4=BC=98=E5=8C=96?= =?UTF-8?q?=20=E8=B5=9B=E5=AD=A3=E9=87=8D=E7=BD=AE=E4=B8=8D=E6=B8=85?= =?UTF-8?q?=E7=A9=BA=E7=A7=AF=E5=88=86=EF=BC=8C=E5=88=9D=E5=A7=8B=E5=8C=96?= =?UTF-8?q?=E4=B8=BA=E4=B8=8A=E8=B5=9B=E5=AD=A3=E7=A7=AF=E5=88=86=E7=9A=84?= =?UTF-8?q?=E7=99=BE=E5=88=86=E6=AF=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ljsd/jieling/logic/arena/ArenaLogic.java | 43 ++++++++++++------- 1 file changed, 28 insertions(+), 15 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/ArenaLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/ArenaLogic.java index 3827f9f3e..646ea0c31 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/ArenaLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/ArenaLogic.java @@ -27,6 +27,7 @@ import com.ljsd.jieling.logic.player.PlayerLogic; 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; @@ -569,31 +570,43 @@ public class ArenaLogic { } public String getRewardByRank(int rank,int type){ - Map config = STableManager.getConfig(SArenaReward.class); - for(SArenaReward sArenaReward : config.values()){ - int minRank = sArenaReward.getMinRank(); - int maxRank = sArenaReward.getMaxRank(); - if(rank>=minRank && rank<=maxRank){ - if(type == GlobalsDef.ARENA_DAILY_REWARD){ - int[][] dailyReward = sArenaReward.getDailyReward(); - return StringUtil.parseArrayToString(dailyReward); - }else{ - int[][] seasonReward = sArenaReward.getSeasonReward(); - return StringUtil.parseArrayToString(seasonReward); - } - } - } +// Map config = STableManager.getConfig(SArenaReward.class); +// for(SArenaReward sArenaReward : config.values()){ +// int minRank = sArenaReward.getMinRank(); +// int maxRank = sArenaReward.getMaxRank(); +// if(rank>=minRank && rank<=maxRank){ +// if(type == GlobalsDef.ARENA_DAILY_REWARD){ +// int[][] dailyReward = sArenaReward.getDailyReward(); +// return StringUtil.parseArrayToString(dailyReward); +// }else{ +// int[][] seasonReward = sArenaReward.getSeasonReward(); +// return StringUtil.parseArrayToString(seasonReward); +// } +// } +// } return ""; } public void updateArenaSeason(int curSeason){ this.curSeason = curSeason; + //初始化竞技场新周期数据 + if(curSeason>viewSeason){ + String oldRedisKey = RedisUtil.getInstence().getKey(RedisKey.ARENA_RANK,String.valueOf(viewSeason)); + String newRedisKey = RedisUtil.getInstence().getKey(RedisKey.ARENA_RANK,String.valueOf(curSeason)); + Set> set= RedisUtil.getInstence().getAllZsetRange(oldRedisKey); + for(ZSetOperations.TypedTuple item : set){ + String id = item.getValue(); + Double score = item.getScore(); + double time = score - score.intValue(); + double newScore =(int)(score.intValue()*0.8)+ time; + RedisUtil.getInstence().zsetAddOne(newRedisKey,id,newScore); + } + } if(this.curSeason!=0){ viewSeason = this.curSeason; } } - public void playWithSb(ISession session,int challengeUid,int myteamId) throws Exception { User mine = UserManager.getUser(session.getUid()); User defUser = UserManager.getUser(challengeUid);