装备:升品

This commit is contained in:
luying
2022-02-16 10:05:12 +08:00
parent f25d44e391
commit db31f3344f
12 changed files with 4187 additions and 50722 deletions
@@ -8,7 +8,7 @@ import { EquipModel, EquipType } from "../../../db/Equip";
import { HeroModel, EPlace, HeroType } from "../../../db/Hero"; import { HeroModel, EPlace, HeroType } from "../../../db/Hero";
import Role from "../../../db/Role"; import Role from "../../../db/Role";
import { calPlayerCeAndSave } from "../../../services/playerCeService"; import { calPlayerCeAndSave } from "../../../services/playerCeService";
import { getGoodById, gameData, getEquipByJobClassAndEPlace } from "../../../pubUtils/data"; import { getGoodById, gameData, getEquipByJobClassAndEPlace, getNextEquipQuality, getEquipQualityIdByEquipIdAndPoint } from "../../../pubUtils/data";
import { BAG, EQUIP } from "../../../pubUtils/dicParam"; import { BAG, EQUIP } from "../../../pubUtils/dicParam";
import { ITID, QUALITY_TYPE, equipTypeToSortAttr, IT_TYPE, QUENCH_TYPE, REFINE_TYPE } from "../../../consts"; import { ITID, QUALITY_TYPE, equipTypeToSortAttr, IT_TYPE, QUENCH_TYPE, REFINE_TYPE } from "../../../consts";
import { checkMaterialEnough, checkEquipCanPut, quenchOnce, checkQuenchMaxByQualityAndGrade, getRandSeResult, refineOnce, checkRefineReachNextLv, calEquipCe, updateEplace, updateEplaces } from "../../../services/equipService"; import { checkMaterialEnough, checkEquipCanPut, quenchOnce, checkQuenchMaxByQualityAndGrade, getRandSeResult, refineOnce, checkRefineReachNextLv, calEquipCe, updateEplace, updateEplaces } from "../../../services/equipService";
@@ -106,6 +106,58 @@ export class EquipHandler {
} }
// 装备升品
public async qualityUp(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, 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);
let nextEquipQuality = getNextEquipQuality(curEquip.equipId, curEquip.quality, curEquip.qualityStage);
if(!nextEquipQuality) return resResult(STATUS.EQUIP_QUALITY_MAX);
let update = {
quality: curEquip.quality,
qualityStage: curEquip.qualityStage,
}
let check = new CheckMeterial(roleId);
if(isOneClick) {
while(nextEquipQuality) {
let isEnough = await check.decrease(nextEquipQuality.consume);
if(!isEnough) break; // 消耗不足
update.qualityStage++;
nextEquipQuality = getNextEquipQuality(curEquip.equipId, update.quality, update.qualityStage)
}
} else {
let isEnough = await check.decrease(nextEquipQuality.consume);
if(isEnough) {
update.quality = nextEquipQuality.quality;
update.qualityStage = nextEquipQuality.point;
}
}
if(update.quality == curEquip.quality && update.qualityStage == curEquip.qualityStage) {
return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH);
}
let { newEplace, updatedEplace } = updateEplace(hero.ePlace, eplaceId, update);
hero = await calPlayerCeAndSave(HERO_SYSTEM_TYPE.EQUIP_QUALITY, sid, roleId, hero, { ePlace: newEplace }, [eplaceId]);
// TODO 任务
const curHero = {
hid,
ePlace: updatedEplace
}
return resResult(STATUS.SUCCESS, { curHero });
}
// 装备栏一键强化至相应等级 // 装备栏一键强化至相应等级
public async strengthenAll(msg: { hid: number, lv: number }, session: BackendSession) { public async strengthenAll(msg: { hid: number, lv: number }, session: BackendSession) {
+1
View File
@@ -23,6 +23,7 @@ export enum HERO_SYSTEM_TYPE {
TERAPH_UP = 20, // 神像升级 TERAPH_UP = 20, // 神像升级
COMPOSE_EQUIP = 21, // 合成装备 COMPOSE_EQUIP = 21, // 合成装备
EQUIP_STRENGTH = 22, // 装备强化 EQUIP_STRENGTH = 22, // 装备强化
EQUIP_QUALITY = 23, // 装备升品
}; };
// 武将上限 // 武将上限
+1
View File
@@ -489,6 +489,7 @@ export const FILENAME = {
DIC_EQUIP: 'dic_zyz_equip', DIC_EQUIP: 'dic_zyz_equip',
DIC_EQUIP_SUIT: 'dic_zyz_equipSuit', DIC_EQUIP_SUIT: 'dic_zyz_equipSuit',
DIC_EQUIP_STRENGTH: 'dic_zyz_equipStrength', DIC_EQUIP_STRENGTH: 'dic_zyz_equipStrength',
DIC_EQUIP_QUALITY: 'dic_zyz_equipQuality',
DIC_JEWEL: 'dic_jewel', DIC_JEWEL: 'dic_jewel',
} }
+1
View File
@@ -311,6 +311,7 @@ export const STATUS = {
EQUIP_QUENCH_MAX: { code: 30515, simStr: '该装备不能再淬火' }, EQUIP_QUENCH_MAX: { code: 30515, simStr: '该装备不能再淬火' },
EQUIP_DECOMPOSE_IS_UPLIMIT: { code: 30516, simStr: '装备分解数量已达上限' }, EQUIP_DECOMPOSE_IS_UPLIMIT: { code: 30516, simStr: '装备分解数量已达上限' },
EQUIP_HAS_COMPOSE: { code: 30517, simStr: '该装备已合成' }, EQUIP_HAS_COMPOSE: { code: 30517, simStr: '该装备已合成' },
EQUIP_QUALITY_MAX: { code: 30518, simStr: '该装备已升品到最高' },
//全局养成30600-30699 //全局养成30600-30699
ROLE_REACH_MAX_TITLE_LEVEL: { code: 30600, simStr: '玩家已达到最高的爵位' }, ROLE_REACH_MAX_TITLE_LEVEL: { code: 30600, simStr: '玩家已达到最高的爵位' },
+2 -2
View File
@@ -86,11 +86,11 @@ export class EPlace {
@prop({ required: true }) @prop({ required: true })
lv: number = 1; lv: number = 1;
@prop({ required: true }) @prop({ required: true })
quality: number = 0; quality: number = 1;
@prop({ required: true }) @prop({ required: true })
qualityStage: number = 0; qualityStage: number = 0;
@prop({ required: true }) @prop({ required: true })
star: number = 0; star: number = 1;
@prop({ required: true }) @prop({ required: true })
starStage: number = 0; starStage: number = 0;
@prop({ required: true, type: Stone, _id: false }) @prop({ required: true, type: Stone, _id: false })
+22
View File
@@ -103,6 +103,7 @@ import _ = require("underscore");
import { dicEquipById, dicEquipIdByJobClassAndEplace, loadEquip } from "./dictionary/DicEquip"; import { dicEquipById, dicEquipIdByJobClassAndEplace, loadEquip } from "./dictionary/DicEquip";
import { dicJewel, loadJewel } from "./dictionary/DicJewel"; import { dicJewel, loadJewel } from "./dictionary/DicJewel";
import { dicEquipStrength, loadEquipStrength } from "./dictionary/DicEquipStrength"; import { dicEquipStrength, loadEquipStrength } from "./dictionary/DicEquipStrength";
import { dicEquipQuality, dicEquipQualityIdByEquipIdAndPoint, loadEquipQuality } from "./dictionary/DicEquipQuality";
export const gameData = { export const gameData = {
blurprtCompose: dicBlueprtCompose, blurprtCompose: dicBlueprtCompose,
@@ -255,6 +256,8 @@ export const gameData = {
equipIdByJobAndEPlace: dicEquipIdByJobClassAndEplace, equipIdByJobAndEPlace: dicEquipIdByJobClassAndEplace,
jewel: dicJewel, jewel: dicJewel,
equipStrengthenCost: dicEquipStrength, equipStrengthenCost: dicEquipStrength,
equipQuality: dicEquipQuality,
equipQualityIdByEquipIdAndPoint: dicEquipQualityIdByEquipIdAndPoint,
}; };
// 在此提供一些原先在gamedata中提供的方法,以便更方便获取gameData数据 // 在此提供一些原先在gamedata中提供的方法,以便更方便获取gameData数据
@@ -841,6 +844,24 @@ export function getEquipByJobClassAndEPlace(jobClass: number, eplaceId: number)
return gameData.equipById.get(equipId); return gameData.equipById.get(equipId);
} }
export function getEquipQualityIdByEquipIdAndPoint(equipId: number, quality: number, point: number) {
let equipQualityId = gameData.equipQualityIdByEquipIdAndPoint.get(`${equipId}_${quality}_${point}`);
return equipQualityId?gameData.equipQuality.get(equipQualityId): null;
}
export function getNextEquipQuality(equipId: number, quality: number, point: number) {
let equipQuality = getEquipQualityIdByEquipIdAndPoint(equipId, quality, point);
if(equipQuality) {
let nextId = equipQuality.id + 1;
console.log(nextId)
let nextEquipQuality = gameData.equipQuality.get(nextId);
if(nextEquipQuality && nextEquipQuality.equipId == equipQuality.equipId) {
return nextEquipQuality
}
}
return null
}
// 初始加载 // 初始加载
function initDatas() { function initDatas() {
parseDicParam(); parseDicParam();
@@ -1008,6 +1029,7 @@ function loadDatas() {
loadServerConst(); loadServerConst();
loadEquip(); loadEquip();
loadEquipStrength(); loadEquipStrength();
loadEquipQuality();
loadJewel(); loadJewel();
} }
@@ -0,0 +1,56 @@
// 装备升品表
import { readFileAndParse, parseGoodStr, decodeArrayListStr } from '../util'
import { FILENAME } from '../../consts'
import { RewardInter } from '../interface';
export interface DicEquipQuality {
// id
readonly id: number;
// 装备id
readonly equipId: number;
// 装备品质
readonly quality: number;
// 装备的武将职业大类
readonly jobClass: number;
// 装备栏id
readonly eplaceId: number;
// 升星的点
readonly point: number;
// 一共有多少点
readonly count: number;
// 消耗
readonly consume: RewardInter[];
// 属性提升
readonly attribute: {id: number, num: number}[];
}
export const dicEquipQuality = new Map<number, DicEquipQuality>();
export const dicEquipQualityIdByEquipIdAndPoint = new Map<string, number>(); // equipId&point => id
export function loadEquipQuality() {
dicEquipQuality.clear();
dicEquipQualityIdByEquipIdAndPoint.clear();
let arr = readFileAndParse(FILENAME.DIC_EQUIP_QUALITY);
arr.forEach(o => {
o.consume = parseGoodStr(o.consume);
o.attribute = parseAttr(o.attribute);
dicEquipQualityIdByEquipIdAndPoint.set(`${o.equipId}_${o.quality}_${o.point}`, o.id);
dicEquipQuality.set(o.id, o);
});
arr = undefined;
}
function parseAttr(str: string) {
let result = new Array<{id: number, num: number}>();
if(!str) return result;
let decodeArr = decodeArrayListStr(str);
for(let [id, num] of decodeArr) {
if(isNaN(parseInt(id)) || isNaN(parseInt(num))) {
throw new Error('data table format wrong');
}
result.push({id: parseInt(id), num: parseInt(num)});
}
return result
}
+23
View File
@@ -170,6 +170,9 @@ export function calPlayerCe(hero: HeroType, update: HeroUpdate, type: number, ar
case HERO_SYSTEM_TYPE.EQUIP_STRENGTH: case HERO_SYSTEM_TYPE.EQUIP_STRENGTH:
heroAttrs = calEquipStrengthIncAttr(hero, update, args); heroAttrs = calEquipStrengthIncAttr(hero, update, args);
break; break;
case HERO_SYSTEM_TYPE.EQUIP_QUALITY:
heroAttrs = calEquipQualityIncAttr(hero, update, args);
break;
case HERO_SYSTEM_TYPE.EQUIP: // case HERO_SYSTEM_TYPE.EQUIP: //
heroAttrs = calEquipPutOnOffIncAttr(hero, args, addSeidList, removeSeidList); heroAttrs = calEquipPutOnOffIncAttr(hero, args, addSeidList, removeSeidList);
break; break;
@@ -635,6 +638,26 @@ export function calEquipStrengthIncAttr(hero: HeroType, update: HeroUpdate, epla
return heroAttrs return heroAttrs
} }
export function calEquipQualityIncAttr(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 dicOldEquipQuality = gameData.equipQuality.get(oldEquip.equipId);
let dicNewEquipQuality = gameData.equipQuality.get(oldEquip.equipId);
for(let attr of dicOldEquipQuality.attribute) {
updateHeroAttr(heroAttrs, attr.id, { inc: { fixUp: -1 * attr.num * HERO_CE_RATIO } });
}
for(let attr of dicNewEquipQuality.attribute) {
updateHeroAttr(heroAttrs, attr.id, { inc: { fixUp: attr.num * HERO_CE_RATIO } });
}
}
}
return heroAttrs
}
/** /**
* 穿脱, removeSeidList原来身上穿着的所有装备的seid,包括套装的 * 穿脱, removeSeidList原来身上穿着的所有装备的seid,包括套装的
* @param {HeroType} hero 武将 * @param {HeroType} hero 武将
File diff suppressed because it is too large Load Diff
+34 -118
View File
@@ -1,99 +1,31 @@
[ [
{ {
"itid": 1, "itid": 1,
"info": "短刀(神兵)" "info": "神兵"
}, },
{ {
"itid": 2, "itid": 2,
"info": "长兵(神兵)" "info": "宝甲"
}, },
{ {
"itid": 3, "itid": 3,
"info": "奇门(神兵)" "info": "冠冕"
}, },
{ {
"itid": 4, "itid": 4,
"info": "弓弩(神兵)" "info": "行具"
}, },
{ {
"itid": 5, "itid": 5,
"info": "剑(神兵)" "info": "典籍"
}, },
{ {
"itid": 6, "itid": 6,
"info": "法器(神兵)" "info": "饰品"
},
{
"itid": 7,
"info": "备用(神兵)"
},
{
"itid": 8,
"info": "备用(神兵)"
},
{
"itid": 9,
"info": "头盔(冠冕)"
},
{
"itid": 10,
"info": "发冠(冠冕)"
},
{
"itid": 11,
"info": "头巾(冠冕)"
},
{
"itid": 12,
"info": "重铠(宝甲)"
},
{
"itid": 13,
"info": "轻甲(宝甲)"
},
{
"itid": 14,
"info": "布衣(宝甲)"
},
{
"itid": 15,
"info": "兵书(典籍)"
},
{
"itid": 16,
"info": "杂记(典籍)"
},
{
"itid": 17,
"info": "经典(典籍)"
},
{
"itid": 18,
"info": "马(行具)"
},
{
"itid": 19,
"info": "鞋(行具)"
},
{
"itid": 20,
"info": "车(行具)"
},
{
"itid": 21,
"info": "佩饰(礼器)"
},
{
"itid": 22,
"info": "钟鼎(礼器)"
},
{
"itid": 23,
"info": "印章(礼器)"
}, },
{ {
"itid": 24, "itid": 24,
"info": "使用类物品(如宝箱)" "info": "礼包"
}, },
{ {
"itid": 25, "itid": 25,
@@ -111,41 +43,21 @@
"itid": 28, "itid": 28,
"info": "藏宝图" "info": "藏宝图"
}, },
{
"itid": 29,
"info": "礼器"
},
{
"itid": 30,
"info": "宝甲"
},
{
"itid": 31,
"info": "名驹"
},
{
"itid": 32,
"info": "典籍"
},
{
"itid": 33,
"info": "神兵"
},
{ {
"itid": 34, "itid": 34,
"info": "代币" "info": "代币"
}, },
{ {
"itid": 35, "itid": 35,
"info": "消耗类物品(经验书)" "info": "经验书"
}, },
{ {
"itid": 36, "itid": 36,
"info": "消耗类物品(好感道具)" "info": "名望道具"
}, },
{ {
"itid": 38, "itid": 38,
"info": "消耗类物品(材料类)" "info": "材料"
}, },
{ {
"itid": 39, "itid": 39,
@@ -157,7 +69,7 @@
}, },
{ {
"itid": 41, "itid": 41,
"info": "图纸" "info": "套装图纸"
}, },
{ {
"itid": 42, "itid": 42,
@@ -177,27 +89,23 @@
}, },
{ {
"itid": 46, "itid": 46,
"info": "礼器宝石" "info": "饰品宝石"
}, },
{ {
"itid": 47, "itid": 47,
"info": "典籍宝石" "info": "典籍宝石"
}, },
{
"itid": 48,
"info": "灵玄石"
},
{ {
"itid": 49, "itid": 49,
"info": "玩家好感道具" "info": "好感道具"
}, },
{ {
"itid": 50, "itid": 50,
"info": "形象" "info": "头像"
}, },
{ {
"itid": 51, "itid": 51,
"info": "形象框" "info": "头像框"
}, },
{ {
"itid": 52, "itid": 52,
@@ -205,26 +113,34 @@
}, },
{ {
"itid": 53, "itid": 53,
"info": "武将招募令" "info": "招募令"
},
{
"itid": 54,
"info": "礼包"
}, },
{ {
"itid": 55, "itid": 55,
"info": "烧肉(体力道具)" "info": "体力道具"
}, },
{ {
"itid": 56, "itid": 56,
"info": "普通骰子" "info": "活动道具"
},
{
"itid": 57,
"info": "天机骰子"
}, },
{ {
"itid": 58, "itid": 58,
"info": "实体化经验" "info": "实体化经验"
},
{
"itid": 59,
"info": "武器天晶"
},
{
"itid": 60,
"info": "衣甲天晶"
},
{
"itid": 61,
"info": "冠冕天晶"
},
{
"itid": 62,
"info": "行具天晶"
} }
] ]
File diff suppressed because it is too large Load Diff
+144 -180
View File
@@ -1,542 +1,506 @@
[ [
{ {
"id": 1, "id": 1,
"good_id": 0, "good_id": 80001,
"name": "一阶武器天晶", "name": "一阶武器天晶",
"eplaceId": 1, "eplaceId": 1,
"itId": 0, "itId": 59,
"lv": 1, "lv": 1,
"quality": 1, "quality": 1,
"effectCount": 2, "effectCount": 2,
"randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068&80054&80089", "randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068&80054&80089",
"mapGoodId": 0, "mapGoodId": 33001,
"quenchConsume": "31001&500", "quenchConsume": "31001&500",
"successRatio": 100, "successConsume": "17057&100"
"successConsume": "31002&100"
}, },
{ {
"id": 2, "id": 2,
"good_id": 0, "good_id": 80002,
"name": "二阶武器天晶", "name": "二阶武器天晶",
"eplaceId": 1, "eplaceId": 1,
"itId": 0, "itId": 59,
"lv": 2, "lv": 2,
"quality": 1, "quality": 1,
"effectCount": 2, "effectCount": 2,
"randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068&80054&80089", "randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068&80054&80089",
"mapGoodId": 0, "mapGoodId": 33002,
"quenchConsume": "31001&500", "quenchConsume": "31001&500",
"successRatio": 100, "successConsume": "17057&100"
"successConsume": "31002&100"
}, },
{ {
"id": 3, "id": 3,
"good_id": 0, "good_id": 80003,
"name": "三阶武器天晶", "name": "三阶武器天晶",
"eplaceId": 1, "eplaceId": 1,
"itId": 0, "itId": 59,
"lv": 3, "lv": 3,
"quality": 2, "quality": 2,
"effectCount": 2, "effectCount": 2,
"randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068&80054&80089", "randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068&80054&80089",
"mapGoodId": 0, "mapGoodId": 33003,
"quenchConsume": "31001&500", "quenchConsume": "31001&500",
"successRatio": 90, "successConsume": "17057&100"
"successConsume": "31002&200"
}, },
{ {
"id": 4, "id": 4,
"good_id": 0, "good_id": 80004,
"name": "四阶武器天晶", "name": "四阶武器天晶",
"eplaceId": 1, "eplaceId": 1,
"itId": 0, "itId": 59,
"lv": 4, "lv": 4,
"quality": 2, "quality": 2,
"effectCount": 2, "effectCount": 2,
"randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068&80054&80089", "randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068&80054&80089",
"mapGoodId": 0, "mapGoodId": 33004,
"quenchConsume": "31001&500", "quenchConsume": "31001&500",
"successRatio": 90, "successConsume": "17057&100"
"successConsume": "31002&200"
}, },
{ {
"id": 5, "id": 5,
"good_id": 0, "good_id": 80005,
"name": "五阶武器天晶", "name": "五阶武器天晶",
"eplaceId": 1, "eplaceId": 1,
"itId": 0, "itId": 59,
"lv": 5, "lv": 5,
"quality": 3, "quality": 3,
"effectCount": 3, "effectCount": 3,
"randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068&80054&80089", "randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068&80054&80089",
"mapGoodId": 0, "mapGoodId": 33005,
"quenchConsume": "31001&500", "quenchConsume": "31001&500",
"successRatio": 80, "successConsume": "17057&100"
"successConsume": "31002&300"
}, },
{ {
"id": 6, "id": 6,
"good_id": 0, "good_id": 80006,
"name": "六阶武器天晶", "name": "六阶武器天晶",
"eplaceId": 1, "eplaceId": 1,
"itId": 0, "itId": 59,
"lv": 6, "lv": 6,
"quality": 3, "quality": 3,
"effectCount": 3, "effectCount": 3,
"randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068&80054&80089", "randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068&80054&80089",
"mapGoodId": 0, "mapGoodId": 33006,
"quenchConsume": "31001&500", "quenchConsume": "31001&500",
"successRatio": 80, "successConsume": "17057&100"
"successConsume": "31002&300"
}, },
{ {
"id": 7, "id": 7,
"good_id": 0, "good_id": 80007,
"name": "七阶武器天晶", "name": "七阶武器天晶",
"eplaceId": 1, "eplaceId": 1,
"itId": 0, "itId": 59,
"lv": 7, "lv": 7,
"quality": 4, "quality": 4,
"effectCount": 4, "effectCount": 4,
"randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068&80054&80089", "randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068&80054&80089",
"mapGoodId": 0, "mapGoodId": 33007,
"quenchConsume": "31001&500", "quenchConsume": "31001&500",
"successRatio": 70, "successConsume": "17057&100"
"successConsume": "31002&400"
}, },
{ {
"id": 8, "id": 8,
"good_id": 0, "good_id": 80008,
"name": "八阶武器天晶", "name": "八阶武器天晶",
"eplaceId": 1, "eplaceId": 1,
"itId": 0, "itId": 59,
"lv": 8, "lv": 8,
"quality": 4, "quality": 4,
"effectCount": 4, "effectCount": 4,
"randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068&80054&80089", "randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068&80054&80089",
"mapGoodId": 0, "mapGoodId": 33008,
"quenchConsume": "31001&500", "quenchConsume": "31001&500",
"successRatio": 70, "successConsume": "17057&100"
"successConsume": "31002&400"
}, },
{ {
"id": 9, "id": 9,
"good_id": 0, "good_id": 80009,
"name": "九阶武器天晶", "name": "九阶武器天晶",
"eplaceId": 1, "eplaceId": 1,
"itId": 0, "itId": 59,
"lv": 9, "lv": 9,
"quality": 5, "quality": 5,
"effectCount": 4, "effectCount": 4,
"randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068&80054&80089", "randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068&80054&80089",
"mapGoodId": 0, "mapGoodId": 33009,
"quenchConsume": "31001&500", "quenchConsume": "31001&500",
"successRatio": 60, "successConsume": "17057&100"
"successConsume": "31002&500"
}, },
{ {
"id": 10, "id": 10,
"good_id": 0, "good_id": 80011,
"name": "一阶衣甲天晶", "name": "一阶衣甲天晶",
"eplaceId": 2, "eplaceId": 2,
"itId": 0, "itId": 60,
"lv": 1, "lv": 1,
"quality": 1, "quality": 1,
"effectCount": 2, "effectCount": 2,
"randomEffect": "60032&60034&80001&80012&80033&80047&80075", "randomEffect": "60032&60034&80001&80012&80033&80047&80075",
"mapGoodId": 0, "mapGoodId": 33010,
"quenchConsume": "31001&500", "quenchConsume": "31001&500",
"successRatio": 100, "successConsume": "17057&100"
"successConsume": "31002&100"
}, },
{ {
"id": 11, "id": 11,
"good_id": 0, "good_id": 80012,
"name": "二阶衣甲天晶", "name": "二阶衣甲天晶",
"eplaceId": 2, "eplaceId": 2,
"itId": 0, "itId": 60,
"lv": 2, "lv": 2,
"quality": 1, "quality": 1,
"effectCount": 2, "effectCount": 2,
"randomEffect": "60032&60034&80001&80012&80033&80047&80075", "randomEffect": "60032&60034&80001&80012&80033&80047&80075",
"mapGoodId": 0, "mapGoodId": 33011,
"quenchConsume": "31001&500", "quenchConsume": "31001&500",
"successRatio": 100, "successConsume": "17057&100"
"successConsume": "31002&100"
}, },
{ {
"id": 12, "id": 12,
"good_id": 0, "good_id": 80013,
"name": "三阶衣甲天晶", "name": "三阶衣甲天晶",
"eplaceId": 2, "eplaceId": 2,
"itId": 0, "itId": 60,
"lv": 3, "lv": 3,
"quality": 2, "quality": 2,
"effectCount": 2, "effectCount": 2,
"randomEffect": "60032&60034&80001&80012&80033&80047&80075", "randomEffect": "60032&60034&80001&80012&80033&80047&80075",
"mapGoodId": 0, "mapGoodId": 33012,
"quenchConsume": "31001&500", "quenchConsume": "31001&500",
"successRatio": 90, "successConsume": "17057&100"
"successConsume": "31002&200"
}, },
{ {
"id": 13, "id": 13,
"good_id": 0, "good_id": 80014,
"name": "四阶衣甲天晶", "name": "四阶衣甲天晶",
"eplaceId": 2, "eplaceId": 2,
"itId": 0, "itId": 60,
"lv": 4, "lv": 4,
"quality": 2, "quality": 2,
"effectCount": 2, "effectCount": 2,
"randomEffect": "60032&60034&80001&80012&80033&80047&80075", "randomEffect": "60032&60034&80001&80012&80033&80047&80075",
"mapGoodId": 0, "mapGoodId": 33013,
"quenchConsume": "31001&500", "quenchConsume": "31001&500",
"successRatio": 90, "successConsume": "17057&100"
"successConsume": "31002&200"
}, },
{ {
"id": 14, "id": 14,
"good_id": 0, "good_id": 80015,
"name": "五阶衣甲天晶", "name": "五阶衣甲天晶",
"eplaceId": 2, "eplaceId": 2,
"itId": 0, "itId": 60,
"lv": 5, "lv": 5,
"quality": 3, "quality": 3,
"effectCount": 3, "effectCount": 3,
"randomEffect": "60032&60034&80001&80012&80033&80047&80075", "randomEffect": "60032&60034&80001&80012&80033&80047&80075",
"mapGoodId": 0, "mapGoodId": 33014,
"quenchConsume": "31001&500", "quenchConsume": "31001&500",
"successRatio": 80, "successConsume": "17057&100"
"successConsume": "31002&300"
}, },
{ {
"id": 15, "id": 15,
"good_id": 0, "good_id": 80016,
"name": "六阶衣甲天晶", "name": "六阶衣甲天晶",
"eplaceId": 2, "eplaceId": 2,
"itId": 0, "itId": 60,
"lv": 6, "lv": 6,
"quality": 3, "quality": 3,
"effectCount": 3, "effectCount": 3,
"randomEffect": "60032&60034&80001&80012&80033&80047&80075", "randomEffect": "60032&60034&80001&80012&80033&80047&80075",
"mapGoodId": 0, "mapGoodId": 33015,
"quenchConsume": "31001&500", "quenchConsume": "31001&500",
"successRatio": 80, "successConsume": "17057&100"
"successConsume": "31002&300"
}, },
{ {
"id": 16, "id": 16,
"good_id": 0, "good_id": 80017,
"name": "七阶衣甲天晶", "name": "七阶衣甲天晶",
"eplaceId": 2, "eplaceId": 2,
"itId": 0, "itId": 60,
"lv": 7, "lv": 7,
"quality": 4, "quality": 4,
"effectCount": 4, "effectCount": 4,
"randomEffect": "60032&60034&80001&80012&80033&80047&80075", "randomEffect": "60032&60034&80001&80012&80033&80047&80075",
"mapGoodId": 0, "mapGoodId": 33016,
"quenchConsume": "31001&500", "quenchConsume": "31001&500",
"successRatio": 70, "successConsume": "17057&100"
"successConsume": "31002&400"
}, },
{ {
"id": 17, "id": 17,
"good_id": 0, "good_id": 80018,
"name": "八阶衣甲天晶", "name": "八阶衣甲天晶",
"eplaceId": 2, "eplaceId": 2,
"itId": 0, "itId": 60,
"lv": 8, "lv": 8,
"quality": 4, "quality": 4,
"effectCount": 4, "effectCount": 4,
"randomEffect": "60032&60034&80001&80012&80033&80047&80075", "randomEffect": "60032&60034&80001&80012&80033&80047&80075",
"mapGoodId": 0, "mapGoodId": 33017,
"quenchConsume": "31001&500", "quenchConsume": "31001&500",
"successRatio": 70, "successConsume": "17057&100"
"successConsume": "31002&400"
}, },
{ {
"id": 18, "id": 18,
"good_id": 0, "good_id": 80019,
"name": "九阶衣甲天晶", "name": "九阶衣甲天晶",
"eplaceId": 2, "eplaceId": 2,
"itId": 0, "itId": 60,
"lv": 9, "lv": 9,
"quality": 5, "quality": 5,
"effectCount": 4, "effectCount": 4,
"randomEffect": "60032&60034&80001&80012&80033&80047&80075", "randomEffect": "60032&60034&80001&80012&80033&80047&80075",
"mapGoodId": 0, "mapGoodId": 33018,
"quenchConsume": "31001&500", "quenchConsume": "31001&500",
"successRatio": 60, "successConsume": "17057&100"
"successConsume": "31002&500"
}, },
{ {
"id": 19, "id": 19,
"good_id": 0, "good_id": 80021,
"name": "一阶冠冕天晶", "name": "一阶冠冕天晶",
"eplaceId": 3, "eplaceId": 3,
"itId": 0, "itId": 61,
"lv": 1, "lv": 1,
"quality": 1, "quality": 1,
"effectCount": 2, "effectCount": 2,
"randomEffect": "60032&40035&80001&80019&80033&80047&80082", "randomEffect": "60032&40035&80001&80019&80033&80047&80082",
"mapGoodId": 0, "mapGoodId": 33019,
"quenchConsume": "31001&500", "quenchConsume": "31001&500",
"successRatio": 100, "successConsume": "17057&100"
"successConsume": "31002&100"
}, },
{ {
"id": 20, "id": 20,
"good_id": 0, "good_id": 80022,
"name": "二阶冠冕天晶", "name": "二阶冠冕天晶",
"eplaceId": 3, "eplaceId": 3,
"itId": 0, "itId": 61,
"lv": 2, "lv": 2,
"quality": 1, "quality": 1,
"effectCount": 2, "effectCount": 2,
"randomEffect": "60032&40035&80001&80019&80033&80047&80082", "randomEffect": "60032&40035&80001&80019&80033&80047&80082",
"mapGoodId": 0, "mapGoodId": 33020,
"quenchConsume": "31001&500", "quenchConsume": "31001&500",
"successRatio": 100, "successConsume": "17057&100"
"successConsume": "31002&100"
}, },
{ {
"id": 21, "id": 21,
"good_id": 0, "good_id": 80023,
"name": "三阶冠冕天晶", "name": "三阶冠冕天晶",
"eplaceId": 3, "eplaceId": 3,
"itId": 0, "itId": 61,
"lv": 3, "lv": 3,
"quality": 2, "quality": 2,
"effectCount": 2, "effectCount": 2,
"randomEffect": "60032&40035&80001&80019&80033&80047&80082", "randomEffect": "60032&40035&80001&80019&80033&80047&80082",
"mapGoodId": 0, "mapGoodId": 33021,
"quenchConsume": "31001&500", "quenchConsume": "31001&500",
"successRatio": 90, "successConsume": "17057&100"
"successConsume": "31002&200"
}, },
{ {
"id": 22, "id": 22,
"good_id": 0, "good_id": 80024,
"name": "四阶冠冕天晶", "name": "四阶冠冕天晶",
"eplaceId": 3, "eplaceId": 3,
"itId": 0, "itId": 61,
"lv": 4, "lv": 4,
"quality": 2, "quality": 2,
"effectCount": 2, "effectCount": 2,
"randomEffect": "60032&40035&80001&80019&80033&80047&80082", "randomEffect": "60032&40035&80001&80019&80033&80047&80082",
"mapGoodId": 0, "mapGoodId": 33022,
"quenchConsume": "31001&500", "quenchConsume": "31001&500",
"successRatio": 90, "successConsume": "17057&100"
"successConsume": "31002&200"
}, },
{ {
"id": 23, "id": 23,
"good_id": 0, "good_id": 80025,
"name": "五阶冠冕天晶", "name": "五阶冠冕天晶",
"eplaceId": 3, "eplaceId": 3,
"itId": 0, "itId": 61,
"lv": 5, "lv": 5,
"quality": 3, "quality": 3,
"effectCount": 3, "effectCount": 3,
"randomEffect": "60032&40035&80001&80019&80033&80047&80082", "randomEffect": "60032&40035&80001&80019&80033&80047&80082",
"mapGoodId": 0, "mapGoodId": 33023,
"quenchConsume": "31001&500", "quenchConsume": "31001&500",
"successRatio": 80, "successConsume": "17057&100"
"successConsume": "31002&300"
}, },
{ {
"id": 24, "id": 24,
"good_id": 0, "good_id": 80026,
"name": "六阶冠冕天晶", "name": "六阶冠冕天晶",
"eplaceId": 3, "eplaceId": 3,
"itId": 0, "itId": 61,
"lv": 6, "lv": 6,
"quality": 3, "quality": 3,
"effectCount": 3, "effectCount": 3,
"randomEffect": "60032&40035&80001&80019&80033&80047&80082", "randomEffect": "60032&40035&80001&80019&80033&80047&80082",
"mapGoodId": 0, "mapGoodId": 33024,
"quenchConsume": "31001&500", "quenchConsume": "31001&500",
"successRatio": 80, "successConsume": "17057&100"
"successConsume": "31002&300"
}, },
{ {
"id": 25, "id": 25,
"good_id": 0, "good_id": 80027,
"name": "七阶冠冕天晶", "name": "七阶冠冕天晶",
"eplaceId": 3, "eplaceId": 3,
"itId": 0, "itId": 61,
"lv": 7, "lv": 7,
"quality": 4, "quality": 4,
"effectCount": 4, "effectCount": 4,
"randomEffect": "60032&40035&80001&80019&80033&80047&80082", "randomEffect": "60032&40035&80001&80019&80033&80047&80082",
"mapGoodId": 0, "mapGoodId": 33025,
"quenchConsume": "31001&500", "quenchConsume": "31001&500",
"successRatio": 70, "successConsume": "17057&100"
"successConsume": "31002&400"
}, },
{ {
"id": 26, "id": 26,
"good_id": 0, "good_id": 80028,
"name": "八阶冠冕天晶", "name": "八阶冠冕天晶",
"eplaceId": 3, "eplaceId": 3,
"itId": 0, "itId": 61,
"lv": 8, "lv": 8,
"quality": 4, "quality": 4,
"effectCount": 4, "effectCount": 4,
"randomEffect": "60032&40035&80001&80019&80033&80047&80082", "randomEffect": "60032&40035&80001&80019&80033&80047&80082",
"mapGoodId": 0, "mapGoodId": 33026,
"quenchConsume": "31001&500", "quenchConsume": "31001&500",
"successRatio": 70, "successConsume": "17057&100"
"successConsume": "31002&400"
}, },
{ {
"id": 27, "id": 27,
"good_id": 0, "good_id": 80029,
"name": "九阶冠冕天晶", "name": "九阶冠冕天晶",
"eplaceId": 3, "eplaceId": 3,
"itId": 0, "itId": 61,
"lv": 9, "lv": 9,
"quality": 5, "quality": 5,
"effectCount": 4, "effectCount": 4,
"randomEffect": "60032&40035&80001&80019&80033&80047&80082", "randomEffect": "60032&40035&80001&80019&80033&80047&80082",
"mapGoodId": 0, "mapGoodId": 33027,
"quenchConsume": "31001&500", "quenchConsume": "31001&500",
"successRatio": 60, "successConsume": "17057&100"
"successConsume": "31002&500"
}, },
{ {
"id": 28, "id": 28,
"good_id": 0, "good_id": 80031,
"name": "一阶行具天晶", "name": "一阶行具天晶",
"eplaceId": 4, "eplaceId": 4,
"itId": 0, "itId": 62,
"lv": 1, "lv": 1,
"quality": 1, "quality": 1,
"effectCount": 2, "effectCount": 2,
"randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068", "randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068",
"mapGoodId": 0, "mapGoodId": 33028,
"quenchConsume": "31001&500", "quenchConsume": "31001&500",
"successRatio": 100, "successConsume": "17057&100"
"successConsume": "31002&100"
}, },
{ {
"id": 29, "id": 29,
"good_id": 0, "good_id": 80032,
"name": "二阶行具天晶", "name": "二阶行具天晶",
"eplaceId": 4, "eplaceId": 4,
"itId": 0, "itId": 62,
"lv": 2, "lv": 2,
"quality": 1, "quality": 1,
"effectCount": 2, "effectCount": 2,
"randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068", "randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068",
"mapGoodId": 0, "mapGoodId": 33029,
"quenchConsume": "31001&500", "quenchConsume": "31001&500",
"successRatio": 100, "successConsume": "17057&100"
"successConsume": "31002&100"
}, },
{ {
"id": 30, "id": 30,
"good_id": 0, "good_id": 80033,
"name": "三阶行具天晶", "name": "三阶行具天晶",
"eplaceId": 4, "eplaceId": 4,
"itId": 0, "itId": 62,
"lv": 3, "lv": 3,
"quality": 2, "quality": 2,
"effectCount": 2, "effectCount": 2,
"randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068", "randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068",
"mapGoodId": 0, "mapGoodId": 33030,
"quenchConsume": "31001&500", "quenchConsume": "31001&500",
"successRatio": 90, "successConsume": "17057&100"
"successConsume": "31002&200"
}, },
{ {
"id": 31, "id": 31,
"good_id": 0, "good_id": 80034,
"name": "四阶行具天晶", "name": "四阶行具天晶",
"eplaceId": 4, "eplaceId": 4,
"itId": 0, "itId": 62,
"lv": 4, "lv": 4,
"quality": 2, "quality": 2,
"effectCount": 2, "effectCount": 2,
"randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068", "randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068",
"mapGoodId": 0, "mapGoodId": 33031,
"quenchConsume": "31001&500", "quenchConsume": "31001&500",
"successRatio": 90, "successConsume": "17057&100"
"successConsume": "31002&200"
}, },
{ {
"id": 32, "id": 32,
"good_id": 0, "good_id": 80035,
"name": "五阶行具天晶", "name": "五阶行具天晶",
"eplaceId": 4, "eplaceId": 4,
"itId": 0, "itId": 62,
"lv": 5, "lv": 5,
"quality": 3, "quality": 3,
"effectCount": 3, "effectCount": 3,
"randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068", "randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068",
"mapGoodId": 0, "mapGoodId": 33032,
"quenchConsume": "31001&500", "quenchConsume": "31001&500",
"successRatio": 80, "successConsume": "17057&100"
"successConsume": "31002&300"
}, },
{ {
"id": 33, "id": 33,
"good_id": 0, "good_id": 80036,
"name": "六阶行具天晶", "name": "六阶行具天晶",
"eplaceId": 4, "eplaceId": 4,
"itId": 0, "itId": 62,
"lv": 6, "lv": 6,
"quality": 3, "quality": 3,
"effectCount": 3, "effectCount": 3,
"randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068", "randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068",
"mapGoodId": 0, "mapGoodId": 33033,
"quenchConsume": "31001&500", "quenchConsume": "31001&500",
"successRatio": 80, "successConsume": "17057&100"
"successConsume": "31002&300"
}, },
{ {
"id": 34, "id": 34,
"good_id": 0, "good_id": 80037,
"name": "七阶行具天晶", "name": "七阶行具天晶",
"eplaceId": 4, "eplaceId": 4,
"itId": 0, "itId": 62,
"lv": 7, "lv": 7,
"quality": 4, "quality": 4,
"effectCount": 4, "effectCount": 4,
"randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068", "randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068",
"mapGoodId": 0, "mapGoodId": 33034,
"quenchConsume": "31001&500", "quenchConsume": "31001&500",
"successRatio": 70, "successConsume": "17057&100"
"successConsume": "31002&400"
}, },
{ {
"id": 35, "id": 35,
"good_id": 0, "good_id": 80038,
"name": "八阶行具天晶", "name": "八阶行具天晶",
"eplaceId": 4, "eplaceId": 4,
"itId": 0, "itId": 62,
"lv": 8, "lv": 8,
"quality": 4, "quality": 4,
"effectCount": 4, "effectCount": 4,
"randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068", "randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068",
"mapGoodId": 0, "mapGoodId": 33035,
"quenchConsume": "31001&500", "quenchConsume": "31001&500",
"successRatio": 70, "successConsume": "17057&100"
"successConsume": "31002&400"
}, },
{ {
"id": 36, "id": 36,
"good_id": 0, "good_id": 80039,
"name": "九阶行具天晶", "name": "九阶行具天晶",
"eplaceId": 4, "eplaceId": 4,
"itId": 0, "itId": 62,
"lv": 9, "lv": 9,
"quality": 5, "quality": 5,
"effectCount": 4, "effectCount": 4,
"randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068", "randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068",
"mapGoodId": 0, "mapGoodId": 33036,
"quenchConsume": "31001&500", "quenchConsume": "31001&500",
"successRatio": 60, "successConsume": "17057&100"
"successConsume": "31002&500"
} }
] ]