寻宝:修改寻宝中类型的使用
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
import { MemComBtlTeam } from './../../../domain/battleField/ComBattleTeamField';
|
||||
import { difference } from 'underscore';
|
||||
/*
|
||||
* @Author: 梁桐川
|
||||
@@ -7,79 +8,26 @@ import { difference } from 'underscore';
|
||||
*/
|
||||
import { IT_TYPE, CURRENCY_BY_TYPE, CURRENCY_TYPE, COM_TEAM_STATUS, COM_BTL_CONST, CONSUME_TYPE, COM_BTL_QUALITY } from './../../../consts';
|
||||
import { getGoodById, getBossHpByBlueprtId, getBlueprtComposeByQuality, getBluePrtByQuality, getWarById, getWarIdByBlueprtId, comBtlRangeByLv } from '../../../pubUtils/gamedata';
|
||||
import { ComBattleTeamModel, BossHp, ComBattleTeamType } from '../../../db/ComBattleTeam';
|
||||
import Role, { RoleModel } from '../../../db/Role';
|
||||
import { STATUS } from '../../../consts/statusCode';
|
||||
import { Application, BackendSession } from 'pinus';
|
||||
import { resResult, getRandomByLen, reduceCe, getRandValueByMinMax } from '../../../pubUtils/util';
|
||||
import { RoleStatus } from '../../../db/ComBattleTeam';
|
||||
import { RoleStatus, ComBattleTeamModel, ComBattleTeamType } from '../../../db/ComBattleTeam';
|
||||
import { ItemModel } from '../../../db/Item';
|
||||
import { handleFixedReward, addItems, handleCost } from '../../../services/rewardService';
|
||||
import { checkRoleInQueue, getTeamSearchByQuality, rmRoleFromQueue, setTeamSearchReq } from '../../../services/redisService';
|
||||
import { transBossHpArr } from '../../../services/battleService';
|
||||
import { getRandBlueprtId, getRandComBtlRobots, clearComBtlTimer, getAssistTimesByQuality, getFrd, updateRobotHurtByTime, comBtlLvInvalid, clearRobotHurtTimer, setDismissTimer, dismissTeam, incEquipPrintDrop, randEquipPrintId, handleComBtlProgress, getComBattleFriendAdd, getValidTeammateRoleSt, teammateInBlackList, blueprtIdValid } from '../../../services/comBattleService';
|
||||
import { getRandBlueprtId, getRandComBtlRobots, clearComBtlTimer, getAssistTimesByQuality, getFrd, updateRobotHurtByTime, comBtlLvInvalid, clearRobotHurtTimer, setDismissTimer, dismissTeam, incEquipPrintDrop, randEquipPrintId, handleComBtlProgress, getComBattleFriendAdd, getValidTeammateRoleSt, teammateInBlackList, blueprtIdValid, createComTeamData } from '../../../services/comBattleService';
|
||||
import { setAp } from '../../../services/actionPointService';
|
||||
import { roleLevelup } from '../../../services/normalBattleService';
|
||||
|
||||
export default function(app: Application) {
|
||||
return new ComBattleHandler(app);
|
||||
}
|
||||
|
||||
class ComTeam {
|
||||
// 队伍唯一编号
|
||||
teamCode: string;
|
||||
// 玩家列表
|
||||
roleIds: Array<string>
|
||||
// 队伍是否开放加入
|
||||
pub: boolean;
|
||||
// 对应藏宝图 Id
|
||||
blueprtId: number;
|
||||
// 战斗状态 0:未开始,1:已开始,2:胜利,3:失败
|
||||
status: number;
|
||||
// 玩家状态
|
||||
roleStatus: Array<RoleStatus>;
|
||||
// 队长 roleId
|
||||
capId: string;
|
||||
// 战力限制
|
||||
ceLimit: number;
|
||||
// boss 总血量
|
||||
bossHp: number;
|
||||
// boss 当前血量
|
||||
bossCurHp: number;
|
||||
// 单个 boss 血量状态
|
||||
bossHpArr: Array<BossHp>;
|
||||
// 品质
|
||||
quality: number;
|
||||
// 当前回合
|
||||
curRnd: number;
|
||||
// 队伍中人数
|
||||
roleCnt: number;
|
||||
// 藏宝图等级所处范围,用来匹配
|
||||
lvRange: number;
|
||||
// 队伍是否开放加入
|
||||
timeout: boolean;
|
||||
constructor(teamCode: string, pub: boolean, blueprtId: number, status: number, capId: string, ceLimit: number, bossHp: number, quality: number, bossHpArr:Array<BossHp> ) {
|
||||
this.teamCode = teamCode;
|
||||
this.pub = pub;
|
||||
this.blueprtId = blueprtId;
|
||||
this.status = status;
|
||||
this.capId = capId;
|
||||
this.ceLimit = ceLimit;
|
||||
this.bossHp = bossHp;
|
||||
this.bossCurHp = bossHp;
|
||||
this.quality = quality;
|
||||
this.bossHpArr = bossHpArr;
|
||||
this.curRnd = 0;
|
||||
this.roleCnt = 1;
|
||||
this.timeout = false;
|
||||
let { lvLimited } = getGoodById(blueprtId);
|
||||
this.lvRange = comBtlRangeByLv(lvLimited);
|
||||
}
|
||||
}
|
||||
export class ComBattleHandler {
|
||||
constructor(private app: Application) {
|
||||
}
|
||||
private teamMap: Map<string, ComTeam> = new Map();
|
||||
private teamMap: Map<string, MemComBtlTeam> = new Map();
|
||||
private teamDisTimer: Map<string, NodeJS.Timer> = new Map();
|
||||
private robotHurtTimer: Map<string, NodeJS.Timer> = new Map();
|
||||
|
||||
@@ -134,7 +82,7 @@ export class ComBattleHandler {
|
||||
}
|
||||
let { bossHpSum, bossHpArr } = getBossHpByBlueprtId(blueprtId);
|
||||
// 创建队伍数据结构
|
||||
let comTeam = new ComTeam(teamCode, pub, blueprtId, COM_TEAM_STATUS.DEFAULT, roleId, ceLimit, bossHpSum || 10000, goodData.quality, transBossHpArr(bossHpArr));
|
||||
let comTeam: MemComBtlTeam = createComTeamData(teamCode, pub, blueprtId, COM_TEAM_STATUS.DEFAULT, roleId, ceLimit, bossHpSum || 10000, goodData.quality, transBossHpArr(bossHpArr));
|
||||
comTeam.roleStatus = roleStatus;
|
||||
comTeam.roleIds = roleIds;
|
||||
|
||||
@@ -242,7 +190,7 @@ export class ComBattleHandler {
|
||||
let blueprtId = getRandBlueprtId(qualityArr).pop();
|
||||
let { quality } = getGoodById(blueprtId);
|
||||
let { bossHpSum, bossHpArr } = getBossHpByBlueprtId(blueprtId);
|
||||
let comTeam = new ComTeam(teamCode, false, blueprtId, COM_TEAM_STATUS.DEFAULT, 'robot', 0, bossHpSum || 10000, quality, transBossHpArr(bossHpArr));
|
||||
let comTeam: MemComBtlTeam = createComTeamData(teamCode, false, blueprtId, COM_TEAM_STATUS.DEFAULT, 'robot', 0, bossHpSum || 10000, quality, transBossHpArr(bossHpArr))
|
||||
|
||||
let isFrd = await getFrd(roleId, quality);
|
||||
// 将玩家加入队伍
|
||||
|
||||
Reference in New Issue
Block a user