装备:升品
This commit is contained in:
@@ -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) {
|
||||
|
||||
@@ -23,6 +23,7 @@ export enum HERO_SYSTEM_TYPE {
|
||||
TERAPH_UP = 20, // 神像升级
|
||||
COMPOSE_EQUIP = 21, // 合成装备
|
||||
EQUIP_STRENGTH = 22, // 装备强化
|
||||
EQUIP_QUALITY = 23, // 装备升品
|
||||
};
|
||||
|
||||
// 武将上限
|
||||
|
||||
@@ -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',
|
||||
}
|
||||
|
||||
|
||||
@@ -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: '玩家已达到最高的爵位' },
|
||||
|
||||
@@ -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 })
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
56
shared/pubUtils/dictionary/DicEquipQuality.ts
Normal file
56
shared/pubUtils/dictionary/DicEquipQuality.ts
Normal 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
|
||||
}
|
||||
@@ -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
@@ -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
@@ -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"
|
||||
}
|
||||
]
|
||||
Reference in New Issue
Block a user