邮件,pvp赛季结算,boss关卡注释
This commit is contained in:
@@ -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 ;
|
||||
|
||||
Reference in New Issue
Block a user