quake2ts 0.0.570 → 0.0.572

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": "quake2ts",
3
- "version": "0.0.570",
3
+ "version": "0.0.572",
4
4
  "description": "Quake II re-release port to TypeScript with WebGL renderer - A complete game engine with physics, networking, and BSP rendering",
5
5
  "type": "module",
6
6
  "keywords": [
@@ -51,6 +51,8 @@ __export(index_exports, {
51
51
  createGameStateSnapshotFactory: () => createGameStateSnapshotFactory,
52
52
  createItemEntityFactory: () => createItemEntityFactory,
53
53
  createMockAI: () => createMockAI,
54
+ createMockAmmoItem: () => createMockAmmoItem,
55
+ createMockArmorItem: () => createMockArmorItem,
54
56
  createMockAudioContext: () => createMockAudioContext,
55
57
  createMockCanvas: () => createMockCanvas,
56
58
  createMockCanvasContext2D: () => createMockCanvasContext2D,
@@ -64,15 +66,19 @@ __export(index_exports, {
64
66
  createMockGameExports: () => createMockGameExports,
65
67
  createMockGameState: () => createMockGameState,
66
68
  createMockHandshake: () => createMockHandshake,
69
+ createMockHealthItem: () => createMockHealthItem,
67
70
  createMockImage: () => createMockImage,
68
71
  createMockImageData: () => createMockImageData,
69
72
  createMockIndexedDB: () => createMockIndexedDB,
73
+ createMockInventory: () => createMockInventory,
74
+ createMockItem: () => createMockItem,
70
75
  createMockLocalStorage: () => createMockLocalStorage,
71
76
  createMockMonsterAI: () => createMockMonsterAI,
72
77
  createMockMonsterMove: () => createMockMonsterMove,
73
78
  createMockNetDriver: () => createMockNetDriver,
74
79
  createMockNetworkAddress: () => createMockNetworkAddress,
75
80
  createMockPerformance: () => createMockPerformance,
81
+ createMockPowerupItem: () => createMockPowerupItem,
76
82
  createMockRAF: () => createMockRAF,
77
83
  createMockRConClient: () => createMockRConClient,
78
84
  createMockServer: () => createMockServer,
@@ -85,6 +91,7 @@ __export(index_exports, {
85
91
  createMockUDPSocket: () => createMockUDPSocket,
86
92
  createMockUserInfo: () => createMockUserInfo,
87
93
  createMockWeapon: () => createMockWeapon,
94
+ createMockWeaponItem: () => createMockWeaponItem,
88
95
  createMockWebGL2Context: () => createMockWebGL2Context,
89
96
  createMonsterEntityFactory: () => createMonsterEntityFactory,
90
97
  createMultiplayerTestScenario: () => createMultiplayerTestScenario,
@@ -692,6 +699,92 @@ var mockMonsterAttacks = {
692
699
  fireBFG: import_vitest4.vi.fn()
693
700
  };
694
701
 
702
+ // src/game/mocks/items.ts
703
+ var import_game4 = require("@quake2ts/game");
704
+ var import_game5 = require("@quake2ts/game");
705
+ function createMockInventory(overrides = {}) {
706
+ const defaultInventory = (0, import_game4.createPlayerInventory)();
707
+ const inventory = {
708
+ ...defaultInventory,
709
+ ...overrides
710
+ };
711
+ return inventory;
712
+ }
713
+ function createMockItem(id, overrides = {}) {
714
+ let base;
715
+ base = import_game5.WEAPON_ITEMS[id] || import_game5.HEALTH_ITEMS[id] || import_game5.ARMOR_ITEMS[id] || import_game5.POWERUP_ITEMS[id] || import_game5.POWER_ARMOR_ITEMS[id] || import_game5.KEY_ITEMS[id] || import_game5.FLAG_ITEMS[id];
716
+ if (!base) {
717
+ base = {
718
+ id,
719
+ name: `Mock Item ${id}`
720
+ };
721
+ }
722
+ return {
723
+ ...base,
724
+ ...overrides
725
+ };
726
+ }
727
+ function createMockWeaponItem(weaponId, overrides = {}) {
728
+ const found = Object.values(import_game5.WEAPON_ITEMS).find((w) => w.weaponId === weaponId);
729
+ const base = found ? { ...found } : {
730
+ type: "weapon",
731
+ id: `weapon_${weaponId}`,
732
+ name: `Mock Weapon ${weaponId}`,
733
+ weaponId,
734
+ ammoType: null,
735
+ initialAmmo: 0,
736
+ pickupAmmo: 0,
737
+ fireRate: 1
738
+ };
739
+ return { ...base, ...overrides };
740
+ }
741
+ function createMockHealthItem(amount, overrides = {}) {
742
+ return {
743
+ type: "health",
744
+ id: "item_health_mock",
745
+ name: "Mock Health",
746
+ amount,
747
+ max: 100,
748
+ ...overrides
749
+ };
750
+ }
751
+ function createMockArmorItem(amount, overrides = {}) {
752
+ return {
753
+ type: "armor",
754
+ id: "item_armor_mock",
755
+ name: "Mock Armor",
756
+ amount,
757
+ ...overrides
758
+ };
759
+ }
760
+ function createMockAmmoItem(ammoItemId, overrides = {}) {
761
+ const def = (0, import_game5.getAmmoItemDefinition)(ammoItemId);
762
+ if (!def) {
763
+ throw new Error(`Unknown ammo item id: ${ammoItemId}`);
764
+ }
765
+ const base = {
766
+ id: def.id,
767
+ name: `Mock Ammo ${def.id}`
768
+ };
769
+ return {
770
+ ...base,
771
+ ...overrides
772
+ };
773
+ }
774
+ function createMockPowerupItem(id, duration, overrides = {}) {
775
+ const found = import_game5.POWERUP_ITEMS[id];
776
+ const base = found ? { ...found } : {
777
+ type: "powerup",
778
+ id,
779
+ name: `Mock Powerup ${id}`,
780
+ timer: duration
781
+ };
782
+ if (duration !== void 0 && !found) {
783
+ base.timer = duration;
784
+ }
785
+ return { ...base, ...overrides };
786
+ }
787
+
695
788
  // src/game/mocks.ts
696
789
  var import_vitest5 = require("vitest");
697
790
  function createMockGameState(overrides) {
@@ -2401,6 +2494,8 @@ function createVisualTestScenario(page, sceneName) {
2401
2494
  createGameStateSnapshotFactory,
2402
2495
  createItemEntityFactory,
2403
2496
  createMockAI,
2497
+ createMockAmmoItem,
2498
+ createMockArmorItem,
2404
2499
  createMockAudioContext,
2405
2500
  createMockCanvas,
2406
2501
  createMockCanvasContext2D,
@@ -2414,15 +2509,19 @@ function createVisualTestScenario(page, sceneName) {
2414
2509
  createMockGameExports,
2415
2510
  createMockGameState,
2416
2511
  createMockHandshake,
2512
+ createMockHealthItem,
2417
2513
  createMockImage,
2418
2514
  createMockImageData,
2419
2515
  createMockIndexedDB,
2516
+ createMockInventory,
2517
+ createMockItem,
2420
2518
  createMockLocalStorage,
2421
2519
  createMockMonsterAI,
2422
2520
  createMockMonsterMove,
2423
2521
  createMockNetDriver,
2424
2522
  createMockNetworkAddress,
2425
2523
  createMockPerformance,
2524
+ createMockPowerupItem,
2426
2525
  createMockRAF,
2427
2526
  createMockRConClient,
2428
2527
  createMockServer,
@@ -2435,6 +2534,7 @@ function createVisualTestScenario(page, sceneName) {
2435
2534
  createMockUDPSocket,
2436
2535
  createMockUserInfo,
2437
2536
  createMockWeapon,
2537
+ createMockWeaponItem,
2438
2538
  createMockWebGL2Context,
2439
2539
  createMonsterEntityFactory,
2440
2540
  createMultiplayerTestScenario,