@vault-tec/pip-boy 1.1.4 → 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.4",
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[];
@@ -114,6 +119,9 @@ interface PipBoy3000SettingsSnapshot {
114
119
  selectedRadioItemId: number | null;
115
120
  effectItems: PipBoy3000EffectItem[];
116
121
  radMeterLevel: number;
122
+ h20MeterLevel: number;
123
+ fodMeterLevel: number;
124
+ slpMeterLevel: number;
117
125
  localMapImage: string | null;
118
126
  worldMapImage: string | null;
119
127
  radioVolume: number;
@@ -133,6 +141,8 @@ interface PipBoy3000SettingsSnapshot {
133
141
 
134
142
  declare class PipBoy3000Settings {
135
143
  constructor();
144
+ private readonly settingsConfig;
145
+ private readonly storageKey;
136
146
  private readonly imageStore;
137
147
  readonly userLevel: _angular_core.WritableSignal<number>;
138
148
  readonly userHealth: _angular_core.WritableSignal<number>;
@@ -152,10 +162,10 @@ declare class PipBoy3000Settings {
152
162
  readonly equippedMiscId: _angular_core.WritableSignal<number | null>;
153
163
  readonly equippedAmmoId: _angular_core.WritableSignal<number | null>;
154
164
  readonly weaponItems: _angular_core.WritableSignal<PipBoy3000WeaponItem[]>;
155
- readonly apparelItems: _angular_core.WritableSignal<PipBoy3000WeaponItem[]>;
156
- readonly aidItems: _angular_core.WritableSignal<PipBoy3000WeaponItem[]>;
157
- readonly miscItems: _angular_core.WritableSignal<PipBoy3000WeaponItem[]>;
158
- 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[]>;
159
169
  readonly specialItems: _angular_core.WritableSignal<PipBoy3000StatItem[]>;
160
170
  readonly skillItems: _angular_core.WritableSignal<PipBoy3000StatItem[]>;
161
171
  readonly perkItems: _angular_core.WritableSignal<PipBoy3000StatItem[]>;
@@ -167,6 +177,9 @@ declare class PipBoy3000Settings {
167
177
  readonly selectedRadioItemId: _angular_core.WritableSignal<number | null>;
168
178
  readonly effectItems: _angular_core.WritableSignal<PipBoy3000EffectItem[]>;
169
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>;
170
183
  readonly localMapImage: _angular_core.WritableSignal<string | null>;
171
184
  readonly worldMapImage: _angular_core.WritableSignal<string | null>;
172
185
  readonly radioVolume: _angular_core.WritableSignal<number>;
@@ -190,6 +203,13 @@ declare class PipBoy3000Settings {
190
203
  saveToLocalStorage(key?: string): void;
191
204
  loadFromLocalStorage(key?: string): void;
192
205
  resetToDefaults(): void;
206
+ private getSkillDefaults;
207
+ private getPerkDefaults;
208
+ private getWeaponDefaults;
209
+ private getApparelDefaults;
210
+ private getAidDefaults;
211
+ private getMiscDefaults;
212
+ private getAmmoDefaults;
193
213
  private setNumberSignal;
194
214
  private setZoomSignal;
195
215
  private setVolumeSignal;
@@ -317,6 +337,91 @@ declare class AudioPlayer {
317
337
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<AudioPlayer>;
318
338
  }
319
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
+
320
425
  declare class PipBoy3000 {
321
426
  readonly returnToUrl: _angular_core.InputSignal<string>;
322
427
  protected readonly state: PipBoy3000State;
@@ -324,7 +429,7 @@ declare class PipBoy3000 {
324
429
  protected readonly imageStore: ImageStore;
325
430
  protected readonly soundStore: SoundStore;
326
431
  protected readonly audioPlayer: AudioPlayer;
327
- protected readonly appVersion = "1.1.4";
432
+ protected readonly appVersion = "1.2.0";
328
433
  protected readonly tabsOpen: _angular_core.WritableSignal<boolean>;
329
434
  protected readonly showResetModal: _angular_core.WritableSignal<boolean>;
330
435
  protected readonly showExitModal: _angular_core.WritableSignal<boolean>;
Binary file
Binary file