@kar-mi/spirit-vale-tools-combat 4.0.0 → 5.0.1
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/dist/events/combat-decoding.d.ts +41 -0
- package/dist/events/combat-decoding.d.ts.map +1 -0
- package/dist/{combat-tracker.d.ts → events/combat-events.d.ts} +3 -123
- package/dist/events/combat-events.d.ts.map +1 -0
- package/dist/events/damage-observer.d.ts +12 -0
- package/dist/events/damage-observer.d.ts.map +1 -0
- package/dist/events/decoded-fields.d.ts +5 -0
- package/dist/events/decoded-fields.d.ts.map +1 -0
- package/dist/events/effect-display.d.ts.map +1 -0
- package/dist/events/generated/combat-semantics.d.ts.map +1 -0
- package/dist/events/inference/recovery-style.d.ts.map +1 -0
- package/dist/history/importer.d.ts.map +1 -1
- package/dist/history/store.d.ts +2 -2
- package/dist/history/store.d.ts.map +1 -1
- package/dist/index.d.ts +26 -21
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +629 -651
- package/dist/reducers/damage.d.ts +2 -2
- package/dist/reducers/damage.d.ts.map +1 -1
- package/dist/reducers/meter-group.d.ts +21 -0
- package/dist/reducers/meter-group.d.ts.map +1 -0
- package/dist/reducers/meter.d.ts +2 -2
- package/dist/reducers/meter.d.ts.map +1 -1
- package/dist/reducers/rows.d.ts +2 -2
- package/dist/reducers/rows.d.ts.map +1 -1
- package/dist/{snapshot.d.ts → reducers/snapshot.d.ts} +11 -11
- package/dist/reducers/snapshot.d.ts.map +1 -0
- package/dist/{live-log.d.ts → replay/live-log.d.ts} +4 -3
- package/dist/replay/live-log.d.ts.map +1 -0
- package/dist/{replay-capture.d.ts → replay/replay-capture.d.ts} +4 -7
- package/dist/replay/replay-capture.d.ts.map +1 -0
- package/dist/replay/replay-summary.d.ts.map +1 -0
- package/dist/{replay.d.ts → replay/replay.d.ts} +4 -4
- package/dist/replay/replay.d.ts.map +1 -0
- package/dist/{live-combat.d.ts → runtime/live-combat.d.ts} +6 -7
- package/dist/runtime/live-combat.d.ts.map +1 -0
- package/dist/testing/combat-packets.d.ts +28 -0
- package/dist/testing/combat-packets.d.ts.map +1 -0
- package/dist/{actor-directory.d.ts → tracking/actor-directory.d.ts} +18 -0
- package/dist/tracking/actor-directory.d.ts.map +1 -0
- package/dist/tracking/boss-catalog.d.ts +4 -0
- package/dist/tracking/boss-catalog.d.ts.map +1 -0
- package/dist/tracking/combat-tracker.d.ts +76 -0
- package/dist/tracking/combat-tracker.d.ts.map +1 -0
- package/dist/tracking/monster-identity.d.ts +32 -0
- package/dist/tracking/monster-identity.d.ts.map +1 -0
- package/dist/tracking/position-tracker.d.ts.map +1 -0
- package/dist/{status-tracker.d.ts → tracking/status-tracker.d.ts} +1 -1
- package/dist/tracking/status-tracker.d.ts.map +1 -0
- package/dist/tracking/summon-tracker.d.ts +47 -0
- package/dist/tracking/summon-tracker.d.ts.map +1 -0
- package/package.json +7 -7
- package/dist/actor-directory.d.ts.map +0 -1
- package/dist/boss-catalog.d.ts +0 -6
- package/dist/boss-catalog.d.ts.map +0 -1
- package/dist/combat-tracker.d.ts.map +0 -1
- package/dist/effect-display.d.ts.map +0 -1
- package/dist/generated/combat-semantics.d.ts.map +0 -1
- package/dist/inference/recovery-style.d.ts.map +0 -1
- package/dist/live-combat.d.ts.map +0 -1
- package/dist/live-log.d.ts.map +0 -1
- package/dist/position-tracker.d.ts.map +0 -1
- package/dist/replay-capture.d.ts.map +0 -1
- package/dist/replay-summary.d.ts.map +0 -1
- package/dist/replay.d.ts.map +0 -1
- package/dist/snapshot.d.ts.map +0 -1
- package/dist/status-tracker.d.ts.map +0 -1
- /package/dist/{effect-display.d.ts → events/effect-display.d.ts} +0 -0
- /package/dist/{generated → events/generated}/combat-semantics.d.ts +0 -0
- /package/dist/{inference → events/inference}/recovery-style.d.ts +0 -0
- /package/dist/{replay-summary.d.ts → replay/replay-summary.d.ts} +0 -0
- /package/dist/{position-tracker.d.ts → tracking/position-tracker.d.ts} +0 -0
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { DecodedFishNetPacket, FishNetDecodedValue, FishNetRpcMap } from "@kar-mi/spirit-vale-tools-capture";
|
|
2
|
+
import type { FishNetCombatMonsterIdentityEvent, FishNetHealingTraits } from "./combat-events.ts";
|
|
3
|
+
export interface SummonCalibrationEntry {
|
|
4
|
+
skillId: string;
|
|
5
|
+
level: number;
|
|
6
|
+
}
|
|
7
|
+
export interface LoginEffectEntry {
|
|
8
|
+
statusId: string;
|
|
9
|
+
level: number;
|
|
10
|
+
remainingSeconds?: number;
|
|
11
|
+
stacks: number;
|
|
12
|
+
}
|
|
13
|
+
export interface BondSyncEntry {
|
|
14
|
+
otherId: number;
|
|
15
|
+
skillId: string;
|
|
16
|
+
caster: boolean;
|
|
17
|
+
}
|
|
18
|
+
export interface DamageSource {
|
|
19
|
+
sourceId: string;
|
|
20
|
+
sourceLabel: string;
|
|
21
|
+
}
|
|
22
|
+
export declare function matchesBehaviour(packet: DecodedFishNetPacket, expected: string): boolean;
|
|
23
|
+
export declare function stringField(packet: DecodedFishNetPacket, name: string): string | undefined;
|
|
24
|
+
export declare function requiredNumberField(packet: DecodedFishNetPacket, name: string): number;
|
|
25
|
+
export declare function requiredBooleanField(packet: DecodedFishNetPacket, name: string): boolean;
|
|
26
|
+
export declare function requiredVectorField(packet: DecodedFishNetPacket, name: string): number[];
|
|
27
|
+
export declare function decodedFieldRecord(packet: DecodedFishNetPacket): Record<string, FishNetDecodedValue>;
|
|
28
|
+
export declare function healthComponentIndices(map: FishNetRpcMap | undefined): ReadonlySet<number>;
|
|
29
|
+
export declare function isCompleteRecoverPacket(packet: DecodedFishNetPacket): boolean;
|
|
30
|
+
export declare function damageSignature(tick: number, targetId: number, actorId: number, sourceId: string, value: number, hitCode: number): string;
|
|
31
|
+
export declare function drainRecoverySource(traits: FishNetHealingTraits | undefined): DamageSource;
|
|
32
|
+
export declare function resolveDamageSource(rawSourceId: string | null | undefined, damageType: number, skillLabels: ReadonlyMap<string, string>): DamageSource;
|
|
33
|
+
export declare function uniqueMonsterIdentityEvents(events: FishNetCombatMonsterIdentityEvent[]): FishNetCombatMonsterIdentityEvent[];
|
|
34
|
+
export declare function barrierSyncValues(packet: DecodedFishNetPacket): number[];
|
|
35
|
+
export declare function bondSyncEntries(packet: DecodedFishNetPacket): BondSyncEntry[] | undefined;
|
|
36
|
+
export declare function decodeFloaterSettings(payload: Buffer, start: number): NonNullable<DecodedFishNetPacket["decodedFields"]> | undefined;
|
|
37
|
+
/** Reads only the generated nested-field shape; missing, partial, or trailing data fails closed. */
|
|
38
|
+
export declare function decodedSummonCalibration(packet: DecodedFishNetPacket): SummonCalibrationEntry[] | undefined;
|
|
39
|
+
/** Reads only the generated `State.Effects` nested-field shape; missing, partial, or trailing data fails closed. */
|
|
40
|
+
export declare function decodedLoginEffects(packet: DecodedFishNetPacket): LoginEffectEntry[] | undefined;
|
|
41
|
+
//# sourceMappingURL=combat-decoding.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"combat-decoding.d.ts","sourceRoot":"","sources":["../../src/events/combat-decoding.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { FishNetDecodedValue } from "@kar-mi/spirit-vale-tools-capture";
|
|
2
2
|
import type { FishNetSkillCatalog } from "@kar-mi/spirit-vale-tools-skills";
|
|
3
3
|
import type { FishNetRecoveryStyle } from "./inference/recovery-style.ts";
|
|
4
4
|
export type FishNetCombatActionKind = "skill" | "basicAttack" | "inferred";
|
|
@@ -36,8 +36,6 @@ export interface FishNetCombatTrackerOptions {
|
|
|
36
36
|
actorIdentityResolver?: (actorId: number) => FishNetCombatActorIdentity | undefined;
|
|
37
37
|
/** Resolves healing mechanics for actors whose local character build is visible. */
|
|
38
38
|
healingTraitsResolver?: (actorId: number) => FishNetHealingTraits | undefined;
|
|
39
|
-
/** @deprecated Summon packets now require a verified object id; retained as an unused compatibility option. */
|
|
40
|
-
localActorIdResolver?: () => number | undefined;
|
|
41
39
|
/** Names monsters seen spawning, emitting identity lifecycle events keyed by network object id. */
|
|
42
40
|
monsterCatalog?: FishNetMonsterCatalog;
|
|
43
41
|
/** Fallback names for otherwise-anonymous bosses; game-provided identities always win. */
|
|
@@ -170,7 +168,7 @@ export interface FishNetCombatSummonEvent {
|
|
|
170
168
|
actorIdentity?: FishNetCombatActorIdentity;
|
|
171
169
|
}
|
|
172
170
|
/** A `PlayerController.FullHeal_C`, which restores an actor outright. */
|
|
173
|
-
interface FishNetCombatFullHealEvent {
|
|
171
|
+
export interface FishNetCombatFullHealEvent {
|
|
174
172
|
kind: "fullHeal";
|
|
175
173
|
rpc: "FullHeal_C";
|
|
176
174
|
tick: number;
|
|
@@ -230,122 +228,4 @@ export interface FishNetCombatShieldEvent {
|
|
|
230
228
|
actorIdentity?: FishNetCombatActorIdentity;
|
|
231
229
|
}
|
|
232
230
|
export type FishNetCombatEvent = FishNetCombatMonsterIdentityEvent | FishNetCombatActivationEvent | FishNetCombatDamageEvent | FishNetCombatDeathEvent | FishNetCombatStatusEvent | FishNetCombatSummonEvent | FishNetCombatHealEvent | FishNetCombatShieldEvent | FishNetCombatFullHealEvent;
|
|
233
|
-
|
|
234
|
-
export declare class FishNetCombatTracker {
|
|
235
|
-
private readonly hitGraceTicks;
|
|
236
|
-
private readonly activationMaxAgeTicks;
|
|
237
|
-
private readonly skillLabels;
|
|
238
|
-
private readonly actorIdentityResolver?;
|
|
239
|
-
private readonly healingTraitsResolver?;
|
|
240
|
-
private readonly monsterCatalog?;
|
|
241
|
-
private readonly bossCatalog?;
|
|
242
|
-
private readonly monsters?;
|
|
243
|
-
private readonly healthComponentIndices;
|
|
244
|
-
private readonly directHealingSkillIds;
|
|
245
|
-
private readonly regenerationSkillIds;
|
|
246
|
-
private readonly barrierSkillIds;
|
|
247
|
-
private readonly barrierStatusIds;
|
|
248
|
-
private readonly activations;
|
|
249
|
-
/** Curated boss names are valid only for the lifetime of their network object id. */
|
|
250
|
-
private readonly bossIdentities;
|
|
251
|
-
private readonly activeRegenSources;
|
|
252
|
-
/** Guardian Bond sources keyed by recipient actor. */
|
|
253
|
-
private readonly bondRegenSources;
|
|
254
|
-
private readonly barriers;
|
|
255
|
-
/** The most recent positive incoming hit this tick, per target, so an absorb can name the skill that caused it. */
|
|
256
|
-
private readonly recentDamageHits;
|
|
257
|
-
private readonly summonStacks;
|
|
258
|
-
/** Pending `SummonSkillSync`/`SummonerSync` state per summoned object's own network id, until both are known. */
|
|
259
|
-
private readonly summonSkillSyncState;
|
|
260
|
-
/** Actors for whom a `CalibrateSummons_T` snapshot has been seen; the `SummonSkillSync` fallback stops touching their stacks from then on, since the batch RPC now fully owns them. */
|
|
261
|
-
private readonly authoritativeSummonActors;
|
|
262
|
-
private readonly recentDamageSignatures;
|
|
263
|
-
private recentDamageTick;
|
|
264
|
-
private nextActivation;
|
|
265
|
-
constructor(options?: FishNetCombatTrackerOptions);
|
|
266
|
-
consume(packet: DecodedFishNetPacket): FishNetCombatEvent[];
|
|
267
|
-
reset(): void;
|
|
268
|
-
private monsterIdentity;
|
|
269
|
-
/** Uses the normal monster-identity path so all consumers receive the curated boss name. */
|
|
270
|
-
private bossIdentity;
|
|
271
|
-
/**
|
|
272
|
-
* FishNet may reuse an object id in a later zone. Drop a curated boss name at every object
|
|
273
|
-
* lifetime boundary so the next boss cannot inherit the old one's identity before it casts.
|
|
274
|
-
*/
|
|
275
|
-
private bossIdentityLifecycle;
|
|
276
|
-
/**
|
|
277
|
-
* Turns the observers-facing status broadcast into the same status events as the owner-only
|
|
278
|
-
* `ApplyEffect_T`/`RemoveEffect_T` pair.
|
|
279
|
-
*
|
|
280
|
-
* This feed reports every actor in range rather than just the local player, and it repeats
|
|
281
|
-
* periodically instead of only on change, so it both widens coverage and self-heals after a
|
|
282
|
-
* dropped packet. It reports real remaining time, which the owner-only path can only approximate
|
|
283
|
-
* from the catalog. It carries no level, so the events omit one and consumers keep whatever the
|
|
284
|
-
* owner-only feed last reported.
|
|
285
|
-
*/
|
|
286
|
-
private consumeEffectDisplays;
|
|
287
|
-
/** Recovers only current-build payloads whose domain codec and component position both agree. */
|
|
288
|
-
private recoverAmbiguousCombat;
|
|
289
|
-
/**
|
|
290
|
-
* Turns the skill-icon display feed into status events.
|
|
291
|
-
*
|
|
292
|
-
* `ApplySkillDisplay_O`/`RemoveSkillDisplay_O` announce a *skill* shown on an actor - stances and
|
|
293
|
-
* auras such as `SilentEdge` that the effect feed does not report. Ids do overlap it in places
|
|
294
|
-
* (`FlowState`, `AngelicBlessing` appear on both), and this feed carries no timing at all, so it
|
|
295
|
-
* must never overwrite an expiry the effect feed established. `consumeStatus` enforces that by
|
|
296
|
-
* keeping a known expiry when an event brings none.
|
|
297
|
-
*/
|
|
298
|
-
private consumeSkillDisplay;
|
|
299
|
-
/**
|
|
300
|
-
* Login restores whichever effects were active at save time through `PlayerSave.LoadCharacter_T`'s
|
|
301
|
-
* own `State.Effects` snapshot - no other packet reports them. Unlike `ApplyEffectDisplays_O`
|
|
302
|
-
* (which repeats and self-heals), this fires once per login, so a status it lists that never gets
|
|
303
|
-
* an explicit apply afterward would otherwise never appear at all.
|
|
304
|
-
*/
|
|
305
|
-
private consumeLoginEffects;
|
|
306
|
-
/**
|
|
307
|
-
* Login restores an existing summon through `SummonSkillSync` (a `SummoningComponent` SyncType),
|
|
308
|
-
* not `CalibrateSummons_T` - that RPC only fires on a later change, so without this the overlay
|
|
309
|
-
* shows nothing for a summon that was already active when the client connected.
|
|
310
|
-
*
|
|
311
|
-
* `SummonSkillSync` lives on the summoned object's own `SummoningComponent`, not the owner's - the
|
|
312
|
-
* packet's `objectId` names the summon (e.g. one skeleton), not the actor to credit. `SummonerSync`,
|
|
313
|
-
* a sibling SyncType on that same component, is the owner reference. FishNet sends every dirty
|
|
314
|
-
* SyncType on login together, so both usually arrive in the same packet, but not always in the same
|
|
315
|
-
* order, and only a change re-sends a SyncType afterward - so `summonSkillSyncState` accumulates
|
|
316
|
-
* whichever field arrives first, per summon object, until both are known. Each summon object
|
|
317
|
-
* contributes its own +1 once (never more), so two objects reporting the same skill both count -
|
|
318
|
-
* this is per-object state, not a "have I seen this skill" flag.
|
|
319
|
-
*/
|
|
320
|
-
private consumeSummonSkillSync;
|
|
321
|
-
/**
|
|
322
|
-
* Clears a summon object's `SummonSkillSync` bookkeeping on despawn (or a respawn reusing the same
|
|
323
|
-
* network object id), so a later reused id starts fresh rather than inheriting a stale owner/skill.
|
|
324
|
-
* Also corrects the stack count for an object this tracker itself counted in, unless a
|
|
325
|
-
* `CalibrateSummons_T` snapshot has since taken over that actor's stacks (which will correct the
|
|
326
|
-
* count on its own).
|
|
327
|
-
*/
|
|
328
|
-
private consumeSummonObjectLifecycle;
|
|
329
|
-
/** Adjusts one actor's stack count for one skill by `delta` and reports the resulting total. */
|
|
330
|
-
private applySummonDelta;
|
|
331
|
-
private consumeSummonCalibration;
|
|
332
|
-
/** Diffs one summon snapshot against the actor's last known stacks and emits only the changes. */
|
|
333
|
-
private applySummonSnapshot;
|
|
334
|
-
private consumeSkill;
|
|
335
|
-
private beginAttack;
|
|
336
|
-
private consumeDamage;
|
|
337
|
-
private consumeRecover;
|
|
338
|
-
private consumeBarrierSync;
|
|
339
|
-
/** Reads Guardian Bond sources from recipient-side BondSync entries. */
|
|
340
|
-
private consumeBondSync;
|
|
341
|
-
private createSelfRecovery;
|
|
342
|
-
private eligibleHealActivations;
|
|
343
|
-
private consumeStatus;
|
|
344
|
-
private observeBarrierStatus;
|
|
345
|
-
private createActivation;
|
|
346
|
-
private findLifecycleActivation;
|
|
347
|
-
private eligibleActivations;
|
|
348
|
-
private pruneExpired;
|
|
349
|
-
}
|
|
350
|
-
export {};
|
|
351
|
-
//# sourceMappingURL=combat-tracker.d.ts.map
|
|
231
|
+
//# sourceMappingURL=combat-events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"combat-events.d.ts","sourceRoot":"","sources":["../../src/events/combat-events.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { DecodedFishNetPacket } from "@kar-mi/spirit-vale-tools-capture";
|
|
2
|
+
export interface FishNetDamageObservation {
|
|
3
|
+
kind: "damage" | "death";
|
|
4
|
+
tick: number;
|
|
5
|
+
actorId: number;
|
|
6
|
+
targetId: number;
|
|
7
|
+
value: number;
|
|
8
|
+
team: number;
|
|
9
|
+
}
|
|
10
|
+
/** Decodes only the authoritative hit identity needed by consumers that do not need attribution. */
|
|
11
|
+
export declare function observeFishNetDamagePacket(packet: DecodedFishNetPacket): FishNetDamageObservation | undefined;
|
|
12
|
+
//# sourceMappingURL=damage-observer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"damage-observer.d.ts","sourceRoot":"","sources":["../../src/events/damage-observer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAG9E,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,oGAAoG;AACpG,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,oBAAoB,GAAG,wBAAwB,GAAG,SAAS,CAuB7G"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { DecodedFishNetPacket, FishNetDecodedValue } from "@kar-mi/spirit-vale-tools-capture";
|
|
2
|
+
export declare function field(packet: DecodedFishNetPacket, name: string): FishNetDecodedValue | undefined;
|
|
3
|
+
export declare function numberField(packet: DecodedFishNetPacket, name: string): number | undefined;
|
|
4
|
+
export declare function nullableStringField(packet: DecodedFishNetPacket, name: string): string | null | undefined;
|
|
5
|
+
//# sourceMappingURL=decoded-fields.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decoded-fields.d.ts","sourceRoot":"","sources":["../../src/events/decoded-fields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAEnG,wBAAgB,KAAK,CAAC,MAAM,EAAE,oBAAoB,EAAE,IAAI,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS,CAEjG;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,oBAAoB,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAG1F;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,oBAAoB,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAGzG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"effect-display.d.ts","sourceRoot":"","sources":["../../src/events/effect-display.ts"],"names":[],"mappings":"AAGA,UAAU,oBAAoB;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,kCAAkC;IAClC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,oBAAoB,EAAE,CAAC;IAChC,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,8EAA8E;AAC9E,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,yBAAyB,CA2C/E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"combat-semantics.d.ts","sourceRoot":"","sources":["../../../src/events/generated/combat-semantics.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,eAAO,MAAM,kCAAkC,qEAAqE,CAAC;AACrH,eAAO,MAAM,wBAAwB,aAMnC,CAAC;AACH,eAAO,MAAM,sBAAsB,aAKjC,CAAC;AACH,eAAO,MAAM,iBAAiB,aAI5B,CAAC;AACH,eAAO,MAAM,kBAAkB,aAK7B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recovery-style.d.ts","sourceRoot":"","sources":["../../../src/events/inference/recovery-style.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAE9E,MAAM,MAAM,oBAAoB,GAAG,UAAU,GAAG,sBAAsB,GAAG,OAAO,GAAG,SAAS,CAAC;AAE7F,mGAAmG;AACnG,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,IAAI,CAAC,oBAAoB,EAAE,sBAAsB,GAAG,SAAS,GAAG,eAAe,CAAC,GACvF,oBAAoB,CAatB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"importer.d.ts","sourceRoot":"","sources":["../../src/history/importer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAsB,iBAAiB,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAKzG,OAAO,KAAK,EAAkB,oBAAoB,EAAmD,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"importer.d.ts","sourceRoot":"","sources":["../../src/history/importer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAsB,iBAAiB,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAKzG,OAAO,KAAK,EAAkB,oBAAoB,EAAmD,MAAM,uBAAuB,CAAC;AAWnI,MAAM,WAAW,wBAAyB,SAAQ,IAAI,CAAC,oBAAoB,EAAE,WAAW,GAAG,mBAAmB,CAAC;IAC7G,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,kDAAkD;AAClD,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAkGvH"}
|
package/dist/history/store.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ReadModel } from "@kar-mi/spirit-vale-tools-sqlite";
|
|
2
|
-
import type {
|
|
2
|
+
import type { CombatEncounterSnapshot } from "../reducers/snapshot.ts";
|
|
3
3
|
import type { RenderOptions } from "../reducers/rows.ts";
|
|
4
4
|
export interface Page<T> {
|
|
5
5
|
items: T[];
|
|
@@ -88,7 +88,7 @@ export declare class CombatHistoryStore {
|
|
|
88
88
|
* Tanked and healing rates divide by the encounter's own duration, taken from the encounter row,
|
|
89
89
|
* so they stay comparable with the damage figure even when incoming hits span a shorter window.
|
|
90
90
|
*/
|
|
91
|
-
getEncounter(sessionId: string, encounterId: string, options?: GetEncounterOptions):
|
|
91
|
+
getEncounter(sessionId: string, encounterId: string, options?: GetEncounterOptions): CombatEncounterSnapshot | undefined;
|
|
92
92
|
private loadEncounter;
|
|
93
93
|
}
|
|
94
94
|
//# sourceMappingURL=store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/history/store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAElE,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/history/store.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,15 +1,20 @@
|
|
|
1
|
-
export { FishNetCombatTracker } from "./combat-tracker.ts";
|
|
2
|
-
export
|
|
3
|
-
export {
|
|
4
|
-
export {
|
|
5
|
-
export {
|
|
6
|
-
export type {
|
|
7
|
-
export {
|
|
8
|
-
export
|
|
9
|
-
export {
|
|
10
|
-
export
|
|
11
|
-
export {
|
|
12
|
-
export
|
|
1
|
+
export { FishNetCombatTracker } from "./tracking/combat-tracker.ts";
|
|
2
|
+
export { FishNetMonsterIdentityTracker } from "./tracking/monster-identity.ts";
|
|
3
|
+
export type { FishNetMonsterIdentityTrackerOptions } from "./tracking/monster-identity.ts";
|
|
4
|
+
export { FishNetSummonTracker } from "./tracking/summon-tracker.ts";
|
|
5
|
+
export { observeFishNetDamagePacket } from "./events/damage-observer.ts";
|
|
6
|
+
export type { FishNetDamageObservation } from "./events/damage-observer.ts";
|
|
7
|
+
export type { FishNetRecoveryStyle } from "./events/inference/recovery-style.ts";
|
|
8
|
+
export { createBossCatalog } from "./tracking/boss-catalog.ts";
|
|
9
|
+
export { FishNetActorDirectory } from "./tracking/actor-directory.ts";
|
|
10
|
+
export { FishNetStatusTracker } from "./tracking/status-tracker.ts";
|
|
11
|
+
export type { FishNetActiveStatus, FishNetStatusTrackerOptions } from "./tracking/status-tracker.ts";
|
|
12
|
+
export { loadDpsReplay, parseDpsLogRecord } from "./replay/replay.ts";
|
|
13
|
+
export type { DpsReplayResult } from "./replay/replay.ts";
|
|
14
|
+
export { decodeCombatCaptureJsonLines, replayCombatCapture, replayCombatCaptures } from "./replay/replay-capture.ts";
|
|
15
|
+
export type { CombatCaptureReplayOptions, CombatCaptureReplayResult } from "./replay/replay-capture.ts";
|
|
16
|
+
export { formatCombatReplaySummary, inspectCombatReplaySummary, readCombatReplaySummary } from "./replay/replay-summary.ts";
|
|
17
|
+
export type { CombatReplayInspection, CombatReplaySummary } from "./replay/replay-summary.ts";
|
|
13
18
|
export { COMBAT_DOMAIN_NAME, COMBAT_DOMAIN_VERSION, createCombatDomain } from "./history/domain.ts";
|
|
14
19
|
export { indexCombatStream } from "./history/importer.ts";
|
|
15
20
|
export type { IndexCombatStreamOptions } from "./history/importer.ts";
|
|
@@ -19,17 +24,17 @@ export { DamageReducer } from "./reducers/damage.ts";
|
|
|
19
24
|
export type { ActorAggregate, CombatIdentity, DamageReducerOptions, EncounterAggregate, EnemySkillStats, SkillAggregate, } from "./reducers/damage.ts";
|
|
20
25
|
export { MeterReducer } from "./reducers/meter.ts";
|
|
21
26
|
export type { MeterKind, MeterReducerOptions } from "./reducers/meter.ts";
|
|
22
|
-
export { LiveCombatService } from "./live-combat.ts";
|
|
23
|
-
export type { CombatEncounterRecord, LiveCombatOptions, LiveCombatState, MeterEncounterSnapshot, MeterRow, } from "./live-combat.ts";
|
|
27
|
+
export { LiveCombatService } from "./runtime/live-combat.ts";
|
|
28
|
+
export type { CombatEncounterRecord, LiveCombatOptions, LiveCombatState, MeterEncounterSnapshot, MeterRow, } from "./runtime/live-combat.ts";
|
|
24
29
|
export { actorRowId, displayActorAggregates, normalizeName, renderEncounter } from "./reducers/rows.ts";
|
|
25
30
|
export type { DisplayActorAggregate, DisplayActorOptions, RenderOptions } from "./reducers/rows.ts";
|
|
26
31
|
export { ANALYSIS_BUCKET_MS } from "./reducers/timeline.ts";
|
|
27
32
|
export type { BucketSeries, TimelinePoint } from "./reducers/timeline.ts";
|
|
28
|
-
export { DpsLogFollower, DpsSessionLogFollower } from "./live-log.ts";
|
|
29
|
-
export type { DpsLogBatch, TimedDpsLogEvent } from "./live-log.ts";
|
|
30
|
-
export type {
|
|
31
|
-
export type { FishNetActorDirectoryOptions, FishNetActorIdentity, FishNetActorIdentityEvent, FishNetActorIdentityRemoveEvent, FishNetActorIdentityResetEvent, FishNetActorIdentityUpsertEvent, FishNetKnownIdentity, FishNetLocalIdentity, } from "./actor-directory.ts";
|
|
32
|
-
export type { FishNetCombatActionKind, FishNetCombatActionPhase, FishNetCombatActivationEvent, FishNetCombatDamageEvent, FishNetCombatDeathEvent, FishNetCombatEvent, FishNetCombatHealEvent, FishNetCombatShieldEvent, FishNetCombatMonsterIdentityEvent, FishNetCombatStatusEvent, FishNetCombatSummonEvent, FishNetCombatTrackerOptions, FishNetDamageAttribution, FishNetBossCatalog, FishNetMonsterCatalog, FishNetHealAttribution, FishNetHealingTraits, FishNetHitResult, FishNetShieldAction, } from "./combat-
|
|
33
|
-
export { FishNetPositionTracker } from "./position-tracker.ts";
|
|
34
|
-
export type { FishNetPosition, FishNetPositionEvent, FishNetPositionTrackerOptions, } from "./position-tracker.ts";
|
|
33
|
+
export { DpsLogFollower, DpsSessionLogFollower } from "./replay/live-log.ts";
|
|
34
|
+
export type { DpsLogBatch, DpsSessionLogFollowerOptions, TimedDpsLogEvent } from "./replay/live-log.ts";
|
|
35
|
+
export type { CombatActorRow, CombatEncounterSnapshot, CombatPersonalMatch, CombatSkillRow, CombatTimelinePoint, } from "./reducers/snapshot.ts";
|
|
36
|
+
export type { FishNetActorDirectoryOptions, FishNetActorIdentity, FishNetActorIdentityEvent, FishNetActorIdentityRemoveEvent, FishNetActorIdentityResetEvent, FishNetActorIdentityUpsertEvent, FishNetKnownIdentity, FishNetLocalIdentity, } from "./tracking/actor-directory.ts";
|
|
37
|
+
export type { FishNetCombatActionKind, FishNetCombatActionPhase, FishNetCombatActivationEvent, FishNetCombatDamageEvent, FishNetCombatDeathEvent, FishNetCombatEvent, FishNetCombatFullHealEvent, FishNetCombatHealEvent, FishNetCombatShieldEvent, FishNetCombatMonsterIdentityEvent, FishNetCombatStatusEvent, FishNetCombatSummonEvent, FishNetCombatTrackerOptions, FishNetDamageAttribution, FishNetBossCatalog, FishNetMonsterCatalog, FishNetHealAttribution, FishNetHealingTraits, FishNetHitResult, FishNetShieldAction, } from "./events/combat-events.ts";
|
|
38
|
+
export { FishNetPositionTracker } from "./tracking/position-tracker.ts";
|
|
39
|
+
export type { FishNetPosition, FishNetPositionEvent, FishNetPositionTrackerOptions, } from "./tracking/position-tracker.ts";
|
|
35
40
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAC/E,YAAY,EAAE,oCAAoC,EAAE,MAAM,gCAAgC,CAAC;AAC3F,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,YAAY,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAC5E,YAAY,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,YAAY,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AACrG,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACtE,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,4BAA4B,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACrH,YAAY,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACxG,OAAO,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAC5H,YAAY,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAC9F,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACpG,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,YAAY,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,YAAY,EACV,cAAc,EACd,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,EACb,mBAAmB,EACnB,mBAAmB,EACnB,IAAI,EACJ,WAAW,GACZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,YAAY,EACV,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,cAAc,GACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,YAAY,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,YAAY,EACV,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EACf,sBAAsB,EACtB,QAAQ,GACT,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,sBAAsB,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACxG,YAAY,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACpG,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7E,YAAY,EAAE,WAAW,EAAE,4BAA4B,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxG,YAAY,EACV,cAAc,EACd,uBAAuB,EACvB,mBAAmB,EACnB,cAAc,EACd,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EACV,4BAA4B,EAC5B,oBAAoB,EACpB,yBAAyB,EACzB,+BAA+B,EAC/B,8BAA8B,EAC9B,+BAA+B,EAC/B,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,+BAA+B,CAAC;AACvC,YAAY,EACV,uBAAuB,EACvB,wBAAwB,EACxB,4BAA4B,EAC5B,wBAAwB,EACxB,uBAAuB,EACvB,kBAAkB,EAClB,0BAA0B,EAC1B,sBAAsB,EACtB,wBAAwB,EACxB,iCAAiC,EACjC,wBAAwB,EACxB,wBAAwB,EACxB,2BAA2B,EAC3B,wBAAwB,EACxB,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,YAAY,EACV,eAAe,EACf,oBAAoB,EACpB,6BAA6B,GAC9B,MAAM,gCAAgC,CAAC"}
|