quake2ts 0.0.241 → 0.0.243

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.
Files changed (50) hide show
  1. package/package.json +1 -1
  2. package/packages/client/dist/browser/index.global.js +11 -11
  3. package/packages/client/dist/browser/index.global.js.map +1 -1
  4. package/packages/client/dist/cjs/index.cjs +50 -13
  5. package/packages/client/dist/cjs/index.cjs.map +1 -1
  6. package/packages/client/dist/esm/index.js +50 -13
  7. package/packages/client/dist/esm/index.js.map +1 -1
  8. package/packages/client/dist/tsconfig.tsbuildinfo +1 -1
  9. package/packages/client/dist/types/demo/handler.d.ts +2 -1
  10. package/packages/client/dist/types/demo/handler.d.ts.map +1 -1
  11. package/packages/client/dist/types/index.d.ts.map +1 -1
  12. package/packages/engine/dist/browser/index.global.js +8 -8
  13. package/packages/engine/dist/browser/index.global.js.map +1 -1
  14. package/packages/engine/dist/cjs/index.cjs +37 -10
  15. package/packages/engine/dist/cjs/index.cjs.map +1 -1
  16. package/packages/engine/dist/esm/index.js +37 -10
  17. package/packages/engine/dist/esm/index.js.map +1 -1
  18. package/packages/engine/dist/tsconfig.tsbuildinfo +1 -1
  19. package/packages/engine/dist/types/demo/parser.d.ts +1 -1
  20. package/packages/engine/dist/types/demo/parser.d.ts.map +1 -1
  21. package/packages/engine/dist/types/demo/playback.d.ts +1 -0
  22. package/packages/engine/dist/types/demo/playback.d.ts.map +1 -1
  23. package/packages/game/dist/browser/index.global.js +2 -2
  24. package/packages/game/dist/browser/index.global.js.map +1 -1
  25. package/packages/game/dist/cjs/index.cjs +73 -4
  26. package/packages/game/dist/cjs/index.cjs.map +1 -1
  27. package/packages/game/dist/esm/index.js +73 -4
  28. package/packages/game/dist/esm/index.js.map +1 -1
  29. package/packages/game/dist/tsconfig.tsbuildinfo +1 -1
  30. package/packages/game/dist/types/combat/weapons/firing.d.ts.map +1 -1
  31. package/packages/game/dist/types/combat/weapons/rogue.d.ts +9 -0
  32. package/packages/game/dist/types/combat/weapons/rogue.d.ts.map +1 -0
  33. package/packages/game/dist/types/entities/projectiles.d.ts +1 -0
  34. package/packages/game/dist/types/entities/projectiles.d.ts.map +1 -1
  35. package/packages/game/dist/types/index.d.ts +4 -0
  36. package/packages/game/dist/types/index.d.ts.map +1 -1
  37. package/packages/game/dist/types/inventory/ammo.d.ts.map +1 -1
  38. package/packages/game/dist/types/inventory/items.d.ts.map +1 -1
  39. package/packages/game/dist/types/physics/movement.d.ts +1 -1
  40. package/packages/game/dist/types/physics/movement.d.ts.map +1 -1
  41. package/packages/shared/dist/browser/index.global.js +1 -1
  42. package/packages/shared/dist/browser/index.global.js.map +1 -1
  43. package/packages/shared/dist/cjs/index.cjs +5 -0
  44. package/packages/shared/dist/cjs/index.cjs.map +1 -1
  45. package/packages/shared/dist/esm/index.js +5 -0
  46. package/packages/shared/dist/esm/index.js.map +1 -1
  47. package/packages/shared/dist/tsconfig.tsbuildinfo +1 -1
  48. package/packages/shared/dist/types/items/ammo.d.ts +6 -1
  49. package/packages/shared/dist/types/items/ammo.d.ts.map +1 -1
  50. package/packages/tools/dist/tsconfig.tsbuildinfo +1 -1
@@ -1277,6 +1277,11 @@ var AmmoItemId = /* @__PURE__ */ ((AmmoItemId22) => {
1277
1277
  AmmoItemId22["Grenades"] = "ammo_grenades";
1278
1278
  AmmoItemId22["Cells"] = "ammo_cells";
1279
1279
  AmmoItemId22["Slugs"] = "ammo_slugs";
1280
+ AmmoItemId22["MagSlugs"] = "ammo_magslug";
1281
+ AmmoItemId22["Flechettes"] = "ammo_flechettes";
1282
+ AmmoItemId22["Disruptor"] = "ammo_disruptor";
1283
+ AmmoItemId22["Tesla"] = "ammo_tesla";
1284
+ AmmoItemId22["Trap"] = "ammo_trap";
1280
1285
  return AmmoItemId22;
1281
1286
  })(AmmoItemId || {});
1282
1287
 
@@ -1398,7 +1403,12 @@ var AMMO_ITEM_DEFINITIONS = {
1398
1403
  [AmmoItemId.Rockets]: { id: AmmoItemId.Rockets, ammoType: AmmoType.Rockets, quantity: 5, weaponAmmo: false },
1399
1404
  [AmmoItemId.Grenades]: { id: AmmoItemId.Grenades, ammoType: AmmoType.Grenades, quantity: 5, weaponAmmo: true },
1400
1405
  [AmmoItemId.Cells]: { id: AmmoItemId.Cells, ammoType: AmmoType.Cells, quantity: 50, weaponAmmo: false },
1401
- [AmmoItemId.Slugs]: { id: AmmoItemId.Slugs, ammoType: AmmoType.Slugs, quantity: 10, weaponAmmo: false }
1406
+ [AmmoItemId.Slugs]: { id: AmmoItemId.Slugs, ammoType: AmmoType.Slugs, quantity: 10, weaponAmmo: false },
1407
+ [AmmoItemId.MagSlugs]: { id: AmmoItemId.MagSlugs, ammoType: AmmoType.MagSlugs, quantity: 10, weaponAmmo: false },
1408
+ [AmmoItemId.Flechettes]: { id: AmmoItemId.Flechettes, ammoType: AmmoType.Flechettes, quantity: 50, weaponAmmo: false },
1409
+ [AmmoItemId.Disruptor]: { id: AmmoItemId.Disruptor, ammoType: AmmoType.Disruptor, quantity: 15, weaponAmmo: false },
1410
+ [AmmoItemId.Tesla]: { id: AmmoItemId.Tesla, ammoType: AmmoType.Tesla, quantity: 5, weaponAmmo: false },
1411
+ [AmmoItemId.Trap]: { id: AmmoItemId.Trap, ammoType: AmmoType.Trap, quantity: 5, weaponAmmo: false }
1402
1412
  };
1403
1413
  function getAmmoItemDefinition(id) {
1404
1414
  return AMMO_ITEM_DEFINITIONS[id];
@@ -1417,6 +1427,11 @@ function createBaseAmmoCaps() {
1417
1427
  caps[AmmoType.Bullets] = 200;
1418
1428
  caps[AmmoType.Shells] = 100;
1419
1429
  caps[AmmoType.Cells] = 200;
1430
+ caps[AmmoType.MagSlugs] = 50;
1431
+ caps[AmmoType.Flechettes] = 200;
1432
+ caps[AmmoType.Disruptor] = 200;
1433
+ caps[AmmoType.Tesla] = 50;
1434
+ caps[AmmoType.Trap] = 50;
1420
1435
  return caps;
1421
1436
  }
1422
1437
  function clampAmmoCounts(counts, caps) {
@@ -2664,7 +2679,7 @@ function runGravity(ent, gravity, frametime) {
2664
2679
  }
2665
2680
  }
2666
2681
  }
2667
- function runBouncing(ent, imports, frametime) {
2682
+ function runBouncing(ent, system, imports, frametime) {
2668
2683
  if (ent.movetype !== 9 /* Bounce */ && ent.movetype !== 10 /* WallBounce */) {
2669
2684
  return;
2670
2685
  }
@@ -2674,6 +2689,13 @@ function runBouncing(ent, imports, frametime) {
2674
2689
  const traceResult = imports.trace(ent.origin, ent.mins, ent.maxs, end, ent, ent.clipmask);
2675
2690
  if (traceResult.fraction < 1) {
2676
2691
  ent.origin = traceResult.endpos;
2692
+ if (traceResult.ent) {
2693
+ resolveImpact(ent, traceResult, system);
2694
+ } else {
2695
+ if (ent.touch) {
2696
+ ent.touch(ent, system.world, traceResult.plane, void 0);
2697
+ }
2698
+ }
2677
2699
  }
2678
2700
  if (traceResult.fraction > 0 && traceResult.fraction < 1 && traceResult.plane) {
2679
2701
  let overbounce = 1.01;
@@ -3479,11 +3501,11 @@ var EntitySystem = class {
3479
3501
  switch (ent.movetype) {
3480
3502
  case 7 /* Toss */:
3481
3503
  runGravity(ent, this.gravity, frametime);
3482
- runBouncing(ent, this.imports, frametime);
3504
+ runBouncing(ent, this, this.imports, frametime);
3483
3505
  ent.timestamp = this.currentTimeSeconds;
3484
3506
  break;
3485
3507
  case 9 /* Bounce */:
3486
- runBouncing(ent, this.imports, frametime);
3508
+ runBouncing(ent, this, this.imports, frametime);
3487
3509
  ent.timestamp = this.currentTimeSeconds;
3488
3510
  break;
3489
3511
  case 8 /* FlyMissile */:
@@ -4541,7 +4563,40 @@ var WEAPON_ITEMS = {
4541
4563
  initialAmmo: 50,
4542
4564
  pickupAmmo: 50,
4543
4565
  fireRate: 1
4566
+ },
4567
+ // Rogue Weapons
4568
+ "weapon_boomer": {
4569
+ type: "weapon",
4570
+ id: "weapon_boomer",
4571
+ // Ion Ripper
4572
+ name: "Ion Ripper",
4573
+ weaponId: WeaponId.IonRipper,
4574
+ ammoType: AmmoType.Cells,
4575
+ initialAmmo: 50,
4576
+ pickupAmmo: 50,
4577
+ fireRate: 0.1
4578
+ },
4579
+ "weapon_phalanx": {
4580
+ type: "weapon",
4581
+ id: "weapon_phalanx",
4582
+ name: "Phalanx",
4583
+ weaponId: WeaponId.Phalanx,
4584
+ ammoType: AmmoType.MagSlugs,
4585
+ initialAmmo: 50,
4586
+ pickupAmmo: 50,
4587
+ fireRate: 1
4588
+ },
4589
+ "weapon_beam": {
4590
+ type: "weapon",
4591
+ id: "weapon_beam",
4592
+ name: "Plasma Beam",
4593
+ weaponId: WeaponId.PlasmaBeam,
4594
+ ammoType: AmmoType.Cells,
4595
+ initialAmmo: 50,
4596
+ pickupAmmo: 50,
4597
+ fireRate: 0.1
4544
4598
  }
4599
+ // ... add others as we implement them
4545
4600
  };
4546
4601
  var HEALTH_ITEMS = {
4547
4602
  "item_health_small": {
@@ -6322,6 +6377,16 @@ function createIonRipper(sys, owner, start, dir, damage, speed) {
6322
6377
  sys.free(self);
6323
6378
  return;
6324
6379
  }
6380
+ self.count = (self.count || 0) + 1;
6381
+ if (self.count > 5) {
6382
+ sys.multicast(self.origin, 1 /* Pvs */, ServerCommand.temp_entity, TempEntity.WELDING_SPARKS, self.origin, ZERO_VEC3, 228);
6383
+ sys.free(self);
6384
+ return;
6385
+ }
6386
+ sys.sound(self, 0, "weapons/ripphit.wav", 1, 1, 0);
6387
+ if (plane) {
6388
+ sys.multicast(self.origin, 1 /* Pvs */, ServerCommand.temp_entity, TempEntity.WELDING_SPARKS, self.origin, plane.normal, 228);
6389
+ }
6325
6390
  };
6326
6391
  ion.think = (self) => {
6327
6392
  sys.multicast(self.origin, 1 /* Pvs */, ServerCommand.temp_entity, TempEntity.WELDING_SPARKS, self.origin, ZERO_VEC3, 228);
@@ -14034,6 +14099,8 @@ var ZERO_VEC37 = { x: 0, y: 0, z: 0 };
14034
14099
  function createGame(imports, engine, options) {
14035
14100
  const gravity = options.gravity;
14036
14101
  const deathmatch = options.deathmatch ?? false;
14102
+ const rogue = options.rogue ?? false;
14103
+ const xatrix = options.xatrix ?? false;
14037
14104
  const levelClock = new LevelClock();
14038
14105
  const frameLoop = new GameFrameLoop();
14039
14106
  const rng = options.random ?? new RandomGenerator();
@@ -14321,6 +14388,8 @@ function createGame(imports, engine, options) {
14321
14388
  },
14322
14389
  trace,
14323
14390
  deathmatch,
14391
+ rogue,
14392
+ xatrix,
14324
14393
  multicast(origin2, type, event, ...args) {
14325
14394
  multicast(origin2, type, event, ...args);
14326
14395
  },