@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.
Files changed (382) hide show
  1. package/dist/browser/index.global.js +6 -0
  2. package/dist/browser/index.global.js.map +1 -0
  3. package/dist/cjs/index.cjs +28688 -0
  4. package/dist/cjs/index.cjs.map +1 -0
  5. package/dist/esm/index.js +28477 -0
  6. package/dist/esm/index.js.map +1 -0
  7. package/dist/tsconfig.tsbuildinfo +1 -0
  8. package/dist/types/ai/constants.d.ts +51 -0
  9. package/dist/types/ai/constants.d.ts.map +1 -0
  10. package/dist/types/ai/index.d.ts +7 -0
  11. package/dist/types/ai/index.d.ts.map +1 -0
  12. package/dist/types/ai/monster.d.ts +7 -0
  13. package/dist/types/ai/monster.d.ts.map +1 -0
  14. package/dist/types/ai/movement.d.ts +47 -0
  15. package/dist/types/ai/movement.d.ts.map +1 -0
  16. package/dist/types/ai/movement_rogue.d.ts +18 -0
  17. package/dist/types/ai/movement_rogue.d.ts.map +1 -0
  18. package/dist/types/ai/noise.d.ts +12 -0
  19. package/dist/types/ai/noise.d.ts.map +1 -0
  20. package/dist/types/ai/perception.d.ts +23 -0
  21. package/dist/types/ai/perception.d.ts.map +1 -0
  22. package/dist/types/ai/rogue.d.ts +36 -0
  23. package/dist/types/ai/rogue.d.ts.map +1 -0
  24. package/dist/types/ai/spawn_utils.d.ts +6 -0
  25. package/dist/types/ai/spawn_utils.d.ts.map +1 -0
  26. package/dist/types/ai/targeting.d.ts +29 -0
  27. package/dist/types/ai/targeting.d.ts.map +1 -0
  28. package/dist/types/buttons.d.ts +2 -0
  29. package/dist/types/buttons.d.ts.map +1 -0
  30. package/dist/types/checksum.d.ts +11 -0
  31. package/dist/types/checksum.d.ts.map +1 -0
  32. package/dist/types/combat/armor.d.ts +39 -0
  33. package/dist/types/combat/armor.d.ts.map +1 -0
  34. package/dist/types/combat/damage.d.ts +60 -0
  35. package/dist/types/combat/damage.d.ts.map +1 -0
  36. package/dist/types/combat/damageFlags.d.ts +22 -0
  37. package/dist/types/combat/damageFlags.d.ts.map +1 -0
  38. package/dist/types/combat/damageMods.d.ts +80 -0
  39. package/dist/types/combat/damageMods.d.ts.map +1 -0
  40. package/dist/types/combat/index.d.ts +8 -0
  41. package/dist/types/combat/index.d.ts.map +1 -0
  42. package/dist/types/combat/obituary.d.ts +10 -0
  43. package/dist/types/combat/obituary.d.ts.map +1 -0
  44. package/dist/types/combat/specialDamage.d.ts +88 -0
  45. package/dist/types/combat/specialDamage.d.ts.map +1 -0
  46. package/dist/types/combat/weapon.d.ts +23 -0
  47. package/dist/types/combat/weapon.d.ts.map +1 -0
  48. package/dist/types/combat/weapons/animation.d.ts +18 -0
  49. package/dist/types/combat/weapons/animation.d.ts.map +1 -0
  50. package/dist/types/combat/weapons/bfg.d.ts +4 -0
  51. package/dist/types/combat/weapons/bfg.d.ts.map +1 -0
  52. package/dist/types/combat/weapons/blaster.d.ts +4 -0
  53. package/dist/types/combat/weapons/blaster.d.ts.map +1 -0
  54. package/dist/types/combat/weapons/chainfist.d.ts +9 -0
  55. package/dist/types/combat/weapons/chainfist.d.ts.map +1 -0
  56. package/dist/types/combat/weapons/chaingun.d.ts +4 -0
  57. package/dist/types/combat/weapons/chaingun.d.ts.map +1 -0
  58. package/dist/types/combat/weapons/common.d.ts +10 -0
  59. package/dist/types/combat/weapons/common.d.ts.map +1 -0
  60. package/dist/types/combat/weapons/firing.d.ts +29 -0
  61. package/dist/types/combat/weapons/firing.d.ts.map +1 -0
  62. package/dist/types/combat/weapons/frames.d.ts +51 -0
  63. package/dist/types/combat/weapons/frames.d.ts.map +1 -0
  64. package/dist/types/combat/weapons/grenade.d.ts +4 -0
  65. package/dist/types/combat/weapons/grenade.d.ts.map +1 -0
  66. package/dist/types/combat/weapons/grenadelauncher.d.ts +4 -0
  67. package/dist/types/combat/weapons/grenadelauncher.d.ts.map +1 -0
  68. package/dist/types/combat/weapons/hyperblaster.d.ts +4 -0
  69. package/dist/types/combat/weapons/hyperblaster.d.ts.map +1 -0
  70. package/dist/types/combat/weapons/machinegun.d.ts +4 -0
  71. package/dist/types/combat/weapons/machinegun.d.ts.map +1 -0
  72. package/dist/types/combat/weapons/projectSource.d.ts +17 -0
  73. package/dist/types/combat/weapons/projectSource.d.ts.map +1 -0
  74. package/dist/types/combat/weapons/railgun.d.ts +4 -0
  75. package/dist/types/combat/weapons/railgun.d.ts.map +1 -0
  76. package/dist/types/combat/weapons/registry.d.ts +16 -0
  77. package/dist/types/combat/weapons/registry.d.ts.map +1 -0
  78. package/dist/types/combat/weapons/rocket.d.ts +4 -0
  79. package/dist/types/combat/weapons/rocket.d.ts.map +1 -0
  80. package/dist/types/combat/weapons/rogue.d.ts +10 -0
  81. package/dist/types/combat/weapons/rogue.d.ts.map +1 -0
  82. package/dist/types/combat/weapons/shotgun.d.ts +4 -0
  83. package/dist/types/combat/weapons/shotgun.d.ts.map +1 -0
  84. package/dist/types/combat/weapons/state.d.ts +19 -0
  85. package/dist/types/combat/weapons/state.d.ts.map +1 -0
  86. package/dist/types/combat/weapons/supershotgun.d.ts +4 -0
  87. package/dist/types/combat/weapons/supershotgun.d.ts.map +1 -0
  88. package/dist/types/combat/weapons/switching.d.ts +16 -0
  89. package/dist/types/combat/weapons/switching.d.ts.map +1 -0
  90. package/dist/types/combat/weapons/trap.d.ts +4 -0
  91. package/dist/types/combat/weapons/trap.d.ts.map +1 -0
  92. package/dist/types/demo/serializer.d.ts +10 -0
  93. package/dist/types/demo/serializer.d.ts.map +1 -0
  94. package/dist/types/dm/chat.d.ts +4 -0
  95. package/dist/types/dm/chat.d.ts.map +1 -0
  96. package/dist/types/dm/game.d.ts +7 -0
  97. package/dist/types/dm/game.d.ts.map +1 -0
  98. package/dist/types/dm/scoreboard.d.ts +15 -0
  99. package/dist/types/dm/scoreboard.d.ts.map +1 -0
  100. package/dist/types/dm/telefrag.d.ts +2 -0
  101. package/dist/types/dm/telefrag.d.ts.map +1 -0
  102. package/dist/types/editor/analysis.d.ts +20 -0
  103. package/dist/types/editor/analysis.d.ts.map +1 -0
  104. package/dist/types/editor/graph.d.ts +19 -0
  105. package/dist/types/editor/graph.d.ts.map +1 -0
  106. package/dist/types/editor/metadata.d.ts +31 -0
  107. package/dist/types/editor/metadata.d.ts.map +1 -0
  108. package/dist/types/editor/search.d.ts +9 -0
  109. package/dist/types/editor/search.d.ts.map +1 -0
  110. package/dist/types/editor/selection.d.ts +19 -0
  111. package/dist/types/editor/selection.d.ts.map +1 -0
  112. package/dist/types/entities/callbacks.d.ts +6 -0
  113. package/dist/types/entities/callbacks.d.ts.map +1 -0
  114. package/dist/types/entities/camera.d.ts +6 -0
  115. package/dist/types/entities/camera.d.ts.map +1 -0
  116. package/dist/types/entities/entity.d.ts +375 -0
  117. package/dist/types/entities/entity.d.ts.map +1 -0
  118. package/dist/types/entities/enums.d.ts +117 -0
  119. package/dist/types/entities/enums.d.ts.map +1 -0
  120. package/dist/types/entities/funcs.d.ts +13 -0
  121. package/dist/types/entities/funcs.d.ts.map +1 -0
  122. package/dist/types/entities/gibs.d.ts +20 -0
  123. package/dist/types/entities/gibs.d.ts.map +1 -0
  124. package/dist/types/entities/index.d.ts +9 -0
  125. package/dist/types/entities/index.d.ts.map +1 -0
  126. package/dist/types/entities/items/ammo.d.ts +5 -0
  127. package/dist/types/entities/items/ammo.d.ts.map +1 -0
  128. package/dist/types/entities/items/armor.d.ts +5 -0
  129. package/dist/types/entities/items/armor.d.ts.map +1 -0
  130. package/dist/types/entities/items/common.d.ts +5 -0
  131. package/dist/types/entities/items/common.d.ts.map +1 -0
  132. package/dist/types/entities/items/foodcube.d.ts +4 -0
  133. package/dist/types/entities/items/foodcube.d.ts.map +1 -0
  134. package/dist/types/entities/items/health.d.ts +5 -0
  135. package/dist/types/entities/items/health.d.ts.map +1 -0
  136. package/dist/types/entities/items/index.d.ts +8 -0
  137. package/dist/types/entities/items/index.d.ts.map +1 -0
  138. package/dist/types/entities/items/keys.d.ts +5 -0
  139. package/dist/types/entities/items/keys.d.ts.map +1 -0
  140. package/dist/types/entities/items/powerArmor.d.ts +5 -0
  141. package/dist/types/entities/items/powerArmor.d.ts.map +1 -0
  142. package/dist/types/entities/items/powerups.d.ts +5 -0
  143. package/dist/types/entities/items/powerups.d.ts.map +1 -0
  144. package/dist/types/entities/items/weapons.d.ts +5 -0
  145. package/dist/types/entities/items/weapons.d.ts.map +1 -0
  146. package/dist/types/entities/items.d.ts +5 -0
  147. package/dist/types/entities/items.d.ts.map +1 -0
  148. package/dist/types/entities/lights.d.ts +3 -0
  149. package/dist/types/entities/lights.d.ts.map +1 -0
  150. package/dist/types/entities/misc/decorative.d.ts +7 -0
  151. package/dist/types/entities/misc/decorative.d.ts.map +1 -0
  152. package/dist/types/entities/misc/flyers.d.ts +6 -0
  153. package/dist/types/entities/misc/flyers.d.ts.map +1 -0
  154. package/dist/types/entities/misc/more_misc.d.ts +12 -0
  155. package/dist/types/entities/misc/more_misc.d.ts.map +1 -0
  156. package/dist/types/entities/misc/viperMissile.d.ts +3 -0
  157. package/dist/types/entities/misc/viperMissile.d.ts.map +1 -0
  158. package/dist/types/entities/misc.d.ts +4 -0
  159. package/dist/types/entities/misc.d.ts.map +1 -0
  160. package/dist/types/entities/monsters/actor.d.ts +6 -0
  161. package/dist/types/entities/monsters/actor.d.ts.map +1 -0
  162. package/dist/types/entities/monsters/arachnid.d.ts +5 -0
  163. package/dist/types/entities/monsters/arachnid.d.ts.map +1 -0
  164. package/dist/types/entities/monsters/attack.d.ts +19 -0
  165. package/dist/types/entities/monsters/attack.d.ts.map +1 -0
  166. package/dist/types/entities/monsters/berserk.d.ts +5 -0
  167. package/dist/types/entities/monsters/berserk.d.ts.map +1 -0
  168. package/dist/types/entities/monsters/boss2.d.ts +5 -0
  169. package/dist/types/entities/monsters/boss2.d.ts.map +1 -0
  170. package/dist/types/entities/monsters/brain.d.ts +5 -0
  171. package/dist/types/entities/monsters/brain.d.ts.map +1 -0
  172. package/dist/types/entities/monsters/chick.d.ts +5 -0
  173. package/dist/types/entities/monsters/chick.d.ts.map +1 -0
  174. package/dist/types/entities/monsters/common.d.ts +33 -0
  175. package/dist/types/entities/monsters/common.d.ts.map +1 -0
  176. package/dist/types/entities/monsters/fixbot.d.ts +5 -0
  177. package/dist/types/entities/monsters/fixbot.d.ts.map +1 -0
  178. package/dist/types/entities/monsters/flipper.d.ts +5 -0
  179. package/dist/types/entities/monsters/flipper.d.ts.map +1 -0
  180. package/dist/types/entities/monsters/floater.d.ts +5 -0
  181. package/dist/types/entities/monsters/floater.d.ts.map +1 -0
  182. package/dist/types/entities/monsters/flyer.d.ts +7 -0
  183. package/dist/types/entities/monsters/flyer.d.ts.map +1 -0
  184. package/dist/types/entities/monsters/gekk.d.ts +5 -0
  185. package/dist/types/entities/monsters/gekk.d.ts.map +1 -0
  186. package/dist/types/entities/monsters/gladiator.d.ts +5 -0
  187. package/dist/types/entities/monsters/gladiator.d.ts.map +1 -0
  188. package/dist/types/entities/monsters/guardian.d.ts +5 -0
  189. package/dist/types/entities/monsters/guardian.d.ts.map +1 -0
  190. package/dist/types/entities/monsters/gunner.d.ts +5 -0
  191. package/dist/types/entities/monsters/gunner.d.ts.map +1 -0
  192. package/dist/types/entities/monsters/gunnerCommander.d.ts +5 -0
  193. package/dist/types/entities/monsters/gunnerCommander.d.ts.map +1 -0
  194. package/dist/types/entities/monsters/hover.d.ts +5 -0
  195. package/dist/types/entities/monsters/hover.d.ts.map +1 -0
  196. package/dist/types/entities/monsters/icarus.d.ts +5 -0
  197. package/dist/types/entities/monsters/icarus.d.ts.map +1 -0
  198. package/dist/types/entities/monsters/index.d.ts +3 -0
  199. package/dist/types/entities/monsters/index.d.ts.map +1 -0
  200. package/dist/types/entities/monsters/infantry.d.ts +5 -0
  201. package/dist/types/entities/monsters/infantry.d.ts.map +1 -0
  202. package/dist/types/entities/monsters/insane.d.ts +5 -0
  203. package/dist/types/entities/monsters/insane.d.ts.map +1 -0
  204. package/dist/types/entities/monsters/jorg.d.ts +5 -0
  205. package/dist/types/entities/monsters/jorg.d.ts.map +1 -0
  206. package/dist/types/entities/monsters/makron.d.ts +5 -0
  207. package/dist/types/entities/monsters/makron.d.ts.map +1 -0
  208. package/dist/types/entities/monsters/medic.d.ts +6 -0
  209. package/dist/types/entities/monsters/medic.d.ts.map +1 -0
  210. package/dist/types/entities/monsters/mutant.d.ts +5 -0
  211. package/dist/types/entities/monsters/mutant.d.ts.map +1 -0
  212. package/dist/types/entities/monsters/parasite.d.ts +5 -0
  213. package/dist/types/entities/monsters/parasite.d.ts.map +1 -0
  214. package/dist/types/entities/monsters/rogue/carrier.d.ts +5 -0
  215. package/dist/types/entities/monsters/rogue/carrier.d.ts.map +1 -0
  216. package/dist/types/entities/monsters/rogue/common.d.ts +11 -0
  217. package/dist/types/entities/monsters/rogue/common.d.ts.map +1 -0
  218. package/dist/types/entities/monsters/rogue/stalker.d.ts +5 -0
  219. package/dist/types/entities/monsters/rogue/stalker.d.ts.map +1 -0
  220. package/dist/types/entities/monsters/rogue/widow.d.ts +5 -0
  221. package/dist/types/entities/monsters/rogue/widow.d.ts.map +1 -0
  222. package/dist/types/entities/monsters/rogue/widow2.d.ts +3 -0
  223. package/dist/types/entities/monsters/rogue/widow2.d.ts.map +1 -0
  224. package/dist/types/entities/monsters/shambler.d.ts +5 -0
  225. package/dist/types/entities/monsters/shambler.d.ts.map +1 -0
  226. package/dist/types/entities/monsters/soldier.d.ts +11 -0
  227. package/dist/types/entities/monsters/soldier.d.ts.map +1 -0
  228. package/dist/types/entities/monsters/supertank.d.ts +5 -0
  229. package/dist/types/entities/monsters/supertank.d.ts.map +1 -0
  230. package/dist/types/entities/monsters/tank.d.ts +5 -0
  231. package/dist/types/entities/monsters/tank.d.ts.map +1 -0
  232. package/dist/types/entities/monsters/tankCommander.d.ts +5 -0
  233. package/dist/types/entities/monsters/tankCommander.d.ts.map +1 -0
  234. package/dist/types/entities/monsters/turret.d.ts +5 -0
  235. package/dist/types/entities/monsters/turret.d.ts.map +1 -0
  236. package/dist/types/entities/paths.d.ts +3 -0
  237. package/dist/types/entities/paths.d.ts.map +1 -0
  238. package/dist/types/entities/player.d.ts +8 -0
  239. package/dist/types/entities/player.d.ts.map +1 -0
  240. package/dist/types/entities/playerStats.d.ts +3 -0
  241. package/dist/types/entities/playerStats.d.ts.map +1 -0
  242. package/dist/types/entities/player_anim.d.ts +50 -0
  243. package/dist/types/entities/player_anim.d.ts.map +1 -0
  244. package/dist/types/entities/pool.d.ts +28 -0
  245. package/dist/types/entities/pool.d.ts.map +1 -0
  246. package/dist/types/entities/projectiles/prox.d.ts +5 -0
  247. package/dist/types/entities/projectiles/prox.d.ts.map +1 -0
  248. package/dist/types/entities/projectiles/trap.d.ts +7 -0
  249. package/dist/types/entities/projectiles/trap.d.ts.map +1 -0
  250. package/dist/types/entities/projectiles.d.ts +22 -0
  251. package/dist/types/entities/projectiles.d.ts.map +1 -0
  252. package/dist/types/entities/selection.d.ts +73 -0
  253. package/dist/types/entities/selection.d.ts.map +1 -0
  254. package/dist/types/entities/spatial.d.ts +15 -0
  255. package/dist/types/entities/spatial.d.ts.map +1 -0
  256. package/dist/types/entities/spawn.d.ts +33 -0
  257. package/dist/types/entities/spawn.d.ts.map +1 -0
  258. package/dist/types/entities/spawngro.d.ts +3 -0
  259. package/dist/types/entities/spawngro.d.ts.map +1 -0
  260. package/dist/types/entities/system.d.ts +130 -0
  261. package/dist/types/entities/system.d.ts.map +1 -0
  262. package/dist/types/entities/target/speaker.d.ts +3 -0
  263. package/dist/types/entities/target/speaker.d.ts.map +1 -0
  264. package/dist/types/entities/targets.d.ts +3 -0
  265. package/dist/types/entities/targets.d.ts.map +1 -0
  266. package/dist/types/entities/templates.d.ts +45 -0
  267. package/dist/types/entities/templates.d.ts.map +1 -0
  268. package/dist/types/entities/thinkScheduler.d.ts +14 -0
  269. package/dist/types/entities/thinkScheduler.d.ts.map +1 -0
  270. package/dist/types/entities/triggers/always.d.ts +3 -0
  271. package/dist/types/entities/triggers/always.d.ts.map +1 -0
  272. package/dist/types/entities/triggers/bad_area.d.ts +3 -0
  273. package/dist/types/entities/triggers/bad_area.d.ts.map +1 -0
  274. package/dist/types/entities/triggers/common.d.ts +14 -0
  275. package/dist/types/entities/triggers/common.d.ts.map +1 -0
  276. package/dist/types/entities/triggers/counter.d.ts +3 -0
  277. package/dist/types/entities/triggers/counter.d.ts.map +1 -0
  278. package/dist/types/entities/triggers/elevator.d.ts +3 -0
  279. package/dist/types/entities/triggers/elevator.d.ts.map +1 -0
  280. package/dist/types/entities/triggers/flashlight.d.ts +3 -0
  281. package/dist/types/entities/triggers/flashlight.d.ts.map +1 -0
  282. package/dist/types/entities/triggers/fog.d.ts +2 -0
  283. package/dist/types/entities/triggers/fog.d.ts.map +1 -0
  284. package/dist/types/entities/triggers/gravity.d.ts +3 -0
  285. package/dist/types/entities/triggers/gravity.d.ts.map +1 -0
  286. package/dist/types/entities/triggers/hurt.d.ts +3 -0
  287. package/dist/types/entities/triggers/hurt.d.ts.map +1 -0
  288. package/dist/types/entities/triggers/index.d.ts +3 -0
  289. package/dist/types/entities/triggers/index.d.ts.map +1 -0
  290. package/dist/types/entities/triggers/key.d.ts +3 -0
  291. package/dist/types/entities/triggers/key.d.ts.map +1 -0
  292. package/dist/types/entities/triggers/look.d.ts +3 -0
  293. package/dist/types/entities/triggers/look.d.ts.map +1 -0
  294. package/dist/types/entities/triggers/monsterjump.d.ts +3 -0
  295. package/dist/types/entities/triggers/monsterjump.d.ts.map +1 -0
  296. package/dist/types/entities/triggers/multiple.d.ts +6 -0
  297. package/dist/types/entities/triggers/multiple.d.ts.map +1 -0
  298. package/dist/types/entities/triggers/once.d.ts +3 -0
  299. package/dist/types/entities/triggers/once.d.ts.map +1 -0
  300. package/dist/types/entities/triggers/push.d.ts +3 -0
  301. package/dist/types/entities/triggers/push.d.ts.map +1 -0
  302. package/dist/types/entities/triggers/relay.d.ts +3 -0
  303. package/dist/types/entities/triggers/relay.d.ts.map +1 -0
  304. package/dist/types/entities/triggers/secret.d.ts +3 -0
  305. package/dist/types/entities/triggers/secret.d.ts.map +1 -0
  306. package/dist/types/entities/triggers/teleport.d.ts +3 -0
  307. package/dist/types/entities/triggers/teleport.d.ts.map +1 -0
  308. package/dist/types/entities/utils.d.ts +12 -0
  309. package/dist/types/entities/utils.d.ts.map +1 -0
  310. package/dist/types/entities/worldspawn.d.ts +5 -0
  311. package/dist/types/entities/worldspawn.d.ts.map +1 -0
  312. package/dist/types/imports.d.ts +53 -0
  313. package/dist/types/imports.d.ts.map +1 -0
  314. package/dist/types/index.d.ts +124 -0
  315. package/dist/types/index.d.ts.map +1 -0
  316. package/dist/types/inventory/ammo.d.ts +35 -0
  317. package/dist/types/inventory/ammo.d.ts.map +1 -0
  318. package/dist/types/inventory/give.d.ts +3 -0
  319. package/dist/types/inventory/give.d.ts.map +1 -0
  320. package/dist/types/inventory/index.d.ts +5 -0
  321. package/dist/types/inventory/index.d.ts.map +1 -0
  322. package/dist/types/inventory/items.d.ts +51 -0
  323. package/dist/types/inventory/items.d.ts.map +1 -0
  324. package/dist/types/inventory/playerInventory.d.ts +167 -0
  325. package/dist/types/inventory/playerInventory.d.ts.map +1 -0
  326. package/dist/types/level.d.ts +16 -0
  327. package/dist/types/level.d.ts.map +1 -0
  328. package/dist/types/loop.d.ts +29 -0
  329. package/dist/types/loop.d.ts.map +1 -0
  330. package/dist/types/mod.d.ts +34 -0
  331. package/dist/types/mod.d.ts.map +1 -0
  332. package/dist/types/modes/ctf/capture.d.ts +7 -0
  333. package/dist/types/modes/ctf/capture.d.ts.map +1 -0
  334. package/dist/types/modes/ctf/drop.d.ts +8 -0
  335. package/dist/types/modes/ctf/drop.d.ts.map +1 -0
  336. package/dist/types/modes/ctf/flag.d.ts +5 -0
  337. package/dist/types/modes/ctf/flag.d.ts.map +1 -0
  338. package/dist/types/modes/ctf/grapple.d.ts +13 -0
  339. package/dist/types/modes/ctf/grapple.d.ts.map +1 -0
  340. package/dist/types/modes/ctf/integration.d.ts +4 -0
  341. package/dist/types/modes/ctf/integration.d.ts.map +1 -0
  342. package/dist/types/modes/ctf/items.d.ts +2 -0
  343. package/dist/types/modes/ctf/items.d.ts.map +1 -0
  344. package/dist/types/modes/ctf/pickup.d.ts +6 -0
  345. package/dist/types/modes/ctf/pickup.d.ts.map +1 -0
  346. package/dist/types/modes/ctf/scoreboard.d.ts +34 -0
  347. package/dist/types/modes/ctf/scoreboard.d.ts.map +1 -0
  348. package/dist/types/modes/ctf/state.d.ts +15 -0
  349. package/dist/types/modes/ctf/state.d.ts.map +1 -0
  350. package/dist/types/modes/ctf/teams.d.ts +28 -0
  351. package/dist/types/modes/ctf/teams.d.ts.map +1 -0
  352. package/dist/types/physics/collision.d.ts +14 -0
  353. package/dist/types/physics/collision.d.ts.map +1 -0
  354. package/dist/types/physics/fluid.d.ts +10 -0
  355. package/dist/types/physics/fluid.d.ts.map +1 -0
  356. package/dist/types/physics/movement.d.ts +32 -0
  357. package/dist/types/physics/movement.d.ts.map +1 -0
  358. package/dist/types/replay/index.d.ts +3 -0
  359. package/dist/types/replay/index.d.ts.map +1 -0
  360. package/dist/types/replay/player.d.ts +15 -0
  361. package/dist/types/replay/player.d.ts.map +1 -0
  362. package/dist/types/replay/recorder.d.ts +16 -0
  363. package/dist/types/replay/recorder.d.ts.map +1 -0
  364. package/dist/types/save/adapter.d.ts +24 -0
  365. package/dist/types/save/adapter.d.ts.map +1 -0
  366. package/dist/types/save/index.d.ts +4 -0
  367. package/dist/types/save/index.d.ts.map +1 -0
  368. package/dist/types/save/rerelease.d.ts +50 -0
  369. package/dist/types/save/rerelease.d.ts.map +1 -0
  370. package/dist/types/save/save.d.ts +56 -0
  371. package/dist/types/save/save.d.ts.map +1 -0
  372. package/dist/types/save/storage.d.ts +37 -0
  373. package/dist/types/save/storage.d.ts.map +1 -0
  374. package/dist/types/save/tests/adapter.test.d.ts +2 -0
  375. package/dist/types/save/tests/adapter.test.d.ts.map +1 -0
  376. package/dist/types/save/tests/callbacks.test.d.ts +2 -0
  377. package/dist/types/save/tests/callbacks.test.d.ts.map +1 -0
  378. package/dist/types/save/tests/playerInventory.test.d.ts +2 -0
  379. package/dist/types/save/tests/playerInventory.test.d.ts.map +1 -0
  380. package/dist/types/scripting/hooks.d.ts +61 -0
  381. package/dist/types/scripting/hooks.d.ts.map +1 -0
  382. package/package.json +44 -0
@@ -0,0 +1,5 @@
1
+ import { SpawnRegistry, SpawnContext } from '../spawn.js';
2
+ import { Entity } from '../entity.js';
3
+ export declare function SP_monster_tank_commander(self: Entity, context: SpawnContext): void;
4
+ export declare function registerTankCommanderSpawns(registry: SpawnRegistry): void;
5
+ //# sourceMappingURL=tankCommander.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tankCommander.d.ts","sourceRoot":"","sources":["../../../../src/entities/monsters/tankCommander.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI,CAanF;AAED,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAEzE"}
@@ -0,0 +1,5 @@
1
+ import { Entity } from '../entity.js';
2
+ import { SpawnContext, SpawnRegistry } from '../spawn.js';
3
+ export declare function SP_monster_turret(self: Entity, context: SpawnContext): void;
4
+ export declare function registerTurretSpawns(registry: SpawnRegistry): void;
5
+ //# sourceMappingURL=turret.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"turret.d.ts","sourceRoot":"","sources":["../../../../src/entities/monsters/turret.ts"],"names":[],"mappings":"AAQA,OAAO,EAEH,MAAM,EAKT,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAiJ1D,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI,CAsD3E;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAElE"}
@@ -0,0 +1,3 @@
1
+ import type { SpawnRegistry } from './spawn.js';
2
+ export declare function registerPathSpawns(registry: SpawnRegistry): void;
3
+ //# sourceMappingURL=paths.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../../src/entities/paths.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAYhD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,aAAa,QAQzD"}
@@ -0,0 +1,8 @@
1
+ import { Entity } from './entity.js';
2
+ import { DamageMod } from '../combat/damageMods.js';
3
+ import { EntitySystem } from './system.js';
4
+ export declare function P_PlayerThink(ent: Entity, sys: EntitySystem): void;
5
+ export declare function player_pain(self: Entity, other: Entity | null, kick: number, damage: number): void;
6
+ export declare function player_die(self: Entity, inflictor: Entity | null, attacker: Entity | null, damage: number, point: any, mod: DamageMod, sys?: EntitySystem): void;
7
+ export declare function player_think(self: Entity, sys: EntitySystem): void;
8
+ //# sourceMappingURL=player.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"player.d.ts","sourceRoot":"","sources":["../../../src/entities/player.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAA6B,MAAM,aAAa,CAAC;AAKhE,OAAO,EAAE,SAAS,EAAiB,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AA0H3C,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,QAuH3D;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAmD3F;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,YAAY,QA8CzJ;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,QA8G3D"}
@@ -0,0 +1,3 @@
1
+ import { Entity } from './entity.js';
2
+ export declare function populatePlayerStats(player: Entity, timeSeconds: number): number[];
3
+ //# sourceMappingURL=playerStats.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playerStats.d.ts","sourceRoot":"","sources":["../../../src/entities/playerStats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAerC,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,CAsGjF"}
@@ -0,0 +1,50 @@
1
+ export declare const FRAME_stand01 = 0;
2
+ export declare const FRAME_stand40 = 39;
3
+ export declare const FRAME_run1 = 40;
4
+ export declare const FRAME_run6 = 45;
5
+ export declare const FRAME_attack1 = 46;
6
+ export declare const FRAME_attack8 = 53;
7
+ export declare const FRAME_pain101 = 54;
8
+ export declare const FRAME_pain104 = 57;
9
+ export declare const FRAME_pain201 = 58;
10
+ export declare const FRAME_pain204 = 61;
11
+ export declare const FRAME_pain301 = 62;
12
+ export declare const FRAME_pain304 = 65;
13
+ export declare const FRAME_death101 = 66;
14
+ export declare const FRAME_death106 = 71;
15
+ export declare const FRAME_death201 = 72;
16
+ export declare const FRAME_death206 = 77;
17
+ export declare const FRAME_death301 = 78;
18
+ export declare const FRAME_death306 = 83;
19
+ export declare const FRAME_crstnd01 = 84;
20
+ export declare const FRAME_crstnd19 = 102;
21
+ export declare const FRAME_crwalk1 = 103;
22
+ export declare const FRAME_crwalk6 = 108;
23
+ export declare const FRAME_crattak1 = 109;
24
+ export declare const FRAME_crattak3 = 111;
25
+ export declare const FRAME_crattak9 = 117;
26
+ export declare const FRAME_crpain1 = 118;
27
+ export declare const FRAME_crpain4 = 121;
28
+ export declare const FRAME_crdeath1 = 122;
29
+ export declare const FRAME_crdeath5 = 126;
30
+ export declare const FRAME_wave01 = 127;
31
+ export declare const FRAME_wave08 = 134;
32
+ export declare const FRAME_wave11 = 137;
33
+ export declare const FRAME_point01 = 138;
34
+ export declare const FRAME_point12 = 149;
35
+ export declare const FRAME_salute01 = 150;
36
+ export declare const FRAME_salute11 = 160;
37
+ export declare const FRAME_taunt01 = 161;
38
+ export declare const FRAME_taunt17 = 177;
39
+ export declare const FRAME_flip01 = 178;
40
+ export declare const FRAME_flip12 = 189;
41
+ export declare const FRAME_jump1 = 190;
42
+ export declare const FRAME_jump6 = 195;
43
+ export declare const FRAME_gun01 = 196;
44
+ export declare const FRAME_gun08 = 203;
45
+ export declare const ANIM_BASIC = 0;
46
+ export declare const ANIM_ATTACK = 1;
47
+ export declare const ANIM_PAIN = 2;
48
+ export declare const ANIM_DEATH = 3;
49
+ export declare const ANIM_REVERSE = 4;
50
+ //# sourceMappingURL=player_anim.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"player_anim.d.ts","sourceRoot":"","sources":["../../../src/entities/player_anim.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,aAAa,IAAI,CAAC;AAC/B,eAAO,MAAM,aAAa,KAAK,CAAC;AAEhC,eAAO,MAAM,UAAU,KAAK,CAAC;AAC7B,eAAO,MAAM,UAAU,KAAK,CAAC;AAE7B,eAAO,MAAM,aAAa,KAAK,CAAC;AAChC,eAAO,MAAM,aAAa,KAAK,CAAC;AAEhC,eAAO,MAAM,aAAa,KAAK,CAAC;AAChC,eAAO,MAAM,aAAa,KAAK,CAAC;AAEhC,eAAO,MAAM,aAAa,KAAK,CAAC;AAChC,eAAO,MAAM,aAAa,KAAK,CAAC;AAEhC,eAAO,MAAM,aAAa,KAAK,CAAC;AAChC,eAAO,MAAM,aAAa,KAAK,CAAC;AAEhC,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,cAAc,KAAK,CAAC;AAEjC,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,cAAc,KAAK,CAAC;AAEjC,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,cAAc,KAAK,CAAC;AAEjC,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,cAAc,MAAM,CAAC;AAElC,eAAO,MAAM,aAAa,MAAM,CAAC;AACjC,eAAO,MAAM,aAAa,MAAM,CAAC;AAEjC,eAAO,MAAM,cAAc,MAAM,CAAC;AAClC,eAAO,MAAM,cAAc,MAAM,CAAC;AAClC,eAAO,MAAM,cAAc,MAAM,CAAC;AAElC,eAAO,MAAM,aAAa,MAAM,CAAC;AACjC,eAAO,MAAM,aAAa,MAAM,CAAC;AAEjC,eAAO,MAAM,cAAc,MAAM,CAAC;AAClC,eAAO,MAAM,cAAc,MAAM,CAAC;AAElC,eAAO,MAAM,YAAY,MAAM,CAAC;AAChC,eAAO,MAAM,YAAY,MAAM,CAAC;AAChC,eAAO,MAAM,YAAY,MAAM,CAAC;AAEhC,eAAO,MAAM,aAAa,MAAM,CAAC;AACjC,eAAO,MAAM,aAAa,MAAM,CAAC;AAEjC,eAAO,MAAM,cAAc,MAAM,CAAC;AAClC,eAAO,MAAM,cAAc,MAAM,CAAC;AAElC,eAAO,MAAM,aAAa,MAAM,CAAC;AACjC,eAAO,MAAM,aAAa,MAAM,CAAC;AAEjC,eAAO,MAAM,YAAY,MAAM,CAAC;AAChC,eAAO,MAAM,YAAY,MAAM,CAAC;AAEhC,eAAO,MAAM,WAAW,MAAM,CAAC;AAC/B,eAAO,MAAM,WAAW,MAAM,CAAC;AAE/B,eAAO,MAAM,WAAW,MAAM,CAAC;AAC/B,eAAO,MAAM,WAAW,MAAM,CAAC;AAG/B,eAAO,MAAM,UAAU,IAAI,CAAC;AAC5B,eAAO,MAAM,WAAW,IAAI,CAAC;AAC7B,eAAO,MAAM,SAAS,IAAI,CAAC;AAC3B,eAAO,MAAM,UAAU,IAAI,CAAC;AAC5B,eAAO,MAAM,YAAY,IAAI,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { Entity } from './entity.js';
2
+ export interface EntityPoolSnapshot {
3
+ readonly capacity: number;
4
+ readonly activeOrder: readonly number[];
5
+ readonly freeList: readonly number[];
6
+ readonly pendingFree: readonly number[];
7
+ }
8
+ export declare class EntityPool implements Iterable<Entity> {
9
+ private readonly entities;
10
+ private readonly freeList;
11
+ private readonly pendingFree;
12
+ private activeHead;
13
+ constructor(maxEntities?: number);
14
+ get world(): Entity;
15
+ get capacity(): number;
16
+ get activeCount(): number;
17
+ getByIndex(index: number): Entity | undefined;
18
+ [Symbol.iterator](): Iterator<Entity>;
19
+ spawn(): Entity;
20
+ deferFree(entity: Entity): void;
21
+ freeImmediate(entity: Entity): void;
22
+ flushFreeList(): void;
23
+ createSnapshot(): EntityPoolSnapshot;
24
+ restore(snapshot: EntityPoolSnapshot): void;
25
+ private link;
26
+ private unlink;
27
+ }
28
+ //# sourceMappingURL=pool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../../../src/entities/pool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAKrC,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC;AAED,qBAAa,UAAW,YAAW,QAAQ,CAAC,MAAM,CAAC;IACjD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IACpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;IACzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgB;IAC5C,OAAO,CAAC,UAAU,CAAuB;gBAE7B,WAAW,SAAa;IAoBpC,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,WAAW,IAAI,MAAM,CAMxB;IAED,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI7C,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC;IAcrC,KAAK,IAAI,MAAM;IAaf,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAe/B,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAcnC,aAAa,IAAI,IAAI;IAcrB,cAAc,IAAI,kBAAkB;IAUpC,OAAO,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IA+D3C,OAAO,CAAC,IAAI;IASZ,OAAO,CAAC,MAAM;CAcf"}
@@ -0,0 +1,5 @@
1
+ import { Entity } from '../entity.js';
2
+ import { EntitySystem } from '../system.js';
3
+ import { Vec3 } from '@quake2ts/shared';
4
+ export declare function createProxMine(entities: EntitySystem, owner: Entity, start: Vec3, dir: Vec3, speed?: number): Entity;
5
+ //# sourceMappingURL=prox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prox.d.ts","sourceRoot":"","sources":["../../../../src/entities/projectiles/prox.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAqC,MAAM,cAAc,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAyH,MAAM,kBAAkB,CAAC;AAc/J,wBAAgB,cAAc,CAC1B,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,IAAI,EACX,GAAG,EAAE,IAAI,EACT,KAAK,GAAE,MAAY,GACpB,MAAM,CAiJR"}
@@ -0,0 +1,7 @@
1
+ import { Entity } from '../entity.js';
2
+ import { EntitySystem } from '../system.js';
3
+ import { Vec3 } from '@quake2ts/shared';
4
+ export declare function trapGibThink(self: Entity, context: EntitySystem): void;
5
+ export declare function trapThink(self: Entity, context: EntitySystem): void;
6
+ export declare function createTrap(context: EntitySystem, owner: Entity, start: Vec3, dir: Vec3, speed: number): Entity;
7
+ //# sourceMappingURL=trap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trap.d.ts","sourceRoot":"","sources":["../../../../src/entities/projectiles/trap.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAA0C,MAAM,cAAc,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAO5C,OAAO,EAA0G,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAchJ,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,QAuB/D;AA4BD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,QAkL5D;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,UAoCrG"}
@@ -0,0 +1,22 @@
1
+ import { Entity } from './entity.js';
2
+ import { EntitySystem } from './system.js';
3
+ import { DamageMod } from '../combat/damageMods.js';
4
+ import { Vec3 } from '@quake2ts/shared';
5
+ /**
6
+ * Generic projectile creator.
7
+ * Replaces specialized functions if desired, or used as a base.
8
+ */
9
+ export declare function createProjectile(sys: EntitySystem, start: Vec3, dir: Vec3, speed: number, mod: DamageMod, damage?: number, radiusDamage?: number): Entity;
10
+ export declare function createRocket(sys: EntitySystem, owner: Entity, start: Vec3, dir: Vec3, damage: number, radiusDamage: number, speed: number, flashtype?: number): void;
11
+ export declare function createGuidedRocket(sys: EntitySystem, owner: Entity, start: Vec3, dir: Vec3, damage: number, radiusDamage: number, speed: number): void;
12
+ export declare function createGrenade(sys: EntitySystem, owner: Entity, start: Vec3, dir: Vec3, damage: number, speed: number, timer?: number): void;
13
+ export declare function createBlasterBolt(sys: EntitySystem, owner: Entity, start: Vec3, dir: Vec3, damage: number, speed: number, mod: DamageMod): Entity;
14
+ export declare function createIonRipper(sys: EntitySystem, owner: Entity, start: Vec3, dir: Vec3, damage: number, speed: number): void;
15
+ export declare function createBlueBlaster(sys: EntitySystem, owner: Entity, start: Vec3, dir: Vec3, damage: number, speed: number): void;
16
+ export declare function createBfgBall(sys: EntitySystem, owner: Entity, start: Vec3, dir: Vec3, damage: number, speed: number, damageRadius: number): void;
17
+ export declare function createPhalanxBall(sys: EntitySystem, owner: Entity, start: Vec3, dir: Vec3, damage: number, radiusDamage: number, speed: number): void;
18
+ export declare function createHeatSeekingMissile(sys: EntitySystem, owner: Entity, start: Vec3, dir: Vec3, damage: number, speed: number, flashtype: number, turn_fraction: number): void;
19
+ export declare function createFlechette(sys: EntitySystem, owner: Entity, start: Vec3, dir: Vec3, damage: number, speed: number): void;
20
+ export * from './projectiles/prox.js';
21
+ export * from './projectiles/trap.js';
22
+ //# sourceMappingURL=projectiles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projectiles.d.ts","sourceRoot":"","sources":["../../../src/entities/projectiles.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ import { Vec3 } from '@quake2ts/shared';
2
+ import { Entity } from './entity.js';
3
+ import { EntitySystem } from './system.js';
4
+ export interface EntityHit {
5
+ entity: Entity;
6
+ fraction: number;
7
+ point: Vec3;
8
+ normal: Vec3;
9
+ }
10
+ export interface Ray {
11
+ origin: Vec3;
12
+ direction: Vec3;
13
+ }
14
+ export interface EntityMetadata {
15
+ id: number;
16
+ classname: string;
17
+ origin: Vec3;
18
+ angles: Vec3;
19
+ model?: string;
20
+ targetname?: string;
21
+ target?: string;
22
+ killtarget?: string;
23
+ spawnflags: number;
24
+ [key: string]: any;
25
+ }
26
+ export interface EntityConnection {
27
+ sourceId: number;
28
+ targetId: number;
29
+ type: 'target' | 'killtarget' | 'other';
30
+ }
31
+ export interface EntityGraph {
32
+ nodes: {
33
+ id: number;
34
+ label: string;
35
+ type: string;
36
+ }[];
37
+ edges: {
38
+ source: number;
39
+ target: number;
40
+ label: string;
41
+ }[];
42
+ }
43
+ export interface CameraLike {
44
+ origin: Vec3;
45
+ axis: [Vec3, Vec3, Vec3];
46
+ fovX: number;
47
+ fovY: number;
48
+ width: number;
49
+ height: number;
50
+ }
51
+ export declare class EntitySelection {
52
+ private system;
53
+ constructor(system: EntitySystem);
54
+ rayCastEntities(origin: Vec3, direction: Vec3): EntityHit[];
55
+ private intersectAabb;
56
+ private intersectObb;
57
+ getEntityMetadata(entityId: number): EntityMetadata | null;
58
+ getEntityFields(entityId: number): Record<string, any>;
59
+ getEntityConnections(entityId: number): EntityConnection[];
60
+ getEntityBounds(entityId: number): {
61
+ mins: Vec3;
62
+ maxs: Vec3;
63
+ } | null;
64
+ getEntityModel(entityId: number): string | null;
65
+ findEntitiesByClassname(classname: string): number[];
66
+ findEntitiesByTargetname(targetname: string): number[];
67
+ findEntitiesInRadius(origin: Vec3, radius: number): number[];
68
+ findEntitiesInBounds(mins: Vec3, maxs: Vec3): number[];
69
+ searchEntityFields(field: string, value: any): number[];
70
+ getAllEntityClassnames(): string[];
71
+ getEntityGraph(): EntityGraph;
72
+ }
73
+ //# sourceMappingURL=selection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selection.d.ts","sourceRoot":"","sources":["../../../src/entities/selection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { Entity } from './entity.js';
2
+ import { Vec3 } from '@quake2ts/shared';
3
+ export declare class SpatialGrid {
4
+ private cellSize;
5
+ private cells;
6
+ private entityCells;
7
+ constructor(cellSize?: number);
8
+ private getCellRange;
9
+ insert(entity: Entity): void;
10
+ remove(entity: Entity): void;
11
+ update(entity: Entity): void;
12
+ query(mins: Vec3, maxs: Vec3): Entity[];
13
+ clear(): void;
14
+ }
15
+ //# sourceMappingURL=spatial.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spatial.d.ts","sourceRoot":"","sources":["../../../src/entities/spatial.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAQxC,qBAAa,WAAW;IAIV,OAAO,CAAC,QAAQ;IAH5B,OAAO,CAAC,KAAK,CAAkC;IAC/C,OAAO,CAAC,WAAW,CAA+B;gBAE9B,QAAQ,GAAE,MAAkB;IAEhD,OAAO,CAAC,YAAY;IAIpB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IA6B5B,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAiB5B,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI5B,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE;IAwBvC,KAAK,IAAI,IAAI;CAId"}
@@ -0,0 +1,33 @@
1
+ import { Entity } from './entity.js';
2
+ import type { EntitySystem } from './system.js';
3
+ export type ParsedEntity = Record<string, string>;
4
+ export declare function applyEntityKeyValues(entity: Entity, values: ParsedEntity): void;
5
+ export declare function parseEntityLump(text: string): ParsedEntity[];
6
+ export interface SpawnContext {
7
+ readonly keyValues: ParsedEntity;
8
+ readonly entities: EntitySystem;
9
+ readonly health_multiplier: number;
10
+ warn(message: string): void;
11
+ free(entity: Entity): void;
12
+ }
13
+ export type SpawnFunction = (entity: Entity, context: SpawnContext) => void;
14
+ export declare class SpawnRegistry {
15
+ private readonly registry;
16
+ register(classname: string, spawn: SpawnFunction): void;
17
+ unregister(classname: string): void;
18
+ get(classname: string): SpawnFunction | undefined;
19
+ keys(): IterableIterator<string>;
20
+ }
21
+ export interface SpawnOptions {
22
+ readonly registry: SpawnRegistry;
23
+ readonly entities: EntitySystem;
24
+ readonly onWarning?: (message: string) => void;
25
+ }
26
+ export declare function spawnEntityFromDictionary(dictionary: ParsedEntity, options: SpawnOptions): Entity | null;
27
+ export declare function spawnEntitiesFromText(text: string, options: SpawnOptions): Entity[];
28
+ export declare function SelectDeathmatchSpawnPoint(entities: EntitySystem): Entity | undefined;
29
+ export declare function SelectSpawnPoint(entities: EntitySystem): Entity | undefined;
30
+ export declare function findPlayerStart(entities: EntitySystem): Entity | undefined;
31
+ export declare function registerDefaultSpawns(registry: SpawnRegistry, game?: any): void;
32
+ export declare function createDefaultSpawnRegistry(game: any): SpawnRegistry;
33
+ //# sourceMappingURL=spawn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spawn.d.ts","sourceRoot":"","sources":["../../../src/entities/spawn.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,MAAM,EAQP,MAAM,aAAa,CAAC;AAWrB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAwClD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CA0B/E;AAqDD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,EAAE,CA0D5D;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC;AAE5E,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoC;IAE7D,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI;IAIvD,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAInC,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIjD,IAAI,IAAI,gBAAgB,CAAC,MAAM,CAAC;CAGjC;AAMD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAChD;AAED,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI,CAqExG;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,MAAM,EAAE,CAYnF;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAOrF;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAM3E;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAI1E;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI,CAsC/E;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,GAAG,GAAG,aAAa,CAInE"}
@@ -0,0 +1,3 @@
1
+ import { EntitySystem } from './system.js';
2
+ export declare function SpawnGrow_Spawn(context: EntitySystem, startpos: any, start_size: number, end_size: number): void;
3
+ //# sourceMappingURL=spawngro.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spawngro.d.ts","sourceRoot":"","sources":["../../../src/entities/spawngro.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAqE3C,wBAAgB,eAAe,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CA6DhH"}
@@ -0,0 +1,130 @@
1
+ import type { Vec3 } from '@quake2ts/shared';
2
+ import { RandomGenerator } from '@quake2ts/shared';
3
+ import { GameImports, GameEngine, TraceFunction, PointContentsFunction, MulticastType } from '../imports.js';
4
+ import { ENTITY_FIELD_METADATA, Entity } from './entity.js';
5
+ import { type EntityPoolSnapshot } from './pool.js';
6
+ import { type ThinkScheduleEntry } from './thinkScheduler.js';
7
+ import { ServerCommand } from '@quake2ts/shared';
8
+ import type { CallbackRegistry } from './callbacks.js';
9
+ import type { TargetAwarenessState } from '../ai/targeting.js';
10
+ import type { SpawnFunction, SpawnRegistry } from './spawn.js';
11
+ import { ScriptHookRegistry } from '../scripting/hooks.js';
12
+ type SerializableVec3 = readonly [number, number, number];
13
+ type SerializableInventory = Record<string, number>;
14
+ type SerializableEntityFieldValue = number | string | boolean | null | SerializableVec3 | SerializableInventory;
15
+ type SerializableFieldName = (typeof ENTITY_FIELD_METADATA)[number]['name'];
16
+ export interface SerializedEntityState {
17
+ readonly index: number;
18
+ readonly fields: Partial<Record<SerializableFieldName, SerializableEntityFieldValue>>;
19
+ }
20
+ export interface SerializedTargetAwareness {
21
+ readonly frameNumber: number;
22
+ readonly sightEntityIndex: number | null;
23
+ readonly sightEntityFrame: number;
24
+ readonly soundEntityIndex: number | null;
25
+ readonly soundEntityFrame: number;
26
+ readonly sound2EntityIndex: number | null;
27
+ readonly sound2EntityFrame: number;
28
+ readonly sightClientIndex: number | null;
29
+ }
30
+ export interface EntitySystemSnapshot {
31
+ readonly timeSeconds: number;
32
+ readonly pool: EntityPoolSnapshot;
33
+ readonly entities: SerializedEntityState[];
34
+ readonly thinks: ThinkScheduleEntry[];
35
+ readonly awareness: SerializedTargetAwareness;
36
+ readonly crossLevelFlags: number;
37
+ readonly crossUnitFlags: number;
38
+ readonly level: LevelState;
39
+ }
40
+ export interface LevelState {
41
+ next_auto_save: number;
42
+ health_bar_entities: (Entity | null)[];
43
+ intermission_angle: Vec3;
44
+ intermission_origin: Vec3;
45
+ helpmessage1: string;
46
+ helpmessage2: string;
47
+ help1changed: number;
48
+ help2changed: number;
49
+ mapname?: string;
50
+ }
51
+ interface ExtendedTargetAwarenessState extends TargetAwarenessState {
52
+ activePlayers: Entity[];
53
+ monsterAlertedByPlayers(monster: Entity): Entity | null;
54
+ soundClient(): Entity | null;
55
+ }
56
+ export declare class EntitySystem {
57
+ readonly friendlyFire: boolean;
58
+ private readonly pool;
59
+ private readonly thinkScheduler;
60
+ private readonly targetNameIndex;
61
+ private readonly random;
62
+ private readonly callbackToName;
63
+ private spawnRegistry?;
64
+ private currentTimeSeconds;
65
+ private currentDeltaSeconds;
66
+ private frameNumber;
67
+ private spawnCount;
68
+ private spatialGrid;
69
+ get scriptHooks(): ScriptHookRegistry | undefined;
70
+ readonly targetAwareness: ExtendedTargetAwarenessState;
71
+ crossLevelFlags: number;
72
+ crossUnitFlags: number;
73
+ level: LevelState;
74
+ get rng(): RandomGenerator;
75
+ setSpawnRegistry(registry: SpawnRegistry): void;
76
+ registerEntityClass(classname: string, factory: SpawnFunction): void;
77
+ getSpawnFunction(classname: string): SpawnFunction | undefined;
78
+ readonly engine: GameEngine;
79
+ readonly imports: GameImports;
80
+ private readonly gravity;
81
+ readonly deathmatch: boolean;
82
+ readonly skill: number;
83
+ readonly coop: boolean;
84
+ get trace(): TraceFunction;
85
+ get traceModel(): import("../imports.js").TraceModelFunction | undefined;
86
+ get pointcontents(): PointContentsFunction;
87
+ get areaEdicts(): (mins: Vec3, maxs: Vec3) => number[] | null;
88
+ get game(): any;
89
+ get maxClients(): number;
90
+ get entities(): ArrayLike<Entity | null>;
91
+ get deltaSeconds(): number;
92
+ constructor(engine: GameEngine, imports?: Partial<GameImports>, gravity?: Vec3, maxEntities?: number, callbackRegistry?: CallbackRegistry, deathmatch?: boolean, skill?: number, random?: RandomGenerator, coop?: boolean, friendlyFire?: boolean);
93
+ get world(): Entity;
94
+ get activeCount(): number;
95
+ get timeSeconds(): number;
96
+ forEachEntity(callback: (entity: Entity) => void): void;
97
+ find(predicate: (entity: Entity) => boolean): Entity | undefined;
98
+ getByIndex(index: number): Entity | undefined;
99
+ spawn(): Entity;
100
+ free(entity: Entity): void;
101
+ freeImmediate(entity: Entity): void;
102
+ sound(entity: Entity, channel: number, sound: string, volume: number, attenuation: number, timeofs: number): void;
103
+ soundIndex(sound: string): number;
104
+ configStringIndex(str: string): number;
105
+ modelIndex(model: string): number;
106
+ linkentity(ent: Entity): void;
107
+ link(ent: Entity): void;
108
+ unlink(ent: Entity): void;
109
+ multicast(origin: Vec3, type: MulticastType, ServerCommand: ServerCommand, ...args: any[]): void;
110
+ unicast(ent: Entity, reliable: boolean, event: ServerCommand, ...args: any[]): void;
111
+ scheduleThink(entity: Entity, nextThinkSeconds: number): void;
112
+ beginFrame(timeSeconds: number): void;
113
+ finalizeSpawn(entity: Entity): void;
114
+ findByClassname(classname: string): Entity[];
115
+ findByTargetName(targetname: string): Entity[];
116
+ findInBox(mins: Vec3, maxs: Vec3): Entity[];
117
+ findByRadius(origin: Vec3, radius: number): Entity[];
118
+ pickTarget(targetname: string | undefined): Entity | null;
119
+ killBox(entity: Entity): void;
120
+ useTargets(entity: Entity, activator?: Entity | null): void;
121
+ runFrame(): void;
122
+ createSnapshot(): EntitySystemSnapshot;
123
+ restore(snapshot: EntitySystemSnapshot, callbackRegistry?: CallbackRegistry): void;
124
+ private runTouches;
125
+ private registerTarget;
126
+ private unregisterTarget;
127
+ private useTargetsImmediate;
128
+ }
129
+ export {};
130
+ //# sourceMappingURL=system.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../../src/entities/system.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { SpawnRegistry } from '../spawn.js';
2
+ export declare function registerTargetSpeaker(registry: SpawnRegistry): void;
3
+ //# sourceMappingURL=speaker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"speaker.d.ts","sourceRoot":"","sources":["../../../../src/entities/target/speaker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAiCjD,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,aAAa,QAiC5D"}
@@ -0,0 +1,3 @@
1
+ import type { SpawnRegistry } from './spawn.js';
2
+ export declare function registerTargetSpawns(registry: SpawnRegistry): void;
3
+ //# sourceMappingURL=targets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"targets.d.ts","sourceRoot":"","sources":["../../../src/entities/targets.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAikBhD,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,aAAa,QAia3D"}
@@ -0,0 +1,45 @@
1
+ import { Entity } from './entity.js';
2
+ /**
3
+ * Defines the type of a property in an entity template.
4
+ */
5
+ export declare enum PropertyType {
6
+ String = "string",
7
+ Number = "number",
8
+ Vec3 = "vec3",
9
+ Angle = "angle",
10
+ Boolean = "boolean",
11
+ Choice = "choice",
12
+ Reference = "reference"
13
+ }
14
+ /**
15
+ * Defines a template for an entity type, including default values and property schemas.
16
+ */
17
+ export interface EntityTemplate {
18
+ classname: string;
19
+ defaultProperties: Record<string, any>;
20
+ requiredProperties: string[];
21
+ propertyTypes: Record<string, PropertyType>;
22
+ description: string;
23
+ }
24
+ /**
25
+ * Registry of entity templates.
26
+ *
27
+ * Default values are derived from original Quake 2 source files:
28
+ * - g_spawn.c
29
+ * - g_func.c
30
+ * - g_misc.c
31
+ * - m_soldier.c
32
+ */
33
+ export declare const ENTITY_TEMPLATES: Record<string, EntityTemplate>;
34
+ /**
35
+ * Retrieves the template for a given entity classname.
36
+ */
37
+ export declare function getEntityTemplate(classname: string): EntityTemplate | undefined;
38
+ /**
39
+ * Validates an entity against its template.
40
+ * Returns a list of error messages, or empty array if valid.
41
+ */
42
+ export declare function validateEntityAgainstTemplate(entity: Partial<Entity> & {
43
+ classname: string;
44
+ }): string[];
45
+ //# sourceMappingURL=templates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../../src/entities/templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC;;GAEG;AACH,oBAAY,YAAY;IACtB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,SAAS,cAAc;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACvC,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC5C,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAoE3D,CAAC;AAEF;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAE/E;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,EAAE,CAkBvG"}
@@ -0,0 +1,14 @@
1
+ import type { Entity } from './entity.js';
2
+ export interface ThinkScheduleEntry {
3
+ readonly time: number;
4
+ readonly entityIndex: number;
5
+ }
6
+ export declare class ThinkScheduler {
7
+ private readonly queue;
8
+ schedule(entity: Entity, timeSeconds: number): void;
9
+ cancel(entity: Entity): void;
10
+ snapshot(): ThinkScheduleEntry[];
11
+ restore(entries: ThinkScheduleEntry[], resolver: (index: number) => Entity | undefined): void;
12
+ runDueThinks(currentTimeSeconds: number, context: any): void;
13
+ }
14
+ //# sourceMappingURL=thinkScheduler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thinkScheduler.d.ts","sourceRoot":"","sources":["../../../src/entities/thinkScheduler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAO1C,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAwB;IAE9C,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAMnD,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAW5B,QAAQ,IAAI,kBAAkB,EAAE;IAIhC,OAAO,CAAC,OAAO,EAAE,kBAAkB,EAAE,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,GAAG,IAAI;IAW7F,YAAY,CAAC,kBAAkB,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,IAAI;CAsB7D"}
@@ -0,0 +1,3 @@
1
+ import { SpawnRegistry } from '../spawn.js';
2
+ export declare function registerTriggerAlways(registry: SpawnRegistry): void;
3
+ //# sourceMappingURL=always.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"always.d.ts","sourceRoot":"","sources":["../../../../src/entities/triggers/always.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAsBnE"}
@@ -0,0 +1,3 @@
1
+ import { SpawnRegistry } from '../spawn.js';
2
+ export declare function registerBadArea(registry: SpawnRegistry): void;
3
+ //# sourceMappingURL=bad_area.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bad_area.d.ts","sourceRoot":"","sources":["../../../../src/entities/triggers/bad_area.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAU5C,wBAAgB,eAAe,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAa7D"}
@@ -0,0 +1,14 @@
1
+ import { Entity } from '../entity.js';
2
+ export declare const TRIGGER_SPAWNFLAGS: {
3
+ readonly Monster: number;
4
+ readonly NotPlayer: number;
5
+ readonly Triggered: number;
6
+ readonly Toggle: number;
7
+ readonly Latched: number;
8
+ readonly Clip: number;
9
+ };
10
+ export declare const FRAME_TIME_SECONDS: number;
11
+ export declare function initTrigger(entity: Entity): void;
12
+ export declare function canActivate(trigger: Entity, other: Entity): boolean;
13
+ export declare function triggerEnable(self: Entity): void;
14
+ //# sourceMappingURL=common.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/entities/triggers/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAgC,MAAM,cAAc,CAAC;AAMpE,eAAO,MAAM,kBAAkB;;;;;;;CAOrB,CAAC;AAEX,eAAO,MAAM,kBAAkB,QAAS,CAAC;AAEzC,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAMhD;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAyBnE;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAEhD"}
@@ -0,0 +1,3 @@
1
+ import { SpawnRegistry } from '../spawn.js';
2
+ export declare function registerTriggerCounter(registry: SpawnRegistry): void;
3
+ //# sourceMappingURL=counter.d.ts.map