diff --git a/game-server/app/servers/guild/handler/gvgBattleHandler.ts b/game-server/app/servers/guild/handler/gvgBattleHandler.ts index a4a32cc92..006f5f0bb 100644 --- a/game-server/app/servers/guild/handler/gvgBattleHandler.ts +++ b/game-server/app/servers/guild/handler/gvgBattleHandler.ts @@ -28,6 +28,7 @@ import { GVGCityAreaPointModel } from '../../../db/GVGCityAreaPoint'; import { Rank } from '../../../services/rankService'; import { LeagueRankInfo, RoleRankInfo } from '../../../domain/rank'; import { addBattleEndRec, addTeamSettleRec } from '../../../services/gvg/gvgRecService'; +import { RoleModel } from '../../../db/Role'; export default function (app: Application) { new HandlerService(app, {}); @@ -105,7 +106,8 @@ export class GVGBattleHandler { updateParam.cityId = cityId; updateParam.areaId = getBirthAreaOfCity(city, leagueCode) } - const team = await GVGTeamModel.saveTeam(roleId, index, updateParam, { roleName, serverId, leagueCode, leagueName, durability, maxDurability: durability }); + let role = await RoleModel.findByRoleId(roleId, 'lv'); + const team = await GVGTeamModel.saveTeam(roleId, index, updateParam, { roleName, serverId, leagueCode, leagueName, durability, maxDurability: durability, lv: role.lv }); if (!team) { return resResult(STATUS.GVG_SAVE_TEAM_FAILED); } diff --git a/shared/db/GVGTeam.ts b/shared/db/GVGTeam.ts index 45f91232b..a511e85b2 100644 --- a/shared/db/GVGTeam.ts +++ b/shared/db/GVGTeam.ts @@ -26,6 +26,9 @@ export default class GVGTeam extends BaseModel { @prop({ required: true }) serverId: number; // 小区id + @prop({ required: true }) + lv: number; // 玩家等级 + @prop({ required: true }) teamCode: string; // 玩家队伍唯一标识 @@ -220,13 +223,13 @@ export default class GVGTeam extends BaseModel { } // 每赛季初刷新机器人 - public static async initRobots(configId: number, groupKey: string, cityId: number, dicPoints: DicGVGAreaPoint[]) { + public static async initRobots(configId: number, groupKey: string, cityId: number, dicPoints: DicGVGAreaPoint[], lv: number) { await GVGTeamModel.bulkWrite(dicPoints.map(({ pointId, areaId, name, head, spine, ce, durability }) => { return { updateOne: { filter: { groupKey, cityId, areaId, pointId }, update: { $setOnInsert: { - teamCode: genCode(8), maxDurability: durability, roleName: name, head, spine, frame: EXTERIOR.EXTERIOR_FACECASE, lineupCe: ce, isRobot: true, + 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, }, $set: { configId, durability } }, upsert: true @@ -242,14 +245,14 @@ export default class GVGTeam extends BaseModel { } // 生成投石车 - public static async initCatapult(configId: number, groupKey: string, cityId: number, leagueCode: string, leagueName: string, areaIds: number[], atk: number, durability: number) { + public static async initCatapult(configId: number, groupKey: string, cityId: number, leagueCode: string, leagueName: string, areaIds: number[], atk: number, durability: number, lv: number) { await GVGTeamModel.bulkWrite(areaIds.map(areaId => { return { updateOne: { filter: { groupKey, cityId, areaId }, update: { $setOnInsert: { teamCode: genCode(8), maxDurability: durability, captapultAtk: atk, leagueCode, leagueName, - roleName: GVG.GVG_CATAPULT_NAME, head: GVG.GVG_CATAPULT_HEAD, spine: GVG.GVG_CATAPULT_SPINE, frame: EXTERIOR.EXTERIOR_FACECASE, lineupCe: GVG.GVG_CATAPULT_CE, + roleName: GVG.GVG_CATAPULT_NAME, head: GVG.GVG_CATAPULT_HEAD, spine: GVG.GVG_CATAPULT_SPINE, frame: EXTERIOR.EXTERIOR_FACECASE, lineupCe: GVG.GVG_CATAPULT_CE, lv, isRobot: true, isCatapult: true, fromAreaId: areaId, isBroken: false, startMoveTime: 0, stopMoveTime: 0, guildCode: '', pointId: 0, roleId: GVG_CATAPULT }, $set: { configId, durability } }, diff --git a/shared/domain/gvgField/gvgDb.ts b/shared/domain/gvgField/gvgDb.ts index 2f7f0a51a..b488f8279 100644 --- a/shared/domain/gvgField/gvgDb.ts +++ b/shared/domain/gvgField/gvgDb.ts @@ -279,4 +279,5 @@ export interface InitTeamParam { leagueName: string; durability: number; maxDurability: number; + lv: number; } \ No newline at end of file diff --git a/shared/domain/gvgField/returnData.ts b/shared/domain/gvgField/returnData.ts index 326b6de3c..c8d0db8e1 100644 --- a/shared/domain/gvgField/returnData.ts +++ b/shared/domain/gvgField/returnData.ts @@ -676,6 +676,7 @@ export class GVGTeamInList { roleName: string; head: number; frame: number; + lv: number; lineupCe: number; leagueCode: string; leagueName: string; @@ -688,6 +689,7 @@ export class GVGTeamInList { this.roleName = team.roleName; this.head = team.head; this.frame = team.frame; + this.lv = team.lv; this.lineupCe = team.lineupCe; this.leagueCode = team.leagueCode; this.leagueName = team.leagueName; diff --git a/shared/pubUtils/dictionary/DicWar.ts b/shared/pubUtils/dictionary/DicWar.ts index c2035cc34..6ce1af377 100644 --- a/shared/pubUtils/dictionary/DicWar.ts +++ b/shared/pubUtils/dictionary/DicWar.ts @@ -55,6 +55,7 @@ export interface DicWar { readonly secondAttrLevel: number; // 显示 readonly selectView: number; + readonly level: number; } export interface DicComBattleReward { diff --git a/shared/resource/jsons/dic_zyz_gk_GVGBattle.json b/shared/resource/jsons/dic_zyz_gk_GVGBattle.json index 11fa10d8b..130058796 100644 --- a/shared/resource/jsons/dic_zyz_gk_GVGBattle.json +++ b/shared/resource/jsons/dic_zyz_gk_GVGBattle.json @@ -32,7 +32,7 @@ "mapid": 85001, "warType": 23, "gk_name": "逐鹿中原&城池守卫", - "level": 0, + "level": 50, "lvLimted": 1, "quality": 0, "star": 0, @@ -58,7 +58,7 @@ "mapid": 85001, "warType": 23, "gk_name": "逐鹿中原&城池守卫", - "level": 0, + "level": 50, "lvLimted": 1, "quality": 0, "star": 0,