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);