✨ feat(gvg): 激战期获取挑战对手阵容
This commit is contained in:
@@ -8,7 +8,7 @@ import { Application, BackendSession, ChannelService, HandlerService } from "pin
|
||||
import { resResult, genCode } from "../../../pubUtils/util";
|
||||
import { GVGLeagueModel } from '../../../db/GVGLeague';
|
||||
import { checkGVGPeriod, getGroupIdOfServer, getGVGConfig, getGVGPeriodData, getGVGServerType } from '../../../services/gvg/gvgService';
|
||||
import { calBattleScoreByCe, calLeagueScore, checkAreaIsInCity, checkMoveStatus, getBirthAreaOfCity, initRobots, teamBreak } from '../../../services/gvg/gvgBattleService';
|
||||
import { calBattleScoreByCe, checkAreaIsInCity, checkMoveStatus, getBirthAreaOfCity, getGVGWarId, getOppHeroes, initRobots, teamBreak } from '../../../services/gvg/gvgBattleService';
|
||||
import { getGVGBattleData } from '../../../services/gvg/gvgBattleMemory';
|
||||
import { nowSeconds } from '../../../pubUtils/timeUtil';
|
||||
import { GVGBattleRecModel } from '../../../db/GVGBattleRec';
|
||||
@@ -198,7 +198,7 @@ export class GVGBattleHandler {
|
||||
teams = await GVGTeamModel.findByRole(roleId, '-_id');
|
||||
// 更新内存队伍信息
|
||||
let teamObj = getGVGBattleData(groupId, serverType);
|
||||
teamObj.enterCity(teams);
|
||||
teamObj.enterCity(...teams);
|
||||
}
|
||||
|
||||
const recs = await GVGRecModel.findByCity(cityId, configId);
|
||||
@@ -289,10 +289,8 @@ export class GVGBattleHandler {
|
||||
let teams = await GVGTeamModel.findByAreaId(groupId, serverType, cityId, myTeam.areaId);
|
||||
let points: GVGTeamInListOnPoint[] = [], players: GVGTeamInList[] = [];
|
||||
let pointIds = gameData.gvgPointByAreaId.get(myTeam.areaId)||[];
|
||||
console.log('#### teams', teams, teams.length);
|
||||
for(let pointId of pointIds) {
|
||||
let team = teams.find(cur => cur.pointId == pointId);
|
||||
console.log('#### point', pointId, team);
|
||||
let obj = new GVGTeamInListOnPoint(pointId, !!team, team);
|
||||
points.push(obj);
|
||||
}
|
||||
@@ -387,16 +385,18 @@ export class GVGBattleHandler {
|
||||
if(attackTeam.durability <= 0) return resResult(STATUS.GVG_ATTACK_TEAM_BROKEN);
|
||||
if(defenseTeam.durability <= 0) return resResult(STATUS.GVG_DEFENSE_TEAM_BROKEN);
|
||||
|
||||
const battleRecord = await GVGBattleRecModel.createRec(attackTeam, defenseTeam);
|
||||
const warId = getGVGWarId(defenseTeam);
|
||||
const battleRecord = await GVGBattleRecModel.createRec(warId, attackTeam, defenseTeam);
|
||||
|
||||
attackTeam = await GVGTeamModel.battleStartLockAttack(teamCode);
|
||||
defenseTeam = await GVGTeamModel.battleStartLockDefense(oppoTeamCode, teamCode);
|
||||
// 内存处理
|
||||
let teamObj = getGVGBattleData(groupId, serverType);
|
||||
teamObj.setTime(teamCode, attackTeam);
|
||||
teamObj.setTime(teamCode, defenseTeam);
|
||||
teamObj.setTime(attackTeam.teamCode, attackTeam);
|
||||
teamObj.setTime(defenseTeam.teamCode, defenseTeam);
|
||||
let heroes = getOppHeroes(warId, defenseTeam.isRobot, defenseTeam.lineup)
|
||||
|
||||
return resResult(STATUS.SUCCESS, { battleCode: battleRecord.battleCode, curTeam: attackTeam });
|
||||
return resResult(STATUS.SUCCESS, { battleCode: battleRecord.battleCode, warId, isRobot: defenseTeam.isRobot, heroes, curTeam: attackTeam });
|
||||
}
|
||||
|
||||
// 队伍停止攻击
|
||||
@@ -417,17 +417,17 @@ export class GVGBattleHandler {
|
||||
|
||||
// 计算并更新两支队伍耐久
|
||||
let { win, fail } = gameData.gvgBattleDurabilityMinus;
|
||||
attackTeam = await GVGTeamModel.battleEndAttack(attackTeam.teamCode, isSuccess? -win: -fail, calBattleScoreByCe(isSuccess, attackTeam.lineupCe), calLeagueScore(defenseTeam));
|
||||
attackTeam = await GVGTeamModel.battleEndAttack(attackTeam.teamCode, isSuccess? -win: -fail, calBattleScoreByCe(isSuccess, attackTeam.lineupCe));
|
||||
defenseTeam = await GVGTeamModel.battleEndDefense(defenseTeam.teamCode, isSuccess? -fail: -win, calBattleScoreByCe(isSuccess, defenseTeam.lineupCe));
|
||||
|
||||
if(attackTeam.durability <= 0) attackTeam = await teamBreak(city, attackTeam);
|
||||
if(defenseTeam.durability <= 0) defenseTeam = await teamBreak(city, defenseTeam);
|
||||
|
||||
// ! 推送战斗结果给对手队伍
|
||||
// const channel = this.channelService.getChannel(teamCode, false);
|
||||
// if (!!channel) {
|
||||
// channel.pushMessage('onBattleResult', { isSuccess });
|
||||
// }
|
||||
// 更新内存
|
||||
let teamObj = getGVGBattleData(groupId, serverType);
|
||||
teamObj.battleEnd([attackTeam, defenseTeam]);
|
||||
// 更新rec
|
||||
await GVGBattleRecModel.battleEnd(battleCode, isSuccess);
|
||||
// TODO 完善推送
|
||||
if(!defenseTeam.isRobot) {
|
||||
sendMessageToUserWithSuc(defenseTeam.roleId, PUSH_ROUTE.GVG_TEAM_ATTACKED, { cityId, areaId: defenseTeam.areaId, teams: [defenseTeam] });
|
||||
}
|
||||
|
||||
@@ -15,10 +15,9 @@ class GVGBattleData {
|
||||
public serverType: number; // 单服还是跨服
|
||||
|
||||
private teams: Map<string, GVGTeamMem> = new Map(); // 队伍, teamCode => team
|
||||
private rolePoints: Map<string, number[]> = new Map(); // roleId => pointId[],用于更新玩家的积分
|
||||
private rolePoints: Map<string, Set<number>> = new Map(); // roleId => pointId[],用于更新玩家的积分
|
||||
private roleToTeam: Map<string, string[]> = new Map(); // roleId => teamCode
|
||||
private areaToTeams: Map<number, Set<string>> = new Map(); // areaId => teamCode set,用于定时下发地图玩家数据
|
||||
private hasRobot: Map<number, boolean> = new Map(); // cityId => boolean
|
||||
|
||||
constructor(groupId: number, serverType: number) {
|
||||
this.groupId = groupId;
|
||||
@@ -44,7 +43,7 @@ class GVGBattleData {
|
||||
this.rolePoints.delete(roleId);
|
||||
}
|
||||
|
||||
public enterCity(teams: GVGTeamType[]) {
|
||||
public enterCity(...teams: GVGTeamType[]) {
|
||||
for(let team of teams) {
|
||||
let fromAreaId = this.teams.get(team.teamCode)?.areaId||0;
|
||||
|
||||
@@ -53,15 +52,13 @@ class GVGBattleData {
|
||||
}
|
||||
this.teams.get(team.teamCode).setCity(team.cityId, team.areaId, team.pointId);
|
||||
if(team.pointId > 0) {
|
||||
if(!this.rolePoints.has(team.roleId)) this.rolePoints.set(team.roleId, []);
|
||||
this.rolePoints.get(team.roleId).push(team.pointId);
|
||||
if(!this.rolePoints.has(team.roleId)) this.rolePoints.set(team.roleId, new Set());
|
||||
this.rolePoints.get(team.roleId).add(team.pointId);
|
||||
}
|
||||
let teamCodesOfRole = this.roleToTeam.get(team.roleId)||[];
|
||||
if(teamCodesOfRole.indexOf(team.teamCode) == -1) teamCodesOfRole.push(team.teamCode);
|
||||
this.roleToTeam.set(team.roleId, teamCodesOfRole);
|
||||
this.setAreaMap(team.teamCode, fromAreaId, team.areaId);
|
||||
|
||||
if(team.isRobot) this.hasRobot.set(team.cityId, team.isRobot);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -99,8 +96,22 @@ class GVGBattleData {
|
||||
team.pointId = pointId;
|
||||
}
|
||||
|
||||
public checkHasRobot(cityId: number) {
|
||||
return this.hasRobot.get(cityId)||false;
|
||||
// 关卡结算
|
||||
public battleEnd(teams: GVGTeamType[]) {
|
||||
for(let team of teams) {
|
||||
let teamMem = this.teams.get(team.teamCode);
|
||||
if(!teamMem) { // 基本不会有没有这个内存的情况,有的话就让他重新计算一次吧
|
||||
this.enterCity(team); continue;
|
||||
}
|
||||
let { areaId: fromAreaId, pointId: fromPointId } = teamMem;
|
||||
teamMem.battleEnd(team);
|
||||
if(fromPointId > 0 && team.pointId == 0) { // 被打得撤离积分点
|
||||
if(this.rolePoints.has(team.roleId) && this.rolePoints.get(team.roleId).has(team.pointId)) {
|
||||
this.rolePoints.get(team.roleId).delete(team.pointId);
|
||||
}
|
||||
}
|
||||
this.setAreaMap(team.teamCode, fromAreaId, team.areaId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -121,7 +132,7 @@ export async function initTeamToMem() {
|
||||
for(let team of teams) {
|
||||
if(dispatch(team.cityId.toString(), servers)?.id == sid) {
|
||||
let teamObj = getGVGBattleData(team.groupId, team.serverType);
|
||||
teamObj.enterCity([team]);
|
||||
teamObj.enterCity(team);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -10,6 +10,7 @@ import { getGVGBattleData } from "./gvgBattleMemory";
|
||||
import { GVGCityMapInfo } from "../../domain/gvgField/returnData";
|
||||
import { pick } from "underscore";
|
||||
import { GVG } from "../../pubUtils/dicParam";
|
||||
import { GVGHeroInfo, PvpEnemies, PvpHeroInfo } from "../../domain/dbGeneral";
|
||||
|
||||
|
||||
/**
|
||||
@@ -88,7 +89,7 @@ export async function initRobots(confidId: number, groupId: number, serverType:
|
||||
robotTeams = await GVGTeamModel.initRobots(confidId, groupId, serverType, cityId, updateDicPoints);
|
||||
// 存入内存
|
||||
let teamObj = getGVGBattleData(groupId, serverType);
|
||||
teamObj.enterCity(robotTeams);
|
||||
teamObj.enterCity(...robotTeams);
|
||||
}
|
||||
return robotTeams;
|
||||
}
|
||||
@@ -108,14 +109,40 @@ export function calBattleScoreByCe(isSuccess: boolean, lineupCe: number) {
|
||||
return isSuccess? winScore: 0;
|
||||
}
|
||||
|
||||
// 计算打投石车/守卫的得分
|
||||
export function calLeagueScore(team: GVGTeamType) {
|
||||
return 0
|
||||
}
|
||||
|
||||
export async function teamBreak(city: GVGCityType, team: GVGTeamType) {
|
||||
if(team.durability > 0) return team
|
||||
let areaId = getBirthAreaOfCity(city, team.leagueCode);
|
||||
team = await GVGTeamModel.teamBreak(team.teamCode, team.isRobot, team.maxDurability, areaId);
|
||||
return team;
|
||||
}
|
||||
|
||||
export function getGVGWarId(defenseTeam: GVGTeamType) {
|
||||
if(!defenseTeam.isRobot) return GVG.GVG_CITY_BGMAP_GKID; // 玩家防守地图
|
||||
if(!defenseTeam.isCatapult) return GVG.GVG_CATAPULT_WARJSON; // 投石车使用
|
||||
return GVG.GVG_ROBOT_WARJSON; // 据点守卫使用
|
||||
}
|
||||
|
||||
export function getOppHeroes(warId: number, isRobot: boolean, lineup: GVGHeroInfo[]) {
|
||||
let heroes: PvpEnemies[] = [];
|
||||
const dicWar = gameData.war.get(warId);
|
||||
if(!dicWar) { console.error(`warId ${warId} not found`); return [] }
|
||||
const dicWarJson = gameData.warJson.get(dicWar.dispatchJsonId)||[];
|
||||
for(let warJson of dicWarJson) {
|
||||
if(!isRobot) {
|
||||
let heroInfo = lineup.find(cur => cur.dataId == warJson.dataId);
|
||||
if(!heroInfo) continue;
|
||||
let hero = new PvpEnemies(warJson, heroInfo);
|
||||
heroes.push(hero);
|
||||
} else {
|
||||
if(warJson.relation == 2) {
|
||||
let dicHero = gameData.hero.get(warJson.actorId);
|
||||
if(!dicHero) continue;
|
||||
let heroInfo = new PvpHeroInfo();
|
||||
heroInfo.setRobotInfo(dicHero, warJson.lv);
|
||||
let hero = new PvpEnemies(warJson, heroInfo);
|
||||
heroes.push(hero);
|
||||
}
|
||||
}
|
||||
}
|
||||
return heroes
|
||||
}
|
||||
@@ -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,
|
||||
]
|
||||
|
||||
// 装备栏强化类型
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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城池守卫的出兵表
|
||||
};
|
||||
|
||||
80
shared/resource/jsons/dic_zyz_gk_GVGBattle.json
Normal file
80
shared/resource/jsons/dic_zyz_gk_GVGBattle.json
Normal file
@@ -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
shared/resource/warJsons/85001.json
Normal file
278
shared/resource/warJsons/85001.json
Normal 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
shared/resource/warJsons/85002.json
Normal file
278
shared/resource/warJsons/85002.json
Normal 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
shared/resource/warJsons/85003.json
Normal file
278
shared/resource/warJsons/85003.json
Normal 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
|
||||
}
|
||||
]
|
||||
Reference in New Issue
Block a user