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
|
@@ -1110,6 +1110,11 @@ var AmmoItemId = /* @__PURE__ */ ((AmmoItemId22) => {
|
|
|
1110
1110
|
AmmoItemId22["Grenades"] = "ammo_grenades";
|
|
1111
1111
|
AmmoItemId22["Cells"] = "ammo_cells";
|
|
1112
1112
|
AmmoItemId22["Slugs"] = "ammo_slugs";
|
|
1113
|
+
AmmoItemId22["MagSlugs"] = "ammo_magslug";
|
|
1114
|
+
AmmoItemId22["Flechettes"] = "ammo_flechettes";
|
|
1115
|
+
AmmoItemId22["Disruptor"] = "ammo_disruptor";
|
|
1116
|
+
AmmoItemId22["Tesla"] = "ammo_tesla";
|
|
1117
|
+
AmmoItemId22["Trap"] = "ammo_trap";
|
|
1113
1118
|
return AmmoItemId22;
|
|
1114
1119
|
})(AmmoItemId || {});
|
|
1115
1120
|
|
|
@@ -1231,7 +1236,12 @@ var AMMO_ITEM_DEFINITIONS = {
|
|
|
1231
1236
|
[AmmoItemId.Rockets]: { id: AmmoItemId.Rockets, ammoType: AmmoType.Rockets, quantity: 5, weaponAmmo: false },
|
|
1232
1237
|
[AmmoItemId.Grenades]: { id: AmmoItemId.Grenades, ammoType: AmmoType.Grenades, quantity: 5, weaponAmmo: true },
|
|
1233
1238
|
[AmmoItemId.Cells]: { id: AmmoItemId.Cells, ammoType: AmmoType.Cells, quantity: 50, weaponAmmo: false },
|
|
1234
|
-
[AmmoItemId.Slugs]: { id: AmmoItemId.Slugs, ammoType: AmmoType.Slugs, quantity: 10, weaponAmmo: false }
|
|
1239
|
+
[AmmoItemId.Slugs]: { id: AmmoItemId.Slugs, ammoType: AmmoType.Slugs, quantity: 10, weaponAmmo: false },
|
|
1240
|
+
[AmmoItemId.MagSlugs]: { id: AmmoItemId.MagSlugs, ammoType: AmmoType.MagSlugs, quantity: 10, weaponAmmo: false },
|
|
1241
|
+
[AmmoItemId.Flechettes]: { id: AmmoItemId.Flechettes, ammoType: AmmoType.Flechettes, quantity: 50, weaponAmmo: false },
|
|
1242
|
+
[AmmoItemId.Disruptor]: { id: AmmoItemId.Disruptor, ammoType: AmmoType.Disruptor, quantity: 15, weaponAmmo: false },
|
|
1243
|
+
[AmmoItemId.Tesla]: { id: AmmoItemId.Tesla, ammoType: AmmoType.Tesla, quantity: 5, weaponAmmo: false },
|
|
1244
|
+
[AmmoItemId.Trap]: { id: AmmoItemId.Trap, ammoType: AmmoType.Trap, quantity: 5, weaponAmmo: false }
|
|
1235
1245
|
};
|
|
1236
1246
|
function getAmmoItemDefinition(id) {
|
|
1237
1247
|
return AMMO_ITEM_DEFINITIONS[id];
|
|
@@ -1250,6 +1260,11 @@ function createBaseAmmoCaps() {
|
|
|
1250
1260
|
caps[AmmoType.Bullets] = 200;
|
|
1251
1261
|
caps[AmmoType.Shells] = 100;
|
|
1252
1262
|
caps[AmmoType.Cells] = 200;
|
|
1263
|
+
caps[AmmoType.MagSlugs] = 50;
|
|
1264
|
+
caps[AmmoType.Flechettes] = 200;
|
|
1265
|
+
caps[AmmoType.Disruptor] = 200;
|
|
1266
|
+
caps[AmmoType.Tesla] = 50;
|
|
1267
|
+
caps[AmmoType.Trap] = 50;
|
|
1253
1268
|
return caps;
|
|
1254
1269
|
}
|
|
1255
1270
|
function clampAmmoCounts(counts, caps) {
|
|
@@ -2497,7 +2512,7 @@ function runGravity(ent, gravity, frametime) {
|
|
|
2497
2512
|
}
|
|
2498
2513
|
}
|
|
2499
2514
|
}
|
|
2500
|
-
function runBouncing(ent, imports, frametime) {
|
|
2515
|
+
function runBouncing(ent, system, imports, frametime) {
|
|
2501
2516
|
if (ent.movetype !== 9 /* Bounce */ && ent.movetype !== 10 /* WallBounce */) {
|
|
2502
2517
|
return;
|
|
2503
2518
|
}
|
|
@@ -2507,6 +2522,13 @@ function runBouncing(ent, imports, frametime) {
|
|
|
2507
2522
|
const traceResult = imports.trace(ent.origin, ent.mins, ent.maxs, end, ent, ent.clipmask);
|
|
2508
2523
|
if (traceResult.fraction < 1) {
|
|
2509
2524
|
ent.origin = traceResult.endpos;
|
|
2525
|
+
if (traceResult.ent) {
|
|
2526
|
+
resolveImpact(ent, traceResult, system);
|
|
2527
|
+
} else {
|
|
2528
|
+
if (ent.touch) {
|
|
2529
|
+
ent.touch(ent, system.world, traceResult.plane, void 0);
|
|
2530
|
+
}
|
|
2531
|
+
}
|
|
2510
2532
|
}
|
|
2511
2533
|
if (traceResult.fraction > 0 && traceResult.fraction < 1 && traceResult.plane) {
|
|
2512
2534
|
let overbounce = 1.01;
|
|
@@ -3312,11 +3334,11 @@ var EntitySystem = class {
|
|
|
3312
3334
|
switch (ent.movetype) {
|
|
3313
3335
|
case 7 /* Toss */:
|
|
3314
3336
|
runGravity(ent, this.gravity, frametime);
|
|
3315
|
-
runBouncing(ent, this.imports, frametime);
|
|
3337
|
+
runBouncing(ent, this, this.imports, frametime);
|
|
3316
3338
|
ent.timestamp = this.currentTimeSeconds;
|
|
3317
3339
|
break;
|
|
3318
3340
|
case 9 /* Bounce */:
|
|
3319
|
-
runBouncing(ent, this.imports, frametime);
|
|
3341
|
+
runBouncing(ent, this, this.imports, frametime);
|
|
3320
3342
|
ent.timestamp = this.currentTimeSeconds;
|
|
3321
3343
|
break;
|
|
3322
3344
|
case 8 /* FlyMissile */:
|
|
@@ -4374,7 +4396,40 @@ var WEAPON_ITEMS = {
|
|
|
4374
4396
|
initialAmmo: 50,
|
|
4375
4397
|
pickupAmmo: 50,
|
|
4376
4398
|
fireRate: 1
|
|
4399
|
+
},
|
|
4400
|
+
// Rogue Weapons
|
|
4401
|
+
"weapon_boomer": {
|
|
4402
|
+
type: "weapon",
|
|
4403
|
+
id: "weapon_boomer",
|
|
4404
|
+
// Ion Ripper
|
|
4405
|
+
name: "Ion Ripper",
|
|
4406
|
+
weaponId: WeaponId.IonRipper,
|
|
4407
|
+
ammoType: AmmoType.Cells,
|
|
4408
|
+
initialAmmo: 50,
|
|
4409
|
+
pickupAmmo: 50,
|
|
4410
|
+
fireRate: 0.1
|
|
4411
|
+
},
|
|
4412
|
+
"weapon_phalanx": {
|
|
4413
|
+
type: "weapon",
|
|
4414
|
+
id: "weapon_phalanx",
|
|
4415
|
+
name: "Phalanx",
|
|
4416
|
+
weaponId: WeaponId.Phalanx,
|
|
4417
|
+
ammoType: AmmoType.MagSlugs,
|
|
4418
|
+
initialAmmo: 50,
|
|
4419
|
+
pickupAmmo: 50,
|
|
4420
|
+
fireRate: 1
|
|
4421
|
+
},
|
|
4422
|
+
"weapon_beam": {
|
|
4423
|
+
type: "weapon",
|
|
4424
|
+
id: "weapon_beam",
|
|
4425
|
+
name: "Plasma Beam",
|
|
4426
|
+
weaponId: WeaponId.PlasmaBeam,
|
|
4427
|
+
ammoType: AmmoType.Cells,
|
|
4428
|
+
initialAmmo: 50,
|
|
4429
|
+
pickupAmmo: 50,
|
|
4430
|
+
fireRate: 0.1
|
|
4377
4431
|
}
|
|
4432
|
+
// ... add others as we implement them
|
|
4378
4433
|
};
|
|
4379
4434
|
var HEALTH_ITEMS = {
|
|
4380
4435
|
"item_health_small": {
|
|
@@ -6155,6 +6210,16 @@ function createIonRipper(sys, owner, start, dir, damage, speed) {
|
|
|
6155
6210
|
sys.free(self);
|
|
6156
6211
|
return;
|
|
6157
6212
|
}
|
|
6213
|
+
self.count = (self.count || 0) + 1;
|
|
6214
|
+
if (self.count > 5) {
|
|
6215
|
+
sys.multicast(self.origin, 1 /* Pvs */, ServerCommand.temp_entity, TempEntity.WELDING_SPARKS, self.origin, ZERO_VEC3, 228);
|
|
6216
|
+
sys.free(self);
|
|
6217
|
+
return;
|
|
6218
|
+
}
|
|
6219
|
+
sys.sound(self, 0, "weapons/ripphit.wav", 1, 1, 0);
|
|
6220
|
+
if (plane) {
|
|
6221
|
+
sys.multicast(self.origin, 1 /* Pvs */, ServerCommand.temp_entity, TempEntity.WELDING_SPARKS, self.origin, plane.normal, 228);
|
|
6222
|
+
}
|
|
6158
6223
|
};
|
|
6159
6224
|
ion.think = (self) => {
|
|
6160
6225
|
sys.multicast(self.origin, 1 /* Pvs */, ServerCommand.temp_entity, TempEntity.WELDING_SPARKS, self.origin, ZERO_VEC3, 228);
|
|
@@ -13867,6 +13932,8 @@ var ZERO_VEC37 = { x: 0, y: 0, z: 0 };
|
|
|
13867
13932
|
function createGame(imports, engine, options) {
|
|
13868
13933
|
const gravity = options.gravity;
|
|
13869
13934
|
const deathmatch = options.deathmatch ?? false;
|
|
13935
|
+
const rogue = options.rogue ?? false;
|
|
13936
|
+
const xatrix = options.xatrix ?? false;
|
|
13870
13937
|
const levelClock = new LevelClock();
|
|
13871
13938
|
const frameLoop = new GameFrameLoop();
|
|
13872
13939
|
const rng = options.random ?? new RandomGenerator();
|
|
@@ -14154,6 +14221,8 @@ function createGame(imports, engine, options) {
|
|
|
14154
14221
|
},
|
|
14155
14222
|
trace,
|
|
14156
14223
|
deathmatch,
|
|
14224
|
+
rogue,
|
|
14225
|
+
xatrix,
|
|
14157
14226
|
multicast(origin2, type, event, ...args) {
|
|
14158
14227
|
multicast(origin2, type, event, ...args);
|
|
14159
14228
|
},
|