feat(副将): pvp相关副将设置

This commit is contained in:
luying
2023-07-18 20:28:35 +08:00
parent a726681d25
commit c6455de8e4
17 changed files with 157 additions and 44 deletions
+14 -3
View File
@@ -1,6 +1,6 @@
import { ITEM_CHANGE_REASON, LADDER_OPP_STATUS, LADDER_SERVER_GAP_TIME, LADDER_STATUS, MAIL_TYPE, PUSH_ROUTE, REDIS_KEY, TA_USERSET_TYPE } from "../consts";
import { ArtifactModel } from "../db/Artifact";
import { HeroType } from "../db/Hero";
import { HeroModel, HeroType } from "../db/Hero";
import { LadderMatchModel, LadderMatchType, LadderUpdateInter } from "../db/LadderMatch";
import { LadderMatchRecModel, LadderMatchRecType } from "../db/LadderMatchRec";
import { RoleModel, RoleType } from "../db/Role";
@@ -270,6 +270,10 @@ export async function generateInitRecInfo(isRobot: boolean, isDefense: boolean,
let artifact = await ArtifactModel.findbySeqId(role.roleId, dbHero.artifact);
hero.setArtifact(artifact);
}
if(defenseHero.subHid) {
let subHero = await HeroModel.findByHidAndRole(defenseHero.subHid, role.roleId, 'hid skinId');
hero.setSubHero(subHero)
}
heroes.push(hero);
}
}
@@ -419,9 +423,16 @@ export async function getLadderOppDetailData(rec: LadderMatchRecType) {
let hisLadderData = await LadderMatchModel.findByRoleIdAndInclude(rec.roleId2);
let dicWar = gameData.war.get(dicLadderDifficultRatio.gkId);
let dicWarJson = gameData.warJson.get(dicWar.dispatchJsonId);
let artifactSeids = hisLadderData.defense.heroes.map(cur => (<HeroType>cur.hero).artifact);
let artifactSeids = [], subHids: number[] = [];
for(let { hero, subHid } of hisLadderData.defense.heroes) {
let dbHero = <HeroType>hero;
if(dbHero) artifactSeids.push(dbHero.artifact);
if(subHid) subHids.push(subHid);
}
let artifacts = await ArtifactModel.findbySeqIds(rec.roleId2, artifactSeids);
result.setByPlayer(hisLadderData, dicWarJson, artifacts);
let subHeroes = await HeroModel.findByHidRange(subHids, rec.roleId2, 'hid skinId');
result.setByPlayer(hisLadderData, dicWarJson, artifacts, subHeroes);
let attrByHid = await getHeroesAttributes(rec.roleId2);
for(let [hid, attribute] of attrByHid) {
result.setAttribute(hid, attribute.getAttributesToString());