diff --git a/game-server/app/services/guildService.ts b/game-server/app/services/guildService.ts index 9581db8f6..8044d38e6 100644 --- a/game-server/app/services/guildService.ts +++ b/game-server/app/services/guildService.ts @@ -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); diff --git a/shared/consts/constModules/sysConst.ts b/shared/consts/constModules/sysConst.ts index 3410ea895..6548d28c6 100644 --- a/shared/consts/constModules/sysConst.ts +++ b/shared/consts/constModules/sysConst.ts @@ -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 = [ diff --git a/shared/pubUtils/data.ts b/shared/pubUtils/data.ts index ebb098e22..39b120f44 100644 --- a/shared/pubUtils/data.ts +++ b/shared/pubUtils/data.ts @@ -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); } \ No newline at end of file diff --git a/shared/pubUtils/dictionary/DicGuildAuth.ts b/shared/pubUtils/dictionary/DicGuildAuth.ts index f183f4c12..c4d7fc10b 100644 --- a/shared/pubUtils/dictionary/DicGuildAuth.ts +++ b/shared/pubUtils/dictionary/DicGuildAuth.ts @@ -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(); 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; \ No newline at end of file diff --git a/shared/pubUtils/dictionary/DicStructure.ts b/shared/pubUtils/dictionary/DicStructure.ts new file mode 100644 index 000000000..60940b566 --- /dev/null +++ b/shared/pubUtils/dictionary/DicStructure.ts @@ -0,0 +1,287 @@ +// 军团建筑物 +import {readJsonFile, parseGoodStr, parseNumberList, decodeArrayListStr} from '../util' +import { FILENAME } from '../../consts' +import { RewardInter } from '../interface'; +const _ = require('lodash'); + +type KeysEnum = { [P in keyof Required]: true }; +// 中军大帐 +export interface DicCentreBase { + // id + readonly id: number; + // 等级 + readonly level: number; + // 最大人数 + readonly peopleNum: number; + // 管理员人数 + readonly managerNum: number; +} + +const DicCenterKeys: KeysEnum = { + 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 = { + 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 = { + 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 = { + 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 = { + 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 = { + 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 = { + id: true, + level: true, + storeGoods: true +}; + +export const dicStructureConsume = new Map>(); // 升级消耗 structureId => level => consume +export const dicCenterBase = new Map(); // 中军大帐 +export const dicEquipPriduceBase = new Map(); // 炼器堂 +export const dicBossBase = new Map(); // 演武台 +export const dicTrainBase = new Map(); // 练兵场 +export const dicDonateBase = new Map(); // 捐献所 +export const dicWishPoolBase = new Map(); // 许愿池 +export const dicStoreBase = new Map(); // 许愿池 + +// 中军大帐 +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(); + 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 +} \ No newline at end of file diff --git a/shared/resource/jsons/auth.json b/shared/resource/jsons/auth.json deleted file mode 100644 index 098174368..000000000 --- a/shared/resource/jsons/auth.json +++ /dev/null @@ -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&"} -] \ No newline at end of file diff --git a/shared/resource/jsons/authority.json b/shared/resource/jsons/authority.json new file mode 100644 index 000000000..b379f11e2 --- /dev/null +++ b/shared/resource/jsons/authority.json @@ -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&" + } +] \ No newline at end of file diff --git a/shared/resource/jsons/bossBase.json b/shared/resource/jsons/bossBase.json new file mode 100644 index 000000000..276500b0e --- /dev/null +++ b/shared/resource/jsons/bossBase.json @@ -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 + } +] \ No newline at end of file diff --git a/shared/resource/jsons/donatebase.json b/shared/resource/jsons/donatebase.json new file mode 100644 index 000000000..c261144b2 --- /dev/null +++ b/shared/resource/jsons/donatebase.json @@ -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 + } +] \ No newline at end of file diff --git a/shared/resource/jsons/equipProduceBase.json b/shared/resource/jsons/equipProduceBase.json new file mode 100644 index 000000000..20d0cfb7b --- /dev/null +++ b/shared/resource/jsons/equipProduceBase.json @@ -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 + } +] \ No newline at end of file diff --git a/shared/resource/jsons/store.json b/shared/resource/jsons/store.json new file mode 100644 index 000000000..474dfe9b4 --- /dev/null +++ b/shared/resource/jsons/store.json @@ -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 + } +] \ No newline at end of file diff --git a/shared/resource/jsons/structureCentre.json b/shared/resource/jsons/structureCentre.json new file mode 100644 index 000000000..afd71dfaf --- /dev/null +++ b/shared/resource/jsons/structureCentre.json @@ -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 + } +] \ No newline at end of file diff --git a/shared/resource/jsons/trainBase.json b/shared/resource/jsons/trainBase.json new file mode 100644 index 000000000..fce0a59e9 --- /dev/null +++ b/shared/resource/jsons/trainBase.json @@ -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 + } +] \ No newline at end of file diff --git a/shared/resource/jsons/wishpool.json b/shared/resource/jsons/wishpool.json new file mode 100644 index 000000000..891d32acd --- /dev/null +++ b/shared/resource/jsons/wishpool.json @@ -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 + } +] \ No newline at end of file