diff --git a/game-server/app/servers/battle/handler/ladderHandler.ts b/game-server/app/servers/battle/handler/ladderHandler.ts index 19b7dbc66..ca57e3257 100644 --- a/game-server/app/servers/battle/handler/ladderHandler.ts +++ b/game-server/app/servers/battle/handler/ladderHandler.ts @@ -3,7 +3,7 @@ import { Application, BackendSession, pinus, HandlerService, } from 'pinus'; import { isArray, pick } from 'underscore'; import { gameData } from '../../../pubUtils/data'; import { STATUS } from '../../../consts/statusCode'; -import { resResult } from '../../../pubUtils/util'; +import { arrToMap, resResult } from '../../../pubUtils/util'; import { LadderMatchModel, LadderUpdateInter } from '../../../db/LadderMatch'; import { battleEndWhenChange, checkRank, generateInitRecInfo, generateOppPlayers, getBuyCntCost, getLadderData, getLadderEnemies, getLadderOppDetailData, getLadderOppStatus, getNumberArr, ladderBattleEndReward, refreshLadderDaily, refreshLadderEnemies, sendLadderDailyReward, uniqueArr } from '../../../services/ladderService'; import { LadderDataReturn, LadderDefense, LadderDefenseHero, LadderOppDetailReturn, LadderOppLineupReturn, LadderOppPlayerHeroInfo, LadderOppPlayerReturn } from '../../../domain/battleField/ladder'; @@ -96,8 +96,8 @@ export class LadderHandler { // 创建ladderMatchRec,发行battleCode - let attackInfo = generateInitRecInfo(false, false, ladderData.rank, ladderData); - let defenseInfo = generateInitRecInfo(isRobot, true, rank, hisLadderData); + let attackInfo = await generateInitRecInfo(false, false, ladderData.rank, ladderData); + let defenseInfo = await generateInitRecInfo(isRobot, true, rank, hisLadderData); let rec = await LadderMatchRecModel.createRec(serverId, roleId, targetRoleId, hisLadderData?.defense, attackInfo, defenseInfo); // 倒计时,倒计时结束没有check设为失败并发失败通知 diff --git a/game-server/app/servers/role/handler/artifactHandler.ts b/game-server/app/servers/role/handler/artifactHandler.ts new file mode 100644 index 000000000..3f708abec --- /dev/null +++ b/game-server/app/servers/role/handler/artifactHandler.ts @@ -0,0 +1,340 @@ +import { Application, BackendSession, HandlerService, } from "pinus"; +import { STATUS, HERO_SYSTEM_TYPE, ITEM_CHANGE_REASON, TASK_TYPE } from "../../../consts"; +import { ArtifactModel, ArtifactModelType, ArtifactModelUpdate } from "../../../db/Artifact"; +import { HeroModel } from "../../../db/Hero"; +import { ArtifactParam } from "../../../domain/roleField/hero"; +import { gameData, getArtifactByGidAndType, getArtifactStageZero, getArtifactWithQuality, getDicArtifactLvByPlanId, getNextArtifact } from "../../../pubUtils/data"; +import { ARTIFACT, BAG } from "../../../pubUtils/dicParam"; +import { ItemInter } from "../../../pubUtils/interface"; + +import { resResult, parseGoodStr, arrToMap, genCode } from "../../../pubUtils/util"; +import { checkArtifactCanCompose, getRebuildConsume, hasArtifactStrength } from "../../../services/equipService"; +import { calculateCeWithHero } from "../../../services/playerCeService"; +import { CheckMeterial } from "../../../services/role/checkMaterial"; +import { addItems, handleCost } from "../../../services/role/rewardService"; +import { combineItems } from "../../../services/role/util"; +import { checkTask } from "../../../services/task/taskService"; + +export default function (app: Application) { + new HandlerService(app, {}); + return new ArtifactHandler(app); +} + +export class ArtifactHandler { + + constructor(private app: Application) { + } + + public async putOn(msg: { seqId: number, hid: number }, session: BackendSession) { + let roleId: string = session.get('roleId'); + let sid: string = session.get('sid'); + let serverId: number = session.get('serverId'); + + let { seqId, hid } = msg; + let hero = await HeroModel.findByHidAndRole(hid, roleId); + if (!hero) return resResult(STATUS.HERO_NOT_FIND); + + let chosenArtifact = await ArtifactModel.findbySeqId(roleId, seqId); + if(!chosenArtifact) return resResult(STATUS.ARTIFACT_IS_NOT_FIND); + + let artifacts: ArtifactModelType[] = []; + let artifactOfHero = hero.artifact? await ArtifactModel.findbySeqId(roleId, hero.artifact): null; // 原本自己的天晶石 + if(chosenArtifact.hid != 0) { // 如果天晶石原本镶嵌在其他武将身上,把自己的给他 + let heroOfChosenArtifact = await HeroModel.findByHidAndRole(chosenArtifact.hid, roleId); // 我想要的宝物的原持有者 + if(heroOfChosenArtifact) { + await calculateCeWithHero(HERO_SYSTEM_TYPE.PUT_ARTIFACT, roleId, serverId, sid, heroOfChosenArtifact.hid, { artifact: hero.artifact||0 }, { artifact: artifactOfHero, job: heroOfChosenArtifact.job, skinId: heroOfChosenArtifact.skinId }); // 把我的换给他 + } + } + if(artifactOfHero) { // 更新自己的天晶石 + artifactOfHero = await ArtifactModel.putOnOrOff(roleId, artifactOfHero.seqId, chosenArtifact.hid||0); + if(artifactOfHero) artifacts.push(artifactOfHero); + } + chosenArtifact = await ArtifactModel.putOnOrOff(roleId, seqId, hid); + if(chosenArtifact) artifacts.push(chosenArtifact); + await calculateCeWithHero(HERO_SYSTEM_TYPE.PUT_ARTIFACT, roleId, serverId, sid, hid, { artifact: seqId }, { artifact: chosenArtifact, job: hero.job, skinId: hero.skinId }); // 把我的换给他 + await checkTask(serverId, roleId, sid, TASK_TYPE.ARTIFACT_QUALITY_EQUIP, { artifacts }); + + return resResult(STATUS.SUCCESS, { artifacts: artifacts.map(artifact => new ArtifactParam(artifact)) }); + } + + public async putOff(msg: { seqId: number }, session: BackendSession) { + let roleId: string = session.get('roleId'); + let sid: string = session.get('sid'); + let serverId: number = session.get('serverId'); + + let { seqId } = msg; + + let chosenArtifact = await ArtifactModel.findbySeqId(roleId, seqId); + if(!chosenArtifact) return resResult(STATUS.ARTIFACT_IS_NOT_FIND); + + let heroOfChosenArtifact = await HeroModel.findByHidAndRole(chosenArtifact.hid, roleId); // 我想要的宝物的原持有者 + if(!heroOfChosenArtifact) return resResult(STATUS.ARTIFACT_IS_NOT_EQUIPED); + + chosenArtifact = await ArtifactModel.putOnOrOff(roleId, seqId, 0); + let artifacts: ArtifactParam[] = [new ArtifactParam(chosenArtifact)]; + + await calculateCeWithHero(HERO_SYSTEM_TYPE.PUT_OFF_ARTIFACT, roleId, serverId, sid, heroOfChosenArtifact.hid, { artifact: 0 }); // 把我的换给他 + + return resResult(STATUS.SUCCESS, { artifacts }); + } + + public async lvUp(msg: { seqId: number, isOneClick: boolean }, session: BackendSession) { + let roleId: string = session.get('roleId'); + let sid: string = session.get('sid'); + let serverId: number = session.get('serverId'); + + let { seqId, isOneClick } = msg; + + let artifact = await ArtifactModel.findbySeqId(roleId, seqId); + if(!artifact) return resResult(STATUS.ARTIFACT_IS_NOT_FIND); + + let dicArtifact = getArtifactWithQuality(artifact.artifactId); + if(!dicArtifact) return resResult(STATUS.DIC_DATA_NOT_FOUND); + + if(artifact.lv >= dicArtifact.maxLv) return resResult(STATUS.ARTIFACT_LV_MAX); + let toLv = isOneClick? dicArtifact.maxLv: artifact.lv + 1; + let newLv = artifact.lv; + + let check = new CheckMeterial(roleId); + for (let lv = artifact.lv + 1; lv <= toLv; lv++) { + let dicArtifactLv = getDicArtifactLvByPlanId(dicArtifact.lvAttrPlan, lv); + if(!dicArtifactLv) break; + let isEnough = await check.decrease(dicArtifactLv.consumes); + if(!isEnough) break; // 消耗不足 + newLv = lv; + } + if(newLv == artifact.lv) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH); + let consumes = check.getConsume(); + let result = await handleCost(roleId, sid, consumes, ITEM_CHANGE_REASON.ARTIFACT_LV); + if (!result) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH); + + artifact = await ArtifactModel.updateInfoBySeqId(roleId, seqId, { lv: newLv }); + if(artifact.hid > 0) { + await calculateCeWithHero(HERO_SYSTEM_TYPE.ARTIFACT_LV, roleId, serverId, sid, artifact.hid, {}, { artifact }); + } + await checkTask(serverId, roleId, sid, TASK_TYPE.ARTIFACT_LV, { artifacts: [artifact] }); + + return resResult(STATUS.SUCCESS, { artifact: new ArtifactParam(artifact) }); + } + + public async compose(msg: { seqId: number, material: number[], generalItems: {id: number, count: number}[] }, session: BackendSession) { + let roleId: string = session.get('roleId'); + let sid: string = session.get('sid'); + let serverId: number = session.get('serverId'); + + let { seqId, material = [], generalItems = [] } = msg; + + let seqIds = [seqId, ...material]; + let artifacts = await ArtifactModel.findbySeqIds(roleId, seqIds); + if (artifacts.length < seqIds.length) return resResult(STATUS.ARTIFACT_IS_NOT_FIND); + let artifactMap = arrToMap(artifacts, obj => obj.seqId); + + let originArtifact = artifactMap.get(seqId); + if(!originArtifact) return resResult(STATUS.ARTIFACT_IS_NOT_FIND); + + let dicOriginArtifact = getArtifactWithQuality(originArtifact.artifactId); + if(!dicOriginArtifact) return resResult(STATUS.ARTIFACT_IS_NOT_FIND); + let dicNextArtifact = getNextArtifact(originArtifact.artifactId); + if(!dicNextArtifact) return resResult(STATUS.DIC_DATA_NOT_FOUND); + + // 狗粮处理 + let remainCnt = dicNextArtifact.materialCnt, cost: ItemInter[] = [], delSeqIds: number[] = []; + for(let seqId of material) { + let artifact = artifactMap.get(seqId); + let res = checkArtifactCanCompose(originArtifact.artifactId, artifact); + if(res.code != 0) return resResult(res); + cost.push({ seqId, id: artifact.id }); + delSeqIds.push(seqId); + remainCnt--; + } + // 通用道具 + if(dicNextArtifact.materialGroup == 0) { // 可使用材料代替,不是必须同名的那种 + let dicMaterialArtifactQuality = gameData.artifactQualityById.get(dicNextArtifact.previousId); + if(!dicMaterialArtifactQuality) return resResult(STATUS.DIC_DATA_NOT_FOUND); + for(let { id, count } of dicMaterialArtifactQuality.generalItem) { + let needCount = count * remainCnt; + let chosenItem = generalItems.find(cur => cur.id == id); + if(!chosenItem || chosenItem.count < needCount) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH); + cost.push({ id, count: needCount }); + } + remainCnt = 0; + } + if(remainCnt > 0) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH); + + let result = await handleCost(roleId, sid, cost, ITEM_CHANGE_REASON.ARTIFACT_QUALITY); + if (!result) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH); + + let { quality, qualityStage, artifactId, goodId } = dicNextArtifact; + originArtifact = await ArtifactModel.updateInfoBySeqId(roleId, seqId, { quality, qualityStage, artifactId, id: goodId }); + if(originArtifact.hid > 0) { + let hero = await HeroModel.findByHidAndRole(originArtifact.hid, roleId); + if (!hero) return resResult(STATUS.HERO_NOT_FIND); + await calculateCeWithHero(HERO_SYSTEM_TYPE.ARTIFACT_QUALITY, roleId, serverId, sid, originArtifact.hid, {}, { artifact: originArtifact, job: hero.job, skinId: hero.skinId }); + await checkTask(serverId, roleId, sid, TASK_TYPE.ARTIFACT_QUALITY_EQUIP, { artifacts: [originArtifact] }); + } + await checkTask(serverId, roleId, sid, TASK_TYPE.ARTIFACT_COMPOSE, { count: 1 }); + + return resResult(STATUS.SUCCESS, { delSeqIds, artifact: new ArtifactParam(originArtifact) }); + } + + public async composeAll(msg: {}, session: BackendSession) { + let roleId: string = session.get('roleId'); + let sid: string = session.get('sid'); + let serverId: number = session.get('serverId'); + + let taskCount = 0; + const batchCode = genCode(10), delSeqIds: number[] = []; + for(let [_, { quality, canComposeAll }] of gameData.artifactQualityById) { + if(!canComposeAll) continue; + + let artifacts = await ArtifactModel.findByQuality(roleId, quality); + let used: number[] = [], materials: ItemInter[] = [], target: ArtifactModelUpdate[] = []; + for(let artifact of artifacts) { + if(used.indexOf(artifact.seqId) > -1) continue; + let tmpUsed: number[] = [artifact.seqId]; + let dicNextArtifact = getNextArtifact(artifact.artifactId); + if(!dicNextArtifact) continue; + + let { materialCnt, goodId: nextGid, artifactId: nextArtId, quality: nextQuality, qualityStage: nextStage } = dicNextArtifact; + let canUseMaterial: ItemInter[] = []; + for(let i = 0; i < materialCnt; i++) { + for(let _artifact of artifacts) { + if(used.indexOf(_artifact.seqId) > -1 || tmpUsed.indexOf(_artifact.seqId) > -1) continue; + let res = checkArtifactCanCompose(artifact.artifactId, _artifact); + if(res.code != 0) continue; + canUseMaterial.push({ id: _artifact.id, seqId: _artifact.seqId }); + tmpUsed.push(_artifact.seqId); + break; + } + } + if(materialCnt == canUseMaterial.length) { + used.push(...tmpUsed); + materials.push(...canUseMaterial); + delSeqIds.push(...canUseMaterial.map(cur => cur.seqId)); + target.push({ seqId: artifact.seqId, id: nextGid, artifactId: nextArtId, quality: nextQuality, qualityStage: nextStage }); + taskCount++; + } + + } + + let result = await handleCost(roleId, sid, materials, ITEM_CHANGE_REASON.ARTIFACT_QUALITY); + if (!result) continue; + for(let { seqId, quality, qualityStage, artifactId, id} of target) { + await ArtifactModel.updateInfoBySeqId(roleId, seqId, { quality, qualityStage, artifactId, id, batchCode }); + } + } + let artifacts = await ArtifactModel.findByBatchCode(batchCode); + await checkTask(serverId, roleId, sid, TASK_TYPE.ARTIFACT_COMPOSE, { count: taskCount }); + + return resResult(STATUS.SUCCESS, { delSeqIds, artifacts: artifacts.map(artifact => new ArtifactParam(artifact))}); + } + + public async transfer(msg: { seqId: number, type: number }, session: BackendSession) { + let roleId: string = session.get('roleId'); + let sid: string = session.get('sid'); + let serverId: number = session.get('serverId'); + let { seqId, type } = msg; + + let artifact = await ArtifactModel.findbySeqId(roleId, seqId); + if(!artifact) return resResult(STATUS.ARTIFACT_IS_NOT_FIND); + + let dicArtifact = gameData.artifact.get(artifact.artifactId); + if(!dicArtifact) return resResult(STATUS.DIC_DATA_NOT_FOUND); + if(dicArtifact.type == type) return resResult(STATUS.ARTIFACT_TYPE_SAME); + + let dicTargetArtifact = getArtifactByGidAndType(dicArtifact.goodId, type); + if(!dicTargetArtifact) return resResult(STATUS.ARTIFACT_TYPE_ERR); + + let consume = parseGoodStr(ARTIFACT.TRANSFER_COST); + let result = await handleCost(roleId, sid, consume, ITEM_CHANGE_REASON.ARTIFACT_TRANSFER); + if (!result) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH); + + + let { artifactId, goodId } = dicTargetArtifact; + artifact = await ArtifactModel.updateInfoBySeqId(roleId, seqId, { artifactId, id: goodId }); + if(artifact.hid > 0) { + let hero = await HeroModel.findByHidAndRole(artifact.hid, roleId); + if (!hero) return resResult(STATUS.HERO_NOT_FIND); + await calculateCeWithHero(HERO_SYSTEM_TYPE.ARTIFACT_TRANSFER, roleId, serverId, sid, artifact.hid, {}, { artifact, job: hero.job, skinId: hero.skinId }); + } + + return resResult(STATUS.SUCCESS, { artifact: new ArtifactParam(artifact) }); + } + + public async previewRebuild(msg: { seqIds: number[] }, session: BackendSession) { + let roleId: string = session.get('roleId'); + let { seqIds } = msg; + + let artifacts = await ArtifactModel.findbySeqIds(roleId, seqIds); + if (artifacts.length < seqIds.length) return resResult(STATUS.ARTIFACT_IS_NOT_FIND); + + let consumes = getRebuildConsume(artifacts); + + return resResult(STATUS.SUCCESS, { consumes }); + } + + public async rebuild(msg: { seqIds: number[] }, session: BackendSession) { + let roleId: string = session.get('roleId'); + let roleName: string = session.get('roleName'); + let serverId: number = session.get('serverId'); + let sid: string = session.get('sid'); + let { seqIds } = msg; + + let artifacts = await ArtifactModel.findbySeqIds(roleId, seqIds); + if (artifacts.length < seqIds.length) return resResult(STATUS.ARTIFACT_IS_NOT_FIND); + + let rebuildConsumes = getRebuildConsume(artifacts); + if(rebuildConsumes.length <= 0) return resResult(STATUS.ARTIFACT_HAS_NO_STRENGTH); + + let consume = parseGoodStr(ARTIFACT.REBUILD_COST); + let result = await handleCost(roleId, sid, consume, ITEM_CHANGE_REASON.ARTIFACT_REBUILD); + if (!result) return resResult(STATUS.ROLE_MATERIAL_NOT_ENOUGH); + + let returnArtifact: ArtifactParam[] = []; + for(let artifact of artifacts) { + let dicArtifactZero = getArtifactStageZero(artifact.artifactId); + if(!dicArtifactZero) continue; + let { artifactId, goodId, quality, qualityStage } = dicArtifactZero; + let result = await ArtifactModel.updateInfoBySeqId(roleId, artifact.seqId, { artifactId, id: goodId, quality, qualityStage, lv: 0 }); + if(result && result.hid > 0) { + let hero = await HeroModel.findByHidAndRole(result.hid, roleId); + await calculateCeWithHero(HERO_SYSTEM_TYPE.ARTIFACT_REBUILD, roleId, serverId, sid, result.hid, {}, { artifact: result, skinId: hero.skinId, job: hero.job }); + } + returnArtifact.push(new ArtifactParam(result)); + } + let goods = await addItems(roleId, roleName, sid, rebuildConsumes, ITEM_CHANGE_REASON.ARTIFACT_REBUILD); + return resResult(STATUS.SUCCESS, { artifacts: returnArtifact, goods }); + } + + public async decompose(msg: { seqIds: number[] }, session: BackendSession) { + let roleId: string = session.get('roleId'); + let sid: string = session.get('sid'); + let roleName: string = session.get('roleName'); + + let { seqIds } = msg; + if(seqIds.length > BAG.BAG_ARTIFACT_DECOMPOSE_UPLIMITED) { + return resResult(STATUS.EQUIP_DECOMPOSE_IS_UPLIMIT); + } + let artifacts = await ArtifactModel.findbySeqIds(roleId, seqIds); + if (artifacts.length < seqIds.length) return resResult(STATUS.ARTIFACT_IS_NOT_FIND); + + let cost: ItemInter[] = [], add: ItemInter[] = [], delSeqIds: number[] = []; + for(let artifact of artifacts) { + if(artifact.hid > 0 || hasArtifactStrength(artifact)) return resResult(STATUS.ARTIFACT_CANNOT_DECOMPOSE); + let dicArtifact = getArtifactWithQuality(artifact.artifactId); + if(!dicArtifact || !dicArtifact.canDecompose) return resResult(STATUS.ARTIFACT_CANNOT_DECOMPOSE); + let dicZeroArtifact = getArtifactStageZero(artifact.artifactId); + if(!dicZeroArtifact) continue; + add.push(...dicZeroArtifact.generalItem); + + cost.push({ seqId: artifact.seqId, id: artifact.id, count: 1 }); + delSeqIds.push(artifact.seqId); + } + + let costResult = await handleCost(roleId, sid, cost, ITEM_CHANGE_REASON.EQUIP_DECOMPOSE); // 删掉装备 + if(!costResult) return resResult(STATUS.BATTLE_CONSUMES_NOT_ENOUGH); + + let result = await addItems(roleId, roleName, sid, add, ITEM_CHANGE_REASON.EQUIP_DECOMPOSE); + return resResult(STATUS.SUCCESS, { delSeqIds, goods: combineItems(result) }); + } +} \ No newline at end of file diff --git a/game-server/app/servers/role/handler/friendHandler.ts b/game-server/app/servers/role/handler/friendHandler.ts index d8e064df5..1ccf03c0f 100644 --- a/game-server/app/servers/role/handler/friendHandler.ts +++ b/game-server/app/servers/role/handler/friendHandler.ts @@ -29,6 +29,7 @@ import { RoleCeModel } from "../../../db/RoleCe"; import { CalCe } from "../../../services/role/calCe"; import { getSchoolPoint } from "../../../services/roleService"; import { LadderMatchModel } from "../../../db/LadderMatch"; +import { ArtifactModel } from "../../../db/Artifact"; export default function (app: Application) { @@ -756,6 +757,10 @@ export class FriendHandler { let heroParam = new HeroDetailParam(hero); heroParam.setAttributes(attributes); heroParam.setJewels(jewels); + if(hero.artifact > 0) { + let artifact = await ArtifactModel.findbySeqId(hisRoleId, hero.artifact); + if(artifact) heroParam.setArtifact(artifact); + } heroParam.setRole( role.title, diff --git a/game-server/app/servers/role/handler/heroHandler.ts b/game-server/app/servers/role/handler/heroHandler.ts index b8787b476..d0242634c 100644 --- a/game-server/app/servers/role/handler/heroHandler.ts +++ b/game-server/app/servers/role/handler/heroHandler.ts @@ -28,6 +28,7 @@ import { saveRebirthLog } from '../../../pubUtils/logUtil'; import { isGoodsHidden, isHeroHidden } from '../../../services/dataService'; import { LadderMatchModel } from '../../../db/LadderMatch'; import { PvpSaveDataModel } from '../../../db/PvpSaveData'; +import { ArtifactModel } from '../../../db/Artifact'; export default function (app: Application) { new HandlerService(app, {}); @@ -565,7 +566,8 @@ export class HeroHandler { job: dicNewJob.jobid, ePlace: newEplace } - let { curHero } = await calculateCeWithHero(HERO_SYSTEM_TYPE.SKIN, roleId, serverId, sid, hero.hid, update, { hero }); + let artifact = hero.artifact? await ArtifactModel.findbySeqId(roleId, hero.artifact): null; + let { curHero } = await calculateCeWithHero(HERO_SYSTEM_TYPE.SKIN, roleId, serverId, sid, hero.hid, update, { hero, artifact }); let resultHero = new HeroParam(curHero); return resResult(STATUS.SUCCESS, { curHero: {...pick(resultHero, ['hid', 'skins', 'skinId', 'job', 'talent', 'usedTalentPoint']), ePlace: newEplace }}); } diff --git a/game-server/app/services/checkParam.ts b/game-server/app/services/checkParam.ts index c96dcb5a1..8524e176b 100644 --- a/game-server/app/services/checkParam.ts +++ b/game-server/app/services/checkParam.ts @@ -74,6 +74,7 @@ export function checkRouteParam(route: string, msg: any) { case "role.taskHandler.getPvpTaskList": case "role.taskHandler.getTaskList": case "role.taskHandler.receiveActiveReward": + case "role.artifactHandler.composeAll": { break; } @@ -1308,6 +1309,44 @@ export function checkRouteParam(route: string, msg: any) { if(!checkNaturalNumbers(msg.originJewel, msg.targetJewel)) return false; break; } + case "role.artifactHandler.putOn": + { + if(!checkNaturalNumbers(msg.seqId, msg.hid)) return false; + break; + } + case "role.artifactHandler.putOff": + { + if(!checkNaturalNumbers(msg.seqId)) return false; + break; + } + case "role.artifactHandler.lvUp": + { + if(!checkNaturalNumbers(msg.seqId)) return false; + if(!checkBoolean(msg.isOneClick)) return false; + break; + } + case "role.artifactHandler.compose": + { + if(!checkNaturalNumbers(msg.seqId)) return false; + if(!checkNumberArray(msg.material)) return false; + if(!checkNaturalArray(msg.generalItems)) return false; + for(let { id, count } of msg.generalItems) { + if(!checkNaturalNumbers(id, count)) return false; + } + break; + } + case "role.artifactHandler.transfer": + { + if(!checkNaturalNumbers(msg.seqId, msg.type)) return false; + break; + } + case "role.artifactHandler.previewRebuild": + case "role.artifactHandler.rebuild": + case "role.artifactHandler.decompose": + { + if(!checkNumberArray(msg.seqIds)) return false; + break; + } case "role.friendHandler.searchUser": { if(!checkNaturalStrings(msg.value)) return false; diff --git a/game-server/app/services/connectorService.ts b/game-server/app/services/connectorService.ts index 9ed8839d6..f9bd1cafc 100644 --- a/game-server/app/services/connectorService.ts +++ b/game-server/app/services/connectorService.ts @@ -8,7 +8,7 @@ import { getCurTask, getPvpTask } from './task/taskService'; import { RoleType } from '../db/Role'; import { Application, FrontendOrBackendSession, pinus, RpcClient } from 'pinus'; import { getRandEelmWithWeight, resResult } from '../pubUtils/util'; -import { STATUS, PUSH_BATCH, PUSH_INTERVAL, CONSUME_TYPE, HERO_SELECT, ENTERY_ROLE_PICK, JEWEL_SELECT, ITEM_SELECT, SKIN_SELECT, PUSH_ROUTE } from '../consts'; +import { STATUS, PUSH_BATCH, PUSH_INTERVAL, CONSUME_TYPE, HERO_SELECT, ENTERY_ROLE_PICK, JEWEL_SELECT, ITEM_SELECT, SKIN_SELECT, PUSH_ROUTE, ARTIFACT_SELECT } from '../consts'; import { getAllShopList } from './shopService'; import { getGeneralRank, getRankFirstReward } from './rankService'; import { getFriendList, getApplyList } from './friendService'; @@ -50,6 +50,7 @@ import { getLadderData } from './ladderService'; import { dispatch } from '../pubUtils/dispatcher'; import { PvpDataReturn } from '../domain/battleField/pvp'; import { getHiddenData } from './dataService'; +import { ArtifactModel } from '../db/Artifact'; /** * init: 初始的时候是否推送 true-推 false-不推 @@ -123,6 +124,7 @@ export async function getModuleData(type: string, data: { role: RoleType, sessio let jewels = await JewelModel.findbyRole(role.roleId, JEWEL_SELECT.ENTRY); let items = await ItemModel.findbyRole(role.roleId, ITEM_SELECT.ENTRY); let skins = await SkinModel.findbyRole(role.roleId, SKIN_SELECT.ENTRY); + let artifacts = await ArtifactModel.findbyRole(role.roleId, ARTIFACT_SELECT.ENTRY); role['heros'] = heros.map(hero => new HeroParam(hero)); role['jewels'] = jewels; @@ -131,6 +133,7 @@ export async function getModuleData(type: string, data: { role: RoleType, sessio let apJson = await getAp(role.roleId, '', role.lv); role['apJson'] = apJson; role['ipLocation'] = role.fixedIpLocation||role.ipLocation||'未知'; + role['artifacts'] = artifacts; if (!role.showLineup) role.showLineup = role.topLineup.map(cur => cur.hid); role.heads = role.heads.filter(cur => cur.status); diff --git a/game-server/app/services/equipService.ts b/game-server/app/services/equipService.ts index 4b41e5163..fd086b798 100644 --- a/game-server/app/services/equipService.ts +++ b/game-server/app/services/equipService.ts @@ -1,9 +1,13 @@ import { getRandEelm, } from '../pubUtils/util'; import { EPlace, Stone } from "../db/Hero"; -import { gameData, getJewelConditionByLvAndSeId, getRandEffectByGroupAndLevel } from "../pubUtils/data"; +import { gameData, getArtifactWithQuality, getDicArtifactLvByPlanId, getDicArtifactQualityByStage, getJewelConditionByLvAndSeId, getNextArtifact, getNextArtifactQuality, getRandEffectByGroupAndLevel } from "../pubUtils/data"; import { JewelType, RandSe } from '../db/Jewel'; import { DicRandomEffectPool } from '../pubUtils/dictionary/DicRandomEffectPool'; import { getJewelRandSe } from './role/rewardService'; +import { ArtifactModelType } from '../db/Artifact'; +import { STATUS } from '../consts'; +import { ItemInter } from '../pubUtils/interface'; +import { combineItems } from './role/util'; export function getRandSeResult(id: number, randSe: RandSe[], originSe: RandSe[] = [], originId?: number) { let { randomEffect, effectCount, lv } = gameData.jewel.get(id); @@ -160,4 +164,56 @@ export function isRandSeUnLock(jewelId: number, randSeId: number, stones: Stone[ } } return stoneCnt >= dicJewelCondition.stoneCnt && stoneLv >= dicJewelCondition.stoneLv; +} + +export function checkArtifactCanCompose(originArtifactId: number, artifact: ArtifactModelType) { + if(!artifact) return STATUS.ARTIFACT_IS_NOT_FIND; + // 宝物表 + let dicArtifact = gameData.artifact.get(artifact.artifactId); + if(!dicArtifact) return STATUS.ARTIFACT_IS_NOT_FIND; + // 宝物品质表 + let dicArtifactQuality = getDicArtifactQualityByStage(dicArtifact.quality, dicArtifact.qualityStage); + if(!dicArtifactQuality) return STATUS.DIC_DATA_NOT_FOUND; + // 狗粮不可装备 + if(artifact.hid > 0) return STATUS.ARTIFACT_IS_EQUIPED; + // 狗粮不可强化 + if(artifact.lv > 0) return STATUS.ARTIFACT_CAN_NOT_STRENGTHEN; + + // 合成目标 + let dicTargetArtifactQuality = getNextArtifact(originArtifactId); + if(!dicTargetArtifactQuality) return STATUS.DIC_DATA_NOT_FOUND; + + // 检查狗粮品质 + if(dicTargetArtifactQuality.materialId != dicArtifactQuality.uniqId) return STATUS.ARTIFACT_MATERIAL_QUALITY_ERR; + // 检查是否同名 + if(dicTargetArtifactQuality.materialGroup == 1 && dicTargetArtifactQuality.group != dicArtifact.group) return STATUS.ARTIFACT_MATERIAL_QUALITY_ERR; + return STATUS.SUCCESS; +} + +export function getRebuildConsume(artifacts: ArtifactModelType[]) { + let usedConsumes: ItemInter[] = []; + for(let artifact of artifacts) { + let dicArtifact = getArtifactWithQuality(artifact.artifactId); + if(!dicArtifact) continue; + if(!hasArtifactStrength(artifact)) continue; + + for(let lv = 1; lv <= artifact.lv; lv++) { + let dicArtifactLv = getDicArtifactLvByPlanId(dicArtifact.lvAttrPlan, lv); + usedConsumes.push(...dicArtifactLv.consumes); + } + for(let stage = 0; stage < artifact.qualityStage; stage++) { + let dicArtifactQuality = getDicArtifactQualityByStage(dicArtifact.quality, stage); + let dicNextArtifactQuality = gameData.artifactQualityById.get(dicArtifactQuality?.nextId); + if(!dicNextArtifactQuality) continue; + let consumes = dicArtifactQuality.generalItem.map(({id, count}) => ({ id, count: count * dicNextArtifactQuality.materialCnt})); + usedConsumes.push(...consumes); + } + } + return combineItems(usedConsumes); +} + +// 宝物是否有养成 +export function hasArtifactStrength(artifact: ArtifactModelType) { + if(!artifact) return false; + return artifact.lv >= 1 || artifact.qualityStage > 0; } \ No newline at end of file diff --git a/game-server/app/services/ladderService.ts b/game-server/app/services/ladderService.ts index f887ccaea..e11f44ee6 100644 --- a/game-server/app/services/ladderService.ts +++ b/game-server/app/services/ladderService.ts @@ -1,4 +1,5 @@ import { ITEM_CHANGE_REASON, LADDER_OPP_STATUS, LADDER_SERVER_GAP_TIME, LADDER_STATUS, MAIL_TYPE, PUSH_ROUTE, REDIS_KEY, TA_USERSET_TYPE } from "../consts"; +import { ArtifactModel } from "../db/Artifact"; import { HeroType } from "../db/Hero"; import { LadderMatchModel, LadderMatchType, LadderUpdateInter } from "../db/LadderMatch"; import { LadderMatchRecModel, LadderMatchRecType } from "../db/LadderMatchRec"; @@ -236,7 +237,7 @@ export async function getLadderOppStatus(ladderData: LadderMatchType, targetRole * @param ladderData 需要populate过的ladderMatch表 * @returns */ -export function generateInitRecInfo(isRobot: boolean, isDefense: boolean, rank: number, ladderData: LadderMatchType) { +export async function generateInitRecInfo(isRobot: boolean, isDefense: boolean, rank: number, ladderData: LadderMatchType) { if(isRobot) { let dicLadderDifficultRatio = gameData.ladderDifficultRatio.get(rank); let dicWar = gameData.war.get(dicLadderDifficultRatio.gkId); @@ -261,7 +262,12 @@ export function generateInitRecInfo(isRobot: boolean, isDefense: boolean, rank: let defenseHeroes = ladderData.defense?.heroes||[]; for(let defenseHero of defenseHeroes) { let hero = new LadderOppPlayerHeroInfo(); - hero.setByDefenseHero(defenseHero.hero); + let dbHero = defenseHero.hero; + hero.setByDefenseHero(dbHero); + if(dbHero && dbHero.artifact) { + let artifact = await ArtifactModel.findbySeqId(role.roleId, dbHero.artifact); + hero.setArtifact(artifact); + } heroes.push(hero); } } @@ -411,7 +417,9 @@ export async function getLadderOppDetailData(rec: LadderMatchRecType) { let hisLadderData = await LadderMatchModel.findByRoleIdAndInclude(rec.roleId2); let dicWar = gameData.war.get(dicLadderDifficultRatio.gkId); let dicWarJson = gameData.warJson.get(dicWar.dispatchJsonId); - result.setByPlayer(hisLadderData, dicWarJson); + let artifactSeids = hisLadderData.defense.heroes.map(cur => (cur.hero).artifact); + let artifacts = await ArtifactModel.findbySeqIds(rec.roleId2, artifactSeids); + result.setByPlayer(hisLadderData, dicWarJson, artifacts); let attrByHid = await getHeroesAttributes(rec.roleId2); for(let [hid, attribute] of attrByHid) { result.setAttribute(hid, attribute.getAttributesToString()); diff --git a/game-server/app/services/playerCeService.ts b/game-server/app/services/playerCeService.ts index 5d29e7fe6..abea54d95 100644 --- a/game-server/app/services/playerCeService.ts +++ b/game-server/app/services/playerCeService.ts @@ -19,6 +19,7 @@ import { AttributeCal } from '../domain/roleField/attribute'; import { sendMessageToUserWithSuc } from './pushService'; import { SkinType } from '../db/Skin'; import { LadderMatchModel } from '../db/LadderMatch'; +import { ArtifactModelType } from '../db/Artifact'; interface Param { isInitRole?: boolean, @@ -44,6 +45,8 @@ interface Param { skins?: SkinType[], stonesId?: number, talentId?: number, + artifact?: ArtifactModelType, + job?: number, } export async function calculateCeWithHero(type: HERO_SYSTEM_TYPE, roleId: string, serverId: number, sid: string, hid: number, heroUpdate: HeroUpdate, param: Param = {}) { @@ -130,7 +133,7 @@ export async function calculateCes(type: HERO_SYSTEM_TYPE, roleId: string, serve } case HERO_SYSTEM_TYPE.SKIN: // 7. 穿皮肤 { - let { hero: { quality, star, starStage, colorStar, colorStarStage, jobStage } } = param; + let { hero: { quality, star, starStage, colorStar, colorStarStage, jobStage }, artifact } = param; for(let [hid, { skinId, job, ePlace, skins }] of heroUpdates) { ceChangeTxt.push(`武将 ${hid} 穿上了皮肤 ${skinId}`); calCe.setHeroBase(hid, skinId); @@ -143,6 +146,7 @@ export async function calculateCes(type: HERO_SYSTEM_TYPE, roleId: string, serve } calCe.setEquipSuit(hid, skinId, ePlace); calCe.setTalent(hid, skins); + if(artifact) calCe.setArtifactSeid(hid, skinId, job, artifact.artifactId); } break; } @@ -309,7 +313,7 @@ export async function calculateCes(type: HERO_SYSTEM_TYPE, roleId: string, serve } case HERO_SYSTEM_TYPE.TALENT_UNLOCK: // 30. 天赋解锁 case HERO_SYSTEM_TYPE.TALENT_LV: // 32. 天赋升级 - case HERO_SYSTEM_TYPE.TALENT_RESET: // 30. 天赋洗点 + case HERO_SYSTEM_TYPE.TALENT_RESET: // 33. 天赋洗点 { let { talentId } = param; for(let [hid, { skins }] of heroUpdates) { @@ -354,6 +358,60 @@ export async function calculateCes(type: HERO_SYSTEM_TYPE, roleId: string, serve ceChangeTxt.push(`后台重新计算`); break; } + case HERO_SYSTEM_TYPE.PUT_ARTIFACT: // 34. 装备宝物 + { + let { artifact, job, skinId } = param; + if(!artifact) break; + for(let [hid ] of heroUpdates) { + calCe.setPutArtifact(hid, skinId, job, artifact); + calCe.setArtifactQuality(hid, artifact.artifactId); + calCe.setArtifactSeid(hid, skinId, job, artifact.artifactId); + ceChangeTxt.push(`武将 ${hid} 装备宝物 ${artifact.artifactId}`); + } + break; + } + case HERO_SYSTEM_TYPE.PUT_OFF_ARTIFACT: // 35. 卸下 + { + for(let [hid ] of heroUpdates) { + calCe.setPutOffArtifact(hid); + ceChangeTxt.push(`武将 ${hid} 卸下宝物`); + } + break; + } + case HERO_SYSTEM_TYPE.ARTIFACT_LV: // 36.宝物升级 + { + let { artifact } = param; + if(!artifact) break; + for(let [hid ] of heroUpdates) { + calCe.setArtifactLv(hid, artifact.artifactId, artifact.lv); + ceChangeTxt.push(`武将 ${hid} 装备的宝物 ${artifact.seqId} ${artifact.artifactId} 升至 ${artifact.lv} 级`); + } + break; + } + case HERO_SYSTEM_TYPE.ARTIFACT_QUALITY: // 37. 宝物升品 + { + let { artifact, job, skinId } = param; + if(!artifact) break; + for(let [hid ] of heroUpdates) { + calCe.setArtifactQuality(hid, artifact.artifactId); + calCe.setArtifactSeid(hid, skinId, job, artifact.artifactId); + ceChangeTxt.push(`武将 ${hid} 装备的宝物 ${artifact.seqId} 升至 ${artifact.artifactId}`); + } + break; + } + case HERO_SYSTEM_TYPE.ARTIFACT_TRANSFER: // 38. 宝物转换 + { + let { artifact, job, skinId } = param; + if(!artifact) break; + for(let [hid ] of heroUpdates) { + calCe.setArtifactLv(hid, artifact.artifactId, artifact.lv); + calCe.setArtifactQuality(hid, artifact.artifactId); + calCe.setArtifactSeid(hid, skinId, job, artifact.artifactId); + ceChangeTxt.push(`武将 ${hid} 装备的宝物 ${artifact.seqId} 转换至 ${artifact.artifactId}`); + } + break; + } + } let { heroCe, roleInc } = calCe.getCeInc(); // 计算战力,获得有变化的武将战力 let changeHids: number[] = []; diff --git a/game-server/app/services/pvpService.ts b/game-server/app/services/pvpService.ts index 80ef09210..7eb0c68f7 100644 --- a/game-server/app/services/pvpService.ts +++ b/game-server/app/services/pvpService.ts @@ -26,6 +26,7 @@ import { reportTAEvent } from './sdkService'; import { getVipPvpChallengeMaxCnt } from './activity/monthlyTicketService'; import { getHeroesAttributes } from './playerCeService'; import { setPvpSettleSeasonNumToRemote } from './timeTaskService'; +import { ArtifactModel } from '../db/Artifact'; /** * 返回对手三人信息 @@ -220,6 +221,7 @@ async function generPlayerOppHis(pvpdefense: PvpDefenseType, roleId: string, pos let defCe = 0; let attrByHid = await getHeroesAttributes(role.roleId); for (let dbHero of dbHeroes) { + let artifact = dbHero.artifact? await ArtifactModel.findbySeqId(role.roleId, dbHero.artifact): null; let h = defenseHeroes.find(cur => cur.actorId == dbHero.hid); // 阵容里是否有这个武将 let hs = heroScores.find(cur => cur.hid == dbHero.hid); // 这个武将是否有这个得分 if (!!h) { @@ -227,7 +229,7 @@ async function generPlayerOppHis(pvpdefense: PvpDefenseType, roleId: string, pos let warJson = mapWarJson.find(cur => cur.dataId == h.dataId); if (warJson && warJson.relation == 2) { let heroInfo = new PvpHeroInfo(); - heroInfo.setHeroInfo(dbHero); + heroInfo.setHeroInfo(dbHero, artifact); // heroInfo.setOutIndex(h.order); let attr = attrByHid.get(h.actorId); if(!attr) continue; @@ -241,7 +243,7 @@ async function generPlayerOppHis(pvpdefense: PvpDefenseType, roleId: string, pos } } else { let heroInfo = new PvpOtherHeroes(hs ? hs.score : 0); - heroInfo.setHeroInfo(dbHero); + heroInfo.setHeroInfo(dbHero, artifact); otherHeroes.push(heroInfo); } } diff --git a/game-server/app/services/role/calCe.ts b/game-server/app/services/role/calCe.ts index 8515f951f..3e37a0e0b 100644 --- a/game-server/app/services/role/calCe.ts +++ b/game-server/app/services/role/calCe.ts @@ -1,11 +1,12 @@ import { ABI_STAGE, ABI_STAGE_TO_TYPE, ABI_TYPE, ABI_TYPE_MAIN, LINEUP_NUM, SEID_TYPE, TALENT_RELATION_TYPE } from "../../consts"; +import { ArtifactModelType } from "../../db/Artifact"; import { Connect, EPlace, HeroSkin, HeroType, HeroUpdate, Stone, Talent } from "../../db/Hero"; import { JewelType } from "../../db/Jewel"; import { RoleUpdate, Teraph } from "../../db/Role"; import { AttrCell, Attribute, EquipAttr, HeroAttr, RoleCeType, SchoolAttr, ScrollAttr } from "../../db/RoleCe"; import { TopHero } from "../../domain/dbGeneral"; import { AttributeCal } from "../../domain/roleField/attribute"; -import { gameData, getEquipQualityIdByEquipIdAndPoint, getEquipStarAttrByStage, getEquipStrenthenAttr, getEquipSuitByHero, getFriendShipByIdAndLv, getHeroStarByQuality, getHeroWakeByQuality, getJewelConditionByLvAndSeId, getJobByGradeAndClass, getSchoolRateByStar, getScollByStar, getTeraph } from "../../pubUtils/data"; +import { gameData, getDicArtifactLvByPlanId, getEquipQualityIdByEquipIdAndPoint, getEquipStarAttrByStage, getEquipStrenthenAttr, getEquipSuitByHero, getFriendShipByIdAndLv, getHeroStarByQuality, getHeroWakeByQuality, getJewelConditionByLvAndSeId, getJobByGradeAndClass, getSchoolRateByStar, getScollByStar, getTeraph } from "../../pubUtils/data"; import { DicRandomEffectPool } from "../../pubUtils/dictionary/DicRandomEffectPool"; import { DicSe } from "../../pubUtils/dictionary/DicSe"; import { addToMap, deepCopy } from "../../pubUtils/util"; @@ -45,13 +46,13 @@ export class CalCe { let lv = this.data.heroLv.get(hid)||1; for(let attrId = ABI_TYPE.ABI_HP; attrId < ABI_TYPE.ABI_MAX; attrId++) { if(!this.data.heroAttrs.has(`${hid}_${attrId}`) && !this.data.globalAttrs.has(attrId)) continue; - let { mainBase = 0, mainBaseUp = 0, subBase = 0, job = 0, starUp = 0, connect = 0, talent = 0, equipQuality = 0, equipStrength = 0, equipStar = 0, equipSuit = 0, jewel = 0, stone = 0 } = this.data.heroAttrs.get(`${hid}_${attrId}`)||{}; + let { mainBase = 0, mainBaseUp = 0, subBase = 0, job = 0, starUp = 0, connect = 0, talent = 0, equipQuality = 0, equipStrength = 0, equipStar = 0, equipSuit = 0, jewel = 0, stone = 0, artifactLv = 0, artifactQuality = 0, artifactSeid = 0 } = this.data.heroAttrs.get(`${hid}_${attrId}`)||{}; let { school = 0, teraph = 0, title = 0, scroll = 0, skin = 0 } = this.data.getGlobalAttrById(attrId)||{}; let val = 0, str = ''; if(ABI_TYPE_MAIN.indexOf(attrId) != -1) { - // {[ hp1 + lv * hp2 ] * ( 1 + hp5 ) + [( hp6 + hp7 ) * ( 1 + hp8 )]} * ( 1 + hp9 ) + hp10 + hp11 - val = (( mainBase + job + lv * ( starUp + mainBaseUp ) ) * ( 1 + connect/100 ) + (( equipQuality + equipStrength ) * ( 1 + ( equipStar/100 + equipSuit/100 )))) * ( 1 + jewel/100 + school/100 + talent/100 + skin/100 ) + stone + teraph + title + scroll; - str += `{[${mainBase}+${job}+${lv}*(${starUp}+${mainBaseUp})]* ( 1 + ${connect}/100) + [(${equipQuality}+${equipStrength}) * ( 1 + ${equipStar}/100+${equipSuit}/100)]} * (1+${jewel}/100+${school}/100+${talent}/100+${skin}/100 )+${stone}+${teraph}+${title}+${scroll}`; + // {[ hp1 + lv * hp2 ] * ( 1 + hp5 ) + [( hp6 + hp7 ) * ( 1 + hp8 )]} * ( 1 + hp9 ) + hp10 + hp11 + hp14 + val = (( mainBase + job + lv * ( starUp + mainBaseUp ) ) * ( 1 + connect/100 ) + (( equipQuality + equipStrength ) * ( 1 + ( equipStar/100 + equipSuit/100 )))) * ( 1 + jewel/100 + school/100 + talent/100 + skin/100 + artifactSeid/100) + stone + teraph + title + scroll + artifactLv + artifactQuality; + str += `{[${mainBase}+${job}+${lv}*(${starUp}+${mainBaseUp})]* ( 1 + ${connect}/100) + [(${equipQuality}+${equipStrength}) * ( 1 + ${equipStar}/100+${equipSuit}/100)]} * (1+${jewel}/100+${school}/100+${talent}/100+${skin}/100+${artifactSeid}/100)+${stone}+${teraph}+${title}+${scroll}+${artifactLv}+${artifactQuality}`; } else { // attr1 + attr2 + attr4 + attr5 + attr6 + attr7 + attr9 val = subBase + job + teraph + school + title + jewel + equipStar; @@ -511,6 +512,86 @@ export class CalCe { } } + // 卸下宝物 + public setPutOffArtifact(hid: number) { + this.data.clearHeroAttrByHid(hid, 'artifactLv'); + this.data.clearHeroAttrByHid(hid, 'artifactQuality'); + this.data.clearHeroAttrByHid(hid, 'artifactSeid'); + } + + // 装备宝物 + public setPutArtifact(hid: number, skinId: number, job: number, artifact: ArtifactModelType) { + this.data.clearHeroAttrByHid(hid, 'artifactLv'); + this.data.clearHeroAttrByHid(hid, 'artifactQuality'); + this.data.clearHeroAttrByHid(hid, 'artifactSeid'); + + if(artifact) { + this.setArtifactLv(hid, artifact.artifactId, artifact.lv); + this.setArtifactQuality(hid, artifact.artifactId); + this.setArtifactSeid(hid, skinId, job, artifact.lv); + } + } + + // 宝物等级 + public setArtifactLv(hid: number, artifactId: number, lv: number) { + this.data.clearHeroAttrByHid(hid, 'artifactLv'); + let dicArtifact = gameData.artifact.get(artifactId); + if(!dicArtifact) return; + + let dicArtifactLv = getDicArtifactLvByPlanId(dicArtifact.lvAttrPlan, lv); + if(!dicArtifactLv) return; + + let ceAttr = dicArtifactLv.attr||[]; + for(let { id, attr } of ceAttr) { + let heroAttr = this.data.getHeroAttrByHidAndId(hid, id); + heroAttr.artifactLv = attr; + } + } + + // 宝物品质 + public setArtifactQuality(hid: number, artifactId: number) { + this.data.clearHeroAttrByHid(hid, 'artifactQuality'); + + let dicArtifact = gameData.artifact.get(artifactId); + if(!dicArtifact) return; + + // 基础属性 + let dicArtifactQualityPlan = gameData.artifactQualityPlan.get(dicArtifact.qualityAttrPlan); + if(!dicArtifactQualityPlan) return; + + let ceAttr = dicArtifactQualityPlan.attr||[]; + for(let { id, attr } of ceAttr) { + let heroAttr = this.data.getHeroAttrByHidAndId(hid, id); + heroAttr.artifactQuality = attr; + } + } + + // 宝物词条 + public setArtifactSeid(hid: number, skinId: number, job: number, artifactId: number) { + this.data.clearHeroAttrByHid(hid, 'artifactSeid'); + + let dicArtifact = gameData.artifact.get(artifactId); + if(!dicArtifact) return; + let dicJob = gameData.job.get(job); + if(!dicJob) return; + + let seids: number[] = []; // id, seids + for(let seid of dicArtifact.seids) { + let dicArtifactSeid = gameData.artifactSeid.get(seid); + if(!dicArtifactSeid) continue; + if(dicArtifactSeid.jobClass != 0 && dicArtifactSeid.jobClass != dicJob.job_class) continue; + if(dicArtifactSeid.hid != 0 && dicArtifactSeid.hid != skinId) continue; + if(dicArtifactSeid.quality > dicArtifact.quality) continue; + seids.push(dicArtifactSeid.seid); + } + + let { ratioUp } = this.addSeidEffect(seids); + for(let [attrId, val] of ratioUp) { + let heroAttr = this.data.getHeroAttrByHidAndId(hid, attrId); + heroAttr.artifactSeid = val; + } + } + // 添加技能增加的被动属性 private addSeidEffect(seidList: number[]) { let fixUp = new Map(), ratioUp = new Map(); @@ -991,6 +1072,9 @@ abstract class HeroAllAttr { jewel: number = 0; // hp9 & attr7,天晶随机属性值(jewel的ranSe,对应dic_zyz_randomEffectPool) stone: number = 0; // hp10, 地玉增加的固定值(dic_zyz_stone的attribute) mainBaseUp: number = 0; // hp2, 基础成长(dic_zyz_hero的hp_up) + artifactLv: number = 0; // hp14 宝物等级(dic_zyz_artifactLvPlan的attr) + artifactQuality: number = 0; // hp14 宝物品质(dic_zyz_artifactQualityPlan的attr) + artifactSeid: number = 0; // hp9 宝物词条(dic_zyz_artifactSeid算出来的) constructor(hid: number, attrId: number, ) { this.hid = hid; @@ -1041,6 +1125,12 @@ class HeroMainAttr extends HeroAllAttr { this.stone = value; break; case HERO_MAIN_ATTR_INDEX.BASE_UP: this.mainBaseUp = value; break; + case HERO_MAIN_ATTR_INDEX.ARTIFACT_LV: + this.artifactLv = value; break; + case HERO_MAIN_ATTR_INDEX.ARTIFACT_QUALITY: + this.artifactQuality = value; break; + case HERO_MAIN_ATTR_INDEX.ARTIFACT_SEID: + this.artifactSeid = value; break; } } } @@ -1089,6 +1179,15 @@ class HeroMainAttr extends HeroAllAttr { case HERO_MAIN_ATTR_INDEX.BASE_UP: values.push(this.mainBaseUp); break; + case HERO_MAIN_ATTR_INDEX.ARTIFACT_LV: + values.push(this.artifactLv); + break; + case HERO_MAIN_ATTR_INDEX.ARTIFACT_QUALITY: + values.push(this.artifactQuality); + break; + case HERO_MAIN_ATTR_INDEX.ARTIFACT_SEID: + values.push(this.artifactSeid); + break; } } return values; @@ -1278,6 +1377,9 @@ enum HERO_MAIN_ATTR_INDEX { JEWEL = 10, // hp9,天晶随机属性值(jewel的ranSe,对应dic_zyz_randomEffectPool) STONE = 11, // hp10, 地玉增加的固定值(dic_zyz_stone的attribute) BASE_UP = 12, // hp2, 角色基础属性成长(dic_zyz_hero的hp_up) + ARTIFACT_LV = 13, // hp14, 宝物等级 + ARTIFACT_QUALITY = 14, // hp14, 宝物品质 + ARTIFACT_SEID = 15, // hp9,宝物词条 END } diff --git a/game-server/app/services/role/rewardService.ts b/game-server/app/services/role/rewardService.ts index d28d4dfa0..d031188ea 100644 --- a/game-server/app/services/role/rewardService.ts +++ b/game-server/app/services/role/rewardService.ts @@ -1,23 +1,18 @@ -import { ITID, CONSUME_TYPE, ITEM_TABLE, CURRENCY, CURRENCY_TYPE, MAIL_TYPE, HANDLE_REWARD_TYPE, HERO_SYSTEM_TYPE, CURRENCY_BY_TYPE, ITEM_CHANGE_REASON, TA_USERSET_TYPE, TA_EVENT, POP_UP_SHOP_CONDITION_TYPE, ROLE_SELECT, FIGURE_UNLOCK_CONDITION, PUSH_ROUTE } from '../../consts'; -import { getDecimalCnt, getRandEelm, getRandEelmWithWeight, getRandSingleEelm, getRandValueByMinMax, resResult } from '../../pubUtils/util'; +import { ITID, CONSUME_TYPE, ITEM_TABLE, CURRENCY_TYPE, MAIL_TYPE, HANDLE_REWARD_TYPE, HERO_SYSTEM_TYPE, CURRENCY_BY_TYPE, ITEM_CHANGE_REASON, TA_USERSET_TYPE, TA_EVENT, POP_UP_SHOP_CONDITION_TYPE, ROLE_SELECT, FIGURE_UNLOCK_CONDITION, PUSH_ROUTE } from '../../consts'; +import { getDecimalCnt, getRandEelm, getRandEelmWithWeight, getRandValueByMinMax, } from '../../pubUtils/util'; import { RoleModel, RoleType } from '../../db/Role'; import { setAp } from '../actionPointService'; -import { ItemModel, ItemType } from '../../db/Item'; -import { STATUS } from '../../consts/statusCode'; -import { pinus } from 'pinus'; -import { ItemInter, RewardInter, } from '../../pubUtils/interface'; -import { gameData } from '../../pubUtils/data'; +import { ItemModel, } from '../../db/Item'; +import { ItemInter, } from '../../pubUtils/interface'; +import { gameData, getDefArtifactByGid } from '../../pubUtils/data'; import { uniq } from 'underscore'; -import { EPlace, HeroModel, HeroType, HeroUpdate } from '../../db/Hero'; +import { EPlace, HeroModel, HeroType, } from '../../db/Hero'; import { Figure } from '../../domain/dbGeneral'; -import { CreateHeroParam, HeroShowParam, JewelParam } from '../../domain/roleField/hero'; +import { ArtifactParam, JewelParam } from '../../domain/roleField/hero'; import { HeroSkin } from '../../db/Hero'; -import { errlogger } from '../../util/logger'; import { BAG } from '../../pubUtils/dicParam'; import { sendMailByContent } from '../mailService'; -import { SkinModel, SkinUpdate } from '../../db/Skin'; -import { getInitHeroById } from '../roleService'; -import { getActivities } from '../activity/activityService'; +import { SkinModel, } from '../../db/Skin'; import { reportTAEvent, reportTAUserSet } from '../sdkService'; import { saveCoinChangeLog, saveFigureInfoLog, saveGoldChangeLog, saveItemChangeLog } from '../../pubUtils/logUtil'; import { JewelModel, JewelType, jewelUpdate, RandSe } from '../../db/Jewel'; @@ -25,16 +20,17 @@ import { updateEplaces } from '../equipService'; import { combineItems, getCoinEventProperties, getGoldEventProperties, sortItems } from './util'; import { nowSeconds } from '../../pubUtils/timeUtil'; import { calculateCeWithHero, calculateCeWithRole } from '../playerCeService'; -import { sendMessageToUsersWithSuc, sendMessageToUserWithSuc } from '../pushService'; +import { sendMessageToUserWithSuc } from '../pushService'; import { filterGoods } from '../dataService'; - - +import { ArtifactModel, ArtifactModelType, ArtifactModelUpdate } from '../../db/Artifact'; export async function handleCost(roleId: string, sid: string, goods: Array, reason: ITEM_CHANGE_REASON) { - let { items, jewels, gold, coin } = sortItems(goods, HANDLE_REWARD_TYPE.COST); + let { items, jewels, gold, coin, artifacts } = sortItems(goods, HANDLE_REWARD_TYPE.COST); let jewelSeqIds = jewels.map(cur => cur.seqId); let resJewels: JewelType[] = []; + let artifactSeqIds = artifacts.map(cur => cur.seqId); + let resArtifacts: ArtifactModelType[] = []; // 检查货币是否充足 let role = await RoleModel.findByRoleId(roleId); @@ -50,6 +46,12 @@ export async function handleCost(roleId: string, sid: string, goods: Array 0) { + resArtifacts = await ArtifactModel.findbySeqIds(roleId, artifactSeqIds); + if (resArtifacts.length < artifacts.length) + return false; + } //检查并修改道具 if (items.length > 0) { let { hasError, result } = await ItemModel.decreaseItems(roleId, items); @@ -90,6 +92,25 @@ export async function handleCost(roleId: string, sid: string, goods: Array ({ seqId: jewel.seqId, id: jewel.id, inc: -1, reason })) }, sid); } + //删除宝物 + if (resArtifacts.length > 0) { + let heroMap = new Map(); + for(let artifact of resArtifacts) { + if(artifact.hid > 0) { + heroMap.set(artifact.hid, { artifact }); + } + } + for(let [hid, { artifact } ] of heroMap) { + // 脱下天晶石 + await ArtifactModel.putOnOrOff(roleId, artifact.id, 0); + await calculateCeWithHero(HERO_SYSTEM_TYPE.PUT_ARTIFACT, roleId, role.serverId, sid, hid, { artifact: 0 }); + } + + let artifacts = await ArtifactModel.deleteBySeqIds(roleId, artifactSeqIds); + saveItemChangeLog(roleId, artifacts.map(artifact => ({ id: artifact.id, count: 1, inc: -1 })), reason); + sendMessageToUserWithSuc(roleId, PUSH_ROUTE.ARTIFACT_DEL, { artifacts: artifacts.map(artifact => ({ seqId: artifact.seqId, id: artifact.id, inc: -1, reason })) }, sid); + } + //消耗玩家货币 if (gold.length > 0 || coin.length > 0) { let costGold = gold.reduce((pre, cur) => pre + cur.count, 0); @@ -115,7 +136,7 @@ export async function handleCost(roleId: string, sid: string, goods: Array, reason: ITEM_CHANGE_REASON) { goods = filterGoods(goods, obj => obj.id, roleId, reason); - let { items, jewels, gold, coin, ap, skins, figures } = sortItems(goods, HANDLE_REWARD_TYPE.RECEIVE); + let { items, jewels, gold, coin, ap, skins, figures, artifacts } = sortItems(goods, HANDLE_REWARD_TYPE.RECEIVE); let showItems: { id: number, seqId?: number, count: number, isBag?: boolean }[] = []; let role = await RoleModel.findByRoleId(roleId); // 1. 装备处理 @@ -130,7 +151,7 @@ export async function addItems(roleId: string, roleName: string, sid: string, go } // 直接加的 - let { jewels: jewelInfos } = await addJewels(roleId, roleName, <{id: number, hid?: number}[]>incJewels, reason); + let { jewels: jewelInfos } = await addJewels(roleId, roleName, <{id: number }[]>incJewels, reason); for (let jewel of jewelInfos) { showItems.push({ seqId: jewel.seqId, id: jewel.id, count: 1, isBag: true }); } @@ -229,6 +250,39 @@ export async function addItems(roleId: string, roleName: string, sid: string, go } } + // 6. 宝物处理 + + if(artifacts.length > 0) { + let { artifactCount = 0 } = role; + let incArtifacts = artifacts, mailArtifacts: { id?: number, seqId?: number }[] = []; + if(artifacts.length + artifactCount > BAG.BAG_ARTIFACT_UPLIMITED) { // 装备上限 + let inc = BAG.BAG_ARTIFACT_UPLIMITED - artifactCount; + if(inc < 0) inc = 0; + incArtifacts = artifacts.slice(0, inc); + mailArtifacts = artifacts.slice(inc); + } + + // 直接加的 + let { artifacts: artifactInfos } = await addArtifacts(roleId, roleName, <{id: number}[]>incArtifacts, reason); + for (let artifact of artifactInfos) { + showItems.push({ seqId: artifact.seqId, id: artifact.id, count: 1, isBag: true }); + } + for(let artifact of combineItems(mailArtifacts)) { + showItems.push({ id: artifact.id, count: artifact.count, isBag: false }); + } + //装备推送 + if (!!artifactInfos.length) + sendMessageToUserWithSuc(roleId, PUSH_ROUTE.ARTIFACT_ADD, { artifacts: artifactInfos }, sid); + //统计装备 + if (artifactInfos.length > 0) { + saveItemChangeLog(roleId, artifactInfos, reason); + } + // 发邮件的 + if(mailArtifacts.length > 0) { + await sendMailByContent(MAIL_TYPE.ARTIFACT_OVER, roleId, { goods: combineItems(mailArtifacts) }); + } + } + return showItems; } @@ -437,6 +491,20 @@ export function getJewelRandSe(id: number, seid: number) { return new RandSe(id, dicRandom.id, rand); } +export async function addArtifacts(roleId: string, roleName: string, artifacts: { id: number, }[], reason: number) { + let artifactInfos: ArtifactModelUpdate[] = []; + for(let { id } of artifacts) { + let dicArtifact = getDefArtifactByGid(id); + if(dicArtifact) { + let { goodId, artifactId, quality, qualityStage } = dicArtifact; + artifactInfos.push({ roleId, roleName, id: goodId, artifactId, quality, qualityStage }); + } + } + + const artifactResult = await ArtifactModel.createArtifacts(roleId, artifactInfos); + return { artifacts: artifactResult.map(artifact => new ArtifactParam(artifact, true, reason))} +} + export function getGoldId() { return CURRENCY_BY_TYPE.get(CURRENCY_TYPE.GOLD); } diff --git a/game-server/app/services/role/util.ts b/game-server/app/services/role/util.ts index c84c21532..8a5783e18 100644 --- a/game-server/app/services/role/util.ts +++ b/game-server/app/services/role/util.ts @@ -6,6 +6,7 @@ import { errlogger } from '../../util/logger'; export function sortItems(goods: ItemInter[], handleType: HANDLE_REWARD_TYPE) { let items: { id: number, count: number }[] = []; // 可叠加道具 let jewels: { seqId?: number, id?: number, hid?: number }[] = []; // 不可叠加装备 + let artifacts: { seqId?: number, id?: number }[] = []; // 不可叠加宝物 let gold: { count: number, isPay: boolean }[] = []; // 金币 let coin: number[] = []; let ap: number = 0; @@ -74,11 +75,21 @@ export function sortItems(goods: ItemInter[], handleType: HANDLE_REWARD_TYPE) { } } } + } else if (table == ITEM_TABLE.ARTIFACT) { + if(handleType == HANDLE_REWARD_TYPE.RECEIVE) { + for(let i = 0; i < good.count; i++) { + artifacts.push({ id: good.id }) + } + } else { + if(!!good.seqId) { + artifacts.push({ seqId: good.seqId }); + } + } } } - return { items, jewels, gold, coin, ap, skins, figures } + return { items, jewels, gold, coin, ap, skins, figures, artifacts } } export function getGoldEventProperties(inc: number, count: number, reason: ITEM_CHANGE_REASON) { @@ -98,7 +109,7 @@ export function combineItems(items: { id?: number, count?: number, seqId?: numbe for(let { id, count = 1, seqId, isBag } of items) { let dicGoods = gameData.goods.get(id); let dicItid = ITID.get(dicGoods.itid); - if(dicItid.table != 'jewel') { + if(dicItid.table != 'jewel' && dicItid.table != 'artifact') { let index = result.findIndex(cur => cur.id == id); if(index == -1) { result.push({ id, count, seqId, isBag }); diff --git a/game-server/app/services/task/taskObj.ts b/game-server/app/services/task/taskObj.ts index 3493d7dc2..f14ea9d80 100644 --- a/game-server/app/services/task/taskObj.ts +++ b/game-server/app/services/task/taskObj.ts @@ -1185,7 +1185,7 @@ export class CheckSingleTask { if(newUnlockSeCnt < dicTaskParam[1]) break; let records = await getRecord(); - if(records.indexOf(`${newJewel.seqId}`)) { + if(records.indexOf(`${newJewel.seqId}`) == -1) { records.push(`${newJewel.seqId}`); result = { records, inc: 1 }; } @@ -1359,6 +1359,36 @@ export class CheckSingleTask { } break; } + case TASK_TYPE.ARTIFACT_LV: // 127. 强化X件宝物至X级 + { + let { artifacts } = param; + let records = await getRecord(); + for(let { seqId, lv, hid } of artifacts) { + if(hid > 0 && lv >= dicTaskParam[1] && records.indexOf(`${seqId}`) == -1) { + records.push(`${seqId}`); + } + } + result = { records, set: records.length }; + break; + } + case TASK_TYPE.ARTIFACT_QUALITY_EQUIP: // 128. 穿戴X件品质为X的宝物 + { + let { artifacts } = param; + let records = await getRecord(); + for(let { seqId, quality, hid } of artifacts) { + if(hid > 0 && quality >= dicTaskParam[1] && records.indexOf(`${seqId}`) == -1) { + records.push(`${seqId}`); + } + } + result = { records, set: records.length }; + break; + } + case TASK_TYPE.ARTIFACT_COMPOSE: // 129. 合成X次宝物 + { + let { count } = param; + result = { inc: count }; + break; + } } return result } diff --git a/shared/consts/constModules/chatConst.ts b/shared/consts/constModules/chatConst.ts index 0c74df5c8..8de14ae86 100644 --- a/shared/consts/constModules/chatConst.ts +++ b/shared/consts/constModules/chatConst.ts @@ -157,6 +157,8 @@ export const PUSH_ROUTE = { ITEM_UPDATE: 'onItemUpdate', JEWEL_DEL: 'onJewelDel', JEWEL_ADD: 'onJewelAdd', + ARTIFACT_DEL: 'onArtifactDel', + ARTIFACT_ADD: 'onArtifactAdd', HEAD_CHANGE: 'onHeadChange', TASK_UPDATE: 'onTaskUpdate', ACTIVITY_TASK_UPDATE: 'onActivityTaskUpdate', diff --git a/shared/consts/constModules/heroConst.ts b/shared/consts/constModules/heroConst.ts index cc91b2ee8..04ba314d8 100644 --- a/shared/consts/constModules/heroConst.ts +++ b/shared/consts/constModules/heroConst.ts @@ -34,6 +34,12 @@ export enum HERO_SYSTEM_TYPE { RE_CAL = 31, // 重新计算 TALENT_LV = 32, // 天赋升级 TALENT_RESET = 33, // 天赋重置 + PUT_ARTIFACT = 34, // 装备宝物 + PUT_OFF_ARTIFACT = 35, // 卸下宝物 + ARTIFACT_LV = 36, // 宝物等级 + ARTIFACT_QUALITY = 37, // 宝物品质 + ARTIFACT_TRANSFER = 38, // 宝物转换 + ARTIFACT_REBUILD = 39, // 宝物重铸 }; // 武将上限 diff --git a/shared/consts/constModules/itemConst.ts b/shared/consts/constModules/itemConst.ts index 0ea41d6d4..406dbf613 100644 --- a/shared/consts/constModules/itemConst.ts +++ b/shared/consts/constModules/itemConst.ts @@ -38,6 +38,7 @@ export const CONSUME_TYPE = { DICE: 16, // 骰子 DRAWING: 17, // 图纸 VOUCHER: 18, // 代金券 + ARTIFACT_GENERAL: 19, // 宝物通用 }; export enum ROLE_TERAPH { @@ -96,6 +97,7 @@ export const ITEM_TABLE = { HERO: 'hero', SKIN: 'skin', JEWEL: 'jewel', + ARTIFACT: 'artifact', } const itid_array = [ @@ -148,7 +150,9 @@ const itid_array = [ { id: 60, name: '衣服天晶石', table: 'jewel' }, { id: 61, name: '头饰天晶石', table: 'jewel' }, { id: 62, name: '行具天晶石', table: 'jewel' }, - { id: 63, name: '代金券', table: 'item', type: CONSUME_TYPE.VOUCHER } + { id: 63, name: '代金券', table: 'item', type: CONSUME_TYPE.VOUCHER }, + { id: 64, name: '宝物', table: 'artifact' }, + { id: 65, name: '宝物通用材料', table: 'item', type: CONSUME_TYPE.ARTIFACT_GENERAL }, ]; export const ITID = new Map(); diff --git a/shared/consts/constModules/mailConst.ts b/shared/consts/constModules/mailConst.ts index 748cfa5b7..ea2666061 100644 --- a/shared/consts/constModules/mailConst.ts +++ b/shared/consts/constModules/mailConst.ts @@ -61,6 +61,7 @@ export enum MAIL_TYPE { GUILD_MAIL = 31, // 军团邮件 REBATE = 32, // 返利邮件 GROUP_SHOP_REFUND = 33, // 退费 + ARTIFACT_OVER = 34, // 退费 }; export const SEND_NAME = '系统'; diff --git a/shared/consts/constModules/selectConst.ts b/shared/consts/constModules/selectConst.ts index e3e0f0f6b..cb2986877 100644 --- a/shared/consts/constModules/selectConst.ts +++ b/shared/consts/constModules/selectConst.ts @@ -19,7 +19,7 @@ export enum ROLE_SELECT { export enum HERO_SELECT { ENTRY = '-_id -attr -__v', - HERO_DETAIL = 'roleId roleName hid hName ce lv star colorStar quality job skins attr ePlace skinId connections subHid', + HERO_DETAIL = 'roleId roleName hid hName ce lv star colorStar quality job skins attr ePlace skinId connections artifact subHid', // 排行榜中lineup字段 RANK_LINEUP = 'seqId roleId hid star colorStar lv quality job ce updatedAt skinId' } @@ -57,8 +57,12 @@ export enum FRIEND_SHIP_SELECT { GET_FRIEND_VALUE = 'friendValue friendLv' } -export const ENTERY_ROLE_PICK = ['roleId', 'roleName', 'serverId', 'ce', 'topLineupCe', 'coin', 'lv', 'exp', 'vLv', 'gold', 'heros', 'jewels', 'consumeGoods', 'title', 'teraphs', 'showLineup', 'heads', 'head', 'frames', 'frame', 'spines', 'spine', 'hasGuild', 'guildCode', 'todayZeroPoint', 'apJson', 'skins', 'totalPay', 'guide', 'hasInit', 'renameCnt', 'totalCost', 'guildName', 'isVip', 'createTime', 'ipLocation']; +export const ENTERY_ROLE_PICK = ['roleId', 'roleName', 'serverId', 'ce', 'topLineupCe', 'coin', 'lv', 'exp', 'vLv', 'gold', 'heros', 'jewels', 'artifacts', 'consumeGoods', 'title', 'teraphs', 'showLineup', 'heads', 'head', 'frames', 'frame', 'spines', 'spine', 'hasGuild', 'guildCode', 'todayZeroPoint', 'apJson', 'skins', 'totalPay', 'guide', 'hasInit', 'renameCnt', 'totalCost', 'guildName', 'isVip', 'createTime', 'ipLocation']; export enum SURVEY_SELECT { FIND = '-__v -_id -surveyName -roleIndex -reward -mailContent -receivedRole -createdAt -updatedAt' -} \ No newline at end of file +} + +export enum ARTIFACT_SELECT { + ENTRY = '-_id -__v -roleId -roleName -createdAt -updatedAt -status' +} diff --git a/shared/consts/constModules/sysConst.ts b/shared/consts/constModules/sysConst.ts index 11cfd2cbb..5997c7270 100644 --- a/shared/consts/constModules/sysConst.ts +++ b/shared/consts/constModules/sysConst.ts @@ -53,6 +53,7 @@ export const COUNTER = { CITY_ACTIVITY: { name: 'cityAct', def: 1 }, RACE_ACTIVITY: { name: 'raceAct', def: 1 }, HIDDEN_DATA: { name: 'hiddendata', def: 1 }, + ARTIFACT_ID: { name: 'artid', def: 1 }, }; export const DEFAULT_HEROES = [19, 53,]; @@ -558,6 +559,11 @@ export const FILENAME = { DIC_LADDER_MATCH: 'dic_zyz_ladderMatch', DIC_GK_BRANCH_ELITE: 'dic_zyz_gk_branchElite', DIC_GENERAL_GOODS: 'dic_zyz_general_goods', + DIC_ARTIFACT: 'dic_zyz_artifact', + DIC_ARTIFACT_LV_PLAN: 'dic_zyz_artifactLvPlan', + DIC_ARTIFACT_QUALITY_PLAN: 'dic_zyz_artifactQualityPlan', + DIC_ARTIFACT_QUALITY: 'dic_zyz_artifactQuality', + DIC_ARTIFACT_SEID: 'dic_zyz_artifactSeid', } export const WAR_RELATE_TABLES = [ @@ -763,7 +769,7 @@ export enum TASK_TYPE { JEWEL_QUENCH_SUCCESS = 107, // 天晶淬炼成功 COM_BATTLE_LV = 108, // 军团寻宝 GUILD_REFINE = 109, // 军团兑换 - EQUIP_STAR_UP_CNT_SUM = 110, // 装备总共升星x次 + EQUIP_STAR_UP_CNT_SUM = 110, // 装备总共升星x次 BATTLE_MAIN_START = 111, // 挑战主线x次 BATTLE_TOWER_START = 112, // 挑战镇念塔x次 BATTLE_VESTIGE_START = 113, // 挑战遗迹x次 @@ -773,12 +779,15 @@ export enum TASK_TYPE { COM_BATTLE_WIN = 117, // 寻宝胜利x次 BATTLE_EXPEDITION_START = 118, // 挑战远征x次 BATTLE_DUNGEON_START = 119, // 挑战秘境x次 - GUILD_GOLD_DONATE = 120, // 军团元宝捐献x次 + GUILD_GOLD_DONATE = 120, // 军团元宝捐献x次 LADDER_CNT = 121, // 名将擂台挑战x次 LADDER_SUCCESS_CNT = 122, // 名将擂台挑战胜利x次 LADDER_RANK = 123, // 名将擂台排名 CONNECT_ONE_HERO_MAX_LV = 124, // 羁绊最高等级的那一级达到x级 CONNECT_ONE_HERO_SUM_LV = 125, // 单个武将全部羁绊到达 + ARTIFACT_LV = 127, // 强化X件宝物至X级 + ARTIFACT_QUALITY_EQUIP = 128, // 穿戴X件品质为X的宝物 + ARTIFACT_COMPOSE = 129, // 合成X次宝物 } // 任务累积类型 @@ -1048,6 +1057,11 @@ export enum ITEM_CHANGE_REASON { ACT_GROUP_SHOP_BUY = 153, // 团购 ACT_TURNTABLE_RECEIVE_BOX = 154, // 活动 幸运转盘领取宝箱 ACT_BIND_PHONE = 155, // 活动 绑定手机奖励 + ARTIFACT_DECOMPOSE = 156, // 宝物分解 + ARTIFACT_LV = 157, // 宝物升级 + ARTIFACT_QUALITY = 158, // 宝物升品 + ARTIFACT_TRANSFER = 159, // 宝物转换 + ARTIFACT_REBUILD = 160, // 宝物重铸 } export enum TA_EVENT { diff --git a/shared/consts/statusCode.ts b/shared/consts/statusCode.ts index ea260e5ce..d6b756c61 100644 --- a/shared/consts/statusCode.ts +++ b/shared/consts/statusCode.ts @@ -388,6 +388,17 @@ export const STATUS = { JEWEL_LOCKED_CANNOT_INHERIT: { code: 30536, simStr: '该天晶石锁定中,无法进行继承' }, JEWEL_HAS_EQUPED: { code: 30537, simStr: '天晶石已经被装备' }, JEWEL_CANNOT_INHERIT: { code: 30538, simStr: '不能继承给类型不同或比自己低阶的天晶石' }, + ARTIFACT_IS_NOT_FIND: { code: 30539, simStr: '宝物不存在' }, + ARTIFACT_IS_NOT_EQUIPED: { code: 30540, simStr: '宝物未装备中' }, + ARTIFACT_LV_MAX: { code: 30541, simStr: '宝物已升到最大' }, + ARTIFACT_IS_EQUIPED: { code: 30542, simStr: '宝物被装备中' }, + ARTIFACT_CAN_NOT_STRENGTHEN: { code: 30543, simStr: '作为材料的宝物不可被强化' }, + ARTIFACT_MATERIAL_QUALITY_ERR: { code: 30544, simStr: '作为材料的宝物品质错误' }, + ARTIFACT_MATERIAL_GROUP_ERR: { code: 30545, simStr: '作为材料的宝物必须和目标宝物同名' }, + ARTIFACT_TYPE_ERR: { code: 30546, simStr: '未找到该宝物的该形态' }, + ARTIFACT_TYPE_SAME: { code: 30547, simStr: '该宝物已经是该形态了' }, + ARTIFACT_HAS_NO_STRENGTH: { code: 30548, simStr: '选择的宝物未强化过无法重铸' }, + ARTIFACT_CANNOT_DECOMPOSE: { code: 30549, simStr: '选择的宝物不可分解' }, //全局养成30600-30699 ROLE_REACH_MAX_TITLE_LEVEL: { code: 30600, simStr: '玩家已达到最高的爵位' }, diff --git a/shared/db/Artifact.ts b/shared/db/Artifact.ts new file mode 100644 index 000000000..9d3b21870 --- /dev/null +++ b/shared/db/Artifact.ts @@ -0,0 +1,119 @@ +import BaseModel from './BaseModel'; +import { index, getModelForClass, prop, DocumentType, modelOptions } from '@typegoose/typegoose'; +import { CounterModel } from './Counter'; +import { COUNTER } from '../consts'; +import { RoleModel } from './Role'; + +/** + * 宝物 +*/ +@modelOptions({ schemaOptions: { id: false } }) +@index({ roleId: 1, seqId: 1, id: 1 }) +@index({ roleId: 1, quality: 1 }) +@index({ batchCode: 1 }) +@index({ status: 1 }) + +export default class Artifact extends BaseModel { + + // 主键: artifact,不同形态的宝物分开词条 + @prop({ required: true }) + seqId: number; // 唯一id + + @prop({ required: true }) + roleId: string; // 玩家id + + @prop({ required: true }) + roleName: string; // 玩家名 + + @prop({ required: true }) + id: number; // 物品id + + @prop({ required: true }) + artifactId: number; // 宝物id + + @prop({ required: true, default: 0 }) + lv: number; // 强化等级 + + @prop({ required: true }) + quality: number; // 品质 1-5 蓝紫橙红金 + + @prop({ required: true }) + qualityStage: number; // 品质+n,0开始 + + @prop({ required: true, default: 0 }) + hid: number; // 装备的武将 + + @prop({ required: true }) + batchCode: string; // 一键合成批处理 + + @prop({ required: true, default: 1 }) + status: number; // 装备 1-生成 0-被合成删除 + + public static async findbySeqIds(roleId: string, seqIds: number[], select?: string) { + const result: ArtifactModelType[] = await ArtifactModel.find({ roleId, seqId: { $in: seqIds }, status: 1 }).select(select).lean(); + return result; + } + + public static async findbySeqId(roleId: string, seqId: number, select?: string) { + const result: ArtifactModelType = await ArtifactModel.findOne({ roleId, seqId, status: 1 }).select(select).lean(); + return result; + } + + + public static async findbyRole(roleId: string, select = '') { + const result: ArtifactModelType[] = await ArtifactModel.find({ roleId, status: 1 }).select(select).lean(); + return result; + } + + public static async createArtifact(artifactInfo: ArtifactModelUpdate) { + const seqId = await CounterModel.getNewCounter(COUNTER.ARTIFACT_ID); + + const doc = new ArtifactModel(); + const update = Object.assign(doc.toJSON(), seqId, artifactInfo); + delete update._id; + const artifact: ArtifactModelType = await ArtifactModel.findOneAndUpdate({ seqId }, update, { upsert: true, new: true }).lean(); + return artifact; + } + + public static async createArtifacts(roleId: string, artifactInfos: ArtifactModelUpdate[]) { + let result: ArtifactModelType[] = []; + for (let artifactInfo of artifactInfos) { + let artifact = await this.createArtifact(artifactInfo); + result.push(artifact); + } + await RoleModel.increaseArtifact(roleId, result.length); + return result; + } + + public static async putOnOrOff(roleId: string, seqId: number, hid: number) { + let rec: ArtifactModelType = await ArtifactModel.findOneAndUpdate({ seqId }, { $set: { hid } }, { new: true }).lean(); + return rec; + } + + public static async deleteBySeqIds(roleId: string, seqIds: number[]) { + let result: ArtifactModelType[] = await ArtifactModel.findbySeqIds(roleId, seqIds); + let delResult: { n: number, nModified: number, ok: number } = await ArtifactModel.updateMany({ roleId, seqId: { $in: seqIds } }, { $set: { status: 0 } }); + await RoleModel.increaseArtifact(roleId, -1 * delResult.nModified); + return result; + } + + public static async updateInfoBySeqId(roleId: string, seqId: number, update: ArtifactModelUpdate) { + let rec: ArtifactModelType = await ArtifactModel.findOneAndUpdate({ roleId, seqId }, { $set: update }, { new: true }).lean(); + return rec; + } + + public static async findByQuality(roleId: string, quality: number) { + let result: ArtifactModelType[] = await ArtifactModel.find({ roleId, quality, status: 1, hid: 0, qualityStage: 0 }).lean(); + return result; + } + + public static async findByBatchCode(batchCode: string) { + let result: ArtifactModelType[] = await ArtifactModel.find({ batchCode, status: 1 }).lean(); + return result; + } +} + +export const ArtifactModel = getModelForClass(Artifact); + +export interface ArtifactModelType extends Pick, keyof Artifact> { } +export type ArtifactModelUpdate = Partial; // 将所有字段变成可选项 \ No newline at end of file diff --git a/shared/db/Hero.ts b/shared/db/Hero.ts index 1d303af62..3ed4c250d 100644 --- a/shared/db/Hero.ts +++ b/shared/db/Hero.ts @@ -161,7 +161,10 @@ export default class Hero extends BaseModel { ePlace: EPlace[]; // 武将装备引用数组 @prop({ required: true, type: Reward, default: [], _id: false }) - consumes: Reward[]; // 武将装备引用数组 + consumes: Reward[]; // 消耗 + + @prop({ required: true, default: 0 }) + artifact: number; // 宝物 @prop({ required: true, default: 0 }) subHid: number; // 副将 diff --git a/shared/db/LadderMatch.ts b/shared/db/LadderMatch.ts index 5a6fc63eb..a2b9ef96c 100644 --- a/shared/db/LadderMatch.ts +++ b/shared/db/LadderMatch.ts @@ -56,7 +56,7 @@ export default class LadderMatch extends BaseModel { public static async findByRoleIdAndInclude(roleId: string) { const result: LadderMatchType = await LadderMatchModel.findOne({ roleId }) .populate('role', 'roleId roleName head frame spine heads frames spines title lv updatedAt') - .populate('defense.heroes.hero', 'hid skinId quality star colorStar lv skins job subHid') + .populate('defense.heroes.hero', 'hid skinId quality star colorStar lv skins job artifact subHid') .lean(); return result; } @@ -78,7 +78,7 @@ export default class LadderMatch extends BaseModel { public static async updateByRoleIdAndInclude(roleId: string, params: LadderUpdateInter) { const defense: LadderMatchType = await LadderMatchModel.findOneAndUpdate({ roleId }, { $set: params}, { new: true }) .populate('role', 'roleId roleName head frame spine heads frames spines title lv updatedAt') - .populate('defense.heroes.hero', 'hid skinId quality star colorStar lv skins job subHid') + .populate('defense.heroes.hero', 'hid skinId quality star colorStar lv skins job artifact subHid') .lean(); return defense; } @@ -98,7 +98,7 @@ export default class LadderMatch extends BaseModel { public static async lock(serverId: number, roleId: string, rank: number) { const defense: LadderMatchType = await LadderMatchModel.findOneAndUpdate({ serverId, roleId, rank, locked: 0 }, { $set: { locked: 1 }}, { new: true }) .populate('role', 'roleId roleName head frame spine heads frames spines title lv updatedAt') - .populate('defense.heroes.hero', 'hid skinId quality star colorStar lv skins job subHid') + .populate('defense.heroes.hero', 'hid skinId quality star colorStar lv skins job artifact subHid') .lean(); return defense; } diff --git a/shared/db/Role.ts b/shared/db/Role.ts index 311a3c26c..cc15dab12 100644 --- a/shared/db/Role.ts +++ b/shared/db/Role.ts @@ -191,6 +191,8 @@ export default class Role extends BaseModel { jewelCount: number; // 装备数量 @prop({ required: true }) equipStarSum: number; // 装备上的星级的数量 + @prop({ required: true, default: 0 }) + artifactCount: number; // 宝物数量 @prop({ required: true, default: 0 }) coin: number; // 总铜钱 @@ -737,6 +739,12 @@ export default class Role extends BaseModel { return role; } + // 宝物上限 + public static async increaseArtifact(roleId: string, count: number) { + const role: RoleType = await RoleModel.findOneAndUpdate({ roleId }, { $inc: { artifactCount: count } }, { new: true }).lean(); + return role; + } + // 支付记录 public static async increaseTotalPay(roleId: string, price: number) { const role: RoleType = await RoleModel.findOneAndUpdate({ roleId }, { $inc: { totalPay: price } }, { new: true }).lean(); diff --git a/shared/domain/battleField/ladder.ts b/shared/domain/battleField/ladder.ts index 86747c5ca..ac24fec13 100644 --- a/shared/domain/battleField/ladder.ts +++ b/shared/domain/battleField/ladder.ts @@ -1,5 +1,6 @@ import { mongoose, prop, Ref } from "@typegoose/typegoose"; import { LADDER_STATUS } from "../../consts"; +import { ArtifactModelType } from "../../db/Artifact"; import Hero, { HeroType, Talent } from '../../db/Hero'; import { LadderMatchType } from "../../db/LadderMatch"; import { LadderMatchRecType } from "../../db/LadderMatchRec"; @@ -56,6 +57,15 @@ export class LadderOppPlayerInDB { rank: number; } + +class HeroArtifact { + @prop({ required: true }) + artifactId: number; + + @prop({ required: true }) + lv: number; +} + // ladderMatchRec export class LadderOppPlayerHeroInfo { @prop({ required: true }) @@ -70,6 +80,8 @@ export class LadderOppPlayerHeroInfo { colorStar: number; // 彩星 @prop({ required: true }) lv: number; // 等级 + @prop({ required: true, type: HeroArtifact, _id: false }) + artifact: HeroArtifact[] = []; // 等级 setByWarJson(warJson: DicWarJson) { this.hid = warJson.actorId; @@ -96,6 +108,10 @@ export class LadderOppPlayerHeroInfo { this.colorStar = hero.colorStar; this.lv = hero.lv; } + + setArtifact(artifact: ArtifactModelType) { + if(artifact) this.artifact.push({ artifactId: artifact.artifactId, lv: artifact.lv }); + } } // ladderMatchRec @@ -343,8 +359,9 @@ export class LadderOppDetailHeroReturn { spine: string = ''; // 动画 talent: Talent[] = []; subHid: number = 0; // 副将 + artifact: HeroArtifact[] = []; - constructor(warJson: DicWarJson, defensHero: LadderDefenseHero) { + constructor(warJson: DicWarJson, defensHero: LadderDefenseHero, artifacts: ArtifactModelType[]) { this.dataId = warJson.dataId; this.relation = warJson.relation; this.dirction = warJson.dirction; @@ -373,6 +390,8 @@ export class LadderOppDetailHeroReturn { if(skin) this.talent = skin.talent; this.job = hero.job; this.subHid = hero.subHid; + let artifact = artifacts.find(cur => cur.seqId == hero.artifact); + if(artifact) this.artifact.push({ artifactId: artifact.artifactId, lv: artifact.lv }); } } } @@ -405,7 +424,7 @@ export class LadderOppDetailReturn { } } - setByPlayer(ladderMatch: LadderMatchType, warJsons: DicWarJson[]) { + setByPlayer(ladderMatch: LadderMatchType, warJsons: DicWarJson[], artifacts: ArtifactModelType[]) { this.isRobot = false; let role = ladderMatch.role; this.title = role.title; @@ -415,7 +434,7 @@ export class LadderOppDetailReturn { for(let hero of heroes) { let warJson = warJsons.find(cur => cur.dataId == hero.dataId); if(warJson) { - let obj = new LadderOppDetailHeroReturn(warJson, hero); + let obj = new LadderOppDetailHeroReturn(warJson, hero, artifacts); this.heroes.push(obj); this.defCe += hero.ce; } diff --git a/shared/domain/dbGeneral.ts b/shared/domain/dbGeneral.ts index 406839a55..b19adc99a 100644 --- a/shared/domain/dbGeneral.ts +++ b/shared/domain/dbGeneral.ts @@ -3,6 +3,7 @@ import { DicWarJson } from '../pubUtils/dictionary/DicWarJson'; import Hero, { HeroType } from '../db/Hero'; import { nowSeconds } from '../pubUtils/timeUtil'; import { DicHero } from '../pubUtils/dictionary/DicHero'; +import { ArtifactModelType } from '../db/Artifact'; class Talent { @@ -11,6 +12,16 @@ class Talent { @prop({ required: true }) level: number; // 激活等级 } + + +class HeroArtifact { + @prop({ required: true }) + artifactId: number; + + @prop({ required: true }) + lv: number; +} + // 从玩家数据中覆盖warjson的部分字段 export class PvpHeroInfo { @prop({ required: true }) @@ -44,8 +55,10 @@ export class PvpHeroInfo { @prop({ required: true, _id: false }) attribute?: string; // 属性 + @prop({ required: true, _id: false, type: HeroArtifact }) + artifact?: HeroArtifact[] = []; // 宝物 - setHeroInfo(hero: HeroType) { + setHeroInfo(hero: HeroType, artifact: ArtifactModelType) { this.actorId = hero.hid; this.skinId = hero.skinId; this.actorName = hero.hName; @@ -57,6 +70,7 @@ export class PvpHeroInfo { let skin = hero.skins?.find(cur => cur.enable); if(skin) this.talent = skin.talent; this.subHid = hero.subHid; + if(artifact) this.artifact.push({ artifactId: artifact.artifactId, lv: artifact.lv }) } setRobotInfo(dicHero: DicHero, lv: number) { @@ -150,6 +164,9 @@ export class PvpEnemies extends Enemies { talent: Talent[]; @prop({ required: true }) subHid: number; + @prop({ required: true, type: () => HeroArtifact, _id: false }) + artifact: HeroArtifact[] = []; // 宝物 + // score: 这个武将的军功 constructor(warjson: DicWarJson, heroInfo: PvpHeroInfo, score: number, ce: number) { @@ -162,6 +179,7 @@ export class PvpEnemies extends Enemies { this.talent = heroInfo.talent; this.job = heroInfo.job; this.subHid = heroInfo.subHid; + this.artifact = heroInfo.artifact||[]; } } diff --git a/shared/domain/roleField/friend.ts b/shared/domain/roleField/friend.ts index d2f441a92..55f163181 100644 --- a/shared/domain/roleField/friend.ts +++ b/shared/domain/roleField/friend.ts @@ -4,6 +4,7 @@ import * as friendUtil from '../../pubUtils/friendUtil' import { FRIEND_RELATION_TYPE } from "../../consts"; import { Connect, EPlace, HeroType, Stone, Talent } from "../../db/Hero"; import { JewelType, RandSe } from "../../db/Jewel"; +import { ArtifactModelType } from "../../db/Artifact"; export class FriendParams { roleId: string; @@ -201,6 +202,7 @@ export class HeroDetailParam { school: number; }; subHid: number = 0; + artifacts: {artifactId: number, lv: number }[] = [] constructor(hero: HeroType) { this.roleId = hero.roleId; @@ -239,4 +241,8 @@ export class HeroDetailParam { setRole(title: number, scroll: number, teraph: number, school: number) { this.role = { title, scroll, teraph, school }; } + + setArtifact(artifact: ArtifactModelType) { + this.artifacts.push({ artifactId: artifact.artifactId, lv: artifact.lv }); + } } \ No newline at end of file diff --git a/shared/domain/roleField/hero.ts b/shared/domain/roleField/hero.ts index cb2b442ed..20f0b94f6 100644 --- a/shared/domain/roleField/hero.ts +++ b/shared/domain/roleField/hero.ts @@ -1,4 +1,5 @@ +import { ArtifactModelType } from '../../db/Artifact'; import { Connect, EPlace, HeroSkin, HeroType, HeroUpdate, Talent } from '../../db/Hero'; import { JewelSe, JewelType, RandSe } from '../../db/Jewel'; import { gameData } from '../../pubUtils/data'; @@ -60,6 +61,7 @@ export class HeroParam { skins: HeroSKinParam[] = []; // 皮肤 ePlace: EPlace[]; // 武将装备引用数组 + artifact: number = 0; talent: Talent[] = []; usedTalentPoint: number = 0; totalTalentPoint: number = 0; @@ -93,6 +95,7 @@ export class HeroParam { } } this.ePlace = hero.ePlace; + this.artifact = hero.artifact; } } @@ -124,3 +127,27 @@ export class JewelParam { } } } + +export class ArtifactParam { + seqId: number; // 唯一id + artifactId: number; // 宝物id + id: number; // 物品id + lv: number; // 强化等级 + hid: number; // 装备的武将 + count: number; + inc: number; // 增减数量,固定1 + reason: number; // 来源id + + constructor(artifact: ArtifactModelType, isPush?: boolean, reason?: number) { + this.seqId = artifact.seqId; + this.artifactId = artifact.artifactId; + this.id = artifact.id; + this.lv = artifact.lv; + this.hid = artifact.hid; + if(isPush) { + this.count = 1; + this.inc = 1; + this.reason = reason; + } + } +} diff --git a/shared/domain/roleField/task.ts b/shared/domain/roleField/task.ts index ef3aa2769..a14a7a6df 100644 --- a/shared/domain/roleField/task.ts +++ b/shared/domain/roleField/task.ts @@ -1,3 +1,4 @@ +import { ArtifactModelType } from "../../db/Artifact"; import { Connect, EPlace, HeroType } from "../../db/Hero"; import { JewelType } from "../../db/Jewel"; import { HeroScore } from "../battleField/pvp"; @@ -56,6 +57,8 @@ export class TaskParamInter { jewels?: JewelType[]; // 天晶石 skinId?: number; // 皮肤id + artifacts?: ArtifactModelType[]; // 宝物 + skipTower?: boolean; debugInfo?: {condition: number}; }; diff --git a/shared/pubUtils/data.ts b/shared/pubUtils/data.ts index b33dcbadc..290ed4f16 100644 --- a/shared/pubUtils/data.ts +++ b/shared/pubUtils/data.ts @@ -110,6 +110,13 @@ import { dicLadderMatch, loadLadderMatch } from "./dictionary/DicLadderMatch"; import { dicLadderDifficultRatio, loadLadderDifficultRatio } from "./dictionary/DicLadderDifficultRatio"; import { dicLadderRankReward, loadLadderRankReward } from "./dictionary/DicLadderRankReward"; import { dicGeneralGoods, loadGeneralGoods } from "./dictionary/DicGeneralGoods"; +import { dicArtifact, dicArtifactByGid, dicArtifactByGidAndType, dicArtifactsByGroup, loadArtifact } from "./dictionary/DicArtifact"; +import { DicArtifactLvPlan, dicArtifactLvPlan, loadArtifactLvPlan } from "./dictionary/DicArtifactLvPlan"; +import { dicArtifactQuality, dicArtifactQualityById, loadArtifactQuality } from "./dictionary/DicArtifactQuality"; +import { dicArtifactQualityPlan, loadArtifactQualityPlan } from "./dictionary/DicArtifactQualityPlan"; +import { dicArtifactSeid, loadArtifactSeid } from "./dictionary/DicArtifactSeid"; +import { DicArtifact } from "./dictionary/DicArtifact"; +import { DicArtifactQuality } from "./dictionary/DicArtifactQuality"; export const gameData = { daily: dicDaily, @@ -277,6 +284,15 @@ export const gameData = { comBattleRewardTime: new Array<{from: string, to: string}>(), comBattleReward: dicComBattleReward, relationGoods: dicGeneralGoods, + artifact: dicArtifact, + artifactByGid: dicArtifactByGid, + artifactByGidAndType: dicArtifactByGidAndType, + artifactLvPlan: dicArtifactLvPlan, + artifactQuality: dicArtifactQuality, + artifactQualityById: dicArtifactQualityById, + artifactQualityPlan: dicArtifactQualityPlan, + artifactSeid: dicArtifactSeid, + artifactByGroupAndQuality: dicArtifactsByGroup, }; // 在此提供一些原先在gamedata中提供的方法,以便更方便获取gameData数据 @@ -991,6 +1007,64 @@ export function getShopType(shop: number, type: number) { return gameData.shopType.get(key)||null; } +export function getDefArtifactByGid(gid: number): DicArtifact { + let artifactId = gameData.artifactByGid.get(gid); + return gameData.artifact.get(artifactId); +} + +export function getDicArtifactQualityByStage(quality: number, qualityStage: number): DicArtifactQuality { + let uniqId = gameData.artifactQuality.get(`${quality}_${qualityStage}`); + return gameData.artifactQualityById.get(uniqId); +} + +export function getNextArtifactQuality(quality: number, qualityStage: number): DicArtifactQuality { + let dicArtifactQuality = getDicArtifactQualityByStage(quality, qualityStage); + if(!dicArtifactQuality) return null; + return gameData.artifactQualityById.get(dicArtifactQuality.nextId); +} + +export function getNextArtifact(artifactId: number): (DicArtifact&DicArtifactQuality) { + let dicArtifact = gameData.artifact.get(artifactId); + if(!dicArtifact) return null; + let dicNextArtifactQuality = getNextArtifactQuality(dicArtifact.quality, dicArtifact.qualityStage); + if(!dicNextArtifactQuality) return null; + let dicNextArtifact = getArtifactByGroupAndQuality(dicArtifact.group, dicArtifact.type, dicNextArtifactQuality.quality, dicNextArtifactQuality.qualityStage); + if(!dicNextArtifact) return null; + return {...dicNextArtifact, ...dicNextArtifactQuality} +} + +export function getArtifactStageZero(artifactId: number): (DicArtifact&DicArtifactQuality) { + let dicArtifact = getArtifactWithQuality(artifactId); + if(!dicArtifact) return null; + let dicZeroArtifact = gameData.artifactByGroupAndQuality.get(`${dicArtifact.group}_${dicArtifact.type}_${dicArtifact.quality}_${0}`); + if(!dicZeroArtifact) return null; + let dicZeroArtifactQuality = getDicArtifactQualityByStage(dicArtifact.quality, dicArtifact.qualityStage); + if(!dicZeroArtifactQuality) return null; + return {...dicZeroArtifact, ...dicZeroArtifactQuality} +} + +export function getArtifactByGroupAndQuality(group: string, type: number, quality: number, qualityStage: number): DicArtifact { + return gameData.artifactByGroupAndQuality.get(`${group}_${type}_${quality}_${qualityStage}`); +} + +export function getDicArtifactLvByPlanId(planId: number, lv: number): DicArtifactLvPlan { + let map = gameData.artifactLvPlan.get(planId); + return map?.get(lv); +} + +export function getArtifactByGidAndType(goodId: number, type: number): DicArtifact { + let artifactId = gameData.artifactByGidAndType.get(`${goodId}_${type}`); + return gameData.artifact.get(artifactId); +} + +export function getArtifactWithQuality(artifactId: number): (DicArtifact&DicArtifactQuality) { + let dicArtifact = gameData.artifact.get(artifactId); + if(!dicArtifact) return null; + let dicArtifactQuality = getDicArtifactQualityByStage(dicArtifact.quality, dicArtifact.qualityStage); + if(!dicArtifactQuality) return null; + return {...dicArtifact, ...dicArtifactQuality} +} + // 初始加载 function initDatas() { parseDicParam(); @@ -1180,6 +1254,11 @@ function loadDatas() { loadLadderDifficultRatio(); loadLadderRankReward(); loadGeneralGoods(); + loadArtifact(); + loadArtifactLvPlan(); + loadArtifactQuality(); + loadArtifactQualityPlan(); + loadArtifactSeid(); } // 重载dicParam diff --git a/shared/pubUtils/dicParam.ts b/shared/pubUtils/dicParam.ts index 34110280e..7961cabbe 100644 --- a/shared/pubUtils/dicParam.ts +++ b/shared/pubUtils/dicParam.ts @@ -178,6 +178,8 @@ export const BAG = { BAG_EQUIP_UPLIMITED: 500, // 背包中装备数量上限 BAG_GOODS_UPLIMITED: 4294967295, // 背包中可叠加的道具数量上限 BAG_RESOLVE_UPLIMITED: 500, // 背包中一键分解的上限 + BAG_ARTIFACT_UPLIMITED: 500, // 背包中宝物数量上限 + BAG_ARTIFACT_DECOMPOSE_UPLIMITED: 500, // 背包中宝物一键分解的上限 }; export const ATTRIBUTE = { ATTRIBUTE_EQUIP_RATIO: '1&1|2&3|4&2|5&2', // 装备的基础属性系数 @@ -358,3 +360,10 @@ export const MINIGAME = { MINIGAME_ARCHER_RANGE: '0&100|29&80|69&60|104&40|143&20|177&0', // 射箭小游戏圈数积分 MINIGAME_FLIPCARD_TYPE: 'baihe|guyuan|hongdou|huasheng|lianzi|nuomi|yimi|zao', // 翻牌游戏资源 }; +export const JEWEL = { + JEWELQUALITY: '0&1|25&2|50&3|75&4|100&5', // 天晶词条颜色修改 +}; +export const ARTIFACT = { + TRANSFER_COST: '31002&100', // 宝物转换形态消耗 + REBUILD_COST: '31002&100', // 宝物重铸消耗 +}; diff --git a/shared/pubUtils/dictionary/DicArtifact.ts b/shared/pubUtils/dictionary/DicArtifact.ts new file mode 100644 index 000000000..3268ec2cc --- /dev/null +++ b/shared/pubUtils/dictionary/DicArtifact.ts @@ -0,0 +1,73 @@ +// 物品表 +import { readFileAndParse, parseNumberList, } from '../util' +import { FILENAME, } from '../../consts' +const _ = require('lodash'); + +export interface DicArtifact { + // 宝物idt,其中形态1和goodId必须一致 + readonly artifactId: number; + // 宝物名 + readonly name: string; + // 物品表id,不同品质&品阶的同名宝物的物品id不同 + readonly goodId: number; + // 同名宝物,比如史记,可以直接写shiji,不过要当心多音词,注意唯一性 + readonly group: string; + // 形态 + readonly type: number; + // 是否是初始形态,用于服务器获取 + readonly isDefaultType: boolean; + // 品质,每个宝物id直接对应一种品质 + readonly quality: number; + // 品阶,每个宝物id直接对应一种品阶 + readonly qualityStage: number; + // 专属职业 + readonly jobClass: number; + // 专属武将 + readonly hid: number; + // 词条:seid&seid + readonly seids: number[]; + // 等级配置方案 + readonly lvAttrPlan: number; + // 升品配置方案 + readonly qualityAttrPlan: number; +} + +type KeysEnum = { [P in keyof Required]: true }; +const DicArtifactKeys: KeysEnum = { + artifactId: true, + name: true, + goodId: true, + group: true, + type: true, + isDefaultType: true, + quality: true, + qualityStage: true, + jobClass: true, + hid: true, + seids: true, + lvAttrPlan: true, + qualityAttrPlan: true, +} +export const dicArtifact = new Map(); +export const dicArtifactByGid = new Map(); +export const dicArtifactByGidAndType = new Map(); +export const dicArtifactsByGroup = new Map(); + +export function loadArtifact() { + dicArtifact.clear(); + dicArtifactByGid.clear(); + dicArtifactByGidAndType.clear(); + dicArtifactsByGroup.clear(); + + let arr = readFileAndParse(FILENAME.DIC_ARTIFACT); + + arr.forEach(o => { + o.seids = parseNumberList(o.seids); + if(o.isDefaultType) dicArtifactByGid.set(o.goodId, o.artifactId); + dicArtifactByGidAndType.set(`${o.goodId}_${o.type}`, o.artifactId); + dicArtifact.set(o.artifactId, _.pick(o, Object.keys(DicArtifactKeys))); + dicArtifactsByGroup.set(`${o.group}_${o.type}_${o.quality}_${o.qualityStage}`, o); + }); + + arr = undefined; +} diff --git a/shared/pubUtils/dictionary/DicArtifactLvPlan.ts b/shared/pubUtils/dictionary/DicArtifactLvPlan.ts new file mode 100644 index 000000000..3cd692e02 --- /dev/null +++ b/shared/pubUtils/dictionary/DicArtifactLvPlan.ts @@ -0,0 +1,54 @@ +// 物品表 +import { readFileAndParse, parseGoodStr, decodeArrayListStr, } from '../util' +import { FILENAME, } from '../../consts' +import { RewardInter } from '../interface'; +const _ = require('lodash'); + +export interface DicArtifactLvPlan { + // 方案id + planId: number; + // 等级 + lv: number; + // 升到这级需要消耗什么,id&count + consumes: RewardInter[]; + // 这级的属性 + attr: {id: number, attr: number}[]; +} + +type KeysEnum = { [P in keyof Required]: true }; +const DicArtifactLvPlanKeys: KeysEnum = { + planId: true, + lv: true, + consumes: true, + attr: true, +} +export const dicArtifactLvPlan = new Map>(); // planId => lv => dic + +export function loadArtifactLvPlan() { + dicArtifactLvPlan.clear(); + + let arr = readFileAndParse(FILENAME.DIC_ARTIFACT_LV_PLAN); + arr.forEach(o => { + o.consumes = parseGoodStr(o.consumes); + o.attr = parseAttr(o.attr); + if(!dicArtifactLvPlan.has(o.planId)) { + dicArtifactLvPlan.set(o.planId, new Map()); + } + dicArtifactLvPlan.get(o.planId)?.set(o.lv, _.pick(o, Object.keys(DicArtifactLvPlanKeys))); + }); + + arr = undefined; +} + +function parseAttr(str: string) { + let result = new Array<{id: number, attr: number}>(); + if(!str) return result; + let decodeArr = decodeArrayListStr(str); + for(let [id, attr] of decodeArr) { + if(isNaN(parseInt(id)) || isNaN(parseInt(attr))) { + throw new Error('data table format wrong'); + } + result.push({id: parseInt(id), attr: parseInt(attr)}); + } + return result +} \ No newline at end of file diff --git a/shared/pubUtils/dictionary/DicArtifactQuality.ts b/shared/pubUtils/dictionary/DicArtifactQuality.ts new file mode 100644 index 000000000..673321df5 --- /dev/null +++ b/shared/pubUtils/dictionary/DicArtifactQuality.ts @@ -0,0 +1,66 @@ +// 物品表 +import { readFileAndParse, parseGoodStr, } from '../util' +import { FILENAME, } from '../../consts' +import { RewardInter } from '../interface'; +const _ = require('lodash'); + +export interface DicArtifactQuality { + // 唯一id,品质+品阶=唯一 + uniqId: number; + // 品质,key1 + quality: number; + // 品阶,key2 + qualityStage: number; + // 这个品质下最大的等级 + maxLv: number; + // 合成相关 + // 可以合成到他这个品质的uniqId,即原料的品质+品阶 + previousId: number; + // 下一阶uniqId + nextId: number; + // 作为狗粮的宝物品质uniqId + materialId: number; + // 作为狗粮的宝物的数量 + materialCnt: number; + // 作为狗粮的是否需要同名 1-是 0-不是 + materialGroup: number; + // 是否可以分解 1-是 0-不是 + canDecompose: number; + // 是否可以一键合成 1-是 0-不是 + canComposeAll: number; + // 这个品质可以替换的通用道具,id&count。分解同样用这个字段,不可分解填& + generalItem: RewardInter[]; +} + +type KeysEnum = { [P in keyof Required]: true }; +const DicArtifactQualityKeys: KeysEnum = { + uniqId: true, + quality: true, + qualityStage: true, + maxLv: true, + previousId: true, + nextId: true, + materialId: true, + materialCnt: true, + materialGroup: true, + canDecompose: true, + canComposeAll: true, + generalItem: true, +} +export const dicArtifactQuality = new Map(); // quality+qualityStage +export const dicArtifactQualityById = new Map(); // uniqId + +export function loadArtifactQuality() { + dicArtifactQuality.clear(); + dicArtifactQualityById.clear(); + + let arr = readFileAndParse(FILENAME.DIC_ARTIFACT_QUALITY); + + arr.forEach(o => { + o.generalItem = parseGoodStr(o.generalItem); + dicArtifactQualityById.set(o.uniqId, _.pick(o, Object.keys(DicArtifactQualityKeys))); + dicArtifactQuality.set(`${o.quality}_${o.qualityStage}`, o.uniqId); + }); + + arr = undefined; +} \ No newline at end of file diff --git a/shared/pubUtils/dictionary/DicArtifactQualityPlan.ts b/shared/pubUtils/dictionary/DicArtifactQualityPlan.ts new file mode 100644 index 000000000..b68fdba9e --- /dev/null +++ b/shared/pubUtils/dictionary/DicArtifactQualityPlan.ts @@ -0,0 +1,44 @@ +// 物品表 +import { readFileAndParse, decodeArrayListStr, } from '../util' +import { FILENAME, } from '../../consts' +const _ = require('lodash'); + +export interface DicArtifactQualityPlan { + // 方案id + planId: number; + // 这级的属性 + attr: {id: number, attr: number}[]; +} + +type KeysEnum = { [P in keyof Required]: true }; +const DicArtifactQualityPlanKeys: KeysEnum = { + planId: true, + attr: true, +} +export const dicArtifactQualityPlan = new Map(); + +export function loadArtifactQualityPlan() { + dicArtifactQualityPlan.clear(); + + let arr = readFileAndParse(FILENAME.DIC_ARTIFACT_QUALITY_PLAN); + + arr.forEach(o => { + o.attr = parseAttr(o.attr); + dicArtifactQualityPlan.set(o.planId, _.pick(o, Object.keys(DicArtifactQualityPlanKeys))); + }); + + arr = undefined; +} + +function parseAttr(str: string) { + let result = new Array<{id: number, attr: number}>(); + if(!str) return result; + let decodeArr = decodeArrayListStr(str); + for(let [id, attr] of decodeArr) { + if(isNaN(parseInt(id)) || isNaN(parseInt(attr))) { + throw new Error('data table format wrong'); + } + result.push({id: parseInt(id), attr: parseInt(attr)}); + } + return result +} \ No newline at end of file diff --git a/shared/pubUtils/dictionary/DicArtifactSeid.ts b/shared/pubUtils/dictionary/DicArtifactSeid.ts new file mode 100644 index 000000000..70e91c8c8 --- /dev/null +++ b/shared/pubUtils/dictionary/DicArtifactSeid.ts @@ -0,0 +1,36 @@ +// 物品表 +import { readFileAndParse, } from '../util' +import { FILENAME, } from '../../consts' +const _ = require('lodash'); + +export interface DicArtifactQuality { + // 对应的se表的id + seid: number; + // 解锁的品质 + quality: number; + // 生效的职业,0表示全生效 + jobClass: number; + // 生效的武将 + hid: number; +} + +type KeysEnum = { [P in keyof Required]: true }; +const DicArtifactSeidKeys: KeysEnum = { + seid: true, + quality: true, + jobClass: true, + hid: true, +} +export const dicArtifactSeid = new Map(); // seid => dic + +export function loadArtifactSeid() { + dicArtifactSeid.clear(); + + let arr = readFileAndParse(FILENAME.DIC_ARTIFACT_SEID); + + arr.forEach(o => { + dicArtifactSeid.set(o.seid, _.pick(o, Object.keys(DicArtifactSeidKeys))); + }); + + arr = undefined; +} \ No newline at end of file diff --git a/shared/pubUtils/util.ts b/shared/pubUtils/util.ts index 8a79b586f..c95365858 100644 --- a/shared/pubUtils/util.ts +++ b/shared/pubUtils/util.ts @@ -745,6 +745,15 @@ export function addToMap(map: Map, id: T, value: number) { } } +export function arrToMap(arr: T[], getKey: (obj: T) => number): Map { + let map = new Map(); + for(let obj of arr) { + let key = getKey(obj); + map.set(key, obj); + } + return map; +} + // /** // * 计算最强阵容战力 // * @param role diff --git a/shared/resource/jsons/dic_email_content.json b/shared/resource/jsons/dic_email_content.json index 8e928ab86..400f4ad5a 100644 --- a/shared/resource/jsons/dic_email_content.json +++ b/shared/resource/jsons/dic_email_content.json @@ -236,5 +236,12 @@ "sendName": "您忠诚的小跟班", "content": "亲爱的主公,在诸位百家传人的火热购买下,糜氏集市折上加折!您购买的%d最终达成%d折,现退还您%d元宝,请查收", "time": 720 + }, + { + "id": 34, + "title": "&", + "sendName": "您忠诚的小跟班", + "content": "亲爱的主公,您的背包中宝物数量已满,请及时清理背包哦。溢出装备已通过邮件发放,请查收", + "time": 2160 } ] \ No newline at end of file diff --git a/shared/resource/jsons/dic_goods.json b/shared/resource/jsons/dic_goods.json index 3ff310d3a..845067d71 100644 --- a/shared/resource/jsons/dic_goods.json +++ b/shared/resource/jsons/dic_goods.json @@ -12582,5 +12582,4581 @@ "randomShow": 0, "seasonNum": 0, "info": "代金券,可购买特定的礼包" + }, + { + "good_id": 82000, + "name": "蓝品通用宝物", + "quality": 1, + "image_id": 1, + "itid": 65, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "蓝品宝物升品通用材料" + }, + { + "good_id": 82001, + "name": "紫品通用宝物", + "quality": 2, + "image_id": 1, + "itid": 65, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "紫品宝物升品通用材料" + }, + { + "good_id": 82002, + "name": "橙品通用宝物", + "quality": 3, + "image_id": 1, + "itid": 65, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "橙品宝物升品通用材料" + }, + { + "good_id": 82003, + "name": "红品通用宝物", + "quality": 4, + "image_id": 1, + "itid": 65, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "红品宝物升品通用材料" + }, + { + "good_id": 82101, + "name": "尚方剑", + "quality": 1, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82000&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82102, + "name": "尚方剑", + "quality": 2, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82001&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82103, + "name": "尚方剑", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82002&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82104, + "name": "尚方剑+1", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82105, + "name": "尚方剑+2", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82106, + "name": "尚方剑", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82003&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82107, + "name": "尚方剑+1", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82108, + "name": "尚方剑+2", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82109, + "name": "尚方剑+3", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82110, + "name": "尚方剑", + "quality": 5, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82121, + "name": "握奇经", + "quality": 1, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82000&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82122, + "name": "握奇经", + "quality": 2, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82001&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82123, + "name": "握奇经", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82002&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82124, + "name": "握奇经+1", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82125, + "name": "握奇经+2", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82126, + "name": "握奇经", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82003&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82127, + "name": "握奇经+1", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82128, + "name": "握奇经+2", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82129, + "name": "握奇经+3", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82130, + "name": "握奇经", + "quality": 5, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82201, + "name": "黄钺斧", + "quality": 1, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82000&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82202, + "name": "黄钺斧", + "quality": 2, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82001&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82203, + "name": "黄钺斧", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82002&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82204, + "name": "黄钺斧+1", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82205, + "name": "黄钺斧+2", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82206, + "name": "黄钺斧", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82003&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82207, + "name": "黄钺斧+1", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82208, + "name": "黄钺斧+2", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82209, + "name": "黄钺斧+3", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82210, + "name": "黄钺斧", + "quality": 5, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82221, + "name": "断魂枪", + "quality": 1, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82000&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82222, + "name": "断魂枪", + "quality": 2, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82001&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82223, + "name": "断魂枪", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82002&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82224, + "name": "断魂枪+1", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82225, + "name": "断魂枪+2", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82226, + "name": "断魂枪", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82003&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82227, + "name": "断魂枪+1", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82228, + "name": "断魂枪+2", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82229, + "name": "断魂枪+3", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82230, + "name": "断魂枪", + "quality": 5, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82301, + "name": "穿龙槊", + "quality": 1, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82000&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82302, + "name": "穿龙槊", + "quality": 2, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82001&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82303, + "name": "穿龙槊", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82002&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82304, + "name": "穿龙槊+1", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82305, + "name": "穿龙槊+2", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82306, + "name": "穿龙槊", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82003&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82307, + "name": "穿龙槊+1", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82308, + "name": "穿龙槊+2", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82309, + "name": "穿龙槊+3", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82310, + "name": "穿龙槊", + "quality": 5, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82321, + "name": "铁甲马", + "quality": 1, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82000&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82322, + "name": "铁甲马", + "quality": 2, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82001&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82323, + "name": "铁甲马", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82002&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82324, + "name": "铁甲马+1", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82325, + "name": "铁甲马+2", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82326, + "name": "铁甲马", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82003&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82327, + "name": "铁甲马+1", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82328, + "name": "铁甲马+2", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82329, + "name": "铁甲马+3", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82330, + "name": "铁甲马", + "quality": 5, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82401, + "name": "龙雀刀", + "quality": 1, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82000&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82402, + "name": "龙雀刀", + "quality": 2, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82001&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82403, + "name": "龙雀刀", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82002&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82404, + "name": "龙雀刀+1", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82405, + "name": "龙雀刀+2", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82406, + "name": "龙雀刀", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82003&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82407, + "name": "龙雀刀+1", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82408, + "name": "龙雀刀+2", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82409, + "name": "龙雀刀+3", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82410, + "name": "龙雀刀", + "quality": 5, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82421, + "name": "吞云盾", + "quality": 1, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82000&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82422, + "name": "吞云盾", + "quality": 2, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82001&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82423, + "name": "吞云盾", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82002&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82424, + "name": "吞云盾+1", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82425, + "name": "吞云盾+2", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82426, + "name": "吞云盾", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82003&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82427, + "name": "吞云盾+1", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82428, + "name": "吞云盾+2", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82429, + "name": "吞云盾+3", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82430, + "name": "吞云盾", + "quality": 5, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82501, + "name": "神臂弓", + "quality": 1, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82000&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82502, + "name": "神臂弓", + "quality": 2, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82001&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82503, + "name": "神臂弓", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82002&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82504, + "name": "神臂弓+1", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82505, + "name": "神臂弓+2", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82506, + "name": "神臂弓", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82003&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82507, + "name": "神臂弓+1", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82508, + "name": "神臂弓+2", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82509, + "name": "神臂弓+3", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82510, + "name": "神臂弓", + "quality": 5, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82521, + "name": "镇天箭", + "quality": 1, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82000&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82522, + "name": "镇天箭", + "quality": 2, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82001&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82523, + "name": "镇天箭", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82002&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82524, + "name": "镇天箭+1", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82525, + "name": "镇天箭+2", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82526, + "name": "镇天箭", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82003&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82527, + "name": "镇天箭+1", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82528, + "name": "镇天箭+2", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82529, + "name": "镇天箭+3", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82530, + "name": "镇天箭", + "quality": 5, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82601, + "name": "博浪锥", + "quality": 1, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82000&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82602, + "name": "博浪锥", + "quality": 2, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82001&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82603, + "name": "博浪锥", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82002&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82604, + "name": "博浪锥+1", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82605, + "name": "博浪锥+2", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82606, + "name": "博浪锥", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82003&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82607, + "name": "博浪锥+1", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82608, + "name": "博浪锥+2", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82609, + "name": "博浪锥+3", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82610, + "name": "博浪锥", + "quality": 5, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82621, + "name": "鱼肠剑", + "quality": 1, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82000&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82622, + "name": "鱼肠剑", + "quality": 2, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82001&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82623, + "name": "鱼肠剑", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82002&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82624, + "name": "鱼肠剑+1", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82625, + "name": "鱼肠剑+2", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82626, + "name": "鱼肠剑", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82003&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82627, + "name": "鱼肠剑+1", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82628, + "name": "鱼肠剑+2", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82629, + "name": "鱼肠剑+3", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82630, + "name": "鱼肠剑", + "quality": 5, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82701, + "name": "神木鼎", + "quality": 1, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82000&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82702, + "name": "神木鼎", + "quality": 2, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82001&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82703, + "name": "神木鼎", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82002&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82704, + "name": "神木鼎+1", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82705, + "name": "神木鼎+2", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82706, + "name": "神木鼎", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82003&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82707, + "name": "神木鼎+1", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82708, + "name": "神木鼎+2", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82709, + "name": "神木鼎+3", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82710, + "name": "神木鼎", + "quality": 5, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82721, + "name": "太平要术", + "quality": 1, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82000&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82722, + "name": "太平要术", + "quality": 2, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82001&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82723, + "name": "太平要术", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82002&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82724, + "name": "太平要术+1", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82725, + "name": "太平要术+2", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82726, + "name": "太平要术", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82003&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82727, + "name": "太平要术+1", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82728, + "name": "太平要术+2", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82729, + "name": "太平要术+3", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 82730, + "name": "太平要术", + "quality": 5, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83001, + "name": "兵法廿四篇", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82002&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83002, + "name": "兵法廿四篇+1", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83003, + "name": "兵法廿四篇+2", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83004, + "name": "兵法廿四篇", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82003&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83005, + "name": "兵法廿四篇+1", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83006, + "name": "兵法廿四篇+2", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83007, + "name": "兵法廿四篇+3", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83008, + "name": "兵法廿四篇", + "quality": 5, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83101, + "name": "杜康樽", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82002&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83102, + "name": "杜康樽+1", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83103, + "name": "杜康樽+2", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83104, + "name": "杜康樽", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82003&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83105, + "name": "杜康樽+1", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83106, + "name": "杜康樽+2", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83107, + "name": "杜康樽+3", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83108, + "name": "杜康樽", + "quality": 5, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83201, + "name": "凤尾琴", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82002&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83202, + "name": "凤尾琴+1", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83203, + "name": "凤尾琴+2", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83204, + "name": "凤尾琴", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82003&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83205, + "name": "凤尾琴+1", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83206, + "name": "凤尾琴+2", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83207, + "name": "凤尾琴+3", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83208, + "name": "凤尾琴", + "quality": 5, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83301, + "name": "涯角枪", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82002&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83302, + "name": "涯角枪+1", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83303, + "name": "涯角枪+2", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83304, + "name": "涯角枪", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82003&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83305, + "name": "涯角枪+1", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83306, + "name": "涯角枪+2", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83307, + "name": "涯角枪+3", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83308, + "name": "涯角枪", + "quality": 5, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83401, + "name": "方天戟", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82002&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83402, + "name": "方天戟+1", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83403, + "name": "方天戟+2", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83404, + "name": "方天戟", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82003&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83405, + "name": "方天戟+1", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83406, + "name": "方天戟+2", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83407, + "name": "方天戟+3", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83408, + "name": "方天戟", + "quality": 5, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83501, + "name": "恶来铁戟", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82002&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83502, + "name": "恶来铁戟+1", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83503, + "name": "恶来铁戟+2", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83504, + "name": "恶来铁戟", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82003&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83505, + "name": "恶来铁戟+1", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83506, + "name": "恶来铁戟+2", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83507, + "name": "恶来铁戟+3", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83508, + "name": "恶来铁戟", + "quality": 5, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83601, + "name": "青龙偃月刀", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82002&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83602, + "name": "青龙偃月刀+1", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83603, + "name": "青龙偃月刀+2", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83604, + "name": "青龙偃月刀", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82003&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83605, + "name": "青龙偃月刀+1", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83606, + "name": "青龙偃月刀+2", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83607, + "name": "青龙偃月刀+3", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83608, + "name": "青龙偃月刀", + "quality": 5, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83701, + "name": "霸王枪", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82002&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83702, + "name": "霸王枪+1", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83703, + "name": "霸王枪+2", + "quality": 3, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83704, + "name": "霸王枪", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "82003&1", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83705, + "name": "霸王枪+1", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83706, + "name": "霸王枪+2", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83707, + "name": "霸王枪+3", + "quality": 4, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" + }, + { + "good_id": 83708, + "name": "霸王枪", + "quality": 5, + "image_id": 1, + "itid": 64, + "goodType": 14, + "urType": 0, + "redPoint": 0, + "decomposeItem": "&", + "hid": 0, + "getWays": "82&33001", + "addGetWay": "&", + "useWays": "&", + "value": 0, + "condition": 0, + "timelimit": 0, + "gift": 0, + "randomShow": 0, + "seasonNum": 0, + "info": "醒智速来舔表" } ] \ No newline at end of file diff --git a/shared/resource/jsons/dic_zyz_artifact.json b/shared/resource/jsons/dic_zyz_artifact.json new file mode 100644 index 000000000..f9485661a --- /dev/null +++ b/shared/resource/jsons/dic_zyz_artifact.json @@ -0,0 +1,3878 @@ +[ + { + "artifactId": 101, + "nextArtifactId": 102, + "goodId": 82101, + "name": "龙雀刀", + "imageId": "diyulv_9", + "group": "longquedao", + "type": 1, + "isDefaultType": 1, + "quality": 1, + "qualityStage": 0, + "jobClass": 1, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 1, + "qualityAttrPlan": 101 + }, + { + "artifactId": 102, + "nextArtifactId": 103, + "goodId": 82102, + "name": "龙雀刀", + "imageId": "tianjinglv_1", + "group": "longquedao", + "type": 1, + "isDefaultType": 1, + "quality": 2, + "qualityStage": 0, + "jobClass": 1, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 1, + "qualityAttrPlan": 102 + }, + { + "artifactId": 103, + "nextArtifactId": 104, + "goodId": 82103, + "name": "龙雀刀", + "imageId": "tianjinglv_2", + "group": "longquedao", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 0, + "jobClass": 1, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 1, + "qualityAttrPlan": 103 + }, + { + "artifactId": 104, + "nextArtifactId": 105, + "goodId": 82104, + "name": "龙雀刀+1", + "imageId": "tianjinglv_3", + "group": "longquedao", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 1, + "jobClass": 1, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 1, + "qualityAttrPlan": 104 + }, + { + "artifactId": 105, + "nextArtifactId": 106, + "goodId": 82105, + "name": "龙雀刀+2", + "imageId": "tianjinglv_4", + "group": "longquedao", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 2, + "jobClass": 1, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 1, + "qualityAttrPlan": 105 + }, + { + "artifactId": 106, + "nextArtifactId": 107, + "goodId": 82106, + "name": "龙雀刀", + "imageId": "tianjinglv_5", + "group": "longquedao", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 0, + "jobClass": 1, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 1, + "qualityAttrPlan": 106 + }, + { + "artifactId": 107, + "nextArtifactId": 108, + "goodId": 82107, + "name": "龙雀刀+1", + "imageId": "tianjinglv_6", + "group": "longquedao", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 1, + "jobClass": 1, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 1, + "qualityAttrPlan": 107 + }, + { + "artifactId": 108, + "nextArtifactId": 109, + "goodId": 82108, + "name": "龙雀刀+2", + "imageId": "tianjinglv_7", + "group": "longquedao", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 2, + "jobClass": 1, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 1, + "qualityAttrPlan": 108 + }, + { + "artifactId": 109, + "nextArtifactId": 110, + "goodId": 82109, + "name": "龙雀刀+3", + "imageId": "tianjinglv_8", + "group": "longquedao", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 3, + "jobClass": 1, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 1, + "qualityAttrPlan": 109 + }, + { + "artifactId": 110, + "nextArtifactId": 0, + "goodId": 82110, + "name": "龙雀刀", + "imageId": "tianjinglv_9", + "group": "longquedao", + "type": 1, + "isDefaultType": 1, + "quality": 5, + "qualityStage": 0, + "jobClass": 1, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 1, + "qualityAttrPlan": 110 + }, + { + "artifactId": 121, + "nextArtifactId": 122, + "goodId": 82121, + "name": "吞云盾", + "imageId": "diyulv_9", + "group": "tunyundun", + "type": 1, + "isDefaultType": 1, + "quality": 1, + "qualityStage": 0, + "jobClass": 1, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 1, + "qualityAttrPlan": 101 + }, + { + "artifactId": 122, + "nextArtifactId": 123, + "goodId": 82122, + "name": "吞云盾", + "imageId": "tianjinglv_1", + "group": "tunyundun", + "type": 1, + "isDefaultType": 1, + "quality": 2, + "qualityStage": 0, + "jobClass": 1, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 1, + "qualityAttrPlan": 102 + }, + { + "artifactId": 123, + "nextArtifactId": 124, + "goodId": 82123, + "name": "吞云盾", + "imageId": "tianjinglv_2", + "group": "tunyundun", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 0, + "jobClass": 1, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 1, + "qualityAttrPlan": 103 + }, + { + "artifactId": 124, + "nextArtifactId": 125, + "goodId": 82124, + "name": "吞云盾+1", + "imageId": "tianjinglv_3", + "group": "tunyundun", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 1, + "jobClass": 1, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 1, + "qualityAttrPlan": 104 + }, + { + "artifactId": 125, + "nextArtifactId": 126, + "goodId": 82125, + "name": "吞云盾+2", + "imageId": "tianjinglv_4", + "group": "tunyundun", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 2, + "jobClass": 1, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 1, + "qualityAttrPlan": 105 + }, + { + "artifactId": 126, + "nextArtifactId": 127, + "goodId": 82126, + "name": "吞云盾", + "imageId": "tianjinglv_5", + "group": "tunyundun", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 0, + "jobClass": 1, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 1, + "qualityAttrPlan": 106 + }, + { + "artifactId": 127, + "nextArtifactId": 128, + "goodId": 82127, + "name": "吞云盾+1", + "imageId": "tianjinglv_6", + "group": "tunyundun", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 1, + "jobClass": 1, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 1, + "qualityAttrPlan": 107 + }, + { + "artifactId": 128, + "nextArtifactId": 129, + "goodId": 82128, + "name": "吞云盾+2", + "imageId": "tianjinglv_7", + "group": "tunyundun", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 2, + "jobClass": 1, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 1, + "qualityAttrPlan": 108 + }, + { + "artifactId": 129, + "nextArtifactId": 130, + "goodId": 82129, + "name": "吞云盾+3", + "imageId": "tianjinglv_8", + "group": "tunyundun", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 3, + "jobClass": 1, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 1, + "qualityAttrPlan": 109 + }, + { + "artifactId": 130, + "nextArtifactId": 0, + "goodId": 82130, + "name": "吞云盾", + "imageId": "tianjinglv_9", + "group": "tunyundun", + "type": 1, + "isDefaultType": 1, + "quality": 5, + "qualityStage": 0, + "jobClass": 1, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 1, + "qualityAttrPlan": 110 + }, + { + "artifactId": 201, + "nextArtifactId": 202, + "goodId": 82201, + "name": "黄钺斧", + "imageId": "diyulv_9", + "group": "huangyuefu", + "type": 1, + "isDefaultType": 1, + "quality": 1, + "qualityStage": 0, + "jobClass": 2, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 2, + "qualityAttrPlan": 201 + }, + { + "artifactId": 202, + "nextArtifactId": 203, + "goodId": 82202, + "name": "黄钺斧", + "imageId": "tianjinglv_1", + "group": "huangyuefu", + "type": 1, + "isDefaultType": 1, + "quality": 2, + "qualityStage": 0, + "jobClass": 2, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 2, + "qualityAttrPlan": 202 + }, + { + "artifactId": 203, + "nextArtifactId": 204, + "goodId": 82203, + "name": "黄钺斧", + "imageId": "tianjinglv_2", + "group": "huangyuefu", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 0, + "jobClass": 2, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 2, + "qualityAttrPlan": 203 + }, + { + "artifactId": 204, + "nextArtifactId": 205, + "goodId": 82204, + "name": "黄钺斧+1", + "imageId": "tianjinglv_3", + "group": "huangyuefu", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 1, + "jobClass": 2, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 2, + "qualityAttrPlan": 204 + }, + { + "artifactId": 205, + "nextArtifactId": 206, + "goodId": 82205, + "name": "黄钺斧+2", + "imageId": "tianjinglv_4", + "group": "huangyuefu", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 2, + "jobClass": 2, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 2, + "qualityAttrPlan": 205 + }, + { + "artifactId": 206, + "nextArtifactId": 207, + "goodId": 82206, + "name": "黄钺斧", + "imageId": "tianjinglv_5", + "group": "huangyuefu", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 0, + "jobClass": 2, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 2, + "qualityAttrPlan": 206 + }, + { + "artifactId": 207, + "nextArtifactId": 208, + "goodId": 82207, + "name": "黄钺斧+1", + "imageId": "tianjinglv_6", + "group": "huangyuefu", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 1, + "jobClass": 2, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 2, + "qualityAttrPlan": 207 + }, + { + "artifactId": 208, + "nextArtifactId": 209, + "goodId": 82208, + "name": "黄钺斧+2", + "imageId": "tianjinglv_7", + "group": "huangyuefu", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 2, + "jobClass": 2, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 2, + "qualityAttrPlan": 208 + }, + { + "artifactId": 209, + "nextArtifactId": 210, + "goodId": 82209, + "name": "黄钺斧+3", + "imageId": "tianjinglv_8", + "group": "huangyuefu", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 3, + "jobClass": 2, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 2, + "qualityAttrPlan": 209 + }, + { + "artifactId": 210, + "nextArtifactId": 0, + "goodId": 82210, + "name": "黄钺斧", + "imageId": "tianjinglv_9", + "group": "huangyuefu", + "type": 1, + "isDefaultType": 1, + "quality": 5, + "qualityStage": 0, + "jobClass": 2, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 2, + "qualityAttrPlan": 210 + }, + { + "artifactId": 221, + "nextArtifactId": 222, + "goodId": 82221, + "name": "断魂枪", + "imageId": "diyulv_9", + "group": "duanhunqiang", + "type": 1, + "isDefaultType": 1, + "quality": 1, + "qualityStage": 0, + "jobClass": 2, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 2, + "qualityAttrPlan": 201 + }, + { + "artifactId": 222, + "nextArtifactId": 223, + "goodId": 82222, + "name": "断魂枪", + "imageId": "tianjinglv_1", + "group": "duanhunqiang", + "type": 1, + "isDefaultType": 1, + "quality": 2, + "qualityStage": 0, + "jobClass": 2, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 2, + "qualityAttrPlan": 202 + }, + { + "artifactId": 223, + "nextArtifactId": 224, + "goodId": 82223, + "name": "断魂枪", + "imageId": "tianjinglv_2", + "group": "duanhunqiang", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 0, + "jobClass": 2, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 2, + "qualityAttrPlan": 203 + }, + { + "artifactId": 224, + "nextArtifactId": 225, + "goodId": 82224, + "name": "断魂枪+1", + "imageId": "tianjinglv_3", + "group": "duanhunqiang", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 1, + "jobClass": 2, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 2, + "qualityAttrPlan": 204 + }, + { + "artifactId": 225, + "nextArtifactId": 226, + "goodId": 82225, + "name": "断魂枪+2", + "imageId": "tianjinglv_4", + "group": "duanhunqiang", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 2, + "jobClass": 2, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 2, + "qualityAttrPlan": 205 + }, + { + "artifactId": 226, + "nextArtifactId": 227, + "goodId": 82226, + "name": "断魂枪", + "imageId": "tianjinglv_5", + "group": "duanhunqiang", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 0, + "jobClass": 2, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 2, + "qualityAttrPlan": 206 + }, + { + "artifactId": 227, + "nextArtifactId": 228, + "goodId": 82227, + "name": "断魂枪+1", + "imageId": "tianjinglv_6", + "group": "duanhunqiang", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 1, + "jobClass": 2, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 2, + "qualityAttrPlan": 207 + }, + { + "artifactId": 228, + "nextArtifactId": 229, + "goodId": 82228, + "name": "断魂枪+2", + "imageId": "tianjinglv_7", + "group": "duanhunqiang", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 2, + "jobClass": 2, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 2, + "qualityAttrPlan": 208 + }, + { + "artifactId": 229, + "nextArtifactId": 230, + "goodId": 82229, + "name": "断魂枪+3", + "imageId": "tianjinglv_8", + "group": "duanhunqiang", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 3, + "jobClass": 2, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 2, + "qualityAttrPlan": 209 + }, + { + "artifactId": 230, + "nextArtifactId": 0, + "goodId": 82230, + "name": "断魂枪", + "imageId": "tianjinglv_9", + "group": "duanhunqiang", + "type": 1, + "isDefaultType": 1, + "quality": 5, + "qualityStage": 0, + "jobClass": 2, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 2, + "qualityAttrPlan": 210 + }, + { + "artifactId": 301, + "nextArtifactId": 302, + "goodId": 82301, + "name": "穿龙槊", + "imageId": "diyulv_9", + "group": "chuanlongshuo", + "type": 1, + "isDefaultType": 1, + "quality": 1, + "qualityStage": 0, + "jobClass": 3, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 3, + "qualityAttrPlan": 301 + }, + { + "artifactId": 302, + "nextArtifactId": 303, + "goodId": 82302, + "name": "穿龙槊", + "imageId": "tianjinglv_1", + "group": "chuanlongshuo", + "type": 1, + "isDefaultType": 1, + "quality": 2, + "qualityStage": 0, + "jobClass": 3, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 3, + "qualityAttrPlan": 302 + }, + { + "artifactId": 303, + "nextArtifactId": 304, + "goodId": 82303, + "name": "穿龙槊", + "imageId": "tianjinglv_2", + "group": "chuanlongshuo", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 0, + "jobClass": 3, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 3, + "qualityAttrPlan": 303 + }, + { + "artifactId": 304, + "nextArtifactId": 305, + "goodId": 82304, + "name": "穿龙槊+1", + "imageId": "tianjinglv_3", + "group": "chuanlongshuo", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 1, + "jobClass": 3, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 3, + "qualityAttrPlan": 304 + }, + { + "artifactId": 305, + "nextArtifactId": 306, + "goodId": 82305, + "name": "穿龙槊+2", + "imageId": "tianjinglv_4", + "group": "chuanlongshuo", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 2, + "jobClass": 3, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 3, + "qualityAttrPlan": 305 + }, + { + "artifactId": 306, + "nextArtifactId": 307, + "goodId": 82306, + "name": "穿龙槊", + "imageId": "tianjinglv_5", + "group": "chuanlongshuo", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 0, + "jobClass": 3, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 3, + "qualityAttrPlan": 306 + }, + { + "artifactId": 307, + "nextArtifactId": 308, + "goodId": 82307, + "name": "穿龙槊+1", + "imageId": "tianjinglv_6", + "group": "chuanlongshuo", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 1, + "jobClass": 3, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 3, + "qualityAttrPlan": 307 + }, + { + "artifactId": 308, + "nextArtifactId": 309, + "goodId": 82308, + "name": "穿龙槊+2", + "imageId": "tianjinglv_7", + "group": "chuanlongshuo", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 2, + "jobClass": 3, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 3, + "qualityAttrPlan": 308 + }, + { + "artifactId": 309, + "nextArtifactId": 310, + "goodId": 82309, + "name": "穿龙槊+3", + "imageId": "tianjinglv_8", + "group": "chuanlongshuo", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 3, + "jobClass": 3, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 3, + "qualityAttrPlan": 309 + }, + { + "artifactId": 310, + "nextArtifactId": 0, + "goodId": 82310, + "name": "穿龙槊", + "imageId": "tianjinglv_9", + "group": "chuanlongshuo", + "type": 1, + "isDefaultType": 1, + "quality": 5, + "qualityStage": 0, + "jobClass": 3, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 3, + "qualityAttrPlan": 310 + }, + { + "artifactId": 321, + "nextArtifactId": 322, + "goodId": 82321, + "name": "铁甲马", + "imageId": "diyulv_9", + "group": "tiejiama", + "type": 1, + "isDefaultType": 1, + "quality": 1, + "qualityStage": 0, + "jobClass": 3, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 3, + "qualityAttrPlan": 301 + }, + { + "artifactId": 322, + "nextArtifactId": 323, + "goodId": 82322, + "name": "铁甲马", + "imageId": "tianjinglv_1", + "group": "tiejiama", + "type": 1, + "isDefaultType": 1, + "quality": 2, + "qualityStage": 0, + "jobClass": 3, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 3, + "qualityAttrPlan": 302 + }, + { + "artifactId": 323, + "nextArtifactId": 324, + "goodId": 82323, + "name": "铁甲马", + "imageId": "tianjinglv_2", + "group": "tiejiama", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 0, + "jobClass": 3, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 3, + "qualityAttrPlan": 303 + }, + { + "artifactId": 324, + "nextArtifactId": 325, + "goodId": 82324, + "name": "铁甲马+1", + "imageId": "tianjinglv_3", + "group": "tiejiama", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 1, + "jobClass": 3, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 3, + "qualityAttrPlan": 304 + }, + { + "artifactId": 325, + "nextArtifactId": 326, + "goodId": 82325, + "name": "铁甲马+2", + "imageId": "tianjinglv_4", + "group": "tiejiama", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 2, + "jobClass": 3, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 3, + "qualityAttrPlan": 305 + }, + { + "artifactId": 326, + "nextArtifactId": 327, + "goodId": 82326, + "name": "铁甲马", + "imageId": "tianjinglv_5", + "group": "tiejiama", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 0, + "jobClass": 3, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 3, + "qualityAttrPlan": 306 + }, + { + "artifactId": 327, + "nextArtifactId": 328, + "goodId": 82327, + "name": "铁甲马+1", + "imageId": "tianjinglv_6", + "group": "tiejiama", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 1, + "jobClass": 3, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 3, + "qualityAttrPlan": 307 + }, + { + "artifactId": 328, + "nextArtifactId": 329, + "goodId": 82328, + "name": "铁甲马+2", + "imageId": "tianjinglv_7", + "group": "tiejiama", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 2, + "jobClass": 3, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 3, + "qualityAttrPlan": 308 + }, + { + "artifactId": 329, + "nextArtifactId": 330, + "goodId": 82329, + "name": "铁甲马+3", + "imageId": "tianjinglv_8", + "group": "tiejiama", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 3, + "jobClass": 3, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 3, + "qualityAttrPlan": 309 + }, + { + "artifactId": 330, + "nextArtifactId": 0, + "goodId": 82330, + "name": "铁甲马", + "imageId": "tianjinglv_9", + "group": "tiejiama", + "type": 1, + "isDefaultType": 1, + "quality": 5, + "qualityStage": 0, + "jobClass": 3, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 3, + "qualityAttrPlan": 310 + }, + { + "artifactId": 401, + "nextArtifactId": 402, + "goodId": 82401, + "name": "神臂弓", + "imageId": "diyulv_9", + "group": "shenbigong", + "type": 1, + "isDefaultType": 1, + "quality": 1, + "qualityStage": 0, + "jobClass": 4, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 4, + "qualityAttrPlan": 401 + }, + { + "artifactId": 402, + "nextArtifactId": 403, + "goodId": 82402, + "name": "神臂弓", + "imageId": "tianjinglv_1", + "group": "shenbigong", + "type": 1, + "isDefaultType": 1, + "quality": 2, + "qualityStage": 0, + "jobClass": 4, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 4, + "qualityAttrPlan": 402 + }, + { + "artifactId": 403, + "nextArtifactId": 404, + "goodId": 82403, + "name": "神臂弓", + "imageId": "tianjinglv_2", + "group": "shenbigong", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 0, + "jobClass": 4, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 4, + "qualityAttrPlan": 403 + }, + { + "artifactId": 404, + "nextArtifactId": 405, + "goodId": 82404, + "name": "神臂弓+1", + "imageId": "tianjinglv_3", + "group": "shenbigong", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 1, + "jobClass": 4, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 4, + "qualityAttrPlan": 404 + }, + { + "artifactId": 405, + "nextArtifactId": 406, + "goodId": 82405, + "name": "神臂弓+2", + "imageId": "tianjinglv_4", + "group": "shenbigong", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 2, + "jobClass": 4, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 4, + "qualityAttrPlan": 405 + }, + { + "artifactId": 406, + "nextArtifactId": 407, + "goodId": 82406, + "name": "神臂弓", + "imageId": "tianjinglv_5", + "group": "shenbigong", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 0, + "jobClass": 4, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 4, + "qualityAttrPlan": 406 + }, + { + "artifactId": 407, + "nextArtifactId": 408, + "goodId": 82407, + "name": "神臂弓+1", + "imageId": "tianjinglv_6", + "group": "shenbigong", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 1, + "jobClass": 4, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 4, + "qualityAttrPlan": 407 + }, + { + "artifactId": 408, + "nextArtifactId": 409, + "goodId": 82408, + "name": "神臂弓+2", + "imageId": "tianjinglv_7", + "group": "shenbigong", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 2, + "jobClass": 4, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 4, + "qualityAttrPlan": 408 + }, + { + "artifactId": 409, + "nextArtifactId": 410, + "goodId": 82409, + "name": "神臂弓+3", + "imageId": "tianjinglv_8", + "group": "shenbigong", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 3, + "jobClass": 4, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 4, + "qualityAttrPlan": 409 + }, + { + "artifactId": 410, + "nextArtifactId": 0, + "goodId": 82410, + "name": "神臂弓", + "imageId": "tianjinglv_9", + "group": "shenbigong", + "type": 1, + "isDefaultType": 1, + "quality": 5, + "qualityStage": 0, + "jobClass": 4, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 4, + "qualityAttrPlan": 410 + }, + { + "artifactId": 421, + "nextArtifactId": 422, + "goodId": 82421, + "name": "镇天箭", + "imageId": "diyulv_9", + "group": "zhentianjian", + "type": 1, + "isDefaultType": 1, + "quality": 1, + "qualityStage": 0, + "jobClass": 4, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 4, + "qualityAttrPlan": 401 + }, + { + "artifactId": 422, + "nextArtifactId": 423, + "goodId": 82422, + "name": "镇天箭", + "imageId": "tianjinglv_1", + "group": "zhentianjian", + "type": 1, + "isDefaultType": 1, + "quality": 2, + "qualityStage": 0, + "jobClass": 4, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 4, + "qualityAttrPlan": 402 + }, + { + "artifactId": 423, + "nextArtifactId": 424, + "goodId": 82423, + "name": "镇天箭", + "imageId": "tianjinglv_2", + "group": "zhentianjian", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 0, + "jobClass": 4, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 4, + "qualityAttrPlan": 403 + }, + { + "artifactId": 424, + "nextArtifactId": 425, + "goodId": 82424, + "name": "镇天箭+1", + "imageId": "tianjinglv_3", + "group": "zhentianjian", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 1, + "jobClass": 4, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 4, + "qualityAttrPlan": 404 + }, + { + "artifactId": 425, + "nextArtifactId": 426, + "goodId": 82425, + "name": "镇天箭+2", + "imageId": "tianjinglv_4", + "group": "zhentianjian", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 2, + "jobClass": 4, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 4, + "qualityAttrPlan": 405 + }, + { + "artifactId": 426, + "nextArtifactId": 427, + "goodId": 82426, + "name": "镇天箭", + "imageId": "tianjinglv_5", + "group": "zhentianjian", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 0, + "jobClass": 4, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 4, + "qualityAttrPlan": 406 + }, + { + "artifactId": 427, + "nextArtifactId": 428, + "goodId": 82427, + "name": "镇天箭+1", + "imageId": "tianjinglv_6", + "group": "zhentianjian", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 1, + "jobClass": 4, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 4, + "qualityAttrPlan": 407 + }, + { + "artifactId": 428, + "nextArtifactId": 429, + "goodId": 82428, + "name": "镇天箭+2", + "imageId": "tianjinglv_7", + "group": "zhentianjian", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 2, + "jobClass": 4, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 4, + "qualityAttrPlan": 408 + }, + { + "artifactId": 429, + "nextArtifactId": 430, + "goodId": 82429, + "name": "镇天箭+3", + "imageId": "tianjinglv_8", + "group": "zhentianjian", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 3, + "jobClass": 4, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 4, + "qualityAttrPlan": 409 + }, + { + "artifactId": 430, + "nextArtifactId": 0, + "goodId": 82430, + "name": "镇天箭", + "imageId": "tianjinglv_9", + "group": "zhentianjian", + "type": 1, + "isDefaultType": 1, + "quality": 5, + "qualityStage": 0, + "jobClass": 4, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 4, + "qualityAttrPlan": 410 + }, + { + "artifactId": 501, + "nextArtifactId": 502, + "goodId": 82501, + "name": "博浪锥", + "imageId": "diyulv_9", + "group": "bolangzhui", + "type": 1, + "isDefaultType": 1, + "quality": 1, + "qualityStage": 0, + "jobClass": 5, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 5, + "qualityAttrPlan": 501 + }, + { + "artifactId": 502, + "nextArtifactId": 503, + "goodId": 82502, + "name": "博浪锥", + "imageId": "tianjinglv_1", + "group": "bolangzhui", + "type": 1, + "isDefaultType": 1, + "quality": 2, + "qualityStage": 0, + "jobClass": 5, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 5, + "qualityAttrPlan": 502 + }, + { + "artifactId": 503, + "nextArtifactId": 504, + "goodId": 82503, + "name": "博浪锥", + "imageId": "tianjinglv_2", + "group": "bolangzhui", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 0, + "jobClass": 5, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 5, + "qualityAttrPlan": 503 + }, + { + "artifactId": 504, + "nextArtifactId": 505, + "goodId": 82504, + "name": "博浪锥+1", + "imageId": "tianjinglv_3", + "group": "bolangzhui", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 1, + "jobClass": 5, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 5, + "qualityAttrPlan": 504 + }, + { + "artifactId": 505, + "nextArtifactId": 506, + "goodId": 82505, + "name": "博浪锥+2", + "imageId": "tianjinglv_4", + "group": "bolangzhui", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 2, + "jobClass": 5, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 5, + "qualityAttrPlan": 505 + }, + { + "artifactId": 506, + "nextArtifactId": 507, + "goodId": 82506, + "name": "博浪锥", + "imageId": "tianjinglv_5", + "group": "bolangzhui", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 0, + "jobClass": 5, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 5, + "qualityAttrPlan": 506 + }, + { + "artifactId": 507, + "nextArtifactId": 508, + "goodId": 82507, + "name": "博浪锥+1", + "imageId": "tianjinglv_6", + "group": "bolangzhui", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 1, + "jobClass": 5, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 5, + "qualityAttrPlan": 507 + }, + { + "artifactId": 508, + "nextArtifactId": 509, + "goodId": 82508, + "name": "博浪锥+2", + "imageId": "tianjinglv_7", + "group": "bolangzhui", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 2, + "jobClass": 5, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 5, + "qualityAttrPlan": 508 + }, + { + "artifactId": 509, + "nextArtifactId": 510, + "goodId": 82509, + "name": "博浪锥+3", + "imageId": "tianjinglv_8", + "group": "bolangzhui", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 3, + "jobClass": 5, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 5, + "qualityAttrPlan": 509 + }, + { + "artifactId": 510, + "nextArtifactId": 0, + "goodId": 82510, + "name": "博浪锥", + "imageId": "tianjinglv_9", + "group": "bolangzhui", + "type": 1, + "isDefaultType": 1, + "quality": 5, + "qualityStage": 0, + "jobClass": 5, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 5, + "qualityAttrPlan": 510 + }, + { + "artifactId": 521, + "nextArtifactId": 522, + "goodId": 82521, + "name": "鱼肠剑", + "imageId": "diyulv_9", + "group": "yuchangjian", + "type": 1, + "isDefaultType": 1, + "quality": 1, + "qualityStage": 0, + "jobClass": 5, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 5, + "qualityAttrPlan": 501 + }, + { + "artifactId": 522, + "nextArtifactId": 523, + "goodId": 82522, + "name": "鱼肠剑", + "imageId": "tianjinglv_1", + "group": "yuchangjian", + "type": 1, + "isDefaultType": 1, + "quality": 2, + "qualityStage": 0, + "jobClass": 5, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 5, + "qualityAttrPlan": 502 + }, + { + "artifactId": 523, + "nextArtifactId": 524, + "goodId": 82523, + "name": "鱼肠剑", + "imageId": "tianjinglv_2", + "group": "yuchangjian", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 0, + "jobClass": 5, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 5, + "qualityAttrPlan": 503 + }, + { + "artifactId": 524, + "nextArtifactId": 525, + "goodId": 82524, + "name": "鱼肠剑+1", + "imageId": "tianjinglv_3", + "group": "yuchangjian", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 1, + "jobClass": 5, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 5, + "qualityAttrPlan": 504 + }, + { + "artifactId": 525, + "nextArtifactId": 526, + "goodId": 82525, + "name": "鱼肠剑+2", + "imageId": "tianjinglv_4", + "group": "yuchangjian", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 2, + "jobClass": 5, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 5, + "qualityAttrPlan": 505 + }, + { + "artifactId": 526, + "nextArtifactId": 527, + "goodId": 82526, + "name": "鱼肠剑", + "imageId": "tianjinglv_5", + "group": "yuchangjian", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 0, + "jobClass": 5, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 5, + "qualityAttrPlan": 506 + }, + { + "artifactId": 527, + "nextArtifactId": 528, + "goodId": 82527, + "name": "鱼肠剑+1", + "imageId": "tianjinglv_6", + "group": "yuchangjian", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 1, + "jobClass": 5, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 5, + "qualityAttrPlan": 507 + }, + { + "artifactId": 528, + "nextArtifactId": 529, + "goodId": 82528, + "name": "鱼肠剑+2", + "imageId": "tianjinglv_7", + "group": "yuchangjian", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 2, + "jobClass": 5, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 5, + "qualityAttrPlan": 508 + }, + { + "artifactId": 529, + "nextArtifactId": 530, + "goodId": 82529, + "name": "鱼肠剑+3", + "imageId": "tianjinglv_8", + "group": "yuchangjian", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 3, + "jobClass": 5, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 5, + "qualityAttrPlan": 509 + }, + { + "artifactId": 530, + "nextArtifactId": 0, + "goodId": 82530, + "name": "鱼肠剑", + "imageId": "tianjinglv_9", + "group": "yuchangjian", + "type": 1, + "isDefaultType": 1, + "quality": 5, + "qualityStage": 0, + "jobClass": 5, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 5, + "qualityAttrPlan": 510 + }, + { + "artifactId": 601, + "nextArtifactId": 602, + "goodId": 82601, + "name": "尚方剑", + "imageId": "diyulv_9", + "group": "shangfangjian", + "type": 1, + "isDefaultType": 1, + "quality": 1, + "qualityStage": 0, + "jobClass": 6, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 6, + "qualityAttrPlan": 601 + }, + { + "artifactId": 602, + "nextArtifactId": 603, + "goodId": 82602, + "name": "尚方剑", + "imageId": "tianjinglv_1", + "group": "shangfangjian", + "type": 1, + "isDefaultType": 1, + "quality": 2, + "qualityStage": 0, + "jobClass": 6, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 6, + "qualityAttrPlan": 602 + }, + { + "artifactId": 603, + "nextArtifactId": 604, + "goodId": 82603, + "name": "尚方剑", + "imageId": "tianjinglv_2", + "group": "shangfangjian", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 0, + "jobClass": 6, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 6, + "qualityAttrPlan": 603 + }, + { + "artifactId": 604, + "nextArtifactId": 605, + "goodId": 82604, + "name": "尚方剑+1", + "imageId": "tianjinglv_3", + "group": "shangfangjian", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 1, + "jobClass": 6, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 6, + "qualityAttrPlan": 604 + }, + { + "artifactId": 605, + "nextArtifactId": 606, + "goodId": 82605, + "name": "尚方剑+2", + "imageId": "tianjinglv_4", + "group": "shangfangjian", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 2, + "jobClass": 6, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 6, + "qualityAttrPlan": 605 + }, + { + "artifactId": 606, + "nextArtifactId": 607, + "goodId": 82606, + "name": "尚方剑", + "imageId": "tianjinglv_5", + "group": "shangfangjian", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 0, + "jobClass": 6, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 6, + "qualityAttrPlan": 606 + }, + { + "artifactId": 607, + "nextArtifactId": 608, + "goodId": 82607, + "name": "尚方剑+1", + "imageId": "tianjinglv_6", + "group": "shangfangjian", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 1, + "jobClass": 6, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 6, + "qualityAttrPlan": 607 + }, + { + "artifactId": 608, + "nextArtifactId": 609, + "goodId": 82608, + "name": "尚方剑+2", + "imageId": "tianjinglv_7", + "group": "shangfangjian", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 2, + "jobClass": 6, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 6, + "qualityAttrPlan": 608 + }, + { + "artifactId": 609, + "nextArtifactId": 610, + "goodId": 82609, + "name": "尚方剑+3", + "imageId": "tianjinglv_8", + "group": "shangfangjian", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 3, + "jobClass": 6, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 6, + "qualityAttrPlan": 609 + }, + { + "artifactId": 610, + "nextArtifactId": 0, + "goodId": 82610, + "name": "尚方剑", + "imageId": "tianjinglv_9", + "group": "shangfangjian", + "type": 1, + "isDefaultType": 1, + "quality": 5, + "qualityStage": 0, + "jobClass": 6, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 6, + "qualityAttrPlan": 610 + }, + { + "artifactId": 621, + "nextArtifactId": 622, + "goodId": 82621, + "name": "握奇经", + "imageId": "diyulv_9", + "group": "woqijing", + "type": 1, + "isDefaultType": 1, + "quality": 1, + "qualityStage": 0, + "jobClass": 6, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 6, + "qualityAttrPlan": 601 + }, + { + "artifactId": 622, + "nextArtifactId": 623, + "goodId": 82622, + "name": "握奇经", + "imageId": "tianjinglv_1", + "group": "woqijing", + "type": 1, + "isDefaultType": 1, + "quality": 2, + "qualityStage": 0, + "jobClass": 6, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 6, + "qualityAttrPlan": 602 + }, + { + "artifactId": 623, + "nextArtifactId": 624, + "goodId": 82623, + "name": "握奇经", + "imageId": "tianjinglv_2", + "group": "woqijing", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 0, + "jobClass": 6, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 6, + "qualityAttrPlan": 603 + }, + { + "artifactId": 624, + "nextArtifactId": 625, + "goodId": 82624, + "name": "握奇经+1", + "imageId": "tianjinglv_3", + "group": "woqijing", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 1, + "jobClass": 6, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 6, + "qualityAttrPlan": 604 + }, + { + "artifactId": 625, + "nextArtifactId": 626, + "goodId": 82625, + "name": "握奇经+2", + "imageId": "tianjinglv_4", + "group": "woqijing", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 2, + "jobClass": 6, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 6, + "qualityAttrPlan": 605 + }, + { + "artifactId": 626, + "nextArtifactId": 627, + "goodId": 82626, + "name": "握奇经", + "imageId": "tianjinglv_5", + "group": "woqijing", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 0, + "jobClass": 6, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 6, + "qualityAttrPlan": 606 + }, + { + "artifactId": 627, + "nextArtifactId": 628, + "goodId": 82627, + "name": "握奇经+1", + "imageId": "tianjinglv_6", + "group": "woqijing", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 1, + "jobClass": 6, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 6, + "qualityAttrPlan": 607 + }, + { + "artifactId": 628, + "nextArtifactId": 629, + "goodId": 82628, + "name": "握奇经+2", + "imageId": "tianjinglv_7", + "group": "woqijing", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 2, + "jobClass": 6, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 6, + "qualityAttrPlan": 608 + }, + { + "artifactId": 629, + "nextArtifactId": 630, + "goodId": 82629, + "name": "握奇经+3", + "imageId": "tianjinglv_8", + "group": "woqijing", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 3, + "jobClass": 6, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 6, + "qualityAttrPlan": 609 + }, + { + "artifactId": 630, + "nextArtifactId": 0, + "goodId": 82630, + "name": "握奇经", + "imageId": "tianjinglv_9", + "group": "woqijing", + "type": 1, + "isDefaultType": 1, + "quality": 5, + "qualityStage": 0, + "jobClass": 6, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 6, + "qualityAttrPlan": 610 + }, + { + "artifactId": 701, + "nextArtifactId": 702, + "goodId": 82701, + "name": "神木鼎", + "imageId": "diyulv_9", + "group": "shenmuding", + "type": 1, + "isDefaultType": 1, + "quality": 1, + "qualityStage": 0, + "jobClass": 7, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 7, + "qualityAttrPlan": 701 + }, + { + "artifactId": 702, + "nextArtifactId": 703, + "goodId": 82702, + "name": "神木鼎", + "imageId": "tianjinglv_1", + "group": "shenmuding", + "type": 1, + "isDefaultType": 1, + "quality": 2, + "qualityStage": 0, + "jobClass": 7, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 7, + "qualityAttrPlan": 702 + }, + { + "artifactId": 703, + "nextArtifactId": 704, + "goodId": 82703, + "name": "神木鼎", + "imageId": "tianjinglv_2", + "group": "shenmuding", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 0, + "jobClass": 7, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 7, + "qualityAttrPlan": 703 + }, + { + "artifactId": 704, + "nextArtifactId": 705, + "goodId": 82704, + "name": "神木鼎+1", + "imageId": "tianjinglv_3", + "group": "shenmuding", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 1, + "jobClass": 7, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 7, + "qualityAttrPlan": 704 + }, + { + "artifactId": 705, + "nextArtifactId": 706, + "goodId": 82705, + "name": "神木鼎+2", + "imageId": "tianjinglv_4", + "group": "shenmuding", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 2, + "jobClass": 7, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 7, + "qualityAttrPlan": 705 + }, + { + "artifactId": 706, + "nextArtifactId": 707, + "goodId": 82706, + "name": "神木鼎", + "imageId": "tianjinglv_5", + "group": "shenmuding", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 0, + "jobClass": 7, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 7, + "qualityAttrPlan": 706 + }, + { + "artifactId": 707, + "nextArtifactId": 708, + "goodId": 82707, + "name": "神木鼎+1", + "imageId": "tianjinglv_6", + "group": "shenmuding", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 1, + "jobClass": 7, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 7, + "qualityAttrPlan": 707 + }, + { + "artifactId": 708, + "nextArtifactId": 709, + "goodId": 82708, + "name": "神木鼎+2", + "imageId": "tianjinglv_7", + "group": "shenmuding", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 2, + "jobClass": 7, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 7, + "qualityAttrPlan": 708 + }, + { + "artifactId": 709, + "nextArtifactId": 710, + "goodId": 82709, + "name": "神木鼎+3", + "imageId": "tianjinglv_8", + "group": "shenmuding", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 3, + "jobClass": 7, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 7, + "qualityAttrPlan": 709 + }, + { + "artifactId": 710, + "nextArtifactId": 0, + "goodId": 82710, + "name": "神木鼎", + "imageId": "tianjinglv_9", + "group": "shenmuding", + "type": 1, + "isDefaultType": 1, + "quality": 5, + "qualityStage": 0, + "jobClass": 7, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 7, + "qualityAttrPlan": 710 + }, + { + "artifactId": 721, + "nextArtifactId": 722, + "goodId": 82721, + "name": "太平要术", + "imageId": "diyulv_9", + "group": "taipingyaoshu", + "type": 1, + "isDefaultType": 1, + "quality": 1, + "qualityStage": 0, + "jobClass": 7, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 7, + "qualityAttrPlan": 701 + }, + { + "artifactId": 722, + "nextArtifactId": 723, + "goodId": 82722, + "name": "太平要术", + "imageId": "tianjinglv_1", + "group": "taipingyaoshu", + "type": 1, + "isDefaultType": 1, + "quality": 2, + "qualityStage": 0, + "jobClass": 7, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 7, + "qualityAttrPlan": 702 + }, + { + "artifactId": 723, + "nextArtifactId": 724, + "goodId": 82723, + "name": "太平要术", + "imageId": "tianjinglv_2", + "group": "taipingyaoshu", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 0, + "jobClass": 7, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 7, + "qualityAttrPlan": 703 + }, + { + "artifactId": 724, + "nextArtifactId": 725, + "goodId": 82724, + "name": "太平要术+1", + "imageId": "tianjinglv_3", + "group": "taipingyaoshu", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 1, + "jobClass": 7, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 7, + "qualityAttrPlan": 704 + }, + { + "artifactId": 725, + "nextArtifactId": 726, + "goodId": 82725, + "name": "太平要术+2", + "imageId": "tianjinglv_4", + "group": "taipingyaoshu", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 2, + "jobClass": 7, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 7, + "qualityAttrPlan": 705 + }, + { + "artifactId": 726, + "nextArtifactId": 727, + "goodId": 82726, + "name": "太平要术", + "imageId": "tianjinglv_5", + "group": "taipingyaoshu", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 0, + "jobClass": 7, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 7, + "qualityAttrPlan": 706 + }, + { + "artifactId": 727, + "nextArtifactId": 728, + "goodId": 82727, + "name": "太平要术+1", + "imageId": "tianjinglv_6", + "group": "taipingyaoshu", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 1, + "jobClass": 7, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 7, + "qualityAttrPlan": 707 + }, + { + "artifactId": 728, + "nextArtifactId": 729, + "goodId": 82728, + "name": "太平要术+2", + "imageId": "tianjinglv_7", + "group": "taipingyaoshu", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 2, + "jobClass": 7, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 7, + "qualityAttrPlan": 708 + }, + { + "artifactId": 729, + "nextArtifactId": 730, + "goodId": 82729, + "name": "太平要术+3", + "imageId": "tianjinglv_8", + "group": "taipingyaoshu", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 3, + "jobClass": 7, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 7, + "qualityAttrPlan": 709 + }, + { + "artifactId": 730, + "nextArtifactId": 0, + "goodId": 82730, + "name": "太平要术", + "imageId": "tianjinglv_9", + "group": "taipingyaoshu", + "type": 1, + "isDefaultType": 1, + "quality": 5, + "qualityStage": 0, + "jobClass": 7, + "hid": 0, + "seids": "6201411&1000001051&6201511&1000002051", + "lvAttrPlan": 7, + "qualityAttrPlan": 710 + }, + { + "artifactId": 1001, + "nextArtifactId": 1002, + "goodId": 83001, + "name": "兵法廿四篇·略", + "imageId": "tianjinglv_2", + "group": "bingfaniansipianlve", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 0, + "jobClass": 0, + "hid": 22, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 6, + "qualityAttrPlan": 1601 + }, + { + "artifactId": 1002, + "nextArtifactId": 1003, + "goodId": 83002, + "name": "兵法廿四篇·略+1", + "imageId": "tianjinglv_3", + "group": "bingfaniansipianlve", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 1, + "jobClass": 0, + "hid": 22, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 6, + "qualityAttrPlan": 1602 + }, + { + "artifactId": 1003, + "nextArtifactId": 1004, + "goodId": 83003, + "name": "兵法廿四篇·略+2", + "imageId": "tianjinglv_4", + "group": "bingfaniansipianlve", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 2, + "jobClass": 0, + "hid": 22, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 6, + "qualityAttrPlan": 1603 + }, + { + "artifactId": 1004, + "nextArtifactId": 1005, + "goodId": 83004, + "name": "兵法廿四篇·略", + "imageId": "tianjinglv_5", + "group": "bingfaniansipianlve", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 0, + "jobClass": 0, + "hid": 22, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 6, + "qualityAttrPlan": 1604 + }, + { + "artifactId": 1005, + "nextArtifactId": 1006, + "goodId": 83005, + "name": "兵法廿四篇·略+1", + "imageId": "tianjinglv_6", + "group": "bingfaniansipianlve", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 1, + "jobClass": 0, + "hid": 22, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 6, + "qualityAttrPlan": 1605 + }, + { + "artifactId": 1006, + "nextArtifactId": 1007, + "goodId": 83006, + "name": "兵法廿四篇·略+2", + "imageId": "tianjinglv_7", + "group": "bingfaniansipianlve", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 2, + "jobClass": 0, + "hid": 22, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 6, + "qualityAttrPlan": 1606 + }, + { + "artifactId": 1007, + "nextArtifactId": 1008, + "goodId": 83007, + "name": "兵法廿四篇·略+3", + "imageId": "tianjinglv_8", + "group": "bingfaniansipianlve", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 3, + "jobClass": 0, + "hid": 22, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 6, + "qualityAttrPlan": 1607 + }, + { + "artifactId": 1008, + "nextArtifactId": 0, + "goodId": 83008, + "name": "兵法廿四篇·略", + "imageId": "tianjinglv_9", + "group": "bingfaniansipianlve", + "type": 1, + "isDefaultType": 1, + "quality": 5, + "qualityStage": 0, + "jobClass": 0, + "hid": 22, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 6, + "qualityAttrPlan": 1608 + }, + { + "artifactId": 1101, + "nextArtifactId": 1102, + "goodId": 83001, + "name": "兵法廿四篇·械", + "imageId": "tianjinglv_2", + "group": "bingfaniansipianxie", + "type": 2, + "isDefaultType": 0, + "quality": 3, + "qualityStage": 0, + "jobClass": 0, + "hid": 41122, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 4, + "qualityAttrPlan": 1401 + }, + { + "artifactId": 1102, + "nextArtifactId": 1103, + "goodId": 83002, + "name": "兵法廿四篇·械+1", + "imageId": "tianjinglv_3", + "group": "bingfaniansipianxie", + "type": 2, + "isDefaultType": 0, + "quality": 3, + "qualityStage": 1, + "jobClass": 0, + "hid": 41122, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 4, + "qualityAttrPlan": 1402 + }, + { + "artifactId": 1103, + "nextArtifactId": 1104, + "goodId": 83003, + "name": "兵法廿四篇·械+2", + "imageId": "tianjinglv_4", + "group": "bingfaniansipianxie", + "type": 2, + "isDefaultType": 0, + "quality": 3, + "qualityStage": 2, + "jobClass": 0, + "hid": 41122, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 4, + "qualityAttrPlan": 1403 + }, + { + "artifactId": 1104, + "nextArtifactId": 1105, + "goodId": 83004, + "name": "兵法廿四篇·械", + "imageId": "tianjinglv_5", + "group": "bingfaniansipianxie", + "type": 2, + "isDefaultType": 0, + "quality": 4, + "qualityStage": 0, + "jobClass": 0, + "hid": 41122, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 4, + "qualityAttrPlan": 1404 + }, + { + "artifactId": 1105, + "nextArtifactId": 1106, + "goodId": 83005, + "name": "兵法廿四篇·械+1", + "imageId": "tianjinglv_6", + "group": "bingfaniansipianxie", + "type": 2, + "isDefaultType": 0, + "quality": 4, + "qualityStage": 1, + "jobClass": 0, + "hid": 41122, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 4, + "qualityAttrPlan": 1405 + }, + { + "artifactId": 1106, + "nextArtifactId": 1107, + "goodId": 83006, + "name": "兵法廿四篇·械+2", + "imageId": "tianjinglv_7", + "group": "bingfaniansipianxie", + "type": 2, + "isDefaultType": 0, + "quality": 4, + "qualityStage": 2, + "jobClass": 0, + "hid": 41122, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 4, + "qualityAttrPlan": 1406 + }, + { + "artifactId": 1107, + "nextArtifactId": 1108, + "goodId": 83007, + "name": "兵法廿四篇·械+3", + "imageId": "tianjinglv_8", + "group": "bingfaniansipianxie", + "type": 2, + "isDefaultType": 0, + "quality": 4, + "qualityStage": 3, + "jobClass": 0, + "hid": 41122, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 4, + "qualityAttrPlan": 1407 + }, + { + "artifactId": 1108, + "nextArtifactId": 0, + "goodId": 83008, + "name": "兵法廿四篇·械", + "imageId": "tianjinglv_9", + "group": "bingfaniansipianxie", + "type": 2, + "isDefaultType": 0, + "quality": 5, + "qualityStage": 0, + "jobClass": 0, + "hid": 41122, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 4, + "qualityAttrPlan": 1408 + }, + { + "artifactId": 1201, + "nextArtifactId": 1202, + "goodId": 83101, + "name": "杜康樽", + "imageId": "tianjinglv_2", + "group": "dukangzun", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 0, + "jobClass": 0, + "hid": 5, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 6, + "qualityAttrPlan": 1601 + }, + { + "artifactId": 1202, + "nextArtifactId": 1203, + "goodId": 83102, + "name": "杜康樽+1", + "imageId": "tianjinglv_3", + "group": "dukangzun", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 1, + "jobClass": 0, + "hid": 5, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 6, + "qualityAttrPlan": 1602 + }, + { + "artifactId": 1203, + "nextArtifactId": 1204, + "goodId": 83103, + "name": "杜康樽+2", + "imageId": "tianjinglv_4", + "group": "dukangzun", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 2, + "jobClass": 0, + "hid": 5, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 6, + "qualityAttrPlan": 1603 + }, + { + "artifactId": 1204, + "nextArtifactId": 1205, + "goodId": 83104, + "name": "杜康樽", + "imageId": "tianjinglv_5", + "group": "dukangzun", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 0, + "jobClass": 0, + "hid": 5, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 6, + "qualityAttrPlan": 1604 + }, + { + "artifactId": 1205, + "nextArtifactId": 1206, + "goodId": 83105, + "name": "杜康樽+1", + "imageId": "tianjinglv_6", + "group": "dukangzun", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 1, + "jobClass": 0, + "hid": 5, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 6, + "qualityAttrPlan": 1605 + }, + { + "artifactId": 1206, + "nextArtifactId": 1207, + "goodId": 83106, + "name": "杜康樽+2", + "imageId": "tianjinglv_7", + "group": "dukangzun", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 2, + "jobClass": 0, + "hid": 5, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 6, + "qualityAttrPlan": 1606 + }, + { + "artifactId": 1207, + "nextArtifactId": 1208, + "goodId": 83107, + "name": "杜康樽+3", + "imageId": "tianjinglv_8", + "group": "dukangzun", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 3, + "jobClass": 0, + "hid": 5, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 6, + "qualityAttrPlan": 1607 + }, + { + "artifactId": 1208, + "nextArtifactId": 0, + "goodId": 83108, + "name": "杜康樽", + "imageId": "tianjinglv_9", + "group": "dukangzun", + "type": 1, + "isDefaultType": 1, + "quality": 5, + "qualityStage": 0, + "jobClass": 0, + "hid": 5, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 6, + "qualityAttrPlan": 1608 + }, + { + "artifactId": 1301, + "nextArtifactId": 1302, + "goodId": 83201, + "name": "凤尾琴", + "imageId": "tianjinglv_2", + "group": "fengweiqin", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 0, + "jobClass": 0, + "hid": 34, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 6, + "qualityAttrPlan": 1601 + }, + { + "artifactId": 1302, + "nextArtifactId": 1303, + "goodId": 83202, + "name": "凤尾琴+1", + "imageId": "tianjinglv_3", + "group": "fengweiqin", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 1, + "jobClass": 0, + "hid": 34, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 6, + "qualityAttrPlan": 1602 + }, + { + "artifactId": 1303, + "nextArtifactId": 1304, + "goodId": 83203, + "name": "凤尾琴+2", + "imageId": "tianjinglv_4", + "group": "fengweiqin", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 2, + "jobClass": 0, + "hid": 34, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 6, + "qualityAttrPlan": 1603 + }, + { + "artifactId": 1304, + "nextArtifactId": 1305, + "goodId": 83204, + "name": "凤尾琴", + "imageId": "tianjinglv_5", + "group": "fengweiqin", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 0, + "jobClass": 0, + "hid": 34, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 6, + "qualityAttrPlan": 1604 + }, + { + "artifactId": 1305, + "nextArtifactId": 1306, + "goodId": 83205, + "name": "凤尾琴+1", + "imageId": "tianjinglv_6", + "group": "fengweiqin", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 1, + "jobClass": 0, + "hid": 34, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 6, + "qualityAttrPlan": 1605 + }, + { + "artifactId": 1306, + "nextArtifactId": 1307, + "goodId": 83206, + "name": "凤尾琴+2", + "imageId": "tianjinglv_7", + "group": "fengweiqin", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 2, + "jobClass": 0, + "hid": 34, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 6, + "qualityAttrPlan": 1606 + }, + { + "artifactId": 1307, + "nextArtifactId": 1308, + "goodId": 83207, + "name": "凤尾琴+3", + "imageId": "tianjinglv_8", + "group": "fengweiqin", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 3, + "jobClass": 0, + "hid": 34, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 6, + "qualityAttrPlan": 1607 + }, + { + "artifactId": 1308, + "nextArtifactId": 0, + "goodId": 83208, + "name": "凤尾琴", + "imageId": "tianjinglv_9", + "group": "fengweiqin", + "type": 1, + "isDefaultType": 1, + "quality": 5, + "qualityStage": 0, + "jobClass": 0, + "hid": 34, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 6, + "qualityAttrPlan": 1608 + }, + { + "artifactId": 1401, + "nextArtifactId": 1402, + "goodId": 83301, + "name": "涯角枪·盘龙", + "imageId": "tianjinglv_2", + "group": "yajiaoqiangpanlong", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 0, + "jobClass": 0, + "hid": 19, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 2, + "qualityAttrPlan": 1201 + }, + { + "artifactId": 1402, + "nextArtifactId": 1403, + "goodId": 83302, + "name": "涯角枪·盘龙+1", + "imageId": "tianjinglv_3", + "group": "yajiaoqiangpanlong", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 1, + "jobClass": 0, + "hid": 19, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 2, + "qualityAttrPlan": 1202 + }, + { + "artifactId": 1403, + "nextArtifactId": 1404, + "goodId": 83303, + "name": "涯角枪·盘龙+2", + "imageId": "tianjinglv_4", + "group": "yajiaoqiangpanlong", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 2, + "jobClass": 0, + "hid": 19, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 2, + "qualityAttrPlan": 1203 + }, + { + "artifactId": 1404, + "nextArtifactId": 1405, + "goodId": 83304, + "name": "涯角枪·盘龙", + "imageId": "tianjinglv_5", + "group": "yajiaoqiangpanlong", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 0, + "jobClass": 0, + "hid": 19, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 2, + "qualityAttrPlan": 1204 + }, + { + "artifactId": 1405, + "nextArtifactId": 1406, + "goodId": 83305, + "name": "涯角枪·盘龙+1", + "imageId": "tianjinglv_6", + "group": "yajiaoqiangpanlong", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 1, + "jobClass": 0, + "hid": 19, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 2, + "qualityAttrPlan": 1205 + }, + { + "artifactId": 1406, + "nextArtifactId": 1407, + "goodId": 83306, + "name": "涯角枪·盘龙+2", + "imageId": "tianjinglv_7", + "group": "yajiaoqiangpanlong", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 2, + "jobClass": 0, + "hid": 19, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 2, + "qualityAttrPlan": 1206 + }, + { + "artifactId": 1407, + "nextArtifactId": 1408, + "goodId": 83307, + "name": "涯角枪·盘龙+3", + "imageId": "tianjinglv_8", + "group": "yajiaoqiangpanlong", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 3, + "jobClass": 0, + "hid": 19, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 2, + "qualityAttrPlan": 1207 + }, + { + "artifactId": 1408, + "nextArtifactId": 0, + "goodId": 83308, + "name": "涯角枪·盘龙", + "imageId": "tianjinglv_9", + "group": "yajiaoqiangpanlong", + "type": 1, + "isDefaultType": 1, + "quality": 5, + "qualityStage": 0, + "jobClass": 0, + "hid": 19, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 2, + "qualityAttrPlan": 1208 + }, + { + "artifactId": 1501, + "nextArtifactId": 1502, + "goodId": 83301, + "name": "涯角枪·无对", + "imageId": "tianjinglv_2", + "group": "yajiaoqiangwudui", + "type": 2, + "isDefaultType": 0, + "quality": 3, + "qualityStage": 0, + "jobClass": 0, + "hid": 41119, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 3, + "qualityAttrPlan": 1301 + }, + { + "artifactId": 1502, + "nextArtifactId": 1503, + "goodId": 83302, + "name": "涯角枪·无对+1", + "imageId": "tianjinglv_3", + "group": "yajiaoqiangwudui", + "type": 2, + "isDefaultType": 0, + "quality": 3, + "qualityStage": 1, + "jobClass": 0, + "hid": 41119, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 3, + "qualityAttrPlan": 1302 + }, + { + "artifactId": 1503, + "nextArtifactId": 1504, + "goodId": 83303, + "name": "涯角枪·无对+2", + "imageId": "tianjinglv_4", + "group": "yajiaoqiangwudui", + "type": 2, + "isDefaultType": 0, + "quality": 3, + "qualityStage": 2, + "jobClass": 0, + "hid": 41119, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 3, + "qualityAttrPlan": 1303 + }, + { + "artifactId": 1504, + "nextArtifactId": 1505, + "goodId": 83304, + "name": "涯角枪·无对", + "imageId": "tianjinglv_5", + "group": "yajiaoqiangwudui", + "type": 2, + "isDefaultType": 0, + "quality": 4, + "qualityStage": 0, + "jobClass": 0, + "hid": 41119, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 3, + "qualityAttrPlan": 1304 + }, + { + "artifactId": 1505, + "nextArtifactId": 1506, + "goodId": 83305, + "name": "涯角枪·无对+1", + "imageId": "tianjinglv_6", + "group": "yajiaoqiangwudui", + "type": 2, + "isDefaultType": 0, + "quality": 4, + "qualityStage": 1, + "jobClass": 0, + "hid": 41119, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 3, + "qualityAttrPlan": 1305 + }, + { + "artifactId": 1506, + "nextArtifactId": 1507, + "goodId": 83306, + "name": "涯角枪·无对+2", + "imageId": "tianjinglv_7", + "group": "yajiaoqiangwudui", + "type": 2, + "isDefaultType": 0, + "quality": 4, + "qualityStage": 2, + "jobClass": 0, + "hid": 41119, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 3, + "qualityAttrPlan": 1306 + }, + { + "artifactId": 1507, + "nextArtifactId": 1508, + "goodId": 83307, + "name": "涯角枪·无对+3", + "imageId": "tianjinglv_8", + "group": "yajiaoqiangwudui", + "type": 2, + "isDefaultType": 0, + "quality": 4, + "qualityStage": 3, + "jobClass": 0, + "hid": 41119, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 3, + "qualityAttrPlan": 1307 + }, + { + "artifactId": 1508, + "nextArtifactId": 0, + "goodId": 83308, + "name": "涯角枪·无对", + "imageId": "tianjinglv_9", + "group": "yajiaoqiangwudui", + "type": 2, + "isDefaultType": 0, + "quality": 5, + "qualityStage": 0, + "jobClass": 0, + "hid": 41119, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 3, + "qualityAttrPlan": 1308 + }, + { + "artifactId": 1601, + "nextArtifactId": 1602, + "goodId": 83401, + "name": "方天戟·豪灭", + "imageId": "tianjinglv_2", + "group": "fangtianjihaomie", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 0, + "jobClass": 0, + "hid": 44, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 2, + "qualityAttrPlan": 1201 + }, + { + "artifactId": 1602, + "nextArtifactId": 1603, + "goodId": 83402, + "name": "方天戟·豪灭+1", + "imageId": "tianjinglv_3", + "group": "fangtianjihaomie", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 1, + "jobClass": 0, + "hid": 44, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 2, + "qualityAttrPlan": 1202 + }, + { + "artifactId": 1603, + "nextArtifactId": 1604, + "goodId": 83403, + "name": "方天戟·豪灭+2", + "imageId": "tianjinglv_4", + "group": "fangtianjihaomie", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 2, + "jobClass": 0, + "hid": 44, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 2, + "qualityAttrPlan": 1203 + }, + { + "artifactId": 1604, + "nextArtifactId": 1605, + "goodId": 83404, + "name": "方天戟·豪灭", + "imageId": "tianjinglv_5", + "group": "fangtianjihaomie", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 0, + "jobClass": 0, + "hid": 44, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 2, + "qualityAttrPlan": 1204 + }, + { + "artifactId": 1605, + "nextArtifactId": 1606, + "goodId": 83405, + "name": "方天戟·豪灭+1", + "imageId": "tianjinglv_6", + "group": "fangtianjihaomie", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 1, + "jobClass": 0, + "hid": 44, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 2, + "qualityAttrPlan": 1205 + }, + { + "artifactId": 1606, + "nextArtifactId": 1607, + "goodId": 83406, + "name": "方天戟·豪灭+2", + "imageId": "tianjinglv_7", + "group": "fangtianjihaomie", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 2, + "jobClass": 0, + "hid": 44, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 2, + "qualityAttrPlan": 1206 + }, + { + "artifactId": 1607, + "nextArtifactId": 1608, + "goodId": 83407, + "name": "方天戟·豪灭+3", + "imageId": "tianjinglv_8", + "group": "fangtianjihaomie", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 3, + "jobClass": 0, + "hid": 44, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 2, + "qualityAttrPlan": 1207 + }, + { + "artifactId": 1608, + "nextArtifactId": 0, + "goodId": 83408, + "name": "方天戟·豪灭", + "imageId": "tianjinglv_9", + "group": "fangtianjihaomie", + "type": 1, + "isDefaultType": 1, + "quality": 5, + "qualityStage": 0, + "jobClass": 0, + "hid": 44, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 2, + "qualityAttrPlan": 1208 + }, + { + "artifactId": 1701, + "nextArtifactId": 1702, + "goodId": 83401, + "name": "方天戟·神诛", + "imageId": "tianjinglv_2", + "group": "fangtianjishenzhu", + "type": 2, + "isDefaultType": 0, + "quality": 3, + "qualityStage": 0, + "jobClass": 0, + "hid": 41144, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 3, + "qualityAttrPlan": 1301 + }, + { + "artifactId": 1702, + "nextArtifactId": 1703, + "goodId": 83402, + "name": "方天戟·神诛+1", + "imageId": "tianjinglv_3", + "group": "fangtianjishenzhu", + "type": 2, + "isDefaultType": 0, + "quality": 3, + "qualityStage": 1, + "jobClass": 0, + "hid": 41144, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 3, + "qualityAttrPlan": 1302 + }, + { + "artifactId": 1703, + "nextArtifactId": 1704, + "goodId": 83403, + "name": "方天戟·神诛+2", + "imageId": "tianjinglv_4", + "group": "fangtianjishenzhu", + "type": 2, + "isDefaultType": 0, + "quality": 3, + "qualityStage": 2, + "jobClass": 0, + "hid": 41144, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 3, + "qualityAttrPlan": 1303 + }, + { + "artifactId": 1704, + "nextArtifactId": 1705, + "goodId": 83404, + "name": "方天戟·神诛", + "imageId": "tianjinglv_5", + "group": "fangtianjishenzhu", + "type": 2, + "isDefaultType": 0, + "quality": 4, + "qualityStage": 0, + "jobClass": 0, + "hid": 41144, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 3, + "qualityAttrPlan": 1304 + }, + { + "artifactId": 1705, + "nextArtifactId": 1706, + "goodId": 83405, + "name": "方天戟·神诛+1", + "imageId": "tianjinglv_6", + "group": "fangtianjishenzhu", + "type": 2, + "isDefaultType": 0, + "quality": 4, + "qualityStage": 1, + "jobClass": 0, + "hid": 41144, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 3, + "qualityAttrPlan": 1305 + }, + { + "artifactId": 1706, + "nextArtifactId": 1707, + "goodId": 83406, + "name": "方天戟·神诛+2", + "imageId": "tianjinglv_7", + "group": "fangtianjishenzhu", + "type": 2, + "isDefaultType": 0, + "quality": 4, + "qualityStage": 2, + "jobClass": 0, + "hid": 41144, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 3, + "qualityAttrPlan": 1306 + }, + { + "artifactId": 1707, + "nextArtifactId": 1708, + "goodId": 83407, + "name": "方天戟·神诛+3", + "imageId": "tianjinglv_8", + "group": "fangtianjishenzhu", + "type": 2, + "isDefaultType": 0, + "quality": 4, + "qualityStage": 3, + "jobClass": 0, + "hid": 41144, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 3, + "qualityAttrPlan": 1307 + }, + { + "artifactId": 1708, + "nextArtifactId": 0, + "goodId": 83408, + "name": "方天戟·神诛", + "imageId": "tianjinglv_9", + "group": "fangtianjishenzhu", + "type": 2, + "isDefaultType": 0, + "quality": 5, + "qualityStage": 0, + "jobClass": 0, + "hid": 41144, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 3, + "qualityAttrPlan": 1308 + }, + { + "artifactId": 1801, + "nextArtifactId": 1802, + "goodId": 83501, + "name": "恶来铁戟", + "imageId": "tianjinglv_2", + "group": "elaitieji", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 0, + "jobClass": 0, + "hid": 7, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 5, + "qualityAttrPlan": 1501 + }, + { + "artifactId": 1802, + "nextArtifactId": 1803, + "goodId": 83502, + "name": "恶来铁戟+1", + "imageId": "tianjinglv_3", + "group": "elaitieji", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 1, + "jobClass": 0, + "hid": 7, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 5, + "qualityAttrPlan": 1502 + }, + { + "artifactId": 1803, + "nextArtifactId": 1804, + "goodId": 83503, + "name": "恶来铁戟+2", + "imageId": "tianjinglv_4", + "group": "elaitieji", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 2, + "jobClass": 0, + "hid": 7, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 5, + "qualityAttrPlan": 1503 + }, + { + "artifactId": 1804, + "nextArtifactId": 1805, + "goodId": 83504, + "name": "恶来铁戟", + "imageId": "tianjinglv_5", + "group": "elaitieji", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 0, + "jobClass": 0, + "hid": 7, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 5, + "qualityAttrPlan": 1504 + }, + { + "artifactId": 1805, + "nextArtifactId": 1806, + "goodId": 83505, + "name": "恶来铁戟+1", + "imageId": "tianjinglv_6", + "group": "elaitieji", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 1, + "jobClass": 0, + "hid": 7, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 5, + "qualityAttrPlan": 1505 + }, + { + "artifactId": 1806, + "nextArtifactId": 1807, + "goodId": 83506, + "name": "恶来铁戟+2", + "imageId": "tianjinglv_7", + "group": "elaitieji", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 2, + "jobClass": 0, + "hid": 7, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 5, + "qualityAttrPlan": 1506 + }, + { + "artifactId": 1807, + "nextArtifactId": 1808, + "goodId": 83507, + "name": "恶来铁戟+3", + "imageId": "tianjinglv_8", + "group": "elaitieji", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 3, + "jobClass": 0, + "hid": 7, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 5, + "qualityAttrPlan": 1507 + }, + { + "artifactId": 1808, + "nextArtifactId": 0, + "goodId": 83508, + "name": "恶来铁戟", + "imageId": "tianjinglv_9", + "group": "elaitieji", + "type": 1, + "isDefaultType": 1, + "quality": 5, + "qualityStage": 0, + "jobClass": 0, + "hid": 7, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 5, + "qualityAttrPlan": 1508 + }, + { + "artifactId": 1901, + "nextArtifactId": 1902, + "goodId": 83601, + "name": "青龙偃月刀", + "imageId": "tianjinglv_2", + "group": "qinglongyanyuedao", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 0, + "jobClass": 0, + "hid": 18, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 3, + "qualityAttrPlan": 1301 + }, + { + "artifactId": 1902, + "nextArtifactId": 1903, + "goodId": 83602, + "name": "青龙偃月刀+1", + "imageId": "tianjinglv_3", + "group": "qinglongyanyuedao", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 1, + "jobClass": 0, + "hid": 18, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 3, + "qualityAttrPlan": 1302 + }, + { + "artifactId": 1903, + "nextArtifactId": 1904, + "goodId": 83603, + "name": "青龙偃月刀+2", + "imageId": "tianjinglv_4", + "group": "qinglongyanyuedao", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 2, + "jobClass": 0, + "hid": 18, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 3, + "qualityAttrPlan": 1303 + }, + { + "artifactId": 1904, + "nextArtifactId": 1905, + "goodId": 83604, + "name": "青龙偃月刀", + "imageId": "tianjinglv_5", + "group": "qinglongyanyuedao", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 0, + "jobClass": 0, + "hid": 18, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 3, + "qualityAttrPlan": 1304 + }, + { + "artifactId": 1905, + "nextArtifactId": 1906, + "goodId": 83605, + "name": "青龙偃月刀+1", + "imageId": "tianjinglv_6", + "group": "qinglongyanyuedao", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 1, + "jobClass": 0, + "hid": 18, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 3, + "qualityAttrPlan": 1305 + }, + { + "artifactId": 1906, + "nextArtifactId": 1907, + "goodId": 83606, + "name": "青龙偃月刀+2", + "imageId": "tianjinglv_7", + "group": "qinglongyanyuedao", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 2, + "jobClass": 0, + "hid": 18, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 3, + "qualityAttrPlan": 1306 + }, + { + "artifactId": 1907, + "nextArtifactId": 1908, + "goodId": 83607, + "name": "青龙偃月刀+3", + "imageId": "tianjinglv_8", + "group": "qinglongyanyuedao", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 3, + "jobClass": 0, + "hid": 18, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 3, + "qualityAttrPlan": 1307 + }, + { + "artifactId": 1908, + "nextArtifactId": 0, + "goodId": 83608, + "name": "青龙偃月刀", + "imageId": "tianjinglv_9", + "group": "qinglongyanyuedao", + "type": 1, + "isDefaultType": 1, + "quality": 5, + "qualityStage": 0, + "jobClass": 0, + "hid": 18, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 3, + "qualityAttrPlan": 1308 + }, + { + "artifactId": 2001, + "nextArtifactId": 2002, + "goodId": 83701, + "name": "霸王枪", + "imageId": "tianjinglv_2", + "group": "bawangqiang", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 0, + "jobClass": 0, + "hid": 33, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 3, + "qualityAttrPlan": 1301 + }, + { + "artifactId": 2002, + "nextArtifactId": 2003, + "goodId": 83702, + "name": "霸王枪+1", + "imageId": "tianjinglv_3", + "group": "bawangqiang", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 1, + "jobClass": 0, + "hid": 33, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 3, + "qualityAttrPlan": 1302 + }, + { + "artifactId": 2003, + "nextArtifactId": 2004, + "goodId": 83703, + "name": "霸王枪+2", + "imageId": "tianjinglv_4", + "group": "bawangqiang", + "type": 1, + "isDefaultType": 1, + "quality": 3, + "qualityStage": 2, + "jobClass": 0, + "hid": 33, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 3, + "qualityAttrPlan": 1303 + }, + { + "artifactId": 2004, + "nextArtifactId": 2005, + "goodId": 83704, + "name": "霸王枪", + "imageId": "tianjinglv_5", + "group": "bawangqiang", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 0, + "jobClass": 0, + "hid": 33, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 3, + "qualityAttrPlan": 1304 + }, + { + "artifactId": 2005, + "nextArtifactId": 2006, + "goodId": 83705, + "name": "霸王枪+1", + "imageId": "tianjinglv_6", + "group": "bawangqiang", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 1, + "jobClass": 0, + "hid": 33, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 3, + "qualityAttrPlan": 1305 + }, + { + "artifactId": 2006, + "nextArtifactId": 2007, + "goodId": 83706, + "name": "霸王枪+2", + "imageId": "tianjinglv_7", + "group": "bawangqiang", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 2, + "jobClass": 0, + "hid": 33, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 3, + "qualityAttrPlan": 1306 + }, + { + "artifactId": 2007, + "nextArtifactId": 2008, + "goodId": 83707, + "name": "霸王枪+3", + "imageId": "tianjinglv_8", + "group": "bawangqiang", + "type": 1, + "isDefaultType": 1, + "quality": 4, + "qualityStage": 3, + "jobClass": 0, + "hid": 33, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 3, + "qualityAttrPlan": 1307 + }, + { + "artifactId": 2008, + "nextArtifactId": 0, + "goodId": 83708, + "name": "霸王枪", + "imageId": "tianjinglv_9", + "group": "bawangqiang", + "type": 1, + "isDefaultType": 1, + "quality": 5, + "qualityStage": 0, + "jobClass": 0, + "hid": 33, + "seids": "6201411&1000001051&6201511&1000002051&5601311", + "lvAttrPlan": 3, + "qualityAttrPlan": 1308 + } +] \ No newline at end of file diff --git a/shared/resource/jsons/dic_zyz_artifactLvPlan.json b/shared/resource/jsons/dic_zyz_artifactLvPlan.json new file mode 100644 index 000000000..d3999ed76 --- /dev/null +++ b/shared/resource/jsons/dic_zyz_artifactLvPlan.json @@ -0,0 +1,4951 @@ +[ + { + "id": 1, + "planId": 1, + "lv": 0, + "consumes": "31002&10000", + "attr": "1&0|2&0|4&0|5&0" + }, + { + "id": 2, + "planId": 1, + "lv": 1, + "consumes": "31002&12000", + "attr": "1&226|2&60|4&43|5&34" + }, + { + "id": 3, + "planId": 1, + "lv": 2, + "consumes": "31002&14000", + "attr": "1&452|2&120|4&86|5&68" + }, + { + "id": 4, + "planId": 1, + "lv": 3, + "consumes": "31002&16000", + "attr": "1&678|2&180|4&129|5&102" + }, + { + "id": 5, + "planId": 1, + "lv": 4, + "consumes": "31002&18000", + "attr": "1&904|2&240|4&172|5&136" + }, + { + "id": 6, + "planId": 1, + "lv": 5, + "consumes": "31002&20000", + "attr": "1&1130|2&300|4&215|5&170" + }, + { + "id": 7, + "planId": 1, + "lv": 6, + "consumes": "31002&22000", + "attr": "1&1356|2&360|4&258|5&204" + }, + { + "id": 8, + "planId": 1, + "lv": 7, + "consumes": "31002&24000", + "attr": "1&1582|2&420|4&301|5&238" + }, + { + "id": 9, + "planId": 1, + "lv": 8, + "consumes": "31002&26000", + "attr": "1&1808|2&480|4&344|5&272" + }, + { + "id": 10, + "planId": 1, + "lv": 9, + "consumes": "31002&28000", + "attr": "1&2034|2&540|4&387|5&306" + }, + { + "id": 11, + "planId": 1, + "lv": 10, + "consumes": "31002&30000|17055&5", + "attr": "1&2260|2&600|4&430|5&340" + }, + { + "id": 12, + "planId": 1, + "lv": 11, + "consumes": "31002&32000", + "attr": "1&2486|2&660|4&473|5&374" + }, + { + "id": 13, + "planId": 1, + "lv": 12, + "consumes": "31002&34000", + "attr": "1&2712|2&720|4&516|5&408" + }, + { + "id": 14, + "planId": 1, + "lv": 13, + "consumes": "31002&36000", + "attr": "1&2938|2&780|4&559|5&442" + }, + { + "id": 15, + "planId": 1, + "lv": 14, + "consumes": "31002&38000", + "attr": "1&3164|2&840|4&602|5&476" + }, + { + "id": 16, + "planId": 1, + "lv": 15, + "consumes": "31002&40000", + "attr": "1&3390|2&900|4&645|5&510" + }, + { + "id": 17, + "planId": 1, + "lv": 16, + "consumes": "31002&42000", + "attr": "1&3616|2&960|4&688|5&544" + }, + { + "id": 18, + "planId": 1, + "lv": 17, + "consumes": "31002&44000", + "attr": "1&3842|2&1020|4&731|5&578" + }, + { + "id": 19, + "planId": 1, + "lv": 18, + "consumes": "31002&46000", + "attr": "1&4068|2&1080|4&774|5&612" + }, + { + "id": 20, + "planId": 1, + "lv": 19, + "consumes": "31002&48000|17055&10", + "attr": "1&4294|2&1140|4&817|5&646" + }, + { + "id": 21, + "planId": 1, + "lv": 20, + "consumes": "31002&50000", + "attr": "1&4520|2&1200|4&860|5&680" + }, + { + "id": 22, + "planId": 1, + "lv": 21, + "consumes": "31002&52000", + "attr": "1&4746|2&1260|4&903|5&714" + }, + { + "id": 23, + "planId": 1, + "lv": 22, + "consumes": "31002&54000", + "attr": "1&4972|2&1320|4&946|5&748" + }, + { + "id": 24, + "planId": 1, + "lv": 23, + "consumes": "31002&56000", + "attr": "1&5198|2&1380|4&989|5&782" + }, + { + "id": 25, + "planId": 1, + "lv": 24, + "consumes": "31002&58000", + "attr": "1&5424|2&1440|4&1032|5&816" + }, + { + "id": 26, + "planId": 1, + "lv": 25, + "consumes": "31002&60000", + "attr": "1&5650|2&1500|4&1075|5&850" + }, + { + "id": 27, + "planId": 1, + "lv": 26, + "consumes": "31002&62000", + "attr": "1&5876|2&1560|4&1118|5&884" + }, + { + "id": 28, + "planId": 1, + "lv": 27, + "consumes": "31002&64000", + "attr": "1&6102|2&1620|4&1161|5&918" + }, + { + "id": 29, + "planId": 1, + "lv": 28, + "consumes": "31002&66000", + "attr": "1&6328|2&1680|4&1204|5&952" + }, + { + "id": 30, + "planId": 1, + "lv": 29, + "consumes": "31002&68000|17055&15", + "attr": "1&6554|2&1740|4&1247|5&986" + }, + { + "id": 31, + "planId": 1, + "lv": 30, + "consumes": "31002&70000", + "attr": "1&6780|2&1800|4&1290|5&1020" + }, + { + "id": 32, + "planId": 1, + "lv": 31, + "consumes": "31002&72000", + "attr": "1&7006|2&1860|4&1333|5&1054" + }, + { + "id": 33, + "planId": 1, + "lv": 32, + "consumes": "31002&74000", + "attr": "1&7232|2&1920|4&1376|5&1088" + }, + { + "id": 34, + "planId": 1, + "lv": 33, + "consumes": "31002&76000", + "attr": "1&7458|2&1980|4&1419|5&1122" + }, + { + "id": 35, + "planId": 1, + "lv": 34, + "consumes": "31002&78000", + "attr": "1&7684|2&2040|4&1462|5&1156" + }, + { + "id": 36, + "planId": 1, + "lv": 35, + "consumes": "31002&80000", + "attr": "1&7910|2&2100|4&1505|5&1190" + }, + { + "id": 37, + "planId": 1, + "lv": 36, + "consumes": "31002&82000", + "attr": "1&8136|2&2160|4&1548|5&1224" + }, + { + "id": 38, + "planId": 1, + "lv": 37, + "consumes": "31002&84000", + "attr": "1&8362|2&2220|4&1591|5&1258" + }, + { + "id": 39, + "planId": 1, + "lv": 38, + "consumes": "31002&86000", + "attr": "1&8588|2&2280|4&1634|5&1292" + }, + { + "id": 40, + "planId": 1, + "lv": 39, + "consumes": "31002&88000|17055&20", + "attr": "1&8814|2&2340|4&1677|5&1326" + }, + { + "id": 41, + "planId": 1, + "lv": 40, + "consumes": "31002&90000", + "attr": "1&9040|2&2400|4&1720|5&1360" + }, + { + "id": 42, + "planId": 1, + "lv": 41, + "consumes": "31002&92000", + "attr": "1&9266|2&2460|4&1763|5&1394" + }, + { + "id": 43, + "planId": 1, + "lv": 42, + "consumes": "31002&94000", + "attr": "1&9492|2&2520|4&1806|5&1428" + }, + { + "id": 44, + "planId": 1, + "lv": 43, + "consumes": "31002&96000", + "attr": "1&9718|2&2580|4&1849|5&1462" + }, + { + "id": 45, + "planId": 1, + "lv": 44, + "consumes": "31002&98000", + "attr": "1&9944|2&2640|4&1892|5&1496" + }, + { + "id": 46, + "planId": 1, + "lv": 45, + "consumes": "31002&100000", + "attr": "1&10170|2&2700|4&1935|5&1530" + }, + { + "id": 47, + "planId": 1, + "lv": 46, + "consumes": "31002&102000", + "attr": "1&10396|2&2760|4&1978|5&1564" + }, + { + "id": 48, + "planId": 1, + "lv": 47, + "consumes": "31002&104000", + "attr": "1&10622|2&2820|4&2021|5&1598" + }, + { + "id": 49, + "planId": 1, + "lv": 48, + "consumes": "31002&106000", + "attr": "1&10848|2&2880|4&2064|5&1632" + }, + { + "id": 50, + "planId": 1, + "lv": 49, + "consumes": "31002&108000|17055&25", + "attr": "1&11074|2&2940|4&2107|5&1666" + }, + { + "id": 51, + "planId": 1, + "lv": 50, + "consumes": "31002&110000", + "attr": "1&11300|2&3000|4&2150|5&1700" + }, + { + "id": 52, + "planId": 1, + "lv": 51, + "consumes": "31002&112000", + "attr": "1&11526|2&3060|4&2193|5&1734" + }, + { + "id": 53, + "planId": 1, + "lv": 52, + "consumes": "31002&114000", + "attr": "1&11752|2&3120|4&2236|5&1768" + }, + { + "id": 54, + "planId": 1, + "lv": 53, + "consumes": "31002&116000", + "attr": "1&11978|2&3180|4&2279|5&1802" + }, + { + "id": 55, + "planId": 1, + "lv": 54, + "consumes": "31002&118000", + "attr": "1&12204|2&3240|4&2322|5&1836" + }, + { + "id": 56, + "planId": 1, + "lv": 55, + "consumes": "31002&120000", + "attr": "1&12430|2&3300|4&2365|5&1870" + }, + { + "id": 57, + "planId": 1, + "lv": 56, + "consumes": "31002&122000", + "attr": "1&12656|2&3360|4&2408|5&1904" + }, + { + "id": 58, + "planId": 1, + "lv": 57, + "consumes": "31002&124000", + "attr": "1&12882|2&3420|4&2451|5&1938" + }, + { + "id": 59, + "planId": 1, + "lv": 58, + "consumes": "31002&126000", + "attr": "1&13108|2&3480|4&2494|5&1972" + }, + { + "id": 60, + "planId": 1, + "lv": 59, + "consumes": "31002&128000|17055&30", + "attr": "1&13334|2&3540|4&2537|5&2006" + }, + { + "id": 61, + "planId": 1, + "lv": 60, + "consumes": "31002&130000", + "attr": "1&13560|2&3600|4&2580|5&2040" + }, + { + "id": 62, + "planId": 1, + "lv": 61, + "consumes": "31002&132000", + "attr": "1&13786|2&3660|4&2623|5&2074" + }, + { + "id": 63, + "planId": 1, + "lv": 62, + "consumes": "31002&134000", + "attr": "1&14012|2&3720|4&2666|5&2108" + }, + { + "id": 64, + "planId": 1, + "lv": 63, + "consumes": "31002&136000", + "attr": "1&14238|2&3780|4&2709|5&2142" + }, + { + "id": 65, + "planId": 1, + "lv": 64, + "consumes": "31002&138000", + "attr": "1&14464|2&3840|4&2752|5&2176" + }, + { + "id": 66, + "planId": 1, + "lv": 65, + "consumes": "31002&140000", + "attr": "1&14690|2&3900|4&2795|5&2210" + }, + { + "id": 67, + "planId": 1, + "lv": 66, + "consumes": "31002&142000", + "attr": "1&14916|2&3960|4&2838|5&2244" + }, + { + "id": 68, + "planId": 1, + "lv": 67, + "consumes": "31002&144000", + "attr": "1&15142|2&4020|4&2881|5&2278" + }, + { + "id": 69, + "planId": 1, + "lv": 68, + "consumes": "31002&146000", + "attr": "1&15368|2&4080|4&2924|5&2312" + }, + { + "id": 70, + "planId": 1, + "lv": 69, + "consumes": "31002&148000|17055&35", + "attr": "1&15594|2&4140|4&2967|5&2346" + }, + { + "id": 71, + "planId": 1, + "lv": 70, + "consumes": "31002&150000", + "attr": "1&15820|2&4200|4&3010|5&2380" + }, + { + "id": 72, + "planId": 1, + "lv": 71, + "consumes": "31002&152000", + "attr": "1&16046|2&4260|4&3053|5&2414" + }, + { + "id": 73, + "planId": 1, + "lv": 72, + "consumes": "31002&154000", + "attr": "1&16272|2&4320|4&3096|5&2448" + }, + { + "id": 74, + "planId": 1, + "lv": 73, + "consumes": "31002&156000", + "attr": "1&16498|2&4380|4&3139|5&2482" + }, + { + "id": 75, + "planId": 1, + "lv": 74, + "consumes": "31002&158000", + "attr": "1&16724|2&4440|4&3182|5&2516" + }, + { + "id": 76, + "planId": 1, + "lv": 75, + "consumes": "31002&160000", + "attr": "1&16950|2&4500|4&3225|5&2550" + }, + { + "id": 77, + "planId": 1, + "lv": 76, + "consumes": "31002&162000", + "attr": "1&17176|2&4560|4&3268|5&2584" + }, + { + "id": 78, + "planId": 1, + "lv": 77, + "consumes": "31002&164000", + "attr": "1&17402|2&4620|4&3311|5&2618" + }, + { + "id": 79, + "planId": 1, + "lv": 78, + "consumes": "31002&166000", + "attr": "1&17628|2&4680|4&3354|5&2652" + }, + { + "id": 80, + "planId": 1, + "lv": 79, + "consumes": "31002&168000|17055&40", + "attr": "1&17854|2&4740|4&3397|5&2686" + }, + { + "id": 81, + "planId": 1, + "lv": 80, + "consumes": "31002&170000", + "attr": "1&18080|2&4800|4&3440|5&2720" + }, + { + "id": 82, + "planId": 1, + "lv": 81, + "consumes": "31002&172000", + "attr": "1&18306|2&4860|4&3483|5&2754" + }, + { + "id": 83, + "planId": 1, + "lv": 82, + "consumes": "31002&174000", + "attr": "1&18532|2&4920|4&3526|5&2788" + }, + { + "id": 84, + "planId": 1, + "lv": 83, + "consumes": "31002&176000", + "attr": "1&18758|2&4980|4&3569|5&2822" + }, + { + "id": 85, + "planId": 1, + "lv": 84, + "consumes": "31002&178000", + "attr": "1&18984|2&5040|4&3612|5&2856" + }, + { + "id": 86, + "planId": 1, + "lv": 85, + "consumes": "31002&180000", + "attr": "1&19210|2&5100|4&3655|5&2890" + }, + { + "id": 87, + "planId": 1, + "lv": 86, + "consumes": "31002&182000", + "attr": "1&19436|2&5160|4&3698|5&2924" + }, + { + "id": 88, + "planId": 1, + "lv": 87, + "consumes": "31002&184000", + "attr": "1&19662|2&5220|4&3741|5&2958" + }, + { + "id": 89, + "planId": 1, + "lv": 88, + "consumes": "31002&186000", + "attr": "1&19888|2&5280|4&3784|5&2992" + }, + { + "id": 90, + "planId": 1, + "lv": 89, + "consumes": "31002&188000|17055&45", + "attr": "1&20114|2&5340|4&3827|5&3026" + }, + { + "id": 91, + "planId": 1, + "lv": 90, + "consumes": "31002&190000", + "attr": "1&20340|2&5400|4&3870|5&3060" + }, + { + "id": 92, + "planId": 1, + "lv": 91, + "consumes": "31002&192000", + "attr": "1&20566|2&5460|4&3913|5&3094" + }, + { + "id": 93, + "planId": 1, + "lv": 92, + "consumes": "31002&194000", + "attr": "1&20792|2&5520|4&3956|5&3128" + }, + { + "id": 94, + "planId": 1, + "lv": 93, + "consumes": "31002&196000", + "attr": "1&21018|2&5580|4&3999|5&3162" + }, + { + "id": 95, + "planId": 1, + "lv": 94, + "consumes": "31002&198000", + "attr": "1&21244|2&5640|4&4042|5&3196" + }, + { + "id": 96, + "planId": 1, + "lv": 95, + "consumes": "31002&200000", + "attr": "1&21470|2&5700|4&4085|5&3230" + }, + { + "id": 97, + "planId": 1, + "lv": 96, + "consumes": "31002&202000", + "attr": "1&21696|2&5760|4&4128|5&3264" + }, + { + "id": 98, + "planId": 1, + "lv": 97, + "consumes": "31002&204000", + "attr": "1&21922|2&5820|4&4171|5&3298" + }, + { + "id": 99, + "planId": 1, + "lv": 98, + "consumes": "31002&206000", + "attr": "1&22148|2&5880|4&4214|5&3332" + }, + { + "id": 100, + "planId": 1, + "lv": 99, + "consumes": "31002&208000", + "attr": "1&22374|2&5940|4&4257|5&3366" + }, + { + "id": 101, + "planId": 1, + "lv": 100, + "consumes": "31002&210000|17055&50", + "attr": "1&22600|2&6000|4&4300|5&3400" + }, + { + "id": 102, + "planId": 2, + "lv": 0, + "consumes": "31002&10000", + "attr": "1&0|2&0|4&0|5&0" + }, + { + "id": 103, + "planId": 2, + "lv": 1, + "consumes": "31002&12000", + "attr": "1&216|2&63|4&40|5&37" + }, + { + "id": 104, + "planId": 2, + "lv": 2, + "consumes": "31002&14000", + "attr": "1&432|2&126|4&80|5&74" + }, + { + "id": 105, + "planId": 2, + "lv": 3, + "consumes": "31002&16000", + "attr": "1&648|2&189|4&120|5&111" + }, + { + "id": 106, + "planId": 2, + "lv": 4, + "consumes": "31002&18000", + "attr": "1&864|2&252|4&160|5&148" + }, + { + "id": 107, + "planId": 2, + "lv": 5, + "consumes": "31002&20000", + "attr": "1&1080|2&315|4&200|5&185" + }, + { + "id": 108, + "planId": 2, + "lv": 6, + "consumes": "31002&22000", + "attr": "1&1296|2&378|4&240|5&222" + }, + { + "id": 109, + "planId": 2, + "lv": 7, + "consumes": "31002&24000", + "attr": "1&1512|2&441|4&280|5&259" + }, + { + "id": 110, + "planId": 2, + "lv": 8, + "consumes": "31002&26000", + "attr": "1&1728|2&504|4&320|5&296" + }, + { + "id": 111, + "planId": 2, + "lv": 9, + "consumes": "31002&28000", + "attr": "1&1944|2&567|4&360|5&333" + }, + { + "id": 112, + "planId": 2, + "lv": 10, + "consumes": "31002&30000|17055&5", + "attr": "1&2160|2&630|4&400|5&370" + }, + { + "id": 113, + "planId": 2, + "lv": 11, + "consumes": "31002&32000", + "attr": "1&2376|2&693|4&440|5&407" + }, + { + "id": 114, + "planId": 2, + "lv": 12, + "consumes": "31002&34000", + "attr": "1&2592|2&756|4&480|5&444" + }, + { + "id": 115, + "planId": 2, + "lv": 13, + "consumes": "31002&36000", + "attr": "1&2808|2&819|4&520|5&481" + }, + { + "id": 116, + "planId": 2, + "lv": 14, + "consumes": "31002&38000", + "attr": "1&3024|2&882|4&560|5&518" + }, + { + "id": 117, + "planId": 2, + "lv": 15, + "consumes": "31002&40000", + "attr": "1&3240|2&945|4&600|5&555" + }, + { + "id": 118, + "planId": 2, + "lv": 16, + "consumes": "31002&42000", + "attr": "1&3456|2&1008|4&640|5&592" + }, + { + "id": 119, + "planId": 2, + "lv": 17, + "consumes": "31002&44000", + "attr": "1&3672|2&1071|4&680|5&629" + }, + { + "id": 120, + "planId": 2, + "lv": 18, + "consumes": "31002&46000", + "attr": "1&3888|2&1134|4&720|5&666" + }, + { + "id": 121, + "planId": 2, + "lv": 19, + "consumes": "31002&48000|17055&10", + "attr": "1&4104|2&1197|4&760|5&703" + }, + { + "id": 122, + "planId": 2, + "lv": 20, + "consumes": "31002&50000", + "attr": "1&4320|2&1260|4&800|5&740" + }, + { + "id": 123, + "planId": 2, + "lv": 21, + "consumes": "31002&52000", + "attr": "1&4536|2&1323|4&840|5&777" + }, + { + "id": 124, + "planId": 2, + "lv": 22, + "consumes": "31002&54000", + "attr": "1&4752|2&1386|4&880|5&814" + }, + { + "id": 125, + "planId": 2, + "lv": 23, + "consumes": "31002&56000", + "attr": "1&4968|2&1449|4&920|5&851" + }, + { + "id": 126, + "planId": 2, + "lv": 24, + "consumes": "31002&58000", + "attr": "1&5184|2&1512|4&960|5&888" + }, + { + "id": 127, + "planId": 2, + "lv": 25, + "consumes": "31002&60000", + "attr": "1&5400|2&1575|4&1000|5&925" + }, + { + "id": 128, + "planId": 2, + "lv": 26, + "consumes": "31002&62000", + "attr": "1&5616|2&1638|4&1040|5&962" + }, + { + "id": 129, + "planId": 2, + "lv": 27, + "consumes": "31002&64000", + "attr": "1&5832|2&1701|4&1080|5&999" + }, + { + "id": 130, + "planId": 2, + "lv": 28, + "consumes": "31002&66000", + "attr": "1&6048|2&1764|4&1120|5&1036" + }, + { + "id": 131, + "planId": 2, + "lv": 29, + "consumes": "31002&68000|17055&15", + "attr": "1&6264|2&1827|4&1160|5&1073" + }, + { + "id": 132, + "planId": 2, + "lv": 30, + "consumes": "31002&70000", + "attr": "1&6480|2&1890|4&1200|5&1110" + }, + { + "id": 133, + "planId": 2, + "lv": 31, + "consumes": "31002&72000", + "attr": "1&6696|2&1953|4&1240|5&1147" + }, + { + "id": 134, + "planId": 2, + "lv": 32, + "consumes": "31002&74000", + "attr": "1&6912|2&2016|4&1280|5&1184" + }, + { + "id": 135, + "planId": 2, + "lv": 33, + "consumes": "31002&76000", + "attr": "1&7128|2&2079|4&1320|5&1221" + }, + { + "id": 136, + "planId": 2, + "lv": 34, + "consumes": "31002&78000", + "attr": "1&7344|2&2142|4&1360|5&1258" + }, + { + "id": 137, + "planId": 2, + "lv": 35, + "consumes": "31002&80000", + "attr": "1&7560|2&2205|4&1400|5&1295" + }, + { + "id": 138, + "planId": 2, + "lv": 36, + "consumes": "31002&82000", + "attr": "1&7776|2&2268|4&1440|5&1332" + }, + { + "id": 139, + "planId": 2, + "lv": 37, + "consumes": "31002&84000", + "attr": "1&7992|2&2331|4&1480|5&1369" + }, + { + "id": 140, + "planId": 2, + "lv": 38, + "consumes": "31002&86000", + "attr": "1&8208|2&2394|4&1520|5&1406" + }, + { + "id": 141, + "planId": 2, + "lv": 39, + "consumes": "31002&88000|17055&20", + "attr": "1&8424|2&2457|4&1560|5&1443" + }, + { + "id": 142, + "planId": 2, + "lv": 40, + "consumes": "31002&90000", + "attr": "1&8640|2&2520|4&1600|5&1480" + }, + { + "id": 143, + "planId": 2, + "lv": 41, + "consumes": "31002&92000", + "attr": "1&8856|2&2583|4&1640|5&1517" + }, + { + "id": 144, + "planId": 2, + "lv": 42, + "consumes": "31002&94000", + "attr": "1&9072|2&2646|4&1680|5&1554" + }, + { + "id": 145, + "planId": 2, + "lv": 43, + "consumes": "31002&96000", + "attr": "1&9288|2&2709|4&1720|5&1591" + }, + { + "id": 146, + "planId": 2, + "lv": 44, + "consumes": "31002&98000", + "attr": "1&9504|2&2772|4&1760|5&1628" + }, + { + "id": 147, + "planId": 2, + "lv": 45, + "consumes": "31002&100000", + "attr": "1&9720|2&2835|4&1800|5&1665" + }, + { + "id": 148, + "planId": 2, + "lv": 46, + "consumes": "31002&102000", + "attr": "1&9936|2&2898|4&1840|5&1702" + }, + { + "id": 149, + "planId": 2, + "lv": 47, + "consumes": "31002&104000", + "attr": "1&10152|2&2961|4&1880|5&1739" + }, + { + "id": 150, + "planId": 2, + "lv": 48, + "consumes": "31002&106000", + "attr": "1&10368|2&3024|4&1920|5&1776" + }, + { + "id": 151, + "planId": 2, + "lv": 49, + "consumes": "31002&108000|17055&25", + "attr": "1&10584|2&3087|4&1960|5&1813" + }, + { + "id": 152, + "planId": 2, + "lv": 50, + "consumes": "31002&110000", + "attr": "1&10800|2&3150|4&2000|5&1850" + }, + { + "id": 153, + "planId": 2, + "lv": 51, + "consumes": "31002&112000", + "attr": "1&11016|2&3213|4&2040|5&1887" + }, + { + "id": 154, + "planId": 2, + "lv": 52, + "consumes": "31002&114000", + "attr": "1&11232|2&3276|4&2080|5&1924" + }, + { + "id": 155, + "planId": 2, + "lv": 53, + "consumes": "31002&116000", + "attr": "1&11448|2&3339|4&2120|5&1961" + }, + { + "id": 156, + "planId": 2, + "lv": 54, + "consumes": "31002&118000", + "attr": "1&11664|2&3402|4&2160|5&1998" + }, + { + "id": 157, + "planId": 2, + "lv": 55, + "consumes": "31002&120000", + "attr": "1&11880|2&3465|4&2200|5&2035" + }, + { + "id": 158, + "planId": 2, + "lv": 56, + "consumes": "31002&122000", + "attr": "1&12096|2&3528|4&2240|5&2072" + }, + { + "id": 159, + "planId": 2, + "lv": 57, + "consumes": "31002&124000", + "attr": "1&12312|2&3591|4&2280|5&2109" + }, + { + "id": 160, + "planId": 2, + "lv": 58, + "consumes": "31002&126000", + "attr": "1&12528|2&3654|4&2320|5&2146" + }, + { + "id": 161, + "planId": 2, + "lv": 59, + "consumes": "31002&128000|17055&30", + "attr": "1&12744|2&3717|4&2360|5&2183" + }, + { + "id": 162, + "planId": 2, + "lv": 60, + "consumes": "31002&130000", + "attr": "1&12960|2&3780|4&2400|5&2220" + }, + { + "id": 163, + "planId": 2, + "lv": 61, + "consumes": "31002&132000", + "attr": "1&13176|2&3843|4&2440|5&2257" + }, + { + "id": 164, + "planId": 2, + "lv": 62, + "consumes": "31002&134000", + "attr": "1&13392|2&3906|4&2480|5&2294" + }, + { + "id": 165, + "planId": 2, + "lv": 63, + "consumes": "31002&136000", + "attr": "1&13608|2&3969|4&2520|5&2331" + }, + { + "id": 166, + "planId": 2, + "lv": 64, + "consumes": "31002&138000", + "attr": "1&13824|2&4032|4&2560|5&2368" + }, + { + "id": 167, + "planId": 2, + "lv": 65, + "consumes": "31002&140000", + "attr": "1&14040|2&4095|4&2600|5&2405" + }, + { + "id": 168, + "planId": 2, + "lv": 66, + "consumes": "31002&142000", + "attr": "1&14256|2&4158|4&2640|5&2442" + }, + { + "id": 169, + "planId": 2, + "lv": 67, + "consumes": "31002&144000", + "attr": "1&14472|2&4221|4&2680|5&2479" + }, + { + "id": 170, + "planId": 2, + "lv": 68, + "consumes": "31002&146000", + "attr": "1&14688|2&4284|4&2720|5&2516" + }, + { + "id": 171, + "planId": 2, + "lv": 69, + "consumes": "31002&148000|17055&35", + "attr": "1&14904|2&4347|4&2760|5&2553" + }, + { + "id": 172, + "planId": 2, + "lv": 70, + "consumes": "31002&150000", + "attr": "1&15120|2&4410|4&2800|5&2590" + }, + { + "id": 173, + "planId": 2, + "lv": 71, + "consumes": "31002&152000", + "attr": "1&15336|2&4473|4&2840|5&2627" + }, + { + "id": 174, + "planId": 2, + "lv": 72, + "consumes": "31002&154000", + "attr": "1&15552|2&4536|4&2880|5&2664" + }, + { + "id": 175, + "planId": 2, + "lv": 73, + "consumes": "31002&156000", + "attr": "1&15768|2&4599|4&2920|5&2701" + }, + { + "id": 176, + "planId": 2, + "lv": 74, + "consumes": "31002&158000", + "attr": "1&15984|2&4662|4&2960|5&2738" + }, + { + "id": 177, + "planId": 2, + "lv": 75, + "consumes": "31002&160000", + "attr": "1&16200|2&4725|4&3000|5&2775" + }, + { + "id": 178, + "planId": 2, + "lv": 76, + "consumes": "31002&162000", + "attr": "1&16416|2&4788|4&3040|5&2812" + }, + { + "id": 179, + "planId": 2, + "lv": 77, + "consumes": "31002&164000", + "attr": "1&16632|2&4851|4&3080|5&2849" + }, + { + "id": 180, + "planId": 2, + "lv": 78, + "consumes": "31002&166000", + "attr": "1&16848|2&4914|4&3120|5&2886" + }, + { + "id": 181, + "planId": 2, + "lv": 79, + "consumes": "31002&168000|17055&40", + "attr": "1&17064|2&4977|4&3160|5&2923" + }, + { + "id": 182, + "planId": 2, + "lv": 80, + "consumes": "31002&170000", + "attr": "1&17280|2&5040|4&3200|5&2960" + }, + { + "id": 183, + "planId": 2, + "lv": 81, + "consumes": "31002&172000", + "attr": "1&17496|2&5103|4&3240|5&2997" + }, + { + "id": 184, + "planId": 2, + "lv": 82, + "consumes": "31002&174000", + "attr": "1&17712|2&5166|4&3280|5&3034" + }, + { + "id": 185, + "planId": 2, + "lv": 83, + "consumes": "31002&176000", + "attr": "1&17928|2&5229|4&3320|5&3071" + }, + { + "id": 186, + "planId": 2, + "lv": 84, + "consumes": "31002&178000", + "attr": "1&18144|2&5292|4&3360|5&3108" + }, + { + "id": 187, + "planId": 2, + "lv": 85, + "consumes": "31002&180000", + "attr": "1&18360|2&5355|4&3400|5&3145" + }, + { + "id": 188, + "planId": 2, + "lv": 86, + "consumes": "31002&182000", + "attr": "1&18576|2&5418|4&3440|5&3182" + }, + { + "id": 189, + "planId": 2, + "lv": 87, + "consumes": "31002&184000", + "attr": "1&18792|2&5481|4&3480|5&3219" + }, + { + "id": 190, + "planId": 2, + "lv": 88, + "consumes": "31002&186000", + "attr": "1&19008|2&5544|4&3520|5&3256" + }, + { + "id": 191, + "planId": 2, + "lv": 89, + "consumes": "31002&188000|17055&45", + "attr": "1&19224|2&5607|4&3560|5&3293" + }, + { + "id": 192, + "planId": 2, + "lv": 90, + "consumes": "31002&190000", + "attr": "1&19440|2&5670|4&3600|5&3330" + }, + { + "id": 193, + "planId": 2, + "lv": 91, + "consumes": "31002&192000", + "attr": "1&19656|2&5733|4&3640|5&3367" + }, + { + "id": 194, + "planId": 2, + "lv": 92, + "consumes": "31002&194000", + "attr": "1&19872|2&5796|4&3680|5&3404" + }, + { + "id": 195, + "planId": 2, + "lv": 93, + "consumes": "31002&196000", + "attr": "1&20088|2&5859|4&3720|5&3441" + }, + { + "id": 196, + "planId": 2, + "lv": 94, + "consumes": "31002&198000", + "attr": "1&20304|2&5922|4&3760|5&3478" + }, + { + "id": 197, + "planId": 2, + "lv": 95, + "consumes": "31002&200000", + "attr": "1&20520|2&5985|4&3800|5&3515" + }, + { + "id": 198, + "planId": 2, + "lv": 96, + "consumes": "31002&202000", + "attr": "1&20736|2&6048|4&3840|5&3552" + }, + { + "id": 199, + "planId": 2, + "lv": 97, + "consumes": "31002&204000", + "attr": "1&20952|2&6111|4&3880|5&3589" + }, + { + "id": 200, + "planId": 2, + "lv": 98, + "consumes": "31002&206000", + "attr": "1&21168|2&6174|4&3920|5&3626" + }, + { + "id": 201, + "planId": 2, + "lv": 99, + "consumes": "31002&208000", + "attr": "1&21384|2&6237|4&3960|5&3663" + }, + { + "id": 202, + "planId": 2, + "lv": 100, + "consumes": "31002&210000|17055&50", + "attr": "1&21600|2&6300|4&4000|5&3700" + }, + { + "id": 203, + "planId": 3, + "lv": 0, + "consumes": "31002&10000", + "attr": "1&0|2&0|4&0|5&0" + }, + { + "id": 204, + "planId": 3, + "lv": 1, + "consumes": "31002&12000", + "attr": "1&210|2&67|4&39|5&36" + }, + { + "id": 205, + "planId": 3, + "lv": 2, + "consumes": "31002&14000", + "attr": "1&420|2&134|4&78|5&72" + }, + { + "id": 206, + "planId": 3, + "lv": 3, + "consumes": "31002&16000", + "attr": "1&630|2&201|4&117|5&108" + }, + { + "id": 207, + "planId": 3, + "lv": 4, + "consumes": "31002&18000", + "attr": "1&840|2&268|4&156|5&144" + }, + { + "id": 208, + "planId": 3, + "lv": 5, + "consumes": "31002&20000", + "attr": "1&1050|2&335|4&195|5&180" + }, + { + "id": 209, + "planId": 3, + "lv": 6, + "consumes": "31002&22000", + "attr": "1&1260|2&402|4&234|5&216" + }, + { + "id": 210, + "planId": 3, + "lv": 7, + "consumes": "31002&24000", + "attr": "1&1470|2&469|4&273|5&252" + }, + { + "id": 211, + "planId": 3, + "lv": 8, + "consumes": "31002&26000", + "attr": "1&1680|2&536|4&312|5&288" + }, + { + "id": 212, + "planId": 3, + "lv": 9, + "consumes": "31002&28000", + "attr": "1&1890|2&603|4&351|5&324" + }, + { + "id": 213, + "planId": 3, + "lv": 10, + "consumes": "31002&30000|17055&5", + "attr": "1&2100|2&670|4&390|5&360" + }, + { + "id": 214, + "planId": 3, + "lv": 11, + "consumes": "31002&32000", + "attr": "1&2310|2&737|4&429|5&396" + }, + { + "id": 215, + "planId": 3, + "lv": 12, + "consumes": "31002&34000", + "attr": "1&2520|2&804|4&468|5&432" + }, + { + "id": 216, + "planId": 3, + "lv": 13, + "consumes": "31002&36000", + "attr": "1&2730|2&871|4&507|5&468" + }, + { + "id": 217, + "planId": 3, + "lv": 14, + "consumes": "31002&38000", + "attr": "1&2940|2&938|4&546|5&504" + }, + { + "id": 218, + "planId": 3, + "lv": 15, + "consumes": "31002&40000", + "attr": "1&3150|2&1005|4&585|5&540" + }, + { + "id": 219, + "planId": 3, + "lv": 16, + "consumes": "31002&42000", + "attr": "1&3360|2&1072|4&624|5&576" + }, + { + "id": 220, + "planId": 3, + "lv": 17, + "consumes": "31002&44000", + "attr": "1&3570|2&1139|4&663|5&612" + }, + { + "id": 221, + "planId": 3, + "lv": 18, + "consumes": "31002&46000", + "attr": "1&3780|2&1206|4&702|5&648" + }, + { + "id": 222, + "planId": 3, + "lv": 19, + "consumes": "31002&48000|17055&10", + "attr": "1&3990|2&1273|4&741|5&684" + }, + { + "id": 223, + "planId": 3, + "lv": 20, + "consumes": "31002&50000", + "attr": "1&4200|2&1340|4&780|5&720" + }, + { + "id": 224, + "planId": 3, + "lv": 21, + "consumes": "31002&52000", + "attr": "1&4410|2&1407|4&819|5&756" + }, + { + "id": 225, + "planId": 3, + "lv": 22, + "consumes": "31002&54000", + "attr": "1&4620|2&1474|4&858|5&792" + }, + { + "id": 226, + "planId": 3, + "lv": 23, + "consumes": "31002&56000", + "attr": "1&4830|2&1541|4&897|5&828" + }, + { + "id": 227, + "planId": 3, + "lv": 24, + "consumes": "31002&58000", + "attr": "1&5040|2&1608|4&936|5&864" + }, + { + "id": 228, + "planId": 3, + "lv": 25, + "consumes": "31002&60000", + "attr": "1&5250|2&1675|4&975|5&900" + }, + { + "id": 229, + "planId": 3, + "lv": 26, + "consumes": "31002&62000", + "attr": "1&5460|2&1742|4&1014|5&936" + }, + { + "id": 230, + "planId": 3, + "lv": 27, + "consumes": "31002&64000", + "attr": "1&5670|2&1809|4&1053|5&972" + }, + { + "id": 231, + "planId": 3, + "lv": 28, + "consumes": "31002&66000", + "attr": "1&5880|2&1876|4&1092|5&1008" + }, + { + "id": 232, + "planId": 3, + "lv": 29, + "consumes": "31002&68000|17055&15", + "attr": "1&6090|2&1943|4&1131|5&1044" + }, + { + "id": 233, + "planId": 3, + "lv": 30, + "consumes": "31002&70000", + "attr": "1&6300|2&2010|4&1170|5&1080" + }, + { + "id": 234, + "planId": 3, + "lv": 31, + "consumes": "31002&72000", + "attr": "1&6510|2&2077|4&1209|5&1116" + }, + { + "id": 235, + "planId": 3, + "lv": 32, + "consumes": "31002&74000", + "attr": "1&6720|2&2144|4&1248|5&1152" + }, + { + "id": 236, + "planId": 3, + "lv": 33, + "consumes": "31002&76000", + "attr": "1&6930|2&2211|4&1287|5&1188" + }, + { + "id": 237, + "planId": 3, + "lv": 34, + "consumes": "31002&78000", + "attr": "1&7140|2&2278|4&1326|5&1224" + }, + { + "id": 238, + "planId": 3, + "lv": 35, + "consumes": "31002&80000", + "attr": "1&7350|2&2345|4&1365|5&1260" + }, + { + "id": 239, + "planId": 3, + "lv": 36, + "consumes": "31002&82000", + "attr": "1&7560|2&2412|4&1404|5&1296" + }, + { + "id": 240, + "planId": 3, + "lv": 37, + "consumes": "31002&84000", + "attr": "1&7770|2&2479|4&1443|5&1332" + }, + { + "id": 241, + "planId": 3, + "lv": 38, + "consumes": "31002&86000", + "attr": "1&7980|2&2546|4&1482|5&1368" + }, + { + "id": 242, + "planId": 3, + "lv": 39, + "consumes": "31002&88000|17055&20", + "attr": "1&8190|2&2613|4&1521|5&1404" + }, + { + "id": 243, + "planId": 3, + "lv": 40, + "consumes": "31002&90000", + "attr": "1&8400|2&2680|4&1560|5&1440" + }, + { + "id": 244, + "planId": 3, + "lv": 41, + "consumes": "31002&92000", + "attr": "1&8610|2&2747|4&1599|5&1476" + }, + { + "id": 245, + "planId": 3, + "lv": 42, + "consumes": "31002&94000", + "attr": "1&8820|2&2814|4&1638|5&1512" + }, + { + "id": 246, + "planId": 3, + "lv": 43, + "consumes": "31002&96000", + "attr": "1&9030|2&2881|4&1677|5&1548" + }, + { + "id": 247, + "planId": 3, + "lv": 44, + "consumes": "31002&98000", + "attr": "1&9240|2&2948|4&1716|5&1584" + }, + { + "id": 248, + "planId": 3, + "lv": 45, + "consumes": "31002&100000", + "attr": "1&9450|2&3015|4&1755|5&1620" + }, + { + "id": 249, + "planId": 3, + "lv": 46, + "consumes": "31002&102000", + "attr": "1&9660|2&3082|4&1794|5&1656" + }, + { + "id": 250, + "planId": 3, + "lv": 47, + "consumes": "31002&104000", + "attr": "1&9870|2&3149|4&1833|5&1692" + }, + { + "id": 251, + "planId": 3, + "lv": 48, + "consumes": "31002&106000", + "attr": "1&10080|2&3216|4&1872|5&1728" + }, + { + "id": 252, + "planId": 3, + "lv": 49, + "consumes": "31002&108000|17055&25", + "attr": "1&10290|2&3283|4&1911|5&1764" + }, + { + "id": 253, + "planId": 3, + "lv": 50, + "consumes": "31002&110000", + "attr": "1&10500|2&3350|4&1950|5&1800" + }, + { + "id": 254, + "planId": 3, + "lv": 51, + "consumes": "31002&112000", + "attr": "1&10710|2&3417|4&1989|5&1836" + }, + { + "id": 255, + "planId": 3, + "lv": 52, + "consumes": "31002&114000", + "attr": "1&10920|2&3484|4&2028|5&1872" + }, + { + "id": 256, + "planId": 3, + "lv": 53, + "consumes": "31002&116000", + "attr": "1&11130|2&3551|4&2067|5&1908" + }, + { + "id": 257, + "planId": 3, + "lv": 54, + "consumes": "31002&118000", + "attr": "1&11340|2&3618|4&2106|5&1944" + }, + { + "id": 258, + "planId": 3, + "lv": 55, + "consumes": "31002&120000", + "attr": "1&11550|2&3685|4&2145|5&1980" + }, + { + "id": 259, + "planId": 3, + "lv": 56, + "consumes": "31002&122000", + "attr": "1&11760|2&3752|4&2184|5&2016" + }, + { + "id": 260, + "planId": 3, + "lv": 57, + "consumes": "31002&124000", + "attr": "1&11970|2&3819|4&2223|5&2052" + }, + { + "id": 261, + "planId": 3, + "lv": 58, + "consumes": "31002&126000", + "attr": "1&12180|2&3886|4&2262|5&2088" + }, + { + "id": 262, + "planId": 3, + "lv": 59, + "consumes": "31002&128000|17055&30", + "attr": "1&12390|2&3953|4&2301|5&2124" + }, + { + "id": 263, + "planId": 3, + "lv": 60, + "consumes": "31002&130000", + "attr": "1&12600|2&4020|4&2340|5&2160" + }, + { + "id": 264, + "planId": 3, + "lv": 61, + "consumes": "31002&132000", + "attr": "1&12810|2&4087|4&2379|5&2196" + }, + { + "id": 265, + "planId": 3, + "lv": 62, + "consumes": "31002&134000", + "attr": "1&13020|2&4154|4&2418|5&2232" + }, + { + "id": 266, + "planId": 3, + "lv": 63, + "consumes": "31002&136000", + "attr": "1&13230|2&4221|4&2457|5&2268" + }, + { + "id": 267, + "planId": 3, + "lv": 64, + "consumes": "31002&138000", + "attr": "1&13440|2&4288|4&2496|5&2304" + }, + { + "id": 268, + "planId": 3, + "lv": 65, + "consumes": "31002&140000", + "attr": "1&13650|2&4355|4&2535|5&2340" + }, + { + "id": 269, + "planId": 3, + "lv": 66, + "consumes": "31002&142000", + "attr": "1&13860|2&4422|4&2574|5&2376" + }, + { + "id": 270, + "planId": 3, + "lv": 67, + "consumes": "31002&144000", + "attr": "1&14070|2&4489|4&2613|5&2412" + }, + { + "id": 271, + "planId": 3, + "lv": 68, + "consumes": "31002&146000", + "attr": "1&14280|2&4556|4&2652|5&2448" + }, + { + "id": 272, + "planId": 3, + "lv": 69, + "consumes": "31002&148000|17055&35", + "attr": "1&14490|2&4623|4&2691|5&2484" + }, + { + "id": 273, + "planId": 3, + "lv": 70, + "consumes": "31002&150000", + "attr": "1&14700|2&4690|4&2730|5&2520" + }, + { + "id": 274, + "planId": 3, + "lv": 71, + "consumes": "31002&152000", + "attr": "1&14910|2&4757|4&2769|5&2556" + }, + { + "id": 275, + "planId": 3, + "lv": 72, + "consumes": "31002&154000", + "attr": "1&15120|2&4824|4&2808|5&2592" + }, + { + "id": 276, + "planId": 3, + "lv": 73, + "consumes": "31002&156000", + "attr": "1&15330|2&4891|4&2847|5&2628" + }, + { + "id": 277, + "planId": 3, + "lv": 74, + "consumes": "31002&158000", + "attr": "1&15540|2&4958|4&2886|5&2664" + }, + { + "id": 278, + "planId": 3, + "lv": 75, + "consumes": "31002&160000", + "attr": "1&15750|2&5025|4&2925|5&2700" + }, + { + "id": 279, + "planId": 3, + "lv": 76, + "consumes": "31002&162000", + "attr": "1&15960|2&5092|4&2964|5&2736" + }, + { + "id": 280, + "planId": 3, + "lv": 77, + "consumes": "31002&164000", + "attr": "1&16170|2&5159|4&3003|5&2772" + }, + { + "id": 281, + "planId": 3, + "lv": 78, + "consumes": "31002&166000", + "attr": "1&16380|2&5226|4&3042|5&2808" + }, + { + "id": 282, + "planId": 3, + "lv": 79, + "consumes": "31002&168000|17055&40", + "attr": "1&16590|2&5293|4&3081|5&2844" + }, + { + "id": 283, + "planId": 3, + "lv": 80, + "consumes": "31002&170000", + "attr": "1&16800|2&5360|4&3120|5&2880" + }, + { + "id": 284, + "planId": 3, + "lv": 81, + "consumes": "31002&172000", + "attr": "1&17010|2&5427|4&3159|5&2916" + }, + { + "id": 285, + "planId": 3, + "lv": 82, + "consumes": "31002&174000", + "attr": "1&17220|2&5494|4&3198|5&2952" + }, + { + "id": 286, + "planId": 3, + "lv": 83, + "consumes": "31002&176000", + "attr": "1&17430|2&5561|4&3237|5&2988" + }, + { + "id": 287, + "planId": 3, + "lv": 84, + "consumes": "31002&178000", + "attr": "1&17640|2&5628|4&3276|5&3024" + }, + { + "id": 288, + "planId": 3, + "lv": 85, + "consumes": "31002&180000", + "attr": "1&17850|2&5695|4&3315|5&3060" + }, + { + "id": 289, + "planId": 3, + "lv": 86, + "consumes": "31002&182000", + "attr": "1&18060|2&5762|4&3354|5&3096" + }, + { + "id": 290, + "planId": 3, + "lv": 87, + "consumes": "31002&184000", + "attr": "1&18270|2&5829|4&3393|5&3132" + }, + { + "id": 291, + "planId": 3, + "lv": 88, + "consumes": "31002&186000", + "attr": "1&18480|2&5896|4&3432|5&3168" + }, + { + "id": 292, + "planId": 3, + "lv": 89, + "consumes": "31002&188000|17055&45", + "attr": "1&18690|2&5963|4&3471|5&3204" + }, + { + "id": 293, + "planId": 3, + "lv": 90, + "consumes": "31002&190000", + "attr": "1&18900|2&6030|4&3510|5&3240" + }, + { + "id": 294, + "planId": 3, + "lv": 91, + "consumes": "31002&192000", + "attr": "1&19110|2&6097|4&3549|5&3276" + }, + { + "id": 295, + "planId": 3, + "lv": 92, + "consumes": "31002&194000", + "attr": "1&19320|2&6164|4&3588|5&3312" + }, + { + "id": 296, + "planId": 3, + "lv": 93, + "consumes": "31002&196000", + "attr": "1&19530|2&6231|4&3627|5&3348" + }, + { + "id": 297, + "planId": 3, + "lv": 94, + "consumes": "31002&198000", + "attr": "1&19740|2&6298|4&3666|5&3384" + }, + { + "id": 298, + "planId": 3, + "lv": 95, + "consumes": "31002&200000", + "attr": "1&19950|2&6365|4&3705|5&3420" + }, + { + "id": 299, + "planId": 3, + "lv": 96, + "consumes": "31002&202000", + "attr": "1&20160|2&6432|4&3744|5&3456" + }, + { + "id": 300, + "planId": 3, + "lv": 97, + "consumes": "31002&204000", + "attr": "1&20370|2&6499|4&3783|5&3492" + }, + { + "id": 301, + "planId": 3, + "lv": 98, + "consumes": "31002&206000", + "attr": "1&20580|2&6566|4&3822|5&3528" + }, + { + "id": 302, + "planId": 3, + "lv": 99, + "consumes": "31002&208000", + "attr": "1&20790|2&6633|4&3861|5&3564" + }, + { + "id": 303, + "planId": 3, + "lv": 100, + "consumes": "31002&210000|17055&50", + "attr": "1&21000|2&6700|4&3900|5&3600" + }, + { + "id": 304, + "planId": 4, + "lv": 0, + "consumes": "31002&10000", + "attr": "1&0|2&0|4&0|5&0" + }, + { + "id": 305, + "planId": 4, + "lv": 1, + "consumes": "31002&12000", + "attr": "1&207|2&68|4&37|5&38" + }, + { + "id": 306, + "planId": 4, + "lv": 2, + "consumes": "31002&14000", + "attr": "1&414|2&136|4&74|5&76" + }, + { + "id": 307, + "planId": 4, + "lv": 3, + "consumes": "31002&16000", + "attr": "1&621|2&204|4&111|5&114" + }, + { + "id": 308, + "planId": 4, + "lv": 4, + "consumes": "31002&18000", + "attr": "1&828|2&272|4&148|5&152" + }, + { + "id": 309, + "planId": 4, + "lv": 5, + "consumes": "31002&20000", + "attr": "1&1035|2&340|4&185|5&190" + }, + { + "id": 310, + "planId": 4, + "lv": 6, + "consumes": "31002&22000", + "attr": "1&1242|2&408|4&222|5&228" + }, + { + "id": 311, + "planId": 4, + "lv": 7, + "consumes": "31002&24000", + "attr": "1&1449|2&476|4&259|5&266" + }, + { + "id": 312, + "planId": 4, + "lv": 8, + "consumes": "31002&26000", + "attr": "1&1656|2&544|4&296|5&304" + }, + { + "id": 313, + "planId": 4, + "lv": 9, + "consumes": "31002&28000", + "attr": "1&1863|2&612|4&333|5&342" + }, + { + "id": 314, + "planId": 4, + "lv": 10, + "consumes": "31002&30000|17055&5", + "attr": "1&2070|2&680|4&370|5&380" + }, + { + "id": 315, + "planId": 4, + "lv": 11, + "consumes": "31002&32000", + "attr": "1&2277|2&748|4&407|5&418" + }, + { + "id": 316, + "planId": 4, + "lv": 12, + "consumes": "31002&34000", + "attr": "1&2484|2&816|4&444|5&456" + }, + { + "id": 317, + "planId": 4, + "lv": 13, + "consumes": "31002&36000", + "attr": "1&2691|2&884|4&481|5&494" + }, + { + "id": 318, + "planId": 4, + "lv": 14, + "consumes": "31002&38000", + "attr": "1&2898|2&952|4&518|5&532" + }, + { + "id": 319, + "planId": 4, + "lv": 15, + "consumes": "31002&40000", + "attr": "1&3105|2&1020|4&555|5&570" + }, + { + "id": 320, + "planId": 4, + "lv": 16, + "consumes": "31002&42000", + "attr": "1&3312|2&1088|4&592|5&608" + }, + { + "id": 321, + "planId": 4, + "lv": 17, + "consumes": "31002&44000", + "attr": "1&3519|2&1156|4&629|5&646" + }, + { + "id": 322, + "planId": 4, + "lv": 18, + "consumes": "31002&46000", + "attr": "1&3726|2&1224|4&666|5&684" + }, + { + "id": 323, + "planId": 4, + "lv": 19, + "consumes": "31002&48000|17055&10", + "attr": "1&3933|2&1292|4&703|5&722" + }, + { + "id": 324, + "planId": 4, + "lv": 20, + "consumes": "31002&50000", + "attr": "1&4140|2&1360|4&740|5&760" + }, + { + "id": 325, + "planId": 4, + "lv": 21, + "consumes": "31002&52000", + "attr": "1&4347|2&1428|4&777|5&798" + }, + { + "id": 326, + "planId": 4, + "lv": 22, + "consumes": "31002&54000", + "attr": "1&4554|2&1496|4&814|5&836" + }, + { + "id": 327, + "planId": 4, + "lv": 23, + "consumes": "31002&56000", + "attr": "1&4761|2&1564|4&851|5&874" + }, + { + "id": 328, + "planId": 4, + "lv": 24, + "consumes": "31002&58000", + "attr": "1&4968|2&1632|4&888|5&912" + }, + { + "id": 329, + "planId": 4, + "lv": 25, + "consumes": "31002&60000", + "attr": "1&5175|2&1700|4&925|5&950" + }, + { + "id": 330, + "planId": 4, + "lv": 26, + "consumes": "31002&62000", + "attr": "1&5382|2&1768|4&962|5&988" + }, + { + "id": 331, + "planId": 4, + "lv": 27, + "consumes": "31002&64000", + "attr": "1&5589|2&1836|4&999|5&1026" + }, + { + "id": 332, + "planId": 4, + "lv": 28, + "consumes": "31002&66000", + "attr": "1&5796|2&1904|4&1036|5&1064" + }, + { + "id": 333, + "planId": 4, + "lv": 29, + "consumes": "31002&68000|17055&15", + "attr": "1&6003|2&1972|4&1073|5&1102" + }, + { + "id": 334, + "planId": 4, + "lv": 30, + "consumes": "31002&70000", + "attr": "1&6210|2&2040|4&1110|5&1140" + }, + { + "id": 335, + "planId": 4, + "lv": 31, + "consumes": "31002&72000", + "attr": "1&6417|2&2108|4&1147|5&1178" + }, + { + "id": 336, + "planId": 4, + "lv": 32, + "consumes": "31002&74000", + "attr": "1&6624|2&2176|4&1184|5&1216" + }, + { + "id": 337, + "planId": 4, + "lv": 33, + "consumes": "31002&76000", + "attr": "1&6831|2&2244|4&1221|5&1254" + }, + { + "id": 338, + "planId": 4, + "lv": 34, + "consumes": "31002&78000", + "attr": "1&7038|2&2312|4&1258|5&1292" + }, + { + "id": 339, + "planId": 4, + "lv": 35, + "consumes": "31002&80000", + "attr": "1&7245|2&2380|4&1295|5&1330" + }, + { + "id": 340, + "planId": 4, + "lv": 36, + "consumes": "31002&82000", + "attr": "1&7452|2&2448|4&1332|5&1368" + }, + { + "id": 341, + "planId": 4, + "lv": 37, + "consumes": "31002&84000", + "attr": "1&7659|2&2516|4&1369|5&1406" + }, + { + "id": 342, + "planId": 4, + "lv": 38, + "consumes": "31002&86000", + "attr": "1&7866|2&2584|4&1406|5&1444" + }, + { + "id": 343, + "planId": 4, + "lv": 39, + "consumes": "31002&88000|17055&20", + "attr": "1&8073|2&2652|4&1443|5&1482" + }, + { + "id": 344, + "planId": 4, + "lv": 40, + "consumes": "31002&90000", + "attr": "1&8280|2&2720|4&1480|5&1520" + }, + { + "id": 345, + "planId": 4, + "lv": 41, + "consumes": "31002&92000", + "attr": "1&8487|2&2788|4&1517|5&1558" + }, + { + "id": 346, + "planId": 4, + "lv": 42, + "consumes": "31002&94000", + "attr": "1&8694|2&2856|4&1554|5&1596" + }, + { + "id": 347, + "planId": 4, + "lv": 43, + "consumes": "31002&96000", + "attr": "1&8901|2&2924|4&1591|5&1634" + }, + { + "id": 348, + "planId": 4, + "lv": 44, + "consumes": "31002&98000", + "attr": "1&9108|2&2992|4&1628|5&1672" + }, + { + "id": 349, + "planId": 4, + "lv": 45, + "consumes": "31002&100000", + "attr": "1&9315|2&3060|4&1665|5&1710" + }, + { + "id": 350, + "planId": 4, + "lv": 46, + "consumes": "31002&102000", + "attr": "1&9522|2&3128|4&1702|5&1748" + }, + { + "id": 351, + "planId": 4, + "lv": 47, + "consumes": "31002&104000", + "attr": "1&9729|2&3196|4&1739|5&1786" + }, + { + "id": 352, + "planId": 4, + "lv": 48, + "consumes": "31002&106000", + "attr": "1&9936|2&3264|4&1776|5&1824" + }, + { + "id": 353, + "planId": 4, + "lv": 49, + "consumes": "31002&108000|17055&25", + "attr": "1&10143|2&3332|4&1813|5&1862" + }, + { + "id": 354, + "planId": 4, + "lv": 50, + "consumes": "31002&110000", + "attr": "1&10350|2&3400|4&1850|5&1900" + }, + { + "id": 355, + "planId": 4, + "lv": 51, + "consumes": "31002&112000", + "attr": "1&10557|2&3468|4&1887|5&1938" + }, + { + "id": 356, + "planId": 4, + "lv": 52, + "consumes": "31002&114000", + "attr": "1&10764|2&3536|4&1924|5&1976" + }, + { + "id": 357, + "planId": 4, + "lv": 53, + "consumes": "31002&116000", + "attr": "1&10971|2&3604|4&1961|5&2014" + }, + { + "id": 358, + "planId": 4, + "lv": 54, + "consumes": "31002&118000", + "attr": "1&11178|2&3672|4&1998|5&2052" + }, + { + "id": 359, + "planId": 4, + "lv": 55, + "consumes": "31002&120000", + "attr": "1&11385|2&3740|4&2035|5&2090" + }, + { + "id": 360, + "planId": 4, + "lv": 56, + "consumes": "31002&122000", + "attr": "1&11592|2&3808|4&2072|5&2128" + }, + { + "id": 361, + "planId": 4, + "lv": 57, + "consumes": "31002&124000", + "attr": "1&11799|2&3876|4&2109|5&2166" + }, + { + "id": 362, + "planId": 4, + "lv": 58, + "consumes": "31002&126000", + "attr": "1&12006|2&3944|4&2146|5&2204" + }, + { + "id": 363, + "planId": 4, + "lv": 59, + "consumes": "31002&128000|17055&30", + "attr": "1&12213|2&4012|4&2183|5&2242" + }, + { + "id": 364, + "planId": 4, + "lv": 60, + "consumes": "31002&130000", + "attr": "1&12420|2&4080|4&2220|5&2280" + }, + { + "id": 365, + "planId": 4, + "lv": 61, + "consumes": "31002&132000", + "attr": "1&12627|2&4148|4&2257|5&2318" + }, + { + "id": 366, + "planId": 4, + "lv": 62, + "consumes": "31002&134000", + "attr": "1&12834|2&4216|4&2294|5&2356" + }, + { + "id": 367, + "planId": 4, + "lv": 63, + "consumes": "31002&136000", + "attr": "1&13041|2&4284|4&2331|5&2394" + }, + { + "id": 368, + "planId": 4, + "lv": 64, + "consumes": "31002&138000", + "attr": "1&13248|2&4352|4&2368|5&2432" + }, + { + "id": 369, + "planId": 4, + "lv": 65, + "consumes": "31002&140000", + "attr": "1&13455|2&4420|4&2405|5&2470" + }, + { + "id": 370, + "planId": 4, + "lv": 66, + "consumes": "31002&142000", + "attr": "1&13662|2&4488|4&2442|5&2508" + }, + { + "id": 371, + "planId": 4, + "lv": 67, + "consumes": "31002&144000", + "attr": "1&13869|2&4556|4&2479|5&2546" + }, + { + "id": 372, + "planId": 4, + "lv": 68, + "consumes": "31002&146000", + "attr": "1&14076|2&4624|4&2516|5&2584" + }, + { + "id": 373, + "planId": 4, + "lv": 69, + "consumes": "31002&148000|17055&35", + "attr": "1&14283|2&4692|4&2553|5&2622" + }, + { + "id": 374, + "planId": 4, + "lv": 70, + "consumes": "31002&150000", + "attr": "1&14490|2&4760|4&2590|5&2660" + }, + { + "id": 375, + "planId": 4, + "lv": 71, + "consumes": "31002&152000", + "attr": "1&14697|2&4828|4&2627|5&2698" + }, + { + "id": 376, + "planId": 4, + "lv": 72, + "consumes": "31002&154000", + "attr": "1&14904|2&4896|4&2664|5&2736" + }, + { + "id": 377, + "planId": 4, + "lv": 73, + "consumes": "31002&156000", + "attr": "1&15111|2&4964|4&2701|5&2774" + }, + { + "id": 378, + "planId": 4, + "lv": 74, + "consumes": "31002&158000", + "attr": "1&15318|2&5032|4&2738|5&2812" + }, + { + "id": 379, + "planId": 4, + "lv": 75, + "consumes": "31002&160000", + "attr": "1&15525|2&5100|4&2775|5&2850" + }, + { + "id": 380, + "planId": 4, + "lv": 76, + "consumes": "31002&162000", + "attr": "1&15732|2&5168|4&2812|5&2888" + }, + { + "id": 381, + "planId": 4, + "lv": 77, + "consumes": "31002&164000", + "attr": "1&15939|2&5236|4&2849|5&2926" + }, + { + "id": 382, + "planId": 4, + "lv": 78, + "consumes": "31002&166000", + "attr": "1&16146|2&5304|4&2886|5&2964" + }, + { + "id": 383, + "planId": 4, + "lv": 79, + "consumes": "31002&168000|17055&40", + "attr": "1&16353|2&5372|4&2923|5&3002" + }, + { + "id": 384, + "planId": 4, + "lv": 80, + "consumes": "31002&170000", + "attr": "1&16560|2&5440|4&2960|5&3040" + }, + { + "id": 385, + "planId": 4, + "lv": 81, + "consumes": "31002&172000", + "attr": "1&16767|2&5508|4&2997|5&3078" + }, + { + "id": 386, + "planId": 4, + "lv": 82, + "consumes": "31002&174000", + "attr": "1&16974|2&5576|4&3034|5&3116" + }, + { + "id": 387, + "planId": 4, + "lv": 83, + "consumes": "31002&176000", + "attr": "1&17181|2&5644|4&3071|5&3154" + }, + { + "id": 388, + "planId": 4, + "lv": 84, + "consumes": "31002&178000", + "attr": "1&17388|2&5712|4&3108|5&3192" + }, + { + "id": 389, + "planId": 4, + "lv": 85, + "consumes": "31002&180000", + "attr": "1&17595|2&5780|4&3145|5&3230" + }, + { + "id": 390, + "planId": 4, + "lv": 86, + "consumes": "31002&182000", + "attr": "1&17802|2&5848|4&3182|5&3268" + }, + { + "id": 391, + "planId": 4, + "lv": 87, + "consumes": "31002&184000", + "attr": "1&18009|2&5916|4&3219|5&3306" + }, + { + "id": 392, + "planId": 4, + "lv": 88, + "consumes": "31002&186000", + "attr": "1&18216|2&5984|4&3256|5&3344" + }, + { + "id": 393, + "planId": 4, + "lv": 89, + "consumes": "31002&188000|17055&45", + "attr": "1&18423|2&6052|4&3293|5&3382" + }, + { + "id": 394, + "planId": 4, + "lv": 90, + "consumes": "31002&190000", + "attr": "1&18630|2&6120|4&3330|5&3420" + }, + { + "id": 395, + "planId": 4, + "lv": 91, + "consumes": "31002&192000", + "attr": "1&18837|2&6188|4&3367|5&3458" + }, + { + "id": 396, + "planId": 4, + "lv": 92, + "consumes": "31002&194000", + "attr": "1&19044|2&6256|4&3404|5&3496" + }, + { + "id": 397, + "planId": 4, + "lv": 93, + "consumes": "31002&196000", + "attr": "1&19251|2&6324|4&3441|5&3534" + }, + { + "id": 398, + "planId": 4, + "lv": 94, + "consumes": "31002&198000", + "attr": "1&19458|2&6392|4&3478|5&3572" + }, + { + "id": 399, + "planId": 4, + "lv": 95, + "consumes": "31002&200000", + "attr": "1&19665|2&6460|4&3515|5&3610" + }, + { + "id": 400, + "planId": 4, + "lv": 96, + "consumes": "31002&202000", + "attr": "1&19872|2&6528|4&3552|5&3648" + }, + { + "id": 401, + "planId": 4, + "lv": 97, + "consumes": "31002&204000", + "attr": "1&20079|2&6596|4&3589|5&3686" + }, + { + "id": 402, + "planId": 4, + "lv": 98, + "consumes": "31002&206000", + "attr": "1&20286|2&6664|4&3626|5&3724" + }, + { + "id": 403, + "planId": 4, + "lv": 99, + "consumes": "31002&208000", + "attr": "1&20493|2&6732|4&3663|5&3762" + }, + { + "id": 404, + "planId": 4, + "lv": 100, + "consumes": "31002&210000|17055&50", + "attr": "1&20700|2&6800|4&3700|5&3800" + }, + { + "id": 405, + "planId": 5, + "lv": 0, + "consumes": "31002&10000", + "attr": "1&0|2&0|4&0|5&0" + }, + { + "id": 406, + "planId": 5, + "lv": 1, + "consumes": "31002&12000", + "attr": "1&203|2&64|4&38|5&42" + }, + { + "id": 407, + "planId": 5, + "lv": 2, + "consumes": "31002&14000", + "attr": "1&406|2&128|4&76|5&84" + }, + { + "id": 408, + "planId": 5, + "lv": 3, + "consumes": "31002&16000", + "attr": "1&609|2&192|4&114|5&126" + }, + { + "id": 409, + "planId": 5, + "lv": 4, + "consumes": "31002&18000", + "attr": "1&812|2&256|4&152|5&168" + }, + { + "id": 410, + "planId": 5, + "lv": 5, + "consumes": "31002&20000", + "attr": "1&1015|2&320|4&190|5&210" + }, + { + "id": 411, + "planId": 5, + "lv": 6, + "consumes": "31002&22000", + "attr": "1&1218|2&384|4&228|5&252" + }, + { + "id": 412, + "planId": 5, + "lv": 7, + "consumes": "31002&24000", + "attr": "1&1421|2&448|4&266|5&294" + }, + { + "id": 413, + "planId": 5, + "lv": 8, + "consumes": "31002&26000", + "attr": "1&1624|2&512|4&304|5&336" + }, + { + "id": 414, + "planId": 5, + "lv": 9, + "consumes": "31002&28000", + "attr": "1&1827|2&576|4&342|5&378" + }, + { + "id": 415, + "planId": 5, + "lv": 10, + "consumes": "31002&30000|17055&5", + "attr": "1&2030|2&640|4&380|5&420" + }, + { + "id": 416, + "planId": 5, + "lv": 11, + "consumes": "31002&32000", + "attr": "1&2233|2&704|4&418|5&462" + }, + { + "id": 417, + "planId": 5, + "lv": 12, + "consumes": "31002&34000", + "attr": "1&2436|2&768|4&456|5&504" + }, + { + "id": 418, + "planId": 5, + "lv": 13, + "consumes": "31002&36000", + "attr": "1&2639|2&832|4&494|5&546" + }, + { + "id": 419, + "planId": 5, + "lv": 14, + "consumes": "31002&38000", + "attr": "1&2842|2&896|4&532|5&588" + }, + { + "id": 420, + "planId": 5, + "lv": 15, + "consumes": "31002&40000", + "attr": "1&3045|2&960|4&570|5&630" + }, + { + "id": 421, + "planId": 5, + "lv": 16, + "consumes": "31002&42000", + "attr": "1&3248|2&1024|4&608|5&672" + }, + { + "id": 422, + "planId": 5, + "lv": 17, + "consumes": "31002&44000", + "attr": "1&3451|2&1088|4&646|5&714" + }, + { + "id": 423, + "planId": 5, + "lv": 18, + "consumes": "31002&46000", + "attr": "1&3654|2&1152|4&684|5&756" + }, + { + "id": 424, + "planId": 5, + "lv": 19, + "consumes": "31002&48000|17055&10", + "attr": "1&3857|2&1216|4&722|5&798" + }, + { + "id": 425, + "planId": 5, + "lv": 20, + "consumes": "31002&50000", + "attr": "1&4060|2&1280|4&760|5&840" + }, + { + "id": 426, + "planId": 5, + "lv": 21, + "consumes": "31002&52000", + "attr": "1&4263|2&1344|4&798|5&882" + }, + { + "id": 427, + "planId": 5, + "lv": 22, + "consumes": "31002&54000", + "attr": "1&4466|2&1408|4&836|5&924" + }, + { + "id": 428, + "planId": 5, + "lv": 23, + "consumes": "31002&56000", + "attr": "1&4669|2&1472|4&874|5&966" + }, + { + "id": 429, + "planId": 5, + "lv": 24, + "consumes": "31002&58000", + "attr": "1&4872|2&1536|4&912|5&1008" + }, + { + "id": 430, + "planId": 5, + "lv": 25, + "consumes": "31002&60000", + "attr": "1&5075|2&1600|4&950|5&1050" + }, + { + "id": 431, + "planId": 5, + "lv": 26, + "consumes": "31002&62000", + "attr": "1&5278|2&1664|4&988|5&1092" + }, + { + "id": 432, + "planId": 5, + "lv": 27, + "consumes": "31002&64000", + "attr": "1&5481|2&1728|4&1026|5&1134" + }, + { + "id": 433, + "planId": 5, + "lv": 28, + "consumes": "31002&66000", + "attr": "1&5684|2&1792|4&1064|5&1176" + }, + { + "id": 434, + "planId": 5, + "lv": 29, + "consumes": "31002&68000|17055&15", + "attr": "1&5887|2&1856|4&1102|5&1218" + }, + { + "id": 435, + "planId": 5, + "lv": 30, + "consumes": "31002&70000", + "attr": "1&6090|2&1920|4&1140|5&1260" + }, + { + "id": 436, + "planId": 5, + "lv": 31, + "consumes": "31002&72000", + "attr": "1&6293|2&1984|4&1178|5&1302" + }, + { + "id": 437, + "planId": 5, + "lv": 32, + "consumes": "31002&74000", + "attr": "1&6496|2&2048|4&1216|5&1344" + }, + { + "id": 438, + "planId": 5, + "lv": 33, + "consumes": "31002&76000", + "attr": "1&6699|2&2112|4&1254|5&1386" + }, + { + "id": 439, + "planId": 5, + "lv": 34, + "consumes": "31002&78000", + "attr": "1&6902|2&2176|4&1292|5&1428" + }, + { + "id": 440, + "planId": 5, + "lv": 35, + "consumes": "31002&80000", + "attr": "1&7105|2&2240|4&1330|5&1470" + }, + { + "id": 441, + "planId": 5, + "lv": 36, + "consumes": "31002&82000", + "attr": "1&7308|2&2304|4&1368|5&1512" + }, + { + "id": 442, + "planId": 5, + "lv": 37, + "consumes": "31002&84000", + "attr": "1&7511|2&2368|4&1406|5&1554" + }, + { + "id": 443, + "planId": 5, + "lv": 38, + "consumes": "31002&86000", + "attr": "1&7714|2&2432|4&1444|5&1596" + }, + { + "id": 444, + "planId": 5, + "lv": 39, + "consumes": "31002&88000|17055&20", + "attr": "1&7917|2&2496|4&1482|5&1638" + }, + { + "id": 445, + "planId": 5, + "lv": 40, + "consumes": "31002&90000", + "attr": "1&8120|2&2560|4&1520|5&1680" + }, + { + "id": 446, + "planId": 5, + "lv": 41, + "consumes": "31002&92000", + "attr": "1&8323|2&2624|4&1558|5&1722" + }, + { + "id": 447, + "planId": 5, + "lv": 42, + "consumes": "31002&94000", + "attr": "1&8526|2&2688|4&1596|5&1764" + }, + { + "id": 448, + "planId": 5, + "lv": 43, + "consumes": "31002&96000", + "attr": "1&8729|2&2752|4&1634|5&1806" + }, + { + "id": 449, + "planId": 5, + "lv": 44, + "consumes": "31002&98000", + "attr": "1&8932|2&2816|4&1672|5&1848" + }, + { + "id": 450, + "planId": 5, + "lv": 45, + "consumes": "31002&100000", + "attr": "1&9135|2&2880|4&1710|5&1890" + }, + { + "id": 451, + "planId": 5, + "lv": 46, + "consumes": "31002&102000", + "attr": "1&9338|2&2944|4&1748|5&1932" + }, + { + "id": 452, + "planId": 5, + "lv": 47, + "consumes": "31002&104000", + "attr": "1&9541|2&3008|4&1786|5&1974" + }, + { + "id": 453, + "planId": 5, + "lv": 48, + "consumes": "31002&106000", + "attr": "1&9744|2&3072|4&1824|5&2016" + }, + { + "id": 454, + "planId": 5, + "lv": 49, + "consumes": "31002&108000|17055&25", + "attr": "1&9947|2&3136|4&1862|5&2058" + }, + { + "id": 455, + "planId": 5, + "lv": 50, + "consumes": "31002&110000", + "attr": "1&10150|2&3200|4&1900|5&2100" + }, + { + "id": 456, + "planId": 5, + "lv": 51, + "consumes": "31002&112000", + "attr": "1&10353|2&3264|4&1938|5&2142" + }, + { + "id": 457, + "planId": 5, + "lv": 52, + "consumes": "31002&114000", + "attr": "1&10556|2&3328|4&1976|5&2184" + }, + { + "id": 458, + "planId": 5, + "lv": 53, + "consumes": "31002&116000", + "attr": "1&10759|2&3392|4&2014|5&2226" + }, + { + "id": 459, + "planId": 5, + "lv": 54, + "consumes": "31002&118000", + "attr": "1&10962|2&3456|4&2052|5&2268" + }, + { + "id": 460, + "planId": 5, + "lv": 55, + "consumes": "31002&120000", + "attr": "1&11165|2&3520|4&2090|5&2310" + }, + { + "id": 461, + "planId": 5, + "lv": 56, + "consumes": "31002&122000", + "attr": "1&11368|2&3584|4&2128|5&2352" + }, + { + "id": 462, + "planId": 5, + "lv": 57, + "consumes": "31002&124000", + "attr": "1&11571|2&3648|4&2166|5&2394" + }, + { + "id": 463, + "planId": 5, + "lv": 58, + "consumes": "31002&126000", + "attr": "1&11774|2&3712|4&2204|5&2436" + }, + { + "id": 464, + "planId": 5, + "lv": 59, + "consumes": "31002&128000|17055&30", + "attr": "1&11977|2&3776|4&2242|5&2478" + }, + { + "id": 465, + "planId": 5, + "lv": 60, + "consumes": "31002&130000", + "attr": "1&12180|2&3840|4&2280|5&2520" + }, + { + "id": 466, + "planId": 5, + "lv": 61, + "consumes": "31002&132000", + "attr": "1&12383|2&3904|4&2318|5&2562" + }, + { + "id": 467, + "planId": 5, + "lv": 62, + "consumes": "31002&134000", + "attr": "1&12586|2&3968|4&2356|5&2604" + }, + { + "id": 468, + "planId": 5, + "lv": 63, + "consumes": "31002&136000", + "attr": "1&12789|2&4032|4&2394|5&2646" + }, + { + "id": 469, + "planId": 5, + "lv": 64, + "consumes": "31002&138000", + "attr": "1&12992|2&4096|4&2432|5&2688" + }, + { + "id": 470, + "planId": 5, + "lv": 65, + "consumes": "31002&140000", + "attr": "1&13195|2&4160|4&2470|5&2730" + }, + { + "id": 471, + "planId": 5, + "lv": 66, + "consumes": "31002&142000", + "attr": "1&13398|2&4224|4&2508|5&2772" + }, + { + "id": 472, + "planId": 5, + "lv": 67, + "consumes": "31002&144000", + "attr": "1&13601|2&4288|4&2546|5&2814" + }, + { + "id": 473, + "planId": 5, + "lv": 68, + "consumes": "31002&146000", + "attr": "1&13804|2&4352|4&2584|5&2856" + }, + { + "id": 474, + "planId": 5, + "lv": 69, + "consumes": "31002&148000|17055&35", + "attr": "1&14007|2&4416|4&2622|5&2898" + }, + { + "id": 475, + "planId": 5, + "lv": 70, + "consumes": "31002&150000", + "attr": "1&14210|2&4480|4&2660|5&2940" + }, + { + "id": 476, + "planId": 5, + "lv": 71, + "consumes": "31002&152000", + "attr": "1&14413|2&4544|4&2698|5&2982" + }, + { + "id": 477, + "planId": 5, + "lv": 72, + "consumes": "31002&154000", + "attr": "1&14616|2&4608|4&2736|5&3024" + }, + { + "id": 478, + "planId": 5, + "lv": 73, + "consumes": "31002&156000", + "attr": "1&14819|2&4672|4&2774|5&3066" + }, + { + "id": 479, + "planId": 5, + "lv": 74, + "consumes": "31002&158000", + "attr": "1&15022|2&4736|4&2812|5&3108" + }, + { + "id": 480, + "planId": 5, + "lv": 75, + "consumes": "31002&160000", + "attr": "1&15225|2&4800|4&2850|5&3150" + }, + { + "id": 481, + "planId": 5, + "lv": 76, + "consumes": "31002&162000", + "attr": "1&15428|2&4864|4&2888|5&3192" + }, + { + "id": 482, + "planId": 5, + "lv": 77, + "consumes": "31002&164000", + "attr": "1&15631|2&4928|4&2926|5&3234" + }, + { + "id": 483, + "planId": 5, + "lv": 78, + "consumes": "31002&166000", + "attr": "1&15834|2&4992|4&2964|5&3276" + }, + { + "id": 484, + "planId": 5, + "lv": 79, + "consumes": "31002&168000|17055&40", + "attr": "1&16037|2&5056|4&3002|5&3318" + }, + { + "id": 485, + "planId": 5, + "lv": 80, + "consumes": "31002&170000", + "attr": "1&16240|2&5120|4&3040|5&3360" + }, + { + "id": 486, + "planId": 5, + "lv": 81, + "consumes": "31002&172000", + "attr": "1&16443|2&5184|4&3078|5&3402" + }, + { + "id": 487, + "planId": 5, + "lv": 82, + "consumes": "31002&174000", + "attr": "1&16646|2&5248|4&3116|5&3444" + }, + { + "id": 488, + "planId": 5, + "lv": 83, + "consumes": "31002&176000", + "attr": "1&16849|2&5312|4&3154|5&3486" + }, + { + "id": 489, + "planId": 5, + "lv": 84, + "consumes": "31002&178000", + "attr": "1&17052|2&5376|4&3192|5&3528" + }, + { + "id": 490, + "planId": 5, + "lv": 85, + "consumes": "31002&180000", + "attr": "1&17255|2&5440|4&3230|5&3570" + }, + { + "id": 491, + "planId": 5, + "lv": 86, + "consumes": "31002&182000", + "attr": "1&17458|2&5504|4&3268|5&3612" + }, + { + "id": 492, + "planId": 5, + "lv": 87, + "consumes": "31002&184000", + "attr": "1&17661|2&5568|4&3306|5&3654" + }, + { + "id": 493, + "planId": 5, + "lv": 88, + "consumes": "31002&186000", + "attr": "1&17864|2&5632|4&3344|5&3696" + }, + { + "id": 494, + "planId": 5, + "lv": 89, + "consumes": "31002&188000|17055&45", + "attr": "1&18067|2&5696|4&3382|5&3738" + }, + { + "id": 495, + "planId": 5, + "lv": 90, + "consumes": "31002&190000", + "attr": "1&18270|2&5760|4&3420|5&3780" + }, + { + "id": 496, + "planId": 5, + "lv": 91, + "consumes": "31002&192000", + "attr": "1&18473|2&5824|4&3458|5&3822" + }, + { + "id": 497, + "planId": 5, + "lv": 92, + "consumes": "31002&194000", + "attr": "1&18676|2&5888|4&3496|5&3864" + }, + { + "id": 498, + "planId": 5, + "lv": 93, + "consumes": "31002&196000", + "attr": "1&18879|2&5952|4&3534|5&3906" + }, + { + "id": 499, + "planId": 5, + "lv": 94, + "consumes": "31002&198000", + "attr": "1&19082|2&6016|4&3572|5&3948" + }, + { + "id": 500, + "planId": 5, + "lv": 95, + "consumes": "31002&200000", + "attr": "1&19285|2&6080|4&3610|5&3990" + }, + { + "id": 501, + "planId": 5, + "lv": 96, + "consumes": "31002&202000", + "attr": "1&19488|2&6144|4&3648|5&4032" + }, + { + "id": 502, + "planId": 5, + "lv": 97, + "consumes": "31002&204000", + "attr": "1&19691|2&6208|4&3686|5&4074" + }, + { + "id": 503, + "planId": 5, + "lv": 98, + "consumes": "31002&206000", + "attr": "1&19894|2&6272|4&3724|5&4116" + }, + { + "id": 504, + "planId": 5, + "lv": 99, + "consumes": "31002&208000", + "attr": "1&20097|2&6336|4&3762|5&4158" + }, + { + "id": 505, + "planId": 5, + "lv": 100, + "consumes": "31002&210000|17055&50", + "attr": "1&20300|2&6400|4&3800|5&4200" + }, + { + "id": 506, + "planId": 6, + "lv": 0, + "consumes": "31002&10000", + "attr": "1&0|2&0|4&0|5&0" + }, + { + "id": 507, + "planId": 6, + "lv": 1, + "consumes": "31002&12000", + "attr": "1&187|2&69|4&35|5&45" + }, + { + "id": 508, + "planId": 6, + "lv": 2, + "consumes": "31002&14000", + "attr": "1&374|2&138|4&70|5&90" + }, + { + "id": 509, + "planId": 6, + "lv": 3, + "consumes": "31002&16000", + "attr": "1&561|2&207|4&105|5&135" + }, + { + "id": 510, + "planId": 6, + "lv": 4, + "consumes": "31002&18000", + "attr": "1&748|2&276|4&140|5&180" + }, + { + "id": 511, + "planId": 6, + "lv": 5, + "consumes": "31002&20000", + "attr": "1&935|2&345|4&175|5&225" + }, + { + "id": 512, + "planId": 6, + "lv": 6, + "consumes": "31002&22000", + "attr": "1&1122|2&414|4&210|5&270" + }, + { + "id": 513, + "planId": 6, + "lv": 7, + "consumes": "31002&24000", + "attr": "1&1309|2&483|4&245|5&315" + }, + { + "id": 514, + "planId": 6, + "lv": 8, + "consumes": "31002&26000", + "attr": "1&1496|2&552|4&280|5&360" + }, + { + "id": 515, + "planId": 6, + "lv": 9, + "consumes": "31002&28000", + "attr": "1&1683|2&621|4&315|5&405" + }, + { + "id": 516, + "planId": 6, + "lv": 10, + "consumes": "31002&30000|17055&5", + "attr": "1&1870|2&690|4&350|5&450" + }, + { + "id": 517, + "planId": 6, + "lv": 11, + "consumes": "31002&32000", + "attr": "1&2057|2&759|4&385|5&495" + }, + { + "id": 518, + "planId": 6, + "lv": 12, + "consumes": "31002&34000", + "attr": "1&2244|2&828|4&420|5&540" + }, + { + "id": 519, + "planId": 6, + "lv": 13, + "consumes": "31002&36000", + "attr": "1&2431|2&897|4&455|5&585" + }, + { + "id": 520, + "planId": 6, + "lv": 14, + "consumes": "31002&38000", + "attr": "1&2618|2&966|4&490|5&630" + }, + { + "id": 521, + "planId": 6, + "lv": 15, + "consumes": "31002&40000", + "attr": "1&2805|2&1035|4&525|5&675" + }, + { + "id": 522, + "planId": 6, + "lv": 16, + "consumes": "31002&42000", + "attr": "1&2992|2&1104|4&560|5&720" + }, + { + "id": 523, + "planId": 6, + "lv": 17, + "consumes": "31002&44000", + "attr": "1&3179|2&1173|4&595|5&765" + }, + { + "id": 524, + "planId": 6, + "lv": 18, + "consumes": "31002&46000", + "attr": "1&3366|2&1242|4&630|5&810" + }, + { + "id": 525, + "planId": 6, + "lv": 19, + "consumes": "31002&48000|17055&10", + "attr": "1&3553|2&1311|4&665|5&855" + }, + { + "id": 526, + "planId": 6, + "lv": 20, + "consumes": "31002&50000", + "attr": "1&3740|2&1380|4&700|5&900" + }, + { + "id": 527, + "planId": 6, + "lv": 21, + "consumes": "31002&52000", + "attr": "1&3927|2&1449|4&735|5&945" + }, + { + "id": 528, + "planId": 6, + "lv": 22, + "consumes": "31002&54000", + "attr": "1&4114|2&1518|4&770|5&990" + }, + { + "id": 529, + "planId": 6, + "lv": 23, + "consumes": "31002&56000", + "attr": "1&4301|2&1587|4&805|5&1035" + }, + { + "id": 530, + "planId": 6, + "lv": 24, + "consumes": "31002&58000", + "attr": "1&4488|2&1656|4&840|5&1080" + }, + { + "id": 531, + "planId": 6, + "lv": 25, + "consumes": "31002&60000", + "attr": "1&4675|2&1725|4&875|5&1125" + }, + { + "id": 532, + "planId": 6, + "lv": 26, + "consumes": "31002&62000", + "attr": "1&4862|2&1794|4&910|5&1170" + }, + { + "id": 533, + "planId": 6, + "lv": 27, + "consumes": "31002&64000", + "attr": "1&5049|2&1863|4&945|5&1215" + }, + { + "id": 534, + "planId": 6, + "lv": 28, + "consumes": "31002&66000", + "attr": "1&5236|2&1932|4&980|5&1260" + }, + { + "id": 535, + "planId": 6, + "lv": 29, + "consumes": "31002&68000|17055&15", + "attr": "1&5423|2&2001|4&1015|5&1305" + }, + { + "id": 536, + "planId": 6, + "lv": 30, + "consumes": "31002&70000", + "attr": "1&5610|2&2070|4&1050|5&1350" + }, + { + "id": 537, + "planId": 6, + "lv": 31, + "consumes": "31002&72000", + "attr": "1&5797|2&2139|4&1085|5&1395" + }, + { + "id": 538, + "planId": 6, + "lv": 32, + "consumes": "31002&74000", + "attr": "1&5984|2&2208|4&1120|5&1440" + }, + { + "id": 539, + "planId": 6, + "lv": 33, + "consumes": "31002&76000", + "attr": "1&6171|2&2277|4&1155|5&1485" + }, + { + "id": 540, + "planId": 6, + "lv": 34, + "consumes": "31002&78000", + "attr": "1&6358|2&2346|4&1190|5&1530" + }, + { + "id": 541, + "planId": 6, + "lv": 35, + "consumes": "31002&80000", + "attr": "1&6545|2&2415|4&1225|5&1575" + }, + { + "id": 542, + "planId": 6, + "lv": 36, + "consumes": "31002&82000", + "attr": "1&6732|2&2484|4&1260|5&1620" + }, + { + "id": 543, + "planId": 6, + "lv": 37, + "consumes": "31002&84000", + "attr": "1&6919|2&2553|4&1295|5&1665" + }, + { + "id": 544, + "planId": 6, + "lv": 38, + "consumes": "31002&86000", + "attr": "1&7106|2&2622|4&1330|5&1710" + }, + { + "id": 545, + "planId": 6, + "lv": 39, + "consumes": "31002&88000|17055&20", + "attr": "1&7293|2&2691|4&1365|5&1755" + }, + { + "id": 546, + "planId": 6, + "lv": 40, + "consumes": "31002&90000", + "attr": "1&7480|2&2760|4&1400|5&1800" + }, + { + "id": 547, + "planId": 6, + "lv": 41, + "consumes": "31002&92000", + "attr": "1&7667|2&2829|4&1435|5&1845" + }, + { + "id": 548, + "planId": 6, + "lv": 42, + "consumes": "31002&94000", + "attr": "1&7854|2&2898|4&1470|5&1890" + }, + { + "id": 549, + "planId": 6, + "lv": 43, + "consumes": "31002&96000", + "attr": "1&8041|2&2967|4&1505|5&1935" + }, + { + "id": 550, + "planId": 6, + "lv": 44, + "consumes": "31002&98000", + "attr": "1&8228|2&3036|4&1540|5&1980" + }, + { + "id": 551, + "planId": 6, + "lv": 45, + "consumes": "31002&100000", + "attr": "1&8415|2&3105|4&1575|5&2025" + }, + { + "id": 552, + "planId": 6, + "lv": 46, + "consumes": "31002&102000", + "attr": "1&8602|2&3174|4&1610|5&2070" + }, + { + "id": 553, + "planId": 6, + "lv": 47, + "consumes": "31002&104000", + "attr": "1&8789|2&3243|4&1645|5&2115" + }, + { + "id": 554, + "planId": 6, + "lv": 48, + "consumes": "31002&106000", + "attr": "1&8976|2&3312|4&1680|5&2160" + }, + { + "id": 555, + "planId": 6, + "lv": 49, + "consumes": "31002&108000|17055&25", + "attr": "1&9163|2&3381|4&1715|5&2205" + }, + { + "id": 556, + "planId": 6, + "lv": 50, + "consumes": "31002&110000", + "attr": "1&9350|2&3450|4&1750|5&2250" + }, + { + "id": 557, + "planId": 6, + "lv": 51, + "consumes": "31002&112000", + "attr": "1&9537|2&3519|4&1785|5&2295" + }, + { + "id": 558, + "planId": 6, + "lv": 52, + "consumes": "31002&114000", + "attr": "1&9724|2&3588|4&1820|5&2340" + }, + { + "id": 559, + "planId": 6, + "lv": 53, + "consumes": "31002&116000", + "attr": "1&9911|2&3657|4&1855|5&2385" + }, + { + "id": 560, + "planId": 6, + "lv": 54, + "consumes": "31002&118000", + "attr": "1&10098|2&3726|4&1890|5&2430" + }, + { + "id": 561, + "planId": 6, + "lv": 55, + "consumes": "31002&120000", + "attr": "1&10285|2&3795|4&1925|5&2475" + }, + { + "id": 562, + "planId": 6, + "lv": 56, + "consumes": "31002&122000", + "attr": "1&10472|2&3864|4&1960|5&2520" + }, + { + "id": 563, + "planId": 6, + "lv": 57, + "consumes": "31002&124000", + "attr": "1&10659|2&3933|4&1995|5&2565" + }, + { + "id": 564, + "planId": 6, + "lv": 58, + "consumes": "31002&126000", + "attr": "1&10846|2&4002|4&2030|5&2610" + }, + { + "id": 565, + "planId": 6, + "lv": 59, + "consumes": "31002&128000|17055&30", + "attr": "1&11033|2&4071|4&2065|5&2655" + }, + { + "id": 566, + "planId": 6, + "lv": 60, + "consumes": "31002&130000", + "attr": "1&11220|2&4140|4&2100|5&2700" + }, + { + "id": 567, + "planId": 6, + "lv": 61, + "consumes": "31002&132000", + "attr": "1&11407|2&4209|4&2135|5&2745" + }, + { + "id": 568, + "planId": 6, + "lv": 62, + "consumes": "31002&134000", + "attr": "1&11594|2&4278|4&2170|5&2790" + }, + { + "id": 569, + "planId": 6, + "lv": 63, + "consumes": "31002&136000", + "attr": "1&11781|2&4347|4&2205|5&2835" + }, + { + "id": 570, + "planId": 6, + "lv": 64, + "consumes": "31002&138000", + "attr": "1&11968|2&4416|4&2240|5&2880" + }, + { + "id": 571, + "planId": 6, + "lv": 65, + "consumes": "31002&140000", + "attr": "1&12155|2&4485|4&2275|5&2925" + }, + { + "id": 572, + "planId": 6, + "lv": 66, + "consumes": "31002&142000", + "attr": "1&12342|2&4554|4&2310|5&2970" + }, + { + "id": 573, + "planId": 6, + "lv": 67, + "consumes": "31002&144000", + "attr": "1&12529|2&4623|4&2345|5&3015" + }, + { + "id": 574, + "planId": 6, + "lv": 68, + "consumes": "31002&146000", + "attr": "1&12716|2&4692|4&2380|5&3060" + }, + { + "id": 575, + "planId": 6, + "lv": 69, + "consumes": "31002&148000|17055&35", + "attr": "1&12903|2&4761|4&2415|5&3105" + }, + { + "id": 576, + "planId": 6, + "lv": 70, + "consumes": "31002&150000", + "attr": "1&13090|2&4830|4&2450|5&3150" + }, + { + "id": 577, + "planId": 6, + "lv": 71, + "consumes": "31002&152000", + "attr": "1&13277|2&4899|4&2485|5&3195" + }, + { + "id": 578, + "planId": 6, + "lv": 72, + "consumes": "31002&154000", + "attr": "1&13464|2&4968|4&2520|5&3240" + }, + { + "id": 579, + "planId": 6, + "lv": 73, + "consumes": "31002&156000", + "attr": "1&13651|2&5037|4&2555|5&3285" + }, + { + "id": 580, + "planId": 6, + "lv": 74, + "consumes": "31002&158000", + "attr": "1&13838|2&5106|4&2590|5&3330" + }, + { + "id": 581, + "planId": 6, + "lv": 75, + "consumes": "31002&160000", + "attr": "1&14025|2&5175|4&2625|5&3375" + }, + { + "id": 582, + "planId": 6, + "lv": 76, + "consumes": "31002&162000", + "attr": "1&14212|2&5244|4&2660|5&3420" + }, + { + "id": 583, + "planId": 6, + "lv": 77, + "consumes": "31002&164000", + "attr": "1&14399|2&5313|4&2695|5&3465" + }, + { + "id": 584, + "planId": 6, + "lv": 78, + "consumes": "31002&166000", + "attr": "1&14586|2&5382|4&2730|5&3510" + }, + { + "id": 585, + "planId": 6, + "lv": 79, + "consumes": "31002&168000|17055&40", + "attr": "1&14773|2&5451|4&2765|5&3555" + }, + { + "id": 586, + "planId": 6, + "lv": 80, + "consumes": "31002&170000", + "attr": "1&14960|2&5520|4&2800|5&3600" + }, + { + "id": 587, + "planId": 6, + "lv": 81, + "consumes": "31002&172000", + "attr": "1&15147|2&5589|4&2835|5&3645" + }, + { + "id": 588, + "planId": 6, + "lv": 82, + "consumes": "31002&174000", + "attr": "1&15334|2&5658|4&2870|5&3690" + }, + { + "id": 589, + "planId": 6, + "lv": 83, + "consumes": "31002&176000", + "attr": "1&15521|2&5727|4&2905|5&3735" + }, + { + "id": 590, + "planId": 6, + "lv": 84, + "consumes": "31002&178000", + "attr": "1&15708|2&5796|4&2940|5&3780" + }, + { + "id": 591, + "planId": 6, + "lv": 85, + "consumes": "31002&180000", + "attr": "1&15895|2&5865|4&2975|5&3825" + }, + { + "id": 592, + "planId": 6, + "lv": 86, + "consumes": "31002&182000", + "attr": "1&16082|2&5934|4&3010|5&3870" + }, + { + "id": 593, + "planId": 6, + "lv": 87, + "consumes": "31002&184000", + "attr": "1&16269|2&6003|4&3045|5&3915" + }, + { + "id": 594, + "planId": 6, + "lv": 88, + "consumes": "31002&186000", + "attr": "1&16456|2&6072|4&3080|5&3960" + }, + { + "id": 595, + "planId": 6, + "lv": 89, + "consumes": "31002&188000|17055&45", + "attr": "1&16643|2&6141|4&3115|5&4005" + }, + { + "id": 596, + "planId": 6, + "lv": 90, + "consumes": "31002&190000", + "attr": "1&16830|2&6210|4&3150|5&4050" + }, + { + "id": 597, + "planId": 6, + "lv": 91, + "consumes": "31002&192000", + "attr": "1&17017|2&6279|4&3185|5&4095" + }, + { + "id": 598, + "planId": 6, + "lv": 92, + "consumes": "31002&194000", + "attr": "1&17204|2&6348|4&3220|5&4140" + }, + { + "id": 599, + "planId": 6, + "lv": 93, + "consumes": "31002&196000", + "attr": "1&17391|2&6417|4&3255|5&4185" + }, + { + "id": 600, + "planId": 6, + "lv": 94, + "consumes": "31002&198000", + "attr": "1&17578|2&6486|4&3290|5&4230" + }, + { + "id": 601, + "planId": 6, + "lv": 95, + "consumes": "31002&200000", + "attr": "1&17765|2&6555|4&3325|5&4275" + }, + { + "id": 602, + "planId": 6, + "lv": 96, + "consumes": "31002&202000", + "attr": "1&17952|2&6624|4&3360|5&4320" + }, + { + "id": 603, + "planId": 6, + "lv": 97, + "consumes": "31002&204000", + "attr": "1&18139|2&6693|4&3395|5&4365" + }, + { + "id": 604, + "planId": 6, + "lv": 98, + "consumes": "31002&206000", + "attr": "1&18326|2&6762|4&3430|5&4410" + }, + { + "id": 605, + "planId": 6, + "lv": 99, + "consumes": "31002&208000", + "attr": "1&18513|2&6831|4&3465|5&4455" + }, + { + "id": 606, + "planId": 6, + "lv": 100, + "consumes": "31002&210000|17055&50", + "attr": "1&18700|2&6900|4&3500|5&4500" + }, + { + "id": 607, + "planId": 7, + "lv": 0, + "consumes": "31002&10000", + "attr": "1&0|2&0|4&0|5&0" + }, + { + "id": 608, + "planId": 7, + "lv": 1, + "consumes": "31002&12000", + "attr": "1&193|2&65|4&36|5&46" + }, + { + "id": 609, + "planId": 7, + "lv": 2, + "consumes": "31002&14000", + "attr": "1&386|2&130|4&72|5&92" + }, + { + "id": 610, + "planId": 7, + "lv": 3, + "consumes": "31002&16000", + "attr": "1&579|2&195|4&108|5&138" + }, + { + "id": 611, + "planId": 7, + "lv": 4, + "consumes": "31002&18000", + "attr": "1&772|2&260|4&144|5&184" + }, + { + "id": 612, + "planId": 7, + "lv": 5, + "consumes": "31002&20000", + "attr": "1&965|2&325|4&180|5&230" + }, + { + "id": 613, + "planId": 7, + "lv": 6, + "consumes": "31002&22000", + "attr": "1&1158|2&390|4&216|5&276" + }, + { + "id": 614, + "planId": 7, + "lv": 7, + "consumes": "31002&24000", + "attr": "1&1351|2&455|4&252|5&322" + }, + { + "id": 615, + "planId": 7, + "lv": 8, + "consumes": "31002&26000", + "attr": "1&1544|2&520|4&288|5&368" + }, + { + "id": 616, + "planId": 7, + "lv": 9, + "consumes": "31002&28000", + "attr": "1&1737|2&585|4&324|5&414" + }, + { + "id": 617, + "planId": 7, + "lv": 10, + "consumes": "31002&30000|17055&5", + "attr": "1&1930|2&650|4&360|5&460" + }, + { + "id": 618, + "planId": 7, + "lv": 11, + "consumes": "31002&32000", + "attr": "1&2123|2&715|4&396|5&506" + }, + { + "id": 619, + "planId": 7, + "lv": 12, + "consumes": "31002&34000", + "attr": "1&2316|2&780|4&432|5&552" + }, + { + "id": 620, + "planId": 7, + "lv": 13, + "consumes": "31002&36000", + "attr": "1&2509|2&845|4&468|5&598" + }, + { + "id": 621, + "planId": 7, + "lv": 14, + "consumes": "31002&38000", + "attr": "1&2702|2&910|4&504|5&644" + }, + { + "id": 622, + "planId": 7, + "lv": 15, + "consumes": "31002&40000", + "attr": "1&2895|2&975|4&540|5&690" + }, + { + "id": 623, + "planId": 7, + "lv": 16, + "consumes": "31002&42000", + "attr": "1&3088|2&1040|4&576|5&736" + }, + { + "id": 624, + "planId": 7, + "lv": 17, + "consumes": "31002&44000", + "attr": "1&3281|2&1105|4&612|5&782" + }, + { + "id": 625, + "planId": 7, + "lv": 18, + "consumes": "31002&46000", + "attr": "1&3474|2&1170|4&648|5&828" + }, + { + "id": 626, + "planId": 7, + "lv": 19, + "consumes": "31002&48000|17055&10", + "attr": "1&3667|2&1235|4&684|5&874" + }, + { + "id": 627, + "planId": 7, + "lv": 20, + "consumes": "31002&50000", + "attr": "1&3860|2&1300|4&720|5&920" + }, + { + "id": 628, + "planId": 7, + "lv": 21, + "consumes": "31002&52000", + "attr": "1&4053|2&1365|4&756|5&966" + }, + { + "id": 629, + "planId": 7, + "lv": 22, + "consumes": "31002&54000", + "attr": "1&4246|2&1430|4&792|5&1012" + }, + { + "id": 630, + "planId": 7, + "lv": 23, + "consumes": "31002&56000", + "attr": "1&4439|2&1495|4&828|5&1058" + }, + { + "id": 631, + "planId": 7, + "lv": 24, + "consumes": "31002&58000", + "attr": "1&4632|2&1560|4&864|5&1104" + }, + { + "id": 632, + "planId": 7, + "lv": 25, + "consumes": "31002&60000", + "attr": "1&4825|2&1625|4&900|5&1150" + }, + { + "id": 633, + "planId": 7, + "lv": 26, + "consumes": "31002&62000", + "attr": "1&5018|2&1690|4&936|5&1196" + }, + { + "id": 634, + "planId": 7, + "lv": 27, + "consumes": "31002&64000", + "attr": "1&5211|2&1755|4&972|5&1242" + }, + { + "id": 635, + "planId": 7, + "lv": 28, + "consumes": "31002&66000", + "attr": "1&5404|2&1820|4&1008|5&1288" + }, + { + "id": 636, + "planId": 7, + "lv": 29, + "consumes": "31002&68000|17055&15", + "attr": "1&5597|2&1885|4&1044|5&1334" + }, + { + "id": 637, + "planId": 7, + "lv": 30, + "consumes": "31002&70000", + "attr": "1&5790|2&1950|4&1080|5&1380" + }, + { + "id": 638, + "planId": 7, + "lv": 31, + "consumes": "31002&72000", + "attr": "1&5983|2&2015|4&1116|5&1426" + }, + { + "id": 639, + "planId": 7, + "lv": 32, + "consumes": "31002&74000", + "attr": "1&6176|2&2080|4&1152|5&1472" + }, + { + "id": 640, + "planId": 7, + "lv": 33, + "consumes": "31002&76000", + "attr": "1&6369|2&2145|4&1188|5&1518" + }, + { + "id": 641, + "planId": 7, + "lv": 34, + "consumes": "31002&78000", + "attr": "1&6562|2&2210|4&1224|5&1564" + }, + { + "id": 642, + "planId": 7, + "lv": 35, + "consumes": "31002&80000", + "attr": "1&6755|2&2275|4&1260|5&1610" + }, + { + "id": 643, + "planId": 7, + "lv": 36, + "consumes": "31002&82000", + "attr": "1&6948|2&2340|4&1296|5&1656" + }, + { + "id": 644, + "planId": 7, + "lv": 37, + "consumes": "31002&84000", + "attr": "1&7141|2&2405|4&1332|5&1702" + }, + { + "id": 645, + "planId": 7, + "lv": 38, + "consumes": "31002&86000", + "attr": "1&7334|2&2470|4&1368|5&1748" + }, + { + "id": 646, + "planId": 7, + "lv": 39, + "consumes": "31002&88000|17055&20", + "attr": "1&7527|2&2535|4&1404|5&1794" + }, + { + "id": 647, + "planId": 7, + "lv": 40, + "consumes": "31002&90000", + "attr": "1&7720|2&2600|4&1440|5&1840" + }, + { + "id": 648, + "planId": 7, + "lv": 41, + "consumes": "31002&92000", + "attr": "1&7913|2&2665|4&1476|5&1886" + }, + { + "id": 649, + "planId": 7, + "lv": 42, + "consumes": "31002&94000", + "attr": "1&8106|2&2730|4&1512|5&1932" + }, + { + "id": 650, + "planId": 7, + "lv": 43, + "consumes": "31002&96000", + "attr": "1&8299|2&2795|4&1548|5&1978" + }, + { + "id": 651, + "planId": 7, + "lv": 44, + "consumes": "31002&98000", + "attr": "1&8492|2&2860|4&1584|5&2024" + }, + { + "id": 652, + "planId": 7, + "lv": 45, + "consumes": "31002&100000", + "attr": "1&8685|2&2925|4&1620|5&2070" + }, + { + "id": 653, + "planId": 7, + "lv": 46, + "consumes": "31002&102000", + "attr": "1&8878|2&2990|4&1656|5&2116" + }, + { + "id": 654, + "planId": 7, + "lv": 47, + "consumes": "31002&104000", + "attr": "1&9071|2&3055|4&1692|5&2162" + }, + { + "id": 655, + "planId": 7, + "lv": 48, + "consumes": "31002&106000", + "attr": "1&9264|2&3120|4&1728|5&2208" + }, + { + "id": 656, + "planId": 7, + "lv": 49, + "consumes": "31002&108000|17055&25", + "attr": "1&9457|2&3185|4&1764|5&2254" + }, + { + "id": 657, + "planId": 7, + "lv": 50, + "consumes": "31002&110000", + "attr": "1&9650|2&3250|4&1800|5&2300" + }, + { + "id": 658, + "planId": 7, + "lv": 51, + "consumes": "31002&112000", + "attr": "1&9843|2&3315|4&1836|5&2346" + }, + { + "id": 659, + "planId": 7, + "lv": 52, + "consumes": "31002&114000", + "attr": "1&10036|2&3380|4&1872|5&2392" + }, + { + "id": 660, + "planId": 7, + "lv": 53, + "consumes": "31002&116000", + "attr": "1&10229|2&3445|4&1908|5&2438" + }, + { + "id": 661, + "planId": 7, + "lv": 54, + "consumes": "31002&118000", + "attr": "1&10422|2&3510|4&1944|5&2484" + }, + { + "id": 662, + "planId": 7, + "lv": 55, + "consumes": "31002&120000", + "attr": "1&10615|2&3575|4&1980|5&2530" + }, + { + "id": 663, + "planId": 7, + "lv": 56, + "consumes": "31002&122000", + "attr": "1&10808|2&3640|4&2016|5&2576" + }, + { + "id": 664, + "planId": 7, + "lv": 57, + "consumes": "31002&124000", + "attr": "1&11001|2&3705|4&2052|5&2622" + }, + { + "id": 665, + "planId": 7, + "lv": 58, + "consumes": "31002&126000", + "attr": "1&11194|2&3770|4&2088|5&2668" + }, + { + "id": 666, + "planId": 7, + "lv": 59, + "consumes": "31002&128000|17055&30", + "attr": "1&11387|2&3835|4&2124|5&2714" + }, + { + "id": 667, + "planId": 7, + "lv": 60, + "consumes": "31002&130000", + "attr": "1&11580|2&3900|4&2160|5&2760" + }, + { + "id": 668, + "planId": 7, + "lv": 61, + "consumes": "31002&132000", + "attr": "1&11773|2&3965|4&2196|5&2806" + }, + { + "id": 669, + "planId": 7, + "lv": 62, + "consumes": "31002&134000", + "attr": "1&11966|2&4030|4&2232|5&2852" + }, + { + "id": 670, + "planId": 7, + "lv": 63, + "consumes": "31002&136000", + "attr": "1&12159|2&4095|4&2268|5&2898" + }, + { + "id": 671, + "planId": 7, + "lv": 64, + "consumes": "31002&138000", + "attr": "1&12352|2&4160|4&2304|5&2944" + }, + { + "id": 672, + "planId": 7, + "lv": 65, + "consumes": "31002&140000", + "attr": "1&12545|2&4225|4&2340|5&2990" + }, + { + "id": 673, + "planId": 7, + "lv": 66, + "consumes": "31002&142000", + "attr": "1&12738|2&4290|4&2376|5&3036" + }, + { + "id": 674, + "planId": 7, + "lv": 67, + "consumes": "31002&144000", + "attr": "1&12931|2&4355|4&2412|5&3082" + }, + { + "id": 675, + "planId": 7, + "lv": 68, + "consumes": "31002&146000", + "attr": "1&13124|2&4420|4&2448|5&3128" + }, + { + "id": 676, + "planId": 7, + "lv": 69, + "consumes": "31002&148000|17055&35", + "attr": "1&13317|2&4485|4&2484|5&3174" + }, + { + "id": 677, + "planId": 7, + "lv": 70, + "consumes": "31002&150000", + "attr": "1&13510|2&4550|4&2520|5&3220" + }, + { + "id": 678, + "planId": 7, + "lv": 71, + "consumes": "31002&152000", + "attr": "1&13703|2&4615|4&2556|5&3266" + }, + { + "id": 679, + "planId": 7, + "lv": 72, + "consumes": "31002&154000", + "attr": "1&13896|2&4680|4&2592|5&3312" + }, + { + "id": 680, + "planId": 7, + "lv": 73, + "consumes": "31002&156000", + "attr": "1&14089|2&4745|4&2628|5&3358" + }, + { + "id": 681, + "planId": 7, + "lv": 74, + "consumes": "31002&158000", + "attr": "1&14282|2&4810|4&2664|5&3404" + }, + { + "id": 682, + "planId": 7, + "lv": 75, + "consumes": "31002&160000", + "attr": "1&14475|2&4875|4&2700|5&3450" + }, + { + "id": 683, + "planId": 7, + "lv": 76, + "consumes": "31002&162000", + "attr": "1&14668|2&4940|4&2736|5&3496" + }, + { + "id": 684, + "planId": 7, + "lv": 77, + "consumes": "31002&164000", + "attr": "1&14861|2&5005|4&2772|5&3542" + }, + { + "id": 685, + "planId": 7, + "lv": 78, + "consumes": "31002&166000", + "attr": "1&15054|2&5070|4&2808|5&3588" + }, + { + "id": 686, + "planId": 7, + "lv": 79, + "consumes": "31002&168000|17055&40", + "attr": "1&15247|2&5135|4&2844|5&3634" + }, + { + "id": 687, + "planId": 7, + "lv": 80, + "consumes": "31002&170000", + "attr": "1&15440|2&5200|4&2880|5&3680" + }, + { + "id": 688, + "planId": 7, + "lv": 81, + "consumes": "31002&172000", + "attr": "1&15633|2&5265|4&2916|5&3726" + }, + { + "id": 689, + "planId": 7, + "lv": 82, + "consumes": "31002&174000", + "attr": "1&15826|2&5330|4&2952|5&3772" + }, + { + "id": 690, + "planId": 7, + "lv": 83, + "consumes": "31002&176000", + "attr": "1&16019|2&5395|4&2988|5&3818" + }, + { + "id": 691, + "planId": 7, + "lv": 84, + "consumes": "31002&178000", + "attr": "1&16212|2&5460|4&3024|5&3864" + }, + { + "id": 692, + "planId": 7, + "lv": 85, + "consumes": "31002&180000", + "attr": "1&16405|2&5525|4&3060|5&3910" + }, + { + "id": 693, + "planId": 7, + "lv": 86, + "consumes": "31002&182000", + "attr": "1&16598|2&5590|4&3096|5&3956" + }, + { + "id": 694, + "planId": 7, + "lv": 87, + "consumes": "31002&184000", + "attr": "1&16791|2&5655|4&3132|5&4002" + }, + { + "id": 695, + "planId": 7, + "lv": 88, + "consumes": "31002&186000", + "attr": "1&16984|2&5720|4&3168|5&4048" + }, + { + "id": 696, + "planId": 7, + "lv": 89, + "consumes": "31002&188000|17055&45", + "attr": "1&17177|2&5785|4&3204|5&4094" + }, + { + "id": 697, + "planId": 7, + "lv": 90, + "consumes": "31002&190000", + "attr": "1&17370|2&5850|4&3240|5&4140" + }, + { + "id": 698, + "planId": 7, + "lv": 91, + "consumes": "31002&192000", + "attr": "1&17563|2&5915|4&3276|5&4186" + }, + { + "id": 699, + "planId": 7, + "lv": 92, + "consumes": "31002&194000", + "attr": "1&17756|2&5980|4&3312|5&4232" + }, + { + "id": 700, + "planId": 7, + "lv": 93, + "consumes": "31002&196000", + "attr": "1&17949|2&6045|4&3348|5&4278" + }, + { + "id": 701, + "planId": 7, + "lv": 94, + "consumes": "31002&198000", + "attr": "1&18142|2&6110|4&3384|5&4324" + }, + { + "id": 702, + "planId": 7, + "lv": 95, + "consumes": "31002&200000", + "attr": "1&18335|2&6175|4&3420|5&4370" + }, + { + "id": 703, + "planId": 7, + "lv": 96, + "consumes": "31002&202000", + "attr": "1&18528|2&6240|4&3456|5&4416" + }, + { + "id": 704, + "planId": 7, + "lv": 97, + "consumes": "31002&204000", + "attr": "1&18721|2&6305|4&3492|5&4462" + }, + { + "id": 705, + "planId": 7, + "lv": 98, + "consumes": "31002&206000", + "attr": "1&18914|2&6370|4&3528|5&4508" + }, + { + "id": 706, + "planId": 7, + "lv": 99, + "consumes": "31002&208000", + "attr": "1&19107|2&6435|4&3564|5&4554" + }, + { + "id": 707, + "planId": 7, + "lv": 100, + "consumes": "31002&210000|17055&50", + "attr": "1&19300|2&6500|4&3600|5&4600" + } +] \ No newline at end of file diff --git a/shared/resource/jsons/dic_zyz_artifactQuality.json b/shared/resource/jsons/dic_zyz_artifactQuality.json new file mode 100644 index 000000000..45a07391e --- /dev/null +++ b/shared/resource/jsons/dic_zyz_artifactQuality.json @@ -0,0 +1,152 @@ +[ + { + "uniqId": 1, + "name": "蓝", + "quality": 1, + "qualityStage": 0, + "maxLv": 20, + "previousId": 0, + "materialId": 0, + "materialCnt": 0, + "materialGroup": 0, + "canDecompose": 0, + "canComposeAll": 1, + "generalItem": "&", + "nextId": 2 + }, + { + "uniqId": 2, + "name": "紫", + "quality": 2, + "qualityStage": 0, + "maxLv": 40, + "previousId": 1, + "materialId": 1, + "materialCnt": 2, + "materialGroup": 1, + "canDecompose": 0, + "canComposeAll": 1, + "generalItem": "&", + "nextId": 3 + }, + { + "uniqId": 3, + "name": "橙", + "quality": 3, + "qualityStage": 0, + "maxLv": 60, + "previousId": 2, + "materialId": 2, + "materialCnt": 2, + "materialGroup": 1, + "canDecompose": 1, + "canComposeAll": 0, + "generalItem": "82002&1", + "nextId": 4 + }, + { + "uniqId": 4, + "name": "橙+1", + "quality": 3, + "qualityStage": 1, + "maxLv": 60, + "previousId": 3, + "materialId": 3, + "materialCnt": 1, + "materialGroup": 0, + "canDecompose": 1, + "canComposeAll": 0, + "generalItem": "82002&2", + "nextId": 5 + }, + { + "uniqId": 5, + "name": "橙+2", + "quality": 3, + "qualityStage": 2, + "maxLv": 60, + "previousId": 4, + "materialId": 3, + "materialCnt": 2, + "materialGroup": 0, + "canDecompose": 1, + "canComposeAll": 0, + "generalItem": "82002&3", + "nextId": 6 + }, + { + "uniqId": 6, + "name": "红", + "quality": 4, + "qualityStage": 0, + "maxLv": 80, + "previousId": 5, + "materialId": 5, + "materialCnt": 2, + "materialGroup": 1, + "canDecompose": 1, + "canComposeAll": 0, + "generalItem": "82003&1", + "nextId": 7 + }, + { + "uniqId": 7, + "name": "红+1", + "quality": 4, + "qualityStage": 1, + "maxLv": 80, + "previousId": 6, + "materialId": 6, + "materialCnt": 1, + "materialGroup": 0, + "canDecompose": 1, + "canComposeAll": 0, + "generalItem": "82003&2", + "nextId": 8 + }, + { + "uniqId": 8, + "name": "红+2", + "quality": 4, + "qualityStage": 2, + "maxLv": 80, + "previousId": 7, + "materialId": 6, + "materialCnt": 2, + "materialGroup": 0, + "canDecompose": 1, + "canComposeAll": 0, + "generalItem": "82003&3", + "nextId": 9 + }, + { + "uniqId": 9, + "name": "红+3", + "quality": 4, + "qualityStage": 3, + "maxLv": 80, + "previousId": 8, + "materialId": 6, + "materialCnt": 2, + "materialGroup": 0, + "canDecompose": 1, + "canComposeAll": 0, + "generalItem": "82003&4", + "nextId": 10 + }, + { + "uniqId": 10, + "name": "金", + "quality": 5, + "qualityStage": 0, + "maxLv": 100, + "previousId": 9, + "materialId": 9, + "materialCnt": 2, + "materialGroup": 1, + "canDecompose": 1, + "canComposeAll": 0, + "generalItem": "&", + "nextId": 0 + } +] \ No newline at end of file diff --git a/shared/resource/jsons/dic_zyz_artifactQualityPlan.json b/shared/resource/jsons/dic_zyz_artifactQualityPlan.json new file mode 100644 index 000000000..9df9cb042 --- /dev/null +++ b/shared/resource/jsons/dic_zyz_artifactQualityPlan.json @@ -0,0 +1,632 @@ +[ + { + "id": 1, + "planId": 101, + "attr": "1&452|2&120|4&86|5&68" + }, + { + "id": 2, + "planId": 102, + "attr": "1&1130|2&300|4&215|5&170" + }, + { + "id": 3, + "planId": 103, + "attr": "1&2260|2&600|4&430|5&340" + }, + { + "id": 4, + "planId": 104, + "attr": "1&3616|2&960|4&688|5&544" + }, + { + "id": 5, + "planId": 105, + "attr": "1&4972|2&1320|4&946|5&748" + }, + { + "id": 6, + "planId": 106, + "attr": "1&6780|2&1800|4&1290|5&1020" + }, + { + "id": 7, + "planId": 107, + "attr": "1&9040|2&2400|4&1720|5&1360" + }, + { + "id": 8, + "planId": 108, + "attr": "1&12204|2&3240|4&2322|5&1836" + }, + { + "id": 9, + "planId": 109, + "attr": "1&15820|2&4200|4&3010|5&2380" + }, + { + "id": 10, + "planId": 110, + "attr": "1&20340|2&5400|4&3870|5&3060" + }, + { + "id": 11, + "planId": 201, + "attr": "1&432|2&126|4&80|5&74" + }, + { + "id": 12, + "planId": 202, + "attr": "1&1080|2&315|4&200|5&185" + }, + { + "id": 13, + "planId": 203, + "attr": "1&2160|2&630|4&400|5&370" + }, + { + "id": 14, + "planId": 204, + "attr": "1&3456|2&1008|4&640|5&592" + }, + { + "id": 15, + "planId": 205, + "attr": "1&4752|2&1386|4&880|5&814" + }, + { + "id": 16, + "planId": 206, + "attr": "1&6480|2&1890|4&1200|5&1110" + }, + { + "id": 17, + "planId": 207, + "attr": "1&8640|2&2520|4&1600|5&1480" + }, + { + "id": 18, + "planId": 208, + "attr": "1&11664|2&3402|4&2160|5&1998" + }, + { + "id": 19, + "planId": 209, + "attr": "1&15120|2&4410|4&2800|5&2590" + }, + { + "id": 20, + "planId": 210, + "attr": "1&19440|2&5670|4&3600|5&3330" + }, + { + "id": 21, + "planId": 301, + "attr": "1&420|2&134|4&78|5&72" + }, + { + "id": 22, + "planId": 302, + "attr": "1&1050|2&335|4&195|5&180" + }, + { + "id": 23, + "planId": 303, + "attr": "1&2100|2&670|4&390|5&360" + }, + { + "id": 24, + "planId": 304, + "attr": "1&3360|2&1072|4&624|5&576" + }, + { + "id": 25, + "planId": 305, + "attr": "1&4620|2&1474|4&858|5&792" + }, + { + "id": 26, + "planId": 306, + "attr": "1&6300|2&2010|4&1170|5&1080" + }, + { + "id": 27, + "planId": 307, + "attr": "1&8400|2&2680|4&1560|5&1440" + }, + { + "id": 28, + "planId": 308, + "attr": "1&11340|2&3618|4&2106|5&1944" + }, + { + "id": 29, + "planId": 309, + "attr": "1&14700|2&4690|4&2730|5&2520" + }, + { + "id": 30, + "planId": 310, + "attr": "1&18900|2&6030|4&3510|5&3240" + }, + { + "id": 31, + "planId": 401, + "attr": "1&414|2&136|4&74|5&76" + }, + { + "id": 32, + "planId": 402, + "attr": "1&1035|2&340|4&185|5&190" + }, + { + "id": 33, + "planId": 403, + "attr": "1&2070|2&680|4&370|5&380" + }, + { + "id": 34, + "planId": 404, + "attr": "1&3312|2&1088|4&592|5&608" + }, + { + "id": 35, + "planId": 405, + "attr": "1&4554|2&1496|4&814|5&836" + }, + { + "id": 36, + "planId": 406, + "attr": "1&6210|2&2040|4&1110|5&1140" + }, + { + "id": 37, + "planId": 407, + "attr": "1&8280|2&2720|4&1480|5&1520" + }, + { + "id": 38, + "planId": 408, + "attr": "1&11178|2&3672|4&1998|5&2052" + }, + { + "id": 39, + "planId": 409, + "attr": "1&14490|2&4760|4&2590|5&2660" + }, + { + "id": 40, + "planId": 410, + "attr": "1&18630|2&6120|4&3330|5&3420" + }, + { + "id": 41, + "planId": 501, + "attr": "1&406|2&128|4&76|5&84" + }, + { + "id": 42, + "planId": 502, + "attr": "1&1015|2&320|4&190|5&210" + }, + { + "id": 43, + "planId": 503, + "attr": "1&2030|2&640|4&380|5&420" + }, + { + "id": 44, + "planId": 504, + "attr": "1&3248|2&1024|4&608|5&672" + }, + { + "id": 45, + "planId": 505, + "attr": "1&4466|2&1408|4&836|5&924" + }, + { + "id": 46, + "planId": 506, + "attr": "1&6090|2&1920|4&1140|5&1260" + }, + { + "id": 47, + "planId": 507, + "attr": "1&8120|2&2560|4&1520|5&1680" + }, + { + "id": 48, + "planId": 508, + "attr": "1&10962|2&3456|4&2052|5&2268" + }, + { + "id": 49, + "planId": 509, + "attr": "1&14210|2&4480|4&2660|5&2940" + }, + { + "id": 50, + "planId": 510, + "attr": "1&18270|2&5760|4&3420|5&3780" + }, + { + "id": 51, + "planId": 601, + "attr": "1&374|2&138|4&70|5&90" + }, + { + "id": 52, + "planId": 602, + "attr": "1&935|2&345|4&175|5&225" + }, + { + "id": 53, + "planId": 603, + "attr": "1&1870|2&690|4&350|5&450" + }, + { + "id": 54, + "planId": 604, + "attr": "1&2992|2&1104|4&560|5&720" + }, + { + "id": 55, + "planId": 605, + "attr": "1&4114|2&1518|4&770|5&990" + }, + { + "id": 56, + "planId": 606, + "attr": "1&5610|2&2070|4&1050|5&1350" + }, + { + "id": 57, + "planId": 607, + "attr": "1&7480|2&2760|4&1400|5&1800" + }, + { + "id": 58, + "planId": 608, + "attr": "1&10098|2&3726|4&1890|5&2430" + }, + { + "id": 59, + "planId": 609, + "attr": "1&13090|2&4830|4&2450|5&3150" + }, + { + "id": 60, + "planId": 610, + "attr": "1&16830|2&6210|4&3150|5&4050" + }, + { + "id": 61, + "planId": 701, + "attr": "1&386|2&130|4&72|5&92" + }, + { + "id": 62, + "planId": 702, + "attr": "1&965|2&325|4&180|5&230" + }, + { + "id": 63, + "planId": 703, + "attr": "1&1930|2&650|4&360|5&460" + }, + { + "id": 64, + "planId": 704, + "attr": "1&3088|2&1040|4&576|5&736" + }, + { + "id": 65, + "planId": 705, + "attr": "1&4246|2&1430|4&792|5&1012" + }, + { + "id": 66, + "planId": 706, + "attr": "1&5790|2&1950|4&1080|5&1380" + }, + { + "id": 67, + "planId": 707, + "attr": "1&7720|2&2600|4&1440|5&1840" + }, + { + "id": 68, + "planId": 708, + "attr": "1&10422|2&3510|4&1944|5&2484" + }, + { + "id": 69, + "planId": 709, + "attr": "1&13510|2&4550|4&2520|5&3220" + }, + { + "id": 70, + "planId": 710, + "attr": "1&17370|2&5850|4&3240|5&4140" + }, + { + "id": 71, + "planId": 1101, + "attr": "1&4520|2&1200|4&860|5&680" + }, + { + "id": 72, + "planId": 1102, + "attr": "1&6780|2&1800|4&1290|5&1020" + }, + { + "id": 73, + "planId": 1103, + "attr": "1&10170|2&2700|4&1935|5&1530" + }, + { + "id": 74, + "planId": 1104, + "attr": "1&14690|2&3900|4&2795|5&2210" + }, + { + "id": 75, + "planId": 1105, + "attr": "1&20340|2&5400|4&3870|5&3060" + }, + { + "id": 76, + "planId": 1106, + "attr": "1&27120|2&7200|4&5160|5&4080" + }, + { + "id": 77, + "planId": 1107, + "attr": "1&35030|2&9300|4&6665|5&5270" + }, + { + "id": 78, + "planId": 1108, + "attr": "1&45200|2&12000|4&8600|5&6800" + }, + { + "id": 79, + "planId": 1201, + "attr": "1&4320|2&1260|4&800|5&740" + }, + { + "id": 80, + "planId": 1202, + "attr": "1&6480|2&1890|4&1200|5&1110" + }, + { + "id": 81, + "planId": 1203, + "attr": "1&9720|2&2835|4&1800|5&1665" + }, + { + "id": 82, + "planId": 1204, + "attr": "1&14040|2&4095|4&2600|5&2405" + }, + { + "id": 83, + "planId": 1205, + "attr": "1&19440|2&5670|4&3600|5&3330" + }, + { + "id": 84, + "planId": 1206, + "attr": "1&25920|2&7560|4&4800|5&4440" + }, + { + "id": 85, + "planId": 1207, + "attr": "1&33480|2&9765|4&6200|5&5735" + }, + { + "id": 86, + "planId": 1208, + "attr": "1&43200|2&12600|4&8000|5&7400" + }, + { + "id": 87, + "planId": 1301, + "attr": "1&4200|2&1340|4&780|5&720" + }, + { + "id": 88, + "planId": 1302, + "attr": "1&6300|2&2010|4&1170|5&1080" + }, + { + "id": 89, + "planId": 1303, + "attr": "1&9450|2&3015|4&1755|5&1620" + }, + { + "id": 90, + "planId": 1304, + "attr": "1&13650|2&4355|4&2535|5&2340" + }, + { + "id": 91, + "planId": 1305, + "attr": "1&18900|2&6030|4&3510|5&3240" + }, + { + "id": 92, + "planId": 1306, + "attr": "1&25200|2&8040|4&4680|5&4320" + }, + { + "id": 93, + "planId": 1307, + "attr": "1&32550|2&10385|4&6045|5&5580" + }, + { + "id": 94, + "planId": 1308, + "attr": "1&42000|2&13400|4&7800|5&7200" + }, + { + "id": 95, + "planId": 1401, + "attr": "1&4140|2&1360|4&740|5&760" + }, + { + "id": 96, + "planId": 1402, + "attr": "1&6210|2&2040|4&1110|5&1140" + }, + { + "id": 97, + "planId": 1403, + "attr": "1&9315|2&3060|4&1665|5&1710" + }, + { + "id": 98, + "planId": 1404, + "attr": "1&13455|2&4420|4&2405|5&2470" + }, + { + "id": 99, + "planId": 1405, + "attr": "1&18630|2&6120|4&3330|5&3420" + }, + { + "id": 100, + "planId": 1406, + "attr": "1&24840|2&8160|4&4440|5&4560" + }, + { + "id": 101, + "planId": 1407, + "attr": "1&32085|2&10540|4&5735|5&5890" + }, + { + "id": 102, + "planId": 1408, + "attr": "1&41400|2&13600|4&7400|5&7600" + }, + { + "id": 103, + "planId": 1501, + "attr": "1&4060|2&1280|4&760|5&840" + }, + { + "id": 104, + "planId": 1502, + "attr": "1&6090|2&1920|4&1140|5&1260" + }, + { + "id": 105, + "planId": 1503, + "attr": "1&9135|2&2880|4&1710|5&1890" + }, + { + "id": 106, + "planId": 1504, + "attr": "1&13195|2&4160|4&2470|5&2730" + }, + { + "id": 107, + "planId": 1505, + "attr": "1&18270|2&5760|4&3420|5&3780" + }, + { + "id": 108, + "planId": 1506, + "attr": "1&24360|2&7680|4&4560|5&5040" + }, + { + "id": 109, + "planId": 1507, + "attr": "1&31465|2&9920|4&5890|5&6510" + }, + { + "id": 110, + "planId": 1508, + "attr": "1&40600|2&12800|4&7600|5&8400" + }, + { + "id": 111, + "planId": 1601, + "attr": "1&3740|2&1380|4&700|5&900" + }, + { + "id": 112, + "planId": 1602, + "attr": "1&5610|2&2070|4&1050|5&1350" + }, + { + "id": 113, + "planId": 1603, + "attr": "1&8415|2&3105|4&1575|5&2025" + }, + { + "id": 114, + "planId": 1604, + "attr": "1&12155|2&4485|4&2275|5&2925" + }, + { + "id": 115, + "planId": 1605, + "attr": "1&16830|2&6210|4&3150|5&4050" + }, + { + "id": 116, + "planId": 1606, + "attr": "1&22440|2&8280|4&4200|5&5400" + }, + { + "id": 117, + "planId": 1607, + "attr": "1&28985|2&10695|4&5425|5&6975" + }, + { + "id": 118, + "planId": 1608, + "attr": "1&37400|2&13800|4&7000|5&9000" + }, + { + "id": 119, + "planId": 1701, + "attr": "1&3860|2&1300|4&720|5&920" + }, + { + "id": 120, + "planId": 1702, + "attr": "1&5790|2&1950|4&1080|5&1380" + }, + { + "id": 121, + "planId": 1703, + "attr": "1&8685|2&2925|4&1620|5&2070" + }, + { + "id": 122, + "planId": 1704, + "attr": "1&12545|2&4225|4&2340|5&2990" + }, + { + "id": 123, + "planId": 1705, + "attr": "1&17370|2&5850|4&3240|5&4140" + }, + { + "id": 124, + "planId": 1706, + "attr": "1&23160|2&7800|4&4320|5&5520" + }, + { + "id": 125, + "planId": 1707, + "attr": "1&29915|2&10075|4&5580|5&7130" + }, + { + "id": 126, + "planId": 1708, + "attr": "1&38600|2&13000|4&7200|5&9200" + } +] \ No newline at end of file diff --git a/shared/resource/jsons/dic_zyz_artifactSeid.json b/shared/resource/jsons/dic_zyz_artifactSeid.json new file mode 100644 index 000000000..7fd8eba78 --- /dev/null +++ b/shared/resource/jsons/dic_zyz_artifactSeid.json @@ -0,0 +1,37 @@ +[ + { + "seid": 6201411, + "artifactName": "龙雀刀", + "quality": 1, + "jobClass": 1, + "hid": 0 + }, + { + "seid": 1000001051, + "artifactName": "龙雀刀", + "quality": 2, + "jobClass": 1, + "hid": 0 + }, + { + "seid": 6201511, + "artifactName": "龙雀刀", + "quality": 3, + "jobClass": 1, + "hid": 0 + }, + { + "seid": 1000002051, + "artifactName": "龙雀刀", + "quality": 4, + "jobClass": 1, + "hid": 0 + }, + { + "seid": 5601311, + "artifactName": "龙雀刀", + "quality": 5, + "jobClass": 1, + "hid": 0 + } +] \ No newline at end of file diff --git a/shared/resource/jsons/dic_zyz_taskType.json b/shared/resource/jsons/dic_zyz_taskType.json index 38004b2c8..2104aea1b 100644 --- a/shared/resource/jsons/dic_zyz_taskType.json +++ b/shared/resource/jsons/dic_zyz_taskType.json @@ -1058,5 +1058,35 @@ "content": 0, "condition": "level&", "sumType": 1 + }, + { + "id": 127, + "name": "宝物", + "info": "强化X件宝物至X级", + "param": "count&lv&", + "string": "数量&等级", + "content": 0, + "condition": "count", + "sumType": 1 + }, + { + "id": 128, + "name": "宝物", + "info": "穿戴X件品质为X的宝物", + "param": "count&quality&", + "string": "数量&品质", + "content": 0, + "condition": "count", + "sumType": 1 + }, + { + "id": 129, + "name": "宝物", + "info": "合成X次宝物", + "param": "count&", + "string": "次数&", + "content": 0, + "condition": "count", + "sumType": 2 } ] \ No newline at end of file