名将擂台:排行榜
This commit is contained in:
@@ -4,8 +4,9 @@ import { LadderMatchModel, LadderMatchType, LadderUpdateInter } from "../db/Ladd
|
||||
import { LadderMatchRecModel } from "../db/LadderMatchRec";
|
||||
import { RoleModel, RoleType } from "../db/Role";
|
||||
import { LadderDataReturn, LadderDefense, LadderOppPlayerHeroInfo, LadderOppPlayerInDB, LadderOppPlayerInfo, LadderOppPlayerReturn } from "../domain/battleField/ladder";
|
||||
import { RoleRankInfo } from "../domain/rank";
|
||||
import { RoleAndGuildRankInfo, RoleRankInfo } from "../domain/rank";
|
||||
import { gameData, getDicLadderMatchByMyRank } from "../pubUtils/data";
|
||||
import { EXTERIOR, LADDER } from "../pubUtils/dicParam";
|
||||
import { ItemInter } from "../pubUtils/interface";
|
||||
import { getRandValueByMinMax, shouldRefresh } from "../pubUtils/util";
|
||||
import { sendMessageToUserWithSuc } from "./pushService";
|
||||
@@ -273,8 +274,10 @@ export async function battleEndWhenChange(ladderMatch: LadderMatchType) {
|
||||
if(!ladderMatch) return;
|
||||
|
||||
// 更新redis
|
||||
let r = new Rank(REDIS_KEY.LADDER, { serverId: ladderMatch.serverId });
|
||||
r.setRankWithRoleInfo(ladderMatch.roleId, ladderMatch.rank, 0);
|
||||
if(ladderMatch.rank > 0 && ladderMatch.rank < 3001) {
|
||||
let r = new Rank(REDIS_KEY.LADDER, { serverId: ladderMatch.serverId });
|
||||
r.setRankWithRoleInfo(ladderMatch.roleId, ladderMatch.rank, 0);
|
||||
}
|
||||
|
||||
// 刷新对手
|
||||
let oppPlayers = await refreshLadderEnemies(ladderMatch);
|
||||
@@ -295,4 +298,21 @@ export async function ladderBattleEndReward(roleId: string, roleName: string, si
|
||||
let battleGoods = await warReward.saveReward(num);
|
||||
let breakGoods = isBreak? await addItems(roleId, roleName, sid, dicLadderDifficultRatio?.onceReward||[], ITEM_CHANGE_REASON.LADDER_BATTLE_REWARD): [];
|
||||
return { battleGoods, breakGoods };
|
||||
}
|
||||
|
||||
export function completeLadderRanks(ranks: RoleAndGuildRankInfo[]) {
|
||||
let result: RoleAndGuildRankInfo[] = [];
|
||||
for(let i = 1; i <= 200; i++) {
|
||||
let dicLadderDifficultRatio = gameData.ladderDifficultRatio.get(i);
|
||||
let { head, ce, spine, level } = dicLadderDifficultRatio;
|
||||
let rank = ranks.find(cur => cur.rank == i);
|
||||
if(rank) {
|
||||
result.push(rank);
|
||||
} else {
|
||||
let rank = new RoleAndGuildRankInfo(i, 0);
|
||||
rank.setByField(`robot${i}`, LADDER.LADDER_ROBOT_NAME, head, EXTERIOR.EXTERIOR_FACECASE, spine, level, 1, '', ce );
|
||||
result.push(rank);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
Reference in New Issue
Block a user