寻宝:移除金色藏宝图相关代码
This commit is contained in:
@@ -1,11 +1,12 @@
|
||||
import { difference } from 'underscore';
|
||||
/*
|
||||
* @Author: 梁桐川
|
||||
* @Date: 2020-11-30 15:05:48
|
||||
* @Last Modified by: 梁桐川
|
||||
* @Last Modified time: 2020-12-03 21:36:00
|
||||
*/
|
||||
import { IT_TYPE, CURRENCY_BY_TYPE, CURRENCY_TYPE, COM_TEAM_STATUS, COM_BTL_CONST, GOOD_QUALITY, CONSUME_TYPE } from './../../../consts';
|
||||
import { getGoodById, getBossHpByBlueprtId, getComBtlSetByQuality, getBlueprtComposeByQuality, getBluePrtByQuality, getWarById, getWarIdByBlueprtId, comBtlRangeInfo, comBtlRangeByLv } from '../../../pubUtils/gamedata';
|
||||
import { IT_TYPE, CURRENCY_BY_TYPE, CURRENCY_TYPE, COM_TEAM_STATUS, COM_BTL_CONST, CONSUME_TYPE, COM_BTL_QUALITY, QUALITY_TYPE } from './../../../consts';
|
||||
import { getGoodById, getBossHpByBlueprtId, getBlueprtComposeByQuality, getBluePrtByQuality, getWarById, getWarIdByBlueprtId, comBtlRangeInfo, comBtlRangeByLv } from '../../../pubUtils/gamedata';
|
||||
import { ComBattleTeamModel, BossHp } from '../../../db/ComBattleTeam';
|
||||
import Role, { RoleModel } from '../../../db/Role';
|
||||
import { STATUS } from '../../../consts/statusCode';
|
||||
@@ -96,7 +97,7 @@ export class ComBattleHandler {
|
||||
console.log('createTeam msg: ', msg);
|
||||
// 检查藏宝图Id是否合法
|
||||
let goodData = getGoodById(blueprtId);
|
||||
if (!goodData || goodData.itid !== IT_TYPE.BLUEPRT) return resResult(STATUS.COM_BATTLE_BLUEPRT_INVALID);
|
||||
if (!goodData || goodData.itid !== IT_TYPE.BLUEPRT || COM_BTL_QUALITY.indexOf(goodData.quality) === -1) return resResult(STATUS.COM_BATTLE_BLUEPRT_INVALID);
|
||||
|
||||
// 检查藏宝图是否足够
|
||||
let { lv, headHid = 19, topFiveCe = 100, sHid = 19 } = await RoleModel.findByRoleId(roleId);
|
||||
@@ -211,6 +212,9 @@ export class ComBattleHandler {
|
||||
if (comBtlLvInvalid(lv, lvRange)) {
|
||||
return resResult(STATUS.COM_BATTLE_ASSIST_LV_NOT_ENOUGH);
|
||||
}
|
||||
if (difference(qualityArr, COM_BTL_QUALITY).length !== 0) {
|
||||
return resResult(STATUS.COM_BLUEPRT_QUALITY_ERROR);
|
||||
}
|
||||
|
||||
const team = await ComBattleTeamModel.getOtherTeamByQualityAndSt(roleId, qualityArr, COM_TEAM_STATUS.DEFAULT, lvRange, topFiveCe);
|
||||
// TODO: 有匹配的队伍还需要重新 joinTeam 加入,有失败可能,体验不好,需优化
|
||||
@@ -274,7 +278,7 @@ export class ComBattleHandler {
|
||||
let roleId = session.get('roleId');
|
||||
let sid = session.get('sid');
|
||||
|
||||
await rmRoleFromQueue(roleId, sid, GOOD_QUALITY, null);
|
||||
await rmRoleFromQueue(roleId, sid, COM_BTL_QUALITY, null);
|
||||
return resResult(STATUS.SUCCESS);
|
||||
}
|
||||
|
||||
@@ -713,7 +717,9 @@ export class ComBattleHandler {
|
||||
if (memTeam) {
|
||||
({ roleStatus, status, bossHpArr } = memTeam);
|
||||
} else {
|
||||
({ roleStatus, status, bossHpArr } = await ComBattleTeamModel.getTeamByCode(teamCode));
|
||||
let dbTeam = await ComBattleTeamModel.getTeamByCode(teamCode);
|
||||
if (!dbTeam) return resResult(STATUS.COM_BATTLE_TEAM_INVALID);
|
||||
({ roleStatus, status, bossHpArr } = dbTeam);
|
||||
}
|
||||
return resResult(STATUS.SUCCESS, { teamInfo: {status, teamCode, roleStatus, bossHpArr} });
|
||||
}
|
||||
@@ -763,7 +769,7 @@ export class ComBattleHandler {
|
||||
let roleId = session.get('roleId');
|
||||
let cntMap = await getAssistTimesByQuality(roleId);
|
||||
let cnt = [];
|
||||
for (let i = 0; i < 5; ++i) {
|
||||
for (let i = 0; i < COM_BTL_QUALITY.length; ++i) {
|
||||
cnt[i] = cntMap.get(i + 1) || 0;
|
||||
}
|
||||
return resResult(STATUS.SUCCESS, {cnt});
|
||||
@@ -779,7 +785,7 @@ export class ComBattleHandler {
|
||||
let roleId = session.get('roleId');
|
||||
let cntMap = await getAssistTimesByQuality(roleId);
|
||||
let cnt = [];
|
||||
for (let i = 0; i < 5; ++i) {
|
||||
for (let i = 0; i < COM_BTL_QUALITY.length; ++i) {
|
||||
cnt[i] = cntMap.get(i + 1) || 0;
|
||||
}
|
||||
const blueprts = await ItemModel.findByRoleAndType(roleId, CONSUME_TYPE.BLUEPRT);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { GOOD_QUALITY, REDIS_RANK_TO_INFO } from './../consts';
|
||||
import { GOOD_QUALITY, REDIS_RANK_TO_INFO, COM_BTL_QUALITY } from './../consts';
|
||||
import { RoleModel, RoleType } from "../db/Role";
|
||||
import * as Redis from 'redis';
|
||||
import {REDIS_KEY} from '../consts'
|
||||
@@ -274,7 +274,7 @@ export async function getTeamSearchByQuality(quality: number, lvRange: number) {
|
||||
if (decodeData.length !== 2) return null;
|
||||
|
||||
res.push({roleId: decodeData[0], sid: decodeData[1]});
|
||||
GOOD_QUALITY.forEach((q) => {
|
||||
COM_BTL_QUALITY.forEach((q) => {
|
||||
cmds.push(['srem', getComTeamKey(q, lvRange), userInfo]);
|
||||
})
|
||||
const multiClient = client.multi(cmds) as Redis.Multi;
|
||||
@@ -298,7 +298,7 @@ export async function checkRoleInQueue(roleId: string, sid: string, qualityArr:
|
||||
|
||||
export async function clearComBtlQueue() {
|
||||
const client: Redis.RedisClient = pinus.app.get('redis');
|
||||
for (let q of GOOD_QUALITY) {
|
||||
for (let q of COM_BTL_QUALITY) {
|
||||
for (let lvRange of comBtlRanges()) {
|
||||
await client.delAsync(getComTeamKey(q, lvRange));
|
||||
}
|
||||
|
||||
@@ -172,6 +172,7 @@ export enum QUALITY_TYPE {
|
||||
}
|
||||
|
||||
export const GOOD_QUALITY = [QUALITY_TYPE.BLUE, QUALITY_TYPE.PURPLE, QUALITY_TYPE.ORANGE, QUALITY_TYPE.RED, QUALITY_TYPE.GOLD];
|
||||
export const COM_BTL_QUALITY = [QUALITY_TYPE.BLUE, QUALITY_TYPE.PURPLE, QUALITY_TYPE.ORANGE, QUALITY_TYPE.RED];
|
||||
|
||||
// 各品质随机属性条数 quality => number
|
||||
export const RANDOM_SE_COUNT = new Map<number, number>([
|
||||
|
||||
Reference in New Issue
Block a user