装备:升星

This commit is contained in:
luying
2022-02-16 13:19:58 +08:00
parent db31f3344f
commit 862c3f4d65
11 changed files with 1038 additions and 746 deletions

View File

@@ -104,6 +104,9 @@ import { dicEquipById, dicEquipIdByJobClassAndEplace, loadEquip } from "./dictio
import { dicJewel, loadJewel } from "./dictionary/DicJewel";
import { dicEquipStrength, loadEquipStrength } from "./dictionary/DicEquipStrength";
import { dicEquipQuality, dicEquipQualityIdByEquipIdAndPoint, loadEquipQuality } from "./dictionary/DicEquipQuality";
import { dicEquipStar, dicEquipStarIdByEquipId, loadEquipStar } from './dictionary/DicEquipStar';
import { dicEquipQualityExtra, loadEquipQualityExtra } from './dictionary/DicEquipQualityExtra';
import { dicEquipSuit, dicEquipSuitByJobClass, loadEquipSuit } from "./dictionary/DicEquipSuit";
export const gameData = {
blurprtCompose: dicBlueprtCompose,
@@ -258,6 +261,11 @@ export const gameData = {
equipStrengthenCost: dicEquipStrength,
equipQuality: dicEquipQuality,
equipQualityIdByEquipIdAndPoint: dicEquipQualityIdByEquipIdAndPoint,
equipStar: dicEquipStar,
equipStarIdByEquipId: dicEquipStarIdByEquipId,
equipQualityExtra: dicEquipQualityExtra,
equipSuit: dicEquipSuit,
equipSuitByJobClass: dicEquipSuitByJobClass,
};
// 在此提供一些原先在gamedata中提供的方法以便更方便获取gameData数据
@@ -853,7 +861,6 @@ export function getNextEquipQuality(equipId: number, quality: number, point: num
let equipQuality = getEquipQualityIdByEquipIdAndPoint(equipId, quality, point);
if(equipQuality) {
let nextId = equipQuality.id + 1;
console.log(nextId)
let nextEquipQuality = gameData.equipQuality.get(nextId);
if(nextEquipQuality && nextEquipQuality.equipId == equipQuality.equipId) {
return nextEquipQuality
@@ -862,6 +869,55 @@ export function getNextEquipQuality(equipId: number, quality: number, point: num
return null
}
export function getEquipStarIdByEquipId(equipId: number, star: number) {
let equipStarId = gameData.equipStarIdByEquipId.get(`${equipId}_${star}`);
return equipStarId?gameData.equipStar.get(equipStarId): null;
}
export function getNextEquipStar(equipId: number, star: number) {
let equipStar = getEquipStarIdByEquipId(equipId, star);
if(equipStar) {
let nextId = equipStar.id + 1;
let nextEquipStar = gameData.equipStar.get(nextId);
if(nextEquipStar && nextEquipStar.equipId == equipStar.equipId) {
return nextEquipStar;
}
}
return null;
}
export function getPreEquipStar(equipId: number, star: number) {
let equipStar = getEquipStarIdByEquipId(equipId, star);
if(equipStar) {
let nextId = equipStar.id - 1;
let nextEquipStar = gameData.equipStar.get(nextId);
if(nextEquipStar && nextEquipStar.equipId == equipStar.equipId) {
return nextEquipStar;
}
}
return null;
}
export function getEquipStarMainAttrByStage(equipId: number, star: number, starStage: number) {
if(starStage == 0) {
let preEquipStar = getPreEquipStar(equipId, star);
if(!preEquipStar || preEquipStar.equipId != equipId) {
return [];
} else {
return preEquipStar.mainAttr.get(preEquipStar.count);
}
} else {
let equipStar = getEquipStarIdByEquipId(equipId, star);
return equipStar.mainAttr.get(starStage);
}
}
export function getEquipSuitByHero(hid: number) {
let dicHero = gameData.hero.get(hid);
let equipSuitId = gameData.equipSuitByJobClass.get(dicHero.jobClass);
return gameData.equipSuit.get(equipSuitId);
}
// 初始加载
function initDatas() {
parseDicParam();
@@ -1030,6 +1086,9 @@ function loadDatas() {
loadEquip();
loadEquipStrength();
loadEquipQuality();
loadEquipStar();
loadEquipSuit();
loadEquipQualityExtra();
loadJewel();
}