feat(兼容): 配表使用后台隐藏物品

This commit is contained in:
luying
2022-11-09 18:01:02 +08:00
parent 5d0873630a
commit 53d4af4e09
54 changed files with 768 additions and 102 deletions

View File

@@ -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);

View File

@@ -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);

View File

@@ -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 => {

View File

@@ -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 = {};

View File

@@ -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);

View File

@@ -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);
}