@kar-mi/spirit-vale-tools-items 0.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +28 -0
- package/dist/catalog.d.ts +59 -0
- package/dist/catalog.d.ts.map +1 -0
- package/dist/definitions/artifacts.d.ts +2236 -0
- package/dist/definitions/artifacts.d.ts.map +1 -0
- package/dist/definitions/cards.d.ts +3241 -0
- package/dist/definitions/cards.d.ts.map +1 -0
- package/dist/definitions/consumables.d.ts +129 -0
- package/dist/definitions/consumables.d.ts.map +1 -0
- package/dist/definitions/cosmetics.d.ts +4721 -0
- package/dist/definitions/cosmetics.d.ts.map +1 -0
- package/dist/definitions/equipment.d.ts +17157 -0
- package/dist/definitions/equipment.d.ts.map +1 -0
- package/dist/definitions/gems.d.ts +1557 -0
- package/dist/definitions/gems.d.ts.map +1 -0
- package/dist/definitions/index.d.ts +30147 -0
- package/dist/definitions/index.d.ts.map +1 -0
- package/dist/definitions/junks.d.ts +1133 -0
- package/dist/definitions/junks.d.ts.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +39165 -0
- package/dist/substat-caps.d.ts +17 -0
- package/dist/substat-caps.d.ts.map +1 -0
- package/package.json +28 -0
package/README.md
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# @kar-mi/spirit-vale-tools-items
|
|
2
|
+
|
|
3
|
+
Build-scoped Spirit Vale item catalog utilities.
|
|
4
|
+
|
|
5
|
+
## Install
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
bun add @kar-mi/spirit-vale-tools-items
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
```ts
|
|
14
|
+
import { loadBundledItemCatalog, resolveFishNetItem } from "@kar-mi/spirit-vale-tools-items";
|
|
15
|
+
|
|
16
|
+
const catalog = loadBundledItemCatalog();
|
|
17
|
+
console.log(catalog.buildFingerprint);
|
|
18
|
+
|
|
19
|
+
const item = resolveFishNetItem(0, "Molten Core");
|
|
20
|
+
if (item) {
|
|
21
|
+
console.log(item.displayName, item.itemType, item.effects);
|
|
22
|
+
}
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
`resolveFishNetItem` returns `undefined` for unknown items; use
|
|
26
|
+
`requireFishNetItem` when a missing entry should throw instead.
|
|
27
|
+
|
|
28
|
+
See the [package guide](https://github.com/kar-mi/spirit-vale-tools/blob/main/docs/packages.md) for registry setup and usage.
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
export type FishNetItemType = 0 | 1 | 2 | 3 | 4 | 5 | 6;
|
|
2
|
+
export type FishNetItemSubstatGroup = "Accessory" | "Chest" | "Feet" | "Headgear" | "Legs" | "Magic" | "Melee" | "Ranged" | "Artifact";
|
|
3
|
+
interface FishNetItemEffectTarget {
|
|
4
|
+
readonly kind: "element" | "skill" | "status";
|
|
5
|
+
readonly id: string;
|
|
6
|
+
}
|
|
7
|
+
/** A stat contribution supplied by an item's innate effect. */
|
|
8
|
+
export interface FishNetItemEffect {
|
|
9
|
+
readonly type: number;
|
|
10
|
+
readonly value: number;
|
|
11
|
+
/** Optional entity named by this stat; its meaning is determined by `kind`. */
|
|
12
|
+
readonly target?: FishNetItemEffectTarget;
|
|
13
|
+
}
|
|
14
|
+
export interface FishNetArtifactSetEffects {
|
|
15
|
+
readonly requiredPieces: number;
|
|
16
|
+
/** Set effects applied once whenever at least one matching piece is equipped. */
|
|
17
|
+
readonly perPieceBase: readonly FishNetItemEffect[];
|
|
18
|
+
/** Set effects repeated for every matching equipped artifact. */
|
|
19
|
+
readonly perPiece: readonly FishNetItemEffect[];
|
|
20
|
+
readonly fullSet: readonly FishNetItemEffect[];
|
|
21
|
+
}
|
|
22
|
+
export type FishNetArtifactSlot = "Rune" | "Jewel" | "Scroll" | "Relic";
|
|
23
|
+
export interface FishNetItemDefinition {
|
|
24
|
+
readonly itemType: FishNetItemType;
|
|
25
|
+
readonly id: string;
|
|
26
|
+
readonly displayName: string;
|
|
27
|
+
/** Per-item inventory weight when this item category uses a fixed weight. */
|
|
28
|
+
readonly weight?: number;
|
|
29
|
+
readonly substatGroup?: FishNetItemSubstatGroup;
|
|
30
|
+
readonly effects?: readonly FishNetItemEffect[];
|
|
31
|
+
/** Effects added once for every refine level on this item. */
|
|
32
|
+
readonly refineEffects?: readonly FishNetItemEffect[];
|
|
33
|
+
/** Set-count effects for artifact definitions. */
|
|
34
|
+
readonly artifactSet?: FishNetArtifactSetEffects;
|
|
35
|
+
/** Individual artifact effects keyed by the artifact slot they belong to. */
|
|
36
|
+
readonly artifactSlotEffects?: Partial<Record<FishNetArtifactSlot, readonly FishNetItemEffect[]>>;
|
|
37
|
+
readonly artifactSlotRefineEffects?: Partial<Record<FishNetArtifactSlot, readonly FishNetItemEffect[]>>;
|
|
38
|
+
}
|
|
39
|
+
export interface FishNetEquipmentItemDefinition extends FishNetItemDefinition {
|
|
40
|
+
readonly itemType: 2;
|
|
41
|
+
/** Inventory weight used by the game for one copy of this equipment item. */
|
|
42
|
+
readonly weight: number;
|
|
43
|
+
}
|
|
44
|
+
export interface FishNetItemCatalog {
|
|
45
|
+
readonly buildFingerprint: string;
|
|
46
|
+
readonly items: readonly FishNetItemDefinition[];
|
|
47
|
+
}
|
|
48
|
+
export declare function loadBundledItemCatalog(buildFingerprint?: string): FishNetItemCatalog;
|
|
49
|
+
export declare class FishNetItemDirectory {
|
|
50
|
+
private readonly definitions;
|
|
51
|
+
constructor(catalog?: FishNetItemCatalog);
|
|
52
|
+
resolve(itemType: number, itemId: string | null | undefined): FishNetItemDefinition | undefined;
|
|
53
|
+
require(itemType: number, itemId: string): FishNetItemDefinition;
|
|
54
|
+
}
|
|
55
|
+
export declare function resolveFishNetItem(itemType: number, itemId: string | null | undefined): FishNetItemDefinition | undefined;
|
|
56
|
+
export declare function resolveFishNetItemDisplayName(itemType: number, itemId: string | null | undefined): string | undefined;
|
|
57
|
+
export declare function requireFishNetItem(itemType: number, itemId: string): FishNetItemDefinition;
|
|
58
|
+
export {};
|
|
59
|
+
//# sourceMappingURL=catalog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"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"}
|