quake2ts 0.0.171 → 0.0.172

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
@@ -4039,6 +4039,36 @@ function registerTriggerSpawns(registry) {
4039
4039
  registerTriggerMonsterJump(registry);
4040
4040
  }
4041
4041
 
4042
+ // src/combat/weapons/state.ts
4043
+ function createPlayerWeaponStates() {
4044
+ return {
4045
+ states: /* @__PURE__ */ new Map()
4046
+ };
4047
+ }
4048
+ function getWeaponState(playerStates, weaponId) {
4049
+ let state = playerStates.states.get(weaponId);
4050
+ if (!state) {
4051
+ state = { lastFireTime: 0 };
4052
+ playerStates.states.set(weaponId, state);
4053
+ }
4054
+ return state;
4055
+ }
4056
+
4057
+ // src/buttons.ts
4058
+ var BUTTON_ATTACK = 1;
4059
+
4060
+ // src/combat/weapons/chaingun.ts
4061
+ function chaingunThink(player, sys) {
4062
+ if (!player.client) {
4063
+ return;
4064
+ }
4065
+ const weaponState = getWeaponState(player.client.weaponStates, "chaingun" /* Chaingun */);
4066
+ if (!(player.client.buttons & BUTTON_ATTACK) && weaponState.spinupCount && weaponState.spinupCount > 0) {
4067
+ sys.sound(player, 0, "weapons/chngnd1a.wav", 1, 0, 0);
4068
+ weaponState.spinupCount = 0;
4069
+ }
4070
+ }
4071
+
4042
4072
  // src/inventory/items.ts
4043
4073
  var WEAPON_ITEMS = {
4044
4074
  "weapon_blaster": {
@@ -4079,7 +4109,8 @@ var WEAPON_ITEMS = {
4079
4109
  ammoType: 0 /* Bullets */,
4080
4110
  initialAmmo: 50,
4081
4111
  pickupAmmo: 50,
4082
- fireRate: 0.1
4112
+ fireRate: 0.1,
4113
+ think: chaingunThink
4083
4114
  },
4084
4115
  "weapon_chaingun": {
4085
4116
  type: "weapon",
@@ -12476,6 +12507,13 @@ function player_think(self, sys) {
12476
12507
  }
12477
12508
  }
12478
12509
  clearExpiredPowerups(self.client.inventory, nowMs);
12510
+ const weaponId = self.client.inventory.currentWeapon;
12511
+ if (weaponId) {
12512
+ const weaponItem = Object.values(WEAPON_ITEMS).find((item) => item.weaponId === weaponId);
12513
+ if (weaponItem && weaponItem.think) {
12514
+ weaponItem.think(self, sys);
12515
+ }
12516
+ }
12479
12517
  self.nextthink = sys.timeSeconds + 0.1;
12480
12518
  sys.scheduleThink(self, self.nextthink);
12481
12519
  }
@@ -12747,21 +12785,6 @@ var WEAPONS = {
12747
12785
  }
12748
12786
  };
12749
12787
 
12750
- // src/combat/weapons/state.ts
12751
- function createPlayerWeaponStates() {
12752
- return {
12753
- states: /* @__PURE__ */ new Map()
12754
- };
12755
- }
12756
- function getWeaponState(playerStates, weaponId) {
12757
- let state = playerStates.states.get(weaponId);
12758
- if (!state) {
12759
- state = { lastFireTime: 0 };
12760
- playerStates.states.set(weaponId, state);
12761
- }
12762
- return state;
12763
- }
12764
-
12765
12788
  // src/index.ts
12766
12789
  var ZERO_VEC38 = { x: 0, y: 0, z: 0 };
12767
12790
  function createGame({ trace, pointcontents, multicast, unicast }, engine, options) {
@@ -12905,7 +12928,7 @@ function createGame({ trace, pointcontents, multicast, unicast }, engine, option
12905
12928
  if (!deathmatch) {
12906
12929
  const player = entities.spawn();
12907
12930
  player.classname = "player";
12908
- this.clientBegin({ inventory: createPlayerInventory(), weaponStates: createPlayerWeaponStates() });
12931
+ this.clientBegin({ inventory: createPlayerInventory(), weaponStates: createPlayerWeaponStates(), buttons: 0 });
12909
12932
  }
12910
12933
  },
12911
12934
  clientBegin(client) {