军团:建筑物表

This commit is contained in:
luying
2021-01-21 14:45:10 +08:00
parent 3a0f31ea0b
commit 1e5bf9415a
14 changed files with 1127 additions and 35 deletions

View File

@@ -14,7 +14,6 @@ import { UserGuildApplyModel } from "../db/UserGuildApply";
export async function checkAuth(func: number, roleId: string, code?: string, userGuild?: UserGuildType) {
const auth = await UserGuildModel.getMyAuth(roleId, code, userGuild);
const dicGuildAuth = gameData.guildAuth.get(func);
console.log(auth, dicGuildAuth)
if(!dicGuildAuth) return false;
return dicGuildAuth.includes(auth);

View File

@@ -297,7 +297,14 @@ export const FILENAME = {
DIC_PVP_HERO_REWARD: 'dic_pvp_heroAccountReward',
DIC_PVP_RANK_REWARD: 'dic_pvp_rankReward',
DIC_PVP_BOX: 'dic_pvp_boxReward',
DIC_GUILD_AUTH: 'auth'
DIC_GUILD_AUTH: 'authority',
DIC_GUILD_STRUCTURE_CENTER: 'structureCentre',
DIC_GUILD_EQUIP_PRODUCE_BASE: 'equipProduceBase',
DIC_GUILD_BOSS_BASE: 'bossBase',
DIC_GUILD_TRAIN_BASE: 'trainBase',
DIC_GUILD_DONATE_BASE: 'donatebase',
DIC_GUILD_WISH_POOL_BASE: 'wishpool',
DIC_GUILD_STORE_BASE: 'store'
}
export const WAR_RELATE_TABLES = [

View File

@@ -44,6 +44,7 @@ import { dicHeroRewads } from './dictionary/DicPvpHeroReward';
import { dicRankRewads, dicRankMax } from './dictionary/DicPvpRankReward';
import { dicPvpBoxs } from './dictionary/DicPvpBox';
import { dicGuildAuth } from './dictionary/DicGuildAuth';
import { dicCenterBase, dicEquipPriduceBase, dicBossBase, dicTrainBase, dicDonateBase, dicWishPoolBase, dicStoreBase, dicStructureConsume } from "../../game-server/app/pubUtils/dictionary/DicStructure";
export const gameData = {
blurprtCompose: dicBlueprtCompose,
@@ -104,7 +105,15 @@ export const gameData = {
pvpRankRewards: dicRankRewads,
pvpBoxs: dicPvpBoxs,
pvpRankMax: dicRankMax,
guildAuth: dicGuildAuth
guildAuth: dicGuildAuth,
centerBase: dicCenterBase,
equipProduceBase: dicEquipPriduceBase,
bossBase: dicBossBase,
trainBase: dicTrainBase,
donateBase: dicDonateBase,
wishPoolBase: dicWishPoolBase,
storeBase: dicStoreBase,
structureConsume: dicStructureConsume
};
// 在此提供一些原先在gamedata中提供的方法以便更方便获取gameData数据
@@ -305,4 +314,8 @@ export function getPvpBoxs() {
export function getResultMaxRank() {
return gameData.pvpRankMax;
}
export function getStructureConsume(structureId: number, level: number) {
return gameData.structureConsume.get(structureId).get(level);
}

View File

@@ -6,8 +6,8 @@ export interface DicGuildAuth {
// id
readonly id: number;
// 权限 TODO 策划字段未定
readonly auths: number[];
// 权限
readonly authority: number[];
}
@@ -17,7 +17,7 @@ let arr = JSON.parse(str);
export const dicGuildAuth = new Map<number, number[]>();
arr.forEach(o => {
let auths = parseNumberList(o.auths)
dicGuildAuth.set(o.id, auths);
let authority = parseNumberList(o.authority)
dicGuildAuth.set(o.id, authority);
});
arr = undefined;

View File

@@ -0,0 +1,287 @@
// 军团建筑物
import {readJsonFile, parseGoodStr, parseNumberList, decodeArrayListStr} from '../util'
import { FILENAME } from '../../consts'
import { RewardInter } from '../interface';
const _ = require('lodash');
type KeysEnum<T> = { [P in keyof Required<T>]: true };
// 中军大帐
export interface DicCentreBase {
// id
readonly id: number;
// 等级
readonly level: number;
// 最大人数
readonly peopleNum: number;
// 管理员人数
readonly managerNum: number;
}
const DicCenterKeys: KeysEnum<DicCentreBase> = {
id: true,
level: true,
peopleNum: true,
managerNum: true
};
// 炼器堂
export interface DicEquipProduceBase {
// id
readonly id: number;
// 等级
readonly level: number;
// 开启炼器及研发等级
readonly levelProduce: number;
// 可研发的碎片的品质
readonly qualityProduce: number[];
}
const DicEquipProduceKeys: KeysEnum<DicEquipProduceBase> = {
id: true,
level: true,
levelProduce: true,
qualityProduce: true
};
// 演武台
export interface DicBossBase {
// id
readonly id: number;
// 等级
readonly level: number;
// boss等级
readonly bossLevel: number;
// 关卡id
readonly warId: number;
// 掉落的拍卖行奖励
readonly reward: RewardInter[];
}
const DicBossKeys: KeysEnum<DicBossBase> = {
id: true,
level: true,
bossLevel: true,
warId: true,
reward: true
};
// 练兵场
export interface DicTrainBase {
// id
readonly id: number;
// 等级
readonly level: number;
// 进阶等级
readonly trainLevel: number;
// 难度系数
readonly difficultyRatio: number;
// 据点奖励增长系数
readonly judianRewardRatio: number;
// 进阶奖励
readonly jinjieReward: RewardInter[];
}
const DicTrainKeys: KeysEnum<DicTrainBase> = {
id: true,
level: true,
trainLevel: true,
difficultyRatio: true,
judianRewardRatio: true,
jinjieReward: true
};
// 捐献所
export interface DicDonateBase {
// id
readonly id: number;
// 等级
readonly level: number;
// 捐献值
readonly donateValue: {type: number, count: number}[];
// 捐献奖励
readonly donateReward: {fund: number, honour: number}[];
// 今日捐献宝箱领取奖励系数
readonly boxRewardRatio: number;
}
const DicDonateKeys: KeysEnum<DicDonateBase> = {
id: true,
level: true,
donateValue: true,
donateReward: true,
boxRewardRatio: true
};
// 许愿池
export interface DicWishPoolBase {
// id
readonly id: number;
// 等级
readonly level: number;
// 许愿物品
readonly wishGoods: {type: number, quality: number, count: number}[];
}
const DicWishPoolKeys: KeysEnum<DicWishPoolBase> = {
id: true,
level: true,
wishGoods: true
};
// 商店
export interface DicStoreBase {
// id
readonly id: number;
// 等级
readonly level: number;
// 许愿物品
readonly storeGoods: {id: number, count: number, num: number}[];
}
const DicStoreKeys: KeysEnum<DicStoreBase> = {
id: true,
level: true,
storeGoods: true
};
export const dicStructureConsume = new Map<number, Map<number, RewardInter[]>>(); // 升级消耗 structureId => level => consume
export const dicCenterBase = new Map<number, DicCentreBase>(); // 中军大帐
export const dicEquipPriduceBase = new Map<number, DicEquipProduceBase>(); // 炼器堂
export const dicBossBase = new Map<number, DicBossBase>(); // 演武台
export const dicTrainBase = new Map<number, DicTrainBase>(); // 练兵场
export const dicDonateBase = new Map<number, DicDonateBase>(); // 捐献所
export const dicWishPoolBase = new Map<number, DicWishPoolBase>(); // 许愿池
export const dicStoreBase = new Map<number, DicWishPoolBase>(); // 许愿池
// 中军大帐
const strCenter = readJsonFile(FILENAME.DIC_GUILD_STRUCTURE_CENTER);
let arrCenter = JSON.parse(strCenter);
arrCenter.forEach(o => {
setStructureConsume(o);
dicCenterBase.set(o.level, _.pick(o, Object.keys(DicCenterKeys)));
});
arrCenter = undefined;
// 炼器堂
const strEquip = readJsonFile(FILENAME.DIC_GUILD_EQUIP_PRODUCE_BASE);
let arrEquip = JSON.parse(strEquip);
arrEquip.forEach(o => {
setStructureConsume(o);
o.qualityProduce = parseNumberList(o.qualityProduce);
dicEquipPriduceBase.set(o.level, _.pick(o, Object.keys(DicEquipProduceKeys)));
});
arrEquip = undefined;
// 演武台
const strBoss = readJsonFile(FILENAME.DIC_GUILD_BOSS_BASE);
let arrBoss = JSON.parse(strBoss);
arrBoss.forEach(o => {
setStructureConsume(o);
o.reward = parseGoodStr(o.reward);
dicBossBase.set(o.level, _.pick(o, Object.keys(DicBossKeys)));
});
arrBoss = undefined;
// 练兵场
const strTrain = readJsonFile(FILENAME.DIC_GUILD_TRAIN_BASE);
let arrTrain = JSON.parse(strTrain);
arrTrain.forEach(o => {
setStructureConsume(o);
o.jinjieReward = parseGoodStr(o.jinjieReward);
dicTrainBase.set(o.level, _.pick(o, Object.keys(DicTrainKeys)));
});
arrTrain = undefined;
// 捐献所
const strDonate = readJsonFile(FILENAME.DIC_GUILD_DONATE_BASE);
let arrDonate = JSON.parse(strDonate);
arrDonate.forEach(o => {
setStructureConsume(o);
o.donateValue = parseDonateValue(o.donatevalue);
o.donateReward = parseDonateReward(o.donateReward);
dicDonateBase.set(o.level, _.pick(o, Object.keys(DicDonateKeys)));
});
arrDonate = undefined;
// 许愿池
const strWishPool = readJsonFile(FILENAME.DIC_GUILD_WISH_POOL_BASE);
let arrWishPool = JSON.parse(strWishPool);
arrWishPool.forEach(o => {
setStructureConsume(o);
o.wishGoods = parseWishGoods(o.wishgoods);
dicWishPoolBase.set(o.level, _.pick(o, Object.keys(DicWishPoolKeys)));
});
arrWishPool = undefined;
// 商店
const strStore = readJsonFile(FILENAME.DIC_GUILD_STORE_BASE);
let arrStore = JSON.parse(strStore);
arrStore.forEach(o => {
setStructureConsume(o);
o.storeGoods = parseStoreGoods(o.storeGoods);
dicStoreBase.set(o.level, _.pick(o, Object.keys(DicStoreKeys)));
});
arrStore = undefined;
// 升级消耗
function setStructureConsume(o) {
let map = dicStructureConsume.get(o.structureId);
if(!map) map = new Map<number, RewardInter[]>();
map.set(o.level, parseGoodStr(o.consume));
}
// {"type": number, "count": number}
export function parseDonateValue(str: string) {
let result = new Array<{ type: number, count: number }>();
if (!str) return result;
let decodeArr = decodeArrayListStr(str);
for (let [type, count] of decodeArr) {
if (isNaN(parseInt(type)) || isNaN(parseInt(count))) {
throw new Error('data table format wrong');
}
result.push({ type: parseInt(type), count: parseInt(count) });
}
return result
}
// {"fund": number, "honour": number}
export function parseDonateReward(str: string) {
let result = new Array<{ fund: number, honour: number }>();
if (!str) return result;
let decodeArr = decodeArrayListStr(str);
for (let [fund, honour] of decodeArr) {
if (isNaN(parseInt(fund)) || isNaN(parseInt(honour))) {
throw new Error('data table format wrong');
}
result.push({ fund: parseInt(fund), honour: parseInt(honour) });
}
return result
}
// {"type": number, "quality": number, "count": number}
export function parseWishGoods(str: string) {
let result = new Array<{ type: number, quality: number, count: number }>();
if (!str) return result;
let decodeArr = decodeArrayListStr(str);
for (let [type, quality, count] of decodeArr) {
if (isNaN(parseInt(type)) || isNaN(parseInt(quality))|| isNaN(parseInt(count))) {
throw new Error('data table format wrong');
}
result.push({ type: parseInt(type), quality: parseInt(quality), count: parseInt(count) });
}
return result
}
// {"id": number, "count": number, "num": number}
export function parseStoreGoods(str: string) {
let result = new Array<{ id: number, count: number, num: number }>();
if (!str) return result;
let decodeArr = decodeArrayListStr(str);
for (let [id, count, num] of decodeArr) {
if (isNaN(parseInt(id)) || isNaN(parseInt(count))|| isNaN(parseInt(num))) {
throw new Error('data table format wrong');
}
result.push({ id: parseInt(id), count: parseInt(count), num: parseInt(num) });
}
return result
}

View File

@@ -1,28 +0,0 @@
[
{"id": 1, "auths": "4"},
{"id": 2, "auths": "1&2&3&4"},
{"id": 3, "auths": "4"},
{"id": 4, "auths": "1&2&3&4"},
{"id": 5, "auths": "1&2&3"},
{"id": 6, "auths": "4"},
{"id": 7, "auths": "4"},
{"id": 8, "auths": "1&2&3&4"},
{"id": 9, "auths": "1&2&3"},
{"id": 10, "auths": "1&2"},
{"id": 11, "auths": "1&2"},
{"id": 12, "auths": "1&2"},
{"id": 13, "auths": "1&2"},
{"id": 14, "auths": "1&2"},
{"id": 15, "auths": "1&2"},
{"id": 16, "auths": "1&2"},
{"id": 17, "auths": "1&2"},
{"id": 18, "auths": "1"},
{"id": 19, "auths": "1"},
{"id": 20, "auths": "2&3"},
{"id": 21, "auths": "2&3"},
{"id": 22, "auths": "1&2"},
{"id": 23, "auths": "1&2&3"},
{"id": 26, "auths": "2&3"},
{"id": 27, "auths": "2&3"},
{"id": 28, "auths": "1&"}
]

View File

@@ -0,0 +1,142 @@
[
{
"id": 1,
"name": "创建军团",
"authority": "4&"
},
{
"id": 2,
"name": "显示所有军团列表",
"authority": "1&2&3&4"
},
{
"id": 3,
"name": "申请加入军团",
"authority": "4&"
},
{
"id": 4,
"name": "查看军团详细(头像,名字,人数,团长,等级,战力,公告,需求等)",
"authority": "1&2&3&4"
},
{
"id": 5,
"name": "团员查看自己军团详细(资金,军团活跃,自己的职位,自己的功勋)",
"authority": "1&2&3"
},
{
"id": 6,
"name": "玩家查看自己被邀请的军团",
"authority": "4&"
},
{
"id": 7,
"name": "玩家接受邀请",
"authority": "4&"
},
{
"id": 8,
"name": "查看成员列表(仅名字,职位,登录时间)",
"authority": "1&2&3&4"
},
{
"id": 9,
"name": "查看成员列表(名字,管理职务,战力,功勋,登录时间)",
"authority": "1&2&3"
},
{
"id": 10,
"name": "查看成员列表(任命,罢免,转让 按钮)",
"authority": "1&"
},
{
"id": 11,
"name": "修改公会名,公告信息,加入条件,是否自动加入",
"authority": "1&2"
},
{
"id": 12,
"name": "查看申请列表",
"authority": "1&2"
},
{
"id": 13,
"name": "(一键)同意/拒绝加入",
"authority": "1&2"
},
{
"id": 14,
"name": "查看/刷新 可邀请人列表",
"authority": "1&2"
},
{
"id": 15,
"name": "邀请某人",
"authority": "1&2"
},
{
"id": 16,
"name": "发送消息给军团内所有成员的游戏",
"authority": "1&2"
},
{
"id": 17,
"name": "招募(发送消息至世界频道)",
"authority": "1&2"
},
{
"id": 18,
"name": "踢人",
"authority": "1&"
},
{
"id": 19,
"name": "解散军团",
"authority": "1&"
},
{
"id": 20,
"name": "退出军团",
"authority": "2&3"
},
{
"id": 21,
"name": "弹劾团长",
"authority": "2&3"
},
{
"id": 22,
"name": "消耗军团资金升级建筑物",
"authority": "1&2"
},
{
"id": 23,
"name": "获得军团动态",
"authority": "1&2&3"
},
{
"id": 24,
"name": "开启演武台",
"authority": "1&2"
},
{
"id": 25,
"name": "炼器堂研发",
"authority": "1&2"
},
{
"id": 26,
"name": "被踢出军团",
"authority": "2&3"
},
{
"id": 27,
"name": "被任命",
"authority": "2&3"
},
{
"id": 28,
"name": "被弹劾",
"authority": "1&"
}
]

View File

@@ -0,0 +1,102 @@
[
{
"id": 1,
"structureId": 3,
"level": 1,
"bossLevel": 20,
"warId": 0,
"reward": 0,
"consume": 0,
"buildWords": 0
},
{
"id": 2,
"structureId": 3,
"level": 2,
"bossLevel": 25,
"warId": 0,
"reward": 0,
"consume": 0,
"buildWords": 0
},
{
"id": 3,
"structureId": 3,
"level": 3,
"bossLevel": 30,
"warId": 0,
"reward": 0,
"consume": 0,
"buildWords": 0
},
{
"id": 4,
"structureId": 3,
"level": 4,
"bossLevel": 40,
"warId": 0,
"reward": 0,
"consume": 0,
"buildWords": 0
},
{
"id": 5,
"structureId": 3,
"level": 5,
"bossLevel": 50,
"warId": 0,
"reward": 0,
"consume": 0,
"buildWords": 0
},
{
"id": 6,
"structureId": 3,
"level": 6,
"bossLevel": 60,
"warId": 0,
"reward": 0,
"consume": 0,
"buildWords": 0
},
{
"id": 7,
"structureId": 3,
"level": 7,
"bossLevel": 70,
"warId": 0,
"reward": 0,
"consume": 0,
"buildWords": 0
},
{
"id": 8,
"structureId": 3,
"level": 8,
"bossLevel": 80,
"warId": 0,
"reward": 0,
"consume": 0,
"buildWords": 0
},
{
"id": 9,
"structureId": 3,
"level": 9,
"bossLevel": 90,
"warId": 0,
"reward": 0,
"consume": 0,
"buildWords": 0
},
{
"id": 10,
"structureId": 3,
"level": 10,
"bossLevel": 100,
"warId": 0,
"reward": 0,
"consume": 0,
"buildWords": 0
}
]

View File

@@ -0,0 +1,102 @@
[
{
"id": 1,
"structureId": 5,
"level": 1,
"donatevalue": "1&2000|2&10|2&20",
"donateReward": "20&20|100&200|400&600",
"consume": 0,
"buildWords": 0,
"boxRewardRatio": 1
},
{
"id": 2,
"structureId": 5,
"level": 2,
"donatevalue": "1&4000|2&20|2&40",
"donateReward": "40&40|200&400|600&1000",
"consume": 0,
"buildWords": 0,
"boxRewardRatio": 1.05
},
{
"id": 3,
"structureId": 5,
"level": 3,
"donatevalue": "1&6000|2&30|2&60",
"donateReward": 0,
"consume": 0,
"buildWords": 0,
"boxRewardRatio": 1.1
},
{
"id": 4,
"structureId": 5,
"level": 4,
"donatevalue": "1&8000|2&40|2&80",
"donateReward": 0,
"consume": 0,
"buildWords": 0,
"boxRewardRatio": 1.15
},
{
"id": 5,
"structureId": 5,
"level": 5,
"donatevalue": "1&10000|2&50|2&100",
"donateReward": 0,
"consume": 0,
"buildWords": 0,
"boxRewardRatio": 1.2
},
{
"id": 6,
"structureId": 5,
"level": 6,
"donatevalue": "1&12000|2&60|2&120",
"donateReward": 0,
"consume": 0,
"buildWords": 0,
"boxRewardRatio": 1.3
},
{
"id": 7,
"structureId": 5,
"level": 7,
"donatevalue": "1&14000|2&70|2&140",
"donateReward": 0,
"consume": 0,
"buildWords": 0,
"boxRewardRatio": 1.4
},
{
"id": 8,
"structureId": 5,
"level": 8,
"donatevalue": "1&16000|2&80|2&160",
"donateReward": 0,
"consume": 0,
"buildWords": 0,
"boxRewardRatio": 1.5
},
{
"id": 9,
"structureId": 5,
"level": 9,
"donatevalue": "1&18000|2&90|2&180",
"donateReward": 0,
"consume": 0,
"buildWords": 0,
"boxRewardRatio": 1.6
},
{
"id": 10,
"structureId": 5,
"level": 10,
"donatevalue": "1&20000|2&100|2&200",
"donateReward": 0,
"consume": 0,
"buildWords": 0,
"boxRewardRatio": 1.7
}
]

View File

@@ -0,0 +1,110 @@
[
{
"id": 1,
"structureId": 2,
"level": 1,
"levelProduce": 19,
"qualityProduce": "1&2",
"consume": 0,
"buildWords": 0
},
{
"id": 2,
"structureId": 2,
"level": 2,
"levelProduce": 19,
"qualityProduce": "3&4",
"consume": 0,
"buildWords": 0
},
{
"id": 3,
"structureId": 2,
"level": 3,
"levelProduce": 39,
"qualityProduce": "1&2",
"consume": 0,
"buildWords": 0
},
{
"id": 4,
"structureId": 2,
"level": 4,
"levelProduce": 39,
"qualityProduce": "3&4",
"consume": 0,
"buildWords": 0
},
{
"id": 5,
"structureId": 2,
"level": 5,
"levelProduce": 59,
"qualityProduce": "1&2",
"consume": 0,
"buildWords": 0
},
{
"id": 6,
"structureId": 2,
"level": 6,
"levelProduce": 59,
"qualityProduce": "3&4",
"consume": 0,
"buildWords": 0
},
{
"id": 7,
"structureId": 2,
"level": 7,
"levelProduce": 79,
"qualityProduce": "1&2",
"consume": 0,
"buildWords": 0
},
{
"id": 8,
"structureId": 2,
"level": 8,
"levelProduce": 79,
"qualityProduce": "3&4",
"consume": 0,
"buildWords": 0
},
{
"id": 9,
"structureId": 2,
"level": 9,
"levelProduce": 99,
"qualityProduce": "1&2&3&4",
"consume": 0,
"buildWords": 0
},
{
"id": 10,
"structureId": 2,
"level": 10,
"levelProduce": 100,
"qualityProduce": "1&2&3&4",
"consume": 0,
"buildWords": 0
},
{
"id": 0,
"structureId": 0,
"level": 0,
"levelProduce": " ",
"qualityProduce": 0,
"consume": 0,
"buildWords": 0
},
{
"id": 0,
"structureId": 0,
"level": 0,
"levelProduce": 0,
"qualityProduce": 0,
"consume": 0,
"buildWords": 0
}
]

View File

@@ -0,0 +1,62 @@
[
{
"id": 1,
"structureId": 6,
"level": 1,
"storeGoods": 0
},
{
"id": 2,
"structureId": 6,
"level": 2,
"storeGoods": 0
},
{
"id": 3,
"structureId": 6,
"level": 3,
"storeGoods": 0
},
{
"id": 4,
"structureId": 6,
"level": 4,
"storeGoods": 0
},
{
"id": 5,
"structureId": 6,
"level": 5,
"storeGoods": 0
},
{
"id": 6,
"structureId": 6,
"level": 6,
"storeGoods": 0
},
{
"id": 7,
"structureId": 6,
"level": 7,
"storeGoods": 0
},
{
"id": 8,
"structureId": 6,
"level": 8,
"storeGoods": 0
},
{
"id": 9,
"structureId": 6,
"level": 9,
"storeGoods": 0
},
{
"id": 10,
"structureId": 6,
"level": 10,
"storeGoods": 0
}
]

View File

@@ -0,0 +1,92 @@
[
{
"id": 1,
"structureId": 1,
"level": 1,
"peopleNum": 60,
"managerNum": 2,
"consume": 0,
"buildWords": 0
},
{
"id": 2,
"structureId": 1,
"level": 2,
"peopleNum": 60,
"managerNum": 2,
"consume": 0,
"buildWords": 0
},
{
"id": 3,
"structureId": 1,
"level": 3,
"peopleNum": 60,
"managerNum": 2,
"consume": 0,
"buildWords": 0
},
{
"id": 4,
"structureId": 1,
"level": 4,
"peopleNum": 70,
"managerNum": 3,
"consume": 0,
"buildWords": 0
},
{
"id": 5,
"structureId": 1,
"level": 5,
"peopleNum": 70,
"managerNum": 3,
"consume": 0,
"buildWords": 0
},
{
"id": 6,
"structureId": 1,
"level": 6,
"peopleNum": 70,
"managerNum": 3,
"consume": 0,
"buildWords": 0
},
{
"id": 7,
"structureId": 1,
"level": 7,
"peopleNum": 80,
"managerNum": 4,
"consume": 0,
"buildWords": 0
},
{
"id": 8,
"structureId": 1,
"level": 8,
"peopleNum": 80,
"managerNum": 4,
"consume": 0,
"buildWords": 0
},
{
"id": 9,
"structureId": 1,
"level": 9,
"peopleNum": 80,
"managerNum": 5,
"consume": 0,
"buildWords": 0
},
{
"id": 10,
"structureId": 1,
"level": 10,
"peopleNum": 100,
"managerNum": 5,
"consume": 0,
"buildWords": 0
}
]

View File

@@ -0,0 +1,122 @@
[
{
"id": 1,
"structureId": 4,
"level": 1,
"trainLevel": 1,
"name": "一阶",
"difficultyRatio": 1,
"shilianRewardRatio": 1,
"consume": 0,
"buildWords": 0,
"jinjieReward": 0
},
{
"id": 2,
"structureId": 4,
"level": 2,
"trainLevel": 2,
"name": "二阶",
"difficultyRatio": 1.1,
"shilianRewardRatio": 1.1,
"consume": 0,
"buildWords": 0,
"jinjieReward": 0
},
{
"id": 3,
"structureId": 4,
"level": 3,
"trainLevel": 3,
"name": "三阶",
"difficultyRatio": 1.2,
"shilianRewardRatio": 1.2,
"consume": 0,
"buildWords": 0,
"jinjieReward": 0
},
{
"id": 4,
"structureId": 4,
"level": 4,
"trainLevel": 4,
"name": "四阶",
"difficultyRatio": 1.3,
"shilianRewardRatio": 1.3,
"consume": 0,
"buildWords": 0,
"jinjieReward": 0
},
{
"id": 5,
"structureId": 4,
"level": 5,
"trainLevel": 5,
"name": "五阶",
"difficultyRatio": 1.4,
"shilianRewardRatio": 1.4,
"consume": 0,
"buildWords": 0,
"jinjieReward": 0
},
{
"id": 6,
"structureId": 4,
"level": 6,
"trainLevel": 6,
"name": "六阶",
"difficultyRatio": 1.5,
"shilianRewardRatio": 1.5,
"consume": 0,
"buildWords": 0,
"jinjieReward": 0
},
{
"id": 7,
"structureId": 4,
"level": 7,
"trainLevel": 7,
"name": "七阶",
"difficultyRatio": 1.6,
"shilianRewardRatio": 1.6,
"consume": 0,
"buildWords": 0,
"jinjieReward": 0
},
{
"id": 8,
"structureId": 4,
"level": 8,
"trainLevel": 8,
"name": "八阶",
"difficultyRatio": 1.7,
"shilianRewardRatio": 1.7,
"consume": 0,
"buildWords": 0,
"jinjieReward": 0
},
{
"id": 9,
"structureId": 4,
"level": 9,
"trainLevel": 9,
"name": "九阶",
"difficultyRatio": 1.8,
"shilianRewardRatio": 1.8,
"consume": 0,
"buildWords": 0,
"jinjieReward": 0
},
{
"id": 10,
"structureId": 4,
"level": 10,
"trainLevel": 10,
"name": "十阶",
"difficultyRatio": 2,
"shilianRewardRatio": 2,
"consume": 0,
"buildWords": 0,
"jinjieReward": 0
}
]

View File

@@ -0,0 +1,82 @@
[
{
"id": 1,
"structureId": 5,
"level": 1,
"wishgoods": "1&2&1",
"consume": 0,
"buildWords": 0
},
{
"id": 2,
"structureId": 5,
"level": 2,
"wishgoods": "1&2&1",
"consume": 0,
"buildWords": 0
},
{
"id": 3,
"structureId": 5,
"level": 3,
"wishgoods": "1&2&2",
"consume": 0,
"buildWords": 0
},
{
"id": 4,
"structureId": 5,
"level": 4,
"wishgoods": "1&2&2|2&1&2",
"consume": 0,
"buildWords": 0
},
{
"id": 5,
"structureId": 5,
"level": 5,
"wishgoods": 0,
"consume": 0,
"buildWords": 0
},
{
"id": 6,
"structureId": 5,
"level": 6,
"wishgoods": 0,
"consume": 0,
"buildWords": 0
},
{
"id": 7,
"structureId": 5,
"level": 7,
"wishgoods": 0,
"consume": 0,
"buildWords": 0
},
{
"id": 8,
"structureId": 5,
"level": 8,
"wishgoods": 0,
"consume": 0,
"buildWords": 0
},
{
"id": 9,
"structureId": 5,
"level": 9,
"wishgoods": 0,
"consume": 0,
"buildWords": 0
},
{
"id": 10,
"structureId": 5,
"level": 10,
"wishgoods": 0,
"consume": 0,
"buildWords": 0
}
]