✨ feat(宝物): 添加宝物系统
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user