竞技场优化 赛季重置不清空积分,初始化为上赛季积分的百分比

xuexinpeng 2021-05-04 00:24:50 +08:00
parent 1b4a0f6386
commit 59b28c36e8
1 changed files with 28 additions and 15 deletions

View File

@ -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<Integer, SArenaReward> 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<Integer, SArenaReward> 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<ZSetOperations.TypedTuple<String>> set= RedisUtil.getInstence().getAllZsetRange(oldRedisKey);
for(ZSetOperations.TypedTuple<String> 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);