装备:升品

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

View File

@@ -8,7 +8,7 @@ import { EquipModel, EquipType } from "../../../db/Equip";
import { HeroModel, EPlace, HeroType } from "../../../db/Hero";
import Role from "../../../db/Role";
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 { 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";
@@ -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) {

View File

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

View File

@@ -489,6 +489,7 @@ export const FILENAME = {
DIC_EQUIP: 'dic_zyz_equip',
DIC_EQUIP_SUIT: 'dic_zyz_equipSuit',
DIC_EQUIP_STRENGTH: 'dic_zyz_equipStrength',
DIC_EQUIP_QUALITY: 'dic_zyz_equipQuality',
DIC_JEWEL: 'dic_jewel',
}

View File

@@ -311,6 +311,7 @@ export const STATUS = {
EQUIP_QUENCH_MAX: { code: 30515, simStr: '该装备不能再淬火' },
EQUIP_DECOMPOSE_IS_UPLIMIT: { code: 30516, simStr: '装备分解数量已达上限' },
EQUIP_HAS_COMPOSE: { code: 30517, simStr: '该装备已合成' },
EQUIP_QUALITY_MAX: { code: 30518, simStr: '该装备已升品到最高' },
//全局养成30600-30699
ROLE_REACH_MAX_TITLE_LEVEL: { code: 30600, simStr: '玩家已达到最高的爵位' },

View File

@@ -86,11 +86,11 @@ export class EPlace {
@prop({ required: true })
lv: number = 1;
@prop({ required: true })
quality: number = 0;
quality: number = 1;
@prop({ required: true })
qualityStage: number = 0;
@prop({ required: true })
star: number = 0;
star: number = 1;
@prop({ required: true })
starStage: number = 0;
@prop({ required: true, type: Stone, _id: false })

View File

@@ -103,6 +103,7 @@ import _ = require("underscore");
import { dicEquipById, dicEquipIdByJobClassAndEplace, loadEquip } from "./dictionary/DicEquip";
import { dicJewel, loadJewel } from "./dictionary/DicJewel";
import { dicEquipStrength, loadEquipStrength } from "./dictionary/DicEquipStrength";
import { dicEquipQuality, dicEquipQualityIdByEquipIdAndPoint, loadEquipQuality } from "./dictionary/DicEquipQuality";
export const gameData = {
blurprtCompose: dicBlueprtCompose,
@@ -255,6 +256,8 @@ export const gameData = {
equipIdByJobAndEPlace: dicEquipIdByJobClassAndEplace,
jewel: dicJewel,
equipStrengthenCost: dicEquipStrength,
equipQuality: dicEquipQuality,
equipQualityIdByEquipIdAndPoint: dicEquipQualityIdByEquipIdAndPoint,
};
// 在此提供一些原先在gamedata中提供的方法以便更方便获取gameData数据
@@ -841,6 +844,24 @@ export function getEquipByJobClassAndEPlace(jobClass: number, eplaceId: number)
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() {
parseDicParam();
@@ -1008,6 +1029,7 @@ function loadDatas() {
loadServerConst();
loadEquip();
loadEquipStrength();
loadEquipQuality();
loadJewel();
}

View File

@@ -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
}

View File

@@ -170,6 +170,9 @@ export function calPlayerCe(hero: HeroType, update: HeroUpdate, type: number, ar
case HERO_SYSTEM_TYPE.EQUIP_STRENGTH:
heroAttrs = calEquipStrengthIncAttr(hero, update, args);
break;
case HERO_SYSTEM_TYPE.EQUIP_QUALITY:
heroAttrs = calEquipQualityIncAttr(hero, update, args);
break;
case HERO_SYSTEM_TYPE.EQUIP: //
heroAttrs = calEquipPutOnOffIncAttr(hero, args, addSeidList, removeSeidList);
break;
@@ -635,6 +638,26 @@ export function calEquipStrengthIncAttr(hero: HeroType, update: HeroUpdate, epla
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包括套装的
* @param {HeroType} hero 武将

File diff suppressed because it is too large Load Diff

View File

@@ -1,99 +1,31 @@
[
{
"itid": 1,
"info": "短刀(神兵"
"info": "神兵"
},
{
"itid": 2,
"info": "长兵(神兵)"
"info": "宝甲"
},
{
"itid": 3,
"info": "奇门(神兵)"
"info": "冠冕"
},
{
"itid": 4,
"info": "弓弩(神兵)"
"info": "行具"
},
{
"itid": 5,
"info": "剑(神兵)"
"info": "典籍"
},
{
"itid": 6,
"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": "印章(礼器)"
"info": "饰品"
},
{
"itid": 24,
"info": "使用类物品(如宝箱)"
"info": "礼包"
},
{
"itid": 25,
@@ -111,41 +43,21 @@
"itid": 28,
"info": "藏宝图"
},
{
"itid": 29,
"info": "礼器"
},
{
"itid": 30,
"info": "宝甲"
},
{
"itid": 31,
"info": "名驹"
},
{
"itid": 32,
"info": "典籍"
},
{
"itid": 33,
"info": "神兵"
},
{
"itid": 34,
"info": "代币"
},
{
"itid": 35,
"info": "消耗类物品(经验书)"
"info": "经验书"
},
{
"itid": 36,
"info": "消耗类物品(好感道具"
"info": "名望道具"
},
{
"itid": 38,
"info": "消耗类物品(材料类)"
"info": "材料"
},
{
"itid": 39,
@@ -157,7 +69,7 @@
},
{
"itid": 41,
"info": "图纸"
"info": "套装图纸"
},
{
"itid": 42,
@@ -177,27 +89,23 @@
},
{
"itid": 46,
"info": "礼器宝石"
"info": "饰品宝石"
},
{
"itid": 47,
"info": "典籍宝石"
},
{
"itid": 48,
"info": "灵玄石"
},
{
"itid": 49,
"info": "玩家好感道具"
"info": "好感道具"
},
{
"itid": 50,
"info": "形象"
"info": "头像"
},
{
"itid": 51,
"info": "形象框"
"info": "头像框"
},
{
"itid": 52,
@@ -205,26 +113,34 @@
},
{
"itid": 53,
"info": "武将招募令"
},
{
"itid": 54,
"info": "礼包"
"info": "招募令"
},
{
"itid": 55,
"info": "烧肉(体力道具"
"info": "体力道具"
},
{
"itid": 56,
"info": "普通骰子"
},
{
"itid": 57,
"info": "天机骰子"
"info": "活动道具"
},
{
"itid": 58,
"info": "实体化经验"
},
{
"itid": 59,
"info": "武器天晶"
},
{
"itid": 60,
"info": "衣甲天晶"
},
{
"itid": 61,
"info": "冠冕天晶"
},
{
"itid": 62,
"info": "行具天晶"
}
]

File diff suppressed because it is too large Load Diff

View File

@@ -1,542 +1,506 @@
[
{
"id": 1,
"good_id": 0,
"good_id": 80001,
"name": "一阶武器天晶",
"eplaceId": 1,
"itId": 0,
"itId": 59,
"lv": 1,
"quality": 1,
"effectCount": 2,
"randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068&80054&80089",
"mapGoodId": 0,
"mapGoodId": 33001,
"quenchConsume": "31001&500",
"successRatio": 100,
"successConsume": "31002&100"
"successConsume": "17057&100"
},
{
"id": 2,
"good_id": 0,
"good_id": 80002,
"name": "二阶武器天晶",
"eplaceId": 1,
"itId": 0,
"itId": 59,
"lv": 2,
"quality": 1,
"effectCount": 2,
"randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068&80054&80089",
"mapGoodId": 0,
"mapGoodId": 33002,
"quenchConsume": "31001&500",
"successRatio": 100,
"successConsume": "31002&100"
"successConsume": "17057&100"
},
{
"id": 3,
"good_id": 0,
"good_id": 80003,
"name": "三阶武器天晶",
"eplaceId": 1,
"itId": 0,
"itId": 59,
"lv": 3,
"quality": 2,
"effectCount": 2,
"randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068&80054&80089",
"mapGoodId": 0,
"mapGoodId": 33003,
"quenchConsume": "31001&500",
"successRatio": 90,
"successConsume": "31002&200"
"successConsume": "17057&100"
},
{
"id": 4,
"good_id": 0,
"good_id": 80004,
"name": "四阶武器天晶",
"eplaceId": 1,
"itId": 0,
"itId": 59,
"lv": 4,
"quality": 2,
"effectCount": 2,
"randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068&80054&80089",
"mapGoodId": 0,
"mapGoodId": 33004,
"quenchConsume": "31001&500",
"successRatio": 90,
"successConsume": "31002&200"
"successConsume": "17057&100"
},
{
"id": 5,
"good_id": 0,
"good_id": 80005,
"name": "五阶武器天晶",
"eplaceId": 1,
"itId": 0,
"itId": 59,
"lv": 5,
"quality": 3,
"effectCount": 3,
"randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068&80054&80089",
"mapGoodId": 0,
"mapGoodId": 33005,
"quenchConsume": "31001&500",
"successRatio": 80,
"successConsume": "31002&300"
"successConsume": "17057&100"
},
{
"id": 6,
"good_id": 0,
"good_id": 80006,
"name": "六阶武器天晶",
"eplaceId": 1,
"itId": 0,
"itId": 59,
"lv": 6,
"quality": 3,
"effectCount": 3,
"randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068&80054&80089",
"mapGoodId": 0,
"mapGoodId": 33006,
"quenchConsume": "31001&500",
"successRatio": 80,
"successConsume": "31002&300"
"successConsume": "17057&100"
},
{
"id": 7,
"good_id": 0,
"good_id": 80007,
"name": "七阶武器天晶",
"eplaceId": 1,
"itId": 0,
"itId": 59,
"lv": 7,
"quality": 4,
"effectCount": 4,
"randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068&80054&80089",
"mapGoodId": 0,
"mapGoodId": 33007,
"quenchConsume": "31001&500",
"successRatio": 70,
"successConsume": "31002&400"
"successConsume": "17057&100"
},
{
"id": 8,
"good_id": 0,
"good_id": 80008,
"name": "八阶武器天晶",
"eplaceId": 1,
"itId": 0,
"itId": 59,
"lv": 8,
"quality": 4,
"effectCount": 4,
"randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068&80054&80089",
"mapGoodId": 0,
"mapGoodId": 33008,
"quenchConsume": "31001&500",
"successRatio": 70,
"successConsume": "31002&400"
"successConsume": "17057&100"
},
{
"id": 9,
"good_id": 0,
"good_id": 80009,
"name": "九阶武器天晶",
"eplaceId": 1,
"itId": 0,
"itId": 59,
"lv": 9,
"quality": 5,
"effectCount": 4,
"randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068&80054&80089",
"mapGoodId": 0,
"mapGoodId": 33009,
"quenchConsume": "31001&500",
"successRatio": 60,
"successConsume": "31002&500"
"successConsume": "17057&100"
},
{
"id": 10,
"good_id": 0,
"good_id": 80011,
"name": "一阶衣甲天晶",
"eplaceId": 2,
"itId": 0,
"itId": 60,
"lv": 1,
"quality": 1,
"effectCount": 2,
"randomEffect": "60032&60034&80001&80012&80033&80047&80075",
"mapGoodId": 0,
"mapGoodId": 33010,
"quenchConsume": "31001&500",
"successRatio": 100,
"successConsume": "31002&100"
"successConsume": "17057&100"
},
{
"id": 11,
"good_id": 0,
"good_id": 80012,
"name": "二阶衣甲天晶",
"eplaceId": 2,
"itId": 0,
"itId": 60,
"lv": 2,
"quality": 1,
"effectCount": 2,
"randomEffect": "60032&60034&80001&80012&80033&80047&80075",
"mapGoodId": 0,
"mapGoodId": 33011,
"quenchConsume": "31001&500",
"successRatio": 100,
"successConsume": "31002&100"
"successConsume": "17057&100"
},
{
"id": 12,
"good_id": 0,
"good_id": 80013,
"name": "三阶衣甲天晶",
"eplaceId": 2,
"itId": 0,
"itId": 60,
"lv": 3,
"quality": 2,
"effectCount": 2,
"randomEffect": "60032&60034&80001&80012&80033&80047&80075",
"mapGoodId": 0,
"mapGoodId": 33012,
"quenchConsume": "31001&500",
"successRatio": 90,
"successConsume": "31002&200"
"successConsume": "17057&100"
},
{
"id": 13,
"good_id": 0,
"good_id": 80014,
"name": "四阶衣甲天晶",
"eplaceId": 2,
"itId": 0,
"itId": 60,
"lv": 4,
"quality": 2,
"effectCount": 2,
"randomEffect": "60032&60034&80001&80012&80033&80047&80075",
"mapGoodId": 0,
"mapGoodId": 33013,
"quenchConsume": "31001&500",
"successRatio": 90,
"successConsume": "31002&200"
"successConsume": "17057&100"
},
{
"id": 14,
"good_id": 0,
"good_id": 80015,
"name": "五阶衣甲天晶",
"eplaceId": 2,
"itId": 0,
"itId": 60,
"lv": 5,
"quality": 3,
"effectCount": 3,
"randomEffect": "60032&60034&80001&80012&80033&80047&80075",
"mapGoodId": 0,
"mapGoodId": 33014,
"quenchConsume": "31001&500",
"successRatio": 80,
"successConsume": "31002&300"
"successConsume": "17057&100"
},
{
"id": 15,
"good_id": 0,
"good_id": 80016,
"name": "六阶衣甲天晶",
"eplaceId": 2,
"itId": 0,
"itId": 60,
"lv": 6,
"quality": 3,
"effectCount": 3,
"randomEffect": "60032&60034&80001&80012&80033&80047&80075",
"mapGoodId": 0,
"mapGoodId": 33015,
"quenchConsume": "31001&500",
"successRatio": 80,
"successConsume": "31002&300"
"successConsume": "17057&100"
},
{
"id": 16,
"good_id": 0,
"good_id": 80017,
"name": "七阶衣甲天晶",
"eplaceId": 2,
"itId": 0,
"itId": 60,
"lv": 7,
"quality": 4,
"effectCount": 4,
"randomEffect": "60032&60034&80001&80012&80033&80047&80075",
"mapGoodId": 0,
"mapGoodId": 33016,
"quenchConsume": "31001&500",
"successRatio": 70,
"successConsume": "31002&400"
"successConsume": "17057&100"
},
{
"id": 17,
"good_id": 0,
"good_id": 80018,
"name": "八阶衣甲天晶",
"eplaceId": 2,
"itId": 0,
"itId": 60,
"lv": 8,
"quality": 4,
"effectCount": 4,
"randomEffect": "60032&60034&80001&80012&80033&80047&80075",
"mapGoodId": 0,
"mapGoodId": 33017,
"quenchConsume": "31001&500",
"successRatio": 70,
"successConsume": "31002&400"
"successConsume": "17057&100"
},
{
"id": 18,
"good_id": 0,
"good_id": 80019,
"name": "九阶衣甲天晶",
"eplaceId": 2,
"itId": 0,
"itId": 60,
"lv": 9,
"quality": 5,
"effectCount": 4,
"randomEffect": "60032&60034&80001&80012&80033&80047&80075",
"mapGoodId": 0,
"mapGoodId": 33018,
"quenchConsume": "31001&500",
"successRatio": 60,
"successConsume": "31002&500"
"successConsume": "17057&100"
},
{
"id": 19,
"good_id": 0,
"good_id": 80021,
"name": "一阶冠冕天晶",
"eplaceId": 3,
"itId": 0,
"itId": 61,
"lv": 1,
"quality": 1,
"effectCount": 2,
"randomEffect": "60032&40035&80001&80019&80033&80047&80082",
"mapGoodId": 0,
"mapGoodId": 33019,
"quenchConsume": "31001&500",
"successRatio": 100,
"successConsume": "31002&100"
"successConsume": "17057&100"
},
{
"id": 20,
"good_id": 0,
"good_id": 80022,
"name": "二阶冠冕天晶",
"eplaceId": 3,
"itId": 0,
"itId": 61,
"lv": 2,
"quality": 1,
"effectCount": 2,
"randomEffect": "60032&40035&80001&80019&80033&80047&80082",
"mapGoodId": 0,
"mapGoodId": 33020,
"quenchConsume": "31001&500",
"successRatio": 100,
"successConsume": "31002&100"
"successConsume": "17057&100"
},
{
"id": 21,
"good_id": 0,
"good_id": 80023,
"name": "三阶冠冕天晶",
"eplaceId": 3,
"itId": 0,
"itId": 61,
"lv": 3,
"quality": 2,
"effectCount": 2,
"randomEffect": "60032&40035&80001&80019&80033&80047&80082",
"mapGoodId": 0,
"mapGoodId": 33021,
"quenchConsume": "31001&500",
"successRatio": 90,
"successConsume": "31002&200"
"successConsume": "17057&100"
},
{
"id": 22,
"good_id": 0,
"good_id": 80024,
"name": "四阶冠冕天晶",
"eplaceId": 3,
"itId": 0,
"itId": 61,
"lv": 4,
"quality": 2,
"effectCount": 2,
"randomEffect": "60032&40035&80001&80019&80033&80047&80082",
"mapGoodId": 0,
"mapGoodId": 33022,
"quenchConsume": "31001&500",
"successRatio": 90,
"successConsume": "31002&200"
"successConsume": "17057&100"
},
{
"id": 23,
"good_id": 0,
"good_id": 80025,
"name": "五阶冠冕天晶",
"eplaceId": 3,
"itId": 0,
"itId": 61,
"lv": 5,
"quality": 3,
"effectCount": 3,
"randomEffect": "60032&40035&80001&80019&80033&80047&80082",
"mapGoodId": 0,
"mapGoodId": 33023,
"quenchConsume": "31001&500",
"successRatio": 80,
"successConsume": "31002&300"
"successConsume": "17057&100"
},
{
"id": 24,
"good_id": 0,
"good_id": 80026,
"name": "六阶冠冕天晶",
"eplaceId": 3,
"itId": 0,
"itId": 61,
"lv": 6,
"quality": 3,
"effectCount": 3,
"randomEffect": "60032&40035&80001&80019&80033&80047&80082",
"mapGoodId": 0,
"mapGoodId": 33024,
"quenchConsume": "31001&500",
"successRatio": 80,
"successConsume": "31002&300"
"successConsume": "17057&100"
},
{
"id": 25,
"good_id": 0,
"good_id": 80027,
"name": "七阶冠冕天晶",
"eplaceId": 3,
"itId": 0,
"itId": 61,
"lv": 7,
"quality": 4,
"effectCount": 4,
"randomEffect": "60032&40035&80001&80019&80033&80047&80082",
"mapGoodId": 0,
"mapGoodId": 33025,
"quenchConsume": "31001&500",
"successRatio": 70,
"successConsume": "31002&400"
"successConsume": "17057&100"
},
{
"id": 26,
"good_id": 0,
"good_id": 80028,
"name": "八阶冠冕天晶",
"eplaceId": 3,
"itId": 0,
"itId": 61,
"lv": 8,
"quality": 4,
"effectCount": 4,
"randomEffect": "60032&40035&80001&80019&80033&80047&80082",
"mapGoodId": 0,
"mapGoodId": 33026,
"quenchConsume": "31001&500",
"successRatio": 70,
"successConsume": "31002&400"
"successConsume": "17057&100"
},
{
"id": 27,
"good_id": 0,
"good_id": 80029,
"name": "九阶冠冕天晶",
"eplaceId": 3,
"itId": 0,
"itId": 61,
"lv": 9,
"quality": 5,
"effectCount": 4,
"randomEffect": "60032&40035&80001&80019&80033&80047&80082",
"mapGoodId": 0,
"mapGoodId": 33027,
"quenchConsume": "31001&500",
"successRatio": 60,
"successConsume": "31002&500"
"successConsume": "17057&100"
},
{
"id": 28,
"good_id": 0,
"good_id": 80031,
"name": "一阶行具天晶",
"eplaceId": 4,
"itId": 0,
"itId": 62,
"lv": 1,
"quality": 1,
"effectCount": 2,
"randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068",
"mapGoodId": 0,
"mapGoodId": 33028,
"quenchConsume": "31001&500",
"successRatio": 100,
"successConsume": "31002&100"
"successConsume": "17057&100"
},
{
"id": 29,
"good_id": 0,
"good_id": 80032,
"name": "二阶行具天晶",
"eplaceId": 4,
"itId": 0,
"itId": 62,
"lv": 2,
"quality": 1,
"effectCount": 2,
"randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068",
"mapGoodId": 0,
"mapGoodId": 33029,
"quenchConsume": "31001&500",
"successRatio": 100,
"successConsume": "31002&100"
"successConsume": "17057&100"
},
{
"id": 30,
"good_id": 0,
"good_id": 80033,
"name": "三阶行具天晶",
"eplaceId": 4,
"itId": 0,
"itId": 62,
"lv": 3,
"quality": 2,
"effectCount": 2,
"randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068",
"mapGoodId": 0,
"mapGoodId": 33030,
"quenchConsume": "31001&500",
"successRatio": 90,
"successConsume": "31002&200"
"successConsume": "17057&100"
},
{
"id": 31,
"good_id": 0,
"good_id": 80034,
"name": "四阶行具天晶",
"eplaceId": 4,
"itId": 0,
"itId": 62,
"lv": 4,
"quality": 2,
"effectCount": 2,
"randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068",
"mapGoodId": 0,
"mapGoodId": 33031,
"quenchConsume": "31001&500",
"successRatio": 90,
"successConsume": "31002&200"
"successConsume": "17057&100"
},
{
"id": 32,
"good_id": 0,
"good_id": 80035,
"name": "五阶行具天晶",
"eplaceId": 4,
"itId": 0,
"itId": 62,
"lv": 5,
"quality": 3,
"effectCount": 3,
"randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068",
"mapGoodId": 0,
"mapGoodId": 33032,
"quenchConsume": "31001&500",
"successRatio": 80,
"successConsume": "31002&300"
"successConsume": "17057&100"
},
{
"id": 33,
"good_id": 0,
"good_id": 80036,
"name": "六阶行具天晶",
"eplaceId": 4,
"itId": 0,
"itId": 62,
"lv": 6,
"quality": 3,
"effectCount": 3,
"randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068",
"mapGoodId": 0,
"mapGoodId": 33033,
"quenchConsume": "31001&500",
"successRatio": 80,
"successConsume": "31002&300"
"successConsume": "17057&100"
},
{
"id": 34,
"good_id": 0,
"good_id": 80037,
"name": "七阶行具天晶",
"eplaceId": 4,
"itId": 0,
"itId": 62,
"lv": 7,
"quality": 4,
"effectCount": 4,
"randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068",
"mapGoodId": 0,
"mapGoodId": 33034,
"quenchConsume": "31001&500",
"successRatio": 70,
"successConsume": "31002&400"
"successConsume": "17057&100"
},
{
"id": 35,
"good_id": 0,
"good_id": 80038,
"name": "八阶行具天晶",
"eplaceId": 4,
"itId": 0,
"itId": 62,
"lv": 8,
"quality": 4,
"effectCount": 4,
"randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068",
"mapGoodId": 0,
"mapGoodId": 33035,
"quenchConsume": "31001&500",
"successRatio": 70,
"successConsume": "31002&400"
"successConsume": "17057&100"
},
{
"id": 36,
"good_id": 0,
"good_id": 80039,
"name": "九阶行具天晶",
"eplaceId": 4,
"itId": 0,
"itId": 62,
"lv": 9,
"quality": 5,
"effectCount": 4,
"randomEffect": "60031&10033&80002&80005&80026&80040&80061&80068",
"mapGoodId": 0,
"mapGoodId": 33036,
"quenchConsume": "31001&500",
"successRatio": 60,
"successConsume": "31002&500"
"successConsume": "17057&100"
}
]