邮件,pvp赛季结算,boss关卡注释

This commit is contained in:
mamengke01
2021-02-23 20:28:58 +08:00
parent 6759a7dcb1
commit 33fb6689f7
16 changed files with 219 additions and 107 deletions

View File

@@ -14,7 +14,7 @@ import { pushMail } from '../pubUtils/interface';
import { MAIL_TYPE } from '../consts';
import { GUILD_BOSS_STATUS } from '../consts/constModules/guildConst';
/**
*
* 获得boss界面
* @param bossInstance
* @param roleId
*/
@@ -63,11 +63,11 @@ export async function getBossInstanceWhenEnd(bossInstance: BossInstanceType, rol
let { warId, ranks, bossHp, winWarId, guildCode, recordRanks, winNum, bossLv, winBossLv } = bossInstance;
let pushRanks;
let result:any = {};
if (battleNum == winNum) {
if (battleNum == winNum) { //检查当前战斗回调是否是上一次战斗的回调,若是返回上次排名的结果
pushRanks = deepCopy(recordRanks);
result = {warId: winWarId, bossHp: 0, bossLv: winBossLv, status: GUILD_BOSS_STATUS.OPEN};
await BossInstanceModel.recordRoleIdWhenCheck(guildCode, roleId);
} else {
} else {
pushRanks = deepCopy(ranks);
result = {warId, bossHp, bossLv, status: GUILD_BOSS_STATUS.OPEN};
}
@@ -114,7 +114,7 @@ export async function bossResult(code: string, serverId: number, dataName: strin
return false;
}
ranks[index].score += bossHp;
if (bossHp > damage) {
if (bossHp > damage) {//检查造成的伤害是否会让boss死亡
res.releaseCallback();//解锁
return true;
}
@@ -124,6 +124,7 @@ export async function bossResult(code: string, serverId: number, dataName: strin
recordRanks.sort(function(a, b) {
return b.score - a.score + a.time - b.time;
});
//下发邮件奖励
let mails = new Array<MailType>();
let pushMessage = new Array<pushMail>();
recordRanks.forEach(async function({ roleId }, index){
@@ -135,11 +136,14 @@ export async function bossResult(code: string, serverId: number, dataName: strin
});
await MailModel.addMails(mails);
pushMessage.forEach(({route, data, uids })=>{
pinus.app.channelService.pushMessageByUids(route, resResult(STATUS.SUCCESS, { mails:data }), uids);
pinus.app.channelService.pushMessageByUids(route, resResult(STATUS.SUCCESS, { mails: data }), uids);
});
return true;
}
/**
* 获得排名区间奖励
* @param rankLv
*/
export function getArmyBossRankReward(rankLv: number) {
let armybossRankReward = getArmyBossRank();
for (let item of armybossRankReward) {
@@ -148,7 +152,12 @@ export function getArmyBossRankReward(rankLv: number) {
}
}
}
/**
* 将玩家加入到正在挑战boss队列中
* @param code
* @param serverId
* @param roleId
*/
export async function addBossInstance(code: string, serverId:number, roleId: string) {
let loginKey = 'login_roleId_' + roleId;
let sid = await getRedis(loginKey);
@@ -156,7 +165,13 @@ export async function addBossInstance(code: string, serverId:number, roleId: str
let value = roleId+ '|' + sid;
saddAsync(key, [value]);
}
/**
* 给当前正在挑战的玩家下发血量同步信息
* @param code
* @param serverId
* @param bossHp
* @param isDelKey
*/
export async function pushBossHpMessage(code: string, serverId:number, bossHp:number, isDelKey?: boolean ) {
let key = 'serverId_' + serverId + 'guildCode_' + code;
let members = await smembersAsync(key);
@@ -171,8 +186,14 @@ export async function pushBossHpMessage(code: string, serverId:number, bossHp:nu
delAsync(key);
}
}
export async function checkMemberExists(code: string, serverId:number, roleId: string, battleCode:string ) {
/**
* 检查该玩家当前是否正在挑战boss的队列中
* @param code
* @param serverId
* @param roleId
* @param battleCode
*/
export async function checkBossBattleMemberExists(code: string, serverId:number, roleId: string, battleCode:string ) {
let loginKey = 'login_roleId_' + roleId;
let sid = await getRedis(loginKey);
let key = 'serverId_' + serverId + 'guildCode_' + code ;