装备:强化

This commit is contained in:
luying
2022-02-15 18:01:37 +08:00
parent 465cc15e43
commit f25d44e391
18 changed files with 12919 additions and 187 deletions

View File

@@ -11,7 +11,7 @@ import { calPlayerCeAndSave } from "../../../services/playerCeService";
import { getGoodById, gameData, getEquipByJobClassAndEPlace } from "../../../pubUtils/data";
import { BAG, EQUIP } from "../../../pubUtils/dicParam";
import { ITID, QUALITY_TYPE, equipTypeToSortAttr, IT_TYPE, QUENCH_TYPE, REFINE_TYPE } from "../../../consts";
import { checkMaterialEnough, checkEquipCanPut, quenchOnce, checkQuenchMaxByQualityAndGrade, getRandSeResult, refineOnce, checkRefineReachNextLv, calEquipCe } from "../../../services/equipService";
import { checkMaterialEnough, checkEquipCanPut, quenchOnce, checkQuenchMaxByQualityAndGrade, getRandSeResult, refineOnce, checkRefineReachNextLv, calEquipCe, updateEplace, updateEplaces } from "../../../services/equipService";
import { findIndex, isNumber, pick } from 'underscore';
import { pushEquipRefineSucMsg, pushNormalEquipMsg, pushNormalItemMsg } from "../../../services/chatService";
@@ -61,178 +61,101 @@ export class EquipHandler {
})
}
// // 装备栏强化
// public async strengthen(msg: { hid: number, ePlaceId: number, type: number }, session: BackendSession) {
// let roleId: string = session.get('roleId');
// // let roleName: string = session.get('roleName');
// const serverId = session.get('serverId');
// let sid: string = session.get('sid');
// 装备栏强化
public async strengthen(msg: { hid: number, eplaceId: number, isOneClick: boolean }, session: BackendSession) {
let roleId: string = session.get('roleId');
// let roleName: string = session.get('roleName');
const serverId = session.get('serverId');
let sid: string = session.get('sid');
// let { hid, ePlaceId, type } = msg;
// let hero = await HeroModel.findByHidAndRoleWithEquip(hid, roleId);
// if (!hero) return resResult(STATUS.HERO_NOT_FIND);
let { hid, eplaceId, isOneClick } = msg;
let hero = await HeroModel.findByHidAndRole(hid, roleId);
if (!hero) return resResult(STATUS.HERO_NOT_FIND);
let curEquip = hero.ePlace?.find(cur => cur.id == eplaceId);
if(!curEquip) return resResult(STATUS.EQUIP_NOT_FIND);
if(curEquip.lv >= hero.lv) return resResult(STATUS.ROLE_EQUIP_REACH_MAX);
let fromLv = curEquip.lv;
let toLv = isOneClick? hero.lv: fromLv + 1;
let newLv = fromLv;
let check = new CheckMeterial(roleId);
for (let lv = fromLv + 1; lv <= toLv; lv++) {
let dicCost = gameData.equipStrengthenCost.get(lv);
let isEnough = await check.decrease(dicCost.consume);
if(!isEnough) break; // 消耗不足
newLv = lv;
}
if(newLv == fromLv) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH);
let consumes = check.getConsume();
let result = await handleCost(roleId, sid, consumes, ITEM_CHANGE_REASON.EQUIP_STRENTHEN);
if (!result) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH);
let { newEplace, updatedEplace } = updateEplace(hero.ePlace, eplaceId, { lv: newLv });
hero = await calPlayerCeAndSave(HERO_SYSTEM_TYPE.EQUIP_STRENGTH, sid, roleId, hero, { ePlace: newEplace }, [eplaceId]);
// TODO 任务
const curHero = {
hid,
ePlace: updatedEplace
}
return resResult(STATUS.SUCCESS, { curHero });
}
// let changeData = [];//变化的等级数据
// let { ePlace, lv: playerLv } = hero; // 装备栏
// let oldLvs = ePlace.map(cur => cur.lv);
// let strengthenArr = new Array<EPlace>();
// if (type == EQUIP_STRENGTHEN_TYPE.SINGLE || type == EQUIP_STRENGTHEN_TYPE.SINGLE_QUICK) { // 单装备强化
// strengthenArr = ePlace.filter(cur => cur.id == ePlaceId && cur.equip);
// } else if (type == EQUIP_STRENGTHEN_TYPE.ALL_QUICK) { // 全六件(装备中)的强化
// strengthenArr = ePlace.filter(cur => cur.equip);
// }
// if (strengthenArr.length <= 0) {
// return resResult(STATUS.ROLE_EQUIP_PLACE_NOT_ENOUGH);
// }
// let minLv = strengthenArr[0].lv; // 从最低装备的等级开始
// for (let { lv, id } of strengthenArr) {
// changeData.push({
// hid: hid,
// id: id,
// oldLv: lv,
// lv: lv,
// })
// if (lv < minLv) minLv = lv;
// }
// 装备栏一键强化至相应等级
public async strengthenAll(msg: { hid: number, lv: number }, session: BackendSession) {
let roleId: string = session.get('roleId');
// let roleName: string = session.get('roleName');
let sid: string = session.get('sid');
// let { coin } = await Role.findByRoleId(roleId);
// let maxLv = type == EQUIP_STRENGTHEN_TYPE.SINGLE ? minLv + 1 : playerLv;
// if (maxLv > playerLv) maxLv = playerLv;
// if (minLv >= maxLv) {
// return resResult(STATUS.ROLE_EQUIP_REACH_MAX);
// }
// let costCoin = 0; // 消耗铜币
// let flag = false; // 铜币不足
// for (let i = minLv; i < maxLv; i++) {
// for (let s of strengthenArr) {
// if (s.lv == i) {
// let cost = gameData.strengthenCost.get(i + 1);
// if (!cost) { flag = true; break; }
// if (coin < costCoin + cost) { flag = true; break; }
// costCoin += cost;
// s.lv++;
// {//记录等级变化
// let index = changeData.findIndex(obj => { return obj && obj.id == s.id })
// if (index != -1) {
// changeData[index].lv = s.lv;
// }
// }
// }
// }
// if (flag) break;
// }
let { hid, lv } = msg; // lv: 升到哪一级
let hero = await HeroModel.findByHidAndRole(hid, roleId);
if (!hero) return resResult(STATUS.HERO_NOT_FIND);
// if (costCoin <= 0) { // 连一级都不够升
// return resResult(STATUS.ROLE_COIN_NOT_ENOUGH);
// }
let { ePlace, lv: playerLv } = hero; // 装备栏
let fromLv = Math.min(...ePlace.map(cur => cur.lv)); // 最小的等级
let toLv = lv < playerLv? lv: playerLv;
// let result = await handleCost(roleId, sid, [{
// id: CURRENCY_BY_TYPE.get(CURRENCY_TYPE.COIN),
// count: costCoin
// }], ITEM_CHANGE_REASON.EQUIP_STRENTHEN);
// if (!result) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH);
let eplaceIds = new Map<number, { lv: number }>(); // 更新了的装备栏id
let check = new CheckMeterial(roleId);
for(let lv = fromLv + 1; lv <= toLv; lv++) {
let isBreak = false;
for(let equip of ePlace) {
if(equip.lv >= lv) continue;
let dicCost = gameData.equipStrengthenCost.get(lv);
let isEnough = await check.decrease(dicCost.consume);
if(!isEnough) { isBreak = true; break; } // 消耗不足
// hero.ePlace = ePlace;
eplaceIds.set(equip.id, { lv });
}
if(isBreak) break;
}
// await calPlayerCeAndSave(HERO_SYSTEM_TYPE.EQUIP_BASE, sid, roleId, hero, { ePlace });
if(eplaceIds.size <= 0) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH);
let consumes = check.getConsume();
let result = await handleCost(roleId, sid, consumes, ITEM_CHANGE_REASON.EQUIP_STRENTHEN);
if (!result) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH);
// // 任务
// await checkTaskWithHero(roleId, sid, TASK_TYPE.EQUIP_STRENGTHEN, hero, oldLvs);
// //成长任务
// await checkActivityTask(serverId, sid, roleId, TASK_TYPE.EQUIP_STRENGTHEN, 1, changeData)
let { newEplace, updatedEplace } = updateEplaces(hero.ePlace, eplaceIds);
// const curHero = {
// hid,
// ePlace: strengthenArr
// }
// return resResult(STATUS.SUCCESS, { curHero });
await calPlayerCeAndSave(HERO_SYSTEM_TYPE.EQUIP_STRENGTH, sid, roleId, hero, { ePlace: newEplace }, [...eplaceIds.keys()]);
// }
// TODO 任务
// // 装备栏一键强化至相应等级
// public async strengthenAll(msg: { hid: number, lv: number }, session: BackendSession) {
// let roleId: string = session.get('roleId');
// // let roleName: string = session.get('roleName');
// let sid: string = session.get('sid');
// const serverId = session.get('serverId');
const curHero = {
hid,
ePlace: updatedEplace
}
return resResult(STATUS.SUCCESS, { curHero });
// let changeData = [];//变化的等级数据
// let { hid, lv: maxLv } = msg; // lv: 升到哪一级
// let hero = await HeroModel.findByHidAndRoleWithEquip(hid, roleId);
// if (!hero) return resResult(STATUS.HERO_NOT_FIND);
}
// let { ePlace, lv: playerLv } = hero; // 装备栏
// let oldLvs = ePlace.map(cur => cur.lv);
// let strengthenArr = ePlace.filter(cur => cur.equip);
// if (strengthenArr.length <= 0) {
// return resResult(STATUS.ROLE_EQUIP_PLACE_NOT_ENOUGH);
// }
// let minLv = strengthenArr[0].lv; // 从最低装备的等级开始
// for (let { lv, id } of strengthenArr) {
// changeData.push({
// hid: hid,
// id: id,
// oldLv: lv,
// lv: lv,
// })
// if (lv < minLv) minLv = lv;
// }
// let { coin } = await Role.findByRoleId(roleId);
// if (maxLv > playerLv) {
// return resResult(STATUS.ROLE_EQUIP_REACH_MAX);
// }
// let costCoin = 0; // 消耗铜币
// for (let i = minLv; i < maxLv; i++) {
// for (let s of strengthenArr) {
// if (s.lv == i) {
// let cost = gameData.strengthenCost.get(i + 1);
// costCoin += cost;
// s.lv++;
// {//记录等级变化
// let index = changeData.findIndex(obj => { return obj && obj.id == s.id })
// if (index != -1) {
// changeData[index].lv = s.lv;
// }
// }
// }
// }
// }
// if (costCoin > coin) {
// return resResult(STATUS.ROLE_COIN_NOT_ENOUGH);
// }
// let result = await handleCost(roleId, sid, [{
// id: CURRENCY_BY_TYPE.get(CURRENCY_TYPE.COIN),
// count: costCoin
// }], ITEM_CHANGE_REASON.EQUIP_STRENTHEN);
// if (!result) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH);
// hero.ePlace = ePlace;
// await calPlayerCeAndSave(HERO_SYSTEM_TYPE.EQUIP_BASE, sid, roleId, hero, { ePlace });
// // 任务
// await checkTaskWithHero(roleId, sid, TASK_TYPE.EQUIP_STRENGTHEN, hero, oldLvs);
// //成长任务
// await checkActivityTask(serverId, sid, roleId, TASK_TYPE.EQUIP_STRENGTHEN, 1, changeData)
// const curHero = {
// hid,
// ePlace: strengthenArr
// }
// return resResult(STATUS.SUCCESS, { curHero });
// }
// // 装备栏精炼
// public async refine(msg: { hid: number, ePlaceId: number, type: REFINE_TYPE }, session: BackendSession) {
// let roleId: string = session.get('roleId');

View File

@@ -1,6 +1,6 @@
import { mergeSameGoods, getRandEelm, getRandValueByMinMax } from '../pubUtils/util';
import { EquipModel, RandMain, RandSe } from "../db/Equip";
import { HeroModel, HeroType } from "../db/Hero";
import { EPlace, HeroModel, HeroType } from "../db/Hero";
import { getGoodById, gameData, getQuenchGradeByValue, getQuenchConsume, getQuenchByQualityAndGrade } from "../pubUtils/data";
import { calPlayerCeAndSave } from "./playerCeService";
import { CONSUME_TYPE, HERO_SYSTEM_TYPE, ITID, TASK_TYPE } from "../consts";
@@ -197,4 +197,32 @@ export function calEquipCe(goodsAbility: Map<number, number>, randMain: RandMain
ce += Math.floor(valueBase * valueRand * ratio / 100);
}
return ce
}
export function updateEplace(eplace: EPlace[], eplaceId: number, update: Partial<EPlace>) {
let newEplace: EPlace[] = [];
let updatedEplace: Partial<EPlace>[] = [];
for(let equip of eplace) {
if(equip.id == eplaceId) {
newEplace.push({ ...equip, ...update });
updatedEplace.push({ id: equip.id, equipId: equip.equipId, ...update });
} else {
newEplace.push(equip);
}
}
return {newEplace, updatedEplace};
}
export function updateEplaces(eplace: EPlace[], update: Map<number, Partial<EPlace>>) {
let newEplace: EPlace[] = [];
let updatedEplace: Partial<EPlace>[] = [];
for(let equip of eplace) {
if(update.has(equip.id)) {
newEplace.push({ ...equip, ...update.get(equip.id) });
updatedEplace.push({ id: equip.id, equipId: equip.equipId, ...update.get(equip.id) });
} else {
newEplace.push(equip);
}
}
return {newEplace, updatedEplace};
}

View File

@@ -11,10 +11,10 @@ module.exports = {
"required string from": 3,
"required string target": 4
},
// "role.equipHandler.composeEquip": {
// "required uInt32 hid": 1,
// "repeated uInt32 eplaceId": 2
// },
"role.equipHandler.composeEquip": {
"required uInt32 hid": 1,
"required uInt32 eplaceId": 2
},
"role.equipHandler.decomposeEquip": {
"repeated uInt32 originalEquip": 1
},
@@ -23,11 +23,6 @@ module.exports = {
"required uInt32 hid": 2,
"required uInt32 type": 3
},
"role.equipHandler.strengthen": {
"required uInt32 hid": 1,
"required uInt32 ePlaceId": 2,
"required uInt32 type": 3
},
"role.equipHandler.strengthenAll": {
"required uInt32 hid": 1,
"required uInt32 lv": 2

View File

@@ -22,6 +22,7 @@ export enum HERO_SYSTEM_TYPE {
TERAPH = 19, // 神像强化
TERAPH_UP = 20, // 神像升级
COMPOSE_EQUIP = 21, // 合成装备
EQUIP_STRENGTH = 22, // 装备强化
};
// 武将上限

View File

@@ -488,7 +488,7 @@ export const FILENAME = {
DIC_SERVER_CONST: 'server_const',
DIC_EQUIP: 'dic_zyz_equip',
DIC_EQUIP_SUIT: 'dic_zyz_equipSuit',
DIC_EQUIP_STRENGTH: 'dic_zyz_equipStrenth',
DIC_EQUIP_STRENGTH: 'dic_zyz_equipStrength',
DIC_JEWEL: 'dic_jewel',
}

View File

@@ -84,7 +84,7 @@ export class EPlace {
@prop({ required: true })
equipId: number;
@prop({ required: true })
lv: number = 0;
lv: number = 1;
@prop({ required: true })
quality: number = 0;
@prop({ required: true })
@@ -98,7 +98,7 @@ export class EPlace {
@prop({ required: true })
jewel: number = 0;
private getInitialStone () {
getInitialStone? () {
let result: Stone[] = [];
for(let id = 1; id <= 3; id++) {
result.push({ id, stone: 0 });

View File

@@ -102,6 +102,7 @@ import { pick } from "underscore";
import _ = require("underscore");
import { dicEquipById, dicEquipIdByJobClassAndEplace, loadEquip } from "./dictionary/DicEquip";
import { dicJewel, loadJewel } from "./dictionary/DicJewel";
import { dicEquipStrength, loadEquipStrength } from "./dictionary/DicEquipStrength";
export const gameData = {
blurprtCompose: dicBlueprtCompose,
@@ -253,6 +254,7 @@ export const gameData = {
equipById: dicEquipById,
equipIdByJobAndEPlace: dicEquipIdByJobClassAndEplace,
jewel: dicJewel,
equipStrengthenCost: dicEquipStrength,
};
// 在此提供一些原先在gamedata中提供的方法以便更方便获取gameData数据
@@ -1005,6 +1007,7 @@ function loadDatas() {
loadApi();
loadServerConst();
loadEquip();
loadEquipStrength();
loadJewel();
}

View File

@@ -6,7 +6,7 @@ import { RewardInter } from '../interface';
export interface DicEquipStrength {
// id
readonly id: number;
// 等级
// 等级,1级升2级读2级数据
readonly lv: number;
// 消耗
readonly consume: RewardInter[];
@@ -16,7 +16,7 @@ export interface DicEquipStrength {
export const dicEquipStrength = new Map<number, DicEquipStrength>();
export function loadEquipStrength() {
dicEquipStrength.clear();
let arr = readFileAndParse(FILENAME.DIC_EQUIP);
let arr = readFileAndParse(FILENAME.DIC_EQUIP_STRENGTH);
arr.forEach(o => {
o.consume = parseGoodStr(o.consume);

View File

@@ -167,19 +167,22 @@ export function calPlayerCe(hero: HeroType, update: HeroUpdate, type: number, ar
case HERO_SYSTEM_TYPE.COMPOSE_EQUIP:
heroAttrs = calComposeEquipIncAttr(hero, update, args[0]);
break;
case HERO_SYSTEM_TYPE.EQUIP:
case HERO_SYSTEM_TYPE.EQUIP_STRENGTH:
heroAttrs = calEquipStrengthIncAttr(hero, update, args);
break;
case HERO_SYSTEM_TYPE.EQUIP: //
heroAttrs = calEquipPutOnOffIncAttr(hero, args, addSeidList, removeSeidList);
break;
case HERO_SYSTEM_TYPE.EQUIP_BASE:
case HERO_SYSTEM_TYPE.EQUIP_BASE: //
heroAttrs = calHeroEquipIncAttr(hero);
break;
case HERO_SYSTEM_TYPE.RESTRENGTHEN:
case HERO_SYSTEM_TYPE.RESTRENGTHEN: //
heroAttrs = calRestrengthenIncAttr(hero, args.shift(), args, addSeidList, removeSeidList);
break;
case HERO_SYSTEM_TYPE.JEWEL_ON:
case HERO_SYSTEM_TYPE.JEWEL_ON: //
heroAttrs = calHeroCeWhenJewelOnOrOff(hero, args[0], args[1]);
break;
case HERO_SYSTEM_TYPE.JEWEL_OFF:
case HERO_SYSTEM_TYPE.JEWEL_OFF: //
heroAttrs = calHeroCeWhenJewelOnOrOff(hero, 0, args[0]);
break;
case HERO_SYSTEM_TYPE.SCROLL:
@@ -616,6 +619,22 @@ export function calComposeEquipIncAttr(hero: HeroType, update: HeroUpdate, eplac
return heroAttrs;
}
export function calEquipStrengthIncAttr(hero: HeroType, update: HeroUpdate, eplaceIds: number[]) {
let { attr: heroAttrs, ePlace: oldEplace } = hero;
let { ePlace: newEplace } = update;
for(let eplaceId of eplaceIds) {
let oldEquip = oldEplace.find(cur => cur.id == eplaceId);
let newEquip = newEplace.find(cur => cur.id == eplaceId);
if(newEquip && oldEquip) {
let dicEquip = gameData.equipById.get(oldEquip.equipId);
for(let attr of dicEquip.attributeUp) {
updateHeroAttr(heroAttrs, attr.id, { inc: { fixUp: attr.num * (newEquip.lv - oldEquip.lv) * HERO_CE_RATIO } });
}
}
}
return heroAttrs
}
/**
* 穿脱, removeSeidList原来身上穿着的所有装备的seid包括套装的
* @param {HeroType} hero 武将

View File

@@ -1,10 +1,310 @@
[{
"id": 1,
"eplaceId": 1,
"name": "",
"jobClass": 2,
"suitId": 0,
"attribute": "1&1",
"attributeUp": "1&1",
"composeMaterial": "31002&100"
}]
[
{
"id": 1,
"name": "步兵武器",
"jobClass": 1,
"eplaceId": 1,
"suitId": 1,
"attribute": "2&10",
"attributeUp": "2&10",
"composeMaterial": "31002&200",
"imageId": "qingtongjian&bintiejian&wenshijian&jinggangjian&songwenjian"
},
{
"id": 2,
"name": "步兵衣甲",
"jobClass": 1,
"eplaceId": 2,
"suitId": 1,
"attribute": "4&20",
"attributeUp": "4&20",
"composeMaterial": "31002&200",
"imageId": "qingtongjian&bintiejian&wenshijian&jinggangjian&songwenjian"
},
{
"id": 3,
"name": "步兵冠冕",
"jobClass": 1,
"eplaceId": 3,
"suitId": 1,
"attribute": "5&20",
"attributeUp": "5&20",
"composeMaterial": "31002&200",
"imageId": "qingtongjian&bintiejian&wenshijian&jinggangjian&songwenjian"
},
{
"id": 4,
"name": "步兵行具",
"jobClass": 1,
"eplaceId": 4,
"suitId": 1,
"attribute": "1&50",
"attributeUp": "1&50",
"composeMaterial": "31002&200",
"imageId": "qingtongjian&bintiejian&wenshijian&jinggangjian&songwenjian"
},
{
"id": 5,
"name": "枪兵武器",
"jobClass": 2,
"eplaceId": 1,
"suitId": 2,
"attribute": "2&10",
"attributeUp": "2&10",
"composeMaterial": "31002&200",
"imageId": "qingtongjian&bintiejian&wenshijian&jinggangjian&songwenjian"
},
{
"id": 6,
"name": "枪兵衣甲",
"jobClass": 2,
"eplaceId": 2,
"suitId": 2,
"attribute": "4&20",
"attributeUp": "4&20",
"composeMaterial": "31002&200",
"imageId": "qingtongjian&bintiejian&wenshijian&jinggangjian&songwenjian"
},
{
"id": 7,
"name": "枪兵冠冕",
"jobClass": 2,
"eplaceId": 3,
"suitId": 2,
"attribute": "5&20",
"attributeUp": "5&20",
"composeMaterial": "31002&200",
"imageId": "qingtongjian&bintiejian&wenshijian&jinggangjian&songwenjian"
},
{
"id": 8,
"name": "枪兵行具",
"jobClass": 2,
"eplaceId": 4,
"suitId": 2,
"attribute": "1&50",
"attributeUp": "1&50",
"composeMaterial": "31002&200",
"imageId": "qingtongjian&bintiejian&wenshijian&jinggangjian&songwenjian"
},
{
"id": 9,
"name": "骑兵武器",
"jobClass": 3,
"eplaceId": 1,
"suitId": 3,
"attribute": "2&10",
"attributeUp": "2&10",
"composeMaterial": "31002&200",
"imageId": "qingtongjian&bintiejian&wenshijian&jinggangjian&songwenjian"
},
{
"id": 10,
"name": "骑兵衣甲",
"jobClass": 3,
"eplaceId": 2,
"suitId": 3,
"attribute": "4&20",
"attributeUp": "4&20",
"composeMaterial": "31002&200",
"imageId": "qingtongjian&bintiejian&wenshijian&jinggangjian&songwenjian"
},
{
"id": 11,
"name": "骑兵冠冕",
"jobClass": 3,
"eplaceId": 3,
"suitId": 3,
"attribute": "5&20",
"attributeUp": "5&20",
"composeMaterial": "31002&200",
"imageId": "qingtongjian&bintiejian&wenshijian&jinggangjian&songwenjian"
},
{
"id": 12,
"name": "骑兵行具",
"jobClass": 3,
"eplaceId": 4,
"suitId": 3,
"attribute": "1&50",
"attributeUp": "1&50",
"composeMaterial": "31002&200",
"imageId": "qingtongjian&bintiejian&wenshijian&jinggangjian&songwenjian"
},
{
"id": 13,
"name": "弓兵武器",
"jobClass": 4,
"eplaceId": 1,
"suitId": 4,
"attribute": "2&10",
"attributeUp": "2&10",
"composeMaterial": "31002&200",
"imageId": "qingtongjian&bintiejian&wenshijian&jinggangjian&songwenjian"
},
{
"id": 14,
"name": "弓兵衣甲",
"jobClass": 4,
"eplaceId": 2,
"suitId": 4,
"attribute": "4&20",
"attributeUp": "4&20",
"composeMaterial": "31002&200",
"imageId": "qingtongjian&bintiejian&wenshijian&jinggangjian&songwenjian"
},
{
"id": 15,
"name": "弓兵冠冕",
"jobClass": 4,
"eplaceId": 3,
"suitId": 4,
"attribute": "5&20",
"attributeUp": "5&20",
"composeMaterial": "31002&200",
"imageId": "qingtongjian&bintiejian&wenshijian&jinggangjian&songwenjian"
},
{
"id": 16,
"name": "弓兵行具",
"jobClass": 4,
"eplaceId": 4,
"suitId": 4,
"attribute": "1&50",
"attributeUp": "1&50",
"composeMaterial": "31002&200",
"imageId": "qingtongjian&bintiejian&wenshijian&jinggangjian&songwenjian"
},
{
"id": 17,
"name": "游侠武器",
"jobClass": 5,
"eplaceId": 1,
"suitId": 5,
"attribute": "2&10",
"attributeUp": "2&10",
"composeMaterial": "31002&200",
"imageId": "qingtongjian&bintiejian&wenshijian&jinggangjian&songwenjian"
},
{
"id": 18,
"name": "游侠衣甲",
"jobClass": 5,
"eplaceId": 2,
"suitId": 5,
"attribute": "4&20",
"attributeUp": "4&20",
"composeMaterial": "31002&200",
"imageId": "qingtongjian&bintiejian&wenshijian&jinggangjian&songwenjian"
},
{
"id": 19,
"name": "游侠冠冕",
"jobClass": 5,
"eplaceId": 3,
"suitId": 5,
"attribute": "5&20",
"attributeUp": "5&20",
"composeMaterial": "31002&200",
"imageId": "qingtongjian&bintiejian&wenshijian&jinggangjian&songwenjian"
},
{
"id": 20,
"name": "游侠行具",
"jobClass": 5,
"eplaceId": 4,
"suitId": 5,
"attribute": "1&50",
"attributeUp": "1&50",
"composeMaterial": "31002&200",
"imageId": "qingtongjian&bintiejian&wenshijian&jinggangjian&songwenjian"
},
{
"id": 21,
"name": "策士武器",
"jobClass": 6,
"eplaceId": 1,
"suitId": 6,
"attribute": "2&10",
"attributeUp": "2&10",
"composeMaterial": "31002&200",
"imageId": "qingtongjian&bintiejian&wenshijian&jinggangjian&songwenjian"
},
{
"id": 22,
"name": "策士衣甲",
"jobClass": 6,
"eplaceId": 2,
"suitId": 6,
"attribute": "4&20",
"attributeUp": "4&20",
"composeMaterial": "31002&200",
"imageId": "qingtongjian&bintiejian&wenshijian&jinggangjian&songwenjian"
},
{
"id": 23,
"name": "策士冠冕",
"jobClass": 6,
"eplaceId": 3,
"suitId": 6,
"attribute": "5&20",
"attributeUp": "5&20",
"composeMaterial": "31002&200",
"imageId": "qingtongjian&bintiejian&wenshijian&jinggangjian&songwenjian"
},
{
"id": 24,
"name": "策士行具",
"jobClass": 6,
"eplaceId": 4,
"suitId": 6,
"attribute": "1&50",
"attributeUp": "1&50",
"composeMaterial": "31002&200",
"imageId": "qingtongjian&bintiejian&wenshijian&jinggangjian&songwenjian"
},
{
"id": 25,
"name": "医者武器",
"jobClass": 7,
"eplaceId": 1,
"suitId": 7,
"attribute": "2&10",
"attributeUp": "2&10",
"composeMaterial": "31002&200",
"imageId": "qingtongjian&bintiejian&wenshijian&jinggangjian&songwenjian"
},
{
"id": 26,
"name": "医者衣甲",
"jobClass": 7,
"eplaceId": 2,
"suitId": 7,
"attribute": "4&20",
"attributeUp": "4&20",
"composeMaterial": "31002&200",
"imageId": "qingtongjian&bintiejian&wenshijian&jinggangjian&songwenjian"
},
{
"id": 27,
"name": "医者冠冕",
"jobClass": 7,
"eplaceId": 3,
"suitId": 7,
"attribute": "5&20",
"attributeUp": "5&20",
"composeMaterial": "31002&200",
"imageId": "qingtongjian&bintiejian&wenshijian&jinggangjian&songwenjian"
},
{
"id": 28,
"name": "医者行具",
"jobClass": 7,
"eplaceId": 4,
"suitId": 7,
"attribute": "1&50",
"attributeUp": "1&50",
"composeMaterial": "31002&200",
"imageId": "qingtongjian&bintiejian&wenshijian&jinggangjian&songwenjian"
}
]

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,37 @@
[
{
"id": 1,
"quality": 1,
"star": 2,
"jewelCnt": 0,
"stoneCnt": 0
},
{
"id": 2,
"quality": 2,
"star": 4,
"jewelCnt": 1,
"stoneCnt": 0
},
{
"id": 3,
"quality": 3,
"star": 6,
"jewelCnt": 1,
"stoneCnt": 1
},
{
"id": 4,
"quality": 4,
"star": 8,
"jewelCnt": 1,
"stoneCnt": 2
},
{
"id": 5,
"quality": 5,
"star": 12,
"jewelCnt": 1,
"stoneCnt": 3
}
]

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,502 @@
[
{
"id": 1,
"lv": 1,
"consume": "&"
},
{
"id": 2,
"lv": 2,
"consume": "31002&4000"
},
{
"id": 3,
"lv": 3,
"consume": "31002&6000"
},
{
"id": 4,
"lv": 4,
"consume": "31002&8000"
},
{
"id": 5,
"lv": 5,
"consume": "31002&10000"
},
{
"id": 6,
"lv": 6,
"consume": "31002&12000"
},
{
"id": 7,
"lv": 7,
"consume": "31002&14000"
},
{
"id": 8,
"lv": 8,
"consume": "31002&16000"
},
{
"id": 9,
"lv": 9,
"consume": "31002&18000"
},
{
"id": 10,
"lv": 10,
"consume": "31002&20000"
},
{
"id": 11,
"lv": 11,
"consume": "31002&22000"
},
{
"id": 12,
"lv": 12,
"consume": "31002&24000"
},
{
"id": 13,
"lv": 13,
"consume": "31002&26000"
},
{
"id": 14,
"lv": 14,
"consume": "31002&28000"
},
{
"id": 15,
"lv": 15,
"consume": "31002&30000"
},
{
"id": 16,
"lv": 16,
"consume": "31002&32000"
},
{
"id": 17,
"lv": 17,
"consume": "31002&34000"
},
{
"id": 18,
"lv": 18,
"consume": "31002&36000"
},
{
"id": 19,
"lv": 19,
"consume": "31002&38000"
},
{
"id": 20,
"lv": 20,
"consume": "31002&40000"
},
{
"id": 21,
"lv": 21,
"consume": "31002&42000"
},
{
"id": 22,
"lv": 22,
"consume": "31002&44000"
},
{
"id": 23,
"lv": 23,
"consume": "31002&46000"
},
{
"id": 24,
"lv": 24,
"consume": "31002&48000"
},
{
"id": 25,
"lv": 25,
"consume": "31002&50000"
},
{
"id": 26,
"lv": 26,
"consume": "31002&52000"
},
{
"id": 27,
"lv": 27,
"consume": "31002&54000"
},
{
"id": 28,
"lv": 28,
"consume": "31002&56000"
},
{
"id": 29,
"lv": 29,
"consume": "31002&58000"
},
{
"id": 30,
"lv": 30,
"consume": "31002&60000"
},
{
"id": 31,
"lv": 31,
"consume": "31002&62000"
},
{
"id": 32,
"lv": 32,
"consume": "31002&64000"
},
{
"id": 33,
"lv": 33,
"consume": "31002&66000"
},
{
"id": 34,
"lv": 34,
"consume": "31002&68000"
},
{
"id": 35,
"lv": 35,
"consume": "31002&70000"
},
{
"id": 36,
"lv": 36,
"consume": "31002&72000"
},
{
"id": 37,
"lv": 37,
"consume": "31002&74000"
},
{
"id": 38,
"lv": 38,
"consume": "31002&76000"
},
{
"id": 39,
"lv": 39,
"consume": "31002&78000"
},
{
"id": 40,
"lv": 40,
"consume": "31002&80000"
},
{
"id": 41,
"lv": 41,
"consume": "31002&82000"
},
{
"id": 42,
"lv": 42,
"consume": "31002&84000"
},
{
"id": 43,
"lv": 43,
"consume": "31002&86000"
},
{
"id": 44,
"lv": 44,
"consume": "31002&88000"
},
{
"id": 45,
"lv": 45,
"consume": "31002&90000"
},
{
"id": 46,
"lv": 46,
"consume": "31002&92000"
},
{
"id": 47,
"lv": 47,
"consume": "31002&94000"
},
{
"id": 48,
"lv": 48,
"consume": "31002&96000"
},
{
"id": 49,
"lv": 49,
"consume": "31002&98000"
},
{
"id": 50,
"lv": 50,
"consume": "31002&100000"
},
{
"id": 51,
"lv": 51,
"consume": "31002&102000"
},
{
"id": 52,
"lv": 52,
"consume": "31002&104000"
},
{
"id": 53,
"lv": 53,
"consume": "31002&106000"
},
{
"id": 54,
"lv": 54,
"consume": "31002&108000"
},
{
"id": 55,
"lv": 55,
"consume": "31002&110000"
},
{
"id": 56,
"lv": 56,
"consume": "31002&112000"
},
{
"id": 57,
"lv": 57,
"consume": "31002&114000"
},
{
"id": 58,
"lv": 58,
"consume": "31002&116000"
},
{
"id": 59,
"lv": 59,
"consume": "31002&118000"
},
{
"id": 60,
"lv": 60,
"consume": "31002&120000"
},
{
"id": 61,
"lv": 61,
"consume": "31002&122000"
},
{
"id": 62,
"lv": 62,
"consume": "31002&124000"
},
{
"id": 63,
"lv": 63,
"consume": "31002&126000"
},
{
"id": 64,
"lv": 64,
"consume": "31002&128000"
},
{
"id": 65,
"lv": 65,
"consume": "31002&130000"
},
{
"id": 66,
"lv": 66,
"consume": "31002&132000"
},
{
"id": 67,
"lv": 67,
"consume": "31002&134000"
},
{
"id": 68,
"lv": 68,
"consume": "31002&136000"
},
{
"id": 69,
"lv": 69,
"consume": "31002&138000"
},
{
"id": 70,
"lv": 70,
"consume": "31002&140000"
},
{
"id": 71,
"lv": 71,
"consume": "31002&142000"
},
{
"id": 72,
"lv": 72,
"consume": "31002&144000"
},
{
"id": 73,
"lv": 73,
"consume": "31002&146000"
},
{
"id": 74,
"lv": 74,
"consume": "31002&148000"
},
{
"id": 75,
"lv": 75,
"consume": "31002&150000"
},
{
"id": 76,
"lv": 76,
"consume": "31002&152000"
},
{
"id": 77,
"lv": 77,
"consume": "31002&154000"
},
{
"id": 78,
"lv": 78,
"consume": "31002&156000"
},
{
"id": 79,
"lv": 79,
"consume": "31002&158000"
},
{
"id": 80,
"lv": 80,
"consume": "31002&160000"
},
{
"id": 81,
"lv": 81,
"consume": "31002&162000"
},
{
"id": 82,
"lv": 82,
"consume": "31002&164000"
},
{
"id": 83,
"lv": 83,
"consume": "31002&166000"
},
{
"id": 84,
"lv": 84,
"consume": "31002&168000"
},
{
"id": 85,
"lv": 85,
"consume": "31002&170000"
},
{
"id": 86,
"lv": 86,
"consume": "31002&172000"
},
{
"id": 87,
"lv": 87,
"consume": "31002&174000"
},
{
"id": 88,
"lv": 88,
"consume": "31002&176000"
},
{
"id": 89,
"lv": 89,
"consume": "31002&178000"
},
{
"id": 90,
"lv": 90,
"consume": "31002&180000"
},
{
"id": 91,
"lv": 91,
"consume": "31002&182000"
},
{
"id": 92,
"lv": 92,
"consume": "31002&184000"
},
{
"id": 93,
"lv": 93,
"consume": "31002&186000"
},
{
"id": 94,
"lv": 94,
"consume": "31002&188000"
},
{
"id": 95,
"lv": 95,
"consume": "31002&190000"
},
{
"id": 96,
"lv": 96,
"consume": "31002&192000"
},
{
"id": 97,
"lv": 97,
"consume": "31002&194000"
},
{
"id": 98,
"lv": 98,
"consume": "31002&196000"
},
{
"id": 99,
"lv": 99,
"consume": "31002&198000"
},
{
"id": 100,
"lv": 100,
"consume": "31002&200000"
}
]

View File

@@ -0,0 +1,44 @@
[
{
"id": 1,
"jobClass": 1,
"equips": "1&2&3&4",
"effect": "4&10011|8&10013|12&80003"
},
{
"id": 2,
"jobClass": 2,
"equips": "5&6&7&8",
"effect": "4&20011|8&10012|12&80023"
},
{
"id": 3,
"jobClass": 3,
"equips": "9&10&11&12",
"effect": "4&60032|8&60034|12&80002"
},
{
"id": 4,
"jobClass": 4,
"equips": "13&14&15&16",
"effect": "4&10011|8&10013|12&80003"
},
{
"id": 5,
"jobClass": 5,
"equips": "17&18&19&20",
"effect": "4&20011|8&10012|12&80023"
},
{
"id": 6,
"jobClass": 6,
"equips": "21&22&23&24",
"effect": "4&60032|8&60034|12&80002"
},
{
"id": 7,
"jobClass": 7,
"equips": "25&26&27&28",
"effect": "4&60032|8&60034|12&80002"
}
]

View File

@@ -0,0 +1,542 @@
[
{
"id": 1,
"good_id": 0,
"name": "一阶武器天晶",
"eplaceId": 1,
"itId": 0,
"lv": 1,
"quality": 1,
"effectCount": 2,
"randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068&80054&80089",
"mapGoodId": 0,
"quenchConsume": "31001&500",
"successRatio": 100,
"successConsume": "31002&100"
},
{
"id": 2,
"good_id": 0,
"name": "二阶武器天晶",
"eplaceId": 1,
"itId": 0,
"lv": 2,
"quality": 1,
"effectCount": 2,
"randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068&80054&80089",
"mapGoodId": 0,
"quenchConsume": "31001&500",
"successRatio": 100,
"successConsume": "31002&100"
},
{
"id": 3,
"good_id": 0,
"name": "三阶武器天晶",
"eplaceId": 1,
"itId": 0,
"lv": 3,
"quality": 2,
"effectCount": 2,
"randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068&80054&80089",
"mapGoodId": 0,
"quenchConsume": "31001&500",
"successRatio": 90,
"successConsume": "31002&200"
},
{
"id": 4,
"good_id": 0,
"name": "四阶武器天晶",
"eplaceId": 1,
"itId": 0,
"lv": 4,
"quality": 2,
"effectCount": 2,
"randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068&80054&80089",
"mapGoodId": 0,
"quenchConsume": "31001&500",
"successRatio": 90,
"successConsume": "31002&200"
},
{
"id": 5,
"good_id": 0,
"name": "五阶武器天晶",
"eplaceId": 1,
"itId": 0,
"lv": 5,
"quality": 3,
"effectCount": 3,
"randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068&80054&80089",
"mapGoodId": 0,
"quenchConsume": "31001&500",
"successRatio": 80,
"successConsume": "31002&300"
},
{
"id": 6,
"good_id": 0,
"name": "六阶武器天晶",
"eplaceId": 1,
"itId": 0,
"lv": 6,
"quality": 3,
"effectCount": 3,
"randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068&80054&80089",
"mapGoodId": 0,
"quenchConsume": "31001&500",
"successRatio": 80,
"successConsume": "31002&300"
},
{
"id": 7,
"good_id": 0,
"name": "七阶武器天晶",
"eplaceId": 1,
"itId": 0,
"lv": 7,
"quality": 4,
"effectCount": 4,
"randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068&80054&80089",
"mapGoodId": 0,
"quenchConsume": "31001&500",
"successRatio": 70,
"successConsume": "31002&400"
},
{
"id": 8,
"good_id": 0,
"name": "八阶武器天晶",
"eplaceId": 1,
"itId": 0,
"lv": 8,
"quality": 4,
"effectCount": 4,
"randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068&80054&80089",
"mapGoodId": 0,
"quenchConsume": "31001&500",
"successRatio": 70,
"successConsume": "31002&400"
},
{
"id": 9,
"good_id": 0,
"name": "九阶武器天晶",
"eplaceId": 1,
"itId": 0,
"lv": 9,
"quality": 5,
"effectCount": 4,
"randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068&80054&80089",
"mapGoodId": 0,
"quenchConsume": "31001&500",
"successRatio": 60,
"successConsume": "31002&500"
},
{
"id": 10,
"good_id": 0,
"name": "一阶衣甲天晶",
"eplaceId": 2,
"itId": 0,
"lv": 1,
"quality": 1,
"effectCount": 2,
"randomEffect": "60032&60034&80001&80012&80033&80047&80075",
"mapGoodId": 0,
"quenchConsume": "31001&500",
"successRatio": 100,
"successConsume": "31002&100"
},
{
"id": 11,
"good_id": 0,
"name": "二阶衣甲天晶",
"eplaceId": 2,
"itId": 0,
"lv": 2,
"quality": 1,
"effectCount": 2,
"randomEffect": "60032&60034&80001&80012&80033&80047&80075",
"mapGoodId": 0,
"quenchConsume": "31001&500",
"successRatio": 100,
"successConsume": "31002&100"
},
{
"id": 12,
"good_id": 0,
"name": "三阶衣甲天晶",
"eplaceId": 2,
"itId": 0,
"lv": 3,
"quality": 2,
"effectCount": 2,
"randomEffect": "60032&60034&80001&80012&80033&80047&80075",
"mapGoodId": 0,
"quenchConsume": "31001&500",
"successRatio": 90,
"successConsume": "31002&200"
},
{
"id": 13,
"good_id": 0,
"name": "四阶衣甲天晶",
"eplaceId": 2,
"itId": 0,
"lv": 4,
"quality": 2,
"effectCount": 2,
"randomEffect": "60032&60034&80001&80012&80033&80047&80075",
"mapGoodId": 0,
"quenchConsume": "31001&500",
"successRatio": 90,
"successConsume": "31002&200"
},
{
"id": 14,
"good_id": 0,
"name": "五阶衣甲天晶",
"eplaceId": 2,
"itId": 0,
"lv": 5,
"quality": 3,
"effectCount": 3,
"randomEffect": "60032&60034&80001&80012&80033&80047&80075",
"mapGoodId": 0,
"quenchConsume": "31001&500",
"successRatio": 80,
"successConsume": "31002&300"
},
{
"id": 15,
"good_id": 0,
"name": "六阶衣甲天晶",
"eplaceId": 2,
"itId": 0,
"lv": 6,
"quality": 3,
"effectCount": 3,
"randomEffect": "60032&60034&80001&80012&80033&80047&80075",
"mapGoodId": 0,
"quenchConsume": "31001&500",
"successRatio": 80,
"successConsume": "31002&300"
},
{
"id": 16,
"good_id": 0,
"name": "七阶衣甲天晶",
"eplaceId": 2,
"itId": 0,
"lv": 7,
"quality": 4,
"effectCount": 4,
"randomEffect": "60032&60034&80001&80012&80033&80047&80075",
"mapGoodId": 0,
"quenchConsume": "31001&500",
"successRatio": 70,
"successConsume": "31002&400"
},
{
"id": 17,
"good_id": 0,
"name": "八阶衣甲天晶",
"eplaceId": 2,
"itId": 0,
"lv": 8,
"quality": 4,
"effectCount": 4,
"randomEffect": "60032&60034&80001&80012&80033&80047&80075",
"mapGoodId": 0,
"quenchConsume": "31001&500",
"successRatio": 70,
"successConsume": "31002&400"
},
{
"id": 18,
"good_id": 0,
"name": "九阶衣甲天晶",
"eplaceId": 2,
"itId": 0,
"lv": 9,
"quality": 5,
"effectCount": 4,
"randomEffect": "60032&60034&80001&80012&80033&80047&80075",
"mapGoodId": 0,
"quenchConsume": "31001&500",
"successRatio": 60,
"successConsume": "31002&500"
},
{
"id": 19,
"good_id": 0,
"name": "一阶冠冕天晶",
"eplaceId": 3,
"itId": 0,
"lv": 1,
"quality": 1,
"effectCount": 2,
"randomEffect": "60032&40035&80001&80019&80033&80047&80082",
"mapGoodId": 0,
"quenchConsume": "31001&500",
"successRatio": 100,
"successConsume": "31002&100"
},
{
"id": 20,
"good_id": 0,
"name": "二阶冠冕天晶",
"eplaceId": 3,
"itId": 0,
"lv": 2,
"quality": 1,
"effectCount": 2,
"randomEffect": "60032&40035&80001&80019&80033&80047&80082",
"mapGoodId": 0,
"quenchConsume": "31001&500",
"successRatio": 100,
"successConsume": "31002&100"
},
{
"id": 21,
"good_id": 0,
"name": "三阶冠冕天晶",
"eplaceId": 3,
"itId": 0,
"lv": 3,
"quality": 2,
"effectCount": 2,
"randomEffect": "60032&40035&80001&80019&80033&80047&80082",
"mapGoodId": 0,
"quenchConsume": "31001&500",
"successRatio": 90,
"successConsume": "31002&200"
},
{
"id": 22,
"good_id": 0,
"name": "四阶冠冕天晶",
"eplaceId": 3,
"itId": 0,
"lv": 4,
"quality": 2,
"effectCount": 2,
"randomEffect": "60032&40035&80001&80019&80033&80047&80082",
"mapGoodId": 0,
"quenchConsume": "31001&500",
"successRatio": 90,
"successConsume": "31002&200"
},
{
"id": 23,
"good_id": 0,
"name": "五阶冠冕天晶",
"eplaceId": 3,
"itId": 0,
"lv": 5,
"quality": 3,
"effectCount": 3,
"randomEffect": "60032&40035&80001&80019&80033&80047&80082",
"mapGoodId": 0,
"quenchConsume": "31001&500",
"successRatio": 80,
"successConsume": "31002&300"
},
{
"id": 24,
"good_id": 0,
"name": "六阶冠冕天晶",
"eplaceId": 3,
"itId": 0,
"lv": 6,
"quality": 3,
"effectCount": 3,
"randomEffect": "60032&40035&80001&80019&80033&80047&80082",
"mapGoodId": 0,
"quenchConsume": "31001&500",
"successRatio": 80,
"successConsume": "31002&300"
},
{
"id": 25,
"good_id": 0,
"name": "七阶冠冕天晶",
"eplaceId": 3,
"itId": 0,
"lv": 7,
"quality": 4,
"effectCount": 4,
"randomEffect": "60032&40035&80001&80019&80033&80047&80082",
"mapGoodId": 0,
"quenchConsume": "31001&500",
"successRatio": 70,
"successConsume": "31002&400"
},
{
"id": 26,
"good_id": 0,
"name": "八阶冠冕天晶",
"eplaceId": 3,
"itId": 0,
"lv": 8,
"quality": 4,
"effectCount": 4,
"randomEffect": "60032&40035&80001&80019&80033&80047&80082",
"mapGoodId": 0,
"quenchConsume": "31001&500",
"successRatio": 70,
"successConsume": "31002&400"
},
{
"id": 27,
"good_id": 0,
"name": "九阶冠冕天晶",
"eplaceId": 3,
"itId": 0,
"lv": 9,
"quality": 5,
"effectCount": 4,
"randomEffect": "60032&40035&80001&80019&80033&80047&80082",
"mapGoodId": 0,
"quenchConsume": "31001&500",
"successRatio": 60,
"successConsume": "31002&500"
},
{
"id": 28,
"good_id": 0,
"name": "一阶行具天晶",
"eplaceId": 4,
"itId": 0,
"lv": 1,
"quality": 1,
"effectCount": 2,
"randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068",
"mapGoodId": 0,
"quenchConsume": "31001&500",
"successRatio": 100,
"successConsume": "31002&100"
},
{
"id": 29,
"good_id": 0,
"name": "二阶行具天晶",
"eplaceId": 4,
"itId": 0,
"lv": 2,
"quality": 1,
"effectCount": 2,
"randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068",
"mapGoodId": 0,
"quenchConsume": "31001&500",
"successRatio": 100,
"successConsume": "31002&100"
},
{
"id": 30,
"good_id": 0,
"name": "三阶行具天晶",
"eplaceId": 4,
"itId": 0,
"lv": 3,
"quality": 2,
"effectCount": 2,
"randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068",
"mapGoodId": 0,
"quenchConsume": "31001&500",
"successRatio": 90,
"successConsume": "31002&200"
},
{
"id": 31,
"good_id": 0,
"name": "四阶行具天晶",
"eplaceId": 4,
"itId": 0,
"lv": 4,
"quality": 2,
"effectCount": 2,
"randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068",
"mapGoodId": 0,
"quenchConsume": "31001&500",
"successRatio": 90,
"successConsume": "31002&200"
},
{
"id": 32,
"good_id": 0,
"name": "五阶行具天晶",
"eplaceId": 4,
"itId": 0,
"lv": 5,
"quality": 3,
"effectCount": 3,
"randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068",
"mapGoodId": 0,
"quenchConsume": "31001&500",
"successRatio": 80,
"successConsume": "31002&300"
},
{
"id": 33,
"good_id": 0,
"name": "六阶行具天晶",
"eplaceId": 4,
"itId": 0,
"lv": 6,
"quality": 3,
"effectCount": 3,
"randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068",
"mapGoodId": 0,
"quenchConsume": "31001&500",
"successRatio": 80,
"successConsume": "31002&300"
},
{
"id": 34,
"good_id": 0,
"name": "七阶行具天晶",
"eplaceId": 4,
"itId": 0,
"lv": 7,
"quality": 4,
"effectCount": 4,
"randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068",
"mapGoodId": 0,
"quenchConsume": "31001&500",
"successRatio": 70,
"successConsume": "31002&400"
},
{
"id": 35,
"good_id": 0,
"name": "八阶行具天晶",
"eplaceId": 4,
"itId": 0,
"lv": 8,
"quality": 4,
"effectCount": 4,
"randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068",
"mapGoodId": 0,
"quenchConsume": "31001&500",
"successRatio": 70,
"successConsume": "31002&400"
},
{
"id": 36,
"good_id": 0,
"name": "九阶行具天晶",
"eplaceId": 4,
"itId": 0,
"lv": 9,
"quality": 5,
"effectCount": 4,
"randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068",
"mapGoodId": 0,
"quenchConsume": "31001&500",
"successRatio": 60,
"successConsume": "31002&500"
}
]

View File

@@ -0,0 +1,184 @@
[
{
"id": 1,
"quality": 1,
"randSeId": 1,
"stoneCnt": 0,
"stoneQuality": 0
},
{
"id": 2,
"quality": 1,
"randSeId": 2,
"stoneCnt": 1,
"stoneQuality": 1
},
{
"id": 3,
"quality": 2,
"randSeId": 1,
"stoneCnt": 0,
"stoneQuality": 0
},
{
"id": 4,
"quality": 2,
"randSeId": 2,
"stoneCnt": 1,
"stoneQuality": 1
},
{
"id": 5,
"quality": 3,
"randSeId": 1,
"stoneCnt": 0,
"stoneQuality": 0
},
{
"id": 6,
"quality": 3,
"randSeId": 2,
"stoneCnt": 1,
"stoneQuality": 1
},
{
"id": 7,
"quality": 4,
"randSeId": 1,
"stoneCnt": 0,
"stoneQuality": 0
},
{
"id": 8,
"quality": 4,
"randSeId": 2,
"stoneCnt": 1,
"stoneQuality": 1
},
{
"id": 9,
"quality": 5,
"randSeId": 1,
"stoneCnt": 0,
"stoneQuality": 0
},
{
"id": 10,
"quality": 5,
"randSeId": 2,
"stoneCnt": 1,
"stoneQuality": 1
},
{
"id": 11,
"quality": 5,
"randSeId": 3,
"stoneCnt": 2,
"stoneQuality": 2
},
{
"id": 12,
"quality": 6,
"randSeId": 1,
"stoneCnt": 0,
"stoneQuality": 0
},
{
"id": 13,
"quality": 6,
"randSeId": 2,
"stoneCnt": 1,
"stoneQuality": 1
},
{
"id": 14,
"quality": 6,
"randSeId": 3,
"stoneCnt": 2,
"stoneQuality": 2
},
{
"id": 15,
"quality": 7,
"randSeId": 1,
"stoneCnt": 0,
"stoneQuality": 0
},
{
"id": 16,
"quality": 7,
"randSeId": 2,
"stoneCnt": 1,
"stoneQuality": 1
},
{
"id": 17,
"quality": 7,
"randSeId": 3,
"stoneCnt": 2,
"stoneQuality": 2
},
{
"id": 18,
"quality": 7,
"randSeId": 4,
"stoneCnt": 3,
"stoneQuality": 3
},
{
"id": 19,
"quality": 8,
"randSeId": 1,
"stoneCnt": 0,
"stoneQuality": 0
},
{
"id": 20,
"quality": 8,
"randSeId": 2,
"stoneCnt": 1,
"stoneQuality": 1
},
{
"id": 21,
"quality": 8,
"randSeId": 3,
"stoneCnt": 2,
"stoneQuality": 2
},
{
"id": 22,
"quality": 8,
"randSeId": 4,
"stoneCnt": 3,
"stoneQuality": 3
},
{
"id": 23,
"quality": 9,
"randSeId": 1,
"stoneCnt": 0,
"stoneQuality": 0
},
{
"id": 24,
"quality": 9,
"randSeId": 2,
"stoneCnt": 1,
"stoneQuality": 1
},
{
"id": 25,
"quality": 9,
"randSeId": 3,
"stoneCnt": 2,
"stoneQuality": 2
},
{
"id": 26,
"quality": 9,
"randSeId": 4,
"stoneCnt": 3,
"stoneQuality": 3
}
]

View File

@@ -0,0 +1,398 @@
[
{
"id": 1,
"good_id": 60001,
"name": "一阶赤焰钻",
"eplaceId": 1,
"itId": 42,
"lv": 1,
"quality": 1,
"composeMaterial": "&",
"attribute": "2&100"
},
{
"id": 2,
"good_id": 60002,
"name": "二阶赤焰钻",
"eplaceId": 1,
"itId": 42,
"lv": 2,
"quality": 1,
"composeMaterial": "60001&3",
"attribute": "2&400"
},
{
"id": 3,
"good_id": 60003,
"name": "三阶赤焰钻",
"eplaceId": 1,
"itId": 42,
"lv": 3,
"quality": 2,
"composeMaterial": "60002&3",
"attribute": "2&900"
},
{
"id": 4,
"good_id": 60004,
"name": "四阶赤焰钻",
"eplaceId": 1,
"itId": 42,
"lv": 4,
"quality": 2,
"composeMaterial": "60003&3",
"attribute": "2&1600"
},
{
"id": 5,
"good_id": 60005,
"name": "五阶赤焰钻",
"eplaceId": 1,
"itId": 42,
"lv": 5,
"quality": 3,
"composeMaterial": "60004&3",
"attribute": "2&2500"
},
{
"id": 6,
"good_id": 60006,
"name": "六阶赤焰钻",
"eplaceId": 1,
"itId": 42,
"lv": 6,
"quality": 3,
"composeMaterial": "60005&3",
"attribute": "2&3600"
},
{
"id": 7,
"good_id": 60007,
"name": "七阶赤焰钻",
"eplaceId": 1,
"itId": 42,
"lv": 7,
"quality": 4,
"composeMaterial": "60006&3|17056&9",
"attribute": "2&4900"
},
{
"id": 8,
"good_id": 60008,
"name": "八阶赤焰钻",
"eplaceId": 1,
"itId": 42,
"lv": 8,
"quality": 4,
"composeMaterial": "60007&3|17056&9",
"attribute": "2&6400"
},
{
"id": 9,
"good_id": 60009,
"name": "九阶赤焰钻",
"eplaceId": 1,
"itId": 42,
"lv": 9,
"quality": 5,
"composeMaterial": "60008&3|17056&9",
"attribute": "2&8000"
},
{
"id": 10,
"good_id": 60011,
"name": "一阶暗芒皓",
"eplaceId": 2,
"itId": 43,
"lv": 1,
"quality": 1,
"composeMaterial": "&",
"attribute": "4&60"
},
{
"id": 11,
"good_id": 60012,
"name": "二阶暗芒皓",
"eplaceId": 2,
"itId": 43,
"lv": 2,
"quality": 1,
"composeMaterial": "60011&3",
"attribute": "4&240"
},
{
"id": 12,
"good_id": 60013,
"name": "三阶暗芒皓",
"eplaceId": 2,
"itId": 43,
"lv": 3,
"quality": 2,
"composeMaterial": "60012&3",
"attribute": "4&540"
},
{
"id": 13,
"good_id": 60014,
"name": "四阶暗芒皓",
"eplaceId": 2,
"itId": 43,
"lv": 4,
"quality": 2,
"composeMaterial": "60013&3",
"attribute": "4&960"
},
{
"id": 14,
"good_id": 60015,
"name": "五阶暗芒皓",
"eplaceId": 2,
"itId": 43,
"lv": 5,
"quality": 3,
"composeMaterial": "60014&3",
"attribute": "4&1500"
},
{
"id": 15,
"good_id": 60016,
"name": "六阶暗芒皓",
"eplaceId": 2,
"itId": 43,
"lv": 6,
"quality": 3,
"composeMaterial": "60015&3",
"attribute": "4&2160"
},
{
"id": 16,
"good_id": 60017,
"name": "七阶暗芒皓",
"eplaceId": 2,
"itId": 43,
"lv": 7,
"quality": 4,
"composeMaterial": "60016&3|17056&9",
"attribute": "4&2940"
},
{
"id": 17,
"good_id": 60018,
"name": "八阶暗芒皓",
"eplaceId": 2,
"itId": 43,
"lv": 8,
"quality": 4,
"composeMaterial": "60017&3|17056&9",
"attribute": "4&3840"
},
{
"id": 18,
"good_id": 60019,
"name": "九阶暗芒皓",
"eplaceId": 2,
"itId": 43,
"lv": 9,
"quality": 5,
"composeMaterial": "60018&3|17056&9",
"attribute": "4&4800"
},
{
"id": 19,
"good_id": 60021,
"name": "一阶昆仑玉",
"eplaceId": 3,
"itId": 44,
"lv": 1,
"quality": 1,
"composeMaterial": "&",
"attribute": "5&60"
},
{
"id": 20,
"good_id": 60022,
"name": "二阶昆仑玉",
"eplaceId": 3,
"itId": 44,
"lv": 2,
"quality": 1,
"composeMaterial": "60021&3",
"attribute": "5&240"
},
{
"id": 21,
"good_id": 60023,
"name": "三阶昆仑玉",
"eplaceId": 3,
"itId": 44,
"lv": 3,
"quality": 2,
"composeMaterial": "60022&3",
"attribute": "5&540"
},
{
"id": 22,
"good_id": 60024,
"name": "四阶昆仑玉",
"eplaceId": 3,
"itId": 44,
"lv": 4,
"quality": 2,
"composeMaterial": "60023&3",
"attribute": "5&960"
},
{
"id": 23,
"good_id": 60025,
"name": "五阶昆仑玉",
"eplaceId": 3,
"itId": 44,
"lv": 5,
"quality": 3,
"composeMaterial": "60024&3",
"attribute": "5&1500"
},
{
"id": 24,
"good_id": 60026,
"name": "六阶昆仑玉",
"eplaceId": 3,
"itId": 44,
"lv": 6,
"quality": 3,
"composeMaterial": "60025&3",
"attribute": "5&2160"
},
{
"id": 25,
"good_id": 60027,
"name": "七阶昆仑玉",
"eplaceId": 3,
"itId": 44,
"lv": 7,
"quality": 4,
"composeMaterial": "60026&3|17056&9",
"attribute": "5&2940"
},
{
"id": 26,
"good_id": 60028,
"name": "八阶昆仑玉",
"eplaceId": 3,
"itId": 44,
"lv": 8,
"quality": 4,
"composeMaterial": "60027&3|17056&9",
"attribute": "5&3840"
},
{
"id": 27,
"good_id": 60029,
"name": "九阶昆仑玉",
"eplaceId": 3,
"itId": 44,
"lv": 9,
"quality": 5,
"composeMaterial": "60028&3|17056&9",
"attribute": "5&4800"
},
{
"id": 28,
"good_id": 60031,
"name": "一阶风灵石",
"eplaceId": 4,
"itId": 45,
"lv": 1,
"quality": 1,
"composeMaterial": "&",
"attribute": "1&200"
},
{
"id": 29,
"good_id": 60032,
"name": "二阶风灵石",
"eplaceId": 4,
"itId": 45,
"lv": 2,
"quality": 1,
"composeMaterial": "60031&3",
"attribute": "1&800"
},
{
"id": 30,
"good_id": 60033,
"name": "三阶风灵石",
"eplaceId": 4,
"itId": 45,
"lv": 3,
"quality": 2,
"composeMaterial": "60032&3",
"attribute": "1&1800"
},
{
"id": 31,
"good_id": 60034,
"name": "四阶风灵石",
"eplaceId": 4,
"itId": 45,
"lv": 4,
"quality": 2,
"composeMaterial": "60033&3",
"attribute": "1&3200"
},
{
"id": 32,
"good_id": 60035,
"name": "五阶风灵石",
"eplaceId": 4,
"itId": 45,
"lv": 5,
"quality": 3,
"composeMaterial": "60034&3",
"attribute": "1&5000"
},
{
"id": 33,
"good_id": 60036,
"name": "六阶风灵石",
"eplaceId": 4,
"itId": 45,
"lv": 6,
"quality": 3,
"composeMaterial": "60035&3",
"attribute": "1&7200"
},
{
"id": 34,
"good_id": 60037,
"name": "七阶风灵石",
"eplaceId": 4,
"itId": 45,
"lv": 7,
"quality": 4,
"composeMaterial": "60036&3|17056&9",
"attribute": "1&9800"
},
{
"id": 35,
"good_id": 60038,
"name": "八阶风灵石",
"eplaceId": 4,
"itId": 45,
"lv": 8,
"quality": 4,
"composeMaterial": "60037&3|17056&9",
"attribute": "1&12800"
},
{
"id": 36,
"good_id": 60039,
"name": "九阶风灵石",
"eplaceId": 4,
"itId": 45,
"lv": 9,
"quality": 5,
"composeMaterial": "60038&3|17056&9",
"attribute": "1&16000"
}
]