✨ feat(兼容): 配表使用后台隐藏物品
This commit is contained in:
@@ -29,6 +29,7 @@ import { HeroModel } from '../../../db/Hero';
|
||||
import { addUserToTeamChannel, delTeamChannel, removeFromTeamChannel, sendMessageToTeam, sendMessageToUsersWithSuc, sendMessageToUserWithSuc } from '../../../services/pushService';
|
||||
import { getFriendRelationType, getRecommendType } from '../../../services/friendService';
|
||||
import { FriendRelationModel } from '../../../db/FriendRelation';
|
||||
import { isHeroHidden } from '../../../services/dataService';
|
||||
|
||||
export default function(app: Application) {
|
||||
return new ComBattleHandler(app);
|
||||
@@ -301,6 +302,7 @@ export class ComBattleHandler {
|
||||
let roleId = session.get('roleId');
|
||||
let { teamCode, heroes: hids, battleCode = 'default' } = msg;
|
||||
if (!hids || hids.length === 0) return resResult(STATUS.COM_BATTLE_HEROES_ERR);
|
||||
if(isHeroHidden(...hids)) return resResult(STATUS.HERO_IS_HIDDEN);
|
||||
let teamStatus = this.teamMap.get(teamCode);
|
||||
if (!teamStatus || !teamStatus.roleIds || teamStatus.roleIds.indexOf(roleId) === -1) return resResult(STATUS.COM_BATTLE_TEAM_INVALID);
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@ import { getSeconds, nowSeconds } from '../../../pubUtils/timeUtil';
|
||||
import { reportTAEvent } from '../../../services/sdkService';
|
||||
import { getSumCe } from '../../../services/playerCeService';
|
||||
import { vipCanSkipExpedition } from '../../../services/activity/monthlyTicketService';
|
||||
import { isHeroHidden } from '../../../services/dataService';
|
||||
|
||||
export default function (app: Application) {
|
||||
new HandlerService(app, {});
|
||||
@@ -149,7 +150,8 @@ export class ExpeditionBattleHandler {
|
||||
|
||||
let { isOK, hids } = await checkBattleHeroes(roleId, seqIds);
|
||||
if (!isOK) return resResult(STATUS.BATTLE_HERO_NOT_FOUND);
|
||||
|
||||
if(isHeroHidden(...hids)) return resResult(STATUS.HERO_IS_HIDDEN);
|
||||
|
||||
let expeditionWarRecord = await ExpeditionWarRecordModel.getRecordByCodeAndId(expeditionCode, expeditionId);
|
||||
if (!expeditionWarRecord) {
|
||||
return resResult(STATUS.EXPEDITION_MISS_WAR_RECORD);
|
||||
|
||||
@@ -18,6 +18,7 @@ import { saveLadderDefCeByData } from '../../../services/redisService';
|
||||
import { pushLadderTopChangeMsg } from '../../../services/sysChatService';
|
||||
import { checkTaskInLadderEnd, checkTaskInLadderStart, checkTaskInLadderSweep } from '../../../services/task/taskService';
|
||||
import { BattleRecordModel } from '../../../db/BattleRecord';
|
||||
import { isHeroHidden } from '../../../services/dataService';
|
||||
|
||||
export default function (app: Application) {
|
||||
new HandlerService(app, {});
|
||||
@@ -148,6 +149,9 @@ export class LadderHandler {
|
||||
if(!rec || rec.roleId1 != roleId) return resResult(STATUS.LADDER_REC_NOT_FOUND);
|
||||
if(rec.status != LADDER_STATUS.CHECK) return resResult(STATUS.LADDER_REC_STATUS_ERR);
|
||||
|
||||
for(let { actorId } of heroes) {
|
||||
if(isHeroHidden(actorId)) return resResult(STATUS.HERO_IS_HIDDEN);
|
||||
}
|
||||
let { isOK, heroes: dbHeroes } = await checkBattleHeroesByHid(roleId, heroes.map(cur => cur.actorId));
|
||||
if(!isOK) return resResult(STATUS.BATTLE_HERO_NOT_FOUND);
|
||||
|
||||
@@ -273,6 +277,7 @@ export class LadderHandler {
|
||||
if(!ladderData) return resResult(STATUS.LADDER_NOT_OPEN);
|
||||
|
||||
let hids: number[] = heroes.map(cur => cur.actorId);
|
||||
if(isHeroHidden(...hids)) return resResult(STATUS.HERO_IS_HIDDEN);
|
||||
let dbHeroes = await HeroModel.findByHidRange(hids, roleId, '_id hid ce', true);
|
||||
|
||||
let defenseHeroes = heroes.map(cur => {
|
||||
|
||||
@@ -31,6 +31,7 @@ import { RewardInter } from '../../../pubUtils/interface';
|
||||
import { addItems } from '../../../services/role/rewardService';
|
||||
import { treasureHuntChallengeConsume } from '../../../services/activity/treasureHuntService';
|
||||
import { combineItems } from '../../../services/role/util';
|
||||
import { isHeroHidden } from '../../../services/dataService';
|
||||
|
||||
export default function (app: Application) {
|
||||
new HandlerService(app, {});
|
||||
@@ -73,6 +74,7 @@ export class NormalBattleHandler {
|
||||
|
||||
let { isOK, hids, heroes, lineup } = await checkBattleHeroes(roleId, seqIds);
|
||||
if (!isOK) return resResult(STATUS.BATTLE_HERO_NOT_FOUND);
|
||||
if(isHeroHidden(...hids)) return resResult(STATUS.HERO_IS_HIDDEN);
|
||||
|
||||
const battleCode = genCode(8); // 关卡唯一值
|
||||
let dailyNum = {};
|
||||
|
||||
@@ -26,6 +26,7 @@ import { PvpSaveDataModel } from '../../../db/PvpSaveData';
|
||||
import { PVPConfigModel } from '../../../db/PvpConfig';
|
||||
import { getAllServerName, getServerName } from '../../../services/redisService';
|
||||
import { RoleRankInfo } from '../../../domain/rank';
|
||||
import { isHeroHidden } from '../../../services/dataService';
|
||||
|
||||
export default function (app: Application) {
|
||||
new HandlerService(app, {});
|
||||
@@ -363,6 +364,7 @@ export class PvpHandler {
|
||||
// 更新挑战阵容
|
||||
let scores: number[] = [];
|
||||
for(let { actorId } of heroes) {
|
||||
if(isHeroHidden(actorId)) return resResult(STATUS.HERO_IS_HIDDEN);
|
||||
let heroScore = pvpDefense.heroScores.find(cur => cur.hid == actorId);
|
||||
if(heroScore) {
|
||||
scores.push(heroScore.score);
|
||||
@@ -431,6 +433,8 @@ export class PvpHandler {
|
||||
// 更新防守阵容
|
||||
let scores: number[] = [], heroIdMap = new Map<number, string>(), hids: number[] = [];
|
||||
for(let { actorId } of heroes) {
|
||||
if(isHeroHidden(actorId)) return resResult(STATUS.HERO_IS_HIDDEN);
|
||||
|
||||
let heroScore = pvpDefense.heroScores.find(cur => cur.hid == actorId);
|
||||
if(heroScore) {
|
||||
scores.push(heroScore.score);
|
||||
|
||||
@@ -21,6 +21,7 @@ import { combineItems } from '../../../services/role/util';
|
||||
import { checkTaskInSkipTower } from '../../../services/task/taskService';
|
||||
import { Rank } from '../../../services/rankService';
|
||||
import { checkPopUpCondition } from '../../../services/activity/popUpShopService';
|
||||
import { isHeroHidden } from '../../../services/dataService';
|
||||
|
||||
export default function(app: Application) {
|
||||
return new TowerBattleHandler(app);
|
||||
@@ -227,8 +228,9 @@ export class TowerBattleHandler {
|
||||
if (seqIds.length !== dicTask.actorNeeded) { // 武将数,从策划表中读取
|
||||
return resResult(STATUS.TOWER_TASK_MAX_HERO);
|
||||
}
|
||||
let { isOK, heroes } = await checkBattleHeroes(roleId, seqIds);
|
||||
let { isOK, heroes, hids } = await checkBattleHeroes(roleId, seqIds);
|
||||
if(!isOK) return resResult(STATUS.BATTLE_HERO_NOT_FOUND);
|
||||
if(isHeroHidden(...hids)) return resResult(STATUS.HERO_IS_HIDDEN);
|
||||
if (tasksCode.indexOf(taskCode) === -1) {
|
||||
return resResult(STATUS.TOWER_TASK_CODE_NOT_FOUND);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user