quake2ts 0.0.254 → 0.0.257
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 +1 -1
- package/packages/client/dist/browser/index.global.js +13 -13
- package/packages/client/dist/browser/index.global.js.map +1 -1
- package/packages/client/dist/cjs/index.cjs +770 -38
- package/packages/client/dist/cjs/index.cjs.map +1 -1
- package/packages/client/dist/esm/index.js +789 -57
- package/packages/client/dist/esm/index.js.map +1 -1
- package/packages/client/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/client/dist/types/hud/icons.d.ts.map +1 -1
- package/packages/client/dist/types/hud/statusbar.d.ts.map +1 -1
- package/packages/client/dist/types/index.d.ts +3 -1
- package/packages/client/dist/types/index.d.ts.map +1 -1
- package/packages/client/dist/types/net/connection.d.ts +60 -0
- package/packages/client/dist/types/net/connection.d.ts.map +1 -0
- package/packages/client/dist/types/ui/menu/main.d.ts +2 -0
- package/packages/client/dist/types/ui/menu/main.d.ts.map +1 -1
- package/packages/client/dist/types/ui/menu/multiplayer.d.ts +11 -0
- package/packages/client/dist/types/ui/menu/multiplayer.d.ts.map +1 -0
- package/packages/engine/dist/browser/index.global.js +14 -14
- package/packages/engine/dist/browser/index.global.js.map +1 -1
- package/packages/engine/dist/cjs/index.cjs +2 -0
- package/packages/engine/dist/cjs/index.cjs.map +1 -1
- package/packages/engine/dist/esm/index.js +1 -0
- package/packages/engine/dist/esm/index.js.map +1 -1
- package/packages/engine/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/engine/dist/types/index.d.ts +1 -1
- package/packages/engine/dist/types/index.d.ts.map +1 -1
- package/packages/game/dist/browser/index.global.js +2 -2
- package/packages/game/dist/browser/index.global.js.map +1 -1
- package/packages/game/dist/cjs/index.cjs +231 -208
- package/packages/game/dist/cjs/index.cjs.map +1 -1
- package/packages/game/dist/esm/index.js +230 -206
- package/packages/game/dist/esm/index.js.map +1 -1
- package/packages/game/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/game/dist/types/combat/weapons/firing.d.ts.map +1 -1
- package/packages/game/dist/types/combat/weapons/projectSource.d.ts +28 -0
- package/packages/game/dist/types/combat/weapons/projectSource.d.ts.map +1 -0
- package/packages/game/dist/types/combat/weapons/rogue.d.ts +4 -4
- package/packages/game/dist/types/combat/weapons/rogue.d.ts.map +1 -1
- package/packages/game/dist/types/combat/weapons/state.d.ts +6 -0
- package/packages/game/dist/types/combat/weapons/state.d.ts.map +1 -1
- package/packages/game/dist/types/entities/playerStats.d.ts.map +1 -1
- package/packages/game/dist/types/inventory/ammo.d.ts.map +1 -1
- package/packages/game/dist/types/inventory/playerInventory.d.ts +91 -38
- package/packages/game/dist/types/inventory/playerInventory.d.ts.map +1 -1
- package/packages/shared/dist/browser/index.global.js +1 -1
- package/packages/shared/dist/browser/index.global.js.map +1 -1
- package/packages/shared/dist/cjs/index.cjs +101 -2
- package/packages/shared/dist/cjs/index.cjs.map +1 -1
- package/packages/shared/dist/esm/index.js +100 -2
- package/packages/shared/dist/esm/index.js.map +1 -1
- package/packages/shared/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/shared/dist/types/io/index.d.ts +1 -0
- package/packages/shared/dist/types/io/index.d.ts.map +1 -1
- package/packages/shared/dist/types/io/messageBuilder.d.ts +21 -0
- package/packages/shared/dist/types/io/messageBuilder.d.ts.map +1 -0
- package/packages/shared/dist/types/protocol/stats.d.ts.map +1 -1
- package/packages/tools/dist/tsconfig.tsbuildinfo +1 -1
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Entity } from '../../entities/entity.js';
|
|
2
|
+
import { GameExports } from '../../index.js';
|
|
3
|
+
import { Vec3 } from '@quake2ts/shared';
|
|
4
|
+
/**
|
|
5
|
+
* Calculates the exact firing origin for a weapon projectile or hitscan.
|
|
6
|
+
* Replicates the behavior of P_ProjectSource from the original Quake II source.
|
|
7
|
+
*
|
|
8
|
+
* Source: p_weapon.cpp:91-135
|
|
9
|
+
*
|
|
10
|
+
* @param game The game exports interface
|
|
11
|
+
* @param player The player entity firing the weapon
|
|
12
|
+
* @param fireOffset The forward/right/up offset from the player's eye position (e.g., {8, 8, 8})
|
|
13
|
+
* @param forward The forward vector of the player's view
|
|
14
|
+
* @param right The right vector of the player's view
|
|
15
|
+
* @param up The up vector of the player's view
|
|
16
|
+
* @returns The calculated world position to spawn the projectile or start the trace
|
|
17
|
+
*/
|
|
18
|
+
export declare function P_ProjectSource(game: GameExports, player: Entity, fireOffset: Vec3, forward: Vec3, right: Vec3, up: Vec3): Vec3;
|
|
19
|
+
/**
|
|
20
|
+
* Helper to get the correct firing origin for a specific weapon.
|
|
21
|
+
* Applies the correct offsets based on weapon type and P_ProjectSource logic.
|
|
22
|
+
*
|
|
23
|
+
* @param game Game exports
|
|
24
|
+
* @param player Player entity
|
|
25
|
+
* @param offset Optional custom offset (defaults to standard {8, 8, player.viewheight-8})
|
|
26
|
+
*/
|
|
27
|
+
export declare function getProjectileOrigin(game: GameExports, player: Entity, offset?: Vec3): Vec3;
|
|
28
|
+
//# sourceMappingURL=projectSource.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projectSource.d.ts","sourceRoot":"","sources":["../../../../src/combat/weapons/projectSource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAoC,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE1E;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAC3B,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,IAAI,EAChB,OAAO,EAAE,IAAI,EACb,KAAK,EAAE,IAAI,EACX,EAAE,EAAE,IAAI,GACT,IAAI,CAuCN;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,IAA2B,GAAG,IAAI,CAGhH"}
|
|
@@ -3,8 +3,8 @@ import { GameExports } from '../../index.js';
|
|
|
3
3
|
import { WeaponState } from './state.js';
|
|
4
4
|
import { PlayerInventory } from '../../inventory/playerInventory.js';
|
|
5
5
|
import { Vec3 } from '@quake2ts/shared';
|
|
6
|
-
export declare function firePlasmaBeam(game: GameExports, player: Entity, inventory: PlayerInventory, weaponState: WeaponState, forward: Vec3): void;
|
|
7
|
-
export declare function fireIonRipper(game: GameExports, player: Entity, inventory: PlayerInventory, weaponState: WeaponState, forward: Vec3): void;
|
|
8
|
-
export declare function firePhalanx(game: GameExports, player: Entity, inventory: PlayerInventory, weaponState: WeaponState, forward: Vec3): void;
|
|
9
|
-
export declare function fireEtfRifle(game: GameExports, player: Entity, inventory: PlayerInventory, weaponState: WeaponState, forward: Vec3): void;
|
|
6
|
+
export declare function firePlasmaBeam(game: GameExports, player: Entity, inventory: PlayerInventory, weaponState: WeaponState, start: Vec3, forward: Vec3): void;
|
|
7
|
+
export declare function fireIonRipper(game: GameExports, player: Entity, inventory: PlayerInventory, weaponState: WeaponState, start: Vec3, forward: Vec3): void;
|
|
8
|
+
export declare function firePhalanx(game: GameExports, player: Entity, inventory: PlayerInventory, weaponState: WeaponState, start: Vec3, forward: Vec3): void;
|
|
9
|
+
export declare function fireEtfRifle(game: GameExports, player: Entity, inventory: PlayerInventory, weaponState: WeaponState, start: Vec3, forward: Vec3): void;
|
|
10
10
|
//# sourceMappingURL=rogue.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rogue.d.ts","sourceRoot":"","sources":["../../../../src/combat/weapons/rogue.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAkB,WAAW,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,eAAe,EAAY,MAAM,oCAAoC,CAAC;AAE/E,OAAO,EACqE,IAAI,EAG/E,MAAM,kBAAkB,CAAC;AAiB1B,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,
|
|
1
|
+
{"version":3,"file":"rogue.d.ts","sourceRoot":"","sources":["../../../../src/combat/weapons/rogue.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAkB,WAAW,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,eAAe,EAAY,MAAM,oCAAoC,CAAC;AAE/E,OAAO,EACqE,IAAI,EAG/E,MAAM,kBAAkB,CAAC;AAiB1B,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,QA8CjJ;AAID,wBAAgB,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,QAiBhJ;AAID,wBAAgB,WAAW,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,QAwB9I;AAID,wBAAgB,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,QAc/I"}
|
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
import { WeaponId } from '../../inventory/playerInventory.js';
|
|
2
|
+
export declare enum WeaponStateEnum {
|
|
3
|
+
WEAPON_READY = 0,// Idle, can fire or switch
|
|
4
|
+
WEAPON_ACTIVATING = 1,// Raising/drawing weapon
|
|
5
|
+
WEAPON_DROPPING = 2,// Lowering weapon
|
|
6
|
+
WEAPON_FIRING = 3
|
|
7
|
+
}
|
|
2
8
|
export interface WeaponState {
|
|
3
9
|
lastFireTime: number;
|
|
4
10
|
spinupCount?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../../src/combat/weapons/state.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAE9D,MAAM,WAAW,WAAW;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,kBAAkB;IAC/B,MAAM,EAAE,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;CACtC;AAED,wBAAgB,wBAAwB,IAAI,kBAAkB,CAI7D;AAED,wBAAgB,cAAc,CAAC,YAAY,EAAE,kBAAkB,EAAE,QAAQ,EAAE,QAAQ,GAAG,WAAW,CAOhG"}
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../../src/combat/weapons/state.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAE9D,oBAAY,eAAe;IACvB,YAAY,IAAA,CAAO,2BAA2B;IAC9C,iBAAiB,IAAA,CAAE,yBAAyB;IAC5C,eAAe,IAAA,CAAI,kBAAkB;IACrC,aAAa,IAAA;CAChB;AAED,MAAM,WAAW,WAAW;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,kBAAkB;IAC/B,MAAM,EAAE,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;CACtC;AAED,wBAAgB,wBAAwB,IAAI,kBAAkB,CAI7D;AAED,wBAAgB,cAAc,CAAC,YAAY,EAAE,kBAAkB,EAAE,QAAQ,EAAE,QAAQ,GAAG,WAAW,CAOhG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"playerStats.d.ts","sourceRoot":"","sources":["../../../src/entities/playerStats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AA8BrC,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"playerStats.d.ts","sourceRoot":"","sources":["../../../src/entities/playerStats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AA8BrC,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CA+EjF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ammo.d.ts","sourceRoot":"","sources":["../../../src/inventory/ammo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEzE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC;AAEjD,MAAM,MAAM,QAAQ,GAAG,SAAS,MAAM,EAAE,CAAC;AAEzC,MAAM,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;AAEzD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B;AAiBD,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,UAAU,GAAG,kBAAkB,CAExE;AAED,wBAAgB,mBAAmB,CAAC,IAAI,GAAE,QAA+B,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,aAAa,CAQzG;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAY7C;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,EAAE,CAYnF;AAED,wBAAgB,OAAO,CAAC,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,oBAAoB,
|
|
1
|
+
{"version":3,"file":"ammo.d.ts","sourceRoot":"","sources":["../../../src/inventory/ammo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEzE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC;AAEjD,MAAM,MAAM,QAAQ,GAAG,SAAS,MAAM,EAAE,CAAC;AAEzC,MAAM,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;AAEzD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B;AAiBD,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,UAAU,GAAG,kBAAkB,CAExE;AAED,wBAAgB,mBAAmB,CAAC,IAAI,GAAE,QAA+B,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,aAAa,CAQzG;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAY7C;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,EAAE,CAYnF;AAED,wBAAgB,OAAO,CAAC,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,oBAAoB,CAiB1G;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,wBAAgB,UAAU,CACxB,SAAS,EAAE,aAAa,EACxB,MAAM,EAAE,UAAU,EAClB,OAAO,GAAE,iBAAsB,GAC9B,oBAAoB,CAKtB"}
|
|
@@ -1,37 +1,79 @@
|
|
|
1
|
+
export declare enum WeaponId {
|
|
2
|
+
Blaster = "blaster",
|
|
3
|
+
Shotgun = "shotgun",
|
|
4
|
+
SuperShotgun = "supershotgun",
|
|
5
|
+
Machinegun = "machinegun",
|
|
6
|
+
Chaingun = "chaingun",
|
|
7
|
+
GrenadeLauncher = "grenadelauncher",
|
|
8
|
+
RocketLauncher = "rocketlauncher",
|
|
9
|
+
HyperBlaster = "hyperblaster",
|
|
10
|
+
Railgun = "railgun",
|
|
11
|
+
BFG10K = "bfg10k",
|
|
12
|
+
HandGrenade = "grenades",
|
|
13
|
+
Grapple = "grapple",// Missing
|
|
14
|
+
IonRipper = "ionripper",
|
|
15
|
+
Phalanx = "phalanx",
|
|
16
|
+
Trap = "trap",
|
|
17
|
+
PlasmaBeam = "plasmabeam",// Heatbeam
|
|
18
|
+
EtfRifle = "etfrifle",
|
|
19
|
+
ProxLauncher = "proxlauncher",
|
|
20
|
+
ChainFist = "chainfist",
|
|
21
|
+
Disruptor = "disruptor"
|
|
22
|
+
}
|
|
23
|
+
import { type AmmoInventory, type AmmoItemId, pickupAmmo, type AmmoAdjustmentResult } from './ammo.js';
|
|
1
24
|
import { ArmorType, type RegularArmorState } from '../combat/armor.js';
|
|
2
|
-
import {
|
|
3
|
-
import { ArmorItem, HealthItem, WeaponItem, PowerupItem, KeyItem, PowerArmorItem } from './items.js';
|
|
25
|
+
import { WeaponItem, ArmorItem, PowerupItem, PowerArmorItem, KeyItem, HealthItem } from './items.js';
|
|
4
26
|
import { PlayerWeaponStates } from '../combat/weapons/state.js';
|
|
5
|
-
import { Vec3
|
|
6
|
-
|
|
7
|
-
export declare enum KeyId {
|
|
8
|
-
Blue = "blue",
|
|
9
|
-
Red = "red",
|
|
10
|
-
Green = "green",
|
|
11
|
-
Yellow = "yellow",
|
|
12
|
-
DataCD = "data_cd",
|
|
13
|
-
PowerCube = "power_cube",
|
|
14
|
-
ExplosiveCharges = "explosive_charges",
|
|
15
|
-
PowerCore = "power_core",
|
|
16
|
-
Pyramid = "pyramid",
|
|
17
|
-
DataSpinner = "data_spinner",
|
|
18
|
-
Pass = "pass",
|
|
19
|
-
CommanderHead = "commander_head",
|
|
20
|
-
Airstrike = "airstrike",
|
|
21
|
-
NukeContainer = "nuke_container",
|
|
22
|
-
Nuke = "nuke",
|
|
23
|
-
RedFlag = "red_flag",
|
|
24
|
-
BlueFlag = "blue_flag"
|
|
25
|
-
}
|
|
27
|
+
import { Vec3 } from '@quake2ts/shared';
|
|
28
|
+
import { WeaponStateEnum } from '../combat/weapons/state.js';
|
|
26
29
|
export interface PlayerInventoryOptions {
|
|
27
|
-
readonly ammoCaps?: AmmoCaps;
|
|
28
|
-
readonly ammo?: AmmoSeed;
|
|
29
30
|
readonly weapons?: readonly WeaponId[];
|
|
31
|
+
readonly ammo?: Record<number, number>;
|
|
32
|
+
readonly ammoCaps?: readonly number[];
|
|
30
33
|
readonly currentWeapon?: WeaponId;
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
34
|
+
}
|
|
35
|
+
export declare enum PowerupId {
|
|
36
|
+
QuadDamage = "quad",
|
|
37
|
+
Invulnerability = "invulnerability",
|
|
38
|
+
Silencer = "silencer",
|
|
39
|
+
Rebreather = "rebreather",
|
|
40
|
+
EnviroSuit = "enviro",
|
|
41
|
+
DoubleDamage = "double",// Rogue
|
|
42
|
+
QuadFire = "quadfire",// Xatrix?
|
|
43
|
+
Invisibility = "invisibility",// TF? or other mod
|
|
44
|
+
Bandolier = "bandolier",
|
|
45
|
+
AmmoPack = "pack",
|
|
46
|
+
IRGoggles = "goggles",
|
|
47
|
+
SphereVengeance = "vengeance",// Rogue
|
|
48
|
+
SphereHunter = "hunter",// Rogue
|
|
49
|
+
SphereDefender = "defender",// Rogue
|
|
50
|
+
Doppelganger = "doppelganger",// Rogue
|
|
51
|
+
TagToken = "tagtoken",
|
|
52
|
+
TechResistance = "tech_resistance",
|
|
53
|
+
TechStrength = "tech_strength",
|
|
54
|
+
TechHaste = "tech_haste",
|
|
55
|
+
TechRegeneration = "tech_regeneration",
|
|
56
|
+
Flashlight = "flashlight",
|
|
57
|
+
Compass = "compass"
|
|
58
|
+
}
|
|
59
|
+
export declare enum KeyId {
|
|
60
|
+
Blue = "key_blue",
|
|
61
|
+
Red = "key_red",
|
|
62
|
+
Green = "key_green",// Data CD / Security Pass
|
|
63
|
+
Yellow = "key_yellow",// Power Cube / Pyramid Key
|
|
64
|
+
DataCD = "key_data_cd",
|
|
65
|
+
PowerCube = "key_power_cube",
|
|
66
|
+
ExplosiveCharges = "key_explosive_charges",
|
|
67
|
+
PowerCore = "key_power_core",
|
|
68
|
+
Pyramid = "key_pyramid",
|
|
69
|
+
DataSpinner = "key_data_spinner",
|
|
70
|
+
Pass = "key_pass",
|
|
71
|
+
CommanderHead = "key_commander_head",
|
|
72
|
+
Airstrike = "key_airstrike",
|
|
73
|
+
NukeContainer = "key_nuke_container",
|
|
74
|
+
Nuke = "key_nuke",
|
|
75
|
+
RedFlag = "key_red_flag",
|
|
76
|
+
BlueFlag = "key_blue_flag"
|
|
35
77
|
}
|
|
36
78
|
export interface PlayerInventory {
|
|
37
79
|
readonly ammo: AmmoInventory;
|
|
@@ -48,22 +90,33 @@ export interface PlayerClient {
|
|
|
48
90
|
inventory: PlayerInventory;
|
|
49
91
|
weaponStates: PlayerWeaponStates;
|
|
50
92
|
buttons: number;
|
|
51
|
-
kick_angles?: Vec3;
|
|
52
|
-
kick_origin?: Vec3;
|
|
53
|
-
v_angle?: Vec3;
|
|
54
|
-
quad_time?: number;
|
|
55
|
-
double_time?: number;
|
|
56
|
-
quadsound_time?: number;
|
|
57
93
|
pm_type: number;
|
|
58
94
|
pm_time: number;
|
|
59
95
|
pm_flags: number;
|
|
60
96
|
gun_frame: number;
|
|
61
97
|
rdflags: number;
|
|
62
98
|
fov: number;
|
|
99
|
+
kick_angles?: Vec3;
|
|
100
|
+
kick_origin?: Vec3;
|
|
101
|
+
v_angle?: Vec3;
|
|
102
|
+
quad_time?: number;
|
|
103
|
+
double_time?: number;
|
|
104
|
+
invincible_time?: number;
|
|
105
|
+
breather_time?: number;
|
|
106
|
+
enviro_time?: number;
|
|
107
|
+
quadsound_time?: number;
|
|
108
|
+
weaponstate?: WeaponStateEnum;
|
|
109
|
+
weapon_think_time?: number;
|
|
110
|
+
weapon_fire_finished?: number;
|
|
111
|
+
weapon_sound?: number;
|
|
112
|
+
grenade_time?: number | null;
|
|
113
|
+
grenade_finished_time?: number | null;
|
|
114
|
+
grenade_blew_up?: boolean;
|
|
115
|
+
anim_priority?: number;
|
|
116
|
+
anim_end?: number;
|
|
117
|
+
anim_time?: number;
|
|
63
118
|
}
|
|
64
|
-
export declare function createPlayerInventory(
|
|
65
|
-
export declare function setPickup(inventory: PlayerInventory, item: string, time: number): void;
|
|
66
|
-
export declare function giveAmmo(inventory: PlayerInventory, ammoType: AmmoType, amount: number): AmmoAdjustmentResult;
|
|
119
|
+
export declare function createPlayerInventory(init?: PlayerInventoryOptions): PlayerInventory;
|
|
67
120
|
export declare function giveAmmoItem(inventory: PlayerInventory, itemId: AmmoItemId, options?: Parameters<typeof pickupAmmo>[2]): AmmoAdjustmentResult;
|
|
68
121
|
export declare function giveWeapon(inventory: PlayerInventory, weapon: WeaponId, select?: boolean): boolean;
|
|
69
122
|
export declare function hasWeapon(inventory: PlayerInventory, weapon: WeaponId): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"playerInventory.d.ts","sourceRoot":"","sources":["../../../src/inventory/playerInventory.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"playerInventory.d.ts","sourceRoot":"","sources":["../../../src/inventory/playerInventory.ts"],"names":[],"mappings":"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"}
|