🐞 fix(gvg): 添加爵位参数

This commit is contained in:
luying
2023-03-22 20:43:48 +08:00
parent af87cc6b3f
commit d2aaf43ef1
5 changed files with 12 additions and 6 deletions
@@ -73,8 +73,8 @@ export class GVGBattleHandler {
let durability = gameData.gvgTeamDurability.get(index)||0; let durability = gameData.gvgTeamDurability.get(index)||0;
let groupKey = await getGroupKey(serverId); let groupKey = await getGroupKey(serverId);
let role = await RoleModel.findByRoleId(roleId, 'lv'); let role = await RoleModel.findByRoleId(roleId, 'lv title');
let updateParam: SaveTeamUpdateParam = { index, head, spine, frame, roleName, serverId, leagueCode, leagueName, lv: role.lv } let updateParam: SaveTeamUpdateParam = { index, head, spine, frame, roleName, serverId, leagueCode, leagueName, lv: role.lv, title: role.title }
if(lineup) { if(lineup) {
let { isOK, heroes } = await checkBattleHeroesByHid(roleId, lineup.map(cur => cur.actorId)); let { isOK, heroes } = await checkBattleHeroesByHid(roleId, lineup.map(cur => cur.actorId));
if(!isOK) return resResult(STATUS.BATTLE_HERO_NOT_FOUND); if(!isOK) return resResult(STATUS.BATTLE_HERO_NOT_FOUND);
@@ -186,11 +186,11 @@ export async function refreshTeams(configId: number, groupKey: string, roleId: s
for(let team of oldTeams) { for(let team of oldTeams) {
if(team.configId != configId || (hasConfirm && team.confirmConfigId != configId)) { if(team.configId != configId || (hasConfirm && team.confirmConfigId != configId)) {
let { teamCode, maxDurability, lineup } = team; let { teamCode, maxDurability, lineup } = team;
let { lv, roleName, guildCode } = await RoleModel.findByRoleId(roleId, 'lv roleName guildCode'); let { lv, title, roleName, guildCode } = await RoleModel.findByRoleId(roleId, 'lv title roleName guildCode');
let heroes = await HeroModel.findByHidRange(lineup.map(hero => hero.actorId), roleId); let heroes = await HeroModel.findByHidRange(lineup.map(hero => hero.actorId), roleId);
let { newLineup, newLineupCe } = await generNewLineup(roleId, heroes, lineup.map(({ actorId, dataId, outIndex }) => ({ actorId, dataId, order: outIndex }))); let { newLineup, newLineupCe } = await generNewLineup(roleId, heroes, lineup.map(({ actorId, dataId, outIndex }) => ({ actorId, dataId, order: outIndex })));
let addUpdate = hasConfirm? { confirmConfigId: configId }: {}; let addUpdate = hasConfirm? { confirmConfigId: configId }: {};
let newTeam = await GVGTeamModel.refreshByConfig(teamCode, { configId, lv, durability: maxDurability, cityId: 0, areaId: 0, pointId: 0, roleName, guildCode, leagueCode: myLeague.leagueCode, leagueName: myLeague.name, groupKey, lineup: newLineup, lineupCe: newLineupCe, ...addUpdate }); let newTeam = await GVGTeamModel.refreshByConfig(teamCode, { configId, lv, title, durability: maxDurability, cityId: 0, areaId: 0, pointId: 0, roleName, guildCode, leagueCode: myLeague.leagueCode, leagueName: myLeague.name, groupKey, lineup: newLineup, lineupCe: newLineupCe, ...addUpdate });
teams.push(newTeam); teams.push(newTeam);
} else { } else {
teams.push(team); teams.push(team);
+5 -2
View File
@@ -32,6 +32,9 @@ export default class GVGTeam extends BaseModel {
@prop({ required: true }) @prop({ required: true })
lv: number; // 玩家等级 lv: number; // 玩家等级
@prop({ required: true })
title: number; // 爵位
@prop({ required: true }) @prop({ required: true })
teamCode: string; // 玩家队伍唯一标识 teamCode: string; // 玩家队伍唯一标识
@@ -218,7 +221,7 @@ export default class GVGTeam extends BaseModel {
let teams: GVGTeamType[] = []; let teams: GVGTeamType[] = [];
for(let { pointId, areaId, name, head, spine, ce, durability } of dicPoints) { for(let { pointId, areaId, name, head, spine, ce, durability } of dicPoints) {
let team: GVGTeamType = await GVGTeamModel.findOneAndUpdate({ configId, groupKey, cityId, areaId, pointId }, { let team: GVGTeamType = await GVGTeamModel.findOneAndUpdate({ configId, groupKey, cityId, areaId, pointId }, {
$setOnInsert: {teamCode: genCode(8), maxDurability: durability, roleName: name, head, spine, frame: EXTERIOR.EXTERIOR_FACECASE, lineupCe: ce, isRobot: true, lv, isBroken: false, startMoveTime: 0, stopMoveTime: 0, guildCode: '', leagueCode: '', leagueName: '', fromAreaId: areaId, roleId: GVG_ROBOT, $setOnInsert: {teamCode: genCode(8), maxDurability: durability, roleName: name, head, spine, frame: EXTERIOR.EXTERIOR_FACECASE, title: 1, lineupCe: ce, isRobot: true, lv, isBroken: false, startMoveTime: 0, stopMoveTime: 0, guildCode: '', leagueCode: '', leagueName: '', fromAreaId: areaId, roleId: GVG_ROBOT,
}, $set: { durability } }, $set: { durability }
}, { new: true, upsert: true }).lean(); }, { new: true, upsert: true }).lean();
teams.push(team); teams.push(team);
@@ -237,7 +240,7 @@ export default class GVGTeam extends BaseModel {
for(let { pointId, areaId, name, head, spine, ce } of dicPoints) { for(let { pointId, areaId, name, head, spine, ce } of dicPoints) {
let team: GVGTeamType = await GVGTeamModel.findOneAndUpdate({ configId, groupKey, cityId, areaId, pointId }, { let team: GVGTeamType = await GVGTeamModel.findOneAndUpdate({ configId, groupKey, cityId, areaId, pointId }, {
$setOnInsert: { $setOnInsert: {
teamCode: genCode(8), maxDurability: durability, roleName: name, head, spine, frame: EXTERIOR.EXTERIOR_FACECASE, lineupCe: ce, lv, leagueCode, leagueName, captapultAtk: atk, teamCode: genCode(8), maxDurability: durability, roleName: name, head, spine, frame: EXTERIOR.EXTERIOR_FACECASE, title: 1, lineupCe: ce, lv, leagueCode, leagueName, captapultAtk: atk,
isRobot: true, isCatapult: true, isBroken: false, startMoveTime: 0, stopMoveTime: 0, guildCode: '', fromAreaId: areaId, roleId: GVG_CATAPULT, isRobot: true, isCatapult: true, isBroken: false, startMoveTime: 0, stopMoveTime: 0, guildCode: '', fromAreaId: areaId, roleId: GVG_CATAPULT,
}, $set: { durability } }, $set: { durability }
}, { new: true, upsert: true }).lean(); }, { new: true, upsert: true }).lean();
+1
View File
@@ -273,6 +273,7 @@ export interface SaveTeamUpdateParam {
leagueCode: string; leagueCode: string;
leagueName: string; leagueName: string;
lv: number; lv: number;
title: number;
} }
export interface InitTeamParam { export interface InitTeamParam {
+2
View File
@@ -796,6 +796,7 @@ export class MyTeamInfo {
head: number; // 保存头像 head: number; // 保存头像
frame: number; // 保存相框 frame: number; // 保存相框
spine: number; // 保存形象 spine: number; // 保存形象
title: number; // 爵位
lv: number; lv: number;
lineup: { lineup: {
actorId: number; // 武将 actorId: number; // 武将
@@ -820,6 +821,7 @@ export class MyTeamInfo {
this.head = team.head; this.head = team.head;
this.frame = team.frame; this.frame = team.frame;
this.spine = team.spine; this.spine = team.spine;
this.title = team.title;
this.lv = team.lv; this.lv = team.lv;
if(team.lineup) this.lineup = team.lineup.map(({ actorId, dataId, outIndex }) => ({ actorId, dataId, order: outIndex })); if(team.lineup) this.lineup = team.lineup.map(({ actorId, dataId, outIndex }) => ({ actorId, dataId, order: outIndex }));
this.durability = team.durability; this.durability = team.durability;