寻宝:修改匹配后的channel处理;掉落中增加字段;修改伤害计算
This commit is contained in:
@@ -43,6 +43,9 @@ export class RoleStatus {
|
||||
// 是否领奖
|
||||
@prop({ required: true, default: false })
|
||||
gotReward: boolean;
|
||||
// 固定奖励
|
||||
@prop({ required: true, default: '&' })
|
||||
fixReward: string;
|
||||
|
||||
constructor(roleId: string, roleName: string, isCap: boolean, isFrd: boolean, headHid: number, sHid: number, topFiveCe: number, lv: number, heroes = [], isRobot = false) {
|
||||
this.roleId = roleId;
|
||||
@@ -103,6 +106,10 @@ export default class ComBattleTeam extends BaseModel {
|
||||
@prop({ required: true, default: 1 })
|
||||
roleCnt: number;
|
||||
|
||||
// 单个 boss 血量状态
|
||||
@prop({ required: false, default: [] })
|
||||
bossHpArr: Array<{dataId: number, hp: number, curHp: number}>;
|
||||
|
||||
public static async createTeam(teamData: {teamCode: string, roleIds: Array<string>, pub: boolean, blueprtId: number, quality: number, status: number, roleStatus: Array<RoleStatus>, capId: string, ceLimit: number}, lean = true) {
|
||||
const team = await ComBattleTeamModel.findOneAndUpdate({ teamCode: teamData.teamCode }, {$set :{...teamData, roleCnt: teamData.roleIds.length}}, {upsert: true, new: true}).lean(lean);
|
||||
return team;
|
||||
@@ -138,7 +145,7 @@ export default class ComBattleTeam extends BaseModel {
|
||||
return team;
|
||||
}
|
||||
|
||||
public static async syncTeamData(teamData: {teamCode: string, status: number, roleStatus: Array<RoleStatus>}, lean = true) {
|
||||
public static async syncTeamData(teamData: {teamCode: string, status: number, roleStatus: Array<RoleStatus>, bossHpArr: Array<{dataId: number, hp: number, curHp: number}>}, lean = true) {
|
||||
const team = await ComBattleTeamModel.findOneAndUpdate({ teamCode: teamData.teamCode }, {$set :{...teamData, roleCnt: teamData.roleStatus.length}}, {new: true}).lean(lean);
|
||||
return team;
|
||||
}
|
||||
@@ -190,6 +197,11 @@ export default class ComBattleTeam extends BaseModel {
|
||||
return team;
|
||||
}
|
||||
|
||||
public static async getOtherTeamByQualityAndSt(roleId: string, qualityArr: Array<number>, status: number, ce = 0, pub = true, cntLmt = 2, lean = true) {
|
||||
const team = await ComBattleTeamModel.findOne({quality: {$in: qualityArr}, status, ceLimit: {$lte: ce}, pub, roleCnt: {$lte: cntLmt}, roleIds: {$nin: [roleId]}}).lean(lean);
|
||||
return team;
|
||||
}
|
||||
|
||||
public static async getTeamByRoleAndTime(roleId: string, qualityArr?: Array<number>, time?: Date, isAssist?: boolean, limitCnt = 50, lean = true) {
|
||||
let query = {roleIds: roleId};
|
||||
if (qualityArr) {
|
||||
|
||||
Reference in New Issue
Block a user