diff --git a/game-server/app/servers/guild/handler/guildRefineHandler.ts b/game-server/app/servers/guild/handler/guildRefineHandler.ts index 0e9420462..1d249ec06 100644 --- a/game-server/app/servers/guild/handler/guildRefineHandler.ts +++ b/game-server/app/servers/guild/handler/guildRefineHandler.ts @@ -74,7 +74,7 @@ export class GuildRefineHandler { } if(!dicDevelopConsume) return resResult(STATUS.GUILD_CANNOT_REFINE_THIS); - let result = await handleCost(roleId, sid, dicDevelopConsume.honourConsume, ITEM_CHANGE_REASON.REFINE_EQUIP); + let result = await handleCost(roleId, sid, dicDevelopConsume.honourConsume.map(cur=> ({...cur, count: cur.count * count })), ITEM_CHANGE_REASON.REFINE_EQUIP); if (!result) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH); diff --git a/game-server/app/services/guildRefineService.ts b/game-server/app/services/guildRefineService.ts index 814a8dda4..0f7fb7d1c 100644 --- a/game-server/app/services/guildRefineService.ts +++ b/game-server/app/services/guildRefineService.ts @@ -9,14 +9,9 @@ export function checkEquipProduceStructureLv(structure: Structure[], developCons let curStructure = structure.find(cur => cur.id == GUILD_STRUCTURE.EQUIP_PRODUCE); if(!curStructure) return curStructure; - let dicStructure = gameData.equipProduceBase.get(curStructure.lv); - if(!dicStructure) return false - let dicDevelopConsume = getArmyDevelopConsumeById(developConsumeId); - if(dicStructure.quality < dicDevelopConsume.quality) return false; - if(dicStructure.levelProduce.indexOf(dicDevelopConsume.qualityLevel) == -1) { - return false; - } + if(dicDevelopConsume.structureLevel > curStructure.lv) return false; + return true; } diff --git a/game-server/app/services/roleService.ts b/game-server/app/services/roleService.ts index ba8c3614c..abaa432ef 100644 --- a/game-server/app/services/roleService.ts +++ b/game-server/app/services/roleService.ts @@ -7,12 +7,13 @@ import { Teraph, RoleModel, RoleType, RoleUpdate } from '../db/Role'; import { SCHOOL } from '../pubUtils/dicParam'; import { gameData } from '../pubUtils/data'; import { SchoolModel } from '../db/School'; -import { SclResultInter, SclPosInter } from '../pubUtils/interface'; +import { SclResultInter, SclPosInter, RewardInter } from '../pubUtils/interface'; import { CheckMeterial } from './rewardService'; import { HeroUpdate } from '../db/Hero'; import { SkinUpdate } from '../db/Skin'; import { Figure } from '../domain/dbGeneral'; import { pick } from 'underscore'; +import { Reward } from '../domain/battleField/pvp'; export async function getTeraphStrengthenResult(role: RoleType, count: number, dicTeraph: DicTeraph, teraph: Teraph) { let criAttr: number[] = [], times = 0; @@ -150,4 +151,11 @@ export function getInitHeroById(hid: number) { heroInfo: pinus.app.get('initHeroes').get(hid), skinInfo: pinus.app.get('initSkins').get(hid) } +} + +export function addConsumeToHero(oldConsume: Reward[], consumes: RewardInter[]) { + let newConsume: Reward[] = []; + for(let {id, count} of oldConsume) { + + } } \ No newline at end of file diff --git a/shared/db/Hero.ts b/shared/db/Hero.ts index 990ad05c9..d7896f567 100644 --- a/shared/db/Hero.ts +++ b/shared/db/Hero.ts @@ -6,6 +6,7 @@ import { COUNTER, HERO_CE_RATIO } from '../consts'; import { reduceCe } from '../pubUtils/util'; import Skin from './Skin'; import { SearchHeroParam } from '../domain/backEndField/search'; +import { Reward } from '../domain/battleField/pvp'; type CeAttrUpdate = Partial; export class CeAttrData { @@ -186,6 +187,9 @@ export default class Hero extends BaseModel { @prop({ required: true, type: EPlace, default: [], _id: false }) ePlace: EPlace[]; // 武将装备引用数组 + @prop({ required: true, type: Reward, default: [], _id: false }) + consumes: Reward[]; // 武将装备引用数组 + public static async findByRole(roleId: string, sort: { field: string, sortBy: number }[] = [], select?: string, getters = false) { let sortParam = {}; for (let { field, sortBy } of sort) { diff --git a/shared/pubUtils/dictionary/DicArmyDevelopConsume.ts b/shared/pubUtils/dictionary/DicArmyDevelopConsume.ts index 310de07ec..56025af8e 100644 --- a/shared/pubUtils/dictionary/DicArmyDevelopConsume.ts +++ b/shared/pubUtils/dictionary/DicArmyDevelopConsume.ts @@ -21,6 +21,8 @@ export interface DicArmyDevelopConsume { readonly fundConsume: number; // 研发需要的时间 readonly timeConsume: number; + // 建筑物id + readonly structureLevel: number; } const DicArmyDevelopConsumeKeys: KeysEnum = { @@ -31,7 +33,8 @@ const DicArmyDevelopConsumeKeys: KeysEnum = { max: true, honourConsume: true, fundConsume: true, - timeConsume: true + timeConsume: true, + structureLevel: true, }; export const dicArmyDevelopConsume = new Map(); diff --git a/shared/pubUtils/dictionary/DicStructure.ts b/shared/pubUtils/dictionary/DicStructure.ts index 3f108ce76..3456a8f38 100644 --- a/shared/pubUtils/dictionary/DicStructure.ts +++ b/shared/pubUtils/dictionary/DicStructure.ts @@ -1,5 +1,5 @@ // 军团建筑物 -import {readFileAndParse, parseGoodStr, parseNumberList, decodeArrayListStr} from '../util' +import {readFileAndParse, parseGoodStr, decodeArrayListStr} from '../util' import { FILENAME } from '../../consts' import { RewardInter } from '../interface'; const _ = require('lodash'); @@ -32,15 +32,12 @@ export interface DicEquipProduceBase { readonly level: number; // 可以研发的品质 readonly quality: number; - // 开启炼器及研发等级 - readonly levelProduce: number[]; } const DicEquipProduceKeys: KeysEnum = { id: true, level: true, quality: true, - levelProduce: true, }; // 演武台 @@ -194,7 +191,6 @@ export function loadStructure() { let arrEquip = readFileAndParse(FILENAME.DIC_GUILD_EQUIP_PRODUCE_BASE); arrEquip.forEach(o => { setStructureConsume(o); - o.levelProduce = parseNumberList(o.levelProduce); dicEquipPriduceBase.set(o.level, _.pick(o, Object.keys(DicEquipProduceKeys))); }); arrEquip = undefined; diff --git a/shared/resource/jsons/dic_army_developmentConsume.json b/shared/resource/jsons/dic_army_developmentConsume.json index 96cf553e8..2e506f131 100644 --- a/shared/resource/jsons/dic_army_developmentConsume.json +++ b/shared/resource/jsons/dic_army_developmentConsume.json @@ -3,6 +3,7 @@ "id": 1, "quality": 1, "qualityLevel": 1, + "structureLevel": 1, "preposition": "&", "max": 1, "honourConsume": "40005&70", @@ -13,9 +14,10 @@ "id": 2, "quality": 1, "qualityLevel": 2, + "structureLevel": 1, "preposition": "1&", "max": 2, - "honourConsume": "40005&70", + "honourConsume": "40005&60", "fundConsume": 19000, "timeConsume": 1200 }, @@ -23,9 +25,10 @@ "id": 3, "quality": 1, "qualityLevel": 3, + "structureLevel": 1, "preposition": "2&3", "max": 3, - "honourConsume": "40005&70", + "honourConsume": "40005&50", "fundConsume": 27000, "timeConsume": 1800 }, @@ -33,6 +36,7 @@ "id": 4, "quality": 2, "qualityLevel": 1, + "structureLevel": 2, "preposition": "1&", "max": 1, "honourConsume": "40005&70", @@ -43,9 +47,10 @@ "id": 5, "quality": 2, "qualityLevel": 2, + "structureLevel": 2, "preposition": "2&4", "max": 2, - "honourConsume": "40005&70", + "honourConsume": "40005&60", "fundConsume": 40000, "timeConsume": 2700 }, @@ -53,9 +58,10 @@ "id": 6, "quality": 2, "qualityLevel": 3, + "structureLevel": 3, "preposition": "3&5", "max": 3, - "honourConsume": "40005&70", + "honourConsume": "40005&50", "fundConsume": 31000, "timeConsume": 2700 }, @@ -63,6 +69,7 @@ "id": 7, "quality": 3, "qualityLevel": 1, + "structureLevel": 4, "preposition": "4&", "max": 1, "honourConsume": "40005&70", @@ -73,9 +80,10 @@ "id": 8, "quality": 3, "qualityLevel": 2, + "structureLevel": 4, "preposition": "5&7", "max": 2, - "honourConsume": "40005&70", + "honourConsume": "40005&60", "fundConsume": 60000, "timeConsume": 7200 }, @@ -83,9 +91,10 @@ "id": 9, "quality": 3, "qualityLevel": 3, + "structureLevel": 5, "preposition": "6&8", "max": 3, - "honourConsume": "40005&70", + "honourConsume": "40005&50", "fundConsume": 40000, "timeConsume": 2700 }, @@ -93,6 +102,7 @@ "id": 10, "quality": 4, "qualityLevel": 1, + "structureLevel": 6, "preposition": "7&", "max": 1, "honourConsume": "40005&70", @@ -103,9 +113,10 @@ "id": 11, "quality": 4, "qualityLevel": 2, + "structureLevel": 6, "preposition": "8&10", "max": 2, - "honourConsume": "40005&70", + "honourConsume": "40005&60", "fundConsume": 66000, "timeConsume": 8400 }, @@ -113,9 +124,10 @@ "id": 12, "quality": 4, "qualityLevel": 3, + "structureLevel": 7, "preposition": "9&11", "max": 3, - "honourConsume": "40005&70", + "honourConsume": "40005&50", "fundConsume": 86000, "timeConsume": 10800 }, @@ -123,6 +135,7 @@ "id": 13, "quality": 5, "qualityLevel": 1, + "structureLevel": 8, "preposition": "10&", "max": 1, "honourConsume": "40005&70", @@ -133,9 +146,10 @@ "id": 14, "quality": 5, "qualityLevel": 2, + "structureLevel": 9, "preposition": "11&13", "max": 2, - "honourConsume": "40005&70", + "honourConsume": "40005&60", "fundConsume": 84000, "timeConsume": 10800 }, @@ -143,9 +157,10 @@ "id": 15, "quality": 5, "qualityLevel": 3, + "structureLevel": 10, "preposition": "12&14", "max": 3, - "honourConsume": "40005&70", + "honourConsume": "40005&50", "fundConsume": 115000, "timeConsume": 16800 } diff --git a/shared/resource/jsons/dic_army_equipProduceBase.json b/shared/resource/jsons/dic_army_equipProduceBase.json index b5ec07d07..29d66825b 100644 --- a/shared/resource/jsons/dic_army_equipProduceBase.json +++ b/shared/resource/jsons/dic_army_equipProduceBase.json @@ -4,7 +4,6 @@ "structureId": 2, "level": 1, "quality": 1, - "levelProduce": "1&2&3", "consume": 50000, "buildWords": "&", "imageName": "jttubiao_2" @@ -14,7 +13,6 @@ "structureId": 2, "level": 2, "quality": 2, - "levelProduce": "1&2", "consume": 125000, "buildWords": "&", "imageName": "jttubiao_2" @@ -24,7 +22,6 @@ "structureId": 2, "level": 3, "quality": 2, - "levelProduce": "1&2&3", "consume": 350000, "buildWords": "&", "imageName": "jttubiao_2" @@ -34,7 +31,6 @@ "structureId": 2, "level": 4, "quality": 3, - "levelProduce": "1&2", "consume": 800000, "buildWords": "&", "imageName": "jttubiao_2" @@ -44,7 +40,6 @@ "structureId": 2, "level": 5, "quality": 3, - "levelProduce": "1&2&3", "consume": 1700000, "buildWords": "&", "imageName": "jttubiao_2" @@ -54,7 +49,6 @@ "structureId": 2, "level": 6, "quality": 4, - "levelProduce": "1&2", "consume": 3500000, "buildWords": "&", "imageName": "jttubiao_2" @@ -64,7 +58,6 @@ "structureId": 2, "level": 7, "quality": 4, - "levelProduce": "1&2&3", "consume": 6125000, "buildWords": "&", "imageName": "jttubiao_2" @@ -74,7 +67,6 @@ "structureId": 2, "level": 8, "quality": 5, - "levelProduce": "1&", "consume": 9125000, "buildWords": "&", "imageName": "jttubiao_2" @@ -84,7 +76,6 @@ "structureId": 2, "level": 9, "quality": 5, - "levelProduce": "2&", "consume": 13625000, "buildWords": "&", "imageName": "jttubiao_2" @@ -94,7 +85,6 @@ "structureId": 2, "level": 10, "quality": 5, - "levelProduce": "3&", "consume": 99999999, "buildWords": "&", "imageName": "jttubiao_2" diff --git a/shared/resource/jsons/dic_army_wishPool.json b/shared/resource/jsons/dic_army_wishPool.json index 4fcbe5d73..fa7095072 100644 --- a/shared/resource/jsons/dic_army_wishPool.json +++ b/shared/resource/jsons/dic_army_wishPool.json @@ -7,7 +7,9 @@ "wishgoodsHero": "&", "consume": 50000, "buildWords": "&", - "imageID": "jttubiao_5" + "imageID": "jttubiao_5", + "__EMPTY": 0, + "__EMPTY_1": 0 }, { "id": 2, @@ -17,7 +19,9 @@ "wishgoodsHero": "&", "consume": 125000, "buildWords": "&", - "imageID": "jttubiao_5" + "imageID": "jttubiao_5", + "__EMPTY": 0, + "__EMPTY_1": 0 }, { "id": 3, @@ -27,7 +31,9 @@ "wishgoodsHero": "&", "consume": 350000, "buildWords": "&", - "imageID": "jttubiao_5" + "imageID": "jttubiao_5", + "__EMPTY": 0, + "__EMPTY_1": 0 }, { "id": 4, @@ -37,7 +43,9 @@ "wishgoodsHero": "1&2", "consume": 800000, "buildWords": "&", - "imageID": "jttubiao_5" + "imageID": "jttubiao_5", + "__EMPTY": 0, + "__EMPTY_1": 0 }, { "id": 5, @@ -47,7 +55,9 @@ "wishgoodsHero": "1&2", "consume": 1700000, "buildWords": "&", - "imageID": "jttubiao_5" + "imageID": "jttubiao_5", + "__EMPTY": 0, + "__EMPTY_1": 0 }, { "id": 6, @@ -57,7 +67,9 @@ "wishgoodsHero": "1&2|2&1", "consume": 3500000, "buildWords": "&", - "imageID": "jttubiao_5" + "imageID": "jttubiao_5", + "__EMPTY": 0, + "__EMPTY_1": 0 }, { "id": 7, @@ -67,7 +79,9 @@ "wishgoodsHero": "1&2|2&1", "consume": 6125000, "buildWords": "&", - "imageID": "jttubiao_5" + "imageID": "jttubiao_5", + "__EMPTY": 0, + "__EMPTY_1": 0 }, { "id": 8, @@ -77,7 +91,9 @@ "wishgoodsHero": "1&2|2&1", "consume": 9125000, "buildWords": "&", - "imageID": "jttubiao_5" + "imageID": "jttubiao_5", + "__EMPTY": 0, + "__EMPTY_1": 0 }, { "id": 9, @@ -87,7 +103,9 @@ "wishgoodsHero": "1&3|2&1|3&1", "consume": 13625000, "buildWords": "&", - "imageID": "jttubiao_5" + "imageID": "jttubiao_5", + "__EMPTY": 0, + "__EMPTY_1": 0 }, { "id": 10, @@ -97,6 +115,8 @@ "wishgoodsHero": "1&3|2&1|3&1", "consume": 99999999, "buildWords": "&", - "imageID": "jttubiao_5" + "imageID": "jttubiao_5", + "__EMPTY": 0, + "__EMPTY_1": 0 } ] \ No newline at end of file