@vault-tec/pip-boy 1.1.3 → 1.2.0

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vault-tec/pip-boy",
3
- "version": "1.1.3",
3
+ "version": "1.2.0",
4
4
  "description": "Pip-Boy Angular library.",
5
5
  "author": "Vault-Tec-Industries",
6
6
  "license": "PolyForm-Noncommercial-1.0.0",
@@ -6,19 +6,9 @@ declare class PipBoy2000MkVI {
6
6
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<PipBoy2000MkVI, "pip-boy-2000-mk-vi", never, {}, {}, never, never, true, never>;
7
7
  }
8
8
 
9
- declare class PipBoy3000a {
10
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<PipBoy3000a, never>;
11
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<PipBoy3000a, "pip-boy-3000a", never, {}, {}, never, never, true, never>;
12
- }
13
-
14
- declare class PipBoy3000MkIV {
15
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<PipBoy3000MkIV, never>;
16
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<PipBoy3000MkIV, "pip-boy-3000-mk-iv", never, {}, {}, never, never, true, never>;
17
- }
18
-
19
9
  type PipBoy3000PrimaryTab = 'STATS' | 'ITEMS' | 'DATA';
20
10
  type PipBoy3000StatsTab = 'STATUS' | 'S.P.E.C.I.A.L.' | 'SKILLS' | 'PERKS' | 'GENERAL';
21
- type PipBoy3000StatusTab = 'CND' | 'RAD' | 'EFF';
11
+ type PipBoy3000StatusTab = 'CND' | 'RAD' | 'EFF' | 'H20' | 'FOD' | 'SLP';
22
12
  type PipBoy3000ItemsTab = 'WEAPONS' | 'APPAREL' | 'AID' | 'MISC' | 'AMMO';
23
13
  type PipBoy3000DataTab = 'LOCAL MAP' | 'WORLD MAP' | 'QUESTS' | 'NOTES' | 'RADIO';
24
14
  type PipBoy3000SecondaryTab = PipBoy3000StatsTab | PipBoy3000ItemsTab | PipBoy3000DataTab;
@@ -37,17 +27,32 @@ declare class PipBoy3000State {
37
27
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<PipBoy3000State>;
38
28
  }
39
29
 
40
- interface PipBoy3000WeaponItem {
30
+ interface PipBoy3000InventoryItem {
41
31
  id: number;
42
- damage?: number;
43
- imageId?: string;
44
32
  name: string;
33
+ imageId?: string;
45
34
  quantity?: number;
46
35
  value?: number;
47
36
  weight?: number;
37
+ damage?: number;
48
38
  effects?: string;
49
39
  }
50
40
 
41
+ interface PipBoy3000WeaponItem extends PipBoy3000InventoryItem {
42
+ }
43
+
44
+ interface PipBoy3000ApparelItem extends PipBoy3000InventoryItem {
45
+ }
46
+
47
+ interface PipBoy3000AidItem extends PipBoy3000InventoryItem {
48
+ }
49
+
50
+ interface PipBoy3000MiscItem extends PipBoy3000InventoryItem {
51
+ }
52
+
53
+ interface PipBoy3000AmmoItem extends PipBoy3000InventoryItem {
54
+ }
55
+
51
56
  interface PipBoy3000StatItem {
52
57
  id: number;
53
58
  name: string;
@@ -99,10 +104,10 @@ interface PipBoy3000SettingsSnapshot {
99
104
  radAwayLabel: string;
100
105
  radXLabel: string;
101
106
  weaponItems: PipBoy3000WeaponItem[];
102
- apparelItems: PipBoy3000WeaponItem[];
103
- aidItems: PipBoy3000WeaponItem[];
104
- miscItems: PipBoy3000WeaponItem[];
105
- ammoItems: PipBoy3000WeaponItem[];
107
+ apparelItems: PipBoy3000ApparelItem[];
108
+ aidItems: PipBoy3000AidItem[];
109
+ miscItems: PipBoy3000MiscItem[];
110
+ ammoItems: PipBoy3000AmmoItem[];
106
111
  specialItems: PipBoy3000StatItem[];
107
112
  skillItems: PipBoy3000StatItem[];
108
113
  perkItems: PipBoy3000StatItem[];
@@ -113,6 +118,10 @@ interface PipBoy3000SettingsSnapshot {
113
118
  selectedNotesItemId: number | null;
114
119
  selectedRadioItemId: number | null;
115
120
  effectItems: PipBoy3000EffectItem[];
121
+ radMeterLevel: number;
122
+ h20MeterLevel: number;
123
+ fodMeterLevel: number;
124
+ slpMeterLevel: number;
116
125
  localMapImage: string | null;
117
126
  worldMapImage: string | null;
118
127
  radioVolume: number;
@@ -132,6 +141,8 @@ interface PipBoy3000SettingsSnapshot {
132
141
 
133
142
  declare class PipBoy3000Settings {
134
143
  constructor();
144
+ private readonly settingsConfig;
145
+ private readonly storageKey;
135
146
  private readonly imageStore;
136
147
  readonly userLevel: _angular_core.WritableSignal<number>;
137
148
  readonly userHealth: _angular_core.WritableSignal<number>;
@@ -151,10 +162,10 @@ declare class PipBoy3000Settings {
151
162
  readonly equippedMiscId: _angular_core.WritableSignal<number | null>;
152
163
  readonly equippedAmmoId: _angular_core.WritableSignal<number | null>;
153
164
  readonly weaponItems: _angular_core.WritableSignal<PipBoy3000WeaponItem[]>;
154
- readonly apparelItems: _angular_core.WritableSignal<PipBoy3000WeaponItem[]>;
155
- readonly aidItems: _angular_core.WritableSignal<PipBoy3000WeaponItem[]>;
156
- readonly miscItems: _angular_core.WritableSignal<PipBoy3000WeaponItem[]>;
157
- readonly ammoItems: _angular_core.WritableSignal<PipBoy3000WeaponItem[]>;
165
+ readonly apparelItems: _angular_core.WritableSignal<PipBoy3000ApparelItem[]>;
166
+ readonly aidItems: _angular_core.WritableSignal<PipBoy3000AidItem[]>;
167
+ readonly miscItems: _angular_core.WritableSignal<PipBoy3000MiscItem[]>;
168
+ readonly ammoItems: _angular_core.WritableSignal<PipBoy3000AmmoItem[]>;
158
169
  readonly specialItems: _angular_core.WritableSignal<PipBoy3000StatItem[]>;
159
170
  readonly skillItems: _angular_core.WritableSignal<PipBoy3000StatItem[]>;
160
171
  readonly perkItems: _angular_core.WritableSignal<PipBoy3000StatItem[]>;
@@ -165,6 +176,10 @@ declare class PipBoy3000Settings {
165
176
  readonly selectedNotesItemId: _angular_core.WritableSignal<number | null>;
166
177
  readonly selectedRadioItemId: _angular_core.WritableSignal<number | null>;
167
178
  readonly effectItems: _angular_core.WritableSignal<PipBoy3000EffectItem[]>;
179
+ readonly radMeterLevel: _angular_core.WritableSignal<number>;
180
+ readonly h20MeterLevel: _angular_core.WritableSignal<number>;
181
+ readonly fodMeterLevel: _angular_core.WritableSignal<number>;
182
+ readonly slpMeterLevel: _angular_core.WritableSignal<number>;
168
183
  readonly localMapImage: _angular_core.WritableSignal<string | null>;
169
184
  readonly worldMapImage: _angular_core.WritableSignal<string | null>;
170
185
  readonly radioVolume: _angular_core.WritableSignal<number>;
@@ -188,9 +203,17 @@ declare class PipBoy3000Settings {
188
203
  saveToLocalStorage(key?: string): void;
189
204
  loadFromLocalStorage(key?: string): void;
190
205
  resetToDefaults(): void;
206
+ private getSkillDefaults;
207
+ private getPerkDefaults;
208
+ private getWeaponDefaults;
209
+ private getApparelDefaults;
210
+ private getAidDefaults;
211
+ private getMiscDefaults;
212
+ private getAmmoDefaults;
191
213
  private setNumberSignal;
192
214
  private setZoomSignal;
193
215
  private setVolumeSignal;
216
+ private setUnitSignal;
194
217
  private normalizeItems;
195
218
  private normalizeStatItems;
196
219
  private normalizeAudioItems;
@@ -314,6 +337,91 @@ declare class AudioPlayer {
314
337
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AudioPlayer>;
315
338
  }
316
339
 
340
+ declare class PipBoy3000a {
341
+ readonly returnToUrl: _angular_core.InputSignal<string>;
342
+ protected readonly state: PipBoy3000State;
343
+ protected readonly settings: PipBoy3000Settings;
344
+ protected readonly imageStore: ImageStore;
345
+ protected readonly soundStore: SoundStore;
346
+ protected readonly audioPlayer: AudioPlayer;
347
+ protected readonly appVersion = "1.2.0";
348
+ protected readonly tabsOpen: _angular_core.WritableSignal<boolean>;
349
+ protected readonly showResetModal: _angular_core.WritableSignal<boolean>;
350
+ protected readonly showExitModal: _angular_core.WritableSignal<boolean>;
351
+ protected readonly showBugModal: _angular_core.WritableSignal<boolean>;
352
+ protected readonly showSettingsModal: _angular_core.WritableSignal<boolean>;
353
+ private readonly settingsListFontScaleSnapshot;
354
+ protected readonly showWelcomeModal: _angular_core.WritableSignal<boolean>;
355
+ protected readonly mapImageModal: _angular_core.WritableSignal<"LOCAL" | "WORLD" | null>;
356
+ protected readonly localMapImage: _angular_core.Signal<ElementRef<HTMLImageElement> | undefined>;
357
+ protected readonly worldMapImage: _angular_core.Signal<ElementRef<HTMLImageElement> | undefined>;
358
+ protected readonly localMapView: _angular_core.Signal<ElementRef<HTMLButtonElement> | undefined>;
359
+ protected readonly worldMapView: _angular_core.Signal<ElementRef<HTMLButtonElement> | undefined>;
360
+ protected readonly extraOptionModal: _angular_core.WritableSignal<"STIMPAK" | "LIMBS" | "RADAWAY" | "RADX" | null>;
361
+ protected readonly tabsActionsLeftOpen: _angular_core.WritableSignal<boolean>;
362
+ protected readonly tabsActionsRightOpen: _angular_core.WritableSignal<boolean>;
363
+ protected readonly isMapDragging: _angular_core.WritableSignal<boolean>;
364
+ protected readonly viewportWidth: _angular_core.WritableSignal<number>;
365
+ protected readonly mapImageModalTitle: _angular_core.Signal<"World Map" | "Local Map">;
366
+ protected readonly mapImageModalImage: _angular_core.Signal<string | null>;
367
+ protected readonly secondaryTabSoundLabel: _angular_core.Signal<string | null>;
368
+ protected readonly mainTabSoundLabel: _angular_core.Signal<string | null>;
369
+ protected readonly clickSoundLabel: _angular_core.Signal<string | null>;
370
+ private mapDragState;
371
+ private suppressMapClick;
372
+ protected readonly isScreenTooSmall: _angular_core.Signal<boolean>;
373
+ protected readonly extraOptionTitle: _angular_core.Signal<"" | "Edit Text">;
374
+ protected readonly extraOptionValue: _angular_core.Signal<string>;
375
+ protected toggleTabs(): void;
376
+ protected toggleTabsActions(side: 'left' | 'right'): void;
377
+ protected onResize(): void;
378
+ protected saveSettingsToFile(): Promise<void>;
379
+ protected openResetModal(): void;
380
+ protected closeResetModal(): void;
381
+ protected confirmReset(): void;
382
+ protected openExitModal(): void;
383
+ protected closeExitModal(): void;
384
+ protected confirmExit(): void;
385
+ protected openBugModal(): void;
386
+ protected closeBugModal(): void;
387
+ protected confirmBugReport(): void;
388
+ protected openSettingsModal(): void;
389
+ protected closeSettingsModal(): void;
390
+ protected cancelSettingsModal(): void;
391
+ protected closeWelcomeModal(): void;
392
+ protected saveSettingsModal(payload: SettingsModalPayload): void;
393
+ protected previewListFontScale(value: number): void;
394
+ protected openGithubProfile(): void;
395
+ protected selectPrimary(tab: PipBoy3000PrimaryTab): void;
396
+ protected selectSecondary(tab: PipBoy3000SecondaryTab): void;
397
+ protected openExtraOptionModal(option: 'STIMPAK' | 'LIMBS' | 'RADAWAY' | 'RADX'): void;
398
+ protected closeExtraOptionModal(): void;
399
+ protected saveExtraOptionModal(value: string): void;
400
+ protected loadSettingsFromFile(event: Event): Promise<void>;
401
+ private stopAllSounds;
402
+ private collectImageIds;
403
+ private collectSoundIds;
404
+ private getExtension;
405
+ private getSoundExtension;
406
+ protected openMapImageModal(type: 'LOCAL' | 'WORLD'): void;
407
+ protected closeMapImageModal(): void;
408
+ protected zoomMap(type: 'LOCAL' | 'WORLD', delta: number): void;
409
+ protected resetMapZoom(type: 'LOCAL' | 'WORLD'): void;
410
+ protected startMapDrag(event: MouseEvent): void;
411
+ protected onMapDrag(event: MouseEvent): void;
412
+ protected endMapDrag(): void;
413
+ protected fitMapZoom(type: 'LOCAL' | 'WORLD'): void;
414
+ protected isMapFit(type: 'LOCAL' | 'WORLD'): boolean;
415
+ protected saveMapImageModal(payload: MapImagePayload): Promise<void>;
416
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PipBoy3000a, never>;
417
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PipBoy3000a, "pip-boy-3000a", never, { "returnToUrl": { "alias": "returnToUrl"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
418
+ }
419
+
420
+ declare class PipBoy3000MkIV {
421
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PipBoy3000MkIV, never>;
422
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PipBoy3000MkIV, "pip-boy-3000-mk-iv", never, {}, {}, never, never, true, never>;
423
+ }
424
+
317
425
  declare class PipBoy3000 {
318
426
  readonly returnToUrl: _angular_core.InputSignal<string>;
319
427
  protected readonly state: PipBoy3000State;
@@ -321,7 +429,7 @@ declare class PipBoy3000 {
321
429
  protected readonly imageStore: ImageStore;
322
430
  protected readonly soundStore: SoundStore;
323
431
  protected readonly audioPlayer: AudioPlayer;
324
- protected readonly appVersion = "1.1.3";
432
+ protected readonly appVersion = "1.2.0";
325
433
  protected readonly tabsOpen: _angular_core.WritableSignal<boolean>;
326
434
  protected readonly showResetModal: _angular_core.WritableSignal<boolean>;
327
435
  protected readonly showExitModal: _angular_core.WritableSignal<boolean>;
@@ -388,6 +496,7 @@ declare class PipBoy3000 {
388
496
  protected onMapDrag(event: MouseEvent): void;
389
497
  protected endMapDrag(): void;
390
498
  protected fitMapZoom(type: 'LOCAL' | 'WORLD'): void;
499
+ protected isMapFit(type: 'LOCAL' | 'WORLD'): boolean;
391
500
  protected saveMapImageModal(payload: MapImagePayload): Promise<void>;
392
501
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<PipBoy3000, never>;
393
502
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<PipBoy3000, "pip-boy-3000", never, { "returnToUrl": { "alias": "returnToUrl"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
Binary file
Binary file