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