quake2ts 0.0.171 → 0.0.173

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 (27) hide show
  1. package/package.json +1 -1
  2. package/packages/client/dist/browser/index.global.js +3 -3
  3. package/packages/client/dist/browser/index.global.js.map +1 -1
  4. package/packages/client/dist/cjs/index.cjs +2 -1
  5. package/packages/client/dist/cjs/index.cjs.map +1 -1
  6. package/packages/client/dist/esm/index.js +2 -1
  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.map +1 -1
  10. package/packages/game/dist/browser/index.global.js +2 -2
  11. package/packages/game/dist/browser/index.global.js.map +1 -1
  12. package/packages/game/dist/cjs/index.cjs +40 -17
  13. package/packages/game/dist/cjs/index.cjs.map +1 -1
  14. package/packages/game/dist/esm/index.js +40 -17
  15. package/packages/game/dist/esm/index.js.map +1 -1
  16. package/packages/game/dist/tsconfig.tsbuildinfo +1 -1
  17. package/packages/game/dist/types/buttons.d.ts +2 -0
  18. package/packages/game/dist/types/buttons.d.ts.map +1 -0
  19. package/packages/game/dist/types/combat/weapons/chaingun.d.ts +4 -0
  20. package/packages/game/dist/types/combat/weapons/chaingun.d.ts.map +1 -0
  21. package/packages/game/dist/types/entities/player.d.ts.map +1 -1
  22. package/packages/game/dist/types/inventory/items.d.ts +3 -0
  23. package/packages/game/dist/types/inventory/items.d.ts.map +1 -1
  24. package/packages/game/dist/types/inventory/playerInventory.d.ts +1 -0
  25. package/packages/game/dist/types/inventory/playerInventory.d.ts.map +1 -1
  26. package/packages/server/dist/index.cjs +2 -1
  27. package/packages/server/dist/index.js +2 -1
@@ -3873,6 +3873,36 @@ function registerTriggerSpawns(registry) {
3873
3873
  registerTriggerMonsterJump(registry);
3874
3874
  }
3875
3875
 
3876
+ // src/combat/weapons/state.ts
3877
+ function createPlayerWeaponStates() {
3878
+ return {
3879
+ states: /* @__PURE__ */ new Map()
3880
+ };
3881
+ }
3882
+ function getWeaponState(playerStates, weaponId) {
3883
+ let state = playerStates.states.get(weaponId);
3884
+ if (!state) {
3885
+ state = { lastFireTime: 0 };
3886
+ playerStates.states.set(weaponId, state);
3887
+ }
3888
+ return state;
3889
+ }
3890
+
3891
+ // src/buttons.ts
3892
+ var BUTTON_ATTACK = 1;
3893
+
3894
+ // src/combat/weapons/chaingun.ts
3895
+ function chaingunThink(player, sys) {
3896
+ if (!player.client) {
3897
+ return;
3898
+ }
3899
+ const weaponState = getWeaponState(player.client.weaponStates, "chaingun" /* Chaingun */);
3900
+ if (!(player.client.buttons & BUTTON_ATTACK) && weaponState.spinupCount && weaponState.spinupCount > 0) {
3901
+ sys.sound(player, 0, "weapons/chngnd1a.wav", 1, 0, 0);
3902
+ weaponState.spinupCount = 0;
3903
+ }
3904
+ }
3905
+
3876
3906
  // src/inventory/items.ts
3877
3907
  var WEAPON_ITEMS = {
3878
3908
  "weapon_blaster": {
@@ -3913,7 +3943,8 @@ var WEAPON_ITEMS = {
3913
3943
  ammoType: 0 /* Bullets */,
3914
3944
  initialAmmo: 50,
3915
3945
  pickupAmmo: 50,
3916
- fireRate: 0.1
3946
+ fireRate: 0.1,
3947
+ think: chaingunThink
3917
3948
  },
3918
3949
  "weapon_chaingun": {
3919
3950
  type: "weapon",
@@ -12310,6 +12341,13 @@ function player_think(self, sys) {
12310
12341
  }
12311
12342
  }
12312
12343
  clearExpiredPowerups(self.client.inventory, nowMs);
12344
+ const weaponId = self.client.inventory.currentWeapon;
12345
+ if (weaponId) {
12346
+ const weaponItem = Object.values(WEAPON_ITEMS).find((item) => item.weaponId === weaponId);
12347
+ if (weaponItem && weaponItem.think) {
12348
+ weaponItem.think(self, sys);
12349
+ }
12350
+ }
12313
12351
  self.nextthink = sys.timeSeconds + 0.1;
12314
12352
  sys.scheduleThink(self, self.nextthink);
12315
12353
  }
@@ -12581,21 +12619,6 @@ var WEAPONS = {
12581
12619
  }
12582
12620
  };
12583
12621
 
12584
- // src/combat/weapons/state.ts
12585
- function createPlayerWeaponStates() {
12586
- return {
12587
- states: /* @__PURE__ */ new Map()
12588
- };
12589
- }
12590
- function getWeaponState(playerStates, weaponId) {
12591
- let state = playerStates.states.get(weaponId);
12592
- if (!state) {
12593
- state = { lastFireTime: 0 };
12594
- playerStates.states.set(weaponId, state);
12595
- }
12596
- return state;
12597
- }
12598
-
12599
12622
  // src/index.ts
12600
12623
  var ZERO_VEC38 = { x: 0, y: 0, z: 0 };
12601
12624
  function createGame({ trace, pointcontents, multicast, unicast }, engine, options) {
@@ -12739,7 +12762,7 @@ function createGame({ trace, pointcontents, multicast, unicast }, engine, option
12739
12762
  if (!deathmatch) {
12740
12763
  const player = entities.spawn();
12741
12764
  player.classname = "player";
12742
- this.clientBegin({ inventory: createPlayerInventory(), weaponStates: createPlayerWeaponStates() });
12765
+ this.clientBegin({ inventory: createPlayerInventory(), weaponStates: createPlayerWeaponStates(), buttons: 0 });
12743
12766
  }
12744
12767
  },
12745
12768
  clientBegin(client) {