Merge branch 'master' into feature/backend

# Conflicts:
#	game-server/app/servers/connector/filter/global.ts
This commit is contained in:
luying
2021-12-03 18:36:39 +08:00
25 changed files with 3682 additions and 1674 deletions

View File

@@ -128,7 +128,7 @@ export class DailyCoinHandler {
//免费期间
let time = moment(new Date()).valueOf();
let result = await addReward(roleId, roleName, sid, serverId, newReward)
await ActivityDailyCoinModel.addExchangeRecord(serverId, activityId, roleId, playerData.beginTime, count, addCoin, `${count}&${consumeGold}&${addCoin}&${time}`);
await ActivityDailyCoinModel.addExchangeRecord(serverId, activityId, roleId, playerData.roundIndex, count, addCoin, `${count}&${consumeGold}&${addCoin}&${time}`);
let exchangeCount = playerData.exchangeCount + count;
return resResult(STATUS.SUCCESS, Object.assign(result, {

View File

@@ -77,7 +77,7 @@ export class DailyMealHandler {
//免费期间
let rewardParamArr: Array<RewardParam> = stringToRewardParam(itemData.reward);
let result = await addReward(roleId, roleName, sid, serverId, rewardParamArr)
await ActivityDailyMealModel.addReceiveRecord(serverId, activityId, roleId, type, curDate);
await ActivityDailyMealModel.addReceiveRecord(serverId, activityId, roleId, type, curDate, playerData.roundIndex);
itemData.isReceive = true;
return resResult(STATUS.SUCCESS, Object.assign(result, {
param: { activityId, type },

View File

@@ -3,7 +3,7 @@ import {Application, RouteRecord, FrontendOrBackendSession, HandlerCallback, pin
import { refresh } from '../../../services/refreshService';
import { checkPrivateChat, checkGuildChat, checkOtherChat, checkRoleName, checkGuildName } from "../../../services/sdkService";
import { resResult, checkWhiteListWithUid, genCode } from "../../../pubUtils/util";
import { BLOCK_TYPE, CHANNEL_PREFIX, STATUS } from "../../../consts";
import { BLOCK_TYPE, CHANNEL_PREFIX, MSG_TYPE, STATUS } from "../../../consts";
import { UserModel } from "../../../db/User";
import { SERVER_DEBUG_MODE } from "../../../pubUtils/dicParam";
export function globalFilter(app: Application) {
@@ -51,12 +51,14 @@ Filter.prototype.before = async function (routeRecord: RouteRecord, msg: any, se
switch(routeRecord.route) {
case 'chat.chatHandler.sendPrivateMessage':
{
if(msg.type == MSG_TYPE.IMG) break;
let result = await checkPrivateChat(roleId, msg.targetRoleId, msg.content);
if(!result) hasBlockWords = true;
break;
}
case 'chat.chatHandler.sendGroupMessage':
{
if(msg.type == MSG_TYPE.IMG) break;
if(msg.channel == CHANNEL_PREFIX.GUILD) {
let result = await checkGuildChat(roleId, guildCode, msg.content);
if(!result) hasBlockWords = true;

View File

@@ -26,7 +26,7 @@ import { getActivities } from '../../../services/activity/activityService';
import * as dicParam from '../../../pubUtils/dicParam';
import Counter from '../../../db/Counter';
import { UserModel } from '../../../db/User';
import { checkFilterWords, reportTAEvent } from '../../../services/sdkService';
import { checkFilterWords, reportTAEvent, treatRoleName } from '../../../services/sdkService';
export default function (app: Application) {
new HandlerService(app, {});
@@ -614,4 +614,16 @@ export class RoleHandler {
return resResult(STATUS.SUCCESS);
}
async debugTreatRoleName(msg: { magicWord: string }, session: BackendSession) {
let roleId: string = session.get('roleId');
let { magicWord } = msg;
if (magicWord !== DEBUG_MAGIC_WORD) {
return resResult(STATUS.TOKEN_ERR);
}
await treatRoleName(roleId, true);
return resResult(STATUS.SUCCESS);
}
}

View File

@@ -25,7 +25,7 @@ export async function dailyCoinActivity(serverId: number, roleId: string) {
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new DailyCoinData(activityData, createTime);
let playerRecord: ActivityDailyCoinModelType = await ActivityDailyCoinModel.findData(serverId, activityData.activityId, roleId, playerData.beginTime);
let playerRecord: ActivityDailyCoinModelType = await ActivityDailyCoinModel.findData(serverId, activityData.activityId, roleId, playerData.roundIndex);
playerData.setPlayerRecords(playerRecord);
return playerData;
}
@@ -44,7 +44,7 @@ export async function getPlayerDailyCoinData(activityId: number, serverId: numbe
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new DailyCoinData(activityData, createTime);
let playerRecord: ActivityDailyCoinModelType = await ActivityDailyCoinModel.findData(serverId, activityData.activityId, roleId, playerData.beginTime);
let playerRecord: ActivityDailyCoinModelType = await ActivityDailyCoinModel.findData(serverId, activityData.activityId, roleId, playerData.roundIndex);
playerData.setPlayerRecords(playerRecord);
return playerData;
}

View File

@@ -25,8 +25,8 @@ export async function dailyMealActivity(serverId: number, roleId: string) {
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new DailyMealData(activityData, createTime);
let playerLunchRecords: ActivityDailyMealModelType[] = await ActivityDailyMealModel.findData(serverId, activityData.activityId, roleId, DAILY_MEAL_TYPE.LUNCH, playerData.beginTime, playerData.endTime);
let playerDinnerRecords: ActivityDailyMealModelType[] = await ActivityDailyMealModel.findData(serverId, activityData.activityId, roleId, DAILY_MEAL_TYPE.DINNER, playerData.beginTime, playerData.endTime);
let playerLunchRecords: ActivityDailyMealModelType[] = await ActivityDailyMealModel.findData(serverId, activityData.activityId, roleId, DAILY_MEAL_TYPE.LUNCH, playerData.roundIndex);
let playerDinnerRecords: ActivityDailyMealModelType[] = await ActivityDailyMealModel.findData(serverId, activityData.activityId, roleId, DAILY_MEAL_TYPE.DINNER, playerData.roundIndex);
playerData.setPlayerRecords(playerLunchRecords.concat(playerDinnerRecords));
return playerData;
}
@@ -45,8 +45,8 @@ export async function getPlayerDailyMealData(activityId: number, serverId: numbe
let { createTime } = await RoleModel.findByRoleId(roleId);
let playerData = new DailyMealData(activityData, createTime);
let playerLunchRecords: ActivityDailyMealModelType[] = await ActivityDailyMealModel.findData(serverId, activityData.activityId, roleId, DAILY_MEAL_TYPE.LUNCH, playerData.beginTime, playerData.endTime);
let playerDinnerRecords: ActivityDailyMealModelType[] = await ActivityDailyMealModel.findData(serverId, activityData.activityId, roleId, DAILY_MEAL_TYPE.DINNER, playerData.beginTime, playerData.endTime);
let playerLunchRecords: ActivityDailyMealModelType[] = await ActivityDailyMealModel.findData(serverId, activityData.activityId, roleId, DAILY_MEAL_TYPE.LUNCH, playerData.roundIndex);
let playerDinnerRecords: ActivityDailyMealModelType[] = await ActivityDailyMealModel.findData(serverId, activityData.activityId, roleId, DAILY_MEAL_TYPE.DINNER, playerData.roundIndex);
playerData.setPlayerRecords(playerLunchRecords.concat(playerDinnerRecords));
return playerData;
}

View File

@@ -12,7 +12,7 @@ import { GuildModel } from "../db/Guild";
import { getRoleOnlineInfo, updateUserInfo } from "./redisService";
import { Application, pinus } from "pinus";
import { getGuildChannelSid } from "./chatService";
import { getRandSingleEelm, readWordTxt, writeWordTxt } from "../pubUtils/util";
import { getRandSingleEelm, readWordTxt, resResult, writeWordTxt } from "../pubUtils/util";
const ThinkingAnalytics = require("thinkingdata-node");
import Trie from '../pubUtils/trie';
import _ = require("underscore");
@@ -99,9 +99,9 @@ export async function checkGuildName(guildCode: string, serverId: number, name:
// 根据37sdk处理违规玩家名
export async function treatRoleName(roleId: string) {
export async function treatRoleName(roleId: string, isDebug?: boolean) {
let role = await RoleModel.findByRoleId(roleId);
if(role && role.sdkMark) { // 有设置标记的情况下
if((role && role.sdkMark) || isDebug) { // 有设置标记的情况下
let newName = "默认玩家名";
// 新名字上传
await checkRoleName(roleId, newName, role);
@@ -112,6 +112,9 @@ export async function treatRoleName(roleId: string) {
const { sid } = await getRoleOnlineInfo(roleId);
if(!!sid) {
await pinus.app.rpc.connector.connectorRemote.setOtherUserRoleNameSession.toServer(sid,[{ roleId, roleName: newName }]); // 改session
pinus.app.get('channelService').pushMessageByUids('onPlayerDataChange', resResult(STATUS.SUCCESS, {
roleName: newName
}), [{uid: roleId, sid}]);
}
// 补偿
let gold = getGoldObject(NAMEPLATE.NAMEPLATE_FEECOST)

View File

@@ -83,7 +83,9 @@ module.exports = {
'optional uInt32 giftGold': 2,
'optional uInt32 gold': 3,
'optional uInt32 ap': 4,
'optional uInt32 totalPay': 5
'optional uInt32 totalPay': 5,
'optional uInt32 totalCost': 6,
'optional string roleName': 7,
},
'required string msg': 1,
'required uInt32 code': 2,

View File

@@ -52,9 +52,9 @@ module.exports = {
},
'production': {
'connector': [
{ 'id': 'connector-server-1', 'port': 4050, 'clientHost': 'pinus_test.trgame.cn', 'host': '127.0.0.1', 'clientPort': 3050, 'frontend': true },
{ 'id': 'connector-server-2', 'port': 4051, 'clientHost': 'pinus_test.trgame.cn', 'host': '127.0.0.1', 'clientPort': 3051, 'frontend': true },
{ 'id': 'connector-server-3', 'port': 4052, 'clientHost': 'pinus_test.trgame.cn', 'host': '127.0.0.1', 'clientPort': 3052, 'frontend': true }
{ 'id': 'connector-server-1', 'port': 4050, 'clientHost': 'zyz_web.trgame.cn', 'host': '127.0.0.1', 'clientPort': 3050, 'frontend': true },
{ 'id': 'connector-server-2', 'port': 4051, 'clientHost': 'zyz_web.trgame.cn', 'host': '127.0.0.1', 'clientPort': 3051, 'frontend': true },
{ 'id': 'connector-server-3', 'port': 4052, 'clientHost': 'zyz_web.trgame.cn', 'host': '127.0.0.1', 'clientPort': 3052, 'frontend': true }
],
'chat': [
{ 'id': 'chat-server-1', 'host': '127.0.0.1', 'port': 6050 },
@@ -66,11 +66,11 @@ module.exports = {
{ 'id': 'battle-server-1', 'host': '127.0.0.1', 'port': 6054 }
],
'gate': [
{ 'id': 'gate-server-1', 'host': '127.0.0.1', 'clientHost': 'pinus_test.trgame.cn', 'clientPort': 3014, 'frontend': true },
{ 'id': 'gate-server-1', 'host': '127.0.0.1', 'clientHost': 'zyz_web.trgame.cn', 'clientPort': 3014, 'frontend': true },
{
'id': 'gate-server-2',
'host': '127.0.0.1',
'clientHost': 'pinus_test.trgame.cn',
'clientHost': 'zyz_web.trgame.cn',
'clientPort': 3015,
'frontend': true
}
@@ -94,7 +94,7 @@ module.exports = {
},
'alpha': {
'connector': [
{ 'id': 'connector-server-1', 'port': 4050, 'clientHost': 'zyz_web.trgame.cn', 'host': '172.26.145.159', 'clientPort': 3050, 'frontend': true },
{ 'id': 'connector-server-1', 'port': 4050, 'clientHost': 'pinus_test.trgame.cn', 'host': '172.26.145.159', 'clientPort': 3050, 'frontend': true },
],
'chat': [
{ 'id': 'chat-server-1', 'host': '172.26.145.159', 'port': 6050 },
@@ -106,7 +106,7 @@ module.exports = {
{ 'id': 'battle-server-1', 'host': '172.26.145.159', 'port': 6054 }
],
'gate': [
{ 'id': 'gate-server-1', 'host': '172.26.145.159', 'clientHost': 'zyz_web.trgame.cn', 'clientPort': 3014, 'frontend': true }
{ 'id': 'gate-server-1', 'host': '172.26.145.159', 'clientHost': 'pinus_test.trgame.cn', 'clientPort': 3014, 'frontend': true }
],
'gm': [
{ 'id': 'gm-server-1', 'host': '172.26.145.159', 'port': 6055 }

View File

@@ -22,7 +22,7 @@ export default (appInfo: EggAppInfo) => {
};
config.mongoose = {
url: 'mongodb://dbop:zyzDev2021@dds-8vb5c74ba4263da41.mongodb.zhangbei.rds.aliyuncs.com:3717,dds-8vb5c74ba4263da42.mongodb.zhangbei.rds.aliyuncs.com:3717,dds-8vb5c74ba4263da43.mongodb.zhangbei.rds.aliyuncs.com:3717/zyz?readPreference=secondary&replicaSet=mgset-506991391', // 内网
url: 'mongodb://dbop:zyzdbopbantu@dds-8vbdb47c6fb58a541.mongodb.zhangbei.rds.aliyuncs.com:3717,dds-8vbdb47c6fb58a542.mongodb.zhangbei.rds.aliyuncs.com:3717/zyz?replicaSet=mgset-500808098', // 内网
options: { useNewUrlParser: true, useUnifiedTopology: true },
};
config.gmmongoose = {

View File

@@ -13,8 +13,8 @@ export default class Activity_Daily_Coin extends BaseModel {
activityId: number; // 活动Id
@prop({ required: true })
roleId: string; // 用户Id
@prop({ required: true })
beginTime: number; // 开始统计的时间
// @prop({ required: true })
// beginTime: number; // 开始统计的时间
@prop({ required: true })
exchangeCount: number; // 兑换次数
@prop({ required: true })
@@ -22,26 +22,28 @@ export default class Activity_Daily_Coin extends BaseModel {
@prop({ required: true })
recordMsg: string[]; // 兑换记录 exchangeCount&cointCount
@prop({ required: true })
roundIndex: number; // 周期数
//兑换记录
public static async addExchangeRecord(serverId: number, activityId: number, roleId: string, beginTime: number, count: number, coinCount: number, msg: string) {
let result = await ActivityDailyCoinModel.findOneAndUpdate({ serverId, activityId, roleId, beginTime },
public static async addExchangeRecord(serverId: number, activityId: number, roleId: string, roundIndex: number, count: number, coinCount: number, msg: string) {
let result = await ActivityDailyCoinModel.findOneAndUpdate({ serverId, activityId, roleId, roundIndex },
{ $inc: { exchangeCount: count, coinCount: coinCount }, $push: { recordMsg: msg } }, { upsert: true, new: true }).lean(true)
return result;
}
//根据活动时间查询活动数据
public static async findData(serverId: number, activityId: number, roleId: string, beginTime: number) {
public static async findData(serverId: number, activityId: number, roleId: string, roundIndex: number) {
let result: ActivityDailyCoinModelType = await ActivityDailyCoinModel.findOne({
serverId, roleId, activityId, beginTime,
serverId, roleId, activityId, roundIndex,
}).lean(true);
return result;
}
//删除活动兑换记录
public static async deleteActivity(serverId: number, activityId: number, roleId: string, beginTime: number) {
await ActivityDailyCoinModel.deleteMany({ serverId, roleId, activityId, beginTime });
public static async deleteActivity(serverId: number, activityId: number, roleId: string, roundIndex: number) {
await ActivityDailyCoinModel.deleteMany({ serverId, roleId, activityId, roundIndex });
}
}

View File

@@ -17,26 +17,31 @@ export default class Activity_Daily_Meal extends BaseModel {
receiveTime: number; // 领取时间
@prop({ required: true })
type: number; // 1午餐、2晚餐类型
@prop({ required: true })
roundIndex: number; // 周期数
//领取记录
public static async addReceiveRecord(serverId: number, activityId: number, roleId: string, type: number, receiveTime: number) {
public static async addReceiveRecord(serverId: number, activityId: number, roleId: string, type: number, receiveTime: number, roundIndex: number) {
await ActivityDailyMealModel.insertMany([
{
serverId,
activityId,
roleId,
receiveTime,
type
type,
roundIndex,
}
])
}
//根据活动时间查询活动数据
public static async findData(serverId: number, activityId: number, roleId: string, type: number, beginTime: number, endTime: number) {
public static async findData(serverId: number, activityId: number, roleId: string, type: number, roundIndex: number) {
let result: ActivityDailyMealModelType[] = await ActivityDailyMealModel.find({
serverId, roleId, activityId, type,
receiveTime: { $gt: beginTime, $lt: endTime }
roundIndex: roundIndex,
}).lean(true);
return result;
}

View File

@@ -97,7 +97,7 @@ export class SignInData extends ActivityBase {
if (this.type === ACTIVITY_TYPE.NEW_PLAYER_SIGN_IN) {
this.roundIndex = 1;
}
this.todayIndex = Math.ceil((moment(date).valueOf() - this.beginTime) / (24 * 60 * 60 * 1000));
this.todayIndex = Math.ceil((moment().valueOf() - this.beginTime) / (24 * 60 * 60 * 1000));
}

View File

@@ -114,10 +114,8 @@ export class CalHeroCe {
const isWake = colorStar > 0; // 是否觉醒,只要激活了觉醒,彩星就会 > 1
// console.log('*isUpstar', isUpStar, originStar, star, originColorStar, colorStar)
if(starStage < stage) star--;
if(colorStarStage < stage) colorStar--;
const dicStar = isWake ? getHeroWakeByQuality(dicHero.jobClass, dicHero.quality, colorStar) : getHeroStarByQuality(dicHero.jobClass, quality, star); // 星级表
const dicStar = isWake ? getHeroWakeByQuality(dicHero.jobClass, dicHero.quality, colorStarStage < stage? colorStar - 1: colorStar) : getHeroStarByQuality(dicHero.jobClass, quality, starStage < stage? star - 1: star); // 星级表
let heroAttr = dicHero.baseAbilityArr.get(attrId); // 武将表hp等
let heroUpAttr = dicHero.baseAbilityUpArr.get(attrId); // 武将表hp_up等
@@ -125,7 +123,7 @@ export class CalHeroCe {
if (!!dicStar && !!dicStar.ceAttr) {
starUp = dicStar.ceAttr.get(stage);
}
let base = heroAttr + (lv - 1) * (heroUpAttr + starUp);
let base = heroAttr + lv * (heroUpAttr + starUp);
this.getSingleAttrObj(attrId).updateAttr({ set: { base } });
};
}

View File

@@ -1,11 +1,15 @@
[
{
"dialogueId": 1,
"leftCharId": 19,
"leftCharId": 53,
"midCharId": 0,
"rightCharId": 53,
"rightCharId": 1008,
"bgId": 0,
"content": "&19\n这地方真是不错山清水秀的说不定还有什么天材地宝呢。"
"content": "&53\n又是黄巾贼受死",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 2,
@@ -13,63 +17,95 @@
"midCharId": 0,
"rightCharId": 1008,
"bgId": 0,
"content": "&53\n又是黄巾贼!受死!"
"content": "&1008\n女侠饶命啊\n前日里在真定被你们教训过后我已经知错了。我愿将劫掠所得全部献给女侠从此回家安心务农。\n还请女侠放我一马。",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 3,
"leftCharId": 0,
"midCharId": 1008,
"rightCharId": 0,
"leftCharId": 53,
"midCharId": 0,
"rightCharId": 1008,
"bgId": 0,
"content": "&1008\n女侠饶命啊\n前日里被你们教训过后我已经知错了我愿将劫掠所得全部献给女侠从此回家安心务农。\n还请女侠放我一马。"
"content": "&53\n你是……前些日子在真定遇到的黄巾贼",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 4,
"leftCharId": 0,
"midCharId": 1050,
"rightCharId": 0,
"leftCharId": 53,
"midCharId": 0,
"rightCharId": 1008,
"bgId": 0,
"content": "&1050\n后生仔今天有缘遇上了老夫。\n老夫看你骨骼惊奇相貌堂堂现有一场机缘送你。\n收下吧。"
"content": "&1008\n没错正是小人。\n小人本是幽州清白子弟当年被黄巾掳走之后为了保全自己无奈从贼。\n自从在真定看到二位大侠杀死了一直统领我们的渠帅我也有了机会离开黄巾返回家乡好好过日子。\n听说幽州牧刘虞正在招揽流民开垦田地我正打算返回幽州。\n还请二位大侠放小人一马给小人一个改过的机会。",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 5,
"leftCharId": 0,
"midCharId": 1008,
"rightCharId": 0,
"leftCharId": 19,
"midCharId": 0,
"rightCharId": 1008,
"bgId": 0,
"content": "&1008\n太平军在此\n尔等凡夫俗子快快将财宝献上饶你们一命\n否则送你们去见黄天"
"content": "&19\n你既然能够悔改说明你本性不坏。\n如今天下大乱不知多少百姓走投无路弃民为贼少有你这般又弃贼为民的。\n既然你愿意舍弃黄巾的身份重返家乡我们也不会为难你的。",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 6,
"leftCharId": 0,
"midCharId": 19,
"midCharId": 1012,
"rightCharId": 0,
"bgId": 0,
"content": "&19\n黄巾小贼劫掠百姓受死吧"
"content": "&1012\n此山是我开此路是我栽不留买命财砍头喂虎豺\n刚刚是不是念错了……\n不管了快快将财宝献上饶你们一命",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 7,
"leftCharId": 0,
"midCharId": 1008,
"midCharId": 19,
"rightCharId": 0,
"bgId": 0,
"content": "&1008\n呸\n看了几本传奇侠客就敢出来打抱不平。\n还是回家喝奶去吧哈哈哈哈"
"content": "&19\n拦路小贼劫掠百姓受死吧",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 8,
"leftCharId": 1048,
"midCharId": 0,
"rightCharId": 1008,
"leftCharId": 0,
"midCharId": 1012,
"rightCharId": 0,
"bgId": 0,
"content": "&1048\n救命啊有人劫色啊"
"content": "&1012\n呸\n看了几本传奇侠客就敢出来打抱不平。\n还是回家喝奶去吧哈哈哈哈",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 9,
"leftCharId": 19,
"midCharId": 0,
"rightCharId": 53,
"leftCharId": 0,
"midCharId": 1012,
"rightCharId": 0,
"bgId": 0,
"content": "&19\n有人呼救我们赶紧去看看发生了什么"
"content": "&1012\n哎哟点子扎手风紧扯呼~",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 10,
@@ -77,198 +113,766 @@
"midCharId": 0,
"rightCharId": 1008,
"bgId": 0,
"content": "&1008\n嘿嘿嘿,小娘子~\n安心和大爷一起去快活吧~"
"content": "&1048\n救命啊!有人劫色啊!",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 11,
"leftCharId": 0,
"midCharId": 19,
"rightCharId": 0,
"leftCharId": 19,
"midCharId": 0,
"rightCharId": 53,
"bgId": 0,
"content": "&19\n大胆色徒!"
"content": "&19\n有人呼救!我们赶紧去看看发生了什么!",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 12,
"leftCharId": 0,
"midCharId": 1048,
"rightCharId": 0,
"leftCharId": 1048,
"midCharId": 0,
"rightCharId": 1008,
"bgId": 0,
"content": "&1048\n多谢公子相救,不然妾身清白……呜呜呜"
"content": "&1008\n嘿嘿嘿,小娘子~\n安心和大爷一起去快活吧~",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 13,
"leftCharId": 0,
"midCharId": 1048,
"midCharId": 19,
"rightCharId": 0,
"bgId": 0,
"content": "&1048\n妾身无以为报只能……以这些钱财报答少侠救命之恩还请不要推辞。"
"content": "&19\n大胆色徒",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 14,
"leftCharId": 0,
"midCharId": 1008,
"midCharId": 1048,
"rightCharId": 0,
"bgId": 0,
"content": "&1008\n哪来的小鬼敢坏大爷好事!"
"content": "&1048\n多谢公子相救,不然妾身清白……呜呜呜",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 15,
"leftCharId": 0,
"midCharId": 1008,
"midCharId": 1048,
"rightCharId": 0,
"bgId": 0,
"content": "&1008\n可恶!那小娘子居然趁乱跑了……"
"content": "&1048\n妾身无以为报,只能……以这些钱财报答少侠救命之恩,还请不要推辞。",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 16,
"leftCharId": 0,
"midCharId": 14,
"midCharId": 1008,
"rightCharId": 0,
"bgId": 0,
"content": "&14\n这些问题……\n该如何回答呢…"
"content": "&1008\n哪来的小鬼敢坏大爷好事",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 17,
"leftCharId": 19,
"midCharId": 0,
"rightCharId": 14,
"leftCharId": 0,
"midCharId": 1008,
"rightCharId": 0,
"bgId": 0,
"content": "&14\n这位兄台不好意思在下打扰了。\n前日里在下获得一本奇书内容十分高深玄妙于书中有些疑惑尚未解开。碰巧遇到了兄台。\n观兄台相貌堂堂一表人才能否请兄台帮在下解答一二"
"content": "&1008\n可恶那小娘子居然趁乱跑了……",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 18,
"leftCharId": 0,
"midCharId": 14,
"midCharId": 53,
"rightCharId": 0,
"bgId": 0,
"content": "&14\n兄台真是好文采!\n在下收获颇多多谢兄台了。\n在下有些薄礼相赠感谢兄台还望兄台能够接受。"
"content": "&14\n这些问题都这么难……\n该怎么回答啊啊啊啊……",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 19,
"leftCharId": 0,
"midCharId": 14,
"rightCharId": 0,
"leftCharId": 19,
"midCharId": 0,
"rightCharId": 53,
"bgId": 0,
"content": "&14\n啊这……呵呵,兄台思路清奇,回答不落窠臼,真是让在下长见识了。\n区区薄礼以作打扰兄台之赔偿还请兄台收下。\n在下先行离开了告辞。"
"content": "&19\n怎么了轻衣?\n你怎么看上去很苦恼的样子\n有什么事吗",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 20,
"leftCharId": 0,
"midCharId": 12,
"rightCharId": 0,
"leftCharId": 19,
"midCharId": 0,
"rightCharId": 53,
"bgId": 0,
"content": "&12\n主公提的这些问题都好难啊我该怎么回答……\n好伤脑筋啊……"
"content": "&53\n子龙\n快来快来帮我看看。\n师父他通过千里鸟给我送来了一封信说虽然我已经出师但对我墨家经义不熟仍需时时温习。",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 21,
"leftCharId": 0,
"midCharId": 19,
"rightCharId": 0,
"leftCharId": 19,
"midCharId": 0,
"rightCharId": 53,
"bgId": 0,
"content": "&19\n啊!是谁撞到我了?"
"content": "&19\n信?让我看看。",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 22,
"leftCharId": 19,
"leftCharId": 57,
"midCharId": 0,
"rightCharId": 12,
"rightCharId": 0,
"bgId": 0,
"content": "&12\n啊不好意思少侠刚刚我在思考问题没有在意有人撞到了少侠还请少侠谅解。\n对了不知道少侠能不能帮我回答些问题我家主公出了些题目让我们回答可是我平日里没有什么积累希望少侠能够帮帮我。"
"content": "&57\n轻衣吾徒枪剑之约后你虽已出师但在为师心中你虽然武艺业已足够于吾墨家经义却尚未粗通。\n吾墨门之人需精熟墨义便览百家经典以达兵家“知己知彼”之境。\n故而以千里鸟飞书告诫吾徒经义学问不可弃。\n并此附上些许题目答后以千里鸟寄回以观你近日学问有无长进。\n慎学之谨教之勿忘勿忘……",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 23,
"leftCharId": 19,
"midCharId": 0,
"rightCharId": 12,
"rightCharId": 53,
"bgId": 0,
"content": "&19\n我我吗可是我……"
"content": "&53\n师父随信寄来的问题好难啊只是看了一眼我就头昏眼花了。\n不过正巧你来了帮我做做题目吧。",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 24,
"leftCharId": 19,
"midCharId": 0,
"rightCharId": 12,
"rightCharId": 53,
"bgId": 0,
"content": "&12\n少侠不必多担心,我也是死马当活马医了,还希望少侠能够帮帮我才好。"
"content": "&19\n可是……",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 25,
"leftCharId": 0,
"midCharId": 12,
"rightCharId": 0,
"leftCharId": 19,
"midCharId": 0,
"rightCharId": 53,
"bgId": 0,
"content": "&12\n少侠的文采见识真是非凡比子建公子还厉害。\n有了少侠的帮助主公的考验一定不在话下。\n乘还记得答案我先回去了。\n这里有些东西是我在路途上获得的送给少侠就当做给少侠的谢礼了。"
"content": "&53\n子龙你不会眼睁睁看着我回答不出来交一份空白的信给师父吧\n来嘛来嘛就这一次以后我保证认真读书了好不好嘛~",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 26,
"leftCharId": 19,
"midCharId": 0,
"rightCharId": 53,
"bgId": 0,
"content": "&19\n好吧好吧让我看看吧。\n不过只此一次啊。",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 27,
"leftCharId": 0,
"midCharId": 53,
"rightCharId": 0,
"bgId": 0,
"content": "&53\n啊这些题目真的是这样回答的嘛。\n算了算了死马当活马医吧反正我也写不出来。\n一……二……\n完成信也交给千里鸟了。\n喏这是师父随信寄来的一些东西说是用来奖励我学习的都送给你啦~",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 28,
"leftCharId": 0,
"midCharId": 53,
"rightCharId": 0,
"bgId": 0,
"content": "&53\n不愧是子龙居然真的把这些我看都看不懂的问题答出来了。\n一……二……\n完成信也交给千里鸟了。\n喏这是师父随信寄来的一些东西说是用来奖励我学习的都送给你啦~",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 29,
"leftCharId": 0,
"midCharId": 12,
"rightCharId": 0,
"bgId": 0,
"content": "&12\n这些答案……好像和主公所说的不一样啊。\n算了不去管这些谢谢少侠相助了。\n在下先行一步告辞了。"
},
{
"dialogueId": 27,
"leftCharId": 1050,
"midCharId": 0,
"rightCharId": 1041,
"bgId": 0,
"content": "&1002\n老匹夫给我走快点要是因为你一个人耽误了徭役老子给你们好看"
},
{
"dialogueId": 28,
"leftCharId": 1050,
"midCharId": 0,
"rightCharId": 1041,
"bgId": 0,
"content": "&1050\n军爷老朽老朽身体实在……"
},
{
"dialogueId": 29,
"leftCharId": 1049,
"midCharId": 0,
"rightCharId": 1041,
"bgId": 0,
"content": "&1049\n军爷我父亲再不休息就要撑不住了就让我们在这里歇一会儿吧。\n只要让我们缓一缓等休息好了我们一定加倍赶路。"
"content": "&12\n主公提的这些问题都好难啊,该怎么回答……\n真是伤脑筋啊……",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 30,
"leftCharId": 1049,
"midCharId": 0,
"rightCharId": 1041,
"bgId": 0,
"content": "&1041\n给你们时间那谁给我们时间\n耽误了太师的郿坞徭役你有几条命赔\n这老废物要是走不动了那老子这就砍了他我看你们谁还敢再慢下来"
},
{
"dialogueId": 31,
"leftCharId": 0,
"midCharId": 19,
"rightCharId": 0,
"bgId": 0,
"content": "&19\n住手!\n你们这些人竟然连老人家都不放过。\n看我收拾你们"
"content": "&19\n啊!是谁撞到我了?",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 31,
"leftCharId": 19,
"midCharId": 0,
"rightCharId": 12,
"bgId": 0,
"content": "&12\n啊不好意思少侠刚刚我在思考问题没有在意有人撞到了少侠还请少侠谅解。\n对了不知道少侠能不能帮我回答些问题我家主公出了些题目让我们回答可是我平日里没有什么积累希望少侠能够帮帮我。",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 32,
"leftCharId": 1049,
"leftCharId": 19,
"midCharId": 0,
"rightCharId": 19,
"rightCharId": 12,
"bgId": 0,
"content": "&19\n好了,现在已经没人再逼迫你们去服役了,你赶紧带着父亲和乡亲们回去吧。"
"content": "&19\n我?我吗?可是我……",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 33,
"leftCharId": 19,
"midCharId": 0,
"rightCharId": 12,
"bgId": 0,
"content": "&12\n少侠不必多担心我也是死马当活马医了还希望少侠能够帮帮我才好。",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 34,
"leftCharId": 0,
"midCharId": 12,
"rightCharId": 0,
"bgId": 0,
"content": "&12\n少侠的文采见识真是非凡比子建公子还厉害。\n有了少侠的帮助主公的考验一定不在话下。\n乘还记得答案我先回去了。\n这里有些东西是我在路途上获得的送给少侠就当做给少侠的谢礼了。",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 35,
"leftCharId": 0,
"midCharId": 12,
"rightCharId": 0,
"bgId": 0,
"content": "&12\n这些答案……好像和主公所说的不一样啊。\n算了不去管这些谢谢少侠相助了。\n在下先行一步告辞了。",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 36,
"leftCharId": 1050,
"midCharId": 0,
"rightCharId": 1041,
"bgId": 0,
"content": "&1041\n老匹夫给我走快点要是因为你一个人耽误了徭役老子给你们好看",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 37,
"leftCharId": 1050,
"midCharId": 0,
"rightCharId": 1041,
"bgId": 0,
"content": "&1050\n军爷老朽老朽身体实在……",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 38,
"leftCharId": 1049,
"midCharId": 0,
"rightCharId": 1041,
"bgId": 0,
"content": "&1049\n军爷我父亲再不休息就要撑不住了就让我们在这里歇一会儿吧。\n只要让我们缓一缓等休息好了我们一定加倍赶路。",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 39,
"leftCharId": 1049,
"midCharId": 0,
"rightCharId": 1041,
"bgId": 0,
"content": "&1041\n给你们时间那谁给我们时间\n耽误了太师的郿坞徭役你有几条命赔\n这老废物要是走不动了那老子这就砍了你我看你们谁还敢再慢下来",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 40,
"leftCharId": 0,
"midCharId": 19,
"rightCharId": 0,
"bgId": 0,
"content": "&53\n住手\n你们这些人竟然连老人家都不放过。\n看我收拾你们",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 41,
"leftCharId": 1049,
"midCharId": 0,
"rightCharId": 19,
"bgId": 0,
"content": "&1049\n多谢少侠多谢少侠救了我父亲一命。\n我这就带乡亲们回去。"
"content": "&1049\n多谢少侠多谢少侠救了我父亲一命。\n我这就带乡亲们回去。",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 34,
"dialogueId": 42,
"leftCharId": 19,
"midCharId": 0,
"rightCharId": 1041,
"bgId": 0,
"content": "&1041\n啊呸哪来的小毛孩敢挡大爷们的路不自量力。"
"content": "&1041\n啊呸哪来的小毛孩敢挡大爷们的路不自量力。",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 43,
"leftCharId": 22,
"midCharId": 0,
"rightCharId": 19,
"bgId": 0,
"content": "&19\n啊军师……",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 44,
"leftCharId": 22,
"midCharId": 0,
"rightCharId": 19,
"bgId": 0,
"content": "&22\n子龙前日所传兵书战策你可熟读了吗",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 45,
"leftCharId": 22,
"midCharId": 0,
"rightCharId": 19,
"bgId": 0,
"content": "&19\n那个……那些书实在太枯燥了……\n所以……读了但只读了一点点……",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 46,
"leftCharId": 22,
"midCharId": 0,
"rightCharId": 19,
"bgId": 0,
"content": "&22\n如今我军厉兵秣马正要大展宏图以抗曹贼。\n日后众将都将独自领兵镇守一方届时三军性命尽系于将军之手万万大意不得因此主公才嘱托在下讲习兵法。\n既然今日碰上那我就略微考校一番看看子龙近日研习的如何。",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 47,
"leftCharId": 0,
"midCharId": 22,
"rightCharId": 0,
"bgId": 0,
"content": "&22\n看来子龙果真在用心研读所出之题居然全部正确。\n既然如此用功这里有主公刚赏赐给我的一些杂物就送予子龙以作激励吧。\n以后领兵子龙可托付三军矣。",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 48,
"leftCharId": 0,
"midCharId": 19,
"rightCharId": 0,
"bgId": 0,
"content": "&19\n在下必将不负主公和军师所托随主公兴复汉室。",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 49,
"leftCharId": 0,
"midCharId": 22,
"rightCharId": 0,
"bgId": 0,
"content": "&22\n子龙真是实诚说是一点果真是一点。",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 50,
"leftCharId": 22,
"midCharId": 0,
"rightCharId": 19,
"bgId": 0,
"content": "&19\n嘿嘿军师……",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 51,
"leftCharId": 22,
"midCharId": 0,
"rightCharId": 19,
"bgId": 0,
"content": "&22\n还望子龙暇时能如二将军一样手不释卷熟读各类典籍。\n万万不可学三将军嬉笑胡闹毕竟三将军用兵天马行空不拘一格非常人能学。\n下次我再考考子龙吧。",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 52,
"leftCharId": 0,
"midCharId": 0,
"rightCharId": 25,
"bgId": 0,
"content": "&25\n将军今日天气这么好正适合我等切磋枪法。\n不如去往校场给弟兄们演练一番。",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 53,
"leftCharId": 19,
"midCharId": 0,
"rightCharId": 1001,
"bgId": 0,
"content": "&1001\n是呀是呀。如今大战未启将军给我们展示展示将军那手绝妙的枪法吧。",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 54,
"leftCharId": 19,
"midCharId": 0,
"rightCharId": 0,
"bgId": 0,
"content": "&19\n那……好吧。\n叔至你在枪法上是又有了什么感悟所以想要和我比试一番吗",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 55,
"leftCharId": 19,
"midCharId": 0,
"rightCharId": 25,
"bgId": 0,
"content": "&25\n前日和二将军外出作战之时向二将军讨教了些武道疑问二将军顺手指点了几招让我感受颇深。\n想要和将军比试一番看看实力是否有所长进。",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 56,
"leftCharId": 19,
"midCharId": 0,
"rightCharId": 25,
"bgId": 0,
"content": "&19\n既然这样那我们就切磋一番吧。",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 57,
"leftCharId": 0,
"midCharId": 0,
"rightCharId": 25,
"bgId": 0,
"content": "&25\n多谢将军赐教。\n果然我的枪法离将军还要差不少啊……",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 58,
"leftCharId": 0,
"midCharId": 0,
"rightCharId": 1001,
"bgId": 0,
"content": "&1001\n赵将军的枪法真是神了看得我们眼睛都花了。\n难怪当初在长坂坡能够杀个七进七出百万曹军那么多人都不敢阻拦将军。",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 59,
"leftCharId": 19,
"midCharId": 0,
"rightCharId": 25,
"bgId": 0,
"content": "&19\n叔至你的枪法已经比之前进步良多想必再过不久就能和我持平了。\n这次比试我也体会颇多果然武者只有不断切磋才能精练武艺闭门造车只能贻笑大方。",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 60,
"leftCharId": 0,
"midCharId": 0,
"rightCharId": 0,
"bgId": 0,
"content": "&25\n哈哈哈我终于小胜一招了。\n二将军果然厉害只是",
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 61,
"leftCharId": 0,
"midCharId": 0,
"rightCharId": 0,
"bgId": 0,
"content": 0,
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 62,
"leftCharId": 0,
"midCharId": 0,
"rightCharId": 0,
"bgId": 0,
"content": 0,
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 63,
"leftCharId": 0,
"midCharId": 0,
"rightCharId": 0,
"bgId": 0,
"content": 0,
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 64,
"leftCharId": 0,
"midCharId": 0,
"rightCharId": 0,
"bgId": 0,
"content": 0,
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 65,
"leftCharId": 0,
"midCharId": 0,
"rightCharId": 0,
"bgId": 0,
"content": 0,
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 66,
"leftCharId": 0,
"midCharId": 0,
"rightCharId": 0,
"bgId": 0,
"content": 0,
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 67,
"leftCharId": 0,
"midCharId": 0,
"rightCharId": 0,
"bgId": 0,
"content": 0,
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 68,
"leftCharId": 0,
"midCharId": 0,
"rightCharId": 0,
"bgId": 0,
"content": 0,
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 69,
"leftCharId": 0,
"midCharId": 0,
"rightCharId": 0,
"bgId": 0,
"content": 0,
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 70,
"leftCharId": 0,
"midCharId": 0,
"rightCharId": 0,
"bgId": 0,
"content": 0,
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 71,
"leftCharId": 0,
"midCharId": 0,
"rightCharId": 0,
"bgId": 0,
"content": 0,
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 72,
"leftCharId": 0,
"midCharId": 0,
"rightCharId": 0,
"bgId": 0,
"content": 0,
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
},
{
"dialogueId": 73,
"leftCharId": 0,
"midCharId": 0,
"rightCharId": 0,
"bgId": 0,
"content": 0,
"__EMPTY": 0,
"__EMPTY_1": 0,
"__EMPTY_2": 0,
"__EMPTY_3": 0
}
]

View File

@@ -3,8 +3,8 @@
"eventID": 1,
"eventType": 1,
"quality": 1,
"name": "天降宝箱",
"sSpineInUI": "gongbing",
"name": "逃兵献财",
"sSpineInUI": "huangjindao",
"actorIDForQuestion": 0,
"winReward": "11001&2000",
"loseReward": "11001&1000",
@@ -12,130 +12,130 @@
"warId": 0,
"weight": 13,
"movePointArray": "81&83&85&87",
"startDialogue": "1&4",
"startDialogue": "1&2&3&4&5",
"winDialogue": "&",
"loseDialogue": "&",
"group": 0
},
{
"eventID": 2,
"eventType": 1,
"eventType": 3,
"quality": 1,
"name": "逃兵献财",
"sSpineInUI": "huangjindao",
"name": "半途劫匪",
"sSpineInUI": "shanzeidao",
"actorIDForQuestion": 0,
"winReward": "31002&150",
"loseReward": "31002&75",
"suitLevel": "1&60",
"warId": 0,
"warId": 2001,
"weight": 13,
"movePointArray": "81&83&85&87",
"startDialogue": "2&3",
"winDialogue": "&",
"loseDialogue": "&",
"startDialogue": "6&7",
"winDialogue": "9&",
"loseDialogue": "8&",
"group": 0
},
{
"eventID": 3,
"eventType": 1,
"eventType": 3,
"quality": 1,
"name": "老人奇遇",
"sSpineInUI": "gongbing",
"name": "黄巾色将",
"sSpineInUI": "SL_huangjindao",
"actorIDForQuestion": 0,
"winReward": "17054&40",
"loseReward": "17054&20",
"suitLevel": "1&60",
"warId": 0,
"warId": 2002,
"weight": 13,
"movePointArray": "81&83&85&87",
"startDialogue": "1&4",
"winDialogue": "&",
"loseDialogue": "&",
"startDialogue": "10&11&12&13",
"winDialogue": "14&15",
"loseDialogue": "16&17",
"group": 0
},
{
"eventID": 4,
"eventType": 2,
"quality": 1,
"name": "给贾诩解惑",
"sSpineInUI": "jiaxu",
"actorIDForQuestion": 14,
"name": "轻衣答辩",
"sSpineInUI": "xiahouqingyi",
"actorIDForQuestion": 53,
"winReward": "17055&2",
"loseReward": "17055&1",
"suitLevel": "1&60",
"warId": 0,
"weight": 13,
"movePointArray": "81&83&85&87",
"startDialogue": "16&17",
"winDialogue": "18&",
"loseDialogue": "19&",
"startDialogue": "18&19&20&21&22&23&24&25&26",
"winDialogue": "28&",
"loseDialogue": "27&",
"group": 1
},
{
"eventID": 5,
"eventType": 2,
"quality": 1,
"name": "回答贾诩的考验",
"sSpineInUI": "jiaxu",
"actorIDForQuestion": 14,
"name": "给李典解惑",
"sSpineInUI": "lidian",
"actorIDForQuestion": 12,
"winReward": "31001&5000",
"loseReward": "31001&2500",
"suitLevel": "1&60",
"warId": 0,
"weight": 13,
"movePointArray": "81&83&85&87",
"startDialogue": "16&17",
"winDialogue": "18&",
"loseDialogue": "19&",
"startDialogue": "29&30&31&32&33&34",
"winDialogue": "35&",
"loseDialogue": "36&",
"group": 2
},
{
"eventID": 6,
"eventType": 2,
"eventType": 3,
"quality": 1,
"name": "帮助李典文学题",
"sSpineInUI": "lidian",
"actorIDForQuestion": 12,
"name": "解救苦役",
"sSpineInUI": "SL_daobing",
"actorIDForQuestion": 0,
"winReward": "17051&200",
"loseReward": "17051&100",
"suitLevel": "1&60",
"warId": 0,
"warId": 2003,
"weight": 13,
"movePointArray": "81&83&85&87",
"startDialogue": "20&21&22&23&24",
"winDialogue": "25&",
"loseDialogue": "26&",
"startDialogue": "37&38&39&40",
"winDialogue": "41&",
"loseDialogue": "42&",
"group": 2
},
{
"eventID": 7,
"eventType": 3,
"eventType": 2,
"quality": 1,
"name": "黄巾劫匪",
"sSpineInUI": "huangjindao",
"actorIDForQuestion": 0,
"name": "回答诸葛亮的习题",
"sSpineInUI": "zhugeliang",
"actorIDForQuestion": 22,
"winReward": "71001&1",
"loseReward": "71001&1",
"suitLevel": "1&60",
"warId": 2001,
"warId": 0,
"weight": 13,
"movePointArray": "81&83&85&87",
"startDialogue": "5&6",
"winDialogue": "3&",
"loseDialogue": "7&",
"startDialogue": "43&44&45&46",
"winDialogue": "47&48",
"loseDialogue": "49&50&51",
"group": 2
},
{
"eventID": 8,
"eventType": 3,
"eventType": 1,
"quality": 1,
"name": "解救百姓",
"name": "化解干戈",
"sSpineInUI": "qiangbing",
"actorIDForQuestion": 0,
"winReward": "17044&1",
"loseReward": "17044&1",
"suitLevel": "1&60",
"warId": 2002,
"warId": 0,
"weight": 13,
"movePointArray": "81&83&85&87",
"startDialogue": "27&28&29&30&31",
@@ -145,15 +145,15 @@
},
{
"eventID": 9,
"eventType": 3,
"eventType": 1,
"quality": 1,
"name": "黄巾色将",
"name": 0,
"sSpineInUI": "SL_huangjindao",
"actorIDForQuestion": 0,
"winReward": "22001&1",
"loseReward": "22001&1",
"suitLevel": "1&60",
"warId": 2003,
"warId": 0,
"weight": 13,
"movePointArray": "81&83&85&87",
"startDialogue": "8&9&10&11",

View File

@@ -1,10 +1,10 @@
[
{
"war_id": 2011,
"dispatchJsonId": 2011,
"bg_img": 2011,
"mapid": 2011,
"script_id": "R_2011&S_2011&RE_2011",
"war_id": 2511,
"dispatchJsonId": 2511,
"bg_img": 2511,
"mapid": 2511,
"script_id": "R_2511&S_2511&RE_2511",
"fixReward": "&",
"conditionReward": "31001&5000&0|31002&100&0|11002&10&0|22001&2&0",
"RandomReward": "&",
@@ -12,16 +12,16 @@
"gk_name": "遗迹&世外小村",
"kingExp": 0,
"lvLimted": 1,
"turnLimted": 30,
"turnLimted": 20,
"forcedCharactor": "&",
"fobiddenCharactor": "&",
"victoryInfoInUI": "消灭所有敌军",
"loseInfoInUI": "我方全部阵亡",
"victoryInfoInUI": "1.消灭所有敌军\r\n2.所有村民到达村口时死亡的村民数量≤2",
"loseInfoInUI": "1.我方全部阵亡\r\n2.死亡的村民数量≥3",
"starInfoInUI": "1.我方无人阵亡;\r\n2.在20回合内获得胜利",
"cost": 2,
"cost": 10,
"iconInMap": "spine&qingnian",
"iconName": "世外小村",
"heroInUI": "3&3605",
"heroInUI": "3&47",
"detailUIBg": "1000_1",
"recommendedPower": 10009,
"previousGk": 126,
@@ -29,14 +29,18 @@
"movePoint": 496,
"needPrepare": 1,
"spineInBigMap": "&",
"HeroNum": "6&6"
"HeroNum": "6&6",
"gkInfo": " 循着不详的气息,赵云一行人来到了一座神秘的小村庄。老人们说,他们是为了躲避连年战乱才来此地。\r\n 想不到即使是在这里,也藏着不为人知的阴谋……\r\n 这些阴兵,究竟由谁招来?山林里还有恶兽蠢蠢欲动……\r\n",
"HeroNum_1": "1&6",
"progress": "1&0|2&0",
"progressDesc": "已逃走的百姓数量&被击杀的百姓数量"
},
{
"war_id": 2012,
"dispatchJsonId": 2012,
"bg_img": 2012,
"mapid": 2012,
"script_id": "R_2012&S_2012&RE_2012",
"war_id": 2512,
"dispatchJsonId": 2512,
"bg_img": 2512,
"mapid": 2512,
"script_id": "R_2512&S_2512&RE_2512",
"fixReward": "&",
"conditionReward": "31001&5000&0|31002&100&0|11002&10&0|22001&2&0",
"RandomReward": "&",
@@ -44,31 +48,35 @@
"gk_name": "遗迹&迷雾洞窟",
"kingExp": 0,
"lvLimted": 1,
"turnLimted": 30,
"turnLimted": 20,
"forcedCharactor": "&",
"fobiddenCharactor": "&",
"victoryInfoInUI": "消灭所有敌军",
"loseInfoInUI": "我方全部阵亡",
"starInfoInUI": "1.我方无人阵亡;\r\n2.在20回合内获得胜利",
"cost": 2,
"cost": 10,
"iconInMap": "spine&yinbingdao",
"iconName": "迷雾洞窟",
"heroInUI": "3&3601",
"detailUIBg": "1000_2",
"recommendedPower": 10010,
"previousGk": 2011,
"previousGk": 2511,
"relatedGk": 1000224,
"movePoint": 503,
"needPrepare": 1,
"spineInBigMap": "&",
"HeroNum": "6&6"
"HeroNum": "6&6",
"gkInfo": "2.唧唧复唧唧,木兰当户织,谁言寸草心,报得三春晖。",
"HeroNum_1": "1&6",
"progress": "&",
"progressDesc": "&"
},
{
"war_id": 2013,
"dispatchJsonId": 2013,
"bg_img": 2013,
"mapid": 2013,
"script_id": "R_2013&S_2013&RE_2013",
"war_id": 2513,
"dispatchJsonId": 2513,
"bg_img": 2513,
"mapid": 2513,
"script_id": "R_2513&S_2513&RE_2513",
"fixReward": "&",
"conditionReward": "31001&5000&0|31002&100&0|11002&10&0|22001&2&0",
"RandomReward": "&",
@@ -76,30 +84,34 @@
"gk_name": "遗迹&黄天祭坛",
"kingExp": 0,
"lvLimted": 1,
"turnLimted": 50,
"turnLimted": 40,
"forcedCharactor": "&",
"fobiddenCharactor": "&",
"victoryInfoInUI": "消灭所有敌军",
"loseInfoInUI": "我方全部阵亡",
"starInfoInUI": "1.我方无人阵亡;\r\n2.在30回合内获得胜利",
"cost": 2,
"starInfoInUI": "1.我方无人阵亡;\r\n2.在40回合内获得胜利",
"cost": 30,
"iconInMap": "spine&zhangjiao",
"iconName": "黄天祭坛",
"heroInUI": "3&47",
"detailUIBg": "1000_3",
"recommendedPower": 10011,
"previousGk": 2012,
"previousGk": 2512,
"relatedGk": 1000324,
"movePoint": 507,
"needPrepare": 1,
"spineInBigMap": "&",
"HeroNum": "6&6"
"HeroNum": "6&6",
"gkInfo": "3.小怜玉体横陈夜,已报周军入晋阳",
"HeroNum_1": "1&6",
"progress": "&",
"progressDesc": "&"
},
{
"war_id": 2021,
"dispatchJsonId": 2021,
"bg_img": 9221,
"mapid": 9221,
"war_id": 2521,
"dispatchJsonId": 2521,
"bg_img": 2521,
"mapid": 2521,
"script_id": "R_9201&S_9201&RE_9201",
"fixReward": "&",
"conditionReward": "31001&6000&0|31002&100&0|11002&10&0|22001&2&0",
@@ -114,7 +126,7 @@
"victoryInfoInUI": "消灭所有敌军",
"loseInfoInUI": "我方全部阵亡",
"starInfoInUI": "1.我方无人阵亡;\r\n2.在5回合内获得胜利",
"cost": 2,
"cost": 10,
"iconInMap": "spine&qingnian",
"iconName": 0,
"heroInUI": "3&3605",
@@ -125,13 +137,17 @@
"movePoint": 529,
"needPrepare": 1,
"spineInBigMap": "&",
"HeroNum": "6&6"
"HeroNum": "6&6",
"gkInfo": "2.煮豆燃萁豆,豆在釜中泣,本是同根生,相煎何太急。",
"HeroNum_1": "1&6",
"progress": "&",
"progressDesc": "&"
},
{
"war_id": 2022,
"dispatchJsonId": 2022,
"bg_img": 9222,
"mapid": 9222,
"war_id": 2522,
"dispatchJsonId": 2522,
"bg_img": 2522,
"mapid": 2522,
"script_id": "R_9202&S_9202&RE_9202",
"fixReward": "&",
"conditionReward": "31001&6000&0|31002&100&0|11002&10&0|22001&2&0",
@@ -146,7 +162,7 @@
"victoryInfoInUI": "消灭所有敌军",
"loseInfoInUI": "我方全部阵亡",
"starInfoInUI": "1.我方无人阵亡;\r\n2.在5回合内获得胜利",
"cost": 2,
"cost": 10,
"iconInMap": "spine&yinbingdao",
"iconName": 0,
"heroInUI": "3&3601",
@@ -157,13 +173,17 @@
"movePoint": 534,
"needPrepare": 1,
"spineInBigMap": "&",
"HeroNum": "6&6"
"HeroNum": "6&6",
"gkInfo": "3.唧唧复唧唧,木兰当户织,谁言寸草心,报得三春晖。",
"HeroNum_1": "1&6",
"progress": "&",
"progressDesc": "&"
},
{
"war_id": 2023,
"dispatchJsonId": 2023,
"bg_img": 9223,
"mapid": 9223,
"war_id": 2523,
"dispatchJsonId": 2523,
"bg_img": 2523,
"mapid": 2523,
"script_id": "R_9203&S_9203&RE_9203",
"fixReward": "&",
"conditionReward": "31001&6000&0|31002&100&0|11002&10&0|22001&2&0",
@@ -178,7 +198,7 @@
"victoryInfoInUI": "消灭所有敌军",
"loseInfoInUI": "我方全部阵亡",
"starInfoInUI": "1.我方无人阵亡;\r\n2.在5回合内获得胜利",
"cost": 2,
"cost": 30,
"iconInMap": "spine&zhangjiao",
"iconName": 0,
"heroInUI": "3&3613",
@@ -189,11 +209,15 @@
"movePoint": 539,
"needPrepare": 1,
"spineInBigMap": "&",
"HeroNum": "6&6"
"HeroNum": "6&6",
"gkInfo": "4.小怜玉体横陈夜,已报周军入晋阳",
"HeroNum_1": "1&6",
"progress": "&",
"progressDesc": "&"
},
{
"war_id": 2031,
"dispatchJsonId": 2031,
"war_id": 2531,
"dispatchJsonId": 2531,
"bg_img": 9231,
"mapid": 9231,
"script_id": "R_9301&S_9301&RE_9301",
@@ -210,7 +234,7 @@
"victoryInfoInUI": "消灭所有敌军",
"loseInfoInUI": "我方全部阵亡",
"starInfoInUI": "1.我方无人阵亡;\r\n2.在5回合内获得胜利",
"cost": 2,
"cost": 10,
"iconInMap": "spine&qingnian",
"iconName": 0,
"heroInUI": "3&3605",
@@ -221,11 +245,15 @@
"movePoint": 544,
"needPrepare": 1,
"spineInBigMap": "&",
"HeroNum": "6&6"
"HeroNum": "6&6",
"gkInfo": "3.煮豆燃萁豆,豆在釜中泣,本是同根生,相煎何太急。",
"HeroNum_1": "1&6",
"progress": "&",
"progressDesc": "&"
},
{
"war_id": 2032,
"dispatchJsonId": 2032,
"war_id": 2532,
"dispatchJsonId": 2532,
"bg_img": 9232,
"mapid": 9232,
"script_id": "R_9302&S_9302&RE_9302",
@@ -242,7 +270,7 @@
"victoryInfoInUI": "消灭所有敌军",
"loseInfoInUI": "我方全部阵亡",
"starInfoInUI": "1.我方无人阵亡;\r\n2.在5回合内获得胜利",
"cost": 2,
"cost": 10,
"iconInMap": "spine&yinbingdao",
"iconName": 0,
"heroInUI": "3&3601",
@@ -253,11 +281,15 @@
"movePoint": 549,
"needPrepare": 1,
"spineInBigMap": "&",
"HeroNum": "6&6"
"HeroNum": "6&6",
"gkInfo": "4.唧唧复唧唧,木兰当户织,谁言寸草心,报得三春晖。",
"HeroNum_1": "1&6",
"progress": "&",
"progressDesc": "&"
},
{
"war_id": 2033,
"dispatchJsonId": 2033,
"war_id": 2533,
"dispatchJsonId": 2533,
"bg_img": 9233,
"mapid": 9233,
"script_id": "R_9303&S_9303&RE_9303",
@@ -274,7 +306,7 @@
"victoryInfoInUI": "消灭所有敌军",
"loseInfoInUI": "我方全部阵亡",
"starInfoInUI": "1.我方无人阵亡;\r\n2.在5回合内获得胜利",
"cost": 2,
"cost": 30,
"iconInMap": "spine&zhangjiao",
"iconName": 0,
"heroInUI": "3&3613",
@@ -285,11 +317,15 @@
"movePoint": 554,
"needPrepare": 1,
"spineInBigMap": "&",
"HeroNum": "6&6"
"HeroNum": "6&6",
"gkInfo": "5.小怜玉体横陈夜,已报周军入晋阳",
"HeroNum_1": "1&6",
"progress": "&",
"progressDesc": "&"
},
{
"war_id": 2041,
"dispatchJsonId": 2041,
"war_id": 2541,
"dispatchJsonId": 2541,
"bg_img": 9241,
"mapid": 9241,
"script_id": "R_9401&S_9401&RE_9401",
@@ -306,7 +342,7 @@
"victoryInfoInUI": "消灭所有敌军",
"loseInfoInUI": "我方全部阵亡",
"starInfoInUI": "1.我方无人阵亡;\r\n2.在5回合内获得胜利",
"cost": 2,
"cost": 10,
"iconInMap": "spine&qingnian",
"iconName": 0,
"heroInUI": "3&3605",
@@ -317,11 +353,15 @@
"movePoint": 559,
"needPrepare": 1,
"spineInBigMap": "&",
"HeroNum": "6&6"
"HeroNum": "6&6",
"gkInfo": "4.煮豆燃萁豆,豆在釜中泣,本是同根生,相煎何太急。",
"HeroNum_1": "1&6",
"progress": "&",
"progressDesc": "&"
},
{
"war_id": 2042,
"dispatchJsonId": 2042,
"war_id": 2542,
"dispatchJsonId": 2542,
"bg_img": 9242,
"mapid": 9242,
"script_id": "R_9402&S_9402&RE_9402",
@@ -338,7 +378,7 @@
"victoryInfoInUI": "消灭所有敌军",
"loseInfoInUI": "我方全部阵亡",
"starInfoInUI": "1.我方无人阵亡;\r\n2.在5回合内获得胜利",
"cost": 2,
"cost": 10,
"iconInMap": "spine&yinbingdao",
"iconName": 0,
"heroInUI": "3&3601",
@@ -349,11 +389,15 @@
"movePoint": 564,
"needPrepare": 1,
"spineInBigMap": "&",
"HeroNum": "6&6"
"HeroNum": "6&6",
"gkInfo": "5.唧唧复唧唧,木兰当户织,谁言寸草心,报得三春晖。",
"HeroNum_1": "1&6",
"progress": "&",
"progressDesc": "&"
},
{
"war_id": 2043,
"dispatchJsonId": 2043,
"war_id": 2543,
"dispatchJsonId": 2543,
"bg_img": 9243,
"mapid": 9243,
"script_id": "R_9403&S_9403&RE_9403",
@@ -370,7 +414,7 @@
"victoryInfoInUI": "消灭所有敌军",
"loseInfoInUI": "我方全部阵亡",
"starInfoInUI": "1.我方无人阵亡;\r\n2.在5回合内获得胜利",
"cost": 2,
"cost": 30,
"iconInMap": "spine&zhangjiao",
"iconName": 0,
"heroInUI": "3&3613",
@@ -381,11 +425,15 @@
"movePoint": 569,
"needPrepare": 1,
"spineInBigMap": "&",
"HeroNum": "6&6"
"HeroNum": "6&6",
"gkInfo": "6.小怜玉体横陈夜,已报周军入晋阳",
"HeroNum_1": "1&6",
"progress": "&",
"progressDesc": "&"
},
{
"war_id": 2051,
"dispatchJsonId": 2051,
"war_id": 2551,
"dispatchJsonId": 2551,
"bg_img": 9251,
"mapid": 9251,
"script_id": "R_9501&S_9501&RE_9501",
@@ -402,7 +450,7 @@
"victoryInfoInUI": "消灭所有敌军",
"loseInfoInUI": "我方全部阵亡",
"starInfoInUI": "1.我方无人阵亡;\r\n2.在5回合内获得胜利",
"cost": 2,
"cost": 10,
"iconInMap": "spine&qingnian",
"iconName": 0,
"heroInUI": "3&1535",
@@ -413,11 +461,15 @@
"movePoint": 574,
"needPrepare": 1,
"spineInBigMap": "&",
"HeroNum": "6&6"
"HeroNum": "6&6",
"gkInfo": "5.煮豆燃萁豆,豆在釜中泣,本是同根生,相煎何太急。",
"HeroNum_1": "1&6",
"progress": "&",
"progressDesc": "&"
},
{
"war_id": 2052,
"dispatchJsonId": 2052,
"war_id": 2552,
"dispatchJsonId": 2552,
"bg_img": 9252,
"mapid": 9252,
"script_id": "R_9502&S_9502&RE_9502",
@@ -434,7 +486,7 @@
"victoryInfoInUI": "消灭所有敌军",
"loseInfoInUI": "我方全部阵亡",
"starInfoInUI": "1.我方无人阵亡;\r\n2.在5回合内获得胜利",
"cost": 2,
"cost": 10,
"iconInMap": "spine&yinbingdao",
"iconName": 0,
"heroInUI": "3&3601",
@@ -445,11 +497,15 @@
"movePoint": 579,
"needPrepare": 1,
"spineInBigMap": "&",
"HeroNum": "6&6"
"HeroNum": "6&6",
"gkInfo": "6.唧唧复唧唧,木兰当户织,谁言寸草心,报得三春晖。",
"HeroNum_1": "1&6",
"progress": "&",
"progressDesc": "&"
},
{
"war_id": 2053,
"dispatchJsonId": 2053,
"war_id": 2553,
"dispatchJsonId": 2553,
"bg_img": 9253,
"mapid": 9253,
"script_id": "R_9503&S_9503&RE_9503",
@@ -466,7 +522,7 @@
"victoryInfoInUI": "消灭所有敌军",
"loseInfoInUI": "我方全部阵亡",
"starInfoInUI": "1.我方无人阵亡;\r\n2.在5回合内获得胜利",
"cost": 2,
"cost": 30,
"iconInMap": "spine&zhangjiao",
"iconName": 0,
"heroInUI": "3&1540",
@@ -477,11 +533,15 @@
"movePoint": 584,
"needPrepare": 1,
"spineInBigMap": "&",
"HeroNum": "6&6"
"HeroNum": "6&6",
"gkInfo": "7.小怜玉体横陈夜,已报周军入晋阳",
"HeroNum_1": "1&6",
"progress": "&",
"progressDesc": "&"
},
{
"war_id": 2061,
"dispatchJsonId": 9601,
"war_id": 2561,
"dispatchJsonId": 2561,
"bg_img": 9261,
"mapid": 9261,
"script_id": "R_9601&S_9601&RE_9601",
@@ -498,7 +558,7 @@
"victoryInfoInUI": "消灭所有敌军",
"loseInfoInUI": "我方全部阵亡",
"starInfoInUI": "1.我方无人阵亡;\r\n2.在5回合内获得胜利",
"cost": 2,
"cost": 10,
"iconInMap": "spine&wangcan",
"iconName": 0,
"heroInUI": "3&3605",
@@ -509,11 +569,15 @@
"movePoint": 589,
"needPrepare": 1,
"spineInBigMap": "&",
"HeroNum": "6&6"
"HeroNum": "6&6",
"gkInfo": "6.煮豆燃萁豆,豆在釜中泣,本是同根生,相煎何太急。",
"HeroNum_1": "1&6",
"progress": "&",
"progressDesc": "&"
},
{
"war_id": 2062,
"dispatchJsonId": 9602,
"war_id": 2562,
"dispatchJsonId": 2562,
"bg_img": 9262,
"mapid": 9262,
"script_id": "R_9602&S_9602&RE_9602",
@@ -530,7 +594,7 @@
"victoryInfoInUI": "消灭所有敌军",
"loseInfoInUI": "我方全部阵亡",
"starInfoInUI": "1.我方无人阵亡;\r\n2.在5回合内获得胜利",
"cost": 2,
"cost": 10,
"iconInMap": "spine&yanshi",
"iconName": 0,
"heroInUI": "3&3601",
@@ -541,11 +605,15 @@
"movePoint": 594,
"needPrepare": 1,
"spineInBigMap": "&",
"HeroNum": "6&6"
"HeroNum": "6&6",
"gkInfo": "7.唧唧复唧唧,木兰当户织,谁言寸草心,报得三春晖。",
"HeroNum_1": "1&6",
"progress": "&",
"progressDesc": "&"
},
{
"war_id": 2063,
"dispatchJsonId": 9603,
"war_id": 2563,
"dispatchJsonId": 2563,
"bg_img": 9263,
"mapid": 9263,
"script_id": "R_9603&S_9603&RE_9603",
@@ -562,7 +630,7 @@
"victoryInfoInUI": "消灭所有敌军",
"loseInfoInUI": "我方全部阵亡",
"starInfoInUI": "1.我方无人阵亡;\r\n2.在5回合内获得胜利",
"cost": 2,
"cost": 30,
"iconInMap": "spine&sengren",
"iconName": 0,
"heroInUI": "3&3613",
@@ -573,11 +641,15 @@
"movePoint": 599,
"needPrepare": 1,
"spineInBigMap": "chapter6_yiji",
"HeroNum": "6&6"
"HeroNum": "6&6",
"gkInfo": "8.小怜玉体横陈夜,已报周军入晋阳",
"HeroNum_1": "1&6",
"progress": "&",
"progressDesc": "&"
},
{
"war_id": 2071,
"dispatchJsonId": 2071,
"war_id": 2571,
"dispatchJsonId": 2571,
"bg_img": 9271,
"mapid": 9271,
"script_id": "R_9701&S_9701&RE_9701",
@@ -594,7 +666,7 @@
"victoryInfoInUI": "消灭所有敌军",
"loseInfoInUI": "我方全部阵亡",
"starInfoInUI": "1.我方无人阵亡;\r\n2.在5回合内获得胜利",
"cost": 2,
"cost": 10,
"iconInMap": "spine&qingnian",
"iconName": 0,
"heroInUI": "3&3605",
@@ -605,11 +677,15 @@
"movePoint": 604,
"needPrepare": 1,
"spineInBigMap": "&",
"HeroNum": "6&6"
"HeroNum": "6&6",
"gkInfo": "7.煮豆燃萁豆,豆在釜中泣,本是同根生,相煎何太急。",
"HeroNum_1": "1&6",
"progress": "&",
"progressDesc": "&"
},
{
"war_id": 2072,
"dispatchJsonId": 2072,
"war_id": 2572,
"dispatchJsonId": 2572,
"bg_img": 9272,
"mapid": 9272,
"script_id": "R_9702&S_9702&RE_9702",
@@ -626,7 +702,7 @@
"victoryInfoInUI": "消灭所有敌军",
"loseInfoInUI": "我方全部阵亡",
"starInfoInUI": "1.我方无人阵亡;\r\n2.在5回合内获得胜利",
"cost": 2,
"cost": 10,
"iconInMap": "spine&yinbingdao",
"iconName": 0,
"heroInUI": "3&3601",
@@ -637,11 +713,15 @@
"movePoint": 609,
"needPrepare": 1,
"spineInBigMap": "&",
"HeroNum": "6&6"
"HeroNum": "6&6",
"gkInfo": "8.唧唧复唧唧,木兰当户织,谁言寸草心,报得三春晖。",
"HeroNum_1": "1&6",
"progress": "&",
"progressDesc": "&"
},
{
"war_id": 2073,
"dispatchJsonId": 2073,
"war_id": 2573,
"dispatchJsonId": 2573,
"bg_img": 9273,
"mapid": 9273,
"script_id": "R_9703&S_9703&RE_9703",
@@ -658,7 +738,7 @@
"victoryInfoInUI": "消灭所有敌军",
"loseInfoInUI": "我方全部阵亡",
"starInfoInUI": "1.我方无人阵亡;\r\n2.在5回合内获得胜利",
"cost": 2,
"cost": 30,
"iconInMap": "spine&zhangjiao",
"iconName": 0,
"heroInUI": "3&3613",
@@ -669,6 +749,10 @@
"movePoint": 614,
"needPrepare": 1,
"spineInBigMap": "&",
"HeroNum": "6&6"
"HeroNum": "6&6",
"gkInfo": "9.小怜玉体横陈夜,已报周军入晋阳",
"HeroNum_1": "1&6",
"progress": "&",
"progressDesc": "&"
}
]

View File

@@ -35,8 +35,8 @@
{
"war_id": 102,
"dispatchJsonId": 102,
"bg_img": 601,
"mapid": 601,
"bg_img": 102,
"mapid": 102,
"chapter": 0,
"script_id": "R_102&S_102&RE_102",
"fixReward": "&",
@@ -314,7 +314,7 @@
"forcedCharactor": "&",
"fobiddenCharactor": "&",
"victoryInfoInUI": "消灭所有敌军",
"loseInfoInUI": "我方全部阵亡",
"loseInfoInUI": "我方全部阵亡或黄巾军阵亡",
"starInfoInUI": "无",
"cost": 10,
"iconInMap": "spine&lang",
@@ -332,8 +332,8 @@
{
"war_id": 112,
"dispatchJsonId": 112,
"bg_img": 111,
"mapid": 111,
"bg_img": 112,
"mapid": 112,
"chapter": 1,
"script_id": "R_112&S_112&RE_112",
"fixReward": "11001&2|31001&300|17004&1",
@@ -464,8 +464,8 @@
{
"war_id": 116,
"dispatchJsonId": 116,
"bg_img": 115,
"mapid": 115,
"bg_img": 116,
"mapid": 116,
"chapter": 1,
"script_id": "R_116&S_116&RE_116",
"fixReward": "11001&2|31001&300|17003&1",
@@ -596,8 +596,8 @@
{
"war_id": 120,
"dispatchJsonId": 120,
"bg_img": 119,
"mapid": 119,
"bg_img": 120,
"mapid": 120,
"chapter": 1,
"script_id": "R_120&S_120&RE_120",
"fixReward": "11001&2|31001&300|17002&1",
@@ -728,8 +728,8 @@
{
"war_id": 124,
"dispatchJsonId": 124,
"bg_img": 123,
"mapid": 123,
"bg_img": 124,
"mapid": 124,
"chapter": 1,
"script_id": "R_124&S_124&RE_124",
"fixReward": "11001&2|31001&300|17006&1",
@@ -1587,7 +1587,7 @@
"war_id": 222,
"dispatchJsonId": 222,
"bg_img": 605,
"mapid": 605,
"mapid": 222,
"chapter": 2,
"script_id": "R_222&S_222",
"fixReward": "11001&2|31001&500|17012&1",
@@ -2213,8 +2213,8 @@
{
"war_id": 317,
"dispatchJsonId": 317,
"bg_img": 601,
"mapid": 601,
"bg_img": 608,
"mapid": 317,
"chapter": 3,
"script_id": "R_317&S_317",
"fixReward": "11001&3|31001&700|17021&1",
@@ -2246,8 +2246,8 @@
{
"war_id": 318,
"dispatchJsonId": 318,
"bg_img": 602,
"mapid": 602,
"bg_img": 613,
"mapid": 318,
"chapter": 3,
"script_id": "R_318&S_318",
"fixReward": "11001&3|31001&700|17017&1",
@@ -2279,8 +2279,8 @@
{
"war_id": 319,
"dispatchJsonId": 319,
"bg_img": 604,
"mapid": 604,
"bg_img": 621,
"mapid": 319,
"chapter": 3,
"script_id": "R_319&S_319",
"fixReward": "11001&3|31001&700|17018&1",
@@ -2345,8 +2345,8 @@
{
"war_id": 321,
"dispatchJsonId": 321,
"bg_img": 603,
"mapid": 603,
"bg_img": 602,
"mapid": 321,
"chapter": 3,
"script_id": "R_321&S_321",
"fixReward": "11001&3|31001&700|17020&1",
@@ -2378,8 +2378,8 @@
{
"war_id": 322,
"dispatchJsonId": 322,
"bg_img": 604,
"mapid": 604,
"bg_img": 608,
"mapid": 322,
"chapter": 3,
"script_id": "R_322&S_322",
"fixReward": "11001&3|31001&700|17021&1",
@@ -2411,8 +2411,8 @@
{
"war_id": 323,
"dispatchJsonId": 323,
"bg_img": 602,
"mapid": 602,
"bg_img": 605,
"mapid": 323,
"chapter": 3,
"script_id": "R_323&S_323",
"fixReward": "11001&3|31001&700|17017&1",

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -22,7 +22,7 @@
"19": 1,
"20": 1,
"21": 1,
"22": 1,
"22": 255,
"23": 1,
"24": 2,
"25": 1,
@@ -84,7 +84,7 @@
"19": 1,
"20": 1,
"21": 1,
"22": 1,
"22": 255,
"23": 1,
"24": 2,
"25": 1,
@@ -146,7 +146,7 @@
"19": 1,
"20": 1,
"21": 2,
"22": 2,
"22": 255,
"23": 2,
"24": 3,
"25": 2,
@@ -208,7 +208,7 @@
"19": 1,
"20": 1,
"21": 1,
"22": 1,
"22": 255,
"23": 1,
"24": 2,
"25": 1,
@@ -270,7 +270,7 @@
"19": 1,
"20": 1,
"21": 1,
"22": 1,
"22": 255,
"23": 1,
"24": 2,
"25": 1,
@@ -332,7 +332,7 @@
"19": 1,
"20": 1,
"21": 1,
"22": 1,
"22": 255,
"23": 1,
"24": 2,
"25": 1,
@@ -394,7 +394,7 @@
"19": 1,
"20": 1,
"21": 1,
"22": 1,
"22": 255,
"23": 1,
"24": 2,
"25": 1,
@@ -456,7 +456,7 @@
"19": 1,
"20": 1,
"21": 1,
"22": 1,
"22": 255,
"23": 1,
"24": 2,
"25": 1,
@@ -518,7 +518,7 @@
"19": 1,
"20": 1,
"21": 1,
"22": 1,
"22": 255,
"23": 1,
"24": 2,
"25": 1,
@@ -580,7 +580,7 @@
"19": 1,
"20": 1,
"21": 1,
"22": 1,
"22": 255,
"23": 1,
"24": 2,
"25": 1,

File diff suppressed because it is too large Load Diff

View File

@@ -312,7 +312,7 @@ export default class Auth extends Service {
const code = ctx.service.utils.genCode(6);
const seqId = await Counter.getNewCounter(COUNTER.ROLE) || -1;
const role = await RoleModel.createRole(uid, serverId, { roleId, code, roleName: roleId, seqId, lv: DEFAULT_LV, exp: (getExpByLv(DEFAULT_LV - 1) || { sum: 0 }).sum || 0 });
const role = await RoleModel.createRole(uid, serverId, { roleId, code, roleName: "", seqId, lv: DEFAULT_LV, exp: (getExpByLv(DEFAULT_LV - 1) || { sum: 0 }).sum || 0 });
if (role) {
// 任务
await checkTask(roleId, TASK_TYPE.ROLE_LV, role.lv, false, {});

View File

@@ -21,7 +21,7 @@ export default (appInfo: EggAppInfo) => {
config.middleware = [ 'parmsDecode' ];
config.mongoose = {
url: 'mongodb://dbop:zyzMon2021@dds-8vb7474e31ba7ed41.mongodb.zhangbei.rds.aliyuncs.com:3717,dds-8vb7474e31ba7ed42.mongodb.zhangbei.rds.aliyuncs.com:3717/zyz?replicaSet=mgset-505529944', // 内网
url: 'mongodb://dbop:zyzdbopbantu@dds-8vbdb47c6fb58a541.mongodb.zhangbei.rds.aliyuncs.com:3717,dds-8vbdb47c6fb58a542.mongodb.zhangbei.rds.aliyuncs.com:3717/zyz?replicaSet=mgset-500808098', // 内网
options: { useNewUrlParser: true, useUnifiedTopology: true },
};
config.gmmongoose = {
@@ -29,8 +29,8 @@ export default (appInfo: EggAppInfo) => {
options: { useNewUrlParser: true, useUnifiedTopology: true },
};
config.redis = {
url: 'r-8vb130185rp2ir3lqn.redis.zhangbei.rds.aliyuncs.com', // 内网
pw: 'zyz_monitor_2021'
url: 'r-8vb4i2kgl91886fkxd.redis.zhangbei.rds.aliyuncs.com', // 内网
pw: 'zyz_2020'
};
// config.alinode = {

View File

@@ -25,7 +25,8 @@
"monitor": "cross-env EGG_SERVER_ENV=monitor npm run dev",
"distribute": "cross-env EGG_SERVER_ENV=distribute npm run dev",
"lylocal": "cross-env EGG_SERVER_ENV=lylocal npm run dev",
"alpha": "cross-env EGG_SERVER_ENV=alpha npm run dev"
"alpha": "cross-env EGG_SERVER_ENV=alpha npm run dev",
"stable": "cross-env EGG_SERVER_ENV=stable npm run dev"
},
"dependencies": {
"@types/underscore": "^1.11.3",