mirror of
https://github.com/Sendouc/sendou.ink.git
synced 2026-08-25 04:26:00 -05:00
Move abilityPoints calculation to caller
This commit is contained in:
@@ -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 {
|
||||
|
||||
@@ -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,
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user