✨ feat(百家争鸣): 添加将灵合成
This commit is contained in:
@@ -694,6 +694,7 @@ export const FILENAME = {
|
||||
DIC_ROUGE_TECH_CIRCLE: "dic_rougeTechCircle",
|
||||
DIC_ROUGE_TECH_LEVEL: "dic_rougeTechLevel",
|
||||
DIC_GUILD_HP_RATIO: "dic_army_hpRatio",
|
||||
DIC_SPIRIT_COMPOSE: "dic_zyz_spiritCompose",
|
||||
}
|
||||
|
||||
export const WAR_RELATE_TABLES = [
|
||||
@@ -1284,6 +1285,7 @@ export enum ITEM_CHANGE_REASON {
|
||||
CHONGYANG_COST = 206, // 重阳集会购买消耗
|
||||
NOVEMBER_REWARD = 207, // 辜月集会奖励
|
||||
NOVEMBER_COST = 208, // 辜月集会购买消耗
|
||||
EXCHANGE_SPIRIT = 209, // 将灵合成
|
||||
}
|
||||
|
||||
export enum TA_EVENT {
|
||||
|
||||
@@ -614,6 +614,11 @@ export const STATUS = {
|
||||
EQUIP_IS_OVER: { code: 31302, simStr: '装备已超过上限,无法领取' },
|
||||
// 道具相关
|
||||
ITEM_CANNOT_RECEIVE_NO_GUILD: { code: 31401, simStr: '您没有加入军团,不可使用该道具' },
|
||||
ITEM_NOT_SPIRIT: { code: 31402, simStr: '道具类型错误,不是将灵' },
|
||||
SPIRIT_QUALITY_NOT_SAME: { code: 31403, simStr: '选择的将灵需要都是相同品质的' },
|
||||
SPIRIT_QUALITY_NOT_FOUND: { code: 31404, simStr: '该品质将灵不可合成' },
|
||||
SPIRIT_QUALITY_NOT_INTERGER: { code: 31405, simStr: '将灵材料不是整数倍' },
|
||||
TARGET_SPIRIT_QUALITY_NOT_FOUND: { code: 31406, simStr: '目标品质将灵不存在' },
|
||||
|
||||
// 社交相关状态 40000 - 49999
|
||||
SYS_CHANNEL_AUTH_NOT_ENOUGH: { code: 40000, simStr: '无法在系统频道发送消息' },
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { dicHero, loadHero } from "./dictionary/DicHero";
|
||||
import { dicGoods, figureCondition, loadGoods } from "./dictionary/DicGoods";
|
||||
import { dicGoods, dicSpiritByQuality, figureCondition, loadGoods } from "./dictionary/DicGoods";
|
||||
import { dicDaily, loadDaily } from "./dictionary/DicDaily";
|
||||
import { dicEvent, dicEventList, loadEvent } from "./dictionary/DicEvent";
|
||||
import { dicExpedition, DicExpedition, loadExpedition } from "./dictionary/DicExpedition";
|
||||
@@ -173,6 +173,7 @@ import { dicRougePassiveWeight, loadRougePassiveWeight } from "./dictionary/DicR
|
||||
import { dicRougeCharaCardPlan, loadRougeCharaCardPlan } from "./dictionary/DicRougeCharaCardPlan";
|
||||
import { dicRougeHolyCardPlan, loadRougeHolyCardPlan } from "./dictionary/DicRougeHolyCardPlan";
|
||||
import { dicBossHpRatio, loadBossHpRatio } from "./dictionary/DicBossHpRatio";
|
||||
import { dicSpiritCompose, loadSpiritCompose } from "./dictionary/DicSpiritCompose";
|
||||
|
||||
export const gameData = {
|
||||
daily: dicDaily,
|
||||
@@ -433,6 +434,8 @@ export const gameData = {
|
||||
rougeTechByRow: dicRougeTechIdByRow,
|
||||
rougeTechLevel: dicRougeTechLevel,
|
||||
bossHpRatio: dicBossHpRatio,
|
||||
spiritCompose: dicSpiritCompose,
|
||||
spiritByQuality: dicSpiritByQuality,
|
||||
};
|
||||
|
||||
// 在此提供一些原先在gamedata中提供的方法,以便更方便获取gameData数据
|
||||
@@ -1803,6 +1806,7 @@ function loadDatas(type?: string) {
|
||||
if (type == undefined || type == 'loadRougeTechCircle') loadRougeTechCircle();
|
||||
if (type == undefined || type == 'loadRougeTechLevel') loadRougeTechLevel();
|
||||
if (type == undefined || type == 'loadBossHpRatio') loadBossHpRatio();
|
||||
if (type == undefined || type == 'loadSpiritCompose') loadSpiritCompose();
|
||||
|
||||
console.log('loadDatas type: ', type || 'all');
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// 物品表
|
||||
import { decodeArrayListStr, readFileAndParse, parseGoodStr, } from '../util'
|
||||
import { FILENAME, } from '../../consts'
|
||||
import { FILENAME, ITID, } from '../../consts'
|
||||
import { RewardInter } from '../interface';
|
||||
const _ = require('lodash');
|
||||
|
||||
@@ -60,10 +60,12 @@ const DicGoodsKeys: KeysEnum<DicGoods> = {
|
||||
}
|
||||
export const dicGoods = new Map<number, DicGoods>();
|
||||
export const figureCondition = new Map<number, { params: number[], id: number, gid: number }[]>(); // type => {params, id, gid}
|
||||
export const dicSpiritByQuality = new Map<number, number[]>();
|
||||
|
||||
export function loadGoods() {
|
||||
dicGoods.clear();
|
||||
figureCondition.clear();
|
||||
dicSpiritByQuality.clear();
|
||||
|
||||
let arr = readFileAndParse(FILENAME.DIC_GOODS);
|
||||
|
||||
@@ -78,6 +80,10 @@ export function loadGoods() {
|
||||
}
|
||||
o.condition = condition;
|
||||
dicGoods.set(o.good_id, _.pick(o, Object.keys(DicGoodsKeys)));
|
||||
if (o.itid == 67) {
|
||||
if (!dicSpiritByQuality.has(o.quality)) dicSpiritByQuality.set(o.quality, []);
|
||||
dicSpiritByQuality.get(o.quality)?.push(o.good_id);
|
||||
}
|
||||
});
|
||||
|
||||
arr = undefined;
|
||||
|
||||
25
shared/pubUtils/dictionary/DicSpiritCompose.ts
Normal file
25
shared/pubUtils/dictionary/DicSpiritCompose.ts
Normal file
@@ -0,0 +1,25 @@
|
||||
/**
|
||||
* 将灵合成
|
||||
*/
|
||||
|
||||
import { readFileAndParse } from '../util'
|
||||
import { FILENAME } from '../../consts'
|
||||
|
||||
export interface DicSpiritCompose {
|
||||
readonly goalQuality: number;
|
||||
readonly materialQuality: number;
|
||||
readonly materialNum: number;
|
||||
}
|
||||
export const dicSpiritCompose = new Map<number, DicSpiritCompose>();
|
||||
|
||||
export function loadSpiritCompose() {
|
||||
dicSpiritCompose.clear();
|
||||
|
||||
let arr = readFileAndParse(FILENAME.DIC_SPIRIT_COMPOSE);
|
||||
|
||||
arr.forEach(o => {
|
||||
dicSpiritCompose.set(o.materialQuality, o);
|
||||
|
||||
});
|
||||
arr = undefined;
|
||||
}
|
||||
14
shared/resource/jsons/dic_zyz_spiritCompose.json
Normal file
14
shared/resource/jsons/dic_zyz_spiritCompose.json
Normal file
@@ -0,0 +1,14 @@
|
||||
[
|
||||
{
|
||||
"id": 1,
|
||||
"goalQuality": 2,
|
||||
"materialQuality": 1,
|
||||
"materialNum": 5
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"goalQuality": 3,
|
||||
"materialQuality": 2,
|
||||
"materialNum": 10
|
||||
}
|
||||
]
|
||||
Reference in New Issue
Block a user