🐞 fix(gvg): 更新gvg战斗返回

This commit is contained in:
luying
2023-02-27 21:21:00 +08:00
parent 840b84ae68
commit 1f04496865
4 changed files with 13 additions and 5 deletions

View File

@@ -462,7 +462,7 @@ export class GVGBattleHandler {
teamObj.setTime(defenseTeam.teamCode, defenseTeam);
let heroes = getOppHeroes(warId, defenseTeam.isRobot, defenseTeam.lineup)
return resResult(STATUS.SUCCESS, { battleCode: battleRecord.battleCode, warId, isRobot: defenseTeam.isRobot, heroes, curTeam: new MyTeamInfo(attackTeam) });
return resResult(STATUS.SUCCESS, { battleCode: battleRecord.battleCode, warId, isRobot: defenseTeam.isRobot, heroes, curTeam: new MyTeamInfo(attackTeam), oppTeam: new MyTeamInfo(defenseTeam) });
}
// 队伍停止攻击
@@ -655,8 +655,10 @@ export class GVGBattleHandler {
let pointIds = gameData.gvgPointByAreaId.get(areaId)||[];
let pointArrs: { pointId: number, guardLeagueName: string }[] = [];
for(let pointId of pointIds) {
let dicAreaPoint = gameData.gvgAreaPoint.get(pointId);
if(!dicAreaPoint) continue;
let playerPoint = points.find(cur => cur.pointId == pointId);
pointArrs.push({ pointId, guardLeagueName: playerPoint? (playerPoint.leagueName||"无"): GVG.GVG_ROBOT_NAME });
pointArrs.push({ pointId, guardLeagueName: playerPoint? (playerPoint.leagueName||"无"): dicAreaPoint.name });
}
if(pointArrs.length > 0) areas.push({ areaId, points: pointArrs });
}

View File

@@ -104,7 +104,8 @@ export default class GVGCity extends BaseModel {
}
public static async findByConfigAndGroup(configId: number, groupKey: string) {
const cities: GVGCityType[] = await GVGCityModel.find({ configId, groupKey, hasGuard: true }).lean();
let cities: GVGCityType[] = await GVGCityModel.find({ configId: configId + 1, groupKey, hasGuard: true }).lean();
if(!cities || cities.length == 0) cities = await GVGCityModel.find({ configId, groupKey, hasGuard: true }).lean();
return cities
}

View File

@@ -39,14 +39,14 @@ export default class GVGCityAreaPoint extends BaseModel {
let { configId, groupKey, leagueCode, leagueName, roleId, roleName, teamCode } = team;
await GVGCityAreaPointModel.findOneAndUpdate({ configId, groupKey, pointId }, { $setOnInsert: { teamCode: '' }}, { upsert: true });
let result: GVGCityAreaPointType = await GVGCityAreaPointModel.findOneAndUpdate(
{ configId, groupKey, pointId },
{ configId, groupKey, pointId, teamCode: '' },
{ $set: { cityId, areaId, leagueCode, leagueName, roleId, roleName, teamCode } },
{ new: true }).lean();
return result;
}
public static async leavePoint(configId: number, groupKey: string, pointId: number) {
let result: GVGCityAreaPointType = await GVGCityAreaPointModel.findOneAndUpdate({ configId, groupKey, pointId }, { $set: { teamCode: '' }}, { new: true }).lean();
let result: GVGCityAreaPointType = await GVGCityAreaPointModel.findOneAndUpdate({ configId, groupKey, pointId }, { $set: { teamCode: '', roleId: '', roleName: '', leagueCode: '', leagueName: '' }}, { new: true }).lean();
return result;
}

View File

@@ -774,6 +774,7 @@ export class MyTeamInfo {
head: number; // 保存头像
frame: number; // 保存相框
spine: number; // 保存形象
lv: number;
lineup: {
actorId: number; // 武将
dataId: number; // 出兵表上的位置
@@ -788,12 +789,15 @@ export class MyTeamInfo {
defenseTime: number; // 防守保护时间
areaId: number; // 出生在的区域
pointId: number;
curTeamBreak: boolean;
constructor(team: GVGTeamType) {
this.teamCode = team.teamCode;
this.index = team.index;
this.head = team.head;
this.frame = team.frame;
this.spine = team.spine;
this.lv = team.lv;
if(team.lineup) this.lineup = team.lineup.map(({ actorId, dataId, outIndex }) => ({ actorId, dataId, order: outIndex }));
this.durability = team.durability;
this.maxDurability = team.maxDurability;
@@ -804,5 +808,6 @@ export class MyTeamInfo {
this.defenseTime = team.defenseTime;
this.areaId = team.areaId;
this.pointId = team.pointId;
this.curTeamBreak = team.curTeamBreak;
}
}