diff --git a/game-server/app/servers/guild/handler/gvgBattleHandler.ts b/game-server/app/servers/guild/handler/gvgBattleHandler.ts index 1fbfb51e1..fd24a12d8 100644 --- a/game-server/app/servers/guild/handler/gvgBattleHandler.ts +++ b/game-server/app/servers/guild/handler/gvgBattleHandler.ts @@ -73,8 +73,8 @@ export class GVGBattleHandler { let durability = gameData.gvgTeamDurability.get(index)||0; let groupKey = await getGroupKey(serverId); - let role = await RoleModel.findByRoleId(roleId, 'lv'); - let updateParam: SaveTeamUpdateParam = { index, head, spine, frame, roleName, serverId, leagueCode, leagueName, lv: role.lv } + let role = await RoleModel.findByRoleId(roleId, 'lv title'); + let updateParam: SaveTeamUpdateParam = { index, head, spine, frame, roleName, serverId, leagueCode, leagueName, lv: role.lv, title: role.title } if(lineup) { let { isOK, heroes } = await checkBattleHeroesByHid(roleId, lineup.map(cur => cur.actorId)); if(!isOK) return resResult(STATUS.BATTLE_HERO_NOT_FOUND); diff --git a/game-server/app/services/gvg/gvgBattleService.ts b/game-server/app/services/gvg/gvgBattleService.ts index feda1edf7..7693aa9bd 100644 --- a/game-server/app/services/gvg/gvgBattleService.ts +++ b/game-server/app/services/gvg/gvgBattleService.ts @@ -186,11 +186,11 @@ export async function refreshTeams(configId: number, groupKey: string, roleId: s for(let team of oldTeams) { if(team.configId != configId || (hasConfirm && team.confirmConfigId != configId)) { 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 { newLineup, newLineupCe } = await generNewLineup(roleId, heroes, lineup.map(({ actorId, dataId, outIndex }) => ({ actorId, dataId, order: outIndex }))); 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); } else { teams.push(team); diff --git a/shared/db/GVGTeam.ts b/shared/db/GVGTeam.ts index a9ef186dc..6b00bb8a2 100644 --- a/shared/db/GVGTeam.ts +++ b/shared/db/GVGTeam.ts @@ -32,6 +32,9 @@ export default class GVGTeam extends BaseModel { @prop({ required: true }) lv: number; // 玩家等级 + @prop({ required: true }) + title: number; // 爵位 + @prop({ required: true }) teamCode: string; // 玩家队伍唯一标识 @@ -218,7 +221,7 @@ export default class GVGTeam extends BaseModel { let teams: GVGTeamType[] = []; for(let { pointId, areaId, name, head, spine, ce, durability } of dicPoints) { 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 } }, { new: true, upsert: true }).lean(); teams.push(team); @@ -237,7 +240,7 @@ export default class GVGTeam extends BaseModel { for(let { pointId, areaId, name, head, spine, ce } of dicPoints) { 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, 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, }, $set: { durability } }, { new: true, upsert: true }).lean(); diff --git a/shared/domain/gvgField/gvgDb.ts b/shared/domain/gvgField/gvgDb.ts index 9e3b8b4fe..5bc323c8b 100644 --- a/shared/domain/gvgField/gvgDb.ts +++ b/shared/domain/gvgField/gvgDb.ts @@ -273,6 +273,7 @@ export interface SaveTeamUpdateParam { leagueCode: string; leagueName: string; lv: number; + title: number; } export interface InitTeamParam { diff --git a/shared/domain/gvgField/returnData.ts b/shared/domain/gvgField/returnData.ts index 9fdbb166f..d4aeaffdc 100644 --- a/shared/domain/gvgField/returnData.ts +++ b/shared/domain/gvgField/returnData.ts @@ -796,6 +796,7 @@ export class MyTeamInfo { head: number; // 保存头像 frame: number; // 保存相框 spine: number; // 保存形象 + title: number; // 爵位 lv: number; lineup: { actorId: number; // 武将 @@ -820,6 +821,7 @@ export class MyTeamInfo { this.head = team.head; this.frame = team.frame; this.spine = team.spine; + this.title = team.title; this.lv = team.lv; if(team.lineup) this.lineup = team.lineup.map(({ actorId, dataId, outIndex }) => ({ actorId, dataId, order: outIndex })); this.durability = team.durability;