羁绊:修改武将羁绊格式

This commit is contained in:
luying
2022-07-08 18:29:47 +08:00
parent 4e12c6e389
commit 868bb07977
16 changed files with 119 additions and 226 deletions

View File

@@ -15,8 +15,7 @@ import { dicWar, dicWarPvp, dicDailyWarByType, loadWar, dicHeroIdByWar } from ".
import { dicWarJson, loadWarJson } from "./dictionary/DicWarJson";
import { AUCTION_TIME } from "../consts";
import { dicFashions, dicFashionsByHeroId, loadFashions } from "./dictionary/DicFashions";
import { friendShips, friendShipHidAandIds, loadFriendShip } from "./dictionary/DicFriendShip";
import { maxFriendShipLv, dicFriendShipLevelMap, loadFriendShipLevel } from "./dictionary/DicFriendShipLevel";
import { friendShips, friendShipsByLv, loadFriendShip } from "./dictionary/DicFriendShip";
import { dicHeroQualityUp, loadHeroQualityUp } from "./dictionary/DicHeroQualityUp";
import { dicHeroStar, loadHeroStar } from "./dictionary/DicHeroStar";
import { dicHeroWake, loadHeroWake } from "./dictionary/DicHeroWake";
@@ -139,9 +138,7 @@ export const gameData = {
fashion: dicFashions,
fashionBySkinId: dicFashionsByHeroId,
friendShips: friendShips,
friendShipHidAandIds: friendShipHidAandIds,
maxFriendShipLv: maxFriendShipLv,
friendShipLevelMap: dicFriendShipLevelMap,
friendShipsByLv: friendShipsByLv,
randomEffectPool: dicRandomEffectPool,
randomEffectPoolByGroupAndLv: dicRandomEffectPoolByGroupAndLv,
title: dicTitle,
@@ -321,19 +318,23 @@ export function getHeroExpByLv(lv: number) {
return gameData.charexp.get(lv);
}
export function hasCurConnect(actorId: number, shipId: number) {
return gameData.friendShips.has(`${actorId}_${shipId}`);
}
/**
* 根据武将当前好感获得好感等级
* @param exp 累积经验
*/
export function getFavourLvByExp(exp: number) {
let curLv = 0;
let entries = gameData.friendShipLevelMap.entries();
for (let [lv, { expSum: sum }] of entries) {
curLv = lv;
if (exp < sum) break;
export function getConnectLvByExp(actorId: number, shipId: number, newExp: number) {
let exps = gameData.friendShips.get(`${actorId}_${shipId}`)||[];
exps.sort((a, b) => a.level - b.level);
let newLv = 0, maxLv = 0;
for(let { level, shipValue } of exps) {
if(newExp >= shipValue) newLv = level;
if(maxLv < level) maxLv = level
}
return curLv;
return { newLv, maxLv }
}
export function getBossHpByWarId(warId: number) {
@@ -408,8 +409,8 @@ export function getJobByGradeAndClass(jobClass: number, grade: number) {
return gameData.jobClassAndgrades.get(jobClass + '_' + grade);
}
export function getFriendShipById(shipId: number, level: number) {
return gameData.friendShips.get(shipId + '_' + level);
export function getFriendShipByIdAndLv(actorId: number, shipId: number, level: number) {
return gameData.friendShipsByLv.get(`${actorId}_${shipId}_${level}`);
}
export function getGoodById(gid: number) {
@@ -1057,7 +1058,6 @@ function loadDatas() {
loadWarJson();
loadFashions();
loadFriendShip();
loadFriendShipLevel();
loadHeroQualityUp();
loadHeroStar();
loadHeroWake();