羁绊:升级方法修改,使用点击升级的方案

This commit is contained in:
luying
2022-07-11 19:25:33 +08:00
parent ae369f7bf2
commit 7bec79b12e
3 changed files with 61 additions and 29 deletions

View File

@@ -15,7 +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, friendShipsByLv, loadFriendShip } from "./dictionary/DicFriendShip";
import { friendShips, friendShipsByLv, friendShipsMax, loadFriendShip } from "./dictionary/DicFriendShip";
import { dicHeroQualityUp, loadHeroQualityUp } from "./dictionary/DicHeroQualityUp";
import { dicHeroStar, loadHeroStar } from "./dictionary/DicHeroStar";
import { dicHeroWake, loadHeroWake } from "./dictionary/DicHeroWake";
@@ -139,6 +139,7 @@ export const gameData = {
fashionBySkinId: dicFashionsByHeroId,
friendShips: friendShips,
friendShipsByLv: friendShipsByLv,
friendShipsMax: friendShipsMax,
randomEffectPool: dicRandomEffectPool,
randomEffectPoolByGroupAndLv: dicRandomEffectPoolByGroupAndLv,
title: dicTitle,
@@ -322,6 +323,10 @@ export function hasCurConnect(actorId: number, shipId: number) {
return gameData.friendShips.has(`${actorId}_${shipId}`);
}
export function getConnectMaxLv(actorId: number, shipId: number) {
return gameData.friendShipsMax.get(`${actorId}_${shipId}`)||0;
}
/**
* 根据武将当前好感获得好感等级
* @param exp 累积经验
@@ -329,12 +334,11 @@ export function hasCurConnect(actorId: number, shipId: number) {
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;
let newLv = 0;
for(let { level, shipExp } of exps) {
if(newExp >= shipExp) newLv = level;
if(maxLv < level) maxLv = level
}
return { newLv, maxLv }
return newLv
}
export function getBossHpByWarId(warId: number) {

View File

@@ -23,6 +23,7 @@ export interface DicFriendShip {
export const friendShips = new Map<string, { level: number, shipExp: number }[]>();
export const friendShipsByLv = new Map<string, DicFriendShip>();
export const friendShipsMax = new Map<string, number>();
export function loadFriendShip() {
friendShips.clear();
let arr = readFileAndParse(FILENAME.DIC_FRIEND_SHIP);
@@ -39,6 +40,10 @@ export function loadFriendShip() {
shipSumValue += o.shipExp;
friendShips.get(key1).push({ level: o.level, shipExp: shipSumValue });
if(!friendShipsMax.has(key1) || friendShipsMax.get(key1) < o.level) {
friendShipsMax.set(key1, o.level);
}
let key2 = `${o.actorId}_${o.shipId}_${o.level}`;
friendShipsByLv.set(key2, o);
});