playlist-data-engine 1.1.0

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 (345) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +352 -0
  3. package/dist/__vite-browser-external-DYxpcVy9.js +4 -0
  4. package/dist/constants/DefaultClasses.d.ts +46 -0
  5. package/dist/constants/DefaultClasses.d.ts.map +1 -0
  6. package/dist/constants/DefaultEnchantments.d.ts +337 -0
  7. package/dist/constants/DefaultEnchantments.d.ts.map +1 -0
  8. package/dist/constants/DefaultEnemies.d.ts +83 -0
  9. package/dist/constants/DefaultEnemies.d.ts.map +1 -0
  10. package/dist/constants/DefaultEquipment.d.ts +23 -0
  11. package/dist/constants/DefaultEquipment.d.ts.map +1 -0
  12. package/dist/constants/DefaultFeatures.d.ts +22 -0
  13. package/dist/constants/DefaultFeatures.d.ts.map +1 -0
  14. package/dist/constants/DefaultRaces.d.ts +102 -0
  15. package/dist/constants/DefaultRaces.d.ts.map +1 -0
  16. package/dist/constants/DefaultSkills.d.ts +26 -0
  17. package/dist/constants/DefaultSkills.d.ts.map +1 -0
  18. package/dist/constants/DefaultSpells.d.ts +41 -0
  19. package/dist/constants/DefaultSpells.d.ts.map +1 -0
  20. package/dist/constants/EncounterBalance.d.ts +208 -0
  21. package/dist/constants/EncounterBalance.d.ts.map +1 -0
  22. package/dist/constants/EnemyEquipment.d.ts +71 -0
  23. package/dist/constants/EnemyEquipment.d.ts.map +1 -0
  24. package/dist/constants/EnemyRarity.d.ts +79 -0
  25. package/dist/constants/EnemyRarity.d.ts.map +1 -0
  26. package/dist/constants/EnemyTemplates/Construct.d.ts +63 -0
  27. package/dist/constants/EnemyTemplates/Construct.d.ts.map +1 -0
  28. package/dist/constants/EnemyTemplates/Dragon.d.ts +68 -0
  29. package/dist/constants/EnemyTemplates/Dragon.d.ts.map +1 -0
  30. package/dist/constants/EnemyTemplates/Elemental.d.ts +64 -0
  31. package/dist/constants/EnemyTemplates/Elemental.d.ts.map +1 -0
  32. package/dist/constants/EnemyTemplates/Fiend.d.ts +62 -0
  33. package/dist/constants/EnemyTemplates/Fiend.d.ts.map +1 -0
  34. package/dist/constants/EnemyTemplates/Monstrosity.d.ts +63 -0
  35. package/dist/constants/EnemyTemplates/Monstrosity.d.ts.map +1 -0
  36. package/dist/constants/EnemyTemplates/Undead.d.ts +61 -0
  37. package/dist/constants/EnemyTemplates/Undead.d.ts.map +1 -0
  38. package/dist/constants/ItemTemplates.d.ts +40 -0
  39. package/dist/constants/ItemTemplates.d.ts.map +1 -0
  40. package/dist/constants/MagicItems.d.ts +30 -0
  41. package/dist/constants/MagicItems.d.ts.map +1 -0
  42. package/dist/constants/SpellSlots.d.ts +30 -0
  43. package/dist/constants/SpellSlots.d.ts.map +1 -0
  44. package/dist/constants/StatScaling.d.ts +113 -0
  45. package/dist/constants/StatScaling.d.ts.map +1 -0
  46. package/dist/core/analysis/AudioAnalyzer.d.ts +599 -0
  47. package/dist/core/analysis/AudioAnalyzer.d.ts.map +1 -0
  48. package/dist/core/analysis/ColorExtractor.d.ts +64 -0
  49. package/dist/core/analysis/ColorExtractor.d.ts.map +1 -0
  50. package/dist/core/analysis/EssentiaPitchDetector.d.ts +282 -0
  51. package/dist/core/analysis/EssentiaPitchDetector.d.ts.map +1 -0
  52. package/dist/core/analysis/LevelSerializer.d.ts +265 -0
  53. package/dist/core/analysis/LevelSerializer.d.ts.map +1 -0
  54. package/dist/core/analysis/MelodyContourAnalyzer.d.ts +283 -0
  55. package/dist/core/analysis/MelodyContourAnalyzer.d.ts.map +1 -0
  56. package/dist/core/analysis/MultiBandAnalyzer.d.ts +214 -0
  57. package/dist/core/analysis/MultiBandAnalyzer.d.ts.map +1 -0
  58. package/dist/core/analysis/MusicClassifier.d.ts +524 -0
  59. package/dist/core/analysis/MusicClassifier.d.ts.map +1 -0
  60. package/dist/core/analysis/PitchAnalyzer.d.ts +266 -0
  61. package/dist/core/analysis/PitchAnalyzer.d.ts.map +1 -0
  62. package/dist/core/analysis/PitchDetector.d.ts +251 -0
  63. package/dist/core/analysis/PitchDetector.d.ts.map +1 -0
  64. package/dist/core/analysis/SpectrumScanner.d.ts +52 -0
  65. package/dist/core/analysis/SpectrumScanner.d.ts.map +1 -0
  66. package/dist/core/analysis/beat/BeatInterpolator.d.ts +477 -0
  67. package/dist/core/analysis/beat/BeatInterpolator.d.ts.map +1 -0
  68. package/dist/core/analysis/beat/BeatMapGenerator.d.ts +170 -0
  69. package/dist/core/analysis/beat/BeatMapGenerator.d.ts.map +1 -0
  70. package/dist/core/analysis/beat/BeatStream.d.ts +316 -0
  71. package/dist/core/analysis/beat/BeatStream.d.ts.map +1 -0
  72. package/dist/core/analysis/beat/BeatSubdivider.d.ts +205 -0
  73. package/dist/core/analysis/beat/BeatSubdivider.d.ts.map +1 -0
  74. package/dist/core/analysis/beat/BeatTracker.d.ts +137 -0
  75. package/dist/core/analysis/beat/BeatTracker.d.ts.map +1 -0
  76. package/dist/core/analysis/beat/CompositeStreamGenerator.d.ts +180 -0
  77. package/dist/core/analysis/beat/CompositeStreamGenerator.d.ts.map +1 -0
  78. package/dist/core/analysis/beat/DensityAnalyzer.d.ts +246 -0
  79. package/dist/core/analysis/beat/DensityAnalyzer.d.ts.map +1 -0
  80. package/dist/core/analysis/beat/DifficultyVariantGenerator.d.ts +1082 -0
  81. package/dist/core/analysis/beat/DifficultyVariantGenerator.d.ts.map +1 -0
  82. package/dist/core/analysis/beat/GrooveAnalyzer.d.ts +192 -0
  83. package/dist/core/analysis/beat/GrooveAnalyzer.d.ts.map +1 -0
  84. package/dist/core/analysis/beat/OnsetStrengthEnvelope.d.ts +133 -0
  85. package/dist/core/analysis/beat/OnsetStrengthEnvelope.d.ts.map +1 -0
  86. package/dist/core/analysis/beat/PhraseAnalyzer.d.ts +230 -0
  87. package/dist/core/analysis/beat/PhraseAnalyzer.d.ts.map +1 -0
  88. package/dist/core/analysis/beat/RhythmQuantizer.d.ts +399 -0
  89. package/dist/core/analysis/beat/RhythmQuantizer.d.ts.map +1 -0
  90. package/dist/core/analysis/beat/RhythmicBalancer.d.ts +262 -0
  91. package/dist/core/analysis/beat/RhythmicBalancer.d.ts.map +1 -0
  92. package/dist/core/analysis/beat/StreamScorer.d.ts +275 -0
  93. package/dist/core/analysis/beat/StreamScorer.d.ts.map +1 -0
  94. package/dist/core/analysis/beat/TempoAwareQuantizer.d.ts +256 -0
  95. package/dist/core/analysis/beat/TempoAwareQuantizer.d.ts.map +1 -0
  96. package/dist/core/analysis/beat/TempoDetector.d.ts +220 -0
  97. package/dist/core/analysis/beat/TempoDetector.d.ts.map +1 -0
  98. package/dist/core/analysis/beat/TransientDetector.d.ts +303 -0
  99. package/dist/core/analysis/beat/TransientDetector.d.ts.map +1 -0
  100. package/dist/core/analysis/beat/beatKeyHelpers.d.ts +180 -0
  101. package/dist/core/analysis/beat/beatKeyHelpers.d.ts.map +1 -0
  102. package/dist/core/analysis/beat/index.d.ts +41 -0
  103. package/dist/core/analysis/beat/index.d.ts.map +1 -0
  104. package/dist/core/analysis/beat/utils/audioUtils.d.ts +204 -0
  105. package/dist/core/analysis/beat/utils/audioUtils.d.ts.map +1 -0
  106. package/dist/core/analysis/beat/utils/beatInterpolationDebug.d.ts +404 -0
  107. package/dist/core/analysis/beat/utils/beatInterpolationDebug.d.ts.map +1 -0
  108. package/dist/core/analysis/beat/utils/subdivideBeatMap.d.ts +61 -0
  109. package/dist/core/analysis/beat/utils/subdivideBeatMap.d.ts.map +1 -0
  110. package/dist/core/analysis/beat/utils/unifyBeatMap.d.ts +33 -0
  111. package/dist/core/analysis/beat/utils/unifyBeatMap.d.ts.map +1 -0
  112. package/dist/core/analysis/index.d.ts +18 -0
  113. package/dist/core/analysis/index.d.ts.map +1 -0
  114. package/dist/core/combat/AI/AICombatRunner.d.ts +108 -0
  115. package/dist/core/combat/AI/AICombatRunner.d.ts.map +1 -0
  116. package/dist/core/combat/AI/CombatAI.d.ts +179 -0
  117. package/dist/core/combat/AI/CombatAI.d.ts.map +1 -0
  118. package/dist/core/combat/AI/CombatMetricsTracker.d.ts +30 -0
  119. package/dist/core/combat/AI/CombatMetricsTracker.d.ts.map +1 -0
  120. package/dist/core/combat/Analysis/BalanceValidator.d.ts +170 -0
  121. package/dist/core/combat/Analysis/BalanceValidator.d.ts.map +1 -0
  122. package/dist/core/combat/Analysis/ComparativeAnalyzer.d.ts +231 -0
  123. package/dist/core/combat/Analysis/ComparativeAnalyzer.d.ts.map +1 -0
  124. package/dist/core/combat/Analysis/DifficultyCalculator.d.ts +203 -0
  125. package/dist/core/combat/Analysis/DifficultyCalculator.d.ts.map +1 -0
  126. package/dist/core/combat/Analysis/ParameterSweep.d.ts +201 -0
  127. package/dist/core/combat/Analysis/ParameterSweep.d.ts.map +1 -0
  128. package/dist/core/combat/AttackResolver.d.ts +220 -0
  129. package/dist/core/combat/AttackResolver.d.ts.map +1 -0
  130. package/dist/core/combat/CombatEngine.d.ts +388 -0
  131. package/dist/core/combat/CombatEngine.d.ts.map +1 -0
  132. package/dist/core/combat/DiceRoller.d.ts +115 -0
  133. package/dist/core/combat/DiceRoller.d.ts.map +1 -0
  134. package/dist/core/combat/InitiativeRoller.d.ts +62 -0
  135. package/dist/core/combat/InitiativeRoller.d.ts.map +1 -0
  136. package/dist/core/combat/PartyAnalyzer.d.ts +215 -0
  137. package/dist/core/combat/PartyAnalyzer.d.ts.map +1 -0
  138. package/dist/core/combat/SeededDiceRoller.d.ts +120 -0
  139. package/dist/core/combat/SeededDiceRoller.d.ts.map +1 -0
  140. package/dist/core/combat/Simulation/CombatSimulator.d.ts +366 -0
  141. package/dist/core/combat/Simulation/CombatSimulator.d.ts.map +1 -0
  142. package/dist/core/combat/SpellCaster.d.ts +113 -0
  143. package/dist/core/combat/SpellCaster.d.ts.map +1 -0
  144. package/dist/core/config/index.d.ts +24 -0
  145. package/dist/core/config/index.d.ts.map +1 -0
  146. package/dist/core/config/progressionConfig.d.ts +73 -0
  147. package/dist/core/config/progressionConfig.d.ts.map +1 -0
  148. package/dist/core/config/sensorConfig.d.ts +134 -0
  149. package/dist/core/config/sensorConfig.d.ts.map +1 -0
  150. package/dist/core/equipment/BoxOpener.d.ts +175 -0
  151. package/dist/core/equipment/BoxOpener.d.ts.map +1 -0
  152. package/dist/core/equipment/EquipmentEffectApplier.d.ts +189 -0
  153. package/dist/core/equipment/EquipmentEffectApplier.d.ts.map +1 -0
  154. package/dist/core/equipment/EquipmentModifier.d.ts +327 -0
  155. package/dist/core/equipment/EquipmentModifier.d.ts.map +1 -0
  156. package/dist/core/equipment/EquipmentSpawnHelper.d.ts +246 -0
  157. package/dist/core/equipment/EquipmentSpawnHelper.d.ts.map +1 -0
  158. package/dist/core/equipment/EquipmentValidator.d.ts +173 -0
  159. package/dist/core/equipment/EquipmentValidator.d.ts.map +1 -0
  160. package/dist/core/extensions/ExtensionManager.d.ts +517 -0
  161. package/dist/core/extensions/ExtensionManager.d.ts.map +1 -0
  162. package/dist/core/extensions/WeightedSelector.d.ts +156 -0
  163. package/dist/core/extensions/WeightedSelector.d.ts.map +1 -0
  164. package/dist/core/extensions/index.d.ts +11 -0
  165. package/dist/core/extensions/index.d.ts.map +1 -0
  166. package/dist/core/extensions/initializeDefaults.d.ts +170 -0
  167. package/dist/core/extensions/initializeDefaults.d.ts.map +1 -0
  168. package/dist/core/features/FeatureEffectApplier.d.ts +102 -0
  169. package/dist/core/features/FeatureEffectApplier.d.ts.map +1 -0
  170. package/dist/core/features/FeatureQuery.d.ts +368 -0
  171. package/dist/core/features/FeatureQuery.d.ts.map +1 -0
  172. package/dist/core/features/FeatureTypes.d.ts +199 -0
  173. package/dist/core/features/FeatureTypes.d.ts.map +1 -0
  174. package/dist/core/features/FeatureValidator.d.ts +149 -0
  175. package/dist/core/features/FeatureValidator.d.ts.map +1 -0
  176. package/dist/core/features/index.d.ts +12 -0
  177. package/dist/core/features/index.d.ts.map +1 -0
  178. package/dist/core/generation/AbilityScoreCalculator.d.ts +83 -0
  179. package/dist/core/generation/AbilityScoreCalculator.d.ts.map +1 -0
  180. package/dist/core/generation/AppearanceGenerator.d.ts +32 -0
  181. package/dist/core/generation/AppearanceGenerator.d.ts.map +1 -0
  182. package/dist/core/generation/BeatConverter.d.ts +127 -0
  183. package/dist/core/generation/BeatConverter.d.ts.map +1 -0
  184. package/dist/core/generation/ButtonMapper.d.ts +346 -0
  185. package/dist/core/generation/ButtonMapper.d.ts.map +1 -0
  186. package/dist/core/generation/ButtonPatternLibrary.d.ts +92 -0
  187. package/dist/core/generation/ButtonPatternLibrary.d.ts.map +1 -0
  188. package/dist/core/generation/CRLevelConverter.d.ts +242 -0
  189. package/dist/core/generation/CRLevelConverter.d.ts.map +1 -0
  190. package/dist/core/generation/CharacterGenerator.d.ts +194 -0
  191. package/dist/core/generation/CharacterGenerator.d.ts.map +1 -0
  192. package/dist/core/generation/ClassSuggester.d.ts +184 -0
  193. package/dist/core/generation/ClassSuggester.d.ts.map +1 -0
  194. package/dist/core/generation/EnemyEquipmentGenerator.d.ts +151 -0
  195. package/dist/core/generation/EnemyEquipmentGenerator.d.ts.map +1 -0
  196. package/dist/core/generation/EnemyGenerator.d.ts +595 -0
  197. package/dist/core/generation/EnemyGenerator.d.ts.map +1 -0
  198. package/dist/core/generation/EquipmentGenerator.d.ts +204 -0
  199. package/dist/core/generation/EquipmentGenerator.d.ts.map +1 -0
  200. package/dist/core/generation/LegendaryGenerator.d.ts +213 -0
  201. package/dist/core/generation/LegendaryGenerator.d.ts.map +1 -0
  202. package/dist/core/generation/LevelGenerator.d.ts +390 -0
  203. package/dist/core/generation/LevelGenerator.d.ts.map +1 -0
  204. package/dist/core/generation/NamingEngine.d.ts +136 -0
  205. package/dist/core/generation/NamingEngine.d.ts.map +1 -0
  206. package/dist/core/generation/PitchBeatLinker.d.ts +150 -0
  207. package/dist/core/generation/PitchBeatLinker.d.ts.map +1 -0
  208. package/dist/core/generation/RaceSelector.d.ts +58 -0
  209. package/dist/core/generation/RaceSelector.d.ts.map +1 -0
  210. package/dist/core/generation/RhythmGenerator.d.ts +597 -0
  211. package/dist/core/generation/RhythmGenerator.d.ts.map +1 -0
  212. package/dist/core/generation/SkillAssigner.d.ts +78 -0
  213. package/dist/core/generation/SkillAssigner.d.ts.map +1 -0
  214. package/dist/core/generation/SpellManager.d.ts +132 -0
  215. package/dist/core/generation/SpellManager.d.ts.map +1 -0
  216. package/dist/core/generation/SpellcastingGenerator.d.ts +255 -0
  217. package/dist/core/generation/SpellcastingGenerator.d.ts.map +1 -0
  218. package/dist/core/generation/index.d.ts +41 -0
  219. package/dist/core/generation/index.d.ts.map +1 -0
  220. package/dist/core/parser/MetadataExtractor.d.ts +66 -0
  221. package/dist/core/parser/MetadataExtractor.d.ts.map +1 -0
  222. package/dist/core/parser/PlaylistParser.d.ts +45 -0
  223. package/dist/core/parser/PlaylistParser.d.ts.map +1 -0
  224. package/dist/core/playback/SubdivisionPlaybackController.d.ts +333 -0
  225. package/dist/core/playback/SubdivisionPlaybackController.d.ts.map +1 -0
  226. package/dist/core/playback/index.d.ts +5 -0
  227. package/dist/core/playback/index.d.ts.map +1 -0
  228. package/dist/core/progression/CharacterUpdater.d.ts +203 -0
  229. package/dist/core/progression/CharacterUpdater.d.ts.map +1 -0
  230. package/dist/core/progression/LevelUpProcessor.d.ts +234 -0
  231. package/dist/core/progression/LevelUpProcessor.d.ts.map +1 -0
  232. package/dist/core/progression/PrestigeSystem.d.ts +217 -0
  233. package/dist/core/progression/PrestigeSystem.d.ts.map +1 -0
  234. package/dist/core/progression/RhythmXPCalculator.d.ts +182 -0
  235. package/dist/core/progression/RhythmXPCalculator.d.ts.map +1 -0
  236. package/dist/core/progression/SessionTracker.d.ts +169 -0
  237. package/dist/core/progression/SessionTracker.d.ts.map +1 -0
  238. package/dist/core/progression/XPCalculator.d.ts +128 -0
  239. package/dist/core/progression/XPCalculator.d.ts.map +1 -0
  240. package/dist/core/progression/stat/StatIncreaseStrategy.d.ts +97 -0
  241. package/dist/core/progression/stat/StatIncreaseStrategy.d.ts.map +1 -0
  242. package/dist/core/progression/stat/StatManager.d.ts +179 -0
  243. package/dist/core/progression/stat/StatManager.d.ts.map +1 -0
  244. package/dist/core/sensors/EnvironmentalSensors.d.ts +301 -0
  245. package/dist/core/sensors/EnvironmentalSensors.d.ts.map +1 -0
  246. package/dist/core/sensors/GamingPlatformSensors.d.ts +162 -0
  247. package/dist/core/sensors/GamingPlatformSensors.d.ts.map +1 -0
  248. package/dist/core/sensors/GeolocationProvider.d.ts +156 -0
  249. package/dist/core/sensors/GeolocationProvider.d.ts.map +1 -0
  250. package/dist/core/sensors/MotionDetector.d.ts +58 -0
  251. package/dist/core/sensors/MotionDetector.d.ts.map +1 -0
  252. package/dist/core/sensors/SteamAPIClient.d.ts +108 -0
  253. package/dist/core/sensors/SteamAPIClient.d.ts.map +1 -0
  254. package/dist/core/sensors/WeatherAPIClient.d.ts +360 -0
  255. package/dist/core/sensors/WeatherAPIClient.d.ts.map +1 -0
  256. package/dist/core/sensors/schemas/weather.schema.d.ts +144 -0
  257. package/dist/core/sensors/schemas/weather.schema.d.ts.map +1 -0
  258. package/dist/core/skills/SkillQuery.d.ts +159 -0
  259. package/dist/core/skills/SkillQuery.d.ts.map +1 -0
  260. package/dist/core/skills/SkillTypes.d.ts +233 -0
  261. package/dist/core/skills/SkillTypes.d.ts.map +1 -0
  262. package/dist/core/skills/SkillValidator.d.ts +146 -0
  263. package/dist/core/skills/SkillValidator.d.ts.map +1 -0
  264. package/dist/core/skills/index.d.ts +11 -0
  265. package/dist/core/skills/index.d.ts.map +1 -0
  266. package/dist/core/spells/SpellQuery.d.ts +194 -0
  267. package/dist/core/spells/SpellQuery.d.ts.map +1 -0
  268. package/dist/core/spells/SpellTypes.d.ts +71 -0
  269. package/dist/core/spells/SpellTypes.d.ts.map +1 -0
  270. package/dist/core/spells/SpellValidator.d.ts +129 -0
  271. package/dist/core/spells/SpellValidator.d.ts.map +1 -0
  272. package/dist/core/spells/index.d.ts +11 -0
  273. package/dist/core/spells/index.d.ts.map +1 -0
  274. package/dist/core/types/AudioProfile.d.ts +143 -0
  275. package/dist/core/types/AudioProfile.d.ts.map +1 -0
  276. package/dist/core/types/BeatMap.d.ts +1825 -0
  277. package/dist/core/types/BeatMap.d.ts.map +1 -0
  278. package/dist/core/types/ButtonMapping.d.ts +345 -0
  279. package/dist/core/types/ButtonMapping.d.ts.map +1 -0
  280. package/dist/core/types/Character.d.ts +397 -0
  281. package/dist/core/types/Character.d.ts.map +1 -0
  282. package/dist/core/types/ChartedBeatMap.d.ts +169 -0
  283. package/dist/core/types/ChartedBeatMap.d.ts.map +1 -0
  284. package/dist/core/types/Combat.d.ts +268 -0
  285. package/dist/core/types/Combat.d.ts.map +1 -0
  286. package/dist/core/types/CombatAI.d.ts +143 -0
  287. package/dist/core/types/CombatAI.d.ts.map +1 -0
  288. package/dist/core/types/Enemy.d.ts +447 -0
  289. package/dist/core/types/Enemy.d.ts.map +1 -0
  290. package/dist/core/types/Environmental.d.ts +213 -0
  291. package/dist/core/types/Environmental.d.ts.map +1 -0
  292. package/dist/core/types/Equipment.d.ts +309 -0
  293. package/dist/core/types/Equipment.d.ts.map +1 -0
  294. package/dist/core/types/ISessionTracker.d.ts +48 -0
  295. package/dist/core/types/ISessionTracker.d.ts.map +1 -0
  296. package/dist/core/types/LevelExport.d.ts +366 -0
  297. package/dist/core/types/LevelExport.d.ts.map +1 -0
  298. package/dist/core/types/Playlist.d.ts +70 -0
  299. package/dist/core/types/Playlist.d.ts.map +1 -0
  300. package/dist/core/types/Prestige.d.ts +94 -0
  301. package/dist/core/types/Prestige.d.ts.map +1 -0
  302. package/dist/core/types/Progression.d.ts +214 -0
  303. package/dist/core/types/Progression.d.ts.map +1 -0
  304. package/dist/core/types/RhythmXP.d.ts +398 -0
  305. package/dist/core/types/RhythmXP.d.ts.map +1 -0
  306. package/dist/core/utils/AbilityConstants.d.ts +31 -0
  307. package/dist/core/utils/AbilityConstants.d.ts.map +1 -0
  308. package/dist/core/utils/EffectApplierUtils.d.ts +56 -0
  309. package/dist/core/utils/EffectApplierUtils.d.ts.map +1 -0
  310. package/dist/core/utils/ImageValidator.d.ts +66 -0
  311. package/dist/core/utils/ImageValidator.d.ts.map +1 -0
  312. package/dist/core/utils/PrerequisiteValidator.d.ts +88 -0
  313. package/dist/core/utils/PrerequisiteValidator.d.ts.map +1 -0
  314. package/dist/essentia-wasm.es-BUEnKUts.js +2990 -0
  315. package/dist/essentia.js-model.es-CGA0xotH.js +306 -0
  316. package/dist/index.d.ts +176 -0
  317. package/dist/index.d.ts.map +1 -0
  318. package/dist/playlist-data-engine.js +124 -0
  319. package/dist/playlist-data-engine.mjs +49251 -0
  320. package/dist/utils/EnchantmentLibrary.d.ts +378 -0
  321. package/dist/utils/EnchantmentLibrary.d.ts.map +1 -0
  322. package/dist/utils/arweaveGatewayManager.d.ts +485 -0
  323. package/dist/utils/arweaveGatewayManager.d.ts.map +1 -0
  324. package/dist/utils/arweaveUtils.d.ts +118 -0
  325. package/dist/utils/arweaveUtils.d.ts.map +1 -0
  326. package/dist/utils/constants.d.ts +439 -0
  327. package/dist/utils/constants.d.ts.map +1 -0
  328. package/dist/utils/equipmentConstants.d.ts +60 -0
  329. package/dist/utils/equipmentConstants.d.ts.map +1 -0
  330. package/dist/utils/hash.d.ts +33 -0
  331. package/dist/utils/hash.d.ts.map +1 -0
  332. package/dist/utils/logger.d.ts +192 -0
  333. package/dist/utils/logger.d.ts.map +1 -0
  334. package/dist/utils/magicItemExamples.d.ts +46 -0
  335. package/dist/utils/magicItemExamples.d.ts.map +1 -0
  336. package/dist/utils/playlistUtils.d.ts +149 -0
  337. package/dist/utils/playlistUtils.d.ts.map +1 -0
  338. package/dist/utils/random.d.ts +34 -0
  339. package/dist/utils/random.d.ts.map +1 -0
  340. package/dist/utils/sensorDashboard.d.ts +60 -0
  341. package/dist/utils/sensorDashboard.d.ts.map +1 -0
  342. package/dist/utils/validators.d.ts +189 -0
  343. package/dist/utils/validators.d.ts.map +1 -0
  344. package/dist/vite.svg +1 -0
  345. package/package.json +82 -0
@@ -0,0 +1,208 @@
1
+ /**
2
+ * Encounter Balance Constants
3
+ *
4
+ * D&D 5e official encounter building tables for calculating balanced encounters.
5
+ * Based on Dungeon Master's Guide (2014) Chapter 13: Building Combat Encounters.
6
+ *
7
+ * These tables provide:
8
+ * - XP thresholds per character level for each difficulty (easy/medium/hard/deadly)
9
+ * - CR to XP conversion for calculating monster strength
10
+ * - Encounter multipliers for adjusting XP budgets based on number of enemies
11
+ * - Tuning factors for fine-tuning encounter difficulty
12
+ */
13
+ import type { EncounterDifficulty } from '../core/types/Enemy.js';
14
+ /**
15
+ * XP Budget Per Character Level
16
+ *
17
+ * For each character level and difficulty, defines the XP budget for a SINGLE character.
18
+ * Multiply by party size to get the total encounter XP budget.
19
+ *
20
+ * From D&D 5e Dungeon Master's Guide, page 82, "XP Thresholds by Character Level"
21
+ *
22
+ * Usage:
23
+ * - Calculate party's average level
24
+ * - Look up threshold per character for desired difficulty
25
+ * - Multiply by number of party members
26
+ * - Result is the total XP budget for the encounter
27
+ */
28
+ export declare const XP_BUDGET_PER_LEVEL: Record<number, Record<EncounterDifficulty, number>>;
29
+ /**
30
+ * CR to XP Mapping
31
+ *
32
+ * Maps Challenge Rating (CR) to Experience Point (XP) values.
33
+ * Used to determine the strength of monsters and calculate encounter budgets.
34
+ *
35
+ * From D&D 5e Monster Manual, "Monsters by Challenge Rating"
36
+ *
37
+ * Fractional CRs are supported as decimal values.
38
+ * Note: CR 0 creatures (commoners) are worth 0 or 10 XP depending on context.
39
+ * CR 25 does not exist in standard 5e (jumps from 24 to 26).
40
+ */
41
+ export declare const CR_TO_XP: Record<number, number>;
42
+ /**
43
+ * Enemy Count Multiplier (Encounter Multipliers)
44
+ *
45
+ * Adjusts XP budget for encounters with multiple enemies.
46
+ * Accounts for action economy advantage and tactical complexity.
47
+ *
48
+ * From D&D 5e Dungeon Master's Guide, page 82, "Encounter Multipliers"
49
+ *
50
+ * IMPORTANT: These multipliers are applied to the ADJUSTED XP total, not base XP.
51
+ * Formula: (sum of monster XP) × (encounter multiplier) = adjusted XP
52
+ *
53
+ * Special rule: If the party has 6+ members, use the next lowest multiplier.
54
+ *
55
+ * The multiplier curve reflects:
56
+ * - 1 enemy: Full XP worth (×1), but some sources suggest ×1.5 for solo monsters
57
+ * - 2 enemies: Significantly harder due to action economy (×2)
58
+ * - 3-6 enemies: Peak action economy advantage (×2.5)
59
+ * - 7-10 enemies: Diminishing returns due to crowd control (×2)
60
+ * - 11-14 enemies: More manageable due to AOE effectiveness (×1.5)
61
+ * - 15+ enemies: Easy to manage with AOE and crowd control (×1)
62
+ */
63
+ export declare const ENEMY_COUNT_MULTIPLIER: Record<number, number>;
64
+ /**
65
+ * Tuning Factors for encounter difficulty adjustment
66
+ *
67
+ * Allows fine-tuning of encounter difficulty beyond the standard D&D 5e calculations.
68
+ * These can be adjusted based on party composition, desired pacing, or game balance needs.
69
+ */
70
+ export declare const TUNING_FACTORS: {
71
+ /** Default tuning factor (no adjustment) */
72
+ readonly DEFAULT: 1;
73
+ /** 10% easier encounters */
74
+ readonly EASIER: 0.9;
75
+ /** 20% easier encounters */
76
+ readonly MUCH_EASIER: 0.8;
77
+ /** 10% harder encounters */
78
+ readonly HARDER: 1.1;
79
+ /** 20% harder encounters */
80
+ readonly MUCH_HARDER: 1.2;
81
+ /** 50% harder encounters (for veteran players) */
82
+ readonly BRUTAL: 1.5;
83
+ };
84
+ /**
85
+ * Get the XP budget for a single character at a given level and difficulty
86
+ *
87
+ * @param level - Character level (1-20)
88
+ * @param difficulty - Encounter difficulty (easy/medium/hard/deadly)
89
+ * @returns XP budget for a single character, or 0 if level out of range
90
+ *
91
+ * @example
92
+ * ```typescript
93
+ * const level5Medium = getXPBudgetPerLevel(5, 'medium'); // 500
94
+ * const level10Hard = getXPBudgetPerLevel(10, 'hard'); // 1800
95
+ * ```
96
+ */
97
+ export declare function getXPBudgetPerLevel(level: number, difficulty: EncounterDifficulty): number;
98
+ /**
99
+ * Get the total XP budget for a party based on levels and difficulty
100
+ *
101
+ * @param levels - Array of character levels in the party
102
+ * @param difficulty - Encounter difficulty (easy/medium/hard/deadly)
103
+ * @returns Total XP budget for the entire party
104
+ *
105
+ * @example
106
+ * ```typescript
107
+ * const party = [3, 3, 4, 5]; // Mixed levels
108
+ * const budget = getXPBudgetForParty(party, 'medium'); // Sum of individual budgets
109
+ * ```
110
+ */
111
+ export declare function getXPBudgetForParty(levels: number[], difficulty: EncounterDifficulty): number;
112
+ /**
113
+ * Get the XP value for a given Challenge Rating
114
+ *
115
+ * @param cr - Challenge Rating (supports decimals like 0.125, 0.25, 0.5)
116
+ * @returns XP value for that CR, or 0 if CR not found
117
+ *
118
+ * @example
119
+ * ```typescript
120
+ * getXPForCR(1); // 200
121
+ * getXPForCR(0.25); // 50
122
+ * getXPForCR(5); // 1800
123
+ * ```
124
+ */
125
+ export declare function getXPForCR(cr: number): number;
126
+ /**
127
+ * Get the approximate Challenge Rating from an XP value
128
+ *
129
+ * Uses binary search to find the CR with closest XP value without exceeding.
130
+ *
131
+ * @param xp - Experience point value
132
+ * @returns CR value, or 0 if no match found
133
+ *
134
+ * @example
135
+ * ```typescript
136
+ * getCRFromXP(200); // 1
137
+ * getCRFromXP(1800); // 5
138
+ * getCRFromXP(3500); // ~7 (returns closest CR without exceeding)
139
+ * ```
140
+ */
141
+ export declare function getCRFromXP(xp: number): number;
142
+ /**
143
+ * Apply a tuning factor to an XP budget
144
+ *
145
+ * @param xpBudget - Base XP budget
146
+ * @param tuningFactor - Multiplier to apply (default: 1.0)
147
+ * @returns Adjusted XP budget
148
+ *
149
+ * @example
150
+ * ```typescript
151
+ * applyTuning(1000, 1.2); // 1200 (20% harder)
152
+ * applyTuning(1000, TUNING_FACTORS.EASIER); // 900
153
+ * ```
154
+ */
155
+ export declare function applyTuning(xpBudget: number, tuningFactor?: number): number;
156
+ /**
157
+ * Get the encounter multiplier for a given number of enemies
158
+ *
159
+ * @param enemyCount - Number of enemies in the encounter
160
+ * @returns Encounter multiplier value
161
+ *
162
+ * @example
163
+ * ```typescript
164
+ * getEncounterMultiplier(1); // 1.0
165
+ * getEncounterMultiplier(5); // 2.0
166
+ * getEncounterMultiplier(15); // 1.0
167
+ * ```
168
+ */
169
+ export declare function getEncounterMultiplier(enemyCount: number): number;
170
+ /**
171
+ * Calculate adjusted XP for a group of enemies
172
+ *
173
+ * Applies encounter multiplier to account for action economy.
174
+ *
175
+ * @param enemyCRs - Array of enemy Challenge Ratings
176
+ * @param enemyCountMultiplier - Optional override for enemy count multiplier
177
+ * @returns Adjusted XP value for encounter building
178
+ *
179
+ * @example
180
+ * ```typescript
181
+ * // Five CR 1/2 goblins
182
+ * calculateAdjustedXP([0.5, 0.5, 0.5, 0.5, 0.5]); // 500 (250 base × 2.0)
183
+ *
184
+ * // One CR 5 boss
185
+ * calculateAdjustedXP([5]); // 1800 (1800 base × 1.0)
186
+ * ```
187
+ */
188
+ export declare function calculateAdjustedXP(enemyCRs: number[], enemyCountMultiplier?: number): number;
189
+ /**
190
+ * Get average party level
191
+ *
192
+ * @param levels - Array of character levels
193
+ * @returns Average level (rounded down to integer)
194
+ *
195
+ * @example
196
+ * ```typescript
197
+ * getAveragePartyLevel([1, 2, 3, 5]); // 2 (11 / 4 = 2.75, rounded down)
198
+ * ```
199
+ */
200
+ export declare function getAveragePartyLevel(levels: number[]): number;
201
+ /**
202
+ * Type guard to validate a difficulty level
203
+ *
204
+ * @param value - Value to check
205
+ * @returns True if valid EncounterDifficulty
206
+ */
207
+ export declare function isValidEncounterDifficulty(value: unknown): value is EncounterDifficulty;
208
+ //# sourceMappingURL=EncounterBalance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EncounterBalance.d.ts","sourceRoot":"","sources":["../../src/constants/EncounterBalance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAElE;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CACpC,MAAM,EACN,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAsBtC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAmC3C,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAgBzD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,cAAc;IACvB,4CAA4C;;IAG5C,4BAA4B;;IAG5B,4BAA4B;;IAG5B,4BAA4B;;IAG5B,4BAA4B;;IAG5B,kDAAkD;;CAE5C,CAAC;AAEX;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAC/B,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,mBAAmB,GAChC,MAAM,CAMR;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAC/B,MAAM,EAAE,MAAM,EAAE,EAChB,UAAU,EAAE,mBAAmB,GAChC,MAAM,CAIR;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CA2B9C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,GAAE,MAAY,GAAG,MAAM,CAEhF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAIjE;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,mBAAmB,CAC/B,QAAQ,EAAE,MAAM,EAAE,EAClB,oBAAoB,CAAC,EAAE,MAAM,GAC9B,MAAM,CAQR;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAI7D;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,mBAAmB,CAGvF"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Enemy Equipment Templates
3
+ *
4
+ * Equipment templates specifically designed for enemy generation.
5
+ * These templates map to equipment in the main DEFAULT_EQUIPMENT database
6
+ * but are organized by archetype and rarity for enemy generation.
7
+ *
8
+ * Equipment selection follows these rules:
9
+ * - Brute: Heavy damage weapons (greataxe, longsword), heavy armor (scale mail, chain mail)
10
+ * - Archer: Ranged weapons (longbow, light crossbow), light armor (leather), backup dagger
11
+ * - Support: Quarterstaff or mace, light armor with shield option
12
+ *
13
+ * Higher rarity enemies receive better equipment from their available pool.
14
+ */
15
+ import type { EquipmentTemplate } from '../core/types/Enemy.js';
16
+ import type { EnemyArchetype, EnemyRarity } from '../core/types/Enemy.js';
17
+ /**
18
+ * Map equipment template to actual equipment name in DEFAULT_EQUIPMENT
19
+ *
20
+ * This is the bridge between enemy equipment templates and the actual
21
+ * equipment database. When generating an enemy, we look up the actual
22
+ * equipment by name.
23
+ */
24
+ export declare const ENEMY_EQUIPMENT_MAPPING: Record<string, string>;
25
+ /**
26
+ * Enemy equipment templates
27
+ *
28
+ * Organized by archetype with equipment options that scale by rarity.
29
+ * Higher rarity enemies get better equipment from the archetype pool.
30
+ */
31
+ export declare const ENEMY_EQUIPMENT_TEMPLATES: EquipmentTemplate[];
32
+ /**
33
+ * Get equipment templates by archetype
34
+ *
35
+ * @param archetype - The enemy archetype to filter by
36
+ * @returns Array of equipment templates for the archetype
37
+ */
38
+ export declare function getEquipmentByArchetype(archetype: EnemyArchetype): EquipmentTemplate[];
39
+ /**
40
+ * Get equipment templates by archetype and rarity
41
+ *
42
+ * @param archetype - The enemy archetype to filter by
43
+ * @param rarity - The rarity tier to filter by
44
+ * @returns Array of equipment templates matching both criteria
45
+ */
46
+ export declare function getEquipmentByArchetypeAndRarity(archetype: EnemyArchetype, rarity: EnemyRarity): EquipmentTemplate[];
47
+ /**
48
+ * Get weapons by archetype and rarity
49
+ *
50
+ * @param archetype - The enemy archetype to filter by
51
+ * @param rarity - The rarity tier to filter by
52
+ * @returns Array of weapon templates matching both criteria
53
+ */
54
+ export declare function getWeaponsByArchetypeAndRarity(archetype: EnemyArchetype, rarity: EnemyRarity): EquipmentTemplate[];
55
+ /**
56
+ * Get armor by archetype and rarity
57
+ *
58
+ * @param archetype - The enemy archetype to filter by
59
+ * @param rarity - The rarity tier to filter by
60
+ * @returns Array of armor templates matching both criteria
61
+ */
62
+ export declare function getArmorByArchetypeAndRarity(archetype: EnemyArchetype, rarity: EnemyRarity): EquipmentTemplate[];
63
+ /**
64
+ * Get shields by archetype and rarity
65
+ *
66
+ * @param archetype - The enemy archetype to filter by
67
+ * @param rarity - The rarity tier to filter by
68
+ * @returns Array of shield templates matching both criteria
69
+ */
70
+ export declare function getShieldsByArchetypeAndRarity(archetype: EnemyArchetype, rarity: EnemyRarity): EquipmentTemplate[];
71
+ //# sourceMappingURL=EnemyEquipment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnemyEquipment.d.ts","sourceRoot":"","sources":["../../src/constants/EnemyEquipment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1E;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAsB1D,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,EAAE,iBAAiB,EAoKxD,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,cAAc,GAAG,iBAAiB,EAAE,CAItF;AAED;;;;;;GAMG;AACH,wBAAgB,gCAAgC,CAC5C,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,WAAW,GACpB,iBAAiB,EAAE,CAKrB;AAED;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAC1C,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,WAAW,GACpB,iBAAiB,EAAE,CAIrB;AAED;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CACxC,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,WAAW,GACpB,iBAAiB,EAAE,CAIrB;AAED;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAC1C,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,WAAW,GACpB,iBAAiB,EAAE,CAIrB"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Enemy Rarity Configuration
3
+ *
4
+ * Defines scaling factors and properties for each enemy rarity tier.
5
+ * Rarity controls **complexity**, not power. CR handles power scaling.
6
+ *
7
+ * Design Principle: Any CR can combine with any rarity:
8
+ * - CR 0.25 + Boss = Goblin chieftain (weak but complex)
9
+ * - CR 20 + Common = Ancient beast (powerful but simple)
10
+ *
11
+ * Rarity progression (complexity-based, minimal stat impact):
12
+ * - Common: Base enemy with standard stats
13
+ * - Uncommon: Minor stat adjustment, stronger signature ability, 1 extra ability
14
+ * - Elite: Small stat adjustment, stronger signature ability, 2 extra abilities, gains resistances
15
+ * - Boss: Moderate stat adjustment, strongest signature ability, 3 extra abilities, legendary actions
16
+ */
17
+ import type { EnemyRarity, RarityConfig } from '../core/types/Enemy.js';
18
+ /**
19
+ * Rarity configuration for each enemy tier
20
+ *
21
+ * These values define how enemies scale across rarity tiers:
22
+ * - statMultiplier: Multiplier applied to base ability scores
23
+ * - hpMultiplier: Separate HP multiplier for dramatic health differences between rarities
24
+ * - signatureDieSize: Number of sides on signature ability damage die (d6/d8/d10/d12)
25
+ * - extraAbilityCount: Number of additional abilities from FeatureQuery pool
26
+ * - hasResistances: Whether this rarity gains template resistances/immunities
27
+ *
28
+ * Common is the baseline. Higher rarities have meaningfully more HP and
29
+ * stronger ability scores, making them feel distinctly more powerful.
30
+ */
31
+ export declare const RARITY_CONFIGS: Record<EnemyRarity, RarityConfig>;
32
+ /**
33
+ * Get the rarity configuration for a given rarity tier
34
+ *
35
+ * @param rarity - The enemy rarity tier
36
+ * @returns The configuration for that rarity, or undefined if invalid rarity
37
+ *
38
+ * @example
39
+ * ```typescript
40
+ * const eliteConfig = getRarityConfig('elite');
41
+ * console.log(eliteConfig.statMultiplier); // 1.25
42
+ * console.log(eliteConfig.signatureDieSize); // 10
43
+ * ```
44
+ */
45
+ export declare function getRarityConfig(rarity: EnemyRarity): RarityConfig;
46
+ /**
47
+ * Get the die notation string for a given rarity's signature ability
48
+ *
49
+ * @param rarity - The enemy rarity tier
50
+ * @returns Die notation string (e.g., 'd6', 'd8', 'd10', 'd12')
51
+ *
52
+ * @example
53
+ * ```typescript
54
+ * const bossDie = getSignatureDie('boss'); // 'd12'
55
+ * const commonDie = getSignatureDie('common'); // 'd6'
56
+ * ```
57
+ */
58
+ export declare function getSignatureDie(rarity: EnemyRarity): string;
59
+ /**
60
+ * Get all available rarity tiers
61
+ *
62
+ * @returns Array of all rarity tiers in ascending order of power
63
+ */
64
+ export declare function getAllRarities(): EnemyRarity[];
65
+ /**
66
+ * Get the next higher rarity tier
67
+ *
68
+ * @param currentRarity - The current rarity tier
69
+ * @returns The next higher rarity, or undefined if already at boss
70
+ *
71
+ * @example
72
+ * ```typescript
73
+ * getHigherRarity('common'); // 'uncommon'
74
+ * getHigherRarity('elite'); // 'boss'
75
+ * getHigherRarity('boss'); // undefined
76
+ * ```
77
+ */
78
+ export declare function getHigherRarity(currentRarity: EnemyRarity): EnemyRarity | undefined;
79
+ //# sourceMappingURL=EnemyRarity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnemyRarity.d.ts","sourceRoot":"","sources":["../../src/constants/EnemyRarity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAExE;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,WAAW,EAAE,YAAY,CA6B5D,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,YAAY,CAEjE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAE3D;AAED;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,WAAW,EAAE,CAE9C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,aAAa,EAAE,WAAW,GAAG,WAAW,GAAG,SAAS,CAOnF"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Construct Enemy Templates
3
+ *
4
+ * Contains construct enemy templates with category-specific traits:
5
+ * - Poison immunity (immune to poison damage and poisoned condition)
6
+ * - Psychic immunity (immune to psychic damage)
7
+ * - No healing (constructs cannot recover hit points through magical healing)
8
+ *
9
+ * Constructs are artificial creatures, often animated objects or built beings.
10
+ * They are typically immune to poison and psychic effects, and cannot heal
11
+ * through normal magical means. They are often slow but durable.
12
+ */
13
+ import type { EnemyTemplate } from '../../core/types/Enemy.js';
14
+ /**
15
+ * Construct enemy templates
16
+ *
17
+ * These 4 templates provide construct enemies with:
18
+ * - Poison immunity (all rarities)
19
+ * - Psychic immunity (all rarities)
20
+ * - Varied archetypes: Brute (Animated Armor, Golem), Archer (Flying Sword), Support (Shield Guardian)
21
+ */
22
+ export declare const CONSTRUCT_TEMPLATES: EnemyTemplate[];
23
+ /**
24
+ * Helper function to get a construct template by ID
25
+ *
26
+ * @param id - The template ID (e.g., 'animated-armor', 'flying-sword', 'shield-guardian', 'golem')
27
+ * @returns The matching template, or undefined if not found
28
+ *
29
+ * @example
30
+ * ```typescript
31
+ * const animatedArmor = getConstructTemplateById('animated-armor');
32
+ * if (animatedArmor) {
33
+ * console.log(animatedArmor.name); // 'Animated Armor'
34
+ * }
35
+ * ```
36
+ */
37
+ export declare function getConstructTemplateById(id: string): EnemyTemplate | undefined;
38
+ /**
39
+ * Get all construct templates
40
+ *
41
+ * @returns Array of all construct templates
42
+ *
43
+ * @example
44
+ * ```typescript
45
+ * const constructs = getConstructTemplates();
46
+ * console.log(constructs.length); // 4 (Animated Armor, Flying Sword, Shield Guardian, Golem)
47
+ * ```
48
+ */
49
+ export declare function getConstructTemplates(): EnemyTemplate[];
50
+ /**
51
+ * Get construct templates by archetype
52
+ *
53
+ * @param archetype - The enemy archetype ('brute', 'archer', 'support')
54
+ * @returns Array of construct templates with the specified archetype
55
+ *
56
+ * @example
57
+ * ```typescript
58
+ * const constructBrutes = getConstructTemplatesByArchetype('brute');
59
+ * console.log(constructBrutes.length); // 2 (Animated Armor, Golem)
60
+ * ```
61
+ */
62
+ export declare function getConstructTemplatesByArchetype(archetype: string): EnemyTemplate[];
63
+ //# sourceMappingURL=Construct.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Construct.d.ts","sourceRoot":"","sources":["../../../src/constants/EnemyTemplates/Construct.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE/D;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,EAAE,aAAa,EA8K9C,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAE9E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,IAAI,aAAa,EAAE,CAEvD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gCAAgC,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,EAAE,CAEnF"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Dragon Enemy Templates
3
+ *
4
+ * Contains dragon enemy templates with category-specific traits:
5
+ * - Damage immunity (by dragon type)
6
+ * - Frightful presence (for higher rarity)
7
+ *
8
+ * Dragons are powerful, intelligent reptilian creatures with breath weapons
9
+ * and devastating physical attacks. Young dragons are formidable opponents,
10
+ * while wyrmlings and drakes provide lesser challenges. Each dragon type
11
+ * has immunity to its associated damage element.
12
+ */
13
+ import type { EnemyTemplate } from '../../core/types/Enemy.js';
14
+ /**
15
+ * Dragon enemy templates
16
+ *
17
+ * These 4 templates provide dragon enemies with:
18
+ * - Young Red Dragon: Fire immunity, Fire Breath (AoE fire), bass audio preference
19
+ * - Young Blue Dragon: Lightning immunity, Lightning Breath (line lightning), treble audio preference
20
+ * - Dragon Wyrmling: Acid resistance, Bite + Claw (multiattack), mid audio preference
21
+ * - Drake: Cold resistance, Tail Swipe (knockback), bass audio preference
22
+ * - Varied archetypes: Brute (Young Red Dragon, Dragon Wyrmling, Drake), Archer (Young Blue Dragon)
23
+ */
24
+ export declare const DRAGON_TEMPLATES: EnemyTemplate[];
25
+ /**
26
+ * Helper function to get a dragon template by ID
27
+ *
28
+ * @param id - The template ID (e.g., 'young-red-dragon', 'young-blue-dragon', 'dragon-wyrmling', 'drake')
29
+ * @returns The matching template, or undefined if not found
30
+ *
31
+ * @example
32
+ * ```typescript
33
+ * const youngRedDragon = getDragonTemplateById('young-red-dragon');
34
+ * if (youngRedDragon) {
35
+ * console.log(youngRedDragon.name); // 'Young Red Dragon'
36
+ * }
37
+ * ```
38
+ */
39
+ export declare function getDragonTemplateById(id: string): EnemyTemplate | undefined;
40
+ /**
41
+ * Get all dragon templates
42
+ *
43
+ * @returns Array of all dragon templates
44
+ *
45
+ * @example
46
+ * ```typescript
47
+ * const dragons = getDragonTemplates();
48
+ * console.log(dragons.length); // 4 (Young Red Dragon, Young Blue Dragon, Dragon Wyrmling, Drake)
49
+ * ```
50
+ */
51
+ export declare function getDragonTemplates(): EnemyTemplate[];
52
+ /**
53
+ * Get dragon templates by archetype
54
+ *
55
+ * @param archetype - The enemy archetype ('brute', 'archer', 'support')
56
+ * @returns Array of dragon templates with the specified archetype
57
+ *
58
+ * @example
59
+ * ```typescript
60
+ * const dragonBrutes = getDragonTemplatesByArchetype('brute');
61
+ * console.log(dragonBrutes.length); // 3 (Young Red Dragon, Dragon Wyrmling, Drake)
62
+ *
63
+ * const dragonArchers = getDragonTemplatesByArchetype('archer');
64
+ * console.log(dragonArchers.length); // 1 (Young Blue Dragon)
65
+ * ```
66
+ */
67
+ export declare function getDragonTemplatesByArchetype(archetype: string): EnemyTemplate[];
68
+ //# sourceMappingURL=Dragon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dragon.d.ts","sourceRoot":"","sources":["../../../src/constants/EnemyTemplates/Dragon.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE/D;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB,EAAE,aAAa,EA8K3C,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAE3E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,IAAI,aAAa,EAAE,CAEpD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,EAAE,CAEhF"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Elemental Enemy Templates
3
+ *
4
+ * Contains elemental enemy templates with category-specific traits:
5
+ * - Immunity to their own element
6
+ * - Varied resistances based on element type
7
+ *
8
+ * Elementals are living manifestations of natural forces, often found
9
+ * near their native environments. They are immune to their element
10
+ * and typically have abilities that reflect their nature.
11
+ */
12
+ import type { EnemyTemplate } from '../../core/types/Enemy.js';
13
+ /**
14
+ * Elemental enemy templates
15
+ *
16
+ * These 4 templates provide elemental enemies with:
17
+ * - Fire Elemental: Fire immunity, cold vulnerability
18
+ * - Water Elemental: Cold immunity, resistance to fire and necrotic
19
+ * - Air Elemental: Lightning immunity, resistance to thunder
20
+ * - Earth Elemental: Poison immunity, resistance to necrotic
21
+ * - Varied archetypes: Brute (Fire, Earth), Support (Water), Archer (Air)
22
+ */
23
+ export declare const ELEMENTAL_TEMPLATES: EnemyTemplate[];
24
+ /**
25
+ * Helper function to get an elemental template by ID
26
+ *
27
+ * @param id - The template ID (e.g., 'fire-elemental', 'water-elemental', 'air-elemental', 'earth-elemental')
28
+ * @returns The matching template, or undefined if not found
29
+ *
30
+ * @example
31
+ * ```typescript
32
+ * const fireElemental = getElementalTemplateById('fire-elemental');
33
+ * if (fireElemental) {
34
+ * console.log(fireElemental.name); // 'Fire Elemental'
35
+ * }
36
+ * ```
37
+ */
38
+ export declare function getElementalTemplateById(id: string): EnemyTemplate | undefined;
39
+ /**
40
+ * Get all elemental templates
41
+ *
42
+ * @returns Array of all elemental templates
43
+ *
44
+ * @example
45
+ * ```typescript
46
+ * const elementals = getElementalTemplates();
47
+ * console.log(elementals.length); // 4 (Fire Elemental, Water Elemental, Air Elemental, Earth Elemental)
48
+ * ```
49
+ */
50
+ export declare function getElementalTemplates(): EnemyTemplate[];
51
+ /**
52
+ * Get elemental templates by archetype
53
+ *
54
+ * @param archetype - The enemy archetype ('brute', 'archer', 'support')
55
+ * @returns Array of elemental templates with the specified archetype
56
+ *
57
+ * @example
58
+ * ```typescript
59
+ * const elementalBrutes = getElementalTemplatesByArchetype('brute');
60
+ * console.log(elementalBrutes.length); // 2 (Fire Elemental, Earth Elemental)
61
+ * ```
62
+ */
63
+ export declare function getElementalTemplatesByArchetype(archetype: string): EnemyTemplate[];
64
+ //# sourceMappingURL=Elemental.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Elemental.d.ts","sourceRoot":"","sources":["../../../src/constants/EnemyTemplates/Elemental.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE/D;;;;;;;;;GASG;AACH,eAAO,MAAM,mBAAmB,EAAE,aAAa,EAkL9C,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAE9E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,IAAI,aAAa,EAAE,CAEvD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gCAAgC,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,EAAE,CAEnF"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Fiend Enemy Templates
3
+ *
4
+ * Contains fiend enemy templates with category-specific traits:
5
+ * - Fire resistance (half damage from fire attacks)
6
+ * - Cold resistance (half damage from cold attacks)
7
+ *
8
+ * Fiends are malicious creatures from the lower planes, including demons,
9
+ * devils, and other evil outsiders. They are typically resistant to
10
+ * fire and cold, and often have poisonous or corrupting abilities.
11
+ */
12
+ import type { EnemyTemplate } from '../../core/types/Enemy.js';
13
+ /**
14
+ * Fiend enemy templates
15
+ *
16
+ * These 4 templates provide fiend enemies with:
17
+ * - Fire resistance (all rarities)
18
+ * - Cold resistance (all rarities)
19
+ * - Varied archetypes: Archer (Imp), Support (Quasit), Brute (Lemure, Demon)
20
+ */
21
+ export declare const FIEND_TEMPLATES: EnemyTemplate[];
22
+ /**
23
+ * Helper function to get a fiend template by ID
24
+ *
25
+ * @param id - The template ID (e.g., 'imp', 'quasit', 'lemure', 'demon')
26
+ * @returns The matching template, or undefined if not found
27
+ *
28
+ * @example
29
+ * ```typescript
30
+ * const imp = getFiendTemplateById('imp');
31
+ * if (imp) {
32
+ * console.log(imp.name); // 'Imp'
33
+ * }
34
+ * ```
35
+ */
36
+ export declare function getFiendTemplateById(id: string): EnemyTemplate | undefined;
37
+ /**
38
+ * Get all fiend templates
39
+ *
40
+ * @returns Array of all fiend templates
41
+ *
42
+ * @example
43
+ * ```typescript
44
+ * const fiends = getFiendTemplates();
45
+ * console.log(fiends.length); // 4 (Imp, Quasit, Lemure, Demon)
46
+ * ```
47
+ */
48
+ export declare function getFiendTemplates(): EnemyTemplate[];
49
+ /**
50
+ * Get fiend templates by archetype
51
+ *
52
+ * @param archetype - The enemy archetype ('brute', 'archer', 'support')
53
+ * @returns Array of fiend templates with the specified archetype
54
+ *
55
+ * @example
56
+ * ```typescript
57
+ * const fiendBrutes = getFiendTemplatesByArchetype('brute');
58
+ * console.log(fiendBrutes.length); // 2 (Lemure, Demon)
59
+ * ```
60
+ */
61
+ export declare function getFiendTemplatesByArchetype(archetype: string): EnemyTemplate[];
62
+ //# sourceMappingURL=Fiend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Fiend.d.ts","sourceRoot":"","sources":["../../../src/constants/EnemyTemplates/Fiend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE/D;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,EAAE,aAAa,EAkL1C,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAE1E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,IAAI,aAAa,EAAE,CAEnD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,EAAE,CAE/E"}