feat(gvg): 激战期获取挑战对手阵容

This commit is contained in:
luying
2023-02-17 10:59:38 +08:00
parent aa099dddaf
commit 6815bf316a
13 changed files with 1023 additions and 46 deletions
+2
View File
@@ -597,6 +597,7 @@ export const FILENAME = {
DIC_GK_GVG_VESTIGE: 'dic_zyz_gk_GVGVestige',
DIC_GVG_AREA_POINT: 'dic_zyz_GVGAreaPoint',
DIC_GVG_BATTLE_RANK_REWARD: 'dic_zyz_GVGBattleRankReward',
DIC_GK_GVGBATTLE: 'dic_zyz_gk_GVGBattle',
}
export const WAR_RELATE_TABLES = [
@@ -621,6 +622,7 @@ export const WAR_RELATE_TABLES = [
FILENAME.DIC_GK_LADDER,
FILENAME.DIC_GK_BRANCH_ELITE,
FILENAME.DIC_GK_GVG_VESTIGE,
FILENAME.DIC_GK_GVGBATTLE,
]
// 装备栏强化类型
+16 -4
View File
@@ -4,6 +4,7 @@ import { index, getModelForClass, prop, DocumentType } from '@typegoose/typegoos
import { genCode } from "../pubUtils/util";
import { GVGTeamType } from "./GVGTeam";
import { GVGHeroInfo } from "../domain/dbGeneral";
import { nowSeconds } from "../pubUtils/timeUtil";
class TeamInfo {
@prop({ required: true })
@@ -51,6 +52,9 @@ export default class GVGBattleRec extends BaseModel {
@prop({ required: true })
battleCode: string; // 战斗记录
@prop({ required: true })
warId: number; // 关卡id
@prop({ required: true, type: TeamInfo, _id: false })
attackTeam: TeamInfo; // 挑战队伍
@@ -60,14 +64,22 @@ export default class GVGBattleRec extends BaseModel {
@prop({ required: true })
isSuccess: boolean;
public static async createRec(attackTeam: GVGTeamType, defenseTeam: GVGTeamType) {
@prop({ required: true })
battleEndTime: number;
public static async createRec(warId: number, attackTeam: GVGTeamType, defenseTeam: GVGTeamType) {
const battleCode = genCode(8);
const result: GVGBattleRecType = await GVGBattleRecModel.findOneAndUpdate({ battleCode }, { $set: { attackTeam, defenseTeam, isSuccess: false } }, { new: true, upsert: true }).lean();
const result: GVGBattleRecType = await GVGBattleRecModel.findOneAndUpdate({ battleCode }, { $set: { warId, attackTeam, defenseTeam, isSuccess: false } }, { new: true, upsert: true }).lean();
return result;
}
public static async findByBattleCode(battleCode: string) {
const result: GVGBattleRecType = await GVGBattleRecModel.findOne({ battleCode }).lean();
return result;
}
public static async findByBattleCode(battleCode: string) {
const result: GVGBattleRecType = await GVGBattleRecModel.findOne({ battleCode }).lean();
public static async battleEnd(battleCode: string, isSuccess: boolean) {
const result: GVGBattleRecType = await GVGBattleRecModel.findOneAndUpdate({ battleCode }, { $set: { isSuccess, battleEndTime: nowSeconds() } }, { new: true }).lean();
return result;
}
}
+3 -6
View File
@@ -89,10 +89,7 @@ export default class GVGTeam extends BaseModel {
defenseTime: number; // 防守保护时间
@prop({ required: true, default: 0 })
playerScore: number; // 积分
@prop({ required: true, default: 0 })
leagueScore: number; // 积分
score: number; // 积分
@prop({ required: true, type: () => GVGHeroInfo, _id: false })
lineup: GVGHeroInfo[];
@@ -216,8 +213,8 @@ export default class GVGTeam extends BaseModel {
}
// 结算挑战方
public static async battleEndAttack(teamCode: string, hpInc: number, playerScoreInc: number, leagueScoreInc: number) {
const team: GVGTeamType = await GVGTeamModel.findOneAndUpdate({ teamCode }, { $inc: { durability: hpInc, playerScore: playerScoreInc, leagueScore: leagueScoreInc } }, { new: true }).lean();
public static async battleEndAttack(teamCode: string, hpInc: number, playerScoreInc: number) {
const team: GVGTeamType = await GVGTeamModel.findOneAndUpdate({ teamCode }, { $inc: { durability: hpInc, playerScore: playerScoreInc } }, { new: true }).lean();
return team;
}
+8 -1
View File
@@ -45,7 +45,7 @@ export class GVGTeamMem extends GVGTeam {
this.defenseTime = team.defenseTime;
this.startMoveTime = team.startMoveTime;
this.stopMoveTime = team.stopMoveTime;
this.playerScore = team.playerScore;
this.score = team.score;
}
public setCity(cityId: number, areaId = 0, pointId = 0) {
@@ -60,4 +60,11 @@ export class GVGTeamMem extends GVGTeam {
this.startMoveTime = startMoveTime;
this.stopMoveTime = stopMoveTime;
}
public battleEnd(team: GVGTeamType) {
this.durability = team.durability;
this.restartTime = team.restartTime;
this.defenseTime = team.defenseTime;
this.stopMoveTime = team.stopMoveTime;
}
}
+3 -3
View File
@@ -73,7 +73,7 @@ export class PvpHeroInfo {
if(artifact) this.artifact.push({ artifactId: artifact.artifactId, lv: artifact.lv })
}
setRobotInfo(dicHero: DicHero, lv: number) {
setRobotInfo(dicHero: DicHero, lv?: number) {
this.actorId = dicHero.heroId;
this.skinId = dicHero.heroId;
this.actorName = dicHero.name;
@@ -181,17 +181,17 @@ export class PvpEnemies extends Enemies {
// score: 这个武将的军功
constructor(warjson: DicWarJson, heroInfo: PvpHeroInfo, score: number, ce: number) {
constructor(warjson: DicWarJson, heroInfo: PvpHeroInfo, score?: number, ce?: number) {
super(warjson, heroInfo, ce);
this.star = heroInfo.star;
this.colorStar = heroInfo.colorStar;
this.quality = heroInfo.quality;
this.lv = heroInfo.lv;
this.score = score;
this.talent = heroInfo.talent;
this.job = heroInfo.job;
this.subHid = heroInfo.subHid;
this.artifact = heroInfo.artifact||[];
if(score) this.score = score;
}
}
+8 -1
View File
@@ -385,7 +385,7 @@ export const GVG = {
GVG_ARMY_LEAGUE_TIME: 3, // GVG开启军团等级开启限制
GVG_ROLE_TYPE: '1&贤臣|2&猛将', // GVG中职能选择
GVG_TEAM_NUMBER: '1&1&100|2&50&100|3&80&100', // GVG编队,index&lv&durability
GVG_CATAPULT: '3000&30&10', // 科技树投石车的耐久&单次伤害&间隔时间
GVG_CATAPULT: '&', // &
GVG_CITY_OCCUPIED_NUMBER: 2, // 一个联军最多可以占领的城池数量
GVG_SP_FIELD_ADD: 0.2, // 农田特殊格子上种植对应的植物的加成
GVG_FARM_LOCK_TIME: 300, // 农田锁定时间(秒)
@@ -408,4 +408,11 @@ export const GVG = {
GVG_DEFAULT_DURABILITY_MINUS: '5&100', // GVG激战期默认的队伍耐扣除规则,胜&败:num&num
GVG_PRODUCE_GAME_RATIO: '1&0.5|2&0.1|3&0.2', // 云台外政中贡献分3种产量分值换算 1:粮食*系数 2:铁矿*系数 3:木材*系数
GVG_BATTLE_SCORE: 1000000, // 战力换算积分的除数
GVG_CATAPULT_NAME: '投石车', // GVG投石车的名字
GVG_CATAPULT_HEAD: 11201, // GVG投石车的头像
GVG_CATAPULT_SPINE: 11401, // GVG投石车的形象spine
GVG_CATAPULT_WARJSON: 85003, // GVG投石车的出兵表
GVG_CATAPULT_CE: 1000000, // GVG投石车的战力
GVG_CATAPULT_TIME: 10, // GVG投石车的攻击频率(s
GVG_ROBOT_WARJSON: 85002, // GVG城池守卫的出兵表
};
@@ -0,0 +1,80 @@
[
{
"war_id": 85001,
"dispatchJsonId": 85001,
"bg_img": 85001,
"mapid": 85001,
"warType": 23,
"gk_name": "逐鹿中原&备战",
"level": 0,
"lvLimted": 1,
"quality": 0,
"star": 0,
"job": 0,
"turnLimted": 10,
"forcedCharactor": "&",
"fobiddenCharactor": "&",
"heroInUI": "1&307",
"victoryInfoInUI": "消灭所有敌军&10回合内造成伤害更高",
"loseInfoInUI": "我方全部阵亡&10回合内造成伤害不敌敌军",
"starInfoInUI": "无",
"cost": 0,
"recommendedPower": 0,
"previousGk": 0,
"needPrepare": 1,
"HeroNum": "1&6",
"needPrepare_1": 1
},
{
"war_id": 85002,
"dispatchJsonId": 85002,
"bg_img": 85001,
"mapid": 85001,
"warType": 23,
"gk_name": "逐鹿中原&城池守卫",
"level": 0,
"lvLimted": 1,
"quality": 0,
"star": 0,
"job": 0,
"turnLimted": 10,
"forcedCharactor": "&",
"fobiddenCharactor": "&",
"heroInUI": "1&307",
"victoryInfoInUI": "消灭所有敌军&10回合内造成伤害更高",
"loseInfoInUI": "我方全部阵亡&10回合内造成伤害不敌敌军",
"starInfoInUI": "无",
"cost": 0,
"recommendedPower": 0,
"previousGk": 0,
"needPrepare": 1,
"HeroNum": "1&6",
"needPrepare_1": 1
},
{
"war_id": 85003,
"dispatchJsonId": 85003,
"bg_img": 85001,
"mapid": 85001,
"warType": 23,
"gk_name": "逐鹿中原&城池守卫",
"level": 0,
"lvLimted": 1,
"quality": 0,
"star": 0,
"job": 0,
"turnLimted": 10,
"forcedCharactor": "&",
"fobiddenCharactor": "&",
"heroInUI": "1&307",
"victoryInfoInUI": "消灭所有敌军&10回合内造成伤害更高",
"loseInfoInUI": "我方全部阵亡&10回合内造成伤害不敌敌军",
"starInfoInUI": "无",
"cost": 0,
"recommendedPower": 0,
"previousGk": 0,
"needPrepare": 1,
"HeroNum": "1&6",
"needPrepare_1": 1
}
]
+278
View File
@@ -0,0 +1,278 @@
[
{
"warId": 85001,
"actorName": "我军",
"actorId": 0,
"dataId": 0,
"relation": 0,
"outIndex": 0,
"dirction": 1,
"x": 6,
"y": 7,
"var": 501,
"lv": 1,
"hide": 0,
"initial_ai": 1,
"bossid": 0,
"attribute": "&",
"skill": "&",
"seid": "&",
"star": 0,
"quality": 0,
"jobLv": 0,
"spine": 0
},
{
"warId": 85001,
"actorName": "我军",
"actorId": 0,
"dataId": 0,
"relation": 0,
"outIndex": 1,
"dirction": 1,
"x": 6,
"y": 6,
"var": 502,
"lv": 1,
"hide": 0,
"initial_ai": 1,
"bossid": 0,
"attribute": "&",
"skill": "&",
"seid": "&",
"star": 0,
"quality": 0,
"jobLv": 0,
"spine": 0
},
{
"warId": 85001,
"actorName": "我军",
"actorId": 0,
"dataId": 0,
"relation": 0,
"outIndex": 2,
"dirction": 1,
"x": 6,
"y": 8,
"var": 503,
"lv": 1,
"hide": 0,
"initial_ai": 1,
"bossid": 0,
"attribute": "&",
"skill": "&",
"seid": "&",
"star": 0,
"quality": 0,
"jobLv": 0,
"spine": 0
},
{
"warId": 85001,
"actorName": "我军",
"actorId": 0,
"dataId": 0,
"relation": 0,
"outIndex": 3,
"dirction": 1,
"x": 5,
"y": 7,
"var": 504,
"lv": 1,
"hide": 0,
"initial_ai": 1,
"bossid": 0,
"attribute": "&",
"skill": "&",
"seid": "&",
"star": 0,
"quality": 0,
"jobLv": 0,
"spine": 0
},
{
"warId": 85001,
"actorName": "我军",
"actorId": 0,
"dataId": 0,
"relation": 0,
"outIndex": 4,
"dirction": 1,
"x": 5,
"y": 6,
"var": 505,
"lv": 1,
"hide": 0,
"initial_ai": 1,
"bossid": 0,
"attribute": "&",
"skill": "&",
"seid": "&",
"star": 0,
"quality": 0,
"jobLv": 0,
"spine": 0
},
{
"warId": 85001,
"actorName": "我军",
"actorId": 0,
"dataId": 0,
"relation": 0,
"outIndex": 5,
"dirction": 1,
"x": 5,
"y": 8,
"var": 506,
"lv": 1,
"hide": 0,
"initial_ai": 1,
"bossid": 0,
"attribute": "&",
"skill": "&",
"seid": "&",
"star": 0,
"quality": 0,
"jobLv": 0,
"spine": 0
},
{
"warId": 85001,
"actorName": "曹操",
"actorId": 4001,
"dataId": 2001,
"relation": 2,
"outIndex": 0,
"dirction": 0,
"x": 11,
"y": 7,
"var": 2001,
"lv": 20,
"hide": 0,
"initial_ai": 1,
"bossid": 0,
"attribute": "&",
"skill": "&",
"seid": "&",
"star": 0,
"quality": 0,
"jobLv": 0,
"spine": 0
},
{
"warId": 85001,
"actorName": "夏侯惇",
"actorId": 4002,
"dataId": 2002,
"relation": 2,
"outIndex": 1,
"dirction": 0,
"x": 11,
"y": 6,
"var": 2002,
"lv": 20,
"hide": 0,
"initial_ai": 1,
"bossid": 0,
"attribute": "&",
"skill": "&",
"seid": "&",
"star": 0,
"quality": 0,
"jobLv": 0,
"spine": 0
},
{
"warId": 85001,
"actorName": "夏侯渊",
"actorId": 4004,
"dataId": 2003,
"relation": 2,
"outIndex": 2,
"dirction": 0,
"x": 11,
"y": 8,
"var": 2003,
"lv": 20,
"hide": 0,
"initial_ai": 1,
"bossid": 0,
"attribute": "&",
"skill": "&",
"seid": "&",
"star": 0,
"quality": 0,
"jobLv": 0,
"spine": 0
},
{
"warId": 85001,
"actorName": "郭嘉",
"actorId": 4005,
"dataId": 2004,
"relation": 2,
"outIndex": 3,
"dirction": 0,
"x": 12,
"y": 7,
"var": 2004,
"lv": 20,
"hide": 0,
"initial_ai": 1,
"bossid": 0,
"attribute": "&",
"skill": "&",
"seid": "&",
"star": 0,
"quality": 0,
"jobLv": 0,
"spine": 0
},
{
"warId": 85001,
"actorName": "张辽",
"actorId": 4003,
"dataId": 2005,
"relation": 2,
"outIndex": 4,
"dirction": 0,
"x": 12,
"y": 6,
"var": 2005,
"lv": 20,
"hide": 0,
"initial_ai": 1,
"bossid": 0,
"attribute": "&",
"skill": "&",
"seid": "&",
"star": 0,
"quality": 0,
"jobLv": 0,
"spine": 0
},
{
"warId": 85001,
"actorName": "典韦",
"actorId": 4007,
"dataId": 2006,
"relation": 2,
"outIndex": 5,
"dirction": 0,
"x": 12,
"y": 8,
"var": 2006,
"lv": 20,
"hide": 0,
"initial_ai": 1,
"bossid": 0,
"attribute": "&",
"skill": "&",
"seid": "&",
"star": 0,
"quality": 0,
"jobLv": 0,
"spine": 0
}
]
+278
View File
@@ -0,0 +1,278 @@
[
{
"warId": 85002,
"actorName": "我军",
"actorId": 0,
"dataId": 0,
"relation": 0,
"outIndex": 0,
"dirction": 1,
"x": 6,
"y": 7,
"var": 501,
"lv": 1,
"hide": 0,
"initial_ai": 1,
"bossid": 0,
"attribute": "&",
"skill": "&",
"seid": "&",
"star": 0,
"quality": 0,
"jobLv": 0,
"spine": 0
},
{
"warId": 85002,
"actorName": "我军",
"actorId": 0,
"dataId": 0,
"relation": 0,
"outIndex": 1,
"dirction": 1,
"x": 6,
"y": 6,
"var": 502,
"lv": 1,
"hide": 0,
"initial_ai": 1,
"bossid": 0,
"attribute": "&",
"skill": "&",
"seid": "&",
"star": 0,
"quality": 0,
"jobLv": 0,
"spine": 0
},
{
"warId": 85002,
"actorName": "我军",
"actorId": 0,
"dataId": 0,
"relation": 0,
"outIndex": 2,
"dirction": 1,
"x": 6,
"y": 8,
"var": 503,
"lv": 1,
"hide": 0,
"initial_ai": 1,
"bossid": 0,
"attribute": "&",
"skill": "&",
"seid": "&",
"star": 0,
"quality": 0,
"jobLv": 0,
"spine": 0
},
{
"warId": 85002,
"actorName": "我军",
"actorId": 0,
"dataId": 0,
"relation": 0,
"outIndex": 3,
"dirction": 1,
"x": 5,
"y": 7,
"var": 504,
"lv": 1,
"hide": 0,
"initial_ai": 1,
"bossid": 0,
"attribute": "&",
"skill": "&",
"seid": "&",
"star": 0,
"quality": 0,
"jobLv": 0,
"spine": 0
},
{
"warId": 85002,
"actorName": "我军",
"actorId": 0,
"dataId": 0,
"relation": 0,
"outIndex": 4,
"dirction": 1,
"x": 5,
"y": 6,
"var": 505,
"lv": 1,
"hide": 0,
"initial_ai": 1,
"bossid": 0,
"attribute": "&",
"skill": "&",
"seid": "&",
"star": 0,
"quality": 0,
"jobLv": 0,
"spine": 0
},
{
"warId": 85002,
"actorName": "我军",
"actorId": 0,
"dataId": 0,
"relation": 0,
"outIndex": 5,
"dirction": 1,
"x": 5,
"y": 8,
"var": 506,
"lv": 1,
"hide": 0,
"initial_ai": 1,
"bossid": 0,
"attribute": "&",
"skill": "&",
"seid": "&",
"star": 0,
"quality": 0,
"jobLv": 0,
"spine": 0
},
{
"warId": 85002,
"actorName": "曹操",
"actorId": 4001,
"dataId": 2001,
"relation": 2,
"outIndex": 0,
"dirction": 0,
"x": 11,
"y": 7,
"var": 2001,
"lv": 20,
"hide": 0,
"initial_ai": 1,
"bossid": 0,
"attribute": "&",
"skill": "&",
"seid": "&",
"star": 0,
"quality": 0,
"jobLv": 0,
"spine": 0
},
{
"warId": 85002,
"actorName": "夏侯惇",
"actorId": 4002,
"dataId": 2002,
"relation": 2,
"outIndex": 1,
"dirction": 0,
"x": 11,
"y": 6,
"var": 2002,
"lv": 20,
"hide": 0,
"initial_ai": 1,
"bossid": 0,
"attribute": "&",
"skill": "&",
"seid": "&",
"star": 0,
"quality": 0,
"jobLv": 0,
"spine": 0
},
{
"warId": 85002,
"actorName": "夏侯渊",
"actorId": 4004,
"dataId": 2003,
"relation": 2,
"outIndex": 2,
"dirction": 0,
"x": 11,
"y": 8,
"var": 2003,
"lv": 20,
"hide": 0,
"initial_ai": 1,
"bossid": 0,
"attribute": "&",
"skill": "&",
"seid": "&",
"star": 0,
"quality": 0,
"jobLv": 0,
"spine": 0
},
{
"warId": 85002,
"actorName": "郭嘉",
"actorId": 4005,
"dataId": 2004,
"relation": 2,
"outIndex": 3,
"dirction": 0,
"x": 12,
"y": 7,
"var": 2004,
"lv": 20,
"hide": 0,
"initial_ai": 1,
"bossid": 0,
"attribute": "&",
"skill": "&",
"seid": "&",
"star": 0,
"quality": 0,
"jobLv": 0,
"spine": 0
},
{
"warId": 85002,
"actorName": "张辽",
"actorId": 4003,
"dataId": 2005,
"relation": 2,
"outIndex": 4,
"dirction": 0,
"x": 12,
"y": 6,
"var": 2005,
"lv": 20,
"hide": 0,
"initial_ai": 1,
"bossid": 0,
"attribute": "&",
"skill": "&",
"seid": "&",
"star": 0,
"quality": 0,
"jobLv": 0,
"spine": 0
},
{
"warId": 85002,
"actorName": "典韦",
"actorId": 4007,
"dataId": 2006,
"relation": 2,
"outIndex": 5,
"dirction": 0,
"x": 12,
"y": 8,
"var": 2006,
"lv": 20,
"hide": 0,
"initial_ai": 1,
"bossid": 0,
"attribute": "&",
"skill": "&",
"seid": "&",
"star": 0,
"quality": 0,
"jobLv": 0,
"spine": 0
}
]
+278
View File
@@ -0,0 +1,278 @@
[
{
"warId": 85003,
"actorName": "我军",
"actorId": 0,
"dataId": 0,
"relation": 0,
"outIndex": 0,
"dirction": 1,
"x": 6,
"y": 7,
"var": 501,
"lv": 1,
"hide": 0,
"initial_ai": 1,
"bossid": 0,
"attribute": "&",
"skill": "&",
"seid": "&",
"star": 0,
"quality": 0,
"jobLv": 0,
"spine": 0
},
{
"warId": 85003,
"actorName": "我军",
"actorId": 0,
"dataId": 0,
"relation": 0,
"outIndex": 1,
"dirction": 1,
"x": 6,
"y": 6,
"var": 502,
"lv": 1,
"hide": 0,
"initial_ai": 1,
"bossid": 0,
"attribute": "&",
"skill": "&",
"seid": "&",
"star": 0,
"quality": 0,
"jobLv": 0,
"spine": 0
},
{
"warId": 85003,
"actorName": "我军",
"actorId": 0,
"dataId": 0,
"relation": 0,
"outIndex": 2,
"dirction": 1,
"x": 6,
"y": 8,
"var": 503,
"lv": 1,
"hide": 0,
"initial_ai": 1,
"bossid": 0,
"attribute": "&",
"skill": "&",
"seid": "&",
"star": 0,
"quality": 0,
"jobLv": 0,
"spine": 0
},
{
"warId": 85003,
"actorName": "我军",
"actorId": 0,
"dataId": 0,
"relation": 0,
"outIndex": 3,
"dirction": 1,
"x": 5,
"y": 7,
"var": 504,
"lv": 1,
"hide": 0,
"initial_ai": 1,
"bossid": 0,
"attribute": "&",
"skill": "&",
"seid": "&",
"star": 0,
"quality": 0,
"jobLv": 0,
"spine": 0
},
{
"warId": 85003,
"actorName": "我军",
"actorId": 0,
"dataId": 0,
"relation": 0,
"outIndex": 4,
"dirction": 1,
"x": 5,
"y": 6,
"var": 505,
"lv": 1,
"hide": 0,
"initial_ai": 1,
"bossid": 0,
"attribute": "&",
"skill": "&",
"seid": "&",
"star": 0,
"quality": 0,
"jobLv": 0,
"spine": 0
},
{
"warId": 85003,
"actorName": "我军",
"actorId": 0,
"dataId": 0,
"relation": 0,
"outIndex": 5,
"dirction": 1,
"x": 5,
"y": 8,
"var": 506,
"lv": 1,
"hide": 0,
"initial_ai": 1,
"bossid": 0,
"attribute": "&",
"skill": "&",
"seid": "&",
"star": 0,
"quality": 0,
"jobLv": 0,
"spine": 0
},
{
"warId": 85003,
"actorName": "曹操",
"actorId": 4001,
"dataId": 2001,
"relation": 2,
"outIndex": 0,
"dirction": 0,
"x": 11,
"y": 7,
"var": 2001,
"lv": 20,
"hide": 0,
"initial_ai": 1,
"bossid": 0,
"attribute": "&",
"skill": "&",
"seid": "&",
"star": 0,
"quality": 0,
"jobLv": 0,
"spine": 0
},
{
"warId": 85003,
"actorName": "夏侯惇",
"actorId": 4002,
"dataId": 2002,
"relation": 2,
"outIndex": 1,
"dirction": 0,
"x": 11,
"y": 6,
"var": 2002,
"lv": 20,
"hide": 0,
"initial_ai": 1,
"bossid": 0,
"attribute": "&",
"skill": "&",
"seid": "&",
"star": 0,
"quality": 0,
"jobLv": 0,
"spine": 0
},
{
"warId": 85003,
"actorName": "夏侯渊",
"actorId": 4004,
"dataId": 2003,
"relation": 2,
"outIndex": 2,
"dirction": 0,
"x": 11,
"y": 8,
"var": 2003,
"lv": 20,
"hide": 0,
"initial_ai": 1,
"bossid": 0,
"attribute": "&",
"skill": "&",
"seid": "&",
"star": 0,
"quality": 0,
"jobLv": 0,
"spine": 0
},
{
"warId": 85003,
"actorName": "郭嘉",
"actorId": 4005,
"dataId": 2004,
"relation": 2,
"outIndex": 3,
"dirction": 0,
"x": 12,
"y": 7,
"var": 2004,
"lv": 20,
"hide": 0,
"initial_ai": 1,
"bossid": 0,
"attribute": "&",
"skill": "&",
"seid": "&",
"star": 0,
"quality": 0,
"jobLv": 0,
"spine": 0
},
{
"warId": 85003,
"actorName": "张辽",
"actorId": 4003,
"dataId": 2005,
"relation": 2,
"outIndex": 4,
"dirction": 0,
"x": 12,
"y": 6,
"var": 2005,
"lv": 20,
"hide": 0,
"initial_ai": 1,
"bossid": 0,
"attribute": "&",
"skill": "&",
"seid": "&",
"star": 0,
"quality": 0,
"jobLv": 0,
"spine": 0
},
{
"warId": 85003,
"actorName": "典韦",
"actorId": 4007,
"dataId": 2006,
"relation": 2,
"outIndex": 5,
"dirction": 0,
"x": 12,
"y": 8,
"var": 2006,
"lv": 20,
"hide": 0,
"initial_ai": 1,
"bossid": 0,
"attribute": "&",
"skill": "&",
"seid": "&",
"star": 0,
"quality": 0,
"jobLv": 0,
"spine": 0
}
]