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.
- package/package.json +1 -1
- package/packages/client/dist/browser/index.global.js +11 -11
- package/packages/client/dist/browser/index.global.js.map +1 -1
- package/packages/client/dist/cjs/index.cjs +50 -13
- package/packages/client/dist/cjs/index.cjs.map +1 -1
- package/packages/client/dist/esm/index.js +50 -13
- package/packages/client/dist/esm/index.js.map +1 -1
- package/packages/client/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/client/dist/types/demo/handler.d.ts +2 -1
- package/packages/client/dist/types/demo/handler.d.ts.map +1 -1
- package/packages/client/dist/types/index.d.ts.map +1 -1
- package/packages/engine/dist/browser/index.global.js +8 -8
- package/packages/engine/dist/browser/index.global.js.map +1 -1
- package/packages/engine/dist/cjs/index.cjs +37 -10
- package/packages/engine/dist/cjs/index.cjs.map +1 -1
- package/packages/engine/dist/esm/index.js +37 -10
- package/packages/engine/dist/esm/index.js.map +1 -1
- package/packages/engine/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/engine/dist/types/demo/parser.d.ts +1 -1
- package/packages/engine/dist/types/demo/parser.d.ts.map +1 -1
- package/packages/engine/dist/types/demo/playback.d.ts +1 -0
- package/packages/engine/dist/types/demo/playback.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 +73 -4
- package/packages/game/dist/cjs/index.cjs.map +1 -1
- package/packages/game/dist/esm/index.js +73 -4
- 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/rogue.d.ts +9 -0
- package/packages/game/dist/types/combat/weapons/rogue.d.ts.map +1 -0
- package/packages/game/dist/types/entities/projectiles.d.ts +1 -0
- package/packages/game/dist/types/entities/projectiles.d.ts.map +1 -1
- package/packages/game/dist/types/index.d.ts +4 -0
- package/packages/game/dist/types/index.d.ts.map +1 -1
- package/packages/game/dist/types/inventory/ammo.d.ts.map +1 -1
- package/packages/game/dist/types/inventory/items.d.ts.map +1 -1
- package/packages/game/dist/types/physics/movement.d.ts +1 -1
- package/packages/game/dist/types/physics/movement.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 +5 -0
- package/packages/shared/dist/cjs/index.cjs.map +1 -1
- package/packages/shared/dist/esm/index.js +5 -0
- package/packages/shared/dist/esm/index.js.map +1 -1
- package/packages/shared/dist/tsconfig.tsbuildinfo +1 -1
- package/packages/shared/dist/types/items/ammo.d.ts +6 -1
- package/packages/shared/dist/types/items/ammo.d.ts.map +1 -1
- 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
|
},
|