@quake2ts/game 0.0.1
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/dist/browser/index.global.js +6 -0
- package/dist/browser/index.global.js.map +1 -0
- package/dist/cjs/index.cjs +28688 -0
- package/dist/cjs/index.cjs.map +1 -0
- package/dist/esm/index.js +28477 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/types/ai/constants.d.ts +51 -0
- package/dist/types/ai/constants.d.ts.map +1 -0
- package/dist/types/ai/index.d.ts +7 -0
- package/dist/types/ai/index.d.ts.map +1 -0
- package/dist/types/ai/monster.d.ts +7 -0
- package/dist/types/ai/monster.d.ts.map +1 -0
- package/dist/types/ai/movement.d.ts +47 -0
- package/dist/types/ai/movement.d.ts.map +1 -0
- package/dist/types/ai/movement_rogue.d.ts +18 -0
- package/dist/types/ai/movement_rogue.d.ts.map +1 -0
- package/dist/types/ai/noise.d.ts +12 -0
- package/dist/types/ai/noise.d.ts.map +1 -0
- package/dist/types/ai/perception.d.ts +23 -0
- package/dist/types/ai/perception.d.ts.map +1 -0
- package/dist/types/ai/rogue.d.ts +36 -0
- package/dist/types/ai/rogue.d.ts.map +1 -0
- package/dist/types/ai/spawn_utils.d.ts +6 -0
- package/dist/types/ai/spawn_utils.d.ts.map +1 -0
- package/dist/types/ai/targeting.d.ts +29 -0
- package/dist/types/ai/targeting.d.ts.map +1 -0
- package/dist/types/buttons.d.ts +2 -0
- package/dist/types/buttons.d.ts.map +1 -0
- package/dist/types/checksum.d.ts +11 -0
- package/dist/types/checksum.d.ts.map +1 -0
- package/dist/types/combat/armor.d.ts +39 -0
- package/dist/types/combat/armor.d.ts.map +1 -0
- package/dist/types/combat/damage.d.ts +60 -0
- package/dist/types/combat/damage.d.ts.map +1 -0
- package/dist/types/combat/damageFlags.d.ts +22 -0
- package/dist/types/combat/damageFlags.d.ts.map +1 -0
- package/dist/types/combat/damageMods.d.ts +80 -0
- package/dist/types/combat/damageMods.d.ts.map +1 -0
- package/dist/types/combat/index.d.ts +8 -0
- package/dist/types/combat/index.d.ts.map +1 -0
- package/dist/types/combat/obituary.d.ts +10 -0
- package/dist/types/combat/obituary.d.ts.map +1 -0
- package/dist/types/combat/specialDamage.d.ts +88 -0
- package/dist/types/combat/specialDamage.d.ts.map +1 -0
- package/dist/types/combat/weapon.d.ts +23 -0
- package/dist/types/combat/weapon.d.ts.map +1 -0
- package/dist/types/combat/weapons/animation.d.ts +18 -0
- package/dist/types/combat/weapons/animation.d.ts.map +1 -0
- package/dist/types/combat/weapons/bfg.d.ts +4 -0
- package/dist/types/combat/weapons/bfg.d.ts.map +1 -0
- package/dist/types/combat/weapons/blaster.d.ts +4 -0
- package/dist/types/combat/weapons/blaster.d.ts.map +1 -0
- package/dist/types/combat/weapons/chainfist.d.ts +9 -0
- package/dist/types/combat/weapons/chainfist.d.ts.map +1 -0
- package/dist/types/combat/weapons/chaingun.d.ts +4 -0
- package/dist/types/combat/weapons/chaingun.d.ts.map +1 -0
- package/dist/types/combat/weapons/common.d.ts +10 -0
- package/dist/types/combat/weapons/common.d.ts.map +1 -0
- package/dist/types/combat/weapons/firing.d.ts +29 -0
- package/dist/types/combat/weapons/firing.d.ts.map +1 -0
- package/dist/types/combat/weapons/frames.d.ts +51 -0
- package/dist/types/combat/weapons/frames.d.ts.map +1 -0
- package/dist/types/combat/weapons/grenade.d.ts +4 -0
- package/dist/types/combat/weapons/grenade.d.ts.map +1 -0
- package/dist/types/combat/weapons/grenadelauncher.d.ts +4 -0
- package/dist/types/combat/weapons/grenadelauncher.d.ts.map +1 -0
- package/dist/types/combat/weapons/hyperblaster.d.ts +4 -0
- package/dist/types/combat/weapons/hyperblaster.d.ts.map +1 -0
- package/dist/types/combat/weapons/machinegun.d.ts +4 -0
- package/dist/types/combat/weapons/machinegun.d.ts.map +1 -0
- package/dist/types/combat/weapons/projectSource.d.ts +17 -0
- package/dist/types/combat/weapons/projectSource.d.ts.map +1 -0
- package/dist/types/combat/weapons/railgun.d.ts +4 -0
- package/dist/types/combat/weapons/railgun.d.ts.map +1 -0
- package/dist/types/combat/weapons/registry.d.ts +16 -0
- package/dist/types/combat/weapons/registry.d.ts.map +1 -0
- package/dist/types/combat/weapons/rocket.d.ts +4 -0
- package/dist/types/combat/weapons/rocket.d.ts.map +1 -0
- package/dist/types/combat/weapons/rogue.d.ts +10 -0
- package/dist/types/combat/weapons/rogue.d.ts.map +1 -0
- package/dist/types/combat/weapons/shotgun.d.ts +4 -0
- package/dist/types/combat/weapons/shotgun.d.ts.map +1 -0
- package/dist/types/combat/weapons/state.d.ts +19 -0
- package/dist/types/combat/weapons/state.d.ts.map +1 -0
- package/dist/types/combat/weapons/supershotgun.d.ts +4 -0
- package/dist/types/combat/weapons/supershotgun.d.ts.map +1 -0
- package/dist/types/combat/weapons/switching.d.ts +16 -0
- package/dist/types/combat/weapons/switching.d.ts.map +1 -0
- package/dist/types/combat/weapons/trap.d.ts +4 -0
- package/dist/types/combat/weapons/trap.d.ts.map +1 -0
- package/dist/types/demo/serializer.d.ts +10 -0
- package/dist/types/demo/serializer.d.ts.map +1 -0
- package/dist/types/dm/chat.d.ts +4 -0
- package/dist/types/dm/chat.d.ts.map +1 -0
- package/dist/types/dm/game.d.ts +7 -0
- package/dist/types/dm/game.d.ts.map +1 -0
- package/dist/types/dm/scoreboard.d.ts +15 -0
- package/dist/types/dm/scoreboard.d.ts.map +1 -0
- package/dist/types/dm/telefrag.d.ts +2 -0
- package/dist/types/dm/telefrag.d.ts.map +1 -0
- package/dist/types/editor/analysis.d.ts +20 -0
- package/dist/types/editor/analysis.d.ts.map +1 -0
- package/dist/types/editor/graph.d.ts +19 -0
- package/dist/types/editor/graph.d.ts.map +1 -0
- package/dist/types/editor/metadata.d.ts +31 -0
- package/dist/types/editor/metadata.d.ts.map +1 -0
- package/dist/types/editor/search.d.ts +9 -0
- package/dist/types/editor/search.d.ts.map +1 -0
- package/dist/types/editor/selection.d.ts +19 -0
- package/dist/types/editor/selection.d.ts.map +1 -0
- package/dist/types/entities/callbacks.d.ts +6 -0
- package/dist/types/entities/callbacks.d.ts.map +1 -0
- package/dist/types/entities/camera.d.ts +6 -0
- package/dist/types/entities/camera.d.ts.map +1 -0
- package/dist/types/entities/entity.d.ts +375 -0
- package/dist/types/entities/entity.d.ts.map +1 -0
- package/dist/types/entities/enums.d.ts +117 -0
- package/dist/types/entities/enums.d.ts.map +1 -0
- package/dist/types/entities/funcs.d.ts +13 -0
- package/dist/types/entities/funcs.d.ts.map +1 -0
- package/dist/types/entities/gibs.d.ts +20 -0
- package/dist/types/entities/gibs.d.ts.map +1 -0
- package/dist/types/entities/index.d.ts +9 -0
- package/dist/types/entities/index.d.ts.map +1 -0
- package/dist/types/entities/items/ammo.d.ts +5 -0
- package/dist/types/entities/items/ammo.d.ts.map +1 -0
- package/dist/types/entities/items/armor.d.ts +5 -0
- package/dist/types/entities/items/armor.d.ts.map +1 -0
- package/dist/types/entities/items/common.d.ts +5 -0
- package/dist/types/entities/items/common.d.ts.map +1 -0
- package/dist/types/entities/items/foodcube.d.ts +4 -0
- package/dist/types/entities/items/foodcube.d.ts.map +1 -0
- package/dist/types/entities/items/health.d.ts +5 -0
- package/dist/types/entities/items/health.d.ts.map +1 -0
- package/dist/types/entities/items/index.d.ts +8 -0
- package/dist/types/entities/items/index.d.ts.map +1 -0
- package/dist/types/entities/items/keys.d.ts +5 -0
- package/dist/types/entities/items/keys.d.ts.map +1 -0
- package/dist/types/entities/items/powerArmor.d.ts +5 -0
- package/dist/types/entities/items/powerArmor.d.ts.map +1 -0
- package/dist/types/entities/items/powerups.d.ts +5 -0
- package/dist/types/entities/items/powerups.d.ts.map +1 -0
- package/dist/types/entities/items/weapons.d.ts +5 -0
- package/dist/types/entities/items/weapons.d.ts.map +1 -0
- package/dist/types/entities/items.d.ts +5 -0
- package/dist/types/entities/items.d.ts.map +1 -0
- package/dist/types/entities/lights.d.ts +3 -0
- package/dist/types/entities/lights.d.ts.map +1 -0
- package/dist/types/entities/misc/decorative.d.ts +7 -0
- package/dist/types/entities/misc/decorative.d.ts.map +1 -0
- package/dist/types/entities/misc/flyers.d.ts +6 -0
- package/dist/types/entities/misc/flyers.d.ts.map +1 -0
- package/dist/types/entities/misc/more_misc.d.ts +12 -0
- package/dist/types/entities/misc/more_misc.d.ts.map +1 -0
- package/dist/types/entities/misc/viperMissile.d.ts +3 -0
- package/dist/types/entities/misc/viperMissile.d.ts.map +1 -0
- package/dist/types/entities/misc.d.ts +4 -0
- package/dist/types/entities/misc.d.ts.map +1 -0
- package/dist/types/entities/monsters/actor.d.ts +6 -0
- package/dist/types/entities/monsters/actor.d.ts.map +1 -0
- package/dist/types/entities/monsters/arachnid.d.ts +5 -0
- package/dist/types/entities/monsters/arachnid.d.ts.map +1 -0
- package/dist/types/entities/monsters/attack.d.ts +19 -0
- package/dist/types/entities/monsters/attack.d.ts.map +1 -0
- package/dist/types/entities/monsters/berserk.d.ts +5 -0
- package/dist/types/entities/monsters/berserk.d.ts.map +1 -0
- package/dist/types/entities/monsters/boss2.d.ts +5 -0
- package/dist/types/entities/monsters/boss2.d.ts.map +1 -0
- package/dist/types/entities/monsters/brain.d.ts +5 -0
- package/dist/types/entities/monsters/brain.d.ts.map +1 -0
- package/dist/types/entities/monsters/chick.d.ts +5 -0
- package/dist/types/entities/monsters/chick.d.ts.map +1 -0
- package/dist/types/entities/monsters/common.d.ts +33 -0
- package/dist/types/entities/monsters/common.d.ts.map +1 -0
- package/dist/types/entities/monsters/fixbot.d.ts +5 -0
- package/dist/types/entities/monsters/fixbot.d.ts.map +1 -0
- package/dist/types/entities/monsters/flipper.d.ts +5 -0
- package/dist/types/entities/monsters/flipper.d.ts.map +1 -0
- package/dist/types/entities/monsters/floater.d.ts +5 -0
- package/dist/types/entities/monsters/floater.d.ts.map +1 -0
- package/dist/types/entities/monsters/flyer.d.ts +7 -0
- package/dist/types/entities/monsters/flyer.d.ts.map +1 -0
- package/dist/types/entities/monsters/gekk.d.ts +5 -0
- package/dist/types/entities/monsters/gekk.d.ts.map +1 -0
- package/dist/types/entities/monsters/gladiator.d.ts +5 -0
- package/dist/types/entities/monsters/gladiator.d.ts.map +1 -0
- package/dist/types/entities/monsters/guardian.d.ts +5 -0
- package/dist/types/entities/monsters/guardian.d.ts.map +1 -0
- package/dist/types/entities/monsters/gunner.d.ts +5 -0
- package/dist/types/entities/monsters/gunner.d.ts.map +1 -0
- package/dist/types/entities/monsters/gunnerCommander.d.ts +5 -0
- package/dist/types/entities/monsters/gunnerCommander.d.ts.map +1 -0
- package/dist/types/entities/monsters/hover.d.ts +5 -0
- package/dist/types/entities/monsters/hover.d.ts.map +1 -0
- package/dist/types/entities/monsters/icarus.d.ts +5 -0
- package/dist/types/entities/monsters/icarus.d.ts.map +1 -0
- package/dist/types/entities/monsters/index.d.ts +3 -0
- package/dist/types/entities/monsters/index.d.ts.map +1 -0
- package/dist/types/entities/monsters/infantry.d.ts +5 -0
- package/dist/types/entities/monsters/infantry.d.ts.map +1 -0
- package/dist/types/entities/monsters/insane.d.ts +5 -0
- package/dist/types/entities/monsters/insane.d.ts.map +1 -0
- package/dist/types/entities/monsters/jorg.d.ts +5 -0
- package/dist/types/entities/monsters/jorg.d.ts.map +1 -0
- package/dist/types/entities/monsters/makron.d.ts +5 -0
- package/dist/types/entities/monsters/makron.d.ts.map +1 -0
- package/dist/types/entities/monsters/medic.d.ts +6 -0
- package/dist/types/entities/monsters/medic.d.ts.map +1 -0
- package/dist/types/entities/monsters/mutant.d.ts +5 -0
- package/dist/types/entities/monsters/mutant.d.ts.map +1 -0
- package/dist/types/entities/monsters/parasite.d.ts +5 -0
- package/dist/types/entities/monsters/parasite.d.ts.map +1 -0
- package/dist/types/entities/monsters/rogue/carrier.d.ts +5 -0
- package/dist/types/entities/monsters/rogue/carrier.d.ts.map +1 -0
- package/dist/types/entities/monsters/rogue/common.d.ts +11 -0
- package/dist/types/entities/monsters/rogue/common.d.ts.map +1 -0
- package/dist/types/entities/monsters/rogue/stalker.d.ts +5 -0
- package/dist/types/entities/monsters/rogue/stalker.d.ts.map +1 -0
- package/dist/types/entities/monsters/rogue/widow.d.ts +5 -0
- package/dist/types/entities/monsters/rogue/widow.d.ts.map +1 -0
- package/dist/types/entities/monsters/rogue/widow2.d.ts +3 -0
- package/dist/types/entities/monsters/rogue/widow2.d.ts.map +1 -0
- package/dist/types/entities/monsters/shambler.d.ts +5 -0
- package/dist/types/entities/monsters/shambler.d.ts.map +1 -0
- package/dist/types/entities/monsters/soldier.d.ts +11 -0
- package/dist/types/entities/monsters/soldier.d.ts.map +1 -0
- package/dist/types/entities/monsters/supertank.d.ts +5 -0
- package/dist/types/entities/monsters/supertank.d.ts.map +1 -0
- package/dist/types/entities/monsters/tank.d.ts +5 -0
- package/dist/types/entities/monsters/tank.d.ts.map +1 -0
- package/dist/types/entities/monsters/tankCommander.d.ts +5 -0
- package/dist/types/entities/monsters/tankCommander.d.ts.map +1 -0
- package/dist/types/entities/monsters/turret.d.ts +5 -0
- package/dist/types/entities/monsters/turret.d.ts.map +1 -0
- package/dist/types/entities/paths.d.ts +3 -0
- package/dist/types/entities/paths.d.ts.map +1 -0
- package/dist/types/entities/player.d.ts +8 -0
- package/dist/types/entities/player.d.ts.map +1 -0
- package/dist/types/entities/playerStats.d.ts +3 -0
- package/dist/types/entities/playerStats.d.ts.map +1 -0
- package/dist/types/entities/player_anim.d.ts +50 -0
- package/dist/types/entities/player_anim.d.ts.map +1 -0
- package/dist/types/entities/pool.d.ts +28 -0
- package/dist/types/entities/pool.d.ts.map +1 -0
- package/dist/types/entities/projectiles/prox.d.ts +5 -0
- package/dist/types/entities/projectiles/prox.d.ts.map +1 -0
- package/dist/types/entities/projectiles/trap.d.ts +7 -0
- package/dist/types/entities/projectiles/trap.d.ts.map +1 -0
- package/dist/types/entities/projectiles.d.ts +22 -0
- package/dist/types/entities/projectiles.d.ts.map +1 -0
- package/dist/types/entities/selection.d.ts +73 -0
- package/dist/types/entities/selection.d.ts.map +1 -0
- package/dist/types/entities/spatial.d.ts +15 -0
- package/dist/types/entities/spatial.d.ts.map +1 -0
- package/dist/types/entities/spawn.d.ts +33 -0
- package/dist/types/entities/spawn.d.ts.map +1 -0
- package/dist/types/entities/spawngro.d.ts +3 -0
- package/dist/types/entities/spawngro.d.ts.map +1 -0
- package/dist/types/entities/system.d.ts +130 -0
- package/dist/types/entities/system.d.ts.map +1 -0
- package/dist/types/entities/target/speaker.d.ts +3 -0
- package/dist/types/entities/target/speaker.d.ts.map +1 -0
- package/dist/types/entities/targets.d.ts +3 -0
- package/dist/types/entities/targets.d.ts.map +1 -0
- package/dist/types/entities/templates.d.ts +45 -0
- package/dist/types/entities/templates.d.ts.map +1 -0
- package/dist/types/entities/thinkScheduler.d.ts +14 -0
- package/dist/types/entities/thinkScheduler.d.ts.map +1 -0
- package/dist/types/entities/triggers/always.d.ts +3 -0
- package/dist/types/entities/triggers/always.d.ts.map +1 -0
- package/dist/types/entities/triggers/bad_area.d.ts +3 -0
- package/dist/types/entities/triggers/bad_area.d.ts.map +1 -0
- package/dist/types/entities/triggers/common.d.ts +14 -0
- package/dist/types/entities/triggers/common.d.ts.map +1 -0
- package/dist/types/entities/triggers/counter.d.ts +3 -0
- package/dist/types/entities/triggers/counter.d.ts.map +1 -0
- package/dist/types/entities/triggers/elevator.d.ts +3 -0
- package/dist/types/entities/triggers/elevator.d.ts.map +1 -0
- package/dist/types/entities/triggers/flashlight.d.ts +3 -0
- package/dist/types/entities/triggers/flashlight.d.ts.map +1 -0
- package/dist/types/entities/triggers/fog.d.ts +2 -0
- package/dist/types/entities/triggers/fog.d.ts.map +1 -0
- package/dist/types/entities/triggers/gravity.d.ts +3 -0
- package/dist/types/entities/triggers/gravity.d.ts.map +1 -0
- package/dist/types/entities/triggers/hurt.d.ts +3 -0
- package/dist/types/entities/triggers/hurt.d.ts.map +1 -0
- package/dist/types/entities/triggers/index.d.ts +3 -0
- package/dist/types/entities/triggers/index.d.ts.map +1 -0
- package/dist/types/entities/triggers/key.d.ts +3 -0
- package/dist/types/entities/triggers/key.d.ts.map +1 -0
- package/dist/types/entities/triggers/look.d.ts +3 -0
- package/dist/types/entities/triggers/look.d.ts.map +1 -0
- package/dist/types/entities/triggers/monsterjump.d.ts +3 -0
- package/dist/types/entities/triggers/monsterjump.d.ts.map +1 -0
- package/dist/types/entities/triggers/multiple.d.ts +6 -0
- package/dist/types/entities/triggers/multiple.d.ts.map +1 -0
- package/dist/types/entities/triggers/once.d.ts +3 -0
- package/dist/types/entities/triggers/once.d.ts.map +1 -0
- package/dist/types/entities/triggers/push.d.ts +3 -0
- package/dist/types/entities/triggers/push.d.ts.map +1 -0
- package/dist/types/entities/triggers/relay.d.ts +3 -0
- package/dist/types/entities/triggers/relay.d.ts.map +1 -0
- package/dist/types/entities/triggers/secret.d.ts +3 -0
- package/dist/types/entities/triggers/secret.d.ts.map +1 -0
- package/dist/types/entities/triggers/teleport.d.ts +3 -0
- package/dist/types/entities/triggers/teleport.d.ts.map +1 -0
- package/dist/types/entities/utils.d.ts +12 -0
- package/dist/types/entities/utils.d.ts.map +1 -0
- package/dist/types/entities/worldspawn.d.ts +5 -0
- package/dist/types/entities/worldspawn.d.ts.map +1 -0
- package/dist/types/imports.d.ts +53 -0
- package/dist/types/imports.d.ts.map +1 -0
- package/dist/types/index.d.ts +124 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/inventory/ammo.d.ts +35 -0
- package/dist/types/inventory/ammo.d.ts.map +1 -0
- package/dist/types/inventory/give.d.ts +3 -0
- package/dist/types/inventory/give.d.ts.map +1 -0
- package/dist/types/inventory/index.d.ts +5 -0
- package/dist/types/inventory/index.d.ts.map +1 -0
- package/dist/types/inventory/items.d.ts +51 -0
- package/dist/types/inventory/items.d.ts.map +1 -0
- package/dist/types/inventory/playerInventory.d.ts +167 -0
- package/dist/types/inventory/playerInventory.d.ts.map +1 -0
- package/dist/types/level.d.ts +16 -0
- package/dist/types/level.d.ts.map +1 -0
- package/dist/types/loop.d.ts +29 -0
- package/dist/types/loop.d.ts.map +1 -0
- package/dist/types/mod.d.ts +34 -0
- package/dist/types/mod.d.ts.map +1 -0
- package/dist/types/modes/ctf/capture.d.ts +7 -0
- package/dist/types/modes/ctf/capture.d.ts.map +1 -0
- package/dist/types/modes/ctf/drop.d.ts +8 -0
- package/dist/types/modes/ctf/drop.d.ts.map +1 -0
- package/dist/types/modes/ctf/flag.d.ts +5 -0
- package/dist/types/modes/ctf/flag.d.ts.map +1 -0
- package/dist/types/modes/ctf/grapple.d.ts +13 -0
- package/dist/types/modes/ctf/grapple.d.ts.map +1 -0
- package/dist/types/modes/ctf/integration.d.ts +4 -0
- package/dist/types/modes/ctf/integration.d.ts.map +1 -0
- package/dist/types/modes/ctf/items.d.ts +2 -0
- package/dist/types/modes/ctf/items.d.ts.map +1 -0
- package/dist/types/modes/ctf/pickup.d.ts +6 -0
- package/dist/types/modes/ctf/pickup.d.ts.map +1 -0
- package/dist/types/modes/ctf/scoreboard.d.ts +34 -0
- package/dist/types/modes/ctf/scoreboard.d.ts.map +1 -0
- package/dist/types/modes/ctf/state.d.ts +15 -0
- package/dist/types/modes/ctf/state.d.ts.map +1 -0
- package/dist/types/modes/ctf/teams.d.ts +28 -0
- package/dist/types/modes/ctf/teams.d.ts.map +1 -0
- package/dist/types/physics/collision.d.ts +14 -0
- package/dist/types/physics/collision.d.ts.map +1 -0
- package/dist/types/physics/fluid.d.ts +10 -0
- package/dist/types/physics/fluid.d.ts.map +1 -0
- package/dist/types/physics/movement.d.ts +32 -0
- package/dist/types/physics/movement.d.ts.map +1 -0
- package/dist/types/replay/index.d.ts +3 -0
- package/dist/types/replay/index.d.ts.map +1 -0
- package/dist/types/replay/player.d.ts +15 -0
- package/dist/types/replay/player.d.ts.map +1 -0
- package/dist/types/replay/recorder.d.ts +16 -0
- package/dist/types/replay/recorder.d.ts.map +1 -0
- package/dist/types/save/adapter.d.ts +24 -0
- package/dist/types/save/adapter.d.ts.map +1 -0
- package/dist/types/save/index.d.ts +4 -0
- package/dist/types/save/index.d.ts.map +1 -0
- package/dist/types/save/rerelease.d.ts +50 -0
- package/dist/types/save/rerelease.d.ts.map +1 -0
- package/dist/types/save/save.d.ts +56 -0
- package/dist/types/save/save.d.ts.map +1 -0
- package/dist/types/save/storage.d.ts +37 -0
- package/dist/types/save/storage.d.ts.map +1 -0
- package/dist/types/save/tests/adapter.test.d.ts +2 -0
- package/dist/types/save/tests/adapter.test.d.ts.map +1 -0
- package/dist/types/save/tests/callbacks.test.d.ts +2 -0
- package/dist/types/save/tests/callbacks.test.d.ts.map +1 -0
- package/dist/types/save/tests/playerInventory.test.d.ts +2 -0
- package/dist/types/save/tests/playerInventory.test.d.ts.map +1 -0
- package/dist/types/scripting/hooks.d.ts +61 -0
- package/dist/types/scripting/hooks.d.ts.map +1 -0
- package/package.json +44 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"counter.d.ts","sourceRoot":"","sources":["../../../../src/entities/triggers/counter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AA+B5C,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAYpE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"elevator.d.ts","sourceRoot":"","sources":["../../../../src/entities/triggers/elevator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AA+D5C,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAKrE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flashlight.d.ts","sourceRoot":"","sources":["../../../../src/entities/triggers/flashlight.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,eAAO,MAAM,yBAAyB,GAAI,UAAU,aAAa,SAgDhE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fog.d.ts","sourceRoot":"","sources":["../../../../src/entities/triggers/fog.ts"],"names":[],"mappings":"AAsIA,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,GAAG,QA4B/C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gravity.d.ts","sourceRoot":"","sources":["../../../../src/entities/triggers/gravity.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AA0B5C,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CA2BpE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hurt.d.ts","sourceRoot":"","sources":["../../../../src/entities/triggers/hurt.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AA2C5C,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAoBjE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/entities/triggers/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAmBjD,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAkBnE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"key.d.ts","sourceRoot":"","sources":["../../../../src/entities/triggers/key.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAoC5C,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAYhE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"look.d.ts","sourceRoot":"","sources":["../../../../src/entities/triggers/look.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAsF5C,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAqBjE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"monsterjump.d.ts","sourceRoot":"","sources":["../../../../src/entities/triggers/monsterjump.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AA0C5C,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CA4BxE"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Entity } from '../entity.js';
|
|
2
|
+
import { EntitySystem } from '../system.js';
|
|
3
|
+
import { SpawnRegistry } from '../spawn.js';
|
|
4
|
+
export declare function multiTrigger(self: Entity, entities: EntitySystem): void;
|
|
5
|
+
export declare function registerTriggerMultiple(registry: SpawnRegistry): void;
|
|
6
|
+
//# sourceMappingURL=multiple.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multiple.d.ts","sourceRoot":"","sources":["../../../../src/entities/triggers/multiple.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAgC,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAQ5C,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,IAAI,CAuCvE;AAuBD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CA+BrE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"once.d.ts","sourceRoot":"","sources":["../../../../src/entities/triggers/once.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CA0BjE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../../../src/entities/triggers/push.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAqE5C,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAoCjE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relay.d.ts","sourceRoot":"","sources":["../../../../src/entities/triggers/relay.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAM5C,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAgBlE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secret.d.ts","sourceRoot":"","sources":["../../../../src/entities/triggers/secret.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAmC5C,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAoBnE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"teleport.d.ts","sourceRoot":"","sources":["../../../../src/entities/triggers/teleport.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AA0C5C,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAmBrE"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Vec3 } from '@quake2ts/shared';
|
|
2
|
+
import { Entity } from './entity.js';
|
|
3
|
+
import { EntitySystem } from './system.js';
|
|
4
|
+
export declare function isZeroVector(vector: Vec3): boolean;
|
|
5
|
+
export declare function setMovedir(angles: Vec3): Vec3;
|
|
6
|
+
export declare function touchTriggers(ent: Entity, system: EntitySystem): void;
|
|
7
|
+
export declare function velocityForDamage(damage: number, kick: number, rng: {
|
|
8
|
+
crandom: () => number;
|
|
9
|
+
}): Vec3;
|
|
10
|
+
export declare function clipVelocity(inVel: Vec3, normal: Vec3, overbounce: number): Vec3;
|
|
11
|
+
export declare function G_PickTarget(targetName: string | undefined | null, context: EntitySystem): Entity | null;
|
|
12
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/entities/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,EAAE,MAAM,EAAS,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAW3C,wBAAgB,YAAY,CAAC,MAAM,EAAE,IAAI,GAAG,OAAO,CAElD;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,CAQ7C;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CAwBrE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE;IAAE,OAAO,EAAE,MAAM,MAAM,CAAA;CAAE,GAAG,IAAI,CAOpG;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAEhF;AAED,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EAAE,OAAO,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI,CAaxG"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Entity } from './entity.js';
|
|
2
|
+
import { SpawnContext, SpawnRegistry } from './spawn.js';
|
|
3
|
+
export declare function SP_worldspawn(self: Entity, context: SpawnContext): void;
|
|
4
|
+
export declare function registerWorldSpawn(registry: SpawnRegistry): void;
|
|
5
|
+
//# sourceMappingURL=worldspawn.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worldspawn.d.ts","sourceRoot":"","sources":["../../../src/entities/worldspawn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAmB,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGzD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI,CAqCvE;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAEhE"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { Vec3, CollisionPlane } from '@quake2ts/shared';
|
|
2
|
+
import type { Entity } from './entities/entity.js';
|
|
3
|
+
import type { ServerCommand } from '@quake2ts/shared';
|
|
4
|
+
export interface GameTraceResult {
|
|
5
|
+
allsolid: boolean;
|
|
6
|
+
startsolid: boolean;
|
|
7
|
+
fraction: number;
|
|
8
|
+
endpos: Vec3;
|
|
9
|
+
plane: CollisionPlane | null;
|
|
10
|
+
surfaceFlags: number;
|
|
11
|
+
contents: number;
|
|
12
|
+
ent: Entity | null;
|
|
13
|
+
}
|
|
14
|
+
export type TraceFunction = (start: Vec3, mins: Vec3 | null, maxs: Vec3 | null, end: Vec3, passent: Entity | null, contentmask: number) => GameTraceResult;
|
|
15
|
+
export type PointContentsFunction = (point: Vec3) => number;
|
|
16
|
+
export type TraceModelFunction = (entity: Entity, start: Vec3, end: Vec3) => GameTraceResult;
|
|
17
|
+
export declare enum MulticastType {
|
|
18
|
+
All = 0,
|
|
19
|
+
Pvs = 1,
|
|
20
|
+
Phs = 2
|
|
21
|
+
}
|
|
22
|
+
export interface GameImports {
|
|
23
|
+
trace: TraceFunction;
|
|
24
|
+
traceModel?: TraceModelFunction;
|
|
25
|
+
pointcontents: PointContentsFunction;
|
|
26
|
+
linkentity(ent: Entity): void;
|
|
27
|
+
areaEdicts(mins: Vec3, maxs: Vec3): number[] | null;
|
|
28
|
+
multicast(origin: Vec3, type: MulticastType, event: ServerCommand, ...args: any[]): void;
|
|
29
|
+
unicast(ent: Entity, reliable: boolean, event: ServerCommand, ...args: any[]): void;
|
|
30
|
+
configstring(index: number, value: string): void;
|
|
31
|
+
serverCommand(cmd: string): void;
|
|
32
|
+
setLagCompensation(active: boolean, client?: Entity, lagMs?: number): void;
|
|
33
|
+
}
|
|
34
|
+
export interface GameEngine {
|
|
35
|
+
trace(start: Vec3, end: Vec3): unknown;
|
|
36
|
+
traceModel?(entity: Entity, start: Vec3, end: Vec3): unknown;
|
|
37
|
+
sound?(entity: Entity, channel: number, sound: string, volume: number, attenuation: number, timeofs: number): void;
|
|
38
|
+
soundIndex?(sound: string): number;
|
|
39
|
+
centerprintf?(entity: Entity, message: string): void;
|
|
40
|
+
modelIndex?(model: string): number;
|
|
41
|
+
multicast?(origin: Vec3, type: MulticastType, event: ServerCommand, ...args: any[]): void;
|
|
42
|
+
unicast?(ent: Entity, reliable: boolean, event: ServerCommand, ...args: any[]): void;
|
|
43
|
+
configstring?(index: number, value: string): void;
|
|
44
|
+
serverCommand?(cmd: string): void;
|
|
45
|
+
cvar?(name: string): {
|
|
46
|
+
number: number;
|
|
47
|
+
string: string;
|
|
48
|
+
value: string;
|
|
49
|
+
} | undefined;
|
|
50
|
+
setLagCompensation?(active: boolean, client?: Entity, lagMs?: number): void;
|
|
51
|
+
setAreaPortalState?(portalNum: number, open: boolean): void;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=imports.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"imports.d.ts","sourceRoot":"","sources":["../../src/imports.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import type { GameSimulation } from '@quake2ts/engine';
|
|
2
|
+
import type { Vec3 } from '@quake2ts/shared';
|
|
3
|
+
import { EntitySystem } from './entities/index.js';
|
|
4
|
+
import { type LevelFrameState } from './level.js';
|
|
5
|
+
import { GameSaveFile } from './save/index.js';
|
|
6
|
+
import { RandomGenerator } from '@quake2ts/shared';
|
|
7
|
+
export * from './entities/index.js';
|
|
8
|
+
export * from './entities/templates.js';
|
|
9
|
+
export * from './ai/index.js';
|
|
10
|
+
export * from './ai/noise.js';
|
|
11
|
+
export interface GameCreateOptions {
|
|
12
|
+
gravity: Vec3;
|
|
13
|
+
deathmatch?: boolean;
|
|
14
|
+
coop?: boolean;
|
|
15
|
+
friendlyFire?: boolean;
|
|
16
|
+
skill?: number;
|
|
17
|
+
rogue?: boolean;
|
|
18
|
+
xatrix?: boolean;
|
|
19
|
+
random?: RandomGenerator;
|
|
20
|
+
}
|
|
21
|
+
import { ServerCommand, EntityState } from '@quake2ts/shared';
|
|
22
|
+
import { MulticastType, GameEngine } from './imports.js';
|
|
23
|
+
export { MulticastType, GameEngine } from './imports.js';
|
|
24
|
+
export interface GameStateSnapshot {
|
|
25
|
+
readonly gravity: Vec3;
|
|
26
|
+
readonly origin: Vec3;
|
|
27
|
+
readonly velocity: Vec3;
|
|
28
|
+
readonly viewangles: Vec3;
|
|
29
|
+
readonly level: LevelFrameState;
|
|
30
|
+
readonly entities: {
|
|
31
|
+
readonly activeCount: number;
|
|
32
|
+
readonly worldClassname: string;
|
|
33
|
+
};
|
|
34
|
+
readonly packetEntities: EntityState[];
|
|
35
|
+
readonly pmFlags: number;
|
|
36
|
+
readonly pmType: number;
|
|
37
|
+
readonly waterlevel: number;
|
|
38
|
+
readonly watertype: number;
|
|
39
|
+
readonly deltaAngles: Vec3;
|
|
40
|
+
readonly client?: PlayerClient;
|
|
41
|
+
readonly health: number;
|
|
42
|
+
readonly armor: number;
|
|
43
|
+
readonly ammo: number;
|
|
44
|
+
readonly blend: [number, number, number, number];
|
|
45
|
+
readonly pickupIcon?: string;
|
|
46
|
+
readonly damageAlpha: number;
|
|
47
|
+
readonly damageIndicators: any[];
|
|
48
|
+
readonly stats: number[];
|
|
49
|
+
readonly kick_angles: Vec3;
|
|
50
|
+
readonly kick_origin: Vec3;
|
|
51
|
+
readonly gunoffset: Vec3;
|
|
52
|
+
readonly gunangles: Vec3;
|
|
53
|
+
readonly gunindex: number;
|
|
54
|
+
readonly pm_time: number;
|
|
55
|
+
readonly gun_frame: number;
|
|
56
|
+
readonly rdflags: number;
|
|
57
|
+
readonly fov: number;
|
|
58
|
+
readonly renderfx: number;
|
|
59
|
+
readonly pm_type: number;
|
|
60
|
+
readonly pm_flags: number;
|
|
61
|
+
}
|
|
62
|
+
import { UserCommand } from '@quake2ts/shared';
|
|
63
|
+
import { Entity } from './entities/entity.js';
|
|
64
|
+
import { GameTraceResult } from './imports.js';
|
|
65
|
+
import { CustomEntityRegistration } from './mod.js';
|
|
66
|
+
export { CustomEntityRegistration, ModAPI } from './mod.js';
|
|
67
|
+
import { ScriptHookRegistry, ScriptHooks } from './scripting/hooks.js';
|
|
68
|
+
export { ScriptHookRegistry, ScriptHooks } from './scripting/hooks.js';
|
|
69
|
+
import { ModAPI } from './mod.js';
|
|
70
|
+
export interface GameExports extends GameSimulation<GameStateSnapshot>, CustomEntityRegistration {
|
|
71
|
+
spawnWorld(): void;
|
|
72
|
+
readonly entities: EntitySystem;
|
|
73
|
+
sound(entity: Entity, channel: number, sound: string, volume: number, attenuation: number, timeofs: number): void;
|
|
74
|
+
soundIndex(sound: string): number;
|
|
75
|
+
centerprintf(entity: Entity, message: string): void;
|
|
76
|
+
readonly time: number;
|
|
77
|
+
readonly deathmatch: boolean;
|
|
78
|
+
readonly skill: number;
|
|
79
|
+
readonly rogue: boolean;
|
|
80
|
+
readonly xatrix: boolean;
|
|
81
|
+
readonly coop: boolean;
|
|
82
|
+
readonly friendlyFire: boolean;
|
|
83
|
+
readonly random: RandomGenerator;
|
|
84
|
+
trace(start: Vec3, mins: Vec3 | null, maxs: Vec3 | null, end: Vec3, passent: Entity | null, contentmask: number): GameTraceResult;
|
|
85
|
+
multicast(origin: Vec3, type: MulticastType, event: ServerCommand, ...args: any[]): void;
|
|
86
|
+
unicast(ent: Entity, reliable: boolean, event: ServerCommand, ...args: any[]): void;
|
|
87
|
+
configstring(index: number, value: string): void;
|
|
88
|
+
serverCommand(cmd: string): void;
|
|
89
|
+
setLagCompensation?(active: boolean, client?: Entity, lagMs?: number): void;
|
|
90
|
+
createSave(mapName: string, difficulty: number, playtimeSeconds: number): GameSaveFile;
|
|
91
|
+
loadSave(save: GameSaveFile): void;
|
|
92
|
+
serialize(): SerializedGameState;
|
|
93
|
+
loadState(state: SerializedGameState): void;
|
|
94
|
+
clientConnect(ent: Entity | null, userInfo: string): string | true;
|
|
95
|
+
clientBegin(client: PlayerClient): Entity;
|
|
96
|
+
clientDisconnect(ent: Entity): void;
|
|
97
|
+
clientThink(ent: Entity, cmd: UserCommand): void;
|
|
98
|
+
respawn(ent: Entity): void;
|
|
99
|
+
setGodMode(enabled: boolean): void;
|
|
100
|
+
setNoclip(enabled: boolean): void;
|
|
101
|
+
setNotarget(enabled: boolean): void;
|
|
102
|
+
giveItem(itemClassname: string): void;
|
|
103
|
+
damage(amount: number): void;
|
|
104
|
+
teleport(origin: Vec3): void;
|
|
105
|
+
registerHooks(hooks: ScriptHooks): () => void;
|
|
106
|
+
hooks: ScriptHookRegistry;
|
|
107
|
+
setSpectator(playernum: number, spectating: boolean): void;
|
|
108
|
+
onModInit?: (modId: string, modApi: ModAPI) => void;
|
|
109
|
+
onModShutdown?: (modId: string) => void;
|
|
110
|
+
}
|
|
111
|
+
export { hashGameState, hashEntitySystem } from './checksum.js';
|
|
112
|
+
export * from './save/index.js';
|
|
113
|
+
import { SerializedGameState } from './save/adapter.js';
|
|
114
|
+
export { SerializedGameState };
|
|
115
|
+
export * from './demo/serializer.js';
|
|
116
|
+
export * from './combat/index.js';
|
|
117
|
+
export * from './inventory/index.js';
|
|
118
|
+
import { PlayerClient } from './inventory/index.js';
|
|
119
|
+
export { createPlayerInventory } from './inventory/index.js';
|
|
120
|
+
export { createPlayerWeaponStates } from './combat/index.js';
|
|
121
|
+
import { GameImports } from './imports.js';
|
|
122
|
+
export type { GameImports };
|
|
123
|
+
export declare function createGame(imports: Partial<GameImports>, engine: GameEngine, options: GameCreateOptions): GameExports;
|
|
124
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { AmmoType, AMMO_TYPE_COUNT, AmmoItemId } from '@quake2ts/shared';
|
|
2
|
+
export { AmmoType, AMMO_TYPE_COUNT, AmmoItemId };
|
|
3
|
+
export type AmmoCaps = readonly number[];
|
|
4
|
+
export type AmmoSeed = Partial<Record<AmmoType, number>>;
|
|
5
|
+
export interface AmmoInventory {
|
|
6
|
+
readonly caps: AmmoCaps;
|
|
7
|
+
counts: number[];
|
|
8
|
+
}
|
|
9
|
+
export interface AmmoAdjustmentResult {
|
|
10
|
+
readonly ammoType: AmmoType;
|
|
11
|
+
readonly added: number;
|
|
12
|
+
readonly newCount: number;
|
|
13
|
+
readonly capped: number;
|
|
14
|
+
readonly pickedUp: boolean;
|
|
15
|
+
}
|
|
16
|
+
export interface AmmoItemDefinition {
|
|
17
|
+
readonly id: AmmoItemId;
|
|
18
|
+
readonly ammoType: AmmoType;
|
|
19
|
+
readonly quantity: number;
|
|
20
|
+
readonly weaponAmmo: boolean;
|
|
21
|
+
}
|
|
22
|
+
export declare function getAmmoItemDefinition(id: AmmoItemId): AmmoItemDefinition;
|
|
23
|
+
export declare function createAmmoInventory(caps?: AmmoCaps, seed?: AmmoSeed): AmmoInventory;
|
|
24
|
+
/**
|
|
25
|
+
* Mirrors the rerelease defaults in p_client.cpp where max ammo counts are
|
|
26
|
+
* seeded to 50, then overridden for select types (bullets/shells/cells).
|
|
27
|
+
*/
|
|
28
|
+
export declare function createBaseAmmoCaps(): number[];
|
|
29
|
+
export declare function clampAmmoCounts(counts: readonly number[], caps: AmmoCaps): number[];
|
|
30
|
+
export declare function addAmmo(inventory: AmmoInventory, ammoType: AmmoType, amount: number): AmmoAdjustmentResult;
|
|
31
|
+
export interface AmmoPickupOptions {
|
|
32
|
+
readonly countOverride?: number;
|
|
33
|
+
}
|
|
34
|
+
export declare function pickupAmmo(inventory: AmmoInventory, itemId: AmmoItemId, options?: AmmoPickupOptions): AmmoAdjustmentResult;
|
|
35
|
+
//# sourceMappingURL=ammo.d.ts.map
|
|
@@ -0,0 +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,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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"give.d.ts","sourceRoot":"","sources":["../../../src/inventory/give.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAgFnE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/inventory/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { AmmoType } from './ammo.js';
|
|
2
|
+
import { WeaponId } from './playerInventory.js';
|
|
3
|
+
import { Entity } from '../entities/entity.js';
|
|
4
|
+
import { EntitySystem } from '../entities/system.js';
|
|
5
|
+
export { AmmoType };
|
|
6
|
+
export interface BaseItem {
|
|
7
|
+
id: string;
|
|
8
|
+
name: string;
|
|
9
|
+
}
|
|
10
|
+
export interface WeaponItem extends BaseItem {
|
|
11
|
+
type: 'weapon';
|
|
12
|
+
weaponId: WeaponId;
|
|
13
|
+
think?: (player: Entity, sys: EntitySystem) => void;
|
|
14
|
+
ammoType: AmmoType | null;
|
|
15
|
+
initialAmmo: number;
|
|
16
|
+
pickupAmmo: number;
|
|
17
|
+
fireRate: number;
|
|
18
|
+
viewModel?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface HealthItem extends BaseItem {
|
|
21
|
+
type: 'health';
|
|
22
|
+
amount: number;
|
|
23
|
+
max: number;
|
|
24
|
+
}
|
|
25
|
+
export interface ArmorItem extends BaseItem {
|
|
26
|
+
type: 'armor';
|
|
27
|
+
amount: number;
|
|
28
|
+
}
|
|
29
|
+
export interface PowerupItem extends BaseItem {
|
|
30
|
+
type: 'powerup';
|
|
31
|
+
timer: number;
|
|
32
|
+
}
|
|
33
|
+
export interface PowerArmorItem extends BaseItem {
|
|
34
|
+
type: 'power_armor';
|
|
35
|
+
armorType: 'screen' | 'shield';
|
|
36
|
+
}
|
|
37
|
+
export interface KeyItem extends BaseItem {
|
|
38
|
+
type: 'key';
|
|
39
|
+
}
|
|
40
|
+
export interface FlagItem extends BaseItem {
|
|
41
|
+
type: 'flag';
|
|
42
|
+
team: 'red' | 'blue';
|
|
43
|
+
}
|
|
44
|
+
export declare const WEAPON_ITEMS: Record<string, WeaponItem>;
|
|
45
|
+
export declare const HEALTH_ITEMS: Record<string, HealthItem>;
|
|
46
|
+
export declare const ARMOR_ITEMS: Record<string, ArmorItem>;
|
|
47
|
+
export declare const POWERUP_ITEMS: Record<string, PowerupItem>;
|
|
48
|
+
export declare const POWER_ARMOR_ITEMS: Record<string, PowerArmorItem>;
|
|
49
|
+
export declare const KEY_ITEMS: Record<string, KeyItem>;
|
|
50
|
+
export declare const FLAG_ITEMS: Record<string, FlagItem>;
|
|
51
|
+
//# sourceMappingURL=items.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"items.d.ts","sourceRoot":"","sources":["../../../src/inventory/items.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAerD,OAAO,EAAE,QAAQ,EAAE,CAAC;AAEpB,MAAM,WAAW,QAAQ;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAW,SAAQ,QAAQ;IACxC,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,KAAK,IAAI,CAAC;IACpD,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,UAAW,SAAQ,QAAQ;IACxC,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,SAAU,SAAQ,QAAQ;IACvC,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAY,SAAQ,QAAQ;IACzC,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAe,SAAQ,QAAQ;IAC5C,IAAI,EAAE,aAAa,CAAC;IACpB,SAAS,EAAE,QAAQ,GAAG,QAAQ,CAAC;CAClC;AAED,MAAM,WAAW,OAAQ,SAAQ,QAAQ;IACrC,IAAI,EAAE,KAAK,CAAC;CACf;AAED,MAAM,WAAW,QAAS,SAAQ,QAAQ;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,KAAK,GAAG,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAwNnD,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CA6BnD,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAyBjD,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAqCrD,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAa5D,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAqB7C,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAa/C,CAAC"}
|