Move abilityPoints calculation to caller

This commit is contained in:
Kalle
2022-09-16 17:00:35 +03:00
parent db27e6b6b0
commit d07bf0af86
2 changed files with 19 additions and 15 deletions

View File

@@ -1,8 +1,6 @@
import type { MainWeaponId } from "~/modules/in-game-lists";
import type {
BuildAbilitiesTupleWithUnknown,
MainWeaponId,
} from "~/modules/in-game-lists";
import type {
AbilityPoints,
AnalyzedBuild,
DamageType,
InkConsumeType,
@@ -13,20 +11,15 @@ import type {
import { DAMAGE_TYPE } from "./types";
import { INK_CONSUME_TYPES } from "./types";
import invariant from "tiny-invariant";
import {
abilityPointsToEffects,
apFromMap,
buildToAbilityPoints,
weaponParams,
} from "./utils";
import { abilityPointsToEffects, apFromMap, weaponParams } from "./utils";
import { assertUnreachable } from "~/utils/types";
import { semiRandomId } from "~/utils/strings";
export function buildStats({
build,
abilityPoints,
weaponSplId,
}: {
build: BuildAbilitiesTupleWithUnknown;
abilityPoints: AbilityPoints;
weaponSplId: MainWeaponId;
}): AnalyzedBuild {
const mainWeaponParams = weaponParams().mainWeapons[weaponSplId];
@@ -42,7 +35,7 @@ export function buildStats({
const input: StatFunctionInput = {
mainWeaponParams,
subWeaponParams,
abilityPoints: buildToAbilityPoints(build),
abilityPoints,
};
return {

View File

@@ -9,6 +9,7 @@ import {
} from "../in-game-lists";
import type { AbilityType, AbilityWithUnknown } from "../in-game-lists/types";
import { buildStats } from "./stats";
import { buildToAbilityPoints } from "./utils";
const UNKNOWN_SHORT = "U";
@@ -26,9 +27,18 @@ export function useAnalyzeBuild() {
weapon: String(mainWeaponId),
});
const abilityPoints = React.useMemo(
() => buildToAbilityPoints(build),
[build]
);
const analyzed = React.useMemo(
() => buildStats({ build, weaponSplId: mainWeaponId }),
[build, mainWeaponId]
() =>
buildStats({
abilityPoints,
weaponSplId: mainWeaponId,
}),
[abilityPoints, mainWeaponId]
);
return {
@@ -37,6 +47,7 @@ export function useAnalyzeBuild() {
mainWeaponId,
setMainWeaponId,
analyzed,
abilityPoints,
};
}