blacktrigram 0.7.2

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 (1853) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +866 -0
  3. package/SECURITY.md +124 -0
  4. package/lib/App.d.ts +4 -0
  5. package/lib/App.d.ts.map +1 -0
  6. package/lib/App2.js +386 -0
  7. package/lib/App2.js.map +1 -0
  8. package/lib/_virtual/_rolldown/runtime.js +13 -0
  9. package/lib/assets/index.css +1146 -0
  10. package/lib/audio/AudioAssetLoader.d.ts +101 -0
  11. package/lib/audio/AudioAssetLoader.d.ts.map +1 -0
  12. package/lib/audio/AudioAssetLoader.js +245 -0
  13. package/lib/audio/AudioAssetLoader.js.map +1 -0
  14. package/lib/audio/AudioAssetRegistry.d.ts +126 -0
  15. package/lib/audio/AudioAssetRegistry.d.ts.map +1 -0
  16. package/lib/audio/AudioAssetRegistry.js +970 -0
  17. package/lib/audio/AudioAssetRegistry.js.map +1 -0
  18. package/lib/audio/AudioCache.d.ts +135 -0
  19. package/lib/audio/AudioCache.d.ts.map +1 -0
  20. package/lib/audio/AudioCache.js +211 -0
  21. package/lib/audio/AudioCache.js.map +1 -0
  22. package/lib/audio/AudioManager.d.ts +162 -0
  23. package/lib/audio/AudioManager.d.ts.map +1 -0
  24. package/lib/audio/AudioManager.js +508 -0
  25. package/lib/audio/AudioManager.js.map +1 -0
  26. package/lib/audio/AudioMonitor.d.ts +122 -0
  27. package/lib/audio/AudioMonitor.d.ts.map +1 -0
  28. package/lib/audio/AudioMonitor.js +215 -0
  29. package/lib/audio/AudioMonitor.js.map +1 -0
  30. package/lib/audio/AudioPool.d.ts +108 -0
  31. package/lib/audio/AudioPool.d.ts.map +1 -0
  32. package/lib/audio/AudioPool.js +206 -0
  33. package/lib/audio/AudioPool.js.map +1 -0
  34. package/lib/audio/AudioProvider.d.ts +28 -0
  35. package/lib/audio/AudioProvider.d.ts.map +1 -0
  36. package/lib/audio/AudioProvider.js +135 -0
  37. package/lib/audio/AudioProvider.js.map +1 -0
  38. package/lib/audio/AudioUtils.d.ts +77 -0
  39. package/lib/audio/AudioUtils.d.ts.map +1 -0
  40. package/lib/audio/AudioUtils.js +164 -0
  41. package/lib/audio/AudioUtils.js.map +1 -0
  42. package/lib/audio/BoneImpactAudioMap.d.ts +64 -0
  43. package/lib/audio/BoneImpactAudioMap.d.ts.map +1 -0
  44. package/lib/audio/BoneImpactAudioMap.js +133 -0
  45. package/lib/audio/BoneImpactAudioMap.js.map +1 -0
  46. package/lib/audio/VariantSelector.d.ts +69 -0
  47. package/lib/audio/VariantSelector.d.ts.map +1 -0
  48. package/lib/audio/VariantSelector.js +177 -0
  49. package/lib/audio/VariantSelector.js.map +1 -0
  50. package/lib/audio/index.d.ts +13 -0
  51. package/lib/audio/index.d.ts.map +1 -0
  52. package/lib/audio/index.js +41 -0
  53. package/lib/audio/index.js.map +1 -0
  54. package/lib/audio/types.d.ts +220 -0
  55. package/lib/audio/types.d.ts.map +1 -0
  56. package/lib/audio/types.js +12 -0
  57. package/lib/audio/types.js.map +1 -0
  58. package/lib/components/effects/WindParticles3D.d.ts +83 -0
  59. package/lib/components/effects/WindParticles3D.d.ts.map +1 -0
  60. package/lib/components/effects/index.d.ts +6 -0
  61. package/lib/components/effects/index.d.ts.map +1 -0
  62. package/lib/components/index.d.ts +5 -0
  63. package/lib/components/index.d.ts.map +1 -0
  64. package/lib/components/index.js +74 -0
  65. package/lib/components/index.js.map +1 -0
  66. package/lib/components/screens/combat/CombatScreen3D.d.ts +74 -0
  67. package/lib/components/screens/combat/CombatScreen3D.d.ts.map +1 -0
  68. package/lib/components/screens/combat/CombatScreen3D.js +1912 -0
  69. package/lib/components/screens/combat/CombatScreen3D.js.map +1 -0
  70. package/lib/components/screens/combat/components/controls/CombatButtons.d.ts +39 -0
  71. package/lib/components/screens/combat/components/controls/CombatButtons.d.ts.map +1 -0
  72. package/lib/components/screens/combat/components/controls/CombatButtons.js +52 -0
  73. package/lib/components/screens/combat/components/controls/CombatButtons.js.map +1 -0
  74. package/lib/components/screens/combat/components/controls/CombatControlsPanel.d.ts +35 -0
  75. package/lib/components/screens/combat/components/controls/CombatControlsPanel.d.ts.map +1 -0
  76. package/lib/components/screens/combat/components/controls/CombatControlsPanel.js +78 -0
  77. package/lib/components/screens/combat/components/controls/CombatControlsPanel.js.map +1 -0
  78. package/lib/components/screens/combat/components/controls/ControlsGuide.d.ts +23 -0
  79. package/lib/components/screens/combat/components/controls/ControlsGuide.d.ts.map +1 -0
  80. package/lib/components/screens/combat/components/controls/ControlsGuide.js +214 -0
  81. package/lib/components/screens/combat/components/controls/ControlsGuide.js.map +1 -0
  82. package/lib/components/screens/combat/components/controls/KeyboardHints.d.ts +54 -0
  83. package/lib/components/screens/combat/components/controls/KeyboardHints.d.ts.map +1 -0
  84. package/lib/components/screens/combat/components/controls/KeyboardHints.js +357 -0
  85. package/lib/components/screens/combat/components/controls/KeyboardHints.js.map +1 -0
  86. package/lib/components/screens/combat/components/controls/PauseMenu.d.ts +32 -0
  87. package/lib/components/screens/combat/components/controls/PauseMenu.d.ts.map +1 -0
  88. package/lib/components/screens/combat/components/controls/PauseMenu.js +254 -0
  89. package/lib/components/screens/combat/components/controls/PauseMenu.js.map +1 -0
  90. package/lib/components/screens/combat/components/controls/PauseMenuButton.d.ts +63 -0
  91. package/lib/components/screens/combat/components/controls/PauseMenuButton.d.ts.map +1 -0
  92. package/lib/components/screens/combat/components/controls/PauseMenuButton.js +108 -0
  93. package/lib/components/screens/combat/components/controls/PauseMenuButton.js.map +1 -0
  94. package/lib/components/screens/combat/components/controls/QuickSettings.d.ts +42 -0
  95. package/lib/components/screens/combat/components/controls/QuickSettings.d.ts.map +1 -0
  96. package/lib/components/screens/combat/components/controls/QuickSettings.js +259 -0
  97. package/lib/components/screens/combat/components/controls/QuickSettings.js.map +1 -0
  98. package/lib/components/screens/combat/components/effects/ArterialSpray3D.d.ts +73 -0
  99. package/lib/components/screens/combat/components/effects/ArterialSpray3D.d.ts.map +1 -0
  100. package/lib/components/screens/combat/components/effects/BloodDecals3D.d.ts +108 -0
  101. package/lib/components/screens/combat/components/effects/BloodDecals3D.d.ts.map +1 -0
  102. package/lib/components/screens/combat/components/effects/BloodDecals3D.js +232 -0
  103. package/lib/components/screens/combat/components/effects/BloodDecals3D.js.map +1 -0
  104. package/lib/components/screens/combat/components/effects/BloodLossOverlayHtml.d.ts +53 -0
  105. package/lib/components/screens/combat/components/effects/BloodLossOverlayHtml.d.ts.map +1 -0
  106. package/lib/components/screens/combat/components/effects/BloodLossOverlayHtml.js +87 -0
  107. package/lib/components/screens/combat/components/effects/BloodLossOverlayHtml.js.map +1 -0
  108. package/lib/components/screens/combat/components/effects/BloodParticles3D.d.ts +80 -0
  109. package/lib/components/screens/combat/components/effects/BloodParticles3D.d.ts.map +1 -0
  110. package/lib/components/screens/combat/components/effects/BloodParticles3D.js +278 -0
  111. package/lib/components/screens/combat/components/effects/BloodParticles3D.js.map +1 -0
  112. package/lib/components/screens/combat/components/effects/BloodViscosity3D.d.ts +64 -0
  113. package/lib/components/screens/combat/components/effects/BloodViscosity3D.d.ts.map +1 -0
  114. package/lib/components/screens/combat/components/effects/BloodViscosity3D.js +248 -0
  115. package/lib/components/screens/combat/components/effects/BloodViscosity3D.js.map +1 -0
  116. package/lib/components/screens/combat/components/effects/BoneCrackParticles3D.d.ts +60 -0
  117. package/lib/components/screens/combat/components/effects/BoneCrackParticles3D.d.ts.map +1 -0
  118. package/lib/components/screens/combat/components/effects/CombatParticleEffects3D.d.ts +37 -0
  119. package/lib/components/screens/combat/components/effects/CombatParticleEffects3D.d.ts.map +1 -0
  120. package/lib/components/screens/combat/components/effects/CombatParticleEffects3D.js +184 -0
  121. package/lib/components/screens/combat/components/effects/CombatParticleEffects3D.js.map +1 -0
  122. package/lib/components/screens/combat/components/effects/ConsciousnessBlur.d.ts +49 -0
  123. package/lib/components/screens/combat/components/effects/ConsciousnessBlur.d.ts.map +1 -0
  124. package/lib/components/screens/combat/components/effects/ConsciousnessBlur.js +66 -0
  125. package/lib/components/screens/combat/components/effects/ConsciousnessBlur.js.map +1 -0
  126. package/lib/components/screens/combat/components/effects/DustClouds3D.d.ts +93 -0
  127. package/lib/components/screens/combat/components/effects/DustClouds3D.d.ts.map +1 -0
  128. package/lib/components/screens/combat/components/effects/EarthCrackEffect3D.d.ts +57 -0
  129. package/lib/components/screens/combat/components/effects/EarthCrackEffect3D.d.ts.map +1 -0
  130. package/lib/components/screens/combat/components/effects/EarthHealingEffect3D.d.ts +88 -0
  131. package/lib/components/screens/combat/components/effects/EarthHealingEffect3D.d.ts.map +1 -0
  132. package/lib/components/screens/combat/components/effects/ImpactSparks3D.d.ts +91 -0
  133. package/lib/components/screens/combat/components/effects/ImpactSparks3D.d.ts.map +1 -0
  134. package/lib/components/screens/combat/components/effects/InternalDamage3D.d.ts +67 -0
  135. package/lib/components/screens/combat/components/effects/InternalDamage3D.d.ts.map +1 -0
  136. package/lib/components/screens/combat/components/effects/InternalDamage3D.js +261 -0
  137. package/lib/components/screens/combat/components/effects/InternalDamage3D.js.map +1 -0
  138. package/lib/components/screens/combat/components/effects/LiPrecisionTargetingOverlay.d.ts +45 -0
  139. package/lib/components/screens/combat/components/effects/LiPrecisionTargetingOverlay.d.ts.map +1 -0
  140. package/lib/components/screens/combat/components/effects/NerveStrikeParticles3D.d.ts +61 -0
  141. package/lib/components/screens/combat/components/effects/NerveStrikeParticles3D.d.ts.map +1 -0
  142. package/lib/components/screens/combat/components/effects/PainVignette.d.ts +47 -0
  143. package/lib/components/screens/combat/components/effects/PainVignette.d.ts.map +1 -0
  144. package/lib/components/screens/combat/components/effects/PainVignette.js +65 -0
  145. package/lib/components/screens/combat/components/effects/PainVignette.js.map +1 -0
  146. package/lib/components/screens/combat/components/effects/ParticleAudio3D.d.ts +52 -0
  147. package/lib/components/screens/combat/components/effects/ParticleAudio3D.d.ts.map +1 -0
  148. package/lib/components/screens/combat/components/effects/ParticleAudio3D.js +103 -0
  149. package/lib/components/screens/combat/components/effects/ParticleAudio3D.js.map +1 -0
  150. package/lib/components/screens/combat/components/effects/TraumaOverlay3D.d.ts +91 -0
  151. package/lib/components/screens/combat/components/effects/TraumaOverlay3D.d.ts.map +1 -0
  152. package/lib/components/screens/combat/components/effects/TraumaOverlay3D.js +296 -0
  153. package/lib/components/screens/combat/components/effects/TraumaOverlay3D.js.map +1 -0
  154. package/lib/components/screens/combat/components/effects/WaterRipple3D.d.ts +64 -0
  155. package/lib/components/screens/combat/components/effects/WaterRipple3D.d.ts.map +1 -0
  156. package/lib/components/screens/combat/components/effects/WaterWave3D.d.ts +72 -0
  157. package/lib/components/screens/combat/components/effects/WaterWave3D.d.ts.map +1 -0
  158. package/lib/components/screens/combat/components/effects/index.d.ts +121 -0
  159. package/lib/components/screens/combat/components/effects/index.d.ts.map +1 -0
  160. package/lib/components/screens/combat/components/feedback/MatchCountdown.d.ts +31 -0
  161. package/lib/components/screens/combat/components/feedback/MatchCountdown.d.ts.map +1 -0
  162. package/lib/components/screens/combat/components/feedback/MatchCountdown.js +242 -0
  163. package/lib/components/screens/combat/components/feedback/MatchCountdown.js.map +1 -0
  164. package/lib/components/screens/combat/components/feedback/RoundAnnouncementOverlayHtml.d.ts +74 -0
  165. package/lib/components/screens/combat/components/feedback/RoundAnnouncementOverlayHtml.d.ts.map +1 -0
  166. package/lib/components/screens/combat/components/feedback/RoundAnnouncementOverlayHtml.js +275 -0
  167. package/lib/components/screens/combat/components/feedback/RoundAnnouncementOverlayHtml.js.map +1 -0
  168. package/lib/components/screens/combat/components/feedback/RoundDisplayStatus.d.ts +25 -0
  169. package/lib/components/screens/combat/components/feedback/RoundDisplayStatus.d.ts.map +1 -0
  170. package/lib/components/screens/combat/components/feedback/RoundDisplayStatus.js +61 -0
  171. package/lib/components/screens/combat/components/feedback/RoundDisplayStatus.js.map +1 -0
  172. package/lib/components/screens/combat/components/feedback/RoundStartAnnouncementOverlayHtml.d.ts +43 -0
  173. package/lib/components/screens/combat/components/feedback/RoundStartAnnouncementOverlayHtml.d.ts.map +1 -0
  174. package/lib/components/screens/combat/components/feedback/RoundStartAnnouncementOverlayHtml.js +139 -0
  175. package/lib/components/screens/combat/components/feedback/RoundStartAnnouncementOverlayHtml.js.map +1 -0
  176. package/lib/components/screens/combat/components/hud/CombatBottomHUD.d.ts +50 -0
  177. package/lib/components/screens/combat/components/hud/CombatBottomHUD.d.ts.map +1 -0
  178. package/lib/components/screens/combat/components/hud/CombatBottomHUD.js +155 -0
  179. package/lib/components/screens/combat/components/hud/CombatBottomHUD.js.map +1 -0
  180. package/lib/components/screens/combat/components/hud/CombatLeftHUD.d.ts +54 -0
  181. package/lib/components/screens/combat/components/hud/CombatLeftHUD.d.ts.map +1 -0
  182. package/lib/components/screens/combat/components/hud/CombatLeftHUD.js +103 -0
  183. package/lib/components/screens/combat/components/hud/CombatLeftHUD.js.map +1 -0
  184. package/lib/components/screens/combat/components/hud/CombatRightHUD.d.ts +54 -0
  185. package/lib/components/screens/combat/components/hud/CombatRightHUD.d.ts.map +1 -0
  186. package/lib/components/screens/combat/components/hud/CombatRightHUD.js +101 -0
  187. package/lib/components/screens/combat/components/hud/CombatRightHUD.js.map +1 -0
  188. package/lib/components/screens/combat/components/hud/CombatTopHUD.d.ts +47 -0
  189. package/lib/components/screens/combat/components/hud/CombatTopHUD.d.ts.map +1 -0
  190. package/lib/components/screens/combat/components/hud/CombatTopHUD.js +141 -0
  191. package/lib/components/screens/combat/components/hud/CombatTopHUD.js.map +1 -0
  192. package/lib/components/screens/combat/components/hud/DifficultyIndicator.d.ts +25 -0
  193. package/lib/components/screens/combat/components/hud/DifficultyIndicator.d.ts.map +1 -0
  194. package/lib/components/screens/combat/components/hud/DifficultyIndicator.js +129 -0
  195. package/lib/components/screens/combat/components/hud/DifficultyIndicator.js.map +1 -0
  196. package/lib/components/screens/combat/components/hud/FPSMonitor.d.ts +48 -0
  197. package/lib/components/screens/combat/components/hud/FPSMonitor.d.ts.map +1 -0
  198. package/lib/components/screens/combat/components/hud/FPSMonitor.js +131 -0
  199. package/lib/components/screens/combat/components/hud/FPSMonitor.js.map +1 -0
  200. package/lib/components/screens/combat/components/hud/MobileControlsWrapper.d.ts +82 -0
  201. package/lib/components/screens/combat/components/hud/MobileControlsWrapper.d.ts.map +1 -0
  202. package/lib/components/screens/combat/components/hud/MobileControlsWrapper.js +73 -0
  203. package/lib/components/screens/combat/components/hud/MobileControlsWrapper.js.map +1 -0
  204. package/lib/components/screens/combat/components/hud/PlayerStateOverlayHtml.d.ts +80 -0
  205. package/lib/components/screens/combat/components/hud/PlayerStateOverlayHtml.d.ts.map +1 -0
  206. package/lib/components/screens/combat/components/hud/PlayerStateOverlayHtml.js +79 -0
  207. package/lib/components/screens/combat/components/hud/PlayerStateOverlayHtml.js.map +1 -0
  208. package/lib/components/screens/combat/components/hud/index.d.ts +22 -0
  209. package/lib/components/screens/combat/components/hud/index.d.ts.map +1 -0
  210. package/lib/components/screens/combat/components/hud/index.js +4 -0
  211. package/lib/components/screens/combat/components/index.d.ts +47 -0
  212. package/lib/components/screens/combat/components/index.d.ts.map +1 -0
  213. package/lib/components/screens/combat/components/index.js +23 -0
  214. package/lib/components/screens/combat/components/indicators/BalanceIndicator.d.ts +52 -0
  215. package/lib/components/screens/combat/components/indicators/BalanceIndicator.d.ts.map +1 -0
  216. package/lib/components/screens/combat/components/indicators/BalanceIndicator.js +113 -0
  217. package/lib/components/screens/combat/components/indicators/BalanceIndicator.js.map +1 -0
  218. package/lib/components/screens/combat/components/indicators/InputBufferDisplay.d.ts +49 -0
  219. package/lib/components/screens/combat/components/indicators/InputBufferDisplay.d.ts.map +1 -0
  220. package/lib/components/screens/combat/components/indicators/InputBufferDisplay.js +150 -0
  221. package/lib/components/screens/combat/components/indicators/InputBufferDisplay.js.map +1 -0
  222. package/lib/components/screens/combat/components/indicators/StaminaWarning.d.ts +44 -0
  223. package/lib/components/screens/combat/components/indicators/StaminaWarning.d.ts.map +1 -0
  224. package/lib/components/screens/combat/components/indicators/StaminaWarning.js +83 -0
  225. package/lib/components/screens/combat/components/indicators/StaminaWarning.js.map +1 -0
  226. package/lib/components/screens/combat/components/indicators/TechniqueNameDisplay.d.ts +83 -0
  227. package/lib/components/screens/combat/components/indicators/TechniqueNameDisplay.d.ts.map +1 -0
  228. package/lib/components/screens/combat/components/indicators/TechniqueNameDisplay.js +161 -0
  229. package/lib/components/screens/combat/components/indicators/TechniqueNameDisplay.js.map +1 -0
  230. package/lib/components/screens/combat/helpers/AnimationUpdater.d.ts +38 -0
  231. package/lib/components/screens/combat/helpers/AnimationUpdater.d.ts.map +1 -0
  232. package/lib/components/screens/combat/helpers/AnimationUpdater.js +37 -0
  233. package/lib/components/screens/combat/helpers/AnimationUpdater.js.map +1 -0
  234. package/lib/components/screens/combat/helpers/combatHelpers.d.ts +37 -0
  235. package/lib/components/screens/combat/helpers/combatHelpers.d.ts.map +1 -0
  236. package/lib/components/screens/combat/helpers/combatHelpers.js +33 -0
  237. package/lib/components/screens/combat/helpers/combatHelpers.js.map +1 -0
  238. package/lib/components/screens/combat/helpers/index.d.ts +8 -0
  239. package/lib/components/screens/combat/helpers/index.d.ts.map +1 -0
  240. package/lib/components/screens/combat/helpers/index.js +2 -0
  241. package/lib/components/screens/combat/hooks/useAICombat.d.ts +108 -0
  242. package/lib/components/screens/combat/hooks/useAICombat.d.ts.map +1 -0
  243. package/lib/components/screens/combat/hooks/useAICombat.js +806 -0
  244. package/lib/components/screens/combat/hooks/useAICombat.js.map +1 -0
  245. package/lib/components/screens/combat/hooks/useCombatActions.d.ts +106 -0
  246. package/lib/components/screens/combat/hooks/useCombatActions.d.ts.map +1 -0
  247. package/lib/components/screens/combat/hooks/useCombatActions.js +766 -0
  248. package/lib/components/screens/combat/hooks/useCombatActions.js.map +1 -0
  249. package/lib/components/screens/combat/hooks/useCombatAttackMovement.d.ts +85 -0
  250. package/lib/components/screens/combat/hooks/useCombatAttackMovement.d.ts.map +1 -0
  251. package/lib/components/screens/combat/hooks/useCombatAttackMovement.js +202 -0
  252. package/lib/components/screens/combat/hooks/useCombatAttackMovement.js.map +1 -0
  253. package/lib/components/screens/combat/hooks/useCombatAudio.d.ts +40 -0
  254. package/lib/components/screens/combat/hooks/useCombatAudio.d.ts.map +1 -0
  255. package/lib/components/screens/combat/hooks/useCombatAudio.js +287 -0
  256. package/lib/components/screens/combat/hooks/useCombatAudio.js.map +1 -0
  257. package/lib/components/screens/combat/hooks/useCombatLayout.d.ts +61 -0
  258. package/lib/components/screens/combat/hooks/useCombatLayout.d.ts.map +1 -0
  259. package/lib/components/screens/combat/hooks/useCombatLayout.js +89 -0
  260. package/lib/components/screens/combat/hooks/useCombatLayout.js.map +1 -0
  261. package/lib/components/screens/combat/hooks/useCombatState.d.ts +75 -0
  262. package/lib/components/screens/combat/hooks/useCombatState.d.ts.map +1 -0
  263. package/lib/components/screens/combat/hooks/useCombatState.js +182 -0
  264. package/lib/components/screens/combat/hooks/useCombatState.js.map +1 -0
  265. package/lib/components/screens/combat/hooks/useGrapplingAudio.d.ts +36 -0
  266. package/lib/components/screens/combat/hooks/useGrapplingAudio.d.ts.map +1 -0
  267. package/lib/components/screens/combat/hooks/usePreloadCombatAudio.d.ts +63 -0
  268. package/lib/components/screens/combat/hooks/usePreloadCombatAudio.d.ts.map +1 -0
  269. package/lib/components/screens/combat/index.d.ts +4 -0
  270. package/lib/components/screens/combat/index.d.ts.map +1 -0
  271. package/lib/components/screens/combat/index.js +25 -0
  272. package/lib/components/screens/controls/ControlsScreen3D.d.ts +12 -0
  273. package/lib/components/screens/controls/ControlsScreen3D.d.ts.map +1 -0
  274. package/lib/components/screens/controls/ControlsScreen3D.js +1248 -0
  275. package/lib/components/screens/controls/ControlsScreen3D.js.map +1 -0
  276. package/lib/components/screens/controls/components/ControlBindingsOverlayHtml.d.ts +35 -0
  277. package/lib/components/screens/controls/components/ControlBindingsOverlayHtml.d.ts.map +1 -0
  278. package/lib/components/screens/controls/components/ControlBindingsOverlayHtml.js +155 -0
  279. package/lib/components/screens/controls/components/ControlBindingsOverlayHtml.js.map +1 -0
  280. package/lib/components/screens/controls/components/ControlCategoryTabsOverlayHtml.d.ts +31 -0
  281. package/lib/components/screens/controls/components/ControlCategoryTabsOverlayHtml.d.ts.map +1 -0
  282. package/lib/components/screens/controls/components/ControlCategoryTabsOverlayHtml.js +100 -0
  283. package/lib/components/screens/controls/components/ControlCategoryTabsOverlayHtml.js.map +1 -0
  284. package/lib/components/screens/controls/components/GamepadVisualization3D.d.ts +32 -0
  285. package/lib/components/screens/controls/components/GamepadVisualization3D.d.ts.map +1 -0
  286. package/lib/components/screens/controls/components/GamepadVisualization3D.js +250 -0
  287. package/lib/components/screens/controls/components/GamepadVisualization3D.js.map +1 -0
  288. package/lib/components/screens/controls/components/InteractiveControlDemoOverlayHtml.d.ts +35 -0
  289. package/lib/components/screens/controls/components/InteractiveControlDemoOverlayHtml.d.ts.map +1 -0
  290. package/lib/components/screens/controls/components/InteractiveControlDemoOverlayHtml.js +222 -0
  291. package/lib/components/screens/controls/components/InteractiveControlDemoOverlayHtml.js.map +1 -0
  292. package/lib/components/screens/controls/components/Key3D.d.ts +36 -0
  293. package/lib/components/screens/controls/components/Key3D.d.ts.map +1 -0
  294. package/lib/components/screens/controls/components/Key3D.js +169 -0
  295. package/lib/components/screens/controls/components/Key3D.js.map +1 -0
  296. package/lib/components/screens/controls/components/VisualKeyboard3D.d.ts +37 -0
  297. package/lib/components/screens/controls/components/VisualKeyboard3D.d.ts.map +1 -0
  298. package/lib/components/screens/controls/components/VisualKeyboard3D.js +120 -0
  299. package/lib/components/screens/controls/components/VisualKeyboard3D.js.map +1 -0
  300. package/lib/components/screens/controls/components/index.d.ts +20 -0
  301. package/lib/components/screens/controls/components/index.d.ts.map +1 -0
  302. package/lib/components/screens/controls/constants/ControlsConstants.d.ts +67 -0
  303. package/lib/components/screens/controls/constants/ControlsConstants.d.ts.map +1 -0
  304. package/lib/components/screens/controls/constants/ControlsConstants.js +504 -0
  305. package/lib/components/screens/controls/constants/ControlsConstants.js.map +1 -0
  306. package/lib/components/screens/controls/hooks/useControlsState.d.ts +46 -0
  307. package/lib/components/screens/controls/hooks/useControlsState.d.ts.map +1 -0
  308. package/lib/components/screens/controls/hooks/useControlsState.js +71 -0
  309. package/lib/components/screens/controls/hooks/useControlsState.js.map +1 -0
  310. package/lib/components/screens/endscreen/EndScreen3D.d.ts +18 -0
  311. package/lib/components/screens/endscreen/EndScreen3D.d.ts.map +1 -0
  312. package/lib/components/screens/endscreen/EndScreen3D.js +367 -0
  313. package/lib/components/screens/endscreen/EndScreen3D.js.map +1 -0
  314. package/lib/components/screens/endscreen/components/DefeatAnimation3D.d.ts +9 -0
  315. package/lib/components/screens/endscreen/components/DefeatAnimation3D.d.ts.map +1 -0
  316. package/lib/components/screens/endscreen/components/DefeatAnimation3D.js +205 -0
  317. package/lib/components/screens/endscreen/components/DefeatAnimation3D.js.map +1 -0
  318. package/lib/components/screens/endscreen/components/MatchStatisticsDisplayOverlayHtml.d.ts +13 -0
  319. package/lib/components/screens/endscreen/components/MatchStatisticsDisplayOverlayHtml.d.ts.map +1 -0
  320. package/lib/components/screens/endscreen/components/MatchStatisticsDisplayOverlayHtml.js +321 -0
  321. package/lib/components/screens/endscreen/components/MatchStatisticsDisplayOverlayHtml.js.map +1 -0
  322. package/lib/components/screens/endscreen/components/NavigationButtonsOverlayHtml.d.ts +28 -0
  323. package/lib/components/screens/endscreen/components/NavigationButtonsOverlayHtml.d.ts.map +1 -0
  324. package/lib/components/screens/endscreen/components/NavigationButtonsOverlayHtml.js +93 -0
  325. package/lib/components/screens/endscreen/components/NavigationButtonsOverlayHtml.js.map +1 -0
  326. package/lib/components/screens/endscreen/components/PerformanceBreakdownOverlayHtml.d.ts +13 -0
  327. package/lib/components/screens/endscreen/components/PerformanceBreakdownOverlayHtml.d.ts.map +1 -0
  328. package/lib/components/screens/endscreen/components/PerformanceBreakdownOverlayHtml.js +294 -0
  329. package/lib/components/screens/endscreen/components/PerformanceBreakdownOverlayHtml.js.map +1 -0
  330. package/lib/components/screens/endscreen/components/PerformanceRatingOverlayHtml.d.ts +13 -0
  331. package/lib/components/screens/endscreen/components/PerformanceRatingOverlayHtml.d.ts.map +1 -0
  332. package/lib/components/screens/endscreen/components/PerformanceRatingOverlayHtml.js +210 -0
  333. package/lib/components/screens/endscreen/components/PerformanceRatingOverlayHtml.js.map +1 -0
  334. package/lib/components/screens/endscreen/components/VictoryAnimation3D.d.ts +9 -0
  335. package/lib/components/screens/endscreen/components/VictoryAnimation3D.d.ts.map +1 -0
  336. package/lib/components/screens/endscreen/components/VictoryAnimation3D.js +299 -0
  337. package/lib/components/screens/endscreen/components/VictoryAnimation3D.js.map +1 -0
  338. package/lib/components/screens/endscreen/components/WinnerDisplayOverlayHtml.d.ts +14 -0
  339. package/lib/components/screens/endscreen/components/WinnerDisplayOverlayHtml.d.ts.map +1 -0
  340. package/lib/components/screens/endscreen/components/WinnerDisplayOverlayHtml.js +170 -0
  341. package/lib/components/screens/endscreen/components/WinnerDisplayOverlayHtml.js.map +1 -0
  342. package/lib/components/screens/endscreen/components/animations.d.ts +25 -0
  343. package/lib/components/screens/endscreen/components/animations.d.ts.map +1 -0
  344. package/lib/components/screens/endscreen/components/animations.js +71 -0
  345. package/lib/components/screens/endscreen/components/animations.js.map +1 -0
  346. package/lib/components/screens/endscreen/components/index.d.ts +19 -0
  347. package/lib/components/screens/endscreen/components/index.d.ts.map +1 -0
  348. package/lib/components/screens/endscreen/components/index.js +8 -0
  349. package/lib/components/screens/endscreen/index.d.ts +9 -0
  350. package/lib/components/screens/endscreen/index.d.ts.map +1 -0
  351. package/lib/components/screens/endscreen/index.js +10 -0
  352. package/lib/components/screens/intro/IntroScreen3D.d.ts +16 -0
  353. package/lib/components/screens/intro/IntroScreen3D.d.ts.map +1 -0
  354. package/lib/components/screens/intro/IntroScreen3D.js +488 -0
  355. package/lib/components/screens/intro/IntroScreen3D.js.map +1 -0
  356. package/lib/components/screens/intro/components/AbilityListOverlayHtml.d.ts +53 -0
  357. package/lib/components/screens/intro/components/AbilityListOverlayHtml.d.ts.map +1 -0
  358. package/lib/components/screens/intro/components/AbilityListOverlayHtml.js +146 -0
  359. package/lib/components/screens/intro/components/AbilityListOverlayHtml.js.map +1 -0
  360. package/lib/components/screens/intro/components/ArchetypeCardGridOverlayHtml.d.ts +20 -0
  361. package/lib/components/screens/intro/components/ArchetypeCardGridOverlayHtml.d.ts.map +1 -0
  362. package/lib/components/screens/intro/components/ArchetypeCardGridOverlayHtml.js +154 -0
  363. package/lib/components/screens/intro/components/ArchetypeCardGridOverlayHtml.js.map +1 -0
  364. package/lib/components/screens/intro/components/ArchetypeCardOverlayHtml.d.ts +38 -0
  365. package/lib/components/screens/intro/components/ArchetypeCardOverlayHtml.d.ts.map +1 -0
  366. package/lib/components/screens/intro/components/ArchetypeCardOverlayHtml.js +235 -0
  367. package/lib/components/screens/intro/components/ArchetypeCardOverlayHtml.js.map +1 -0
  368. package/lib/components/screens/intro/components/ArchetypeDisplayOverlayHtml.d.ts +35 -0
  369. package/lib/components/screens/intro/components/ArchetypeDisplayOverlayHtml.d.ts.map +1 -0
  370. package/lib/components/screens/intro/components/ArchetypeDisplayOverlayHtml.js +325 -0
  371. package/lib/components/screens/intro/components/ArchetypeDisplayOverlayHtml.js.map +1 -0
  372. package/lib/components/screens/intro/components/EnhancedArchetypeDisplayOverlayHtml.d.ts +19 -0
  373. package/lib/components/screens/intro/components/EnhancedArchetypeDisplayOverlayHtml.d.ts.map +1 -0
  374. package/lib/components/screens/intro/components/EnhancedArchetypeDisplayOverlayHtml.js +88 -0
  375. package/lib/components/screens/intro/components/EnhancedArchetypeDisplayOverlayHtml.js.map +1 -0
  376. package/lib/components/screens/intro/components/MenuButtonsOverlayHtml.d.ts +65 -0
  377. package/lib/components/screens/intro/components/MenuButtonsOverlayHtml.d.ts.map +1 -0
  378. package/lib/components/screens/intro/components/MenuButtonsOverlayHtml.js +143 -0
  379. package/lib/components/screens/intro/components/MenuButtonsOverlayHtml.js.map +1 -0
  380. package/lib/components/screens/intro/components/MenuSectionOverlayHtml.d.ts +27 -0
  381. package/lib/components/screens/intro/components/MenuSectionOverlayHtml.d.ts.map +1 -0
  382. package/lib/components/screens/intro/components/MenuSectionOverlayHtml.js +153 -0
  383. package/lib/components/screens/intro/components/MenuSectionOverlayHtml.js.map +1 -0
  384. package/lib/components/screens/intro/components/StatBarOverlayHtml.d.ts +47 -0
  385. package/lib/components/screens/intro/components/StatBarOverlayHtml.d.ts.map +1 -0
  386. package/lib/components/screens/intro/components/StatBarOverlayHtml.js +128 -0
  387. package/lib/components/screens/intro/components/StatBarOverlayHtml.js.map +1 -0
  388. package/lib/components/screens/philosophy/PhilosophyScreen3D.d.ts +12 -0
  389. package/lib/components/screens/philosophy/PhilosophyScreen3D.d.ts.map +1 -0
  390. package/lib/components/screens/philosophy/PhilosophyScreen3D.js +561 -0
  391. package/lib/components/screens/philosophy/PhilosophyScreen3D.js.map +1 -0
  392. package/lib/components/screens/philosophy/components/InteractiveTrigramGridOverlayHtml.d.ts +40 -0
  393. package/lib/components/screens/philosophy/components/InteractiveTrigramGridOverlayHtml.d.ts.map +1 -0
  394. package/lib/components/screens/philosophy/components/PhilosophyNavigationOverlayHtml.d.ts +40 -0
  395. package/lib/components/screens/philosophy/components/PhilosophyNavigationOverlayHtml.d.ts.map +1 -0
  396. package/lib/components/screens/philosophy/components/PhilosophySectionOverlayHtml.d.ts +46 -0
  397. package/lib/components/screens/philosophy/components/PhilosophySectionOverlayHtml.d.ts.map +1 -0
  398. package/lib/components/screens/philosophy/components/PhilosophyTextOverlayHtml.d.ts +42 -0
  399. package/lib/components/screens/philosophy/components/PhilosophyTextOverlayHtml.d.ts.map +1 -0
  400. package/lib/components/screens/philosophy/components/TrigramSymbol3D.d.ts +49 -0
  401. package/lib/components/screens/philosophy/components/TrigramSymbol3D.d.ts.map +1 -0
  402. package/lib/components/screens/philosophy/components/TrigramVisualization3D.d.ts +43 -0
  403. package/lib/components/screens/philosophy/components/TrigramVisualization3D.d.ts.map +1 -0
  404. package/lib/components/screens/philosophy/components/index.d.ts +23 -0
  405. package/lib/components/screens/philosophy/components/index.d.ts.map +1 -0
  406. package/lib/components/screens/philosophy/hooks/index.d.ts +10 -0
  407. package/lib/components/screens/philosophy/hooks/index.d.ts.map +1 -0
  408. package/lib/components/screens/philosophy/hooks/usePhilosophyState.d.ts +50 -0
  409. package/lib/components/screens/philosophy/hooks/usePhilosophyState.d.ts.map +1 -0
  410. package/lib/components/screens/training/TrainingScreen3D.d.ts +51 -0
  411. package/lib/components/screens/training/TrainingScreen3D.d.ts.map +1 -0
  412. package/lib/components/screens/training/TrainingScreen3D.js +947 -0
  413. package/lib/components/screens/training/TrainingScreen3D.js.map +1 -0
  414. package/lib/components/screens/training/components/AnatomyControlsOverlayHtml.d.ts +31 -0
  415. package/lib/components/screens/training/components/AnatomyControlsOverlayHtml.d.ts.map +1 -0
  416. package/lib/components/screens/training/components/AnatomyControlsOverlayHtml.js +189 -0
  417. package/lib/components/screens/training/components/AnatomyControlsOverlayHtml.js.map +1 -0
  418. package/lib/components/screens/training/components/AnatomyOverlay3D.d.ts +31 -0
  419. package/lib/components/screens/training/components/AnatomyOverlay3D.d.ts.map +1 -0
  420. package/lib/components/screens/training/components/AnatomyOverlay3D.js +679 -0
  421. package/lib/components/screens/training/components/AnatomyOverlay3D.js.map +1 -0
  422. package/lib/components/screens/training/components/DamageNumber3D.d.ts +28 -0
  423. package/lib/components/screens/training/components/DamageNumber3D.d.ts.map +1 -0
  424. package/lib/components/screens/training/components/DamageNumber3D.js +6 -0
  425. package/lib/components/screens/training/components/FootPlacementMarkers3D.d.ts +47 -0
  426. package/lib/components/screens/training/components/FootPlacementMarkers3D.d.ts.map +1 -0
  427. package/lib/components/screens/training/components/FootPlacementMarkers3D.js +380 -0
  428. package/lib/components/screens/training/components/FootPlacementMarkers3D.js.map +1 -0
  429. package/lib/components/screens/training/components/FootworkDrillsOverlayHtml.d.ts +47 -0
  430. package/lib/components/screens/training/components/FootworkDrillsOverlayHtml.d.ts.map +1 -0
  431. package/lib/components/screens/training/components/FootworkDrillsOverlayHtml.js +292 -0
  432. package/lib/components/screens/training/components/FootworkDrillsOverlayHtml.js.map +1 -0
  433. package/lib/components/screens/training/components/HitFeedbackEffect3D.d.ts +32 -0
  434. package/lib/components/screens/training/components/HitFeedbackEffect3D.d.ts.map +1 -0
  435. package/lib/components/screens/training/components/HitFeedbackEffect3D.js +258 -0
  436. package/lib/components/screens/training/components/HitFeedbackEffect3D.js.map +1 -0
  437. package/lib/components/screens/training/components/TrainingAICharacter3D.d.ts +36 -0
  438. package/lib/components/screens/training/components/TrainingAICharacter3D.d.ts.map +1 -0
  439. package/lib/components/screens/training/components/TrainingAICharacter3D.js +6 -0
  440. package/lib/components/screens/training/components/TrainingArena3D.d.ts +22 -0
  441. package/lib/components/screens/training/components/TrainingArena3D.d.ts.map +1 -0
  442. package/lib/components/screens/training/components/TrainingArena3D.js +5 -0
  443. package/lib/components/screens/training/components/TrainingButtonsOverlayHtml.d.ts +73 -0
  444. package/lib/components/screens/training/components/TrainingButtonsOverlayHtml.d.ts.map +1 -0
  445. package/lib/components/screens/training/components/TrainingButtonsOverlayHtml.js +107 -0
  446. package/lib/components/screens/training/components/TrainingButtonsOverlayHtml.js.map +1 -0
  447. package/lib/components/screens/training/components/TrainingControlsOverlayHtml.d.ts +50 -0
  448. package/lib/components/screens/training/components/TrainingControlsOverlayHtml.d.ts.map +1 -0
  449. package/lib/components/screens/training/components/TrainingControlsOverlayHtml.js +129 -0
  450. package/lib/components/screens/training/components/TrainingControlsOverlayHtml.js.map +1 -0
  451. package/lib/components/screens/training/components/TrainingDummy3D.d.ts +72 -0
  452. package/lib/components/screens/training/components/TrainingDummy3D.d.ts.map +1 -0
  453. package/lib/components/screens/training/components/TrainingDummy3D.js +298 -0
  454. package/lib/components/screens/training/components/TrainingDummy3D.js.map +1 -0
  455. package/lib/components/screens/training/components/TrainingFeedbackOverlayHtml.d.ts +30 -0
  456. package/lib/components/screens/training/components/TrainingFeedbackOverlayHtml.d.ts.map +1 -0
  457. package/lib/components/screens/training/components/TrainingFeedbackOverlayHtml.js +44 -0
  458. package/lib/components/screens/training/components/TrainingFeedbackOverlayHtml.js.map +1 -0
  459. package/lib/components/screens/training/components/TrainingHitEffects3D.d.ts +27 -0
  460. package/lib/components/screens/training/components/TrainingHitEffects3D.d.ts.map +1 -0
  461. package/lib/components/screens/training/components/TrainingHitEffects3D.js +6 -0
  462. package/lib/components/screens/training/components/TrainingModeSelectorOverlayHtml.d.ts +51 -0
  463. package/lib/components/screens/training/components/TrainingModeSelectorOverlayHtml.d.ts.map +1 -0
  464. package/lib/components/screens/training/components/TrainingModeSelectorOverlayHtml.js +188 -0
  465. package/lib/components/screens/training/components/TrainingModeSelectorOverlayHtml.js.map +1 -0
  466. package/lib/components/screens/training/components/TrainingStatsOverlayHtml.d.ts +63 -0
  467. package/lib/components/screens/training/components/TrainingStatsOverlayHtml.d.ts.map +1 -0
  468. package/lib/components/screens/training/components/TrainingStatsOverlayHtml.js +253 -0
  469. package/lib/components/screens/training/components/TrainingStatsOverlayHtml.js.map +1 -0
  470. package/lib/components/screens/training/components/VitalPointMarker3D.d.ts +37 -0
  471. package/lib/components/screens/training/components/VitalPointMarker3D.d.ts.map +1 -0
  472. package/lib/components/screens/training/components/VitalPointMarker3D.js +210 -0
  473. package/lib/components/screens/training/components/VitalPointMarker3D.js.map +1 -0
  474. package/lib/components/screens/training/components/VitalPointTrainingOverlayHtml.d.ts +29 -0
  475. package/lib/components/screens/training/components/VitalPointTrainingOverlayHtml.d.ts.map +1 -0
  476. package/lib/components/screens/training/components/VitalPointTrainingOverlayHtml.js +195 -0
  477. package/lib/components/screens/training/components/VitalPointTrainingOverlayHtml.js.map +1 -0
  478. package/lib/components/screens/training/components/hud/TrainingBottomHUD.d.ts +59 -0
  479. package/lib/components/screens/training/components/hud/TrainingBottomHUD.d.ts.map +1 -0
  480. package/lib/components/screens/training/components/hud/TrainingBottomHUD.js +145 -0
  481. package/lib/components/screens/training/components/hud/TrainingBottomHUD.js.map +1 -0
  482. package/lib/components/screens/training/components/hud/TrainingLeftHUD.d.ts +47 -0
  483. package/lib/components/screens/training/components/hud/TrainingLeftHUD.d.ts.map +1 -0
  484. package/lib/components/screens/training/components/hud/TrainingLeftHUD.js +59 -0
  485. package/lib/components/screens/training/components/hud/TrainingLeftHUD.js.map +1 -0
  486. package/lib/components/screens/training/components/hud/TrainingRightHUD.d.ts +68 -0
  487. package/lib/components/screens/training/components/hud/TrainingRightHUD.d.ts.map +1 -0
  488. package/lib/components/screens/training/components/hud/TrainingRightHUD.js +93 -0
  489. package/lib/components/screens/training/components/hud/TrainingRightHUD.js.map +1 -0
  490. package/lib/components/screens/training/components/hud/TrainingTopHUD.d.ts +55 -0
  491. package/lib/components/screens/training/components/hud/TrainingTopHUD.d.ts.map +1 -0
  492. package/lib/components/screens/training/components/hud/TrainingTopHUD.js +184 -0
  493. package/lib/components/screens/training/components/hud/TrainingTopHUD.js.map +1 -0
  494. package/lib/components/screens/training/components/hud/index.d.ts +13 -0
  495. package/lib/components/screens/training/components/hud/index.d.ts.map +1 -0
  496. package/lib/components/screens/training/components/hud/index.js +4 -0
  497. package/lib/components/screens/training/components/index.d.ts +22 -0
  498. package/lib/components/screens/training/components/index.d.ts.map +1 -0
  499. package/lib/components/screens/training/components/index.js +19 -0
  500. package/lib/components/screens/training/hooks/useAttackMovement.d.ts +69 -0
  501. package/lib/components/screens/training/hooks/useAttackMovement.d.ts.map +1 -0
  502. package/lib/components/screens/training/hooks/useAttackMovement.js +118 -0
  503. package/lib/components/screens/training/hooks/useAttackMovement.js.map +1 -0
  504. package/lib/components/screens/training/hooks/useTrainingActions.d.ts +82 -0
  505. package/lib/components/screens/training/hooks/useTrainingActions.d.ts.map +1 -0
  506. package/lib/components/screens/training/hooks/useTrainingActions.js +284 -0
  507. package/lib/components/screens/training/hooks/useTrainingActions.js.map +1 -0
  508. package/lib/components/screens/training/hooks/useTrainingLayout.d.ts +62 -0
  509. package/lib/components/screens/training/hooks/useTrainingLayout.d.ts.map +1 -0
  510. package/lib/components/screens/training/hooks/useTrainingLayout.js +96 -0
  511. package/lib/components/screens/training/hooks/useTrainingLayout.js.map +1 -0
  512. package/lib/components/screens/training/hooks/useTrainingState.d.ts +100 -0
  513. package/lib/components/screens/training/hooks/useTrainingState.d.ts.map +1 -0
  514. package/lib/components/screens/training/hooks/useTrainingState.js +344 -0
  515. package/lib/components/screens/training/hooks/useTrainingState.js.map +1 -0
  516. package/lib/components/screens/training/index.d.ts +4 -0
  517. package/lib/components/screens/training/index.d.ts.map +1 -0
  518. package/lib/components/screens/training/index.js +16 -0
  519. package/lib/components/shared/base/AccessibilityProvider.d.ts +51 -0
  520. package/lib/components/shared/base/AccessibilityProvider.d.ts.map +1 -0
  521. package/lib/components/shared/base/AccessibilityProvider.js +71 -0
  522. package/lib/components/shared/base/AccessibilityProvider.js.map +1 -0
  523. package/lib/components/shared/base/BaseButton.d.ts +42 -0
  524. package/lib/components/shared/base/BaseButton.d.ts.map +1 -0
  525. package/lib/components/shared/base/BaseButton.js +214 -0
  526. package/lib/components/shared/base/BaseButton.js.map +1 -0
  527. package/lib/components/shared/base/BaseButtonOverlayHtml.d.ts +52 -0
  528. package/lib/components/shared/base/BaseButtonOverlayHtml.d.ts.map +1 -0
  529. package/lib/components/shared/base/BaseButtonOverlayHtml.js +130 -0
  530. package/lib/components/shared/base/BaseButtonOverlayHtml.js.map +1 -0
  531. package/lib/components/shared/base/BasePanel.d.ts +30 -0
  532. package/lib/components/shared/base/BasePanel.d.ts.map +1 -0
  533. package/lib/components/shared/base/BasePanel.js +83 -0
  534. package/lib/components/shared/base/BasePanel.js.map +1 -0
  535. package/lib/components/shared/base/BaseText.d.ts +40 -0
  536. package/lib/components/shared/base/BaseText.d.ts.map +1 -0
  537. package/lib/components/shared/base/BaseText.js +157 -0
  538. package/lib/components/shared/base/BaseText.js.map +1 -0
  539. package/lib/components/shared/base/ResponsiveContainer.d.ts +126 -0
  540. package/lib/components/shared/base/ResponsiveContainer.d.ts.map +1 -0
  541. package/lib/components/shared/base/index.d.ts +23 -0
  542. package/lib/components/shared/base/index.d.ts.map +1 -0
  543. package/lib/components/shared/base/index.js +6 -0
  544. package/lib/components/shared/base/layoutUtils.d.ts +102 -0
  545. package/lib/components/shared/base/layoutUtils.d.ts.map +1 -0
  546. package/lib/components/shared/base/useKoreanTheme.d.ts +206 -0
  547. package/lib/components/shared/base/useKoreanTheme.d.ts.map +1 -0
  548. package/lib/components/shared/base/useKoreanTheme.js +169 -0
  549. package/lib/components/shared/base/useKoreanTheme.js.map +1 -0
  550. package/lib/components/shared/debug/PerformanceDebugOverlayHtml.d.ts +32 -0
  551. package/lib/components/shared/debug/PerformanceDebugOverlayHtml.d.ts.map +1 -0
  552. package/lib/components/shared/debug/PerformanceDebugOverlayHtml.js +69 -0
  553. package/lib/components/shared/debug/PerformanceDebugOverlayHtml.js.map +1 -0
  554. package/lib/components/shared/effects/ScreenFlash.d.ts +98 -0
  555. package/lib/components/shared/effects/ScreenFlash.d.ts.map +1 -0
  556. package/lib/components/shared/mobile/ActionButtons.d.ts +44 -0
  557. package/lib/components/shared/mobile/ActionButtons.d.ts.map +1 -0
  558. package/lib/components/shared/mobile/ActionButtons.js +324 -0
  559. package/lib/components/shared/mobile/ActionButtons.js.map +1 -0
  560. package/lib/components/shared/mobile/GestureRecognizerPure.d.ts +64 -0
  561. package/lib/components/shared/mobile/GestureRecognizerPure.d.ts.map +1 -0
  562. package/lib/components/shared/mobile/GestureRecognizerPure.js +231 -0
  563. package/lib/components/shared/mobile/GestureRecognizerPure.js.map +1 -0
  564. package/lib/components/shared/mobile/HapticController.d.ts +253 -0
  565. package/lib/components/shared/mobile/HapticController.d.ts.map +1 -0
  566. package/lib/components/shared/mobile/HapticController.js +280 -0
  567. package/lib/components/shared/mobile/HapticController.js.map +1 -0
  568. package/lib/components/shared/mobile/MobileControlsPure.d.ts +43 -0
  569. package/lib/components/shared/mobile/MobileControlsPure.d.ts.map +1 -0
  570. package/lib/components/shared/mobile/MobileControlsPure.js +294 -0
  571. package/lib/components/shared/mobile/MobileControlsPure.js.map +1 -0
  572. package/lib/components/shared/mobile/PerformanceMonitor.d.ts +249 -0
  573. package/lib/components/shared/mobile/PerformanceMonitor.d.ts.map +1 -0
  574. package/lib/components/shared/mobile/StanceWheelPure.d.ts +78 -0
  575. package/lib/components/shared/mobile/StanceWheelPure.d.ts.map +1 -0
  576. package/lib/components/shared/mobile/StanceWheelPure.js +386 -0
  577. package/lib/components/shared/mobile/StanceWheelPure.js.map +1 -0
  578. package/lib/components/shared/mobile/TouchOptimizer.d.ts +154 -0
  579. package/lib/components/shared/mobile/TouchOptimizer.d.ts.map +1 -0
  580. package/lib/components/shared/mobile/TouchOptimizer.js +83 -0
  581. package/lib/components/shared/mobile/TouchOptimizer.js.map +1 -0
  582. package/lib/components/shared/mobile/VirtualDPad.d.ts +49 -0
  583. package/lib/components/shared/mobile/VirtualDPad.d.ts.map +1 -0
  584. package/lib/components/shared/mobile/VirtualDPad.js +289 -0
  585. package/lib/components/shared/mobile/VirtualDPad.js.map +1 -0
  586. package/lib/components/shared/mobile/index.d.ts +31 -0
  587. package/lib/components/shared/mobile/index.d.ts.map +1 -0
  588. package/lib/components/shared/mobile/index.js +7 -0
  589. package/lib/components/shared/three/anatomy/BodySurface.d.ts +78 -0
  590. package/lib/components/shared/three/anatomy/BodySurface.d.ts.map +1 -0
  591. package/lib/components/shared/three/anatomy/BodySurface.js +393 -0
  592. package/lib/components/shared/three/anatomy/BodySurface.js.map +1 -0
  593. package/lib/components/shared/three/anatomy/BoneAttachedMuscles.d.ts +147 -0
  594. package/lib/components/shared/three/anatomy/BoneAttachedMuscles.d.ts.map +1 -0
  595. package/lib/components/shared/three/anatomy/BoneAttachedMuscles.js +541 -0
  596. package/lib/components/shared/three/anatomy/BoneAttachedMuscles.js.map +1 -0
  597. package/lib/components/shared/three/anatomy/BoneClothing.d.ts +89 -0
  598. package/lib/components/shared/three/anatomy/BoneClothing.d.ts.map +1 -0
  599. package/lib/components/shared/three/anatomy/BoneClothing.js +345 -0
  600. package/lib/components/shared/three/anatomy/BoneClothing.js.map +1 -0
  601. package/lib/components/shared/three/anatomy/BoneRenderer.d.ts +129 -0
  602. package/lib/components/shared/three/anatomy/BoneRenderer.d.ts.map +1 -0
  603. package/lib/components/shared/three/anatomy/BoneRenderer.js +266 -0
  604. package/lib/components/shared/three/anatomy/BoneRenderer.js.map +1 -0
  605. package/lib/components/shared/three/anatomy/Face3D.d.ts +40 -0
  606. package/lib/components/shared/three/anatomy/Face3D.d.ts.map +1 -0
  607. package/lib/components/shared/three/anatomy/Face3D.js +426 -0
  608. package/lib/components/shared/three/anatomy/Face3D.js.map +1 -0
  609. package/lib/components/shared/three/anatomy/Foot3D.d.ts +71 -0
  610. package/lib/components/shared/three/anatomy/Foot3D.d.ts.map +1 -0
  611. package/lib/components/shared/three/anatomy/Foot3D.js +178 -0
  612. package/lib/components/shared/three/anatomy/Foot3D.js.map +1 -0
  613. package/lib/components/shared/three/anatomy/Hand3D.d.ts +101 -0
  614. package/lib/components/shared/three/anatomy/Hand3D.d.ts.map +1 -0
  615. package/lib/components/shared/three/anatomy/Hand3D.js +376 -0
  616. package/lib/components/shared/three/anatomy/Hand3D.js.map +1 -0
  617. package/lib/components/shared/three/effects/ActionFeedback.d.ts +78 -0
  618. package/lib/components/shared/three/effects/ActionFeedback.d.ts.map +1 -0
  619. package/lib/components/shared/three/effects/ActionFeedback.js +236 -0
  620. package/lib/components/shared/three/effects/ActionFeedback.js.map +1 -0
  621. package/lib/components/shared/three/effects/DamageNumbers.d.ts +36 -0
  622. package/lib/components/shared/three/effects/DamageNumbers.d.ts.map +1 -0
  623. package/lib/components/shared/three/effects/DamageNumbers.js +148 -0
  624. package/lib/components/shared/three/effects/DamageNumbers.js.map +1 -0
  625. package/lib/components/shared/three/effects/ExplosiveBurstEffect3D.d.ts +41 -0
  626. package/lib/components/shared/three/effects/ExplosiveBurstEffect3D.d.ts.map +1 -0
  627. package/lib/components/shared/three/effects/GrapplingIndicator3D.d.ts +49 -0
  628. package/lib/components/shared/three/effects/GrapplingIndicator3D.d.ts.map +1 -0
  629. package/lib/components/shared/three/effects/HitEffects3D.d.ts +28 -0
  630. package/lib/components/shared/three/effects/HitEffects3D.d.ts.map +1 -0
  631. package/lib/components/shared/three/effects/HitEffects3D.js +427 -0
  632. package/lib/components/shared/three/effects/HitEffects3D.js.map +1 -0
  633. package/lib/components/shared/three/effects/LimbExposureIndicator3D.d.ts +67 -0
  634. package/lib/components/shared/three/effects/LimbExposureIndicator3D.d.ts.map +1 -0
  635. package/lib/components/shared/three/effects/NerveDisruptionEffect3D.d.ts +63 -0
  636. package/lib/components/shared/three/effects/NerveDisruptionEffect3D.d.ts.map +1 -0
  637. package/lib/components/shared/three/effects/PlayerStateIndicators.d.ts +36 -0
  638. package/lib/components/shared/three/effects/PlayerStateIndicators.d.ts.map +1 -0
  639. package/lib/components/shared/three/effects/PlayerStateIndicators.js +237 -0
  640. package/lib/components/shared/three/effects/PlayerStateIndicators.js.map +1 -0
  641. package/lib/components/shared/three/effects/StanceSymbol3D.d.ts +52 -0
  642. package/lib/components/shared/three/effects/StanceSymbol3D.d.ts.map +1 -0
  643. package/lib/components/shared/three/effects/StanceSymbol3D.js +128 -0
  644. package/lib/components/shared/three/effects/StanceSymbol3D.js.map +1 -0
  645. package/lib/components/shared/three/effects/StanceTransitionEffect.d.ts +56 -0
  646. package/lib/components/shared/three/effects/StanceTransitionEffect.d.ts.map +1 -0
  647. package/lib/components/shared/three/effects/StanceTransitionEffect.js +174 -0
  648. package/lib/components/shared/three/effects/StanceTransitionEffect.js.map +1 -0
  649. package/lib/components/shared/three/effects/ThunderEffect3D.d.ts +39 -0
  650. package/lib/components/shared/three/effects/ThunderEffect3D.d.ts.map +1 -0
  651. package/lib/components/shared/three/effects/VitalPointMarkers3D.d.ts +48 -0
  652. package/lib/components/shared/three/effects/VitalPointMarkers3D.d.ts.map +1 -0
  653. package/lib/components/shared/three/effects/VitalPointMarkers3D.js +249 -0
  654. package/lib/components/shared/three/effects/VitalPointMarkers3D.js.map +1 -0
  655. package/lib/components/shared/three/index.d.ts +30 -0
  656. package/lib/components/shared/three/index.d.ts.map +1 -0
  657. package/lib/components/shared/three/index.js +9 -0
  658. package/lib/components/shared/three/indicators/ElementalColorSystem.d.ts +184 -0
  659. package/lib/components/shared/three/indicators/ElementalColorSystem.d.ts.map +1 -0
  660. package/lib/components/shared/three/indicators/ElementalColorSystem.js +147 -0
  661. package/lib/components/shared/three/indicators/ElementalColorSystem.js.map +1 -0
  662. package/lib/components/shared/three/indicators/GuardIndicator.d.ts +58 -0
  663. package/lib/components/shared/three/indicators/GuardIndicator.d.ts.map +1 -0
  664. package/lib/components/shared/three/indicators/GuardIndicator.js +259 -0
  665. package/lib/components/shared/three/indicators/GuardIndicator.js.map +1 -0
  666. package/lib/components/shared/three/indicators/HapticFeedback.d.ts +184 -0
  667. package/lib/components/shared/three/indicators/HapticFeedback.d.ts.map +1 -0
  668. package/lib/components/shared/three/indicators/HapticFeedback.js +46 -0
  669. package/lib/components/shared/three/indicators/HapticFeedback.js.map +1 -0
  670. package/lib/components/shared/three/indicators/StanceChangeIndicator.d.ts +53 -0
  671. package/lib/components/shared/three/indicators/StanceChangeIndicator.d.ts.map +1 -0
  672. package/lib/components/shared/three/indicators/StanceChangeIndicator.js +222 -0
  673. package/lib/components/shared/three/indicators/StanceChangeIndicator.js.map +1 -0
  674. package/lib/components/shared/three/indicators/TrigramSymbol3D.d.ts +82 -0
  675. package/lib/components/shared/three/indicators/TrigramSymbol3D.d.ts.map +1 -0
  676. package/lib/components/shared/three/models/Player3DWithTransitions.d.ts +77 -0
  677. package/lib/components/shared/three/models/Player3DWithTransitions.d.ts.map +1 -0
  678. package/lib/components/shared/three/models/Player3DWithTransitions.js +118 -0
  679. package/lib/components/shared/three/models/Player3DWithTransitions.js.map +1 -0
  680. package/lib/components/shared/three/models/SkeletalPlayer3D.d.ts +44 -0
  681. package/lib/components/shared/three/models/SkeletalPlayer3D.d.ts.map +1 -0
  682. package/lib/components/shared/three/models/SkeletalPlayer3D.js +358 -0
  683. package/lib/components/shared/three/models/SkeletalPlayer3D.js.map +1 -0
  684. package/lib/components/shared/three/optimization/AdaptiveQuality.d.ts +107 -0
  685. package/lib/components/shared/three/optimization/AdaptiveQuality.d.ts.map +1 -0
  686. package/lib/components/shared/three/optimization/AdaptiveQuality.js +197 -0
  687. package/lib/components/shared/three/optimization/AdaptiveQuality.js.map +1 -0
  688. package/lib/components/shared/three/optimization/InstancedGeometry.d.ts +189 -0
  689. package/lib/components/shared/three/optimization/InstancedGeometry.d.ts.map +1 -0
  690. package/lib/components/shared/three/optimization/InstancedGeometry.js +3 -0
  691. package/lib/components/shared/three/optimization/LODSystem.d.ts +126 -0
  692. package/lib/components/shared/three/optimization/LODSystem.d.ts.map +1 -0
  693. package/lib/components/shared/three/optimization/LODSystem.js +3 -0
  694. package/lib/components/shared/three/optimization/index.d.ts +14 -0
  695. package/lib/components/shared/three/optimization/index.d.ts.map +1 -0
  696. package/lib/components/shared/three/optimization/index.js +3 -0
  697. package/lib/components/shared/three/scene/AtmosphericParticles3D.d.ts +31 -0
  698. package/lib/components/shared/three/scene/AtmosphericParticles3D.d.ts.map +1 -0
  699. package/lib/components/shared/three/scene/AtmosphericParticles3D.js +84 -0
  700. package/lib/components/shared/three/scene/AtmosphericParticles3D.js.map +1 -0
  701. package/lib/components/shared/three/scene/BackgroundScene3D.d.ts +76 -0
  702. package/lib/components/shared/three/scene/BackgroundScene3D.d.ts.map +1 -0
  703. package/lib/components/shared/three/scene/BackgroundScene3D.js +124 -0
  704. package/lib/components/shared/three/scene/BackgroundScene3D.js.map +1 -0
  705. package/lib/components/shared/three/scene/CombatArena3D.d.ts +38 -0
  706. package/lib/components/shared/three/scene/CombatArena3D.d.ts.map +1 -0
  707. package/lib/components/shared/three/scene/CombatArena3D.js +256 -0
  708. package/lib/components/shared/three/scene/CombatArena3D.js.map +1 -0
  709. package/lib/components/shared/three/scene/DebugCollision.d.ts +64 -0
  710. package/lib/components/shared/three/scene/DebugCollision.d.ts.map +1 -0
  711. package/lib/components/shared/three/scene/KoreanSignage3D.d.ts +29 -0
  712. package/lib/components/shared/three/scene/KoreanSignage3D.d.ts.map +1 -0
  713. package/lib/components/shared/three/scene/KoreanSignage3D.js +122 -0
  714. package/lib/components/shared/three/scene/KoreanSignage3D.js.map +1 -0
  715. package/lib/components/shared/three/ui/ArchetypeCard.d.ts +38 -0
  716. package/lib/components/shared/three/ui/ArchetypeCard.d.ts.map +1 -0
  717. package/lib/components/shared/three/ui/ArchetypeCard.js +213 -0
  718. package/lib/components/shared/three/ui/ArchetypeCard.js.map +1 -0
  719. package/lib/components/shared/three/ui/BodyPartHealthDisplay.d.ts +45 -0
  720. package/lib/components/shared/three/ui/BodyPartHealthDisplay.d.ts.map +1 -0
  721. package/lib/components/shared/three/ui/BodyPartHealthDisplay.js +206 -0
  722. package/lib/components/shared/three/ui/BodyPartHealthDisplay.js.map +1 -0
  723. package/lib/components/shared/three/ui/BreathingIndicator.d.ts +25 -0
  724. package/lib/components/shared/three/ui/BreathingIndicator.d.ts.map +1 -0
  725. package/lib/components/shared/three/ui/BreathingIndicator2.js +104 -0
  726. package/lib/components/shared/three/ui/BreathingIndicator2.js.map +1 -0
  727. package/lib/components/shared/three/ui/CombatReadinessBar.d.ts +43 -0
  728. package/lib/components/shared/three/ui/CombatReadinessBar.d.ts.map +1 -0
  729. package/lib/components/shared/three/ui/CombatReadinessBar.js +135 -0
  730. package/lib/components/shared/three/ui/CombatReadinessBar.js.map +1 -0
  731. package/lib/components/shared/three/ui/ComboCounter.d.ts +42 -0
  732. package/lib/components/shared/three/ui/ComboCounter.d.ts.map +1 -0
  733. package/lib/components/shared/three/ui/ComboCounter.js +222 -0
  734. package/lib/components/shared/three/ui/ComboCounter.js.map +1 -0
  735. package/lib/components/shared/three/ui/HealthBar.d.ts +37 -0
  736. package/lib/components/shared/three/ui/HealthBar.d.ts.map +1 -0
  737. package/lib/components/shared/three/ui/HealthBar.js +112 -0
  738. package/lib/components/shared/three/ui/HealthBar.js.map +1 -0
  739. package/lib/components/shared/three/ui/KoreanButton.d.ts +37 -0
  740. package/lib/components/shared/three/ui/KoreanButton.d.ts.map +1 -0
  741. package/lib/components/shared/three/ui/KoreanButton.js +33 -0
  742. package/lib/components/shared/three/ui/KoreanButton.js.map +1 -0
  743. package/lib/components/shared/three/ui/KoreanPanel.d.ts +32 -0
  744. package/lib/components/shared/three/ui/KoreanPanel.d.ts.map +1 -0
  745. package/lib/components/shared/three/ui/KoreanPanel.js +29 -0
  746. package/lib/components/shared/three/ui/KoreanPanel.js.map +1 -0
  747. package/lib/components/shared/three/ui/KoreanText.d.ts +35 -0
  748. package/lib/components/shared/three/ui/KoreanText.d.ts.map +1 -0
  749. package/lib/components/shared/three/ui/KoreanText.js +32 -0
  750. package/lib/components/shared/three/ui/KoreanText.js.map +1 -0
  751. package/lib/components/shared/three/ui/MenuList.d.ts +47 -0
  752. package/lib/components/shared/three/ui/MenuList.d.ts.map +1 -0
  753. package/lib/components/shared/three/ui/MenuList.js +123 -0
  754. package/lib/components/shared/three/ui/MenuList.js.map +1 -0
  755. package/lib/components/shared/three/ui/PlayerHUD.d.ts +34 -0
  756. package/lib/components/shared/three/ui/PlayerHUD.d.ts.map +1 -0
  757. package/lib/components/shared/three/ui/PlayerHUD.js +231 -0
  758. package/lib/components/shared/three/ui/PlayerHUD.js.map +1 -0
  759. package/lib/components/shared/three/ui/ProgressBar.d.ts +48 -0
  760. package/lib/components/shared/three/ui/ProgressBar.d.ts.map +1 -0
  761. package/lib/components/shared/three/ui/ProgressBar.js +173 -0
  762. package/lib/components/shared/three/ui/ProgressBar.js.map +1 -0
  763. package/lib/components/shared/three/ui/SpeedIndicatorHUD.d.ts +62 -0
  764. package/lib/components/shared/three/ui/SpeedIndicatorHUD.d.ts.map +1 -0
  765. package/lib/components/shared/three/ui/SpeedIndicatorHUD.js +185 -0
  766. package/lib/components/shared/three/ui/SpeedIndicatorHUD.js.map +1 -0
  767. package/lib/components/shared/three/ui/StaminaBar.d.ts +37 -0
  768. package/lib/components/shared/three/ui/StaminaBar.d.ts.map +1 -0
  769. package/lib/components/shared/three/ui/StaminaBar.js +103 -0
  770. package/lib/components/shared/three/ui/StaminaBar.js.map +1 -0
  771. package/lib/components/shared/three/ui/TechniqueBar.d.ts +52 -0
  772. package/lib/components/shared/three/ui/TechniqueBar.d.ts.map +1 -0
  773. package/lib/components/shared/three/ui/TechniqueBar.js +128 -0
  774. package/lib/components/shared/three/ui/TechniqueBar.js.map +1 -0
  775. package/lib/components/shared/three/ui/TechniqueBarContainer.d.ts +49 -0
  776. package/lib/components/shared/three/ui/TechniqueBarContainer.d.ts.map +1 -0
  777. package/lib/components/shared/three/ui/TechniqueCard.d.ts +64 -0
  778. package/lib/components/shared/three/ui/TechniqueCard.d.ts.map +1 -0
  779. package/lib/components/shared/three/ui/TechniqueCard.js +333 -0
  780. package/lib/components/shared/three/ui/TechniqueCard.js.map +1 -0
  781. package/lib/components/shared/three/ui/VitalPointOverlayControlsHtml.d.ts +76 -0
  782. package/lib/components/shared/three/ui/VitalPointOverlayControlsHtml.d.ts.map +1 -0
  783. package/lib/components/shared/three/ui/VitalPointOverlayControlsHtml.js +551 -0
  784. package/lib/components/shared/three/ui/VitalPointOverlayControlsHtml.js.map +1 -0
  785. package/lib/components/shared/three/ui/VulnerabilityWindowHUD.d.ts +63 -0
  786. package/lib/components/shared/three/ui/VulnerabilityWindowHUD.d.ts.map +1 -0
  787. package/lib/components/shared/ui/BackButton.d.ts +82 -0
  788. package/lib/components/shared/ui/BackButton.d.ts.map +1 -0
  789. package/lib/components/shared/ui/BackButton.js +67 -0
  790. package/lib/components/shared/ui/BackButton.js.map +1 -0
  791. package/lib/components/shared/ui/BaseHUDContainer.d.ts +71 -0
  792. package/lib/components/shared/ui/BaseHUDContainer.d.ts.map +1 -0
  793. package/lib/components/shared/ui/BaseHUDContainer.js +126 -0
  794. package/lib/components/shared/ui/BaseHUDContainer.js.map +1 -0
  795. package/lib/components/shared/ui/CombatTimer.d.ts +60 -0
  796. package/lib/components/shared/ui/CombatTimer.d.ts.map +1 -0
  797. package/lib/components/shared/ui/CombatTimer.js +145 -0
  798. package/lib/components/shared/ui/CombatTimer.js.map +1 -0
  799. package/lib/components/shared/ui/ErrorBoundary.d.ts +44 -0
  800. package/lib/components/shared/ui/ErrorBoundary.d.ts.map +1 -0
  801. package/lib/components/shared/ui/ErrorModal.d.ts +21 -0
  802. package/lib/components/shared/ui/ErrorModal.d.ts.map +1 -0
  803. package/lib/components/shared/ui/ErrorModal.js +133 -0
  804. package/lib/components/shared/ui/ErrorModal.js.map +1 -0
  805. package/lib/components/shared/ui/HUDSection.d.ts +65 -0
  806. package/lib/components/shared/ui/HUDSection.d.ts.map +1 -0
  807. package/lib/components/shared/ui/LoadingState.d.ts +50 -0
  808. package/lib/components/shared/ui/LoadingState.d.ts.map +1 -0
  809. package/lib/components/shared/ui/LoadingState.js +92 -0
  810. package/lib/components/shared/ui/LoadingState.js.map +1 -0
  811. package/lib/components/shared/ui/MobileHUDLayout.d.ts +70 -0
  812. package/lib/components/shared/ui/MobileHUDLayout.d.ts.map +1 -0
  813. package/lib/components/shared/ui/ResponsiveContainer.d.ts +69 -0
  814. package/lib/components/shared/ui/ResponsiveContainer.d.ts.map +1 -0
  815. package/lib/components/shared/ui/SplashScreen.d.ts +13 -0
  816. package/lib/components/shared/ui/SplashScreen.d.ts.map +1 -0
  817. package/lib/components/shared/ui/SplashScreen.js +204 -0
  818. package/lib/components/shared/ui/SplashScreen.js.map +1 -0
  819. package/lib/components/shared/ui/StyledHUDPanel.d.ts +56 -0
  820. package/lib/components/shared/ui/StyledHUDPanel.d.ts.map +1 -0
  821. package/lib/components/shared/ui/VitalPointOverlayControlsPure.d.ts +79 -0
  822. package/lib/components/shared/ui/VitalPointOverlayControlsPure.d.ts.map +1 -0
  823. package/lib/components/shared/ui/VitalPointOverlayControlsPure.js +550 -0
  824. package/lib/components/shared/ui/VitalPointOverlayControlsPure.js.map +1 -0
  825. package/lib/components/shared/ui/VolumeControl.d.ts +20 -0
  826. package/lib/components/shared/ui/VolumeControl.d.ts.map +1 -0
  827. package/lib/components/shared/ui/VolumeControl.js +292 -0
  828. package/lib/components/shared/ui/VolumeControl.js.map +1 -0
  829. package/lib/components/shared/ui/shared/ConfirmDialog.d.ts +29 -0
  830. package/lib/components/shared/ui/shared/ConfirmDialog.d.ts.map +1 -0
  831. package/lib/components/shared/ui/shared/ConfirmDialog.js +149 -0
  832. package/lib/components/shared/ui/shared/ConfirmDialog.js.map +1 -0
  833. package/lib/components/test/Hello3D.d.ts +36 -0
  834. package/lib/components/test/Hello3D.d.ts.map +1 -0
  835. package/lib/components/ui/combat/BalanceIndicatorOverlayHtml.d.ts +63 -0
  836. package/lib/components/ui/combat/BalanceIndicatorOverlayHtml.d.ts.map +1 -0
  837. package/lib/components/ui/combat/BalanceIndicatorOverlayHtml.js +179 -0
  838. package/lib/components/ui/combat/BalanceIndicatorOverlayHtml.js.map +1 -0
  839. package/lib/components/ui/combat/ComboCounter.d.ts +85 -0
  840. package/lib/components/ui/combat/ComboCounter.d.ts.map +1 -0
  841. package/lib/components/ui/combat/PressureMeter.d.ts +60 -0
  842. package/lib/components/ui/combat/PressureMeter.d.ts.map +1 -0
  843. package/lib/components/ui/combat/index.d.ts +8 -0
  844. package/lib/components/ui/combat/index.d.ts.map +1 -0
  845. package/lib/constants/bodyDimensions.d.ts +241 -0
  846. package/lib/constants/bodyDimensions.d.ts.map +1 -0
  847. package/lib/constants/bodyDimensions.js +213 -0
  848. package/lib/constants/bodyDimensions.js.map +1 -0
  849. package/lib/constants/bodyRenderingConstants.d.ts +295 -0
  850. package/lib/constants/bodyRenderingConstants.d.ts.map +1 -0
  851. package/lib/constants/bodyRenderingConstants.js +128 -0
  852. package/lib/constants/bodyRenderingConstants.js.map +1 -0
  853. package/lib/data/archetypeClothing.d.ts +40 -0
  854. package/lib/data/archetypeClothing.d.ts.map +1 -0
  855. package/lib/data/archetypeClothing.js +584 -0
  856. package/lib/data/archetypeClothing.js.map +1 -0
  857. package/lib/data/archetypePhysicalAttributes.d.ts +279 -0
  858. package/lib/data/archetypePhysicalAttributes.d.ts.map +1 -0
  859. package/lib/data/archetypePhysicalAttributes.js +227 -0
  860. package/lib/data/archetypePhysicalAttributes.js.map +1 -0
  861. package/lib/data/techniqueMappings.d.ts +64 -0
  862. package/lib/data/techniqueMappings.d.ts.map +1 -0
  863. package/lib/data/techniqueMappings.js +56 -0
  864. package/lib/data/techniqueMappings.js.map +1 -0
  865. package/lib/data/techniques.d.ts +84 -0
  866. package/lib/data/techniques.d.ts.map +1 -0
  867. package/lib/data/techniques.js +739 -0
  868. package/lib/data/techniques.js.map +1 -0
  869. package/lib/hooks/useActionFeedback.d.ts +114 -0
  870. package/lib/hooks/useActionFeedback.d.ts.map +1 -0
  871. package/lib/hooks/useActionFeedback.js +158 -0
  872. package/lib/hooks/useActionFeedback.js.map +1 -0
  873. package/lib/hooks/useBalanceAnimations.d.ts +62 -0
  874. package/lib/hooks/useBalanceAnimations.d.ts.map +1 -0
  875. package/lib/hooks/useBalanceAnimations.js +133 -0
  876. package/lib/hooks/useBalanceAnimations.js.map +1 -0
  877. package/lib/hooks/useCombatTimer.d.ts +77 -0
  878. package/lib/hooks/useCombatTimer.d.ts.map +1 -0
  879. package/lib/hooks/useCombatTimer.js +139 -0
  880. package/lib/hooks/useCombatTimer.js.map +1 -0
  881. package/lib/hooks/useDebounce.d.ts +30 -0
  882. package/lib/hooks/useDebounce.d.ts.map +1 -0
  883. package/lib/hooks/useHUDLayout.d.ts +67 -0
  884. package/lib/hooks/useHUDLayout.d.ts.map +1 -0
  885. package/lib/hooks/useHUDLayout.js +92 -0
  886. package/lib/hooks/useHUDLayout.js.map +1 -0
  887. package/lib/hooks/useHandPoseTransitions.d.ts +65 -0
  888. package/lib/hooks/useHandPoseTransitions.d.ts.map +1 -0
  889. package/lib/hooks/useHandPoseTransitions.js +127 -0
  890. package/lib/hooks/useHandPoseTransitions.js.map +1 -0
  891. package/lib/hooks/useKeyboardControls.d.ts +73 -0
  892. package/lib/hooks/useKeyboardControls.d.ts.map +1 -0
  893. package/lib/hooks/useKeyboardControls.js +311 -0
  894. package/lib/hooks/useKeyboardControls.js.map +1 -0
  895. package/lib/hooks/useMatchCountdown.d.ts +87 -0
  896. package/lib/hooks/useMatchCountdown.d.ts.map +1 -0
  897. package/lib/hooks/useMatchCountdown.js +162 -0
  898. package/lib/hooks/useMatchCountdown.js.map +1 -0
  899. package/lib/hooks/useMuscleActivation.d.ts +76 -0
  900. package/lib/hooks/useMuscleActivation.d.ts.map +1 -0
  901. package/lib/hooks/useMuscleActivation.js +99 -0
  902. package/lib/hooks/useMuscleActivation.js.map +1 -0
  903. package/lib/hooks/usePauseMenu.d.ts +32 -0
  904. package/lib/hooks/usePauseMenu.d.ts.map +1 -0
  905. package/lib/hooks/usePlayerAnimation.d.ts +188 -0
  906. package/lib/hooks/usePlayerAnimation.d.ts.map +1 -0
  907. package/lib/hooks/usePlayerAnimation.js +145 -0
  908. package/lib/hooks/usePlayerAnimation.js.map +1 -0
  909. package/lib/hooks/useResponsiveLayout.d.ts +184 -0
  910. package/lib/hooks/useResponsiveLayout.d.ts.map +1 -0
  911. package/lib/hooks/useRoundTransition.d.ts +87 -0
  912. package/lib/hooks/useRoundTransition.d.ts.map +1 -0
  913. package/lib/hooks/useRoundTransition.js +158 -0
  914. package/lib/hooks/useRoundTransition.js.map +1 -0
  915. package/lib/hooks/useSkeletalAnimation.d.ts +88 -0
  916. package/lib/hooks/useSkeletalAnimation.d.ts.map +1 -0
  917. package/lib/hooks/useSkeletalAnimation.js +176 -0
  918. package/lib/hooks/useSkeletalAnimation.js.map +1 -0
  919. package/lib/hooks/useTechniqueSelection.d.ts +73 -0
  920. package/lib/hooks/useTechniqueSelection.d.ts.map +1 -0
  921. package/lib/hooks/useTechniqueSelection.js +190 -0
  922. package/lib/hooks/useTechniqueSelection.js.map +1 -0
  923. package/lib/hooks/useThrottle.d.ts +30 -0
  924. package/lib/hooks/useThrottle.d.ts.map +1 -0
  925. package/lib/hooks/useThrottle.js +61 -0
  926. package/lib/hooks/useThrottle.js.map +1 -0
  927. package/lib/hooks/useTouchControls.d.ts +107 -0
  928. package/lib/hooks/useTouchControls.d.ts.map +1 -0
  929. package/lib/hooks/useTouchControls.js +260 -0
  930. package/lib/hooks/useTouchControls.js.map +1 -0
  931. package/lib/hooks/useWebGLContextLossHandler.d.ts +77 -0
  932. package/lib/hooks/useWebGLContextLossHandler.d.ts.map +1 -0
  933. package/lib/hooks/useWebGLContextLossHandler.js +119 -0
  934. package/lib/hooks/useWebGLContextLossHandler.js.map +1 -0
  935. package/lib/hooks/useWindowSize.d.ts +60 -0
  936. package/lib/hooks/useWindowSize.d.ts.map +1 -0
  937. package/lib/hooks/useWindowSize.js +62 -0
  938. package/lib/hooks/useWindowSize.js.map +1 -0
  939. package/lib/index.d.ts +21 -0
  940. package/lib/index.d.ts.map +1 -0
  941. package/lib/index.js +114 -0
  942. package/lib/systems/CombatSystem.d.ts +348 -0
  943. package/lib/systems/CombatSystem.d.ts.map +1 -0
  944. package/lib/systems/CombatSystem.js +877 -0
  945. package/lib/systems/CombatSystem.js.map +1 -0
  946. package/lib/systems/EffectCalculator.d.ts +176 -0
  947. package/lib/systems/EffectCalculator.d.ts.map +1 -0
  948. package/lib/systems/EffectCalculator.js +251 -0
  949. package/lib/systems/EffectCalculator.js.map +1 -0
  950. package/lib/systems/LayoutSystem.d.ts +250 -0
  951. package/lib/systems/LayoutSystem.d.ts.map +1 -0
  952. package/lib/systems/LayoutSystem.js +337 -0
  953. package/lib/systems/LayoutSystem.js.map +1 -0
  954. package/lib/systems/PlayerEffectManager.d.ts +210 -0
  955. package/lib/systems/PlayerEffectManager.d.ts.map +1 -0
  956. package/lib/systems/PlayerEffectManager.js +178 -0
  957. package/lib/systems/PlayerEffectManager.js.map +1 -0
  958. package/lib/systems/ResponsiveScaling.d.ts +298 -0
  959. package/lib/systems/ResponsiveScaling.d.ts.map +1 -0
  960. package/lib/systems/ResponsiveScaling.js +376 -0
  961. package/lib/systems/ResponsiveScaling.js.map +1 -0
  962. package/lib/systems/TrigramSystem.d.ts +388 -0
  963. package/lib/systems/TrigramSystem.d.ts.map +1 -0
  964. package/lib/systems/TrigramSystem.js +512 -0
  965. package/lib/systems/TrigramSystem.js.map +1 -0
  966. package/lib/systems/VitalPointSystem.d.ts +330 -0
  967. package/lib/systems/VitalPointSystem.d.ts.map +1 -0
  968. package/lib/systems/VitalPointSystem.js +455 -0
  969. package/lib/systems/VitalPointSystem.js.map +1 -0
  970. package/lib/systems/ai/AIPersonality.d.ts +133 -0
  971. package/lib/systems/ai/AIPersonality.d.ts.map +1 -0
  972. package/lib/systems/ai/AIPersonality.js +245 -0
  973. package/lib/systems/ai/AIPersonality.js.map +1 -0
  974. package/lib/systems/ai/AdaptiveDifficulty.d.ts +159 -0
  975. package/lib/systems/ai/AdaptiveDifficulty.d.ts.map +1 -0
  976. package/lib/systems/ai/AdaptiveDifficulty.js +297 -0
  977. package/lib/systems/ai/AdaptiveDifficulty.js.map +1 -0
  978. package/lib/systems/ai/ArchetypeEnforcer.d.ts +132 -0
  979. package/lib/systems/ai/ArchetypeEnforcer.d.ts.map +1 -0
  980. package/lib/systems/ai/ArchetypeEnforcer.js +279 -0
  981. package/lib/systems/ai/ArchetypeEnforcer.js.map +1 -0
  982. package/lib/systems/ai/ComboSystem.d.ts +136 -0
  983. package/lib/systems/ai/ComboSystem.d.ts.map +1 -0
  984. package/lib/systems/ai/ComboSystem.js +384 -0
  985. package/lib/systems/ai/ComboSystem.js.map +1 -0
  986. package/lib/systems/ai/DecisionTree.d.ts +563 -0
  987. package/lib/systems/ai/DecisionTree.d.ts.map +1 -0
  988. package/lib/systems/ai/DecisionTree.js +1516 -0
  989. package/lib/systems/ai/DecisionTree.js.map +1 -0
  990. package/lib/systems/ai/TrainingAI.d.ts +132 -0
  991. package/lib/systems/ai/TrainingAI.d.ts.map +1 -0
  992. package/lib/systems/ai/TrainingAI.js +265 -0
  993. package/lib/systems/ai/TrainingAI.js.map +1 -0
  994. package/lib/systems/ai/__tests__/AI-Performance.bench.d.ts +19 -0
  995. package/lib/systems/ai/__tests__/AI-Performance.bench.d.ts.map +1 -0
  996. package/lib/systems/ai/index.d.ts +12 -0
  997. package/lib/systems/ai/index.d.ts.map +1 -0
  998. package/lib/systems/ai/index.js +7 -0
  999. package/lib/systems/ai/types.d.ts +111 -0
  1000. package/lib/systems/ai/types.d.ts.map +1 -0
  1001. package/lib/systems/ai/types.js +24 -0
  1002. package/lib/systems/ai/types.js.map +1 -0
  1003. package/lib/systems/animation/AnimationCategory.d.ts +64 -0
  1004. package/lib/systems/animation/AnimationCategory.d.ts.map +1 -0
  1005. package/lib/systems/animation/builders/AnimationBuilder.d.ts +288 -0
  1006. package/lib/systems/animation/builders/AnimationBuilder.d.ts.map +1 -0
  1007. package/lib/systems/animation/builders/AnimationBuilder.js +261 -0
  1008. package/lib/systems/animation/builders/AnimationBuilder.js.map +1 -0
  1009. package/lib/systems/animation/builders/AnimationFactoryPresets.d.ts +280 -0
  1010. package/lib/systems/animation/builders/AnimationFactoryPresets.d.ts.map +1 -0
  1011. package/lib/systems/animation/builders/AnimationFactoryPresets.js +234 -0
  1012. package/lib/systems/animation/builders/AnimationFactoryPresets.js.map +1 -0
  1013. package/lib/systems/animation/builders/HandPoseApplicator.d.ts +56 -0
  1014. package/lib/systems/animation/builders/HandPoseApplicator.d.ts.map +1 -0
  1015. package/lib/systems/animation/builders/HandPoseApplicator.js +130 -0
  1016. package/lib/systems/animation/builders/HandPoseApplicator.js.map +1 -0
  1017. package/lib/systems/animation/builders/HandPoses.d.ts +186 -0
  1018. package/lib/systems/animation/builders/HandPoses.d.ts.map +1 -0
  1019. package/lib/systems/animation/builders/HandPoses.js +509 -0
  1020. package/lib/systems/animation/builders/HandPoses.js.map +1 -0
  1021. package/lib/systems/animation/builders/KeyframeConfig.d.ts +207 -0
  1022. package/lib/systems/animation/builders/KeyframeConfig.d.ts.map +1 -0
  1023. package/lib/systems/animation/builders/KeyframeConfig.js +264 -0
  1024. package/lib/systems/animation/builders/KeyframeConfig.js.map +1 -0
  1025. package/lib/systems/animation/builders/KeyframeInterpolation.d.ts +491 -0
  1026. package/lib/systems/animation/builders/KeyframeInterpolation.d.ts.map +1 -0
  1027. package/lib/systems/animation/builders/KeyframeInterpolation.js +252 -0
  1028. package/lib/systems/animation/builders/KeyframeInterpolation.js.map +1 -0
  1029. package/lib/systems/animation/builders/KickPhaseApplicator.d.ts +119 -0
  1030. package/lib/systems/animation/builders/KickPhaseApplicator.d.ts.map +1 -0
  1031. package/lib/systems/animation/builders/KickPhaseApplicator.js +119 -0
  1032. package/lib/systems/animation/builders/KickPhaseApplicator.js.map +1 -0
  1033. package/lib/systems/animation/builders/KoreanGuardPositions.d.ts +208 -0
  1034. package/lib/systems/animation/builders/KoreanGuardPositions.d.ts.map +1 -0
  1035. package/lib/systems/animation/builders/KoreanGuardPositions.js +267 -0
  1036. package/lib/systems/animation/builders/KoreanGuardPositions.js.map +1 -0
  1037. package/lib/systems/animation/builders/MartialArtsAnimationBuilder.d.ts +1310 -0
  1038. package/lib/systems/animation/builders/MartialArtsAnimationBuilder.d.ts.map +1 -0
  1039. package/lib/systems/animation/builders/MartialArtsAnimationBuilder.js +2857 -0
  1040. package/lib/systems/animation/builders/MartialArtsAnimationBuilder.js.map +1 -0
  1041. package/lib/systems/animation/builders/MartialArtsConstants.d.ts +1034 -0
  1042. package/lib/systems/animation/builders/MartialArtsConstants.d.ts.map +1 -0
  1043. package/lib/systems/animation/builders/MartialArtsConstants.js +1644 -0
  1044. package/lib/systems/animation/builders/MartialArtsConstants.js.map +1 -0
  1045. package/lib/systems/animation/builders/MartialPoseApplicator.d.ts +54 -0
  1046. package/lib/systems/animation/builders/MartialPoseApplicator.d.ts.map +1 -0
  1047. package/lib/systems/animation/builders/MartialPoseApplicator.js +54 -0
  1048. package/lib/systems/animation/builders/MartialPoseApplicator.js.map +1 -0
  1049. package/lib/systems/animation/builders/PunchPhaseApplicator.d.ts +73 -0
  1050. package/lib/systems/animation/builders/PunchPhaseApplicator.d.ts.map +1 -0
  1051. package/lib/systems/animation/builders/PunchPhaseApplicator.js +68 -0
  1052. package/lib/systems/animation/builders/PunchPhaseApplicator.js.map +1 -0
  1053. package/lib/systems/animation/builders/SkeletonRig.d.ts +321 -0
  1054. package/lib/systems/animation/builders/SkeletonRig.d.ts.map +1 -0
  1055. package/lib/systems/animation/builders/SkeletonRig.js +330 -0
  1056. package/lib/systems/animation/builders/SkeletonRig.js.map +1 -0
  1057. package/lib/systems/animation/builders/TrigramGuardApplicator.d.ts +99 -0
  1058. package/lib/systems/animation/builders/TrigramGuardApplicator.d.ts.map +1 -0
  1059. package/lib/systems/animation/builders/TrigramGuardApplicator.js +185 -0
  1060. package/lib/systems/animation/builders/TrigramGuardApplicator.js.map +1 -0
  1061. package/lib/systems/animation/builders/index.d.ts +23 -0
  1062. package/lib/systems/animation/builders/index.d.ts.map +1 -0
  1063. package/lib/systems/animation/builders/index.js +13 -0
  1064. package/lib/systems/animation/catalogs/AttackAnimations.d.ts +523 -0
  1065. package/lib/systems/animation/catalogs/AttackAnimations.d.ts.map +1 -0
  1066. package/lib/systems/animation/catalogs/AttackAnimations.js +537 -0
  1067. package/lib/systems/animation/catalogs/AttackAnimations.js.map +1 -0
  1068. package/lib/systems/animation/catalogs/BasicAnimations.d.ts +84 -0
  1069. package/lib/systems/animation/catalogs/BasicAnimations.d.ts.map +1 -0
  1070. package/lib/systems/animation/catalogs/BasicAnimations.js +92 -0
  1071. package/lib/systems/animation/catalogs/BasicAnimations.js.map +1 -0
  1072. package/lib/systems/animation/catalogs/ComboAnimations.d.ts +370 -0
  1073. package/lib/systems/animation/catalogs/ComboAnimations.d.ts.map +1 -0
  1074. package/lib/systems/animation/catalogs/ComboAnimations.js +400 -0
  1075. package/lib/systems/animation/catalogs/ComboAnimations.js.map +1 -0
  1076. package/lib/systems/animation/catalogs/DarkOpsAnimations.d.ts +301 -0
  1077. package/lib/systems/animation/catalogs/DarkOpsAnimations.d.ts.map +1 -0
  1078. package/lib/systems/animation/catalogs/DarkOpsAnimations.js +322 -0
  1079. package/lib/systems/animation/catalogs/DarkOpsAnimations.js.map +1 -0
  1080. package/lib/systems/animation/catalogs/DefensiveAnimations.d.ts +134 -0
  1081. package/lib/systems/animation/catalogs/DefensiveAnimations.d.ts.map +1 -0
  1082. package/lib/systems/animation/catalogs/DefensiveAnimations.js +142 -0
  1083. package/lib/systems/animation/catalogs/DefensiveAnimations.js.map +1 -0
  1084. package/lib/systems/animation/catalogs/ElbowKneeAnimations.d.ts +437 -0
  1085. package/lib/systems/animation/catalogs/ElbowKneeAnimations.d.ts.map +1 -0
  1086. package/lib/systems/animation/catalogs/ElbowKneeAnimations.js +452 -0
  1087. package/lib/systems/animation/catalogs/ElbowKneeAnimations.js.map +1 -0
  1088. package/lib/systems/animation/catalogs/EnhancedAttackAnimations.d.ts +146 -0
  1089. package/lib/systems/animation/catalogs/EnhancedAttackAnimations.d.ts.map +1 -0
  1090. package/lib/systems/animation/catalogs/EnhancedAttackAnimations.js +100 -0
  1091. package/lib/systems/animation/catalogs/EnhancedAttackAnimations.js.map +1 -0
  1092. package/lib/systems/animation/catalogs/EnhancedElbowKneeAnimations.d.ts +81 -0
  1093. package/lib/systems/animation/catalogs/EnhancedElbowKneeAnimations.d.ts.map +1 -0
  1094. package/lib/systems/animation/catalogs/EnhancedElbowKneeAnimations.js +94 -0
  1095. package/lib/systems/animation/catalogs/EnhancedElbowKneeAnimations.js.map +1 -0
  1096. package/lib/systems/animation/catalogs/FootworkSkeletalAnimations.d.ts +268 -0
  1097. package/lib/systems/animation/catalogs/FootworkSkeletalAnimations.d.ts.map +1 -0
  1098. package/lib/systems/animation/catalogs/FootworkSkeletalAnimations.js +196 -0
  1099. package/lib/systems/animation/catalogs/FootworkSkeletalAnimations.js.map +1 -0
  1100. package/lib/systems/animation/catalogs/GamRedirectionAnimations.d.ts +64 -0
  1101. package/lib/systems/animation/catalogs/GamRedirectionAnimations.d.ts.map +1 -0
  1102. package/lib/systems/animation/catalogs/GamRedirectionAnimations.js +68 -0
  1103. package/lib/systems/animation/catalogs/GamRedirectionAnimations.js.map +1 -0
  1104. package/lib/systems/animation/catalogs/GamStanceAnimations.d.ts +111 -0
  1105. package/lib/systems/animation/catalogs/GamStanceAnimations.d.ts.map +1 -0
  1106. package/lib/systems/animation/catalogs/GamStanceAnimations.js +9 -0
  1107. package/lib/systems/animation/catalogs/GamStanceAnimations.js.map +1 -0
  1108. package/lib/systems/animation/catalogs/GamTechniqueAnimations.d.ts +82 -0
  1109. package/lib/systems/animation/catalogs/GamTechniqueAnimations.d.ts.map +1 -0
  1110. package/lib/systems/animation/catalogs/GamTechniqueAnimations.js +55 -0
  1111. package/lib/systems/animation/catalogs/GamTechniqueAnimations.js.map +1 -0
  1112. package/lib/systems/animation/catalogs/GanStanceAnimations.d.ts +122 -0
  1113. package/lib/systems/animation/catalogs/GanStanceAnimations.d.ts.map +1 -0
  1114. package/lib/systems/animation/catalogs/GanStanceAnimations.js +135 -0
  1115. package/lib/systems/animation/catalogs/GanStanceAnimations.js.map +1 -0
  1116. package/lib/systems/animation/catalogs/GanTechniqueAnimations.d.ts +78 -0
  1117. package/lib/systems/animation/catalogs/GanTechniqueAnimations.d.ts.map +1 -0
  1118. package/lib/systems/animation/catalogs/GanTechniqueAnimations.js +83 -0
  1119. package/lib/systems/animation/catalogs/GanTechniqueAnimations.js.map +1 -0
  1120. package/lib/systems/animation/catalogs/GeonStanceAnimations.d.ts +323 -0
  1121. package/lib/systems/animation/catalogs/GeonStanceAnimations.d.ts.map +1 -0
  1122. package/lib/systems/animation/catalogs/GeonStanceAnimations.js +341 -0
  1123. package/lib/systems/animation/catalogs/GeonStanceAnimations.js.map +1 -0
  1124. package/lib/systems/animation/catalogs/GonGuardPoses.d.ts +84 -0
  1125. package/lib/systems/animation/catalogs/GonGuardPoses.d.ts.map +1 -0
  1126. package/lib/systems/animation/catalogs/GonGuardPoses.js +6 -0
  1127. package/lib/systems/animation/catalogs/GonGuardPoses.js.map +1 -0
  1128. package/lib/systems/animation/catalogs/GonStanceAnimations.d.ts +134 -0
  1129. package/lib/systems/animation/catalogs/GonStanceAnimations.d.ts.map +1 -0
  1130. package/lib/systems/animation/catalogs/GonStanceAnimations.js +9 -0
  1131. package/lib/systems/animation/catalogs/GonStanceAnimations.js.map +1 -0
  1132. package/lib/systems/animation/catalogs/GonTechniqueAnimations.d.ts +265 -0
  1133. package/lib/systems/animation/catalogs/GonTechniqueAnimations.d.ts.map +1 -0
  1134. package/lib/systems/animation/catalogs/GonTechniqueAnimations.js +13 -0
  1135. package/lib/systems/animation/catalogs/GonTechniqueAnimations.js.map +1 -0
  1136. package/lib/systems/animation/catalogs/GrapplingAnimations.d.ts +452 -0
  1137. package/lib/systems/animation/catalogs/GrapplingAnimations.d.ts.map +1 -0
  1138. package/lib/systems/animation/catalogs/GrapplingAnimations.js +475 -0
  1139. package/lib/systems/animation/catalogs/GrapplingAnimations.js.map +1 -0
  1140. package/lib/systems/animation/catalogs/JinStanceAnimations.d.ts +98 -0
  1141. package/lib/systems/animation/catalogs/JinStanceAnimations.d.ts.map +1 -0
  1142. package/lib/systems/animation/catalogs/JinStanceAnimations.js +111 -0
  1143. package/lib/systems/animation/catalogs/JinStanceAnimations.js.map +1 -0
  1144. package/lib/systems/animation/catalogs/JinTechniqueAnimations.d.ts +80 -0
  1145. package/lib/systems/animation/catalogs/JinTechniqueAnimations.d.ts.map +1 -0
  1146. package/lib/systems/animation/catalogs/JinTechniqueAnimations.js +89 -0
  1147. package/lib/systems/animation/catalogs/JinTechniqueAnimations.js.map +1 -0
  1148. package/lib/systems/animation/catalogs/KickAnimations.d.ts +916 -0
  1149. package/lib/systems/animation/catalogs/KickAnimations.d.ts.map +1 -0
  1150. package/lib/systems/animation/catalogs/KickAnimations.js +929 -0
  1151. package/lib/systems/animation/catalogs/KickAnimations.js.map +1 -0
  1152. package/lib/systems/animation/catalogs/LiStanceAnimations.d.ts +140 -0
  1153. package/lib/systems/animation/catalogs/LiStanceAnimations.d.ts.map +1 -0
  1154. package/lib/systems/animation/catalogs/LiStanceAnimations.js +122 -0
  1155. package/lib/systems/animation/catalogs/LiStanceAnimations.js.map +1 -0
  1156. package/lib/systems/animation/catalogs/LiTechniqueAnimations.d.ts +104 -0
  1157. package/lib/systems/animation/catalogs/LiTechniqueAnimations.d.ts.map +1 -0
  1158. package/lib/systems/animation/catalogs/LiTechniqueAnimations.js +90 -0
  1159. package/lib/systems/animation/catalogs/LiTechniqueAnimations.js.map +1 -0
  1160. package/lib/systems/animation/catalogs/MovementAnimations.d.ts +344 -0
  1161. package/lib/systems/animation/catalogs/MovementAnimations.d.ts.map +1 -0
  1162. package/lib/systems/animation/catalogs/MovementAnimations.js +371 -0
  1163. package/lib/systems/animation/catalogs/MovementAnimations.js.map +1 -0
  1164. package/lib/systems/animation/catalogs/PunchAnimations.d.ts +496 -0
  1165. package/lib/systems/animation/catalogs/PunchAnimations.d.ts.map +1 -0
  1166. package/lib/systems/animation/catalogs/PunchAnimations.js +498 -0
  1167. package/lib/systems/animation/catalogs/PunchAnimations.js.map +1 -0
  1168. package/lib/systems/animation/catalogs/RecoveryAnimations.d.ts +184 -0
  1169. package/lib/systems/animation/catalogs/RecoveryAnimations.d.ts.map +1 -0
  1170. package/lib/systems/animation/catalogs/RecoveryAnimations.js +465 -0
  1171. package/lib/systems/animation/catalogs/RecoveryAnimations.js.map +1 -0
  1172. package/lib/systems/animation/catalogs/SonStanceAnimations.d.ts +149 -0
  1173. package/lib/systems/animation/catalogs/SonStanceAnimations.d.ts.map +1 -0
  1174. package/lib/systems/animation/catalogs/SonStanceAnimations.js +131 -0
  1175. package/lib/systems/animation/catalogs/SonStanceAnimations.js.map +1 -0
  1176. package/lib/systems/animation/catalogs/SonTechniqueAnimations.d.ts +90 -0
  1177. package/lib/systems/animation/catalogs/SonTechniqueAnimations.d.ts.map +1 -0
  1178. package/lib/systems/animation/catalogs/SonTechniqueAnimations.js +95 -0
  1179. package/lib/systems/animation/catalogs/SonTechniqueAnimations.js.map +1 -0
  1180. package/lib/systems/animation/catalogs/SpecializedPunchAnimations.d.ts +178 -0
  1181. package/lib/systems/animation/catalogs/SpecializedPunchAnimations.d.ts.map +1 -0
  1182. package/lib/systems/animation/catalogs/SpecializedPunchAnimations.js +188 -0
  1183. package/lib/systems/animation/catalogs/SpecializedPunchAnimations.js.map +1 -0
  1184. package/lib/systems/animation/catalogs/StanceAnimations.d.ts +687 -0
  1185. package/lib/systems/animation/catalogs/StanceAnimations.d.ts.map +1 -0
  1186. package/lib/systems/animation/catalogs/StanceAnimations.js +840 -0
  1187. package/lib/systems/animation/catalogs/StanceAnimations.js.map +1 -0
  1188. package/lib/systems/animation/catalogs/StanceAttackAnimations.d.ts +483 -0
  1189. package/lib/systems/animation/catalogs/StanceAttackAnimations.d.ts.map +1 -0
  1190. package/lib/systems/animation/catalogs/StanceAttackAnimations.js +2369 -0
  1191. package/lib/systems/animation/catalogs/StanceAttackAnimations.js.map +1 -0
  1192. package/lib/systems/animation/catalogs/StanceGuardPoses.d.ts +327 -0
  1193. package/lib/systems/animation/catalogs/StanceGuardPoses.d.ts.map +1 -0
  1194. package/lib/systems/animation/catalogs/StanceGuardPoses.js +655 -0
  1195. package/lib/systems/animation/catalogs/StanceGuardPoses.js.map +1 -0
  1196. package/lib/systems/animation/catalogs/StanceIdleAnimations.d.ts +255 -0
  1197. package/lib/systems/animation/catalogs/StanceIdleAnimations.d.ts.map +1 -0
  1198. package/lib/systems/animation/catalogs/StanceIdleAnimations.js +446 -0
  1199. package/lib/systems/animation/catalogs/StanceIdleAnimations.js.map +1 -0
  1200. package/lib/systems/animation/catalogs/StanceLocomotionAnimations.d.ts +207 -0
  1201. package/lib/systems/animation/catalogs/StanceLocomotionAnimations.d.ts.map +1 -0
  1202. package/lib/systems/animation/catalogs/StanceLocomotionAnimations.js +309 -0
  1203. package/lib/systems/animation/catalogs/StanceLocomotionAnimations.js.map +1 -0
  1204. package/lib/systems/animation/catalogs/StepAnimations.d.ts +274 -0
  1205. package/lib/systems/animation/catalogs/StepAnimations.d.ts.map +1 -0
  1206. package/lib/systems/animation/catalogs/StepAnimations.js +73 -0
  1207. package/lib/systems/animation/catalogs/StepAnimations.js.map +1 -0
  1208. package/lib/systems/animation/catalogs/StepSkeletalAnimations.d.ts +100 -0
  1209. package/lib/systems/animation/catalogs/StepSkeletalAnimations.d.ts.map +1 -0
  1210. package/lib/systems/animation/catalogs/StepSkeletalAnimations.js +99 -0
  1211. package/lib/systems/animation/catalogs/StepSkeletalAnimations.js.map +1 -0
  1212. package/lib/systems/animation/catalogs/TaeJointLockAnimations.d.ts +170 -0
  1213. package/lib/systems/animation/catalogs/TaeJointLockAnimations.d.ts.map +1 -0
  1214. package/lib/systems/animation/catalogs/TaeJointLockAnimations.js +141 -0
  1215. package/lib/systems/animation/catalogs/TaeJointLockAnimations.js.map +1 -0
  1216. package/lib/systems/animation/catalogs/TaeStanceAnimations.d.ts +120 -0
  1217. package/lib/systems/animation/catalogs/TaeStanceAnimations.d.ts.map +1 -0
  1218. package/lib/systems/animation/catalogs/TaeStanceAnimations.js +139 -0
  1219. package/lib/systems/animation/catalogs/TaeStanceAnimations.js.map +1 -0
  1220. package/lib/systems/animation/catalogs/index.d.ts +43 -0
  1221. package/lib/systems/animation/catalogs/index.d.ts.map +1 -0
  1222. package/lib/systems/animation/catalogs/index.js +36 -0
  1223. package/lib/systems/animation/constants/AnatomicalLimits.d.ts +234 -0
  1224. package/lib/systems/animation/constants/AnatomicalLimits.d.ts.map +1 -0
  1225. package/lib/systems/animation/constants/AnatomicalLimits.js +61 -0
  1226. package/lib/systems/animation/constants/AnatomicalLimits.js.map +1 -0
  1227. package/lib/systems/animation/constants/index.d.ts +13 -0
  1228. package/lib/systems/animation/constants/index.d.ts.map +1 -0
  1229. package/lib/systems/animation/core/AnimationHitTiming.d.ts +184 -0
  1230. package/lib/systems/animation/core/AnimationHitTiming.d.ts.map +1 -0
  1231. package/lib/systems/animation/core/AnimationHitTiming.js +766 -0
  1232. package/lib/systems/animation/core/AnimationHitTiming.js.map +1 -0
  1233. package/lib/systems/animation/core/AnimationOptimizations.d.ts +221 -0
  1234. package/lib/systems/animation/core/AnimationOptimizations.d.ts.map +1 -0
  1235. package/lib/systems/animation/core/AnimationOptimizations.js +322 -0
  1236. package/lib/systems/animation/core/AnimationOptimizations.js.map +1 -0
  1237. package/lib/systems/animation/core/AnimationPriority.d.ts +391 -0
  1238. package/lib/systems/animation/core/AnimationPriority.d.ts.map +1 -0
  1239. package/lib/systems/animation/core/AnimationPriority.js +349 -0
  1240. package/lib/systems/animation/core/AnimationPriority.js.map +1 -0
  1241. package/lib/systems/animation/core/AnimationRegistry.d.ts +220 -0
  1242. package/lib/systems/animation/core/AnimationRegistry.d.ts.map +1 -0
  1243. package/lib/systems/animation/core/AnimationRegistry.js +416 -0
  1244. package/lib/systems/animation/core/AnimationRegistry.js.map +1 -0
  1245. package/lib/systems/animation/core/AnimationStateMachine.d.ts +701 -0
  1246. package/lib/systems/animation/core/AnimationStateMachine.d.ts.map +1 -0
  1247. package/lib/systems/animation/core/AnimationStateMachine.js +1458 -0
  1248. package/lib/systems/animation/core/AnimationStateMachine.js.map +1 -0
  1249. package/lib/systems/animation/core/AnimationTransitions.d.ts +275 -0
  1250. package/lib/systems/animation/core/AnimationTransitions.d.ts.map +1 -0
  1251. package/lib/systems/animation/core/AnimationTransitions.js +920 -0
  1252. package/lib/systems/animation/core/AnimationTransitions.js.map +1 -0
  1253. package/lib/systems/animation/core/LateralityTransform.d.ts +120 -0
  1254. package/lib/systems/animation/core/LateralityTransform.d.ts.map +1 -0
  1255. package/lib/systems/animation/core/LateralityTransform.js +204 -0
  1256. package/lib/systems/animation/core/LateralityTransform.js.map +1 -0
  1257. package/lib/systems/animation/core/RecoveryPhaseEnhancer.d.ts +171 -0
  1258. package/lib/systems/animation/core/RecoveryPhaseEnhancer.d.ts.map +1 -0
  1259. package/lib/systems/animation/core/RecoveryPhaseEnhancer.js +122 -0
  1260. package/lib/systems/animation/core/RecoveryPhaseEnhancer.js.map +1 -0
  1261. package/lib/systems/animation/core/TechniqueAnimationMapper.d.ts +303 -0
  1262. package/lib/systems/animation/core/TechniqueAnimationMapper.d.ts.map +1 -0
  1263. package/lib/systems/animation/core/TechniqueAnimationMapper.js +770 -0
  1264. package/lib/systems/animation/core/TechniqueAnimationMapper.js.map +1 -0
  1265. package/lib/systems/animation/core/TechniqueAnimationMapping.d.ts +74 -0
  1266. package/lib/systems/animation/core/TechniqueAnimationMapping.d.ts.map +1 -0
  1267. package/lib/systems/animation/core/TechniqueAnimationMapping.js +1313 -0
  1268. package/lib/systems/animation/core/TechniqueAnimationMapping.js.map +1 -0
  1269. package/lib/systems/animation/core/TrigramAnimationMapping.d.ts +286 -0
  1270. package/lib/systems/animation/core/TrigramAnimationMapping.d.ts.map +1 -0
  1271. package/lib/systems/animation/core/TrigramAnimationMapping.js +6 -0
  1272. package/lib/systems/animation/core/TrigramStanceTransitions.d.ts +186 -0
  1273. package/lib/systems/animation/core/TrigramStanceTransitions.d.ts.map +1 -0
  1274. package/lib/systems/animation/core/TrigramStanceTransitions.js +8 -0
  1275. package/lib/systems/animation/core/TrigramStanceTransitions.js.map +1 -0
  1276. package/lib/systems/animation/core/index.d.ts +23 -0
  1277. package/lib/systems/animation/core/index.d.ts.map +1 -0
  1278. package/lib/systems/animation/core/index.js +16 -0
  1279. package/lib/systems/animation/core/types.d.ts +1360 -0
  1280. package/lib/systems/animation/core/types.d.ts.map +1 -0
  1281. package/lib/systems/animation/core/types.js +539 -0
  1282. package/lib/systems/animation/core/types.js.map +1 -0
  1283. package/lib/systems/animation/index.d.ts +16 -0
  1284. package/lib/systems/animation/index.d.ts.map +1 -0
  1285. package/lib/systems/animation/index.js +63 -0
  1286. package/lib/systems/animation/systems/AdvancedJointMovements.d.ts +614 -0
  1287. package/lib/systems/animation/systems/AdvancedJointMovements.d.ts.map +1 -0
  1288. package/lib/systems/animation/systems/AdvancedJointMovements.js +95 -0
  1289. package/lib/systems/animation/systems/AdvancedJointMovements.js.map +1 -0
  1290. package/lib/systems/animation/systems/BodyFacingSystem.d.ts +331 -0
  1291. package/lib/systems/animation/systems/BodyFacingSystem.d.ts.map +1 -0
  1292. package/lib/systems/animation/systems/BodyFacingSystem.js +327 -0
  1293. package/lib/systems/animation/systems/BodyFacingSystem.js.map +1 -0
  1294. package/lib/systems/animation/systems/FacialExpressions.d.ts +167 -0
  1295. package/lib/systems/animation/systems/FacialExpressions.d.ts.map +1 -0
  1296. package/lib/systems/animation/systems/FacialExpressions.js +76 -0
  1297. package/lib/systems/animation/systems/FacialExpressions.js.map +1 -0
  1298. package/lib/systems/animation/systems/FallAnimations.d.ts +174 -0
  1299. package/lib/systems/animation/systems/FallAnimations.d.ts.map +1 -0
  1300. package/lib/systems/animation/systems/FallAnimations.js +104 -0
  1301. package/lib/systems/animation/systems/FallAnimations.js.map +1 -0
  1302. package/lib/systems/animation/systems/HeadMovements.d.ts +152 -0
  1303. package/lib/systems/animation/systems/HeadMovements.d.ts.map +1 -0
  1304. package/lib/systems/animation/systems/HeadMovements.js +2 -0
  1305. package/lib/systems/animation/systems/MuscleActivation.d.ts +163 -0
  1306. package/lib/systems/animation/systems/MuscleActivation.d.ts.map +1 -0
  1307. package/lib/systems/animation/systems/MuscleActivation.js +427 -0
  1308. package/lib/systems/animation/systems/MuscleActivation.js.map +1 -0
  1309. package/lib/systems/animation/systems/RecoveryVisualization.d.ts +142 -0
  1310. package/lib/systems/animation/systems/RecoveryVisualization.d.ts.map +1 -0
  1311. package/lib/systems/animation/systems/RecoveryVisualization.js +1 -0
  1312. package/lib/systems/animation/systems/index.d.ts +17 -0
  1313. package/lib/systems/animation/systems/index.d.ts.map +1 -0
  1314. package/lib/systems/animation/systems/index.js +7 -0
  1315. package/lib/systems/animation/utils/AnimationMirror.d.ts +157 -0
  1316. package/lib/systems/animation/utils/AnimationMirror.d.ts.map +1 -0
  1317. package/lib/systems/animation/utils/AnimationMirror.js +30 -0
  1318. package/lib/systems/animation/utils/AnimationMirror.js.map +1 -0
  1319. package/lib/systems/audio/BoneImpactAudioSystem.d.ts +182 -0
  1320. package/lib/systems/audio/BoneImpactAudioSystem.d.ts.map +1 -0
  1321. package/lib/systems/audio/index.d.ts +7 -0
  1322. package/lib/systems/audio/index.d.ts.map +1 -0
  1323. package/lib/systems/bodypart/BodyPartDamageIntegration.d.ts +149 -0
  1324. package/lib/systems/bodypart/BodyPartDamageIntegration.d.ts.map +1 -0
  1325. package/lib/systems/bodypart/BodyPartDamageIntegration.js +38 -0
  1326. package/lib/systems/bodypart/BodyPartDamageIntegration.js.map +1 -0
  1327. package/lib/systems/bodypart/BodyPartHealthSystem.d.ts +233 -0
  1328. package/lib/systems/bodypart/BodyPartHealthSystem.d.ts.map +1 -0
  1329. package/lib/systems/bodypart/BodyPartHealthSystem.js +476 -0
  1330. package/lib/systems/bodypart/BodyPartHealthSystem.js.map +1 -0
  1331. package/lib/systems/bodypart/BodyPartPositionMapping.d.ts +116 -0
  1332. package/lib/systems/bodypart/BodyPartPositionMapping.d.ts.map +1 -0
  1333. package/lib/systems/bodypart/BodyPartPositionMapping.js +122 -0
  1334. package/lib/systems/bodypart/BodyPartPositionMapping.js.map +1 -0
  1335. package/lib/systems/bodypart/CombatInjuryIntegration.d.ts +191 -0
  1336. package/lib/systems/bodypart/CombatInjuryIntegration.d.ts.map +1 -0
  1337. package/lib/systems/bodypart/CombatInjuryIntegration.js +169 -0
  1338. package/lib/systems/bodypart/CombatInjuryIntegration.js.map +1 -0
  1339. package/lib/systems/bodypart/InjuryIntegration.d.ts +39 -0
  1340. package/lib/systems/bodypart/InjuryIntegration.d.ts.map +1 -0
  1341. package/lib/systems/bodypart/InjuryTracker.d.ts +256 -0
  1342. package/lib/systems/bodypart/InjuryTracker.d.ts.map +1 -0
  1343. package/lib/systems/bodypart/InjuryTracker.js +240 -0
  1344. package/lib/systems/bodypart/InjuryTracker.js.map +1 -0
  1345. package/lib/systems/bodypart/MovementPenaltySystem.d.ts +191 -0
  1346. package/lib/systems/bodypart/MovementPenaltySystem.d.ts.map +1 -0
  1347. package/lib/systems/bodypart/MovementPenaltySystem.js +255 -0
  1348. package/lib/systems/bodypart/MovementPenaltySystem.js.map +1 -0
  1349. package/lib/systems/bodypart/PlayerInjuryTrackingManager.d.ts +137 -0
  1350. package/lib/systems/bodypart/PlayerInjuryTrackingManager.d.ts.map +1 -0
  1351. package/lib/systems/bodypart/PlayerInjuryTrackingManager.js +175 -0
  1352. package/lib/systems/bodypart/PlayerInjuryTrackingManager.js.map +1 -0
  1353. package/lib/systems/bodypart/index.d.ts +22 -0
  1354. package/lib/systems/bodypart/index.d.ts.map +1 -0
  1355. package/lib/systems/bodypart/index.js +8 -0
  1356. package/lib/systems/bodypart/types.d.ts +453 -0
  1357. package/lib/systems/bodypart/types.d.ts.map +1 -0
  1358. package/lib/systems/bodypart/types.js +157 -0
  1359. package/lib/systems/bodypart/types.js.map +1 -0
  1360. package/lib/systems/breathing/BreathingDisruptionSystem.d.ts +289 -0
  1361. package/lib/systems/breathing/BreathingDisruptionSystem.d.ts.map +1 -0
  1362. package/lib/systems/breathing/BreathingDisruptionSystem.js +388 -0
  1363. package/lib/systems/breathing/BreathingDisruptionSystem.js.map +1 -0
  1364. package/lib/systems/breathing/feedback.d.ts +131 -0
  1365. package/lib/systems/breathing/feedback.d.ts.map +1 -0
  1366. package/lib/systems/breathing/feedback.js +80 -0
  1367. package/lib/systems/breathing/feedback.js.map +1 -0
  1368. package/lib/systems/breathing/index.d.ts +12 -0
  1369. package/lib/systems/breathing/index.d.ts.map +1 -0
  1370. package/lib/systems/breathing/index.js +3 -0
  1371. package/lib/systems/breathing/integration.d.ts +140 -0
  1372. package/lib/systems/breathing/integration.d.ts.map +1 -0
  1373. package/lib/systems/breathing/integration.js +194 -0
  1374. package/lib/systems/breathing/integration.js.map +1 -0
  1375. package/lib/systems/combat/AICounterAttackIntegration.d.ts +223 -0
  1376. package/lib/systems/combat/AICounterAttackIntegration.d.ts.map +1 -0
  1377. package/lib/systems/combat/BalanceSystem.d.ts +667 -0
  1378. package/lib/systems/combat/BalanceSystem.d.ts.map +1 -0
  1379. package/lib/systems/combat/BalanceSystem.js +811 -0
  1380. package/lib/systems/combat/BalanceSystem.js.map +1 -0
  1381. package/lib/systems/combat/BreakingStatusEffects.d.ts +96 -0
  1382. package/lib/systems/combat/BreakingStatusEffects.d.ts.map +1 -0
  1383. package/lib/systems/combat/BreakingStatusEffects.js +60 -0
  1384. package/lib/systems/combat/BreakingStatusEffects.js.map +1 -0
  1385. package/lib/systems/combat/CombatStateSystem.d.ts +264 -0
  1386. package/lib/systems/combat/CombatStateSystem.d.ts.map +1 -0
  1387. package/lib/systems/combat/CombatStateSystem.js +353 -0
  1388. package/lib/systems/combat/CombatStateSystem.js.map +1 -0
  1389. package/lib/systems/combat/ConsciousnessSystem.d.ts +402 -0
  1390. package/lib/systems/combat/ConsciousnessSystem.d.ts.map +1 -0
  1391. package/lib/systems/combat/ConsciousnessSystem.js +529 -0
  1392. package/lib/systems/combat/ConsciousnessSystem.js.map +1 -0
  1393. package/lib/systems/combat/FallIntegration.d.ts +82 -0
  1394. package/lib/systems/combat/FallIntegration.d.ts.map +1 -0
  1395. package/lib/systems/combat/FallIntegration.js +100 -0
  1396. package/lib/systems/combat/FallIntegration.js.map +1 -0
  1397. package/lib/systems/combat/GrappleSystem.d.ts +264 -0
  1398. package/lib/systems/combat/GrappleSystem.d.ts.map +1 -0
  1399. package/lib/systems/combat/GrappleSystem.js +393 -0
  1400. package/lib/systems/combat/GrappleSystem.js.map +1 -0
  1401. package/lib/systems/combat/LimbExposureSystem.d.ts +150 -0
  1402. package/lib/systems/combat/LimbExposureSystem.d.ts.map +1 -0
  1403. package/lib/systems/combat/LimbExposureSystem.js +308 -0
  1404. package/lib/systems/combat/LimbExposureSystem.js.map +1 -0
  1405. package/lib/systems/combat/PainResponseSystem.d.ts +299 -0
  1406. package/lib/systems/combat/PainResponseSystem.d.ts.map +1 -0
  1407. package/lib/systems/combat/PainResponseSystem.js +401 -0
  1408. package/lib/systems/combat/PainResponseSystem.js.map +1 -0
  1409. package/lib/systems/combat/SlowMotionController.d.ts +123 -0
  1410. package/lib/systems/combat/SlowMotionController.d.ts.map +1 -0
  1411. package/lib/systems/combat/TrainingCombatSystem.d.ts +89 -0
  1412. package/lib/systems/combat/TrainingCombatSystem.d.ts.map +1 -0
  1413. package/lib/systems/combat/TrainingCombatSystem.js +224 -0
  1414. package/lib/systems/combat/TrainingCombatSystem.js.map +1 -0
  1415. package/lib/systems/combat/index.d.ts +16 -0
  1416. package/lib/systems/combat/index.d.ts.map +1 -0
  1417. package/lib/systems/combat/index.js +10 -0
  1418. package/lib/systems/combat/painConsciousnessUtils.d.ts +147 -0
  1419. package/lib/systems/combat/painConsciousnessUtils.d.ts.map +1 -0
  1420. package/lib/systems/combat/painConsciousnessUtils.js +185 -0
  1421. package/lib/systems/combat/painConsciousnessUtils.js.map +1 -0
  1422. package/lib/systems/combat/typeGuards.d.ts +25 -0
  1423. package/lib/systems/combat/typeGuards.d.ts.map +1 -0
  1424. package/lib/systems/combat/typeGuards.js +39 -0
  1425. package/lib/systems/combat/typeGuards.js.map +1 -0
  1426. package/lib/systems/combat/types.d.ts +197 -0
  1427. package/lib/systems/combat/types.d.ts.map +1 -0
  1428. package/lib/systems/effects.d.ts +40 -0
  1429. package/lib/systems/effects.d.ts.map +1 -0
  1430. package/lib/systems/effects.js +44 -0
  1431. package/lib/systems/effects.js.map +1 -0
  1432. package/lib/systems/game.d.ts +77 -0
  1433. package/lib/systems/game.d.ts.map +1 -0
  1434. package/lib/systems/game.js +20 -0
  1435. package/lib/systems/game.js.map +1 -0
  1436. package/lib/systems/index.d.ts +24 -0
  1437. package/lib/systems/index.d.ts.map +1 -0
  1438. package/lib/systems/index.js +281 -0
  1439. package/lib/systems/index.js.map +1 -0
  1440. package/lib/systems/movement/InjuryMovementModifier.d.ts +275 -0
  1441. package/lib/systems/movement/InjuryMovementModifier.d.ts.map +1 -0
  1442. package/lib/systems/movement/InjuryMovementModifier.js +281 -0
  1443. package/lib/systems/movement/InjuryMovementModifier.js.map +1 -0
  1444. package/lib/systems/movement/helpers/AccelerationUpdater.d.ts +61 -0
  1445. package/lib/systems/movement/helpers/AccelerationUpdater.d.ts.map +1 -0
  1446. package/lib/systems/movement/helpers/AccelerationUpdater.js +75 -0
  1447. package/lib/systems/movement/helpers/AccelerationUpdater.js.map +1 -0
  1448. package/lib/systems/movement/helpers/accelerationUtils.d.ts +85 -0
  1449. package/lib/systems/movement/helpers/accelerationUtils.d.ts.map +1 -0
  1450. package/lib/systems/movement/helpers/accelerationUtils.js +86 -0
  1451. package/lib/systems/movement/helpers/accelerationUtils.js.map +1 -0
  1452. package/lib/systems/movement/index.d.ts +16 -0
  1453. package/lib/systems/movement/index.d.ts.map +1 -0
  1454. package/lib/systems/movement/integration.d.ts +91 -0
  1455. package/lib/systems/movement/integration.d.ts.map +1 -0
  1456. package/lib/systems/physics/AttackMovementPhysics.d.ts +283 -0
  1457. package/lib/systems/physics/AttackMovementPhysics.d.ts.map +1 -0
  1458. package/lib/systems/physics/AttackMovementPhysics.js +272 -0
  1459. package/lib/systems/physics/AttackMovementPhysics.js.map +1 -0
  1460. package/lib/systems/physics/CollisionDetection.d.ts +323 -0
  1461. package/lib/systems/physics/CollisionDetection.d.ts.map +1 -0
  1462. package/lib/systems/physics/CollisionDetection.js +543 -0
  1463. package/lib/systems/physics/CollisionDetection.js.map +1 -0
  1464. package/lib/systems/physics/CoordinateMapper.d.ts +203 -0
  1465. package/lib/systems/physics/CoordinateMapper.d.ts.map +1 -0
  1466. package/lib/systems/physics/CoordinateMapper.js +242 -0
  1467. package/lib/systems/physics/CoordinateMapper.js.map +1 -0
  1468. package/lib/systems/physics/KnockbackPhysics.d.ts +367 -0
  1469. package/lib/systems/physics/KnockbackPhysics.d.ts.map +1 -0
  1470. package/lib/systems/physics/KnockbackPhysics.js +338 -0
  1471. package/lib/systems/physics/KnockbackPhysics.js.map +1 -0
  1472. package/lib/systems/physics/MovementPhysics.d.ts +428 -0
  1473. package/lib/systems/physics/MovementPhysics.d.ts.map +1 -0
  1474. package/lib/systems/physics/MovementPhysics.js +488 -0
  1475. package/lib/systems/physics/MovementPhysics.js.map +1 -0
  1476. package/lib/systems/physics/PhysicalReachCalculator.d.ts +261 -0
  1477. package/lib/systems/physics/PhysicalReachCalculator.d.ts.map +1 -0
  1478. package/lib/systems/physics/PhysicalReachCalculator.js +226 -0
  1479. package/lib/systems/physics/PhysicalReachCalculator.js.map +1 -0
  1480. package/lib/systems/physics/SpeedModifierSystem.d.ts +302 -0
  1481. package/lib/systems/physics/SpeedModifierSystem.d.ts.map +1 -0
  1482. package/lib/systems/physics/SpeedModifierSystem.js +301 -0
  1483. package/lib/systems/physics/SpeedModifierSystem.js.map +1 -0
  1484. package/lib/systems/physics/__tests__/PhysicsPerformance.bench.d.ts +16 -0
  1485. package/lib/systems/physics/__tests__/PhysicsPerformance.bench.d.ts.map +1 -0
  1486. package/lib/systems/physics/index.d.ts +21 -0
  1487. package/lib/systems/physics/index.d.ts.map +1 -0
  1488. package/lib/systems/physics/index.js +7 -0
  1489. package/lib/systems/player.d.ts +386 -0
  1490. package/lib/systems/player.d.ts.map +1 -0
  1491. package/lib/systems/trigram/KoreanCulture.d.ts +127 -0
  1492. package/lib/systems/trigram/KoreanCulture.d.ts.map +1 -0
  1493. package/lib/systems/trigram/KoreanCulture.js +194 -0
  1494. package/lib/systems/trigram/KoreanCulture.js.map +1 -0
  1495. package/lib/systems/trigram/KoreanTechniques.d.ts +59 -0
  1496. package/lib/systems/trigram/KoreanTechniques.d.ts.map +1 -0
  1497. package/lib/systems/trigram/KoreanTechniques.js +140 -0
  1498. package/lib/systems/trigram/KoreanTechniques.js.map +1 -0
  1499. package/lib/systems/trigram/StanceManager.d.ts +90 -0
  1500. package/lib/systems/trigram/StanceManager.d.ts.map +1 -0
  1501. package/lib/systems/trigram/StanceManager.js +192 -0
  1502. package/lib/systems/trigram/StanceManager.js.map +1 -0
  1503. package/lib/systems/trigram/TransitionCalculator.d.ts +132 -0
  1504. package/lib/systems/trigram/TransitionCalculator.d.ts.map +1 -0
  1505. package/lib/systems/trigram/TransitionCalculator.js +233 -0
  1506. package/lib/systems/trigram/TransitionCalculator.js.map +1 -0
  1507. package/lib/systems/trigram/TrigramCalculator.d.ts +63 -0
  1508. package/lib/systems/trigram/TrigramCalculator.d.ts.map +1 -0
  1509. package/lib/systems/trigram/TrigramCalculator.js +148 -0
  1510. package/lib/systems/trigram/TrigramCalculator.js.map +1 -0
  1511. package/lib/systems/trigram/index.d.ts +12 -0
  1512. package/lib/systems/trigram/index.d.ts.map +1 -0
  1513. package/lib/systems/trigram/index.js +17 -0
  1514. package/lib/systems/trigram/techniques/DarkOpsTechniques.d.ts +118 -0
  1515. package/lib/systems/trigram/techniques/DarkOpsTechniques.d.ts.map +1 -0
  1516. package/lib/systems/trigram/techniques/DarkOpsTechniques.js +683 -0
  1517. package/lib/systems/trigram/techniques/DarkOpsTechniques.js.map +1 -0
  1518. package/lib/systems/trigram/techniques/GamTechniques.d.ts +44 -0
  1519. package/lib/systems/trigram/techniques/GamTechniques.d.ts.map +1 -0
  1520. package/lib/systems/trigram/techniques/GamTechniques.js +293 -0
  1521. package/lib/systems/trigram/techniques/GamTechniques.js.map +1 -0
  1522. package/lib/systems/trigram/techniques/GanTechniques.d.ts +58 -0
  1523. package/lib/systems/trigram/techniques/GanTechniques.d.ts.map +1 -0
  1524. package/lib/systems/trigram/techniques/GanTechniques.js +323 -0
  1525. package/lib/systems/trigram/techniques/GanTechniques.js.map +1 -0
  1526. package/lib/systems/trigram/techniques/GeonTechniques.d.ts +23 -0
  1527. package/lib/systems/trigram/techniques/GeonTechniques.d.ts.map +1 -0
  1528. package/lib/systems/trigram/techniques/GeonTechniques.js +299 -0
  1529. package/lib/systems/trigram/techniques/GeonTechniques.js.map +1 -0
  1530. package/lib/systems/trigram/techniques/GonTechniques.d.ts +51 -0
  1531. package/lib/systems/trigram/techniques/GonTechniques.d.ts.map +1 -0
  1532. package/lib/systems/trigram/techniques/GonTechniques.js +399 -0
  1533. package/lib/systems/trigram/techniques/GonTechniques.js.map +1 -0
  1534. package/lib/systems/trigram/techniques/JinTechniques.d.ts +23 -0
  1535. package/lib/systems/trigram/techniques/JinTechniques.d.ts.map +1 -0
  1536. package/lib/systems/trigram/techniques/JinTechniques.js +253 -0
  1537. package/lib/systems/trigram/techniques/JinTechniques.js.map +1 -0
  1538. package/lib/systems/trigram/techniques/LiTechniques.d.ts +23 -0
  1539. package/lib/systems/trigram/techniques/LiTechniques.d.ts.map +1 -0
  1540. package/lib/systems/trigram/techniques/LiTechniques.js +253 -0
  1541. package/lib/systems/trigram/techniques/LiTechniques.js.map +1 -0
  1542. package/lib/systems/trigram/techniques/SonTechniques.d.ts +43 -0
  1543. package/lib/systems/trigram/techniques/SonTechniques.d.ts.map +1 -0
  1544. package/lib/systems/trigram/techniques/SonTechniques.js +293 -0
  1545. package/lib/systems/trigram/techniques/SonTechniques.js.map +1 -0
  1546. package/lib/systems/trigram/techniques/TaeTechniques.d.ts +23 -0
  1547. package/lib/systems/trigram/techniques/TaeTechniques.d.ts.map +1 -0
  1548. package/lib/systems/trigram/techniques/TaeTechniques.js +292 -0
  1549. package/lib/systems/trigram/techniques/TaeTechniques.js.map +1 -0
  1550. package/lib/systems/trigram/techniques/TechniqueConfig.d.ts +403 -0
  1551. package/lib/systems/trigram/techniques/TechniqueConfig.d.ts.map +1 -0
  1552. package/lib/systems/trigram/techniques/TechniqueConfig.js +493 -0
  1553. package/lib/systems/trigram/techniques/TechniqueConfig.js.map +1 -0
  1554. package/lib/systems/trigram/techniques/index.d.ts +54 -0
  1555. package/lib/systems/trigram/techniques/index.d.ts.map +1 -0
  1556. package/lib/systems/trigram/techniques/index.js +88 -0
  1557. package/lib/systems/trigram/techniques/index.js.map +1 -0
  1558. package/lib/systems/trigram/types/GonTechniqueExtensions.d.ts +506 -0
  1559. package/lib/systems/trigram/types/GonTechniqueExtensions.d.ts.map +1 -0
  1560. package/lib/systems/trigram/types/GonTechniqueExtensions.js +37 -0
  1561. package/lib/systems/trigram/types/GonTechniqueExtensions.js.map +1 -0
  1562. package/lib/systems/trigram/types.d.ts +288 -0
  1563. package/lib/systems/trigram/types.d.ts.map +1 -0
  1564. package/lib/systems/trigram/types.js +459 -0
  1565. package/lib/systems/trigram/types.js.map +1 -0
  1566. package/lib/systems/types.d.ts +1038 -0
  1567. package/lib/systems/types.d.ts.map +1 -0
  1568. package/lib/systems/types.js +872 -0
  1569. package/lib/systems/types.js.map +1 -0
  1570. package/lib/systems/vitalpoint/DamageCalculator.d.ts +255 -0
  1571. package/lib/systems/vitalpoint/DamageCalculator.d.ts.map +1 -0
  1572. package/lib/systems/vitalpoint/DamageCalculator.js +435 -0
  1573. package/lib/systems/vitalpoint/DamageCalculator.js.map +1 -0
  1574. package/lib/systems/vitalpoint/HitDetection.d.ts +11 -0
  1575. package/lib/systems/vitalpoint/HitDetection.d.ts.map +1 -0
  1576. package/lib/systems/vitalpoint/HitDetection.js +69 -0
  1577. package/lib/systems/vitalpoint/HitDetection.js.map +1 -0
  1578. package/lib/systems/vitalpoint/KoreanAnatomy.d.ts +361 -0
  1579. package/lib/systems/vitalpoint/KoreanAnatomy.d.ts.map +1 -0
  1580. package/lib/systems/vitalpoint/KoreanAnatomy.js +1709 -0
  1581. package/lib/systems/vitalpoint/KoreanAnatomy.js.map +1 -0
  1582. package/lib/systems/vitalpoint/KoreanVitalPoints.d.ts +133 -0
  1583. package/lib/systems/vitalpoint/KoreanVitalPoints.d.ts.map +1 -0
  1584. package/lib/systems/vitalpoint/KoreanVitalPoints.js +150 -0
  1585. package/lib/systems/vitalpoint/KoreanVitalPoints.js.map +1 -0
  1586. package/lib/systems/vitalpoint/MeridianVitalPointMapping.d.ts +92 -0
  1587. package/lib/systems/vitalpoint/MeridianVitalPointMapping.d.ts.map +1 -0
  1588. package/lib/systems/vitalpoint/MeridianVitalPointMapping.js +227 -0
  1589. package/lib/systems/vitalpoint/MeridianVitalPointMapping.js.map +1 -0
  1590. package/lib/systems/vitalpoint/VitalPointsData.d.ts +51 -0
  1591. package/lib/systems/vitalpoint/VitalPointsData.d.ts.map +1 -0
  1592. package/lib/systems/vitalpoint/VitalPointsData.js +1917 -0
  1593. package/lib/systems/vitalpoint/VitalPointsData.js.map +1 -0
  1594. package/lib/systems/vitalpoint/index.d.ts +12 -0
  1595. package/lib/systems/vitalpoint/index.d.ts.map +1 -0
  1596. package/lib/systems/vitalpoint/index.js +5 -0
  1597. package/lib/systems/vitalpoint/types.d.ts +417 -0
  1598. package/lib/systems/vitalpoint/types.d.ts.map +1 -0
  1599. package/lib/test/test-utils.d.ts +46 -0
  1600. package/lib/test/test-utils.d.ts.map +1 -0
  1601. package/lib/types/AccessibilityTypes.d.ts +232 -0
  1602. package/lib/types/AccessibilityTypes.d.ts.map +1 -0
  1603. package/lib/types/AccessibilityTypes.js +13 -0
  1604. package/lib/types/AccessibilityTypes.js.map +1 -0
  1605. package/lib/types/HtmlOverlayTypes.d.ts +161 -0
  1606. package/lib/types/HtmlOverlayTypes.d.ts.map +1 -0
  1607. package/lib/types/LayoutTypes.d.ts +330 -0
  1608. package/lib/types/LayoutTypes.d.ts.map +1 -0
  1609. package/lib/types/LayoutTypes.js +118 -0
  1610. package/lib/types/LayoutTypes.js.map +1 -0
  1611. package/lib/types/PhysicsTypes.d.ts +327 -0
  1612. package/lib/types/PhysicsTypes.d.ts.map +1 -0
  1613. package/lib/types/PhysicsTypes.js +105 -0
  1614. package/lib/types/PhysicsTypes.js.map +1 -0
  1615. package/lib/types/ResponsiveTypes.d.ts +210 -0
  1616. package/lib/types/ResponsiveTypes.d.ts.map +1 -0
  1617. package/lib/types/clothing.d.ts +298 -0
  1618. package/lib/types/clothing.d.ts.map +1 -0
  1619. package/lib/types/common.d.ts +1247 -0
  1620. package/lib/types/common.d.ts.map +1 -0
  1621. package/lib/types/common.js +622 -0
  1622. package/lib/types/common.js.map +1 -0
  1623. package/lib/types/constants/animations.d.ts +93 -0
  1624. package/lib/types/constants/animations.d.ts.map +1 -0
  1625. package/lib/types/constants/animations.js +26 -0
  1626. package/lib/types/constants/animations.js.map +1 -0
  1627. package/lib/types/constants/colors.d.ts +151 -0
  1628. package/lib/types/constants/colors.d.ts.map +1 -0
  1629. package/lib/types/constants/colors.js +155 -0
  1630. package/lib/types/constants/colors.js.map +1 -0
  1631. package/lib/types/constants/designSystem.d.ts +469 -0
  1632. package/lib/types/constants/designSystem.d.ts.map +1 -0
  1633. package/lib/types/constants/designSystem.js +406 -0
  1634. package/lib/types/constants/designSystem.js.map +1 -0
  1635. package/lib/types/constants/index.d.ts +181 -0
  1636. package/lib/types/constants/index.d.ts.map +1 -0
  1637. package/lib/types/constants/index.js +176 -0
  1638. package/lib/types/constants/index.js.map +1 -0
  1639. package/lib/types/constants/layout.d.ts +76 -0
  1640. package/lib/types/constants/layout.d.ts.map +1 -0
  1641. package/lib/types/constants/layout.js +37 -0
  1642. package/lib/types/constants/layout.js.map +1 -0
  1643. package/lib/types/constants/performance.d.ts +183 -0
  1644. package/lib/types/constants/performance.d.ts.map +1 -0
  1645. package/lib/types/constants/performance.js +134 -0
  1646. package/lib/types/constants/performance.js.map +1 -0
  1647. package/lib/types/constants/typography.d.ts +85 -0
  1648. package/lib/types/constants/typography.d.ts.map +1 -0
  1649. package/lib/types/constants/typography.js +110 -0
  1650. package/lib/types/constants/typography.js.map +1 -0
  1651. package/lib/types/constants/ui.d.ts +187 -0
  1652. package/lib/types/constants/ui.d.ts.map +1 -0
  1653. package/lib/types/constants/ui.js +113 -0
  1654. package/lib/types/constants/ui.js.map +1 -0
  1655. package/lib/types/facial.d.ts +266 -0
  1656. package/lib/types/facial.d.ts.map +1 -0
  1657. package/lib/types/facial.js +92 -0
  1658. package/lib/types/facial.js.map +1 -0
  1659. package/lib/types/hand-animation.d.ts +370 -0
  1660. package/lib/types/hand-animation.d.ts.map +1 -0
  1661. package/lib/types/hand-animation.js +55 -0
  1662. package/lib/types/hand-animation.js.map +1 -0
  1663. package/lib/types/index.d.ts +14 -0
  1664. package/lib/types/index.d.ts.map +1 -0
  1665. package/lib/types/index.js +112 -0
  1666. package/lib/types/index.js.map +1 -0
  1667. package/lib/types/injury.d.ts +58 -0
  1668. package/lib/types/injury.d.ts.map +1 -0
  1669. package/lib/types/injury.js +23 -0
  1670. package/lib/types/injury.js.map +1 -0
  1671. package/lib/types/muscle.d.ts +146 -0
  1672. package/lib/types/muscle.d.ts.map +1 -0
  1673. package/lib/types/muscle.js +22 -0
  1674. package/lib/types/muscle.js.map +1 -0
  1675. package/lib/types/physics.d.ts +606 -0
  1676. package/lib/types/physics.d.ts.map +1 -0
  1677. package/lib/types/physics.js +162 -0
  1678. package/lib/types/physics.js.map +1 -0
  1679. package/lib/types/physicsConstants.d.ts +270 -0
  1680. package/lib/types/physicsConstants.d.ts.map +1 -0
  1681. package/lib/types/physicsConstants.js +71 -0
  1682. package/lib/types/physicsConstants.js.map +1 -0
  1683. package/lib/types/player-visual.d.ts +299 -0
  1684. package/lib/types/player-visual.d.ts.map +1 -0
  1685. package/lib/types/skeletal.d.ts +693 -0
  1686. package/lib/types/skeletal.d.ts.map +1 -0
  1687. package/lib/types/skeletal.js +189 -0
  1688. package/lib/types/skeletal.js.map +1 -0
  1689. package/lib/types/technique.d.ts +175 -0
  1690. package/lib/types/technique.d.ts.map +1 -0
  1691. package/lib/types/techniqueId.d.ts +51 -0
  1692. package/lib/types/techniqueId.d.ts.map +1 -0
  1693. package/lib/types/techniqueId.js +55 -0
  1694. package/lib/types/techniqueId.js.map +1 -0
  1695. package/lib/utils/EventManager.d.ts +133 -0
  1696. package/lib/utils/EventManager.d.ts.map +1 -0
  1697. package/lib/utils/EventManager.js +1 -0
  1698. package/lib/utils/accessibility.d.ts +218 -0
  1699. package/lib/utils/accessibility.d.ts.map +1 -0
  1700. package/lib/utils/accessibility.js +167 -0
  1701. package/lib/utils/accessibility.js.map +1 -0
  1702. package/lib/utils/arenaWorldDimensions.d.ts +219 -0
  1703. package/lib/utils/arenaWorldDimensions.d.ts.map +1 -0
  1704. package/lib/utils/arenaWorldDimensions.js +154 -0
  1705. package/lib/utils/arenaWorldDimensions.js.map +1 -0
  1706. package/lib/utils/assetConfig.d.ts +39 -0
  1707. package/lib/utils/assetConfig.d.ts.map +1 -0
  1708. package/lib/utils/assetConfig.js +52 -0
  1709. package/lib/utils/assetConfig.js.map +1 -0
  1710. package/lib/utils/cameraShake.d.ts +115 -0
  1711. package/lib/utils/cameraShake.d.ts.map +1 -0
  1712. package/lib/utils/characterScaling.d.ts +305 -0
  1713. package/lib/utils/characterScaling.d.ts.map +1 -0
  1714. package/lib/utils/characterScaling.js +105 -0
  1715. package/lib/utils/characterScaling.js.map +1 -0
  1716. package/lib/utils/clothingColors.d.ts +120 -0
  1717. package/lib/utils/clothingColors.d.ts.map +1 -0
  1718. package/lib/utils/clothingMaterials.d.ts +65 -0
  1719. package/lib/utils/clothingMaterials.d.ts.map +1 -0
  1720. package/lib/utils/colorHelpers.d.ts +67 -0
  1721. package/lib/utils/colorHelpers.d.ts.map +1 -0
  1722. package/lib/utils/colorHelpers.js +81 -0
  1723. package/lib/utils/colorHelpers.js.map +1 -0
  1724. package/lib/utils/colorUtils.d.ts +113 -0
  1725. package/lib/utils/colorUtils.d.ts.map +1 -0
  1726. package/lib/utils/colorUtils.js +225 -0
  1727. package/lib/utils/colorUtils.js.map +1 -0
  1728. package/lib/utils/combatReadiness.d.ts +132 -0
  1729. package/lib/utils/combatReadiness.d.ts.map +1 -0
  1730. package/lib/utils/combatReadiness.js +176 -0
  1731. package/lib/utils/combatReadiness.js.map +1 -0
  1732. package/lib/utils/controlMapping.d.ts +171 -0
  1733. package/lib/utils/controlMapping.d.ts.map +1 -0
  1734. package/lib/utils/controlMapping.js +288 -0
  1735. package/lib/utils/controlMapping.js.map +1 -0
  1736. package/lib/utils/deviceDetection.d.ts +159 -0
  1737. package/lib/utils/deviceDetection.d.ts.map +1 -0
  1738. package/lib/utils/deviceDetection.js +337 -0
  1739. package/lib/utils/deviceDetection.js.map +1 -0
  1740. package/lib/utils/effectUtils.d.ts +63 -0
  1741. package/lib/utils/effectUtils.d.ts.map +1 -0
  1742. package/lib/utils/effectUtils.js +737 -0
  1743. package/lib/utils/effectUtils.js.map +1 -0
  1744. package/lib/utils/eventConstants.d.ts +25 -0
  1745. package/lib/utils/eventConstants.d.ts.map +1 -0
  1746. package/lib/utils/eventConstants.js +3 -0
  1747. package/lib/utils/eventConstants.js.map +1 -0
  1748. package/lib/utils/fabricTextures.d.ts +136 -0
  1749. package/lib/utils/fabricTextures.d.ts.map +1 -0
  1750. package/lib/utils/fabricTextures.js +301 -0
  1751. package/lib/utils/fabricTextures.js.map +1 -0
  1752. package/lib/utils/hapticFeedback.d.ts +224 -0
  1753. package/lib/utils/hapticFeedback.d.ts.map +1 -0
  1754. package/lib/utils/hapticFeedback.js +143 -0
  1755. package/lib/utils/hapticFeedback.js.map +1 -0
  1756. package/lib/utils/haptics.d.ts +139 -0
  1757. package/lib/utils/haptics.d.ts.map +1 -0
  1758. package/lib/utils/haptics.js +66 -0
  1759. package/lib/utils/haptics.js.map +1 -0
  1760. package/lib/utils/htmlOverlayHelpers.d.ts +168 -0
  1761. package/lib/utils/htmlOverlayHelpers.d.ts.map +1 -0
  1762. package/lib/utils/htmlOverlayHelpers.js +279 -0
  1763. package/lib/utils/htmlOverlayHelpers.js.map +1 -0
  1764. package/lib/utils/index.d.ts +15 -0
  1765. package/lib/utils/index.d.ts.map +1 -0
  1766. package/lib/utils/index.js +92 -0
  1767. package/lib/utils/index.js.map +1 -0
  1768. package/lib/utils/inputSystem.d.ts +154 -0
  1769. package/lib/utils/inputSystem.d.ts.map +1 -0
  1770. package/lib/utils/inputSystem.js +324 -0
  1771. package/lib/utils/inputSystem.js.map +1 -0
  1772. package/lib/utils/koreanThemeHelpers.d.ts +328 -0
  1773. package/lib/utils/koreanThemeHelpers.d.ts.map +1 -0
  1774. package/lib/utils/koreanThemeHelpers.js +348 -0
  1775. package/lib/utils/koreanThemeHelpers.js.map +1 -0
  1776. package/lib/utils/math.d.ts +80 -0
  1777. package/lib/utils/math.d.ts.map +1 -0
  1778. package/lib/utils/math.js +70 -0
  1779. package/lib/utils/math.js.map +1 -0
  1780. package/lib/utils/mobileLayoutHelpers.d.ts +52 -0
  1781. package/lib/utils/mobileLayoutHelpers.d.ts.map +1 -0
  1782. package/lib/utils/mobileLayoutHelpers.js +66 -0
  1783. package/lib/utils/mobileLayoutHelpers.js.map +1 -0
  1784. package/lib/utils/mobileUIUtils.d.ts +266 -0
  1785. package/lib/utils/mobileUIUtils.d.ts.map +1 -0
  1786. package/lib/utils/mobileUIUtils.js +33 -0
  1787. package/lib/utils/mobileUIUtils.js.map +1 -0
  1788. package/lib/utils/objectPool.d.ts +92 -0
  1789. package/lib/utils/objectPool.d.ts.map +1 -0
  1790. package/lib/utils/particlePool.d.ts +138 -0
  1791. package/lib/utils/particlePool.d.ts.map +1 -0
  1792. package/lib/utils/performance/PerformanceMonitor.d.ts +93 -0
  1793. package/lib/utils/performance/PerformanceMonitor.d.ts.map +1 -0
  1794. package/lib/utils/performance/PerformanceMonitor.js +155 -0
  1795. package/lib/utils/performance/PerformanceMonitor.js.map +1 -0
  1796. package/lib/utils/performance/PerformanceOverlay3D.d.ts +20 -0
  1797. package/lib/utils/performance/PerformanceOverlay3D.d.ts.map +1 -0
  1798. package/lib/utils/performance/PerformanceOverlay3D.js +200 -0
  1799. package/lib/utils/performance/PerformanceOverlay3D.js.map +1 -0
  1800. package/lib/utils/performance/index.d.ts +12 -0
  1801. package/lib/utils/performance/index.d.ts.map +1 -0
  1802. package/lib/utils/performance/index.js +3 -0
  1803. package/lib/utils/performance/usePerformanceMonitor.d.ts +46 -0
  1804. package/lib/utils/performance/usePerformanceMonitor.d.ts.map +1 -0
  1805. package/lib/utils/performance/usePerformanceMonitor.js +71 -0
  1806. package/lib/utils/performance/usePerformanceMonitor.js.map +1 -0
  1807. package/lib/utils/performanceOptimization.d.ts +142 -0
  1808. package/lib/utils/performanceOptimization.d.ts.map +1 -0
  1809. package/lib/utils/performanceOptimization.js +27 -0
  1810. package/lib/utils/performanceOptimization.js.map +1 -0
  1811. package/lib/utils/physicalAttributeValidation.d.ts +197 -0
  1812. package/lib/utils/physicalAttributeValidation.d.ts.map +1 -0
  1813. package/lib/utils/player3DHelpers.d.ts +82 -0
  1814. package/lib/utils/player3DHelpers.d.ts.map +1 -0
  1815. package/lib/utils/player3DHelpers.js +176 -0
  1816. package/lib/utils/player3DHelpers.js.map +1 -0
  1817. package/lib/utils/playerUtils.d.ts +137 -0
  1818. package/lib/utils/playerUtils.d.ts.map +1 -0
  1819. package/lib/utils/playerUtils.js +296 -0
  1820. package/lib/utils/playerUtils.js.map +1 -0
  1821. package/lib/utils/responsiveLayout.d.ts +207 -0
  1822. package/lib/utils/responsiveLayout.d.ts.map +1 -0
  1823. package/lib/utils/responsiveLayout.js +114 -0
  1824. package/lib/utils/responsiveLayout.js.map +1 -0
  1825. package/lib/utils/responsiveLayoutHelpers.d.ts +156 -0
  1826. package/lib/utils/responsiveLayoutHelpers.d.ts.map +1 -0
  1827. package/lib/utils/responsiveLayoutHelpers.js +253 -0
  1828. package/lib/utils/responsiveLayoutHelpers.js.map +1 -0
  1829. package/lib/utils/safeAreaUtils.d.ts +133 -0
  1830. package/lib/utils/safeAreaUtils.d.ts.map +1 -0
  1831. package/lib/utils/safeAreaUtils.js +65 -0
  1832. package/lib/utils/safeAreaUtils.js.map +1 -0
  1833. package/lib/utils/sharedPhysicsConfig.d.ts +125 -0
  1834. package/lib/utils/sharedPhysicsConfig.d.ts.map +1 -0
  1835. package/lib/utils/sharedPhysicsConfig.js +119 -0
  1836. package/lib/utils/sharedPhysicsConfig.js.map +1 -0
  1837. package/lib/utils/skeletonScaling.d.ts +285 -0
  1838. package/lib/utils/skeletonScaling.d.ts.map +1 -0
  1839. package/lib/utils/skeletonScaling.js +46 -0
  1840. package/lib/utils/skeletonScaling.js.map +1 -0
  1841. package/lib/utils/stanceHelpers.d.ts +85 -0
  1842. package/lib/utils/stanceHelpers.d.ts.map +1 -0
  1843. package/lib/utils/stanceHelpers.js +132 -0
  1844. package/lib/utils/stanceHelpers.js.map +1 -0
  1845. package/lib/utils/threeObjectPool.d.ts +323 -0
  1846. package/lib/utils/threeObjectPool.d.ts.map +1 -0
  1847. package/lib/utils/threeObjectPool.js +345 -0
  1848. package/lib/utils/threeObjectPool.js.map +1 -0
  1849. package/lib/utils/visualEffects.d.ts +358 -0
  1850. package/lib/utils/visualEffects.d.ts.map +1 -0
  1851. package/lib/utils/visualEffects.js +423 -0
  1852. package/lib/utils/visualEffects.js.map +1 -0
  1853. package/package.json +222 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CombatSystem.js","names":[],"sources":["../../src/systems/CombatSystem.ts"],"sourcesContent":["import * as THREE from \"three\";\nimport { getArchetypePhysicalAttributes } from \"../data/archetypePhysicalAttributes\";\nimport { getTechniqueById } from \"../data/techniques\";\nimport { BodyRegion, CombatAttackType, CombatState, DamageType, GrappleTarget } from \"../types\";\nimport { VitalPointCategory, VitalPointSeverity } from \"../types/common\";\nimport { BASE_STAMINA_REGEN_RATE } from \"../types/physicsConstants\";\nimport { Technique } from \"../types/technique\";\nimport { calculateDistance3D } from \"../utils/math\";\nimport { calculateBodyRadius } from \"../utils/skeletonScaling\";\nimport type { DefensiveAnimationType } from \"./animation\";\nimport {\n AnimationType,\n calculateSpeedModifierForDamage,\n determineAnimationTypeForTechnique,\n getAdjustedAnimationDuration,\n getAnimationNameForType,\n isWithinHitWindow,\n} from \"./animation\";\nimport { applyDamageToBodyParts } from \"./bodypart/BodyPartDamageIntegration\";\nimport { playerInjuryManager } from \"./bodypart\";\nimport {\n applyBreathingDisruptionFromVitalPoint,\n applyBreathingDisruptionFromTorsoDamage,\n BreathingDisruptionSystem,\n causesBreathingDisruption,\n updateBreathingDisruption,\n} from \"./breathing\";\nimport BalanceSystem from \"./combat/BalanceSystem\";\nimport ConsciousnessSystem from \"./combat/ConsciousnessSystem\";\nimport {\n extractVitalPointCategory,\n isHeadTraumaHit,\n} from \"./combat/painConsciousnessUtils\";\nimport PainResponseSystem, {\n ShockPainEffect,\n} from \"./combat/PainResponseSystem\";\nimport { CombatResult, CombatSystemInterface } from \"./combat/types\";\nimport {\n CollisionDetection,\n KnockbackPhysics,\n physicalReachCalculator,\n type KnockbackConfig,\n} from \"./physics\";\nimport { PlayerState } from \"./player\";\nimport {\n addEffectsToPlayer,\n getEffectModifiers,\n removeExpiredEffects,\n} from \"./PlayerEffectManager\";\nimport { TRIGRAM_TECHNIQUES } from \"./trigram\";\nimport { TrigramSystem } from \"./TrigramSystem\";\nimport { StatusEffect } from \"./types\";\nimport { KoreanTechnique, VitalPointHitResult } from \"./vitalpoint/types\";\nimport { VitalPointSystem } from \"./VitalPointSystem\";\nimport { GrappleSystem } from \"./combat/GrappleSystem\";\n\n/**\n * Enhanced Combat System with Pain Response and Consciousness integration.\n *\n * Integrates realistic pain accumulation and consciousness tracking for\n * progressive combat impairment.\n */\nexport class CombatSystem implements CombatSystemInterface {\n private vitalPointSystem: VitalPointSystem;\n protected trigramSystem: TrigramSystem;\n private painSystem: PainResponseSystem;\n private consciousnessSystem: ConsciousnessSystem;\n private balanceSystem: BalanceSystem;\n private knockbackPhysics: KnockbackPhysics;\n private collisionDetection: CollisionDetection;\n private grappleSystem: GrappleSystem;\n\n // Track shock pain effects per player\n private shockPainEffects: Map<string, ShockPainEffect>;\n // Track last head trauma time per player for consciousness recovery\n private lastHeadTraumaTime: Map<string, number>;\n\n // Vital point severity thresholds\n private readonly SEVERITY_MAJOR_THRESHOLD = 30;\n private readonly SEVERITY_MODERATE_THRESHOLD = 20;\n\n constructor() {\n this.vitalPointSystem = new VitalPointSystem();\n this.trigramSystem = new TrigramSystem();\n this.painSystem = new PainResponseSystem();\n this.consciousnessSystem = new ConsciousnessSystem();\n this.balanceSystem = new BalanceSystem();\n this.knockbackPhysics = new KnockbackPhysics();\n this.collisionDetection = new CollisionDetection();\n this.grappleSystem = new GrappleSystem();\n this.shockPainEffects = new Map();\n this.lastHeadTraumaTime = new Map();\n }\n\n /**\n * Cleanup per-player combat state.\n *\n * Call this when a player permanently leaves the match or when\n * match-level cleanup is performed to avoid unbounded Map growth.\n *\n * @param playerId - ID of the player to cleanup\n *\n * @public\n * @korean 플레이어데이터정리\n */\n public cleanupPlayerData(playerId: string): void {\n this.shockPainEffects.delete(playerId);\n this.lastHeadTraumaTime.delete(playerId);\n }\n\n /**\n * Dispose of all combat system resources.\n *\n * **Korean**: 전투 시스템 자원 정리\n *\n * Cleans up Three.js resources (geometries, raycaster) used by the collision\n * detection system to prevent memory leaks. Should be called when the\n * CombatSystem is destroyed or reinitialized.\n *\n * @public\n * @korean 전투시스템자원정리\n */\n public dispose(): void {\n // Dispose collision detection resources (cached geometries, raycaster)\n this.collisionDetection.dispose();\n }\n\n /**\n * Get the balance system instance for fall checking.\n *\n * @returns BalanceSystem instance\n * @public\n * @korean 균형시스템가져오기\n */\n public getBalanceSystem(): BalanceSystem {\n return this.balanceSystem;\n }\n\n /**\n * Get the consciousness system instance for fall checking.\n *\n * @returns ConsciousnessSystem instance\n * @public\n * @korean 의식시스템가져오기\n */\n public getConsciousnessSystem(): ConsciousnessSystem {\n return this.consciousnessSystem;\n }\n\n /**\n * Get the collision detection system instance.\n *\n * @returns CollisionDetection instance\n * @public\n * @korean 충돌감지시스템가져오기\n */\n public getCollisionDetection(): CollisionDetection {\n return this.collisionDetection;\n }\n\n /**\n * Calculate knockback physics for combat hit.\n *\n * **Korean**: 밀침 계산 (Calculate Knockback)\n *\n * Determines knockback displacement, duration, and fall state based on:\n * - Attack damage amount\n * - Defender's balance state\n * - Defender's stance resistance\n * - Attack direction vector\n *\n * @param attacker - Attacking player state\n * @param defender - Defending player state\n * @param damage - Total damage dealt\n * @returns Knockback information or undefined if no knockback\n *\n * @example\n * ```typescript\n * const knockback = this.calculateKnockback(attacker, defender, 80);\n * // Returns: { displacement: {x:2.5,y:0,z:0}, duration:0.8, recoveryWindow:0.7, shouldFall:false }\n * ```\n *\n * @private\n * @korean 밀침계산\n */\n private calculateKnockback(\n attacker: PlayerState,\n defender: PlayerState,\n damage: number,\n ): CombatResult[\"knockback\"] {\n // Calculate attack direction vector (attacker → defender)\n const attackDirection = new THREE.Vector3(\n defender.position.x - attacker.position.x,\n 0, // Keep knockback on horizontal plane\n defender.position.y - attacker.position.y,\n );\n\n // If attacker and defender are at the exact same position, skip knockback to avoid NaN direction\n if (attackDirection.lengthSq() === 0) {\n return undefined;\n }\n\n attackDirection.normalize();\n\n // Create knockback configuration\n const config: KnockbackConfig = {\n force: damage * 10, // Convert damage to force (arbitrary scaling)\n direction: attackDirection,\n duration: 0, // Will be calculated by physics engine\n balanceState: {\n current: defender.balance,\n max: 100, // Assuming max balance is always 100\n },\n currentStance: defender.currentStance,\n };\n\n // Calculate knockback result\n const result = this.knockbackPhysics.calculateKnockback(config, damage);\n\n // Convert Three.js Vector3 to plain object for serialization\n return {\n displacement: {\n x: result.displacement.x,\n y: result.displacement.y,\n z: result.displacement.z,\n },\n duration: result.duration,\n recoveryWindow: result.recoveryWindow,\n shouldFall: result.shouldFall,\n };\n }\n\n /**\n * Fix: Update resolveAttack to match interface signature and add animation-aware hit detection\n *\n * **Korean**: 공격 해결 (애니메이션 인식)\n *\n * Integrates animation timing and physical reach calculation for reality-based hit detection.\n * Hits only register when:\n * 1. Animation is in hit window (extension phase)\n * 2. Attacker is within effective reach based on limb length and animation\n * 3. Existing accuracy and stance checks pass\n *\n * @param attacker - Attacking player state\n * @param defender - Defending player state\n * @param technique - Technique being executed\n * @param targetedVitalPointId - Optional specific vital point target\n * @param animationContext - Optional animation timing context for reality-based hit detection\n * @returns Combat result with hit/miss and damage information\n */\n resolveAttack(\n attacker: PlayerState,\n defender: PlayerState,\n technique: KoreanTechnique,\n targetedVitalPointId?: string,\n animationContext?: {\n animationType: AnimationType;\n currentTime: number;\n },\n ): CombatResult {\n const timestamp = Date.now();\n\n // Check if attacker can execute the technique\n if (!this.canExecuteTechnique(attacker, technique)) {\n return {\n hit: false,\n damage: 0,\n criticalHit: false,\n vitalPointHit: false,\n effects: [],\n timestamp,\n technique,\n attacker,\n defender,\n success: false,\n isCritical: false,\n isBlocked: false,\n };\n }\n\n // Check if attacker is being grappled - cannot attack while controlled\n if (attacker.combatState === CombatState.GRAPPLED) {\n return {\n hit: false,\n damage: 0,\n criticalHit: false,\n vitalPointHit: false,\n effects: [],\n timestamp,\n technique,\n attacker,\n defender,\n success: false,\n isCritical: false,\n isBlocked: false,\n };\n }\n\n // === ANIMATION-AWARE HIT DETECTION ===\n // If animation context provided, validate timing and reach\n if (animationContext) {\n const { animationType, currentTime } = animationContext;\n\n // Check if within hit window (extension phase)\n if (!isWithinHitWindow(animationType, currentTime)) {\n return {\n hit: false,\n damage: 0,\n criticalHit: false,\n vitalPointHit: false,\n effects: [],\n timestamp,\n technique,\n attacker,\n defender,\n success: false,\n isCritical: false,\n isBlocked: false,\n };\n }\n\n // Calculate effective reach based on physical attributes and animation\n const attackerPhysical = getArchetypePhysicalAttributes(\n attacker.archetype,\n );\n const reachResult = physicalReachCalculator.calculateReach(\n attackerPhysical,\n animationType,\n currentTime,\n attacker.currentStance,\n technique.reachConfig, // Pass reachConfig for hybrid reach calculation\n );\n\n // Check distance to defender using 3D Euclidean distance\n // Physics-first: Position type is 2D in METERS\n // No conversion needed - positions are already in meters\n const centerToCenterDistance = calculateDistance3D(\n [attacker.position.x, attacker.position.y, 0],\n [defender.position.x, defender.position.y, 0],\n );\n\n // Calculate body radii\n // Note: PhysicalReachCalculator already includes attacker body pivot/offset in reach calculation\n // (shoulder offset for punches, hip rotation for kicks), so we only subtract defender radius\n // to avoid double-counting the attacker's body dimension.\n // 타격 거리 계산: 수비자 몸체 반경만 제외 (공격자 몸체 오프셋은 이미 도달 거리에 포함됨)\n const defenderPhysical = getArchetypePhysicalAttributes(\n defender.archetype,\n );\n const defenderBodyRadius = calculateBodyRadius(defenderPhysical);\n\n // Effective distance = center-to-center minus defender body radius only\n // Reach is calculated from attacker center to striking limb surface (includes body pivot),\n // so we measure from attacker center to defender surface (subtracting defender radius only).\n // 유효 거리 = 중심간 거리 - 수비자 몸체 반경\n const distance = Math.max(0, centerToCenterDistance - defenderBodyRadius);\n\n // If out of reach, miss\n if (distance > reachResult.effectiveReach) {\n return {\n hit: false,\n damage: 0,\n criticalHit: false,\n vitalPointHit: false,\n effects: [],\n timestamp,\n technique,\n attacker,\n defender,\n success: false,\n isCritical: false,\n isBlocked: false,\n };\n }\n }\n\n // Fix: Use correct method signature\n const stanceEffectiveness = this.trigramSystem.calculateStanceEffectiveness(\n attacker.currentStance,\n defender.currentStance,\n );\n\n // Calculate base hit chance\n const baseAccuracy = technique.accuracy * stanceEffectiveness;\n const hitRoll = Math.random();\n const hit = hitRoll <= baseAccuracy;\n\n if (!hit) {\n return {\n hit: false,\n damage: 0,\n criticalHit: false,\n vitalPointHit: false,\n effects: [],\n timestamp,\n technique,\n attacker,\n defender,\n success: false,\n isCritical: false,\n isBlocked: false,\n };\n }\n\n // Special handling for grapple techniques\n if (technique.type === CombatAttackType.GRAPPLE) {\n const grappleResult = this.handleGrappleTechnique(\n attacker,\n defender,\n technique,\n timestamp\n );\n\n // Grapples don't deal immediate damage, they establish control\n // Small damage on successful grapple to represent the initial impact\n const grappleDamage = grappleResult.grappleSuccess\n ? technique.damage * 0.3\n : 0;\n\n return {\n hit: grappleResult.grappleSuccess,\n damage: grappleDamage,\n criticalHit: false,\n vitalPointHit: false,\n effects: [],\n timestamp,\n technique,\n attacker: grappleResult.updatedAttacker,\n defender: grappleResult.updatedDefender,\n success: grappleResult.grappleSuccess,\n isCritical: false,\n isBlocked: false,\n animation: this.getAnimationInfoForTechnique(technique),\n };\n }\n\n // Process vital point hit if targeted (with archetype parameters)\n let vitalPointResult: VitalPointHitResult | null = null;\n if (targetedVitalPointId) {\n vitalPointResult = this.processVitalPointHit(\n targetedVitalPointId,\n technique.damage ?? 15,\n attacker,\n defender,\n );\n }\n\n // Calculate damage using the interface method\n const damageResult = this.calculateDamage(\n technique,\n attacker,\n defender,\n vitalPointResult ?? {\n hit: false,\n damage: 0,\n effects: [],\n severity: VitalPointSeverity.MINOR,\n },\n );\n\n // Check for critical hit\n const critRoll = Math.random();\n const isCritical = critRoll <= (technique.critChance ?? 0.1);\n\n // Determine animation information for technique\n const animationInfo = this.getAnimationInfoForTechnique(technique);\n\n // Calculate knockback physics (밀침 물리)\n const knockbackInfo = this.calculateKnockback(\n attacker,\n defender,\n damageResult.totalDamage,\n );\n\n return {\n hit: true,\n damage: damageResult.totalDamage,\n criticalHit: isCritical,\n vitalPointHit: vitalPointResult?.hit ?? false,\n effects: damageResult.effectsApplied,\n timestamp,\n technique,\n attacker,\n defender,\n success: true,\n isCritical: vitalPointResult?.hit ?? false,\n isBlocked: false,\n targetedVitalPointId, // Pass through the targeted vital point ID\n animation: animationInfo, // Add animation information\n knockback: knockbackInfo, // Add knockback information\n };\n }\n\n /**\n * Get animation information for a technique\n *\n * Determines the skeletal animation to play, duration, and speed modifier\n * based on technique configuration or automatic determination.\n *\n * @param technique - Korean technique to execute\n * @returns Animation information or undefined\n *\n * @private\n * @korean 기술애니메이션정보가져오기\n */\n private getAnimationInfoForTechnique(\n technique: KoreanTechnique,\n ): CombatResult[\"animation\"] {\n // Check if technique has explicit animation config (from Technique interface)\n // KoreanTechnique may not have animation field, so check the technique data\n const techniqueData = this.getTechniqueData(technique);\n\n let animationType;\n let speedModifier;\n\n if (techniqueData?.animation) {\n // Use explicit animation configuration\n animationType = techniqueData.animation.type;\n speedModifier = techniqueData.animation.speedModifier;\n } else {\n // Auto-determine animation from technique characteristics\n const techniqueName =\n technique.name?.english || technique.englishName || \"\";\n const techniqueId = technique.id || \"\";\n const damageType = technique.damageType || \"\";\n\n animationType = determineAnimationTypeForTechnique(\n techniqueName,\n techniqueId,\n damageType,\n );\n\n // Calculate speed modifier based on technique damage\n speedModifier = calculateSpeedModifierForDamage(technique.damage || 15);\n }\n\n // Get base animation name from animation type\n const animationName = getAnimationNameForType(animationType);\n\n // Calculate adjusted duration\n const duration = getAdjustedAnimationDuration(animationName, speedModifier);\n\n // Get Korean technique name for display\n const techniqueDisplayName =\n technique.name?.korean || technique.koreanName || technique.id;\n\n return {\n animationName,\n duration,\n speedModifier,\n techniqueDisplayName,\n };\n }\n\n /**\n * Get Technique data if this KoreanTechnique has an associated Technique definition\n *\n * @param technique - Korean technique\n * @returns Technique data or null\n *\n * @private\n * @korean 기술데이터가져오기\n */\n private getTechniqueData(technique: KoreanTechnique): Technique | null {\n return getTechniqueById(technique.id) ?? null;\n }\n\n /**\n * Handle grapple technique execution.\n *\n * **Korean**: 잡기 기술 처리 (Handle Grapple Technique)\n *\n * Initiates or transitions grapple control based on technique.\n *\n * @param attacker - Player executing grapple\n * @param defender - Target player\n * @param technique - Grapple technique being used\n * @param currentTime - Current game time in milliseconds\n * @returns Updated player states with grapple control\n */\n handleGrappleTechnique(\n attacker: PlayerState,\n defender: PlayerState,\n technique: KoreanTechnique,\n currentTime: number\n ): {\n updatedAttacker: PlayerState;\n updatedDefender: PlayerState;\n grappleSuccess: boolean;\n } {\n // Determine grapple target from technique\n const target = this.getGrappleTargetFromTechnique(technique);\n\n // Attempt grapple\n const result = this.grappleSystem.attemptGrapple(\n attacker,\n defender,\n target,\n currentTime\n );\n\n if (result.success && result.grappleControl) {\n // Grapple succeeded - update both players\n return {\n updatedAttacker: {\n ...attacker,\n combatState: CombatState.GRAPPLING,\n grappleControl: result.grappleControl,\n stamina: Math.max(0, attacker.stamina - result.staminaCost),\n },\n updatedDefender: {\n ...defender,\n combatState: CombatState.GRAPPLED,\n grappleControl: result.grappleControl,\n },\n grappleSuccess: true,\n };\n }\n\n // Grapple failed\n return {\n updatedAttacker: {\n ...attacker,\n stamina: Math.max(0, attacker.stamina - result.staminaCost),\n },\n updatedDefender: defender,\n grappleSuccess: false,\n };\n }\n\n /**\n * Determine grapple target from technique characteristics.\n *\n * **Korean**: 기술에서 잡기 목표 결정 (Determine Grapple Target from Technique)\n *\n * @private\n */\n private getGrappleTargetFromTechnique(\n technique: KoreanTechnique\n ): GrappleTarget {\n // Check technique name/ID for hints (both English and Korean)\n const techName = (\n technique.name?.english ||\n technique.englishName ||\n \"\"\n ).toLowerCase();\n const techNameKorean = (\n technique.name?.korean ||\n technique.koreanName ||\n \"\"\n );\n const techId = technique.id.toLowerCase();\n\n // Check for wrist/hand - 손목 (sonmok)\n if (\n techName.includes(\"wrist\") ||\n techId.includes(\"wrist\") ||\n techNameKorean.includes(\"손목\")\n ) {\n return GrappleTarget.HAND;\n }\n\n // Check for arm - 팔 (pal)\n if (\n techName.includes(\"arm\") ||\n techId.includes(\"arm\") ||\n techNameKorean.includes(\"팔\")\n ) {\n return GrappleTarget.ARM;\n }\n\n // Check for leg - 다리 (dari)\n if (\n techName.includes(\"leg\") ||\n techId.includes(\"leg\") ||\n techNameKorean.includes(\"다리\")\n ) {\n return GrappleTarget.LEG;\n }\n\n // Check for neck - 목 (mok)\n if (\n techName.includes(\"neck\") ||\n techId.includes(\"neck\") ||\n techNameKorean.includes(\"목\")\n ) {\n return GrappleTarget.NECK;\n }\n\n // Check for both arms - 양팔 (yangpal)\n if (\n techName.includes(\"both\") ||\n techName.includes(\"double\") ||\n techId.includes(\"both\") ||\n techNameKorean.includes(\"양팔\") ||\n techNameKorean.includes(\"쌍\")\n ) {\n return GrappleTarget.BOTH_ARMS;\n }\n\n // Check for torso/body/hip - 몸통 (momtong), 허리 (heori), 몸 (mom)\n if (\n techName.includes(\"torso\") ||\n techName.includes(\"body\") ||\n techName.includes(\"hip\") ||\n techId.includes(\"torso\") ||\n techNameKorean.includes(\"몸통\") ||\n techNameKorean.includes(\"허리\") ||\n techNameKorean.includes(\"몸\")\n ) {\n return GrappleTarget.TORSO;\n }\n\n // Default to arm for unspecified grapples\n return GrappleTarget.ARM;\n }\n\n /**\n * Update grapple state for players over time.\n *\n * **Korean**: 잡기 상태 업데이트 (Update Grapple State)\n *\n * @param controller - Player maintaining control\n * @param target - Player being controlled\n * @param deltaTime - Time elapsed in seconds\n * @param currentTime - Current game time in milliseconds\n * @returns Updated player states\n */\n updateGrappleState(\n controller: PlayerState,\n target: PlayerState,\n deltaTime: number,\n currentTime: number\n ): {\n updatedController: PlayerState;\n updatedTarget: PlayerState;\n } {\n if (!controller.grappleControl) {\n // No active grapple\n return {\n updatedController: controller,\n updatedTarget: target,\n };\n }\n\n // Validate grapple control consistency\n if (\n controller.grappleControl.controllerId !== controller.id ||\n controller.grappleControl.targetId !== target.id\n ) {\n // Inconsistent state - break grapple\n return {\n updatedController: {\n ...controller,\n combatState: CombatState.IDLE,\n grappleControl: null,\n },\n updatedTarget: {\n ...target,\n combatState: CombatState.IDLE,\n grappleControl: null,\n },\n };\n }\n\n // Update grapple control\n const updatedControl = this.grappleSystem.updateGrapple(\n controller.grappleControl,\n controller,\n target,\n deltaTime,\n currentTime\n );\n\n if (!updatedControl) {\n // Grapple broken - reset both players\n return {\n updatedController: {\n ...controller,\n combatState: CombatState.IDLE,\n grappleControl: null,\n },\n updatedTarget: {\n ...target,\n combatState: CombatState.IDLE,\n grappleControl: null,\n },\n };\n }\n\n // Deduct stamina from controller\n const staminaCost = updatedControl.staminaCostPerSecond * deltaTime;\n\n return {\n updatedController: {\n ...controller,\n grappleControl: updatedControl,\n stamina: Math.max(0, controller.stamina - staminaCost),\n },\n updatedTarget: {\n ...target,\n grappleControl: updatedControl,\n },\n };\n }\n\n /**\n * Fix: Make applyCombatResult non-static instance method with effect application\n * Enhanced with Pain Response and Consciousness System integration\n */\n applyCombatResult(\n result: CombatResult,\n attacker: PlayerState,\n defender: PlayerState,\n ): { updatedAttacker: PlayerState; updatedDefender: PlayerState } {\n // Start with base result\n const { updatedAttacker, updatedDefender: initialDefender } =\n CombatSystem.applyCombatResult(result, attacker, defender);\n let updatedDefender = initialDefender;\n\n if (result.hit && result.damage > 0) {\n // Determine vital point category and severity from hit result\n const category = this.getVitalPointCategory(result);\n const severity = this.getVitalPointSeverity(result);\n\n // Apply pain from damage\n const { player: defenderWithPain, shockEffect: newShockEffect } =\n this.painSystem.applyPain(\n updatedDefender,\n result.damage,\n severity,\n category,\n );\n updatedDefender = defenderWithPain;\n\n // Store shock pain effect if triggered\n if (newShockEffect) {\n this.shockPainEffects.set(updatedDefender.id, newShockEffect);\n }\n\n // Check for pain overload stun\n if (this.painSystem.shouldTriggerStun(updatedDefender)) {\n updatedDefender = {\n ...updatedDefender,\n isStunned: true,\n };\n }\n\n // Apply consciousness damage for head/neurological hits\n if (this.isHeadTrauma(result, category)) {\n updatedDefender = this.consciousnessSystem.applyDamage(\n updatedDefender,\n result.damage,\n category,\n );\n\n // Track head trauma time for recovery gating\n this.lastHeadTraumaTime.set(updatedDefender.id, Date.now());\n\n // Check incapacitation threshold\n if (\n this.consciousnessSystem.isAtIncapacitationThreshold(updatedDefender)\n ) {\n updatedDefender = {\n ...updatedDefender,\n isStunned: true,\n // Could add helpless duration tracking here if needed\n };\n }\n }\n\n // Apply pain and consciousness effects to stats\n const currentShockEffect = this.shockPainEffects.get(updatedDefender.id);\n updatedDefender = this.painSystem.applyEffects(\n updatedDefender,\n currentShockEffect,\n );\n updatedDefender = this.consciousnessSystem.applyEffects(updatedDefender);\n\n // Apply balance disruption from the hit\n // Determine body region from vital point or use default\n const bodyRegion = this.getBodyRegionFromResult(result);\n updatedDefender = this.balanceSystem.disruptBalance(\n updatedDefender,\n result.damage,\n bodyRegion,\n );\n\n // Apply breathing disruption for torso strikes\n if (result.vitalPointHit && result.targetedVitalPointId) {\n // Vital point strike to torso\n const vitalPoint = this.vitalPointSystem.getVitalPointById(\n result.targetedVitalPointId,\n );\n if (vitalPoint && causesBreathingDisruption(vitalPoint.id)) {\n updatedDefender = applyBreathingDisruptionFromVitalPoint(\n updatedDefender,\n vitalPoint,\n Date.now(),\n );\n }\n } else if (bodyRegion === BodyRegion.TORSO && result.damage >= 10) {\n // General torso damage (non-vital point hits)\n // Apply breathing disruption if damage is significant enough\n // Note: Solar plexus detection is best-effort; vital point system is primary mechanism\n const techniqueId = (result.technique?.id ?? \"\").toLowerCase();\n const isSolarPlexusArea = \n techniqueId.includes(\"solar\") ||\n techniqueId.includes(\"myeongchi\");\n updatedDefender = applyBreathingDisruptionFromTorsoDamage(\n updatedDefender,\n result.damage,\n isSolarPlexusArea,\n Date.now(),\n );\n }\n }\n\n return { updatedAttacker, updatedDefender };\n }\n\n /**\n * Determines if a hit caused head trauma (affects consciousness).\n *\n * @param result - Combat result\n * @param category - Vital point category\n * @returns True if hit should affect consciousness\n */\n private isHeadTrauma(\n result: CombatResult,\n category?: VitalPointCategory,\n ): boolean {\n return isHeadTraumaHit(result, category);\n }\n\n /**\n * Extracts vital point category from combat result.\n *\n * @param result - Combat result\n * @returns Vital point category if available\n */\n private getVitalPointCategory(\n result: CombatResult,\n ): VitalPointCategory | undefined {\n return extractVitalPointCategory(result);\n }\n\n /**\n * Extracts vital point severity from combat result.\n *\n * @param result - Combat result\n * @returns Vital point severity if critical hit\n */\n private getVitalPointSeverity(\n result: CombatResult,\n ): VitalPointSeverity | undefined {\n if (result.vitalPointHit) {\n if (result.isCritical) {\n return VitalPointSeverity.CRITICAL;\n }\n if (result.damage > this.SEVERITY_MAJOR_THRESHOLD) {\n return VitalPointSeverity.MAJOR;\n }\n if (result.damage > this.SEVERITY_MODERATE_THRESHOLD) {\n return VitalPointSeverity.MODERATE;\n }\n return VitalPointSeverity.MINOR;\n }\n return undefined;\n }\n\n /**\n * Determines body region from combat result for balance disruption.\n *\n * Maps vital points to body regions for balance system integration.\n * Uses string matching on vital point IDs as a pragmatic heuristic since\n * VitalPoint interface doesn't currently include a bodyRegion property.\n *\n * Future improvement: Add bodyRegion: BodyRegion to VitalPoint interface\n * for more robust region mapping without string pattern matching.\n *\n * @param result - Combat result\n * @returns Body region that was struck\n * @private\n * @korean 신체부위결정\n */\n private getBodyRegionFromResult(result: CombatResult): BodyRegion {\n // If we have a targeted vital point, try to determine region\n if (result.targetedVitalPointId) {\n const vitalPoint = this.vitalPointSystem.getVitalPointById(\n result.targetedVitalPointId,\n );\n\n if (vitalPoint) {\n const pointId = vitalPoint.id.toLowerCase();\n\n // Check for leg/lower body targets\n if (\n pointId.includes(\"leg\") ||\n pointId.includes(\"knee\") ||\n pointId.includes(\"ankle\") ||\n pointId.includes(\"thigh\")\n ) {\n return BodyRegion.LEFT_LEG; // Generic leg for balance disruption\n }\n\n // Check for head targets\n if (\n pointId.includes(\"head\") ||\n pointId.includes(\"temple\") ||\n pointId.includes(\"jaw\") ||\n pointId.includes(\"nose\")\n ) {\n return BodyRegion.HEAD;\n }\n\n // Check for arm targets\n if (\n pointId.includes(\"arm\") ||\n pointId.includes(\"elbow\") ||\n pointId.includes(\"wrist\") ||\n pointId.includes(\"shoulder\")\n ) {\n return BodyRegion.LEFT_ARM;\n }\n }\n }\n\n // Default to torso for general strikes\n return BodyRegion.TORSO;\n }\n\n /**\n * Updates player states for recovery (pain dissipation, consciousness recovery, balance recovery).\n * Call this regularly in game loop.\n *\n * @param player - Player to update\n * @param deltaTime - Time elapsed since last update (ms)\n * @returns Updated player state\n */\n applyRecovery(player: PlayerState, deltaTime: number): PlayerState {\n let updatedPlayer = player;\n\n // Apply pain recovery\n updatedPlayer = this.painSystem.applyDissipation(updatedPlayer, deltaTime);\n\n // Apply consciousness recovery (only if enough time since head trauma)\n const lastTrauma = this.lastHeadTraumaTime.get(player.id);\n updatedPlayer = this.consciousnessSystem.applyRecovery(\n updatedPlayer,\n deltaTime,\n lastTrauma,\n );\n\n // Apply balance recovery\n updatedPlayer = this.balanceSystem.applyRecovery(updatedPlayer, deltaTime);\n\n // Clean up expired shock pain effects\n const shockEffect = this.shockPainEffects.get(player.id);\n if (shockEffect) {\n const elapsed = Date.now() - shockEffect.startTime;\n if (elapsed >= shockEffect.duration) {\n this.shockPainEffects.delete(player.id);\n }\n }\n\n return updatedPlayer;\n }\n\n /**\n * Static version for backwards compatibility with comprehensive effect application\n * Enhanced with Pain Response and Consciousness System integration\n * Updated to apply damage to body parts for 8-body-part health visualization\n */\n static applyCombatResult(\n result: CombatResult,\n attacker: PlayerState,\n defender: PlayerState,\n ): { updatedAttacker: PlayerState; updatedDefender: PlayerState } {\n // Apply damage and effects\n let updatedDefender = defender;\n let updatedAttacker = attacker;\n\n if (result.hit) {\n // Determine body region from technique or use random distribution\n const bodyRegion = CombatSystem.getBodyRegionFromTechnique(\n result.technique,\n );\n\n // Apply damage to body parts (this also updates aggregate health)\n updatedDefender = applyDamageToBodyParts(\n defender,\n result.damage,\n bodyRegion,\n );\n\n // Record injury for trauma visualization (외상 시각화)\n // Use per-player injury tracking to prevent mixing injuries between characters\n // Automatically tracks bruising, cuts, and blood effects based on damage type\n // Records injury even without specific technique (defaults to BRUISE)\n if (result.damage > 0) {\n const defenderInjuryIntegration = playerInjuryManager.getIntegrationForPlayer(defender.id);\n defenderInjuryIntegration.recordCombatDamage({\n damage: result.damage,\n bodyRegion,\n damageType: (result.technique?.damageType as DamageType) || undefined,\n });\n }\n\n // Update tracking stats (applyDamageToBodyParts already sets health)\n updatedDefender = {\n ...updatedDefender,\n totalDamageReceived:\n updatedDefender.totalDamageReceived + result.damage,\n hitsTaken: updatedDefender.hitsTaken + 1,\n };\n\n // Apply status effects from vital point hit\n if (result.effects && result.effects.length > 0) {\n updatedDefender = addEffectsToPlayer(updatedDefender, result.effects);\n }\n\n // Track vital point hits\n if (result.vitalPointHit) {\n updatedAttacker = {\n ...updatedAttacker,\n vitalPointHits: attacker.vitalPointHits + 1,\n };\n }\n\n // Track perfect strikes (high accuracy)\n if (result.isCritical) {\n updatedAttacker = {\n ...updatedAttacker,\n perfectStrikes: attacker.perfectStrikes + 1,\n };\n }\n }\n\n // Apply technique costs to attacker\n updatedAttacker = {\n ...updatedAttacker,\n ki: Math.max(0, attacker.ki - 5),\n stamina: Math.max(0, attacker.stamina - 10),\n totalDamageDealt:\n attacker.totalDamageDealt + (result.hit ? result.damage : 0),\n hitsLanded: attacker.hitsLanded + (result.hit ? 1 : 0),\n };\n\n return { updatedAttacker, updatedDefender };\n }\n\n /**\n * Determine body region from technique name or type\n *\n * **Korean**: 기술에서 신체 영역 결정\n *\n * @param technique - The technique used in the attack\n * @returns Body region to apply damage to\n */\n private static getBodyRegionFromTechnique(\n technique?: KoreanTechnique,\n ): BodyRegion {\n if (!technique) {\n // Default to torso if no technique specified\n return BodyRegion.TORSO;\n }\n\n const techniqueName = (\n technique.name?.english ||\n technique.englishName ||\n \"\"\n ).toLowerCase();\n const techniqueId = technique.id?.toLowerCase() || \"\";\n\n // Head/face targeting techniques\n if (\n techniqueName.includes(\"head\") ||\n techniqueName.includes(\"temple\") ||\n techniqueName.includes(\"jaw\") ||\n techniqueName.includes(\"face\") ||\n techniqueId.includes(\"head\") ||\n techniqueId.includes(\"skull\")\n ) {\n return BodyRegion.HEAD;\n }\n\n // Neck targeting techniques\n if (\n techniqueName.includes(\"neck\") ||\n techniqueName.includes(\"throat\") ||\n techniqueName.includes(\"choke\") ||\n techniqueId.includes(\"neck\")\n ) {\n return BodyRegion.NECK;\n }\n\n // Leg targeting techniques\n if (\n techniqueName.includes(\"kick\") ||\n techniqueName.includes(\"sweep\") ||\n techniqueName.includes(\"leg\") ||\n techniqueName.includes(\"knee\") ||\n techniqueId.includes(\"kick\") ||\n techniqueId.includes(\"leg\")\n ) {\n // Randomly choose left or right leg\n return Math.random() < 0.5 ? BodyRegion.LEFT_LEG : BodyRegion.RIGHT_LEG;\n }\n\n // Arm targeting techniques\n if (\n techniqueName.includes(\"arm\") ||\n techniqueName.includes(\"shoulder\") ||\n techniqueName.includes(\"elbow\") ||\n techniqueId.includes(\"arm\")\n ) {\n // Randomly choose left or right arm\n return Math.random() < 0.5 ? BodyRegion.LEFT_ARM : BodyRegion.RIGHT_ARM;\n }\n\n // Punch/strike techniques typically target torso\n if (\n techniqueName.includes(\"punch\") ||\n techniqueName.includes(\"strike\") ||\n techniqueName.includes(\"jab\") ||\n techniqueName.includes(\"cross\") ||\n techniqueName.includes(\"hook\") ||\n techniqueName.includes(\"uppercut\")\n ) {\n // Mix of torso and head for punches\n return Math.random() < 0.7 ? BodyRegion.TORSO : BodyRegion.HEAD;\n }\n\n // Body/core targeting techniques\n if (\n techniqueName.includes(\"body\") ||\n techniqueName.includes(\"solar\") ||\n techniqueName.includes(\"liver\") ||\n techniqueName.includes(\"ribs\") ||\n techniqueName.includes(\"abdomen\") ||\n techniqueId.includes(\"torso\") ||\n techniqueId.includes(\"core\")\n ) {\n return BodyRegion.TORSO;\n }\n\n // Default to torso for unmatched techniques\n return BodyRegion.TORSO;\n }\n\n /**\n * Fix: Add missing getAvailableTechniques method required by interface\n */\n getAvailableTechniques(player: PlayerState): readonly KoreanTechnique[] {\n const allTechniques = TRIGRAM_TECHNIQUES[player.currentStance] ?? [];\n\n // Filter techniques based on available resources using canExecuteTechnique\n return allTechniques.filter((technique) =>\n this.canExecuteTechnique(player, technique as KoreanTechnique),\n ) as readonly KoreanTechnique[];\n }\n\n /**\n * Check if attacker can execute technique\n */\n private canExecuteTechnique(\n player: PlayerState,\n technique: KoreanTechnique,\n ): boolean {\n return (\n player.ki >= technique.kiCost &&\n player.stamina >= technique.staminaCost &&\n player.currentStance === technique.stance &&\n !player.isStunned\n );\n }\n\n /**\n * Static methods for backwards compatibility\n */\n static resolveAttack(\n attacker: PlayerState,\n defender: PlayerState,\n technique: KoreanTechnique,\n ): CombatResult {\n const instance = new CombatSystem();\n return instance.executeAttack(attacker, defender, technique);\n }\n\n /**\n * Check if a player is defeated\n */\n isPlayerDefeated(player: PlayerState): boolean {\n return player.health <= 0 || player.consciousness <= 0;\n }\n\n /**\n * Update player state over time with effect management\n */\n updatePlayerState(player: PlayerState, deltaTime: number): PlayerState {\n let updatedPlayer = { ...player };\n\n // Remove expired effects first\n updatedPlayer = removeExpiredEffects(updatedPlayer);\n\n // Get effect modifiers for resource regeneration\n const effectModifiers = getEffectModifiers(updatedPlayer);\n\n // Apply natural regeneration with effect modifiers\n const regenRate = deltaTime / 1000; // Convert to seconds\n\n // Ki regeneration (slower during combat) - affected by effects\n if (updatedPlayer.ki < updatedPlayer.maxKi) {\n updatedPlayer.ki = Math.min(\n updatedPlayer.maxKi,\n updatedPlayer.ki + regenRate * 2 * effectModifiers.kiRegen,\n );\n }\n\n // Stamina regeneration - affected by effects and breathing disruption\n // Uses BASE_STAMINA_REGEN_RATE constant for better gameplay\n // Allows players to move around and attack frequently without running out\n // 체력 재생 속도 - 더 활발한 전투를 위해\n if (updatedPlayer.stamina < updatedPlayer.maxStamina) {\n const baseStaminaRegen = regenRate * BASE_STAMINA_REGEN_RATE * effectModifiers.staminaRegen;\n // Apply breathing disruption system's stamina regen modifier\n const modifiedStaminaRegen =\n BreathingDisruptionSystem.calculateStaminaRegen(\n updatedPlayer,\n baseStaminaRegen,\n );\n updatedPlayer.stamina = Math.min(\n updatedPlayer.maxStamina,\n updatedPlayer.stamina + modifiedStaminaRegen,\n );\n }\n\n // Health regeneration (very slow)\n if (\n updatedPlayer.health < updatedPlayer.maxHealth &&\n updatedPlayer.health > 0\n ) {\n updatedPlayer.health = Math.min(\n updatedPlayer.maxHealth,\n updatedPlayer.health + regenRate * 0.5,\n );\n }\n\n // Update breathing disruption effects (gradual recovery if torso health > 50%)\n updatedPlayer = updateBreathingDisruption(\n updatedPlayer,\n deltaTime,\n Date.now(),\n );\n\n // Clear temporary combat states\n const currentTime = Date.now();\n if (\n updatedPlayer.lastActionTime &&\n currentTime - updatedPlayer.lastActionTime > updatedPlayer.recoveryTime\n ) {\n updatedPlayer.isStunned = false;\n updatedPlayer.isCountering = false;\n }\n\n return updatedPlayer;\n }\n\n /**\n * Get combat statistics\n */\n getCombatStatistics(player: PlayerState): {\n healthPercent: number;\n kiPercent: number;\n staminaPercent: number;\n balancePercent: number;\n } {\n return {\n healthPercent: (player.health / player.maxHealth) * 100,\n kiPercent: (player.ki / player.maxKi) * 100,\n staminaPercent: (player.stamina / player.maxStamina) * 100,\n balancePercent: player.balance,\n };\n }\n\n /**\n * Fix: Integrate processVitalPointHit into the combat system with archetype parameters\n */\n private processVitalPointHit(\n vitalPointId: string,\n _baseDamage: number, // Unused but kept for interface compatibility\n attacker: PlayerState,\n defender: PlayerState,\n ): VitalPointHitResult {\n const vitalPoint = this.vitalPointSystem.getVitalPointById(vitalPointId);\n\n if (!vitalPoint) {\n return {\n hit: false,\n damage: 0,\n effects: [],\n severity: VitalPointSeverity.MINOR,\n };\n }\n\n // Use VitalPointSystem's processHit with full archetype support\n return this.vitalPointSystem.processHit(\n vitalPoint.position, // Use vital point position for hit calculation\n { width: 10, height: 10 }, // Standard hit box\n vitalPointId, // Targeted vital point\n undefined, // Use current hour from system\n attacker.archetype, // Attacker archetype for offensive modifiers\n defender.archetype, // Defender archetype for defensive modifiers\n );\n }\n\n /**\n * Process defensive action and determine animation type.\n *\n * Determines the appropriate defensive animation based on:\n * - Defender's balance and stamina (defensive power)\n * - Attacker's technique power\n * - Combat readiness state\n *\n * **Korean**: 방어 행동 처리\n *\n * @param defender - Defending player state\n * @param attacker - Attacking player state (unused but kept for future enhancements)\n * @param attackPower - Power of the incoming attack\n * @returns Defensive animation type to play (parry_deflect, block_success, or guard_break)\n *\n * @example\n * ```typescript\n * const animType = combatSystem.processDefensiveAction(\n * defender,\n * attacker,\n * technique.damage\n * );\n * // Returns: 'parry_deflect', 'block_success', or 'guard_break'\n * ```\n *\n * @public\n * @korean 방어행동처리\n */\n public processDefensiveAction(\n defender: PlayerState,\n _attacker: PlayerState,\n attackPower: number,\n ): Exclude<DefensiveAnimationType, \"guard_recovery\"> {\n // Guard Break: Check balance threshold first (highest priority condition)\n if (defender.balance < 30) {\n return \"guard_break\";\n }\n\n // Calculate defensive power based on balance and stamina\n // Balance represents physical stability (0-100)\n // Stamina represents energy reserves (0-100)\n const balanceFactor = defender.balance / 100;\n const staminaFactor = defender.stamina / 100;\n\n // Apply defensive modifiers from effects\n const effectModifiers = getEffectModifiers(defender);\n const defenseMultiplier = effectModifiers.defense;\n\n // Defense stat provides moderate bonus (normalized to 0.5-1.5 range for typical 5-15 defense)\n const defenseBonus = Math.max(0.5, Math.min(1.5, defender.defense / 10));\n\n // Calculate final defensive power\n const defensePower =\n balanceFactor * staminaFactor * 100 * defenseMultiplier * defenseBonus;\n\n // Determine defensive outcome based on power ratio\n // Parry: Strong defense (1.8x attack power or more) - Perfect deflection\n if (defensePower >= attackPower * 1.8) {\n return \"parry_deflect\";\n }\n // Block Success: Adequate defense (1.0x to 1.8x attack power) - Absorb impact\n else if (defensePower >= attackPower) {\n return \"block_success\";\n }\n // Guard Break: Defense insufficient against powerful attack (<60% of attack power)\n else if (defensePower < attackPower * 0.6) {\n return \"guard_break\";\n }\n // Block Success: Marginal defense (60-100% of attack power) - barely hold\n else {\n return \"block_success\";\n }\n }\n\n /**\n * Execute attack with technique\n */\n protected executeAttack(\n attacker: PlayerState,\n defender: PlayerState,\n technique: KoreanTechnique,\n ): CombatResult {\n const hitRoll = Math.random();\n const accuracy = technique.accuracy || 0.8;\n const hit = hitRoll <= accuracy;\n\n if (!hit) {\n return {\n hit: false,\n damage: 0,\n criticalHit: false,\n vitalPointHit: false,\n effects: [],\n timestamp: Date.now(),\n technique,\n attacker,\n defender,\n success: false,\n isCritical: false,\n isBlocked: false,\n };\n }\n\n // Calculate damage using the interface method\n const vitalPointHit: VitalPointHitResult = {\n hit: false,\n damage: 0,\n effects: [],\n severity: VitalPointSeverity.MINOR, // Use the enum directly\n };\n\n const damageResult = this.calculateDamage(\n technique,\n attacker,\n defender,\n vitalPointHit,\n );\n\n return {\n hit: true,\n damage: damageResult.totalDamage,\n criticalHit: Math.random() < (technique.critChance || 0.1),\n vitalPointHit: false,\n effects: damageResult.effectsApplied,\n timestamp: Date.now(),\n technique,\n attacker,\n defender,\n success: true,\n isCritical: false,\n isBlocked: false,\n };\n }\n\n /**\n * Fix: Add missing calculateDamage method required by interface\n */\n calculateDamage(\n technique: KoreanTechnique,\n attacker: PlayerState,\n defender: PlayerState,\n hitResult: VitalPointHitResult,\n ): {\n baseDamage: number;\n modifierDamage: number;\n totalDamage: number;\n effectsApplied: readonly StatusEffect[];\n finalDefenderState?: Partial<PlayerState>;\n } {\n // Calculate base damage from technique\n const baseDamage = technique.damage || 15;\n\n // Apply attacker modifiers\n const attackerBonus = attacker.attackPower * 0.1;\n\n // Apply vital point modifiers if hit\n let vitalPointMultiplier = 1.0;\n if (hitResult.hit && hitResult.vitalPointHit) {\n // Use the correct property name\n const severityMultipliers: Record<VitalPointSeverity, number> = {\n [VitalPointSeverity.MINOR]: 1.1,\n [VitalPointSeverity.MODERATE]: 1.3,\n [VitalPointSeverity.MAJOR]: 1.6,\n [VitalPointSeverity.CRITICAL]: 2.0,\n [VitalPointSeverity.LETHAL]: 3.0,\n };\n\n // Use the severity property directly\n vitalPointMultiplier = severityMultipliers[hitResult.severity] ?? 1.0;\n }\n\n // Calculate total modifier damage\n const modifierDamage = attackerBonus * vitalPointMultiplier;\n\n // Apply defense reduction\n const defenseReduction = defender.defense * 0.05;\n const totalDamage = Math.max(\n 1,\n baseDamage + modifierDamage - defenseReduction,\n );\n\n // Combine effects from technique and vital point hit\n const effectsApplied = [...technique.effects, ...hitResult.effects];\n\n return {\n baseDamage,\n modifierDamage,\n totalDamage: Math.floor(totalDamage),\n effectsApplied,\n finalDefenderState: {\n health: Math.max(0, defender.health - totalDamage),\n },\n };\n }\n}\n\n/**\n * Creates a standardized CombatResult with all required fields\n * Ensures both 'critical' and 'criticalHit' are present for API compatibility\n */\nexport function createCombatResult(\n partialResult: Partial<CombatResult>,\n): CombatResult {\n // Set default values\n const result: CombatResult = {\n success: partialResult.success ?? false,\n damage: partialResult.damage ?? 0,\n isCritical: partialResult.isCritical ?? partialResult.criticalHit ?? false,\n hit: partialResult.hit ?? partialResult.success ?? false,\n isBlocked: partialResult.isBlocked ?? false,\n vitalPointHit: partialResult.vitalPointHit ?? false,\n effects: partialResult.effects ?? [],\n attacker: partialResult.attacker,\n defender: partialResult.defender,\n technique: partialResult.technique,\n // Always set criticalHit to match critical for consistency\n criticalHit: partialResult.isCritical ?? partialResult.criticalHit ?? false,\n timestamp: Date.now(),\n };\n\n return result;\n}\n\nexport default CombatSystem;\n"],"mappings":"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"}
@@ -0,0 +1,176 @@
1
+ /**
2
+ * Effect calculation system for vital point strikes.
3
+ *
4
+ * **Korean**: 효과 계산 시스템 (Effect Calculation System)
5
+ *
6
+ * This module provides comprehensive calculations for status effect duration,
7
+ * intensity, and application based on vital point strikes, accuracy, severity,
8
+ * and archetype-specific modifiers.
9
+ *
10
+ * ## Key Features
11
+ *
12
+ * - **Duration Calculation**: Based on severity, accuracy, and archetype
13
+ * - **Intensity Scaling**: Scales with hit accuracy (0.5-1.5x)
14
+ * - **Archetype Modifiers**: Resistance and vulnerability factors
15
+ * - **Critical Hit Enhancement**: 2x duration for accuracy > 0.9
16
+ * - **Effect Stacking**: Manages multiple concurrent effects
17
+ *
18
+ * @module systems/EffectCalculator
19
+ * @category Combat Effects
20
+ * @korean 효과계산기
21
+ */
22
+ import { PlayerArchetype, VitalPointSeverity } from "../types/common";
23
+ import { EffectIntensity } from "./effects";
24
+ import { StatusEffect } from "./types";
25
+ import { VitalPointEffect } from "./vitalpoint/types";
26
+ /**
27
+ * Maximum number of concurrent status effects allowed per player.
28
+ *
29
+ * **Korean**: 최대 동시 효과 개수
30
+ */
31
+ export declare const MAX_CONCURRENT_EFFECTS = 5;
32
+ /**
33
+ * Calculates the duration of a status effect based on multiple factors.
34
+ *
35
+ * **Korean**: 효과 지속시간 계산 (Calculate Effect Duration)
36
+ *
37
+ * Formula:
38
+ * ```
39
+ * duration = baseDuration * (1 + (accuracy - 0.5) * 0.5) * severityMultiplier * archetypeModifier
40
+ * ```
41
+ *
42
+ * For critical hits (accuracy >= 0.9):
43
+ * ```
44
+ * duration = duration * 2.0
45
+ * ```
46
+ *
47
+ * @param effect - Vital point effect with base duration
48
+ * @param accuracy - Hit accuracy (0-1)
49
+ * @param severity - Vital point severity level
50
+ * @param attackerArchetype - Attacking player's archetype
51
+ * @param defenderArchetype - Defending player's archetype
52
+ * @returns Calculated duration in milliseconds
53
+ *
54
+ * @example
55
+ * ```typescript
56
+ * const duration = calculateEffectDuration(
57
+ * { id: "paralysis", duration: 2000, ... },
58
+ * 0.95, // High accuracy
59
+ * VitalPointSeverity.MAJOR,
60
+ * PlayerArchetype.AMSALJA, // Assassin attacker (+30%)
61
+ * PlayerArchetype.MUSA // Warrior defender (+20% resistance)
62
+ * );
63
+ * // Result: 2000 * 1.225 * 1.5 * 1.3 * 0.8 * 2.0 = ~9,568ms
64
+ * ```
65
+ *
66
+ * @public
67
+ * @korean 효과지속시간계산
68
+ */
69
+ export declare function calculateEffectDuration(effect: VitalPointEffect, accuracy: number, severity: VitalPointSeverity, attackerArchetype: PlayerArchetype, defenderArchetype: PlayerArchetype): number;
70
+ /**
71
+ * Calculates the intensity of a status effect based on hit accuracy.
72
+ *
73
+ * **Korean**: 효과 강도 계산 (Calculate Effect Intensity)
74
+ *
75
+ * Scales effect intensity from 0.5x (poor accuracy) to 1.5x (perfect accuracy).
76
+ *
77
+ * @param baseIntensity - Base effect intensity
78
+ * @param accuracy - Hit accuracy (0-1)
79
+ * @returns Scaled intensity value
80
+ *
81
+ * @example
82
+ * ```typescript
83
+ * const intensity = calculateEffectIntensity(
84
+ * EffectIntensity.MEDIUM,
85
+ * 0.9 // High accuracy
86
+ * );
87
+ * // Returns scaled intensity for 90% accuracy hit
88
+ * ```
89
+ *
90
+ * @public
91
+ * @korean 효과강도계산
92
+ */
93
+ export declare function calculateEffectIntensity(baseIntensity: EffectIntensity, accuracy: number): EffectIntensity;
94
+ /**
95
+ * Converts a VitalPointEffect to a StatusEffect with calculated properties.
96
+ *
97
+ * **Korean**: 급소 효과를 상태 효과로 변환 (Convert Vital Point Effect to Status Effect)
98
+ *
99
+ * @param effect - Vital point effect to convert
100
+ * @param accuracy - Hit accuracy
101
+ * @param severity - Vital point severity
102
+ * @param attackerArchetype - Attacker's archetype
103
+ * @param defenderArchetype - Defender's archetype
104
+ * @param vitalPointId - Source vital point ID
105
+ * @param timestamp - Current timestamp (for startTime/endTime)
106
+ * @returns StatusEffect with calculated duration and intensity
107
+ *
108
+ * @public
109
+ * @korean 상태효과변환
110
+ */
111
+ export declare function convertToStatusEffect(effect: VitalPointEffect, accuracy: number, severity: VitalPointSeverity, attackerArchetype: PlayerArchetype, defenderArchetype: PlayerArchetype, vitalPointId: string, timestamp: number): StatusEffect;
112
+ /**
113
+ * Applies effect stacking logic to a list of status effects.
114
+ *
115
+ * **Korean**: 효과 중첩 관리 (Manage Effect Stacking)
116
+ *
117
+ * Rules:
118
+ * - Non-stackable effects: Keep only the most recent
119
+ * - Stackable effects: Allow up to MAX_CONCURRENT_EFFECTS
120
+ * - Expired effects: Remove automatically
121
+ *
122
+ * @param currentEffects - Existing active effects
123
+ * @param newEffects - New effects to add
124
+ * @param currentTime - Current timestamp
125
+ * @returns Updated effect list with stacking applied
126
+ *
127
+ * @example
128
+ * ```typescript
129
+ * const updated = applyEffectStacking(
130
+ * player.statusEffects,
131
+ * newVitalPointEffects,
132
+ * Date.now()
133
+ * );
134
+ * ```
135
+ *
136
+ * @public
137
+ * @korean 효과중첩적용
138
+ */
139
+ export declare function applyEffectStacking(currentEffects: readonly StatusEffect[], newEffects: readonly StatusEffect[], currentTime: number): StatusEffect[];
140
+ /**
141
+ * Gets the offensive effect modifier for an archetype.
142
+ *
143
+ * **Korean**: 원형 공격 배율 조회 (Get Archetype Offensive Modifier)
144
+ *
145
+ * @param archetype - Player archetype
146
+ * @returns Offensive effect multiplier (1.0 - 1.3)
147
+ *
148
+ * @public
149
+ * @korean 원형공격배율조회
150
+ */
151
+ export declare function getArchetypeOffensiveModifier(archetype: PlayerArchetype): number;
152
+ /**
153
+ * Gets the defensive resistance modifier for an archetype.
154
+ *
155
+ * **Korean**: 원형 방어 배율 조회 (Get Archetype Defensive Modifier)
156
+ *
157
+ * @param archetype - Player archetype
158
+ * @returns Resistance modifier (-0.1 to 0.2)
159
+ *
160
+ * @public
161
+ * @korean 원형방어배율조회
162
+ */
163
+ export declare function getArchetypeDefensiveModifier(archetype: PlayerArchetype): number;
164
+ /**
165
+ * Checks if a hit qualifies as a critical hit based on accuracy.
166
+ *
167
+ * **Korean**: 크리티컬 타격 판정 (Check Critical Hit)
168
+ *
169
+ * @param accuracy - Hit accuracy (0-1)
170
+ * @returns True if accuracy >= 0.9 (critical hit)
171
+ *
172
+ * @public
173
+ * @korean 크리티컬판정
174
+ */
175
+ export declare function isCriticalHit(accuracy: number): boolean;
176
+ //# sourceMappingURL=EffectCalculator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EffectCalculator.d.ts","sourceRoot":"","sources":["../../src/systems/EffectCalculator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AA8BtD;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAsCxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,gBAAgB,EACxB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,kBAAkB,EAC5B,iBAAiB,EAAE,eAAe,EAClC,iBAAiB,EAAE,eAAe,GACjC,MAAM,CA0BR;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,wBAAwB,CACtC,aAAa,EAAE,eAAe,EAC9B,QAAQ,EAAE,MAAM,GACf,eAAe,CAuCjB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,gBAAgB,EACxB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,kBAAkB,EAC5B,iBAAiB,EAAE,eAAe,EAClC,iBAAiB,EAAE,eAAe,EAClC,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,GAChB,YAAY,CAsBd;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,mBAAmB,CACjC,cAAc,EAAE,SAAS,YAAY,EAAE,EACvC,UAAU,EAAE,SAAS,YAAY,EAAE,EACnC,WAAW,EAAE,MAAM,GAClB,YAAY,EAAE,CA2BhB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,eAAe,GACzB,MAAM,CAER;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,eAAe,GACzB,MAAM,CAER;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEvD"}
@@ -0,0 +1,251 @@
1
+ import { PlayerArchetype, VitalPointSeverity } from "../types/common.js";
2
+ import { EffectIntensity } from "./effects.js";
3
+ //#region src/systems/EffectCalculator.ts
4
+ /**
5
+ * Effect calculation system for vital point strikes.
6
+ *
7
+ * **Korean**: 효과 계산 시스템 (Effect Calculation System)
8
+ *
9
+ * This module provides comprehensive calculations for status effect duration,
10
+ * intensity, and application based on vital point strikes, accuracy, severity,
11
+ * and archetype-specific modifiers.
12
+ *
13
+ * ## Key Features
14
+ *
15
+ * - **Duration Calculation**: Based on severity, accuracy, and archetype
16
+ * - **Intensity Scaling**: Scales with hit accuracy (0.5-1.5x)
17
+ * - **Archetype Modifiers**: Resistance and vulnerability factors
18
+ * - **Critical Hit Enhancement**: 2x duration for accuracy > 0.9
19
+ * - **Effect Stacking**: Manages multiple concurrent effects
20
+ *
21
+ * @module systems/EffectCalculator
22
+ * @category Combat Effects
23
+ * @korean 효과계산기
24
+ */
25
+ /**
26
+ * Severity multipliers for effect duration calculation.
27
+ *
28
+ * **Korean**: 심각도 배율 (Severity Multipliers)
29
+ */
30
+ var SEVERITY_MULTIPLIERS = {
31
+ [VitalPointSeverity.MINOR]: .5,
32
+ [VitalPointSeverity.MODERATE]: 1,
33
+ [VitalPointSeverity.MAJOR]: 1.5,
34
+ [VitalPointSeverity.CRITICAL]: 2,
35
+ [VitalPointSeverity.LETHAL]: 3
36
+ };
37
+ /**
38
+ * Critical hit accuracy threshold.
39
+ * Strikes with accuracy >= 0.9 are considered critical.
40
+ *
41
+ * **Korean**: 크리티컬 정확도 기준점
42
+ */
43
+ var CRITICAL_HIT_THRESHOLD = .9;
44
+ /**
45
+ * Critical hit duration multiplier.
46
+ *
47
+ * **Korean**: 크리티컬 타격 지속시간 배율
48
+ */
49
+ var CRITICAL_DURATION_MULTIPLIER = 2;
50
+ /**
51
+ * Archetype resistance modifiers.
52
+ * Positive values = resistance (effects last shorter)
53
+ * Negative values = vulnerability (effects last longer)
54
+ *
55
+ * **Korean**: 원형별 저항력 배율 (Archetype Resistance Modifiers)
56
+ */
57
+ var ARCHETYPE_RESISTANCE = {
58
+ [PlayerArchetype.MUSA]: .2,
59
+ [PlayerArchetype.AMSALJA]: -.1,
60
+ [PlayerArchetype.HACKER]: 0,
61
+ [PlayerArchetype.JEONGBO_YOWON]: .1,
62
+ [PlayerArchetype.JOJIK_POKRYEOKBAE]: .15
63
+ };
64
+ /**
65
+ * Archetype offensive effect modifiers.
66
+ * Applied when archetype deals vital point strike.
67
+ *
68
+ * **Korean**: 원형별 공격 효과 배율 (Archetype Offensive Modifiers)
69
+ */
70
+ var ARCHETYPE_OFFENSIVE = {
71
+ [PlayerArchetype.MUSA]: 1,
72
+ [PlayerArchetype.AMSALJA]: 1.3,
73
+ [PlayerArchetype.HACKER]: 1.15,
74
+ [PlayerArchetype.JEONGBO_YOWON]: 1.25,
75
+ [PlayerArchetype.JOJIK_POKRYEOKBAE]: 1.2
76
+ };
77
+ /**
78
+ * Default effect duration in milliseconds if not specified.
79
+ *
80
+ * **Korean**: 기본 효과 지속시간 (Default Effect Duration)
81
+ */
82
+ var DEFAULT_EFFECT_DURATION = 2e3;
83
+ /**
84
+ * Calculates the duration of a status effect based on multiple factors.
85
+ *
86
+ * **Korean**: 효과 지속시간 계산 (Calculate Effect Duration)
87
+ *
88
+ * Formula:
89
+ * ```
90
+ * duration = baseDuration * (1 + (accuracy - 0.5) * 0.5) * severityMultiplier * archetypeModifier
91
+ * ```
92
+ *
93
+ * For critical hits (accuracy >= 0.9):
94
+ * ```
95
+ * duration = duration * 2.0
96
+ * ```
97
+ *
98
+ * @param effect - Vital point effect with base duration
99
+ * @param accuracy - Hit accuracy (0-1)
100
+ * @param severity - Vital point severity level
101
+ * @param attackerArchetype - Attacking player's archetype
102
+ * @param defenderArchetype - Defending player's archetype
103
+ * @returns Calculated duration in milliseconds
104
+ *
105
+ * @example
106
+ * ```typescript
107
+ * const duration = calculateEffectDuration(
108
+ * { id: "paralysis", duration: 2000, ... },
109
+ * 0.95, // High accuracy
110
+ * VitalPointSeverity.MAJOR,
111
+ * PlayerArchetype.AMSALJA, // Assassin attacker (+30%)
112
+ * PlayerArchetype.MUSA // Warrior defender (+20% resistance)
113
+ * );
114
+ * // Result: 2000 * 1.225 * 1.5 * 1.3 * 0.8 * 2.0 = ~9,568ms
115
+ * ```
116
+ *
117
+ * @public
118
+ * @korean 효과지속시간계산
119
+ */
120
+ function calculateEffectDuration(effect, accuracy, severity, attackerArchetype, defenderArchetype) {
121
+ const baseDuration = effect.duration || DEFAULT_EFFECT_DURATION;
122
+ const accuracyBonus = 1 + (accuracy - .5) * .5;
123
+ const severityMult = SEVERITY_MULTIPLIERS[severity] || 1;
124
+ const offensiveModifier = ARCHETYPE_OFFENSIVE[attackerArchetype] || 1;
125
+ const resistanceModifier = 1 - (ARCHETYPE_RESISTANCE[defenderArchetype] || 0);
126
+ let finalDuration = baseDuration * accuracyBonus * severityMult * offensiveModifier * resistanceModifier;
127
+ if (accuracy >= CRITICAL_HIT_THRESHOLD) finalDuration *= CRITICAL_DURATION_MULTIPLIER;
128
+ return Math.floor(finalDuration);
129
+ }
130
+ /**
131
+ * Calculates the intensity of a status effect based on hit accuracy.
132
+ *
133
+ * **Korean**: 효과 강도 계산 (Calculate Effect Intensity)
134
+ *
135
+ * Scales effect intensity from 0.5x (poor accuracy) to 1.5x (perfect accuracy).
136
+ *
137
+ * @param baseIntensity - Base effect intensity
138
+ * @param accuracy - Hit accuracy (0-1)
139
+ * @returns Scaled intensity value
140
+ *
141
+ * @example
142
+ * ```typescript
143
+ * const intensity = calculateEffectIntensity(
144
+ * EffectIntensity.MEDIUM,
145
+ * 0.9 // High accuracy
146
+ * );
147
+ * // Returns scaled intensity for 90% accuracy hit
148
+ * ```
149
+ *
150
+ * @public
151
+ * @korean 효과강도계산
152
+ */
153
+ function calculateEffectIntensity(baseIntensity, accuracy) {
154
+ const intensityMap = {
155
+ [EffectIntensity.WEAK]: 1,
156
+ [EffectIntensity.MINOR]: 2,
157
+ [EffectIntensity.LOW]: 3,
158
+ [EffectIntensity.MEDIUM]: 4,
159
+ [EffectIntensity.MODERATE]: 5,
160
+ [EffectIntensity.HIGH]: 6,
161
+ [EffectIntensity.SEVERE]: 7,
162
+ [EffectIntensity.CRITICAL]: 8,
163
+ [EffectIntensity.EXTREME]: 9
164
+ };
165
+ const reverseMap = [
166
+ EffectIntensity.WEAK,
167
+ EffectIntensity.MINOR,
168
+ EffectIntensity.LOW,
169
+ EffectIntensity.MEDIUM,
170
+ EffectIntensity.MODERATE,
171
+ EffectIntensity.HIGH,
172
+ EffectIntensity.SEVERE,
173
+ EffectIntensity.CRITICAL,
174
+ EffectIntensity.EXTREME
175
+ ];
176
+ const baseLevel = intensityMap[baseIntensity] || 4;
177
+ const accuracyModifier = .5 + accuracy;
178
+ return reverseMap[Math.max(1, Math.min(9, Math.round(baseLevel * accuracyModifier))) - 1];
179
+ }
180
+ /**
181
+ * Converts a VitalPointEffect to a StatusEffect with calculated properties.
182
+ *
183
+ * **Korean**: 급소 효과를 상태 효과로 변환 (Convert Vital Point Effect to Status Effect)
184
+ *
185
+ * @param effect - Vital point effect to convert
186
+ * @param accuracy - Hit accuracy
187
+ * @param severity - Vital point severity
188
+ * @param attackerArchetype - Attacker's archetype
189
+ * @param defenderArchetype - Defender's archetype
190
+ * @param vitalPointId - Source vital point ID
191
+ * @param timestamp - Current timestamp (for startTime/endTime)
192
+ * @returns StatusEffect with calculated duration and intensity
193
+ *
194
+ * @public
195
+ * @korean 상태효과변환
196
+ */
197
+ function convertToStatusEffect(effect, accuracy, severity, attackerArchetype, defenderArchetype, vitalPointId, timestamp) {
198
+ const duration = calculateEffectDuration(effect, accuracy, severity, attackerArchetype, defenderArchetype);
199
+ const intensity = calculateEffectIntensity(effect.intensity, accuracy);
200
+ return {
201
+ id: `${effect.id}_${timestamp}`,
202
+ type: effect.type,
203
+ intensity,
204
+ duration,
205
+ description: effect.description,
206
+ stackable: effect.stackable,
207
+ source: vitalPointId,
208
+ startTime: timestamp,
209
+ endTime: timestamp + duration
210
+ };
211
+ }
212
+ /**
213
+ * Applies effect stacking logic to a list of status effects.
214
+ *
215
+ * **Korean**: 효과 중첩 관리 (Manage Effect Stacking)
216
+ *
217
+ * Rules:
218
+ * - Non-stackable effects: Keep only the most recent
219
+ * - Stackable effects: Allow up to MAX_CONCURRENT_EFFECTS
220
+ * - Expired effects: Remove automatically
221
+ *
222
+ * @param currentEffects - Existing active effects
223
+ * @param newEffects - New effects to add
224
+ * @param currentTime - Current timestamp
225
+ * @returns Updated effect list with stacking applied
226
+ *
227
+ * @example
228
+ * ```typescript
229
+ * const updated = applyEffectStacking(
230
+ * player.statusEffects,
231
+ * newVitalPointEffects,
232
+ * Date.now()
233
+ * );
234
+ * ```
235
+ *
236
+ * @public
237
+ * @korean 효과중첩적용
238
+ */
239
+ function applyEffectStacking(currentEffects, newEffects, currentTime) {
240
+ let activeEffects = currentEffects.filter((effect) => effect.endTime > currentTime);
241
+ for (const newEffect of newEffects) {
242
+ if (!newEffect.stackable) activeEffects = activeEffects.filter((effect) => effect.type !== newEffect.type);
243
+ activeEffects = [...activeEffects, newEffect];
244
+ }
245
+ if (activeEffects.length > 5) activeEffects = activeEffects.sort((a, b) => b.startTime - a.startTime).slice(0, 5);
246
+ return activeEffects;
247
+ }
248
+ //#endregion
249
+ export { applyEffectStacking, convertToStatusEffect };
250
+
251
+ //# sourceMappingURL=EffectCalculator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EffectCalculator.js","names":[],"sources":["../../src/systems/EffectCalculator.ts"],"sourcesContent":["/**\n * Effect calculation system for vital point strikes.\n * \n * **Korean**: 효과 계산 시스템 (Effect Calculation System)\n * \n * This module provides comprehensive calculations for status effect duration,\n * intensity, and application based on vital point strikes, accuracy, severity,\n * and archetype-specific modifiers.\n * \n * ## Key Features\n * \n * - **Duration Calculation**: Based on severity, accuracy, and archetype\n * - **Intensity Scaling**: Scales with hit accuracy (0.5-1.5x)\n * - **Archetype Modifiers**: Resistance and vulnerability factors\n * - **Critical Hit Enhancement**: 2x duration for accuracy > 0.9\n * - **Effect Stacking**: Manages multiple concurrent effects\n * \n * @module systems/EffectCalculator\n * @category Combat Effects\n * @korean 효과계산기\n */\n\nimport { PlayerArchetype, VitalPointSeverity } from \"../types/common\";\nimport { EffectIntensity } from \"./effects\";\nimport { StatusEffect } from \"./types\";\nimport { VitalPointEffect } from \"./vitalpoint/types\";\n\n/**\n * Severity multipliers for effect duration calculation.\n * \n * **Korean**: 심각도 배율 (Severity Multipliers)\n */\nconst SEVERITY_MULTIPLIERS: Record<VitalPointSeverity, number> = {\n [VitalPointSeverity.MINOR]: 0.5,\n [VitalPointSeverity.MODERATE]: 1.0,\n [VitalPointSeverity.MAJOR]: 1.5,\n [VitalPointSeverity.CRITICAL]: 2.0,\n [VitalPointSeverity.LETHAL]: 3.0,\n};\n\n/**\n * Critical hit accuracy threshold.\n * Strikes with accuracy >= 0.9 are considered critical.\n * \n * **Korean**: 크리티컬 정확도 기준점\n */\nconst CRITICAL_HIT_THRESHOLD = 0.9;\n\n/**\n * Critical hit duration multiplier.\n * \n * **Korean**: 크리티컬 타격 지속시간 배율\n */\nconst CRITICAL_DURATION_MULTIPLIER = 2.0;\n\n/**\n * Maximum number of concurrent status effects allowed per player.\n * \n * **Korean**: 최대 동시 효과 개수\n */\nexport const MAX_CONCURRENT_EFFECTS = 5;\n\n/**\n * Archetype resistance modifiers.\n * Positive values = resistance (effects last shorter)\n * Negative values = vulnerability (effects last longer)\n * \n * **Korean**: 원형별 저항력 배율 (Archetype Resistance Modifiers)\n */\nconst ARCHETYPE_RESISTANCE: Record<PlayerArchetype, number> = {\n [PlayerArchetype.MUSA]: 0.2, // +20% resistance (traditional warrior discipline)\n [PlayerArchetype.AMSALJA]: -0.1, // -10% resistance (glass cannon)\n [PlayerArchetype.HACKER]: 0.0, // Neutral resistance\n [PlayerArchetype.JEONGBO_YOWON]: 0.1, // +10% resistance (mental fortitude)\n [PlayerArchetype.JOJIK_POKRYEOKBAE]: 0.15, // +15% resistance (street-hardened)\n};\n\n/**\n * Archetype offensive effect modifiers.\n * Applied when archetype deals vital point strike.\n * \n * **Korean**: 원형별 공격 효과 배율 (Archetype Offensive Modifiers)\n */\nconst ARCHETYPE_OFFENSIVE: Record<PlayerArchetype, number> = {\n [PlayerArchetype.MUSA]: 1.0, // Standard effects\n [PlayerArchetype.AMSALJA]: 1.3, // +30% effect potency (assassination mastery)\n [PlayerArchetype.HACKER]: 1.15, // +15% effect potency (precision targeting)\n [PlayerArchetype.JEONGBO_YOWON]: 1.25, // +25% effect potency (anatomical knowledge)\n [PlayerArchetype.JOJIK_POKRYEOKBAE]: 1.2, // +20% effect potency (brutal efficiency)\n};\n\n/**\n * Default effect duration in milliseconds if not specified.\n * \n * **Korean**: 기본 효과 지속시간 (Default Effect Duration)\n */\nconst DEFAULT_EFFECT_DURATION = 2000;\n\n/**\n * Calculates the duration of a status effect based on multiple factors.\n * \n * **Korean**: 효과 지속시간 계산 (Calculate Effect Duration)\n * \n * Formula:\n * ```\n * duration = baseDuration * (1 + (accuracy - 0.5) * 0.5) * severityMultiplier * archetypeModifier\n * ```\n * \n * For critical hits (accuracy >= 0.9):\n * ```\n * duration = duration * 2.0\n * ```\n * \n * @param effect - Vital point effect with base duration\n * @param accuracy - Hit accuracy (0-1)\n * @param severity - Vital point severity level\n * @param attackerArchetype - Attacking player's archetype\n * @param defenderArchetype - Defending player's archetype\n * @returns Calculated duration in milliseconds\n * \n * @example\n * ```typescript\n * const duration = calculateEffectDuration(\n * { id: \"paralysis\", duration: 2000, ... },\n * 0.95, // High accuracy\n * VitalPointSeverity.MAJOR,\n * PlayerArchetype.AMSALJA, // Assassin attacker (+30%)\n * PlayerArchetype.MUSA // Warrior defender (+20% resistance)\n * );\n * // Result: 2000 * 1.225 * 1.5 * 1.3 * 0.8 * 2.0 = ~9,568ms\n * ```\n * \n * @public\n * @korean 효과지속시간계산\n */\nexport function calculateEffectDuration(\n effect: VitalPointEffect,\n accuracy: number,\n severity: VitalPointSeverity,\n attackerArchetype: PlayerArchetype,\n defenderArchetype: PlayerArchetype\n): number {\n const baseDuration = effect.duration || DEFAULT_EFFECT_DURATION;\n\n // Accuracy bonus: 0.75x at 0 accuracy, 1.0x at 0.5, 1.25x at 1.0\n const accuracyBonus = 1 + (accuracy - 0.5) * 0.5;\n\n // Severity multiplier\n const severityMult = SEVERITY_MULTIPLIERS[severity] || 1.0;\n\n // Attacker offensive modifier\n const offensiveModifier = ARCHETYPE_OFFENSIVE[attackerArchetype] || 1.0;\n\n // Defender resistance modifier (inverted: resistance reduces duration)\n const resistanceModifier =\n 1 - (ARCHETYPE_RESISTANCE[defenderArchetype] || 0);\n\n // Calculate base duration\n let finalDuration =\n baseDuration * accuracyBonus * severityMult * offensiveModifier * resistanceModifier;\n\n // Critical hit bonus for high accuracy\n if (accuracy >= CRITICAL_HIT_THRESHOLD) {\n finalDuration *= CRITICAL_DURATION_MULTIPLIER;\n }\n\n return Math.floor(finalDuration);\n}\n\n/**\n * Calculates the intensity of a status effect based on hit accuracy.\n * \n * **Korean**: 효과 강도 계산 (Calculate Effect Intensity)\n * \n * Scales effect intensity from 0.5x (poor accuracy) to 1.5x (perfect accuracy).\n * \n * @param baseIntensity - Base effect intensity\n * @param accuracy - Hit accuracy (0-1)\n * @returns Scaled intensity value\n * \n * @example\n * ```typescript\n * const intensity = calculateEffectIntensity(\n * EffectIntensity.MEDIUM,\n * 0.9 // High accuracy\n * );\n * // Returns scaled intensity for 90% accuracy hit\n * ```\n * \n * @public\n * @korean 효과강도계산\n */\nexport function calculateEffectIntensity(\n baseIntensity: EffectIntensity,\n accuracy: number\n): EffectIntensity {\n // Map intensities to numeric scale\n const intensityMap: Record<EffectIntensity, number> = {\n [EffectIntensity.WEAK]: 1,\n [EffectIntensity.MINOR]: 2,\n [EffectIntensity.LOW]: 3,\n [EffectIntensity.MEDIUM]: 4,\n [EffectIntensity.MODERATE]: 5,\n [EffectIntensity.HIGH]: 6,\n [EffectIntensity.SEVERE]: 7,\n [EffectIntensity.CRITICAL]: 8,\n [EffectIntensity.EXTREME]: 9,\n };\n\n // Reverse map for lookup\n const reverseMap: EffectIntensity[] = [\n EffectIntensity.WEAK,\n EffectIntensity.MINOR,\n EffectIntensity.LOW,\n EffectIntensity.MEDIUM,\n EffectIntensity.MODERATE,\n EffectIntensity.HIGH,\n EffectIntensity.SEVERE,\n EffectIntensity.CRITICAL,\n EffectIntensity.EXTREME,\n ];\n\n const baseLevel = intensityMap[baseIntensity] || 4;\n\n // Accuracy modifier: 0.5x at 0 accuracy, 1.0x at 0.5, 1.5x at 1.0\n const accuracyModifier = 0.5 + accuracy;\n\n // Calculate scaled level\n const scaledLevel = Math.max(\n 1,\n Math.min(9, Math.round(baseLevel * accuracyModifier))\n );\n\n return reverseMap[scaledLevel - 1];\n}\n\n/**\n * Converts a VitalPointEffect to a StatusEffect with calculated properties.\n * \n * **Korean**: 급소 효과를 상태 효과로 변환 (Convert Vital Point Effect to Status Effect)\n * \n * @param effect - Vital point effect to convert\n * @param accuracy - Hit accuracy\n * @param severity - Vital point severity\n * @param attackerArchetype - Attacker's archetype\n * @param defenderArchetype - Defender's archetype\n * @param vitalPointId - Source vital point ID\n * @param timestamp - Current timestamp (for startTime/endTime)\n * @returns StatusEffect with calculated duration and intensity\n * \n * @public\n * @korean 상태효과변환\n */\nexport function convertToStatusEffect(\n effect: VitalPointEffect,\n accuracy: number,\n severity: VitalPointSeverity,\n attackerArchetype: PlayerArchetype,\n defenderArchetype: PlayerArchetype,\n vitalPointId: string,\n timestamp: number\n): StatusEffect {\n const duration = calculateEffectDuration(\n effect,\n accuracy,\n severity,\n attackerArchetype,\n defenderArchetype\n );\n\n const intensity = calculateEffectIntensity(effect.intensity, accuracy);\n\n return {\n id: `${effect.id}_${timestamp}`,\n type: effect.type,\n intensity,\n duration,\n description: effect.description,\n stackable: effect.stackable,\n source: vitalPointId,\n startTime: timestamp,\n endTime: timestamp + duration,\n };\n}\n\n/**\n * Applies effect stacking logic to a list of status effects.\n * \n * **Korean**: 효과 중첩 관리 (Manage Effect Stacking)\n * \n * Rules:\n * - Non-stackable effects: Keep only the most recent\n * - Stackable effects: Allow up to MAX_CONCURRENT_EFFECTS\n * - Expired effects: Remove automatically\n * \n * @param currentEffects - Existing active effects\n * @param newEffects - New effects to add\n * @param currentTime - Current timestamp\n * @returns Updated effect list with stacking applied\n * \n * @example\n * ```typescript\n * const updated = applyEffectStacking(\n * player.statusEffects,\n * newVitalPointEffects,\n * Date.now()\n * );\n * ```\n * \n * @public\n * @korean 효과중첩적용\n */\nexport function applyEffectStacking(\n currentEffects: readonly StatusEffect[],\n newEffects: readonly StatusEffect[],\n currentTime: number\n): StatusEffect[] {\n // Remove expired effects\n let activeEffects = currentEffects.filter(\n (effect) => effect.endTime > currentTime\n );\n\n // Process each new effect\n for (const newEffect of newEffects) {\n if (!newEffect.stackable) {\n // Remove existing effects of same type (non-stackable)\n activeEffects = activeEffects.filter(\n (effect) => effect.type !== newEffect.type\n );\n }\n\n // Add new effect\n activeEffects = [...activeEffects, newEffect];\n }\n\n // Limit to MAX_CONCURRENT_EFFECTS (keep most recent)\n if (activeEffects.length > MAX_CONCURRENT_EFFECTS) {\n activeEffects = activeEffects\n .sort((a, b) => b.startTime - a.startTime)\n .slice(0, MAX_CONCURRENT_EFFECTS);\n }\n\n return activeEffects;\n}\n\n/**\n * Gets the offensive effect modifier for an archetype.\n * \n * **Korean**: 원형 공격 배율 조회 (Get Archetype Offensive Modifier)\n * \n * @param archetype - Player archetype\n * @returns Offensive effect multiplier (1.0 - 1.3)\n * \n * @public\n * @korean 원형공격배율조회\n */\nexport function getArchetypeOffensiveModifier(\n archetype: PlayerArchetype\n): number {\n return ARCHETYPE_OFFENSIVE[archetype] || 1.0;\n}\n\n/**\n * Gets the defensive resistance modifier for an archetype.\n * \n * **Korean**: 원형 방어 배율 조회 (Get Archetype Defensive Modifier)\n * \n * @param archetype - Player archetype\n * @returns Resistance modifier (-0.1 to 0.2)\n * \n * @public\n * @korean 원형방어배율조회\n */\nexport function getArchetypeDefensiveModifier(\n archetype: PlayerArchetype\n): number {\n return ARCHETYPE_RESISTANCE[archetype] || 0;\n}\n\n/**\n * Checks if a hit qualifies as a critical hit based on accuracy.\n * \n * **Korean**: 크리티컬 타격 판정 (Check Critical Hit)\n * \n * @param accuracy - Hit accuracy (0-1)\n * @returns True if accuracy >= 0.9 (critical hit)\n * \n * @public\n * @korean 크리티컬판정\n */\nexport function isCriticalHit(accuracy: number): boolean {\n return accuracy >= CRITICAL_HIT_THRESHOLD;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCA,IAAM,uBAA2D;EAC9D,mBAAmB,QAAQ;EAC3B,mBAAmB,WAAW;EAC9B,mBAAmB,QAAQ;EAC3B,mBAAmB,WAAW;EAC9B,mBAAmB,SAAS;CAC9B;;;;;;;AAQD,IAAM,yBAAyB;;;;;;AAO/B,IAAM,+BAA+B;;;;;;;;AAgBrC,IAAM,uBAAwD;EAC3D,gBAAgB,OAAO;EACvB,gBAAgB,UAAU;EAC1B,gBAAgB,SAAS;EACzB,gBAAgB,gBAAgB;EAChC,gBAAgB,oBAAoB;CACtC;;;;;;;AAQD,IAAM,sBAAuD;EAC1D,gBAAgB,OAAO;EACvB,gBAAgB,UAAU;EAC1B,gBAAgB,SAAS;EACzB,gBAAgB,gBAAgB;EAChC,gBAAgB,oBAAoB;CACtC;;;;;;AAOD,IAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuChC,SAAgB,wBACd,QACA,UACA,UACA,mBACA,mBACQ;CACR,MAAM,eAAe,OAAO,YAAY;CAGxC,MAAM,gBAAgB,KAAK,WAAW,MAAO;CAG7C,MAAM,eAAe,qBAAqB,aAAa;CAGvD,MAAM,oBAAoB,oBAAoB,sBAAsB;CAGpE,MAAM,qBACJ,KAAK,qBAAqB,sBAAsB;CAGlD,IAAI,gBACF,eAAe,gBAAgB,eAAe,oBAAoB;AAGpE,KAAI,YAAY,uBACd,kBAAiB;AAGnB,QAAO,KAAK,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;AA0BlC,SAAgB,yBACd,eACA,UACiB;CAEjB,MAAM,eAAgD;GACnD,gBAAgB,OAAO;GACvB,gBAAgB,QAAQ;GACxB,gBAAgB,MAAM;GACtB,gBAAgB,SAAS;GACzB,gBAAgB,WAAW;GAC3B,gBAAgB,OAAO;GACvB,gBAAgB,SAAS;GACzB,gBAAgB,WAAW;GAC3B,gBAAgB,UAAU;EAC5B;CAGD,MAAM,aAAgC;EACpC,gBAAgB;EAChB,gBAAgB;EAChB,gBAAgB;EAChB,gBAAgB;EAChB,gBAAgB;EAChB,gBAAgB;EAChB,gBAAgB;EAChB,gBAAgB;EAChB,gBAAgB;EACjB;CAED,MAAM,YAAY,aAAa,kBAAkB;CAGjD,MAAM,mBAAmB,KAAM;AAQ/B,QAAO,WALa,KAAK,IACvB,GACA,KAAK,IAAI,GAAG,KAAK,MAAM,YAAY,iBAAiB,CAAC,CACtD,GAE+B;;;;;;;;;;;;;;;;;;;AAoBlC,SAAgB,sBACd,QACA,UACA,UACA,mBACA,mBACA,cACA,WACc;CACd,MAAM,WAAW,wBACf,QACA,UACA,UACA,mBACA,kBACD;CAED,MAAM,YAAY,yBAAyB,OAAO,WAAW,SAAS;AAEtE,QAAO;EACL,IAAI,GAAG,OAAO,GAAG,GAAG;EACpB,MAAM,OAAO;EACb;EACA;EACA,aAAa,OAAO;EACpB,WAAW,OAAO;EAClB,QAAQ;EACR,WAAW;EACX,SAAS,YAAY;EACtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BH,SAAgB,oBACd,gBACA,YACA,aACgB;CAEhB,IAAI,gBAAgB,eAAe,QAChC,WAAW,OAAO,UAAU,YAC9B;AAGD,MAAK,MAAM,aAAa,YAAY;AAClC,MAAI,CAAC,UAAU,UAEb,iBAAgB,cAAc,QAC3B,WAAW,OAAO,SAAS,UAAU,KACvC;AAIH,kBAAgB,CAAC,GAAG,eAAe,UAAU;;AAI/C,KAAI,cAAc,SAAA,EAChB,iBAAgB,cACb,MAAM,GAAG,MAAM,EAAE,YAAY,EAAE,UAAU,CACzC,MAAM,GAAA,EAA0B;AAGrC,QAAO"}