blacktrigram 0.7.44 → 0.7.45
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/audio/AudioManager.d.ts +26 -0
- package/lib/audio/AudioManager.d.ts.map +1 -1
- package/lib/audio/AudioManager.js +26 -0
- package/lib/audio/AudioManager.js.map +1 -1
- package/lib/audio/index.d.ts.map +1 -1
- package/lib/audio/index.js.map +1 -1
- package/lib/audio/types.d.ts +18 -2
- package/lib/audio/types.d.ts.map +1 -1
- package/lib/audio/types.js +1 -0
- package/lib/audio/types.js.map +1 -1
- package/lib/components/effects/WindParticles3D.d.ts.map +1 -1
- package/lib/components/index.d.ts.map +1 -1
- package/lib/components/index.js.map +1 -1
- package/lib/components/screens/combat/CombatScreen3D.d.ts.map +1 -1
- package/lib/components/screens/combat/CombatScreen3D.js.map +1 -1
- package/lib/components/screens/combat/components/controls/KeyboardHints.d.ts +0 -1
- package/lib/components/screens/combat/components/controls/KeyboardHints.d.ts.map +1 -1
- package/lib/components/screens/combat/components/controls/KeyboardHints.js +0 -1
- package/lib/components/screens/combat/components/controls/KeyboardHints.js.map +1 -1
- package/lib/components/screens/combat/components/controls/PauseMenu.d.ts.map +1 -1
- package/lib/components/screens/combat/components/controls/PauseMenu.js.map +1 -1
- package/lib/components/screens/combat/components/effects/ArterialSpray3D.d.ts.map +1 -1
- package/lib/components/screens/combat/components/effects/BloodDecals3D.d.ts.map +1 -1
- package/lib/components/screens/combat/components/effects/BloodDecals3D.js.map +1 -1
- package/lib/components/screens/combat/components/effects/BloodLossOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/combat/components/effects/BloodLossOverlayHtml.js.map +1 -1
- package/lib/components/screens/combat/components/effects/BloodParticles3D.d.ts.map +1 -1
- package/lib/components/screens/combat/components/effects/BloodParticles3D.js.map +1 -1
- package/lib/components/screens/combat/components/effects/BloodViscosity3D.d.ts.map +1 -1
- package/lib/components/screens/combat/components/effects/BloodViscosity3D.js.map +1 -1
- package/lib/components/screens/combat/components/effects/BoneCrackParticles3D.d.ts.map +1 -1
- package/lib/components/screens/combat/components/effects/CombatParticleEffects3D.d.ts.map +1 -1
- package/lib/components/screens/combat/components/effects/CombatParticleEffects3D.js.map +1 -1
- package/lib/components/screens/combat/components/effects/ConsciousnessBlur.d.ts.map +1 -1
- package/lib/components/screens/combat/components/effects/ConsciousnessBlur.js.map +1 -1
- package/lib/components/screens/combat/components/effects/DustClouds3D.d.ts.map +1 -1
- package/lib/components/screens/combat/components/effects/EarthCrackEffect3D.d.ts.map +1 -1
- package/lib/components/screens/combat/components/effects/EarthHealingEffect3D.d.ts.map +1 -1
- package/lib/components/screens/combat/components/effects/ImpactSparks3D.d.ts.map +1 -1
- package/lib/components/screens/combat/components/effects/InternalDamage3D.d.ts.map +1 -1
- package/lib/components/screens/combat/components/effects/InternalDamage3D.js.map +1 -1
- package/lib/components/screens/combat/components/effects/LiPrecisionTargetingOverlay.d.ts.map +1 -1
- package/lib/components/screens/combat/components/effects/NerveStrikeParticles3D.d.ts.map +1 -1
- package/lib/components/screens/combat/components/effects/PainVignette.d.ts.map +1 -1
- package/lib/components/screens/combat/components/effects/PainVignette.js.map +1 -1
- package/lib/components/screens/combat/components/effects/ParticleAudio3D.d.ts.map +1 -1
- package/lib/components/screens/combat/components/effects/ParticleAudio3D.js.map +1 -1
- package/lib/components/screens/combat/components/effects/TraumaOverlay3D.d.ts.map +1 -1
- package/lib/components/screens/combat/components/effects/TraumaOverlay3D.js.map +1 -1
- package/lib/components/screens/combat/components/effects/WaterRipple3D.d.ts.map +1 -1
- package/lib/components/screens/combat/components/effects/WaterWave3D.d.ts.map +1 -1
- package/lib/components/screens/combat/components/effects/index.d.ts.map +1 -1
- package/lib/components/screens/combat/components/feedback/MatchCountdown.d.ts.map +1 -1
- package/lib/components/screens/combat/components/feedback/MatchCountdown.js.map +1 -1
- package/lib/components/screens/combat/components/feedback/RoundAnnouncementOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/combat/components/feedback/RoundAnnouncementOverlayHtml.js.map +1 -1
- package/lib/components/screens/combat/components/feedback/RoundStartAnnouncementOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/combat/components/feedback/RoundStartAnnouncementOverlayHtml.js.map +1 -1
- package/lib/components/screens/combat/components/hud/CombatBottomHUD.d.ts.map +1 -1
- package/lib/components/screens/combat/components/hud/CombatBottomHUD.js.map +1 -1
- package/lib/components/screens/combat/components/hud/CombatLeftHUD.d.ts.map +1 -1
- package/lib/components/screens/combat/components/hud/CombatLeftHUD.js.map +1 -1
- package/lib/components/screens/combat/components/hud/CombatPortraitStatusStrip.d.ts.map +1 -1
- package/lib/components/screens/combat/components/hud/CombatPortraitStatusStrip.js.map +1 -1
- package/lib/components/screens/combat/components/hud/CombatRightHUD.d.ts.map +1 -1
- package/lib/components/screens/combat/components/hud/CombatRightHUD.js.map +1 -1
- package/lib/components/screens/combat/components/hud/CombatTopHUD.d.ts.map +1 -1
- package/lib/components/screens/combat/components/hud/CombatTopHUD.js.map +1 -1
- package/lib/components/screens/combat/components/hud/DifficultyIndicator.d.ts.map +1 -1
- package/lib/components/screens/combat/components/hud/DifficultyIndicator.js.map +1 -1
- package/lib/components/screens/combat/components/hud/FPSMonitor.d.ts.map +1 -1
- package/lib/components/screens/combat/components/hud/FPSMonitor.js.map +1 -1
- package/lib/components/screens/combat/components/hud/PlayerStateOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/combat/components/hud/PlayerStateOverlayHtml.js.map +1 -1
- package/lib/components/screens/combat/components/indicators/BalanceIndicator.d.ts.map +1 -1
- package/lib/components/screens/combat/components/indicators/BalanceIndicator.js.map +1 -1
- package/lib/components/screens/combat/components/indicators/InputBufferDisplay.d.ts +0 -1
- package/lib/components/screens/combat/components/indicators/InputBufferDisplay.d.ts.map +1 -1
- package/lib/components/screens/combat/components/indicators/InputBufferDisplay.js +0 -1
- package/lib/components/screens/combat/components/indicators/InputBufferDisplay.js.map +1 -1
- package/lib/components/screens/combat/components/indicators/StaminaWarning.d.ts.map +1 -1
- package/lib/components/screens/combat/components/indicators/StaminaWarning.js.map +1 -1
- package/lib/components/screens/combat/components/indicators/TechniqueNameDisplay.d.ts +0 -2
- package/lib/components/screens/combat/components/indicators/TechniqueNameDisplay.d.ts.map +1 -1
- package/lib/components/screens/combat/components/indicators/TechniqueNameDisplay.js +0 -1
- package/lib/components/screens/combat/components/indicators/TechniqueNameDisplay.js.map +1 -1
- package/lib/components/screens/combat/helpers/AnimationUpdater.d.ts.map +1 -1
- package/lib/components/screens/combat/helpers/AnimationUpdater.js.map +1 -1
- package/lib/components/screens/combat/helpers/combatHelpers.d.ts.map +1 -1
- package/lib/components/screens/combat/helpers/combatHelpers.js.map +1 -1
- package/lib/components/screens/combat/hooks/useAICombat.d.ts.map +1 -1
- package/lib/components/screens/combat/hooks/useAICombat.js.map +1 -1
- package/lib/components/screens/combat/hooks/useCombatActions.d.ts.map +1 -1
- package/lib/components/screens/combat/hooks/useCombatActions.js.map +1 -1
- package/lib/components/screens/combat/hooks/useCombatAttackMovement.d.ts.map +1 -1
- package/lib/components/screens/combat/hooks/useCombatAttackMovement.js.map +1 -1
- package/lib/components/screens/combat/hooks/useCombatAudio.d.ts.map +1 -1
- package/lib/components/screens/combat/hooks/useCombatAudio.js.map +1 -1
- package/lib/components/screens/combat/hooks/useCombatLayout.d.ts.map +1 -1
- package/lib/components/screens/combat/hooks/useCombatLayout.js.map +1 -1
- package/lib/components/screens/combat/hooks/useCombatState.d.ts.map +1 -1
- package/lib/components/screens/combat/hooks/useCombatState.js.map +1 -1
- package/lib/components/screens/combat/hooks/useGrapplingAudio.d.ts.map +1 -1
- package/lib/components/screens/combat/hooks/usePreloadCombatAudio.d.ts.map +1 -1
- package/lib/components/screens/controls/ControlsScreen3D.d.ts.map +1 -1
- package/lib/components/screens/controls/ControlsScreen3D.js.map +1 -1
- package/lib/components/screens/controls/components/ControlBindingsOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/controls/components/ControlBindingsOverlayHtml.js.map +1 -1
- package/lib/components/screens/controls/components/GamepadVisualization3D.d.ts.map +1 -1
- package/lib/components/screens/controls/components/GamepadVisualization3D.js.map +1 -1
- package/lib/components/screens/controls/components/InteractiveControlDemoOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/controls/components/InteractiveControlDemoOverlayHtml.js.map +1 -1
- package/lib/components/screens/controls/components/Key3D.d.ts.map +1 -1
- package/lib/components/screens/controls/components/Key3D.js.map +1 -1
- package/lib/components/screens/controls/components/VisualKeyboard3D.d.ts.map +1 -1
- package/lib/components/screens/controls/components/VisualKeyboard3D.js.map +1 -1
- package/lib/components/screens/controls/constants/ControlsConstants.d.ts.map +1 -1
- package/lib/components/screens/controls/constants/ControlsConstants.js.map +1 -1
- package/lib/components/screens/controls/hooks/useControlsState.d.ts.map +1 -1
- package/lib/components/screens/controls/hooks/useControlsState.js.map +1 -1
- package/lib/components/screens/endscreen/EndScreen3D.d.ts.map +1 -1
- package/lib/components/screens/endscreen/EndScreen3D.js.map +1 -1
- package/lib/components/screens/endscreen/components/DefeatAnimation3D.d.ts.map +1 -1
- package/lib/components/screens/endscreen/components/DefeatAnimation3D.js.map +1 -1
- package/lib/components/screens/endscreen/components/NavigationButtonsOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/endscreen/components/NavigationButtonsOverlayHtml.js.map +1 -1
- package/lib/components/screens/endscreen/components/PerformanceBreakdownOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/endscreen/components/PerformanceBreakdownOverlayHtml.js.map +1 -1
- package/lib/components/screens/endscreen/components/PerformanceRatingOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/endscreen/components/PerformanceRatingOverlayHtml.js.map +1 -1
- package/lib/components/screens/endscreen/components/VictoryAnimation3D.d.ts.map +1 -1
- package/lib/components/screens/endscreen/components/VictoryAnimation3D.js.map +1 -1
- package/lib/components/screens/endscreen/components/WinnerDisplayOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/endscreen/components/WinnerDisplayOverlayHtml.js.map +1 -1
- package/lib/components/screens/endscreen/components/index.d.ts.map +1 -1
- package/lib/components/screens/endscreen/index.d.ts.map +1 -1
- package/lib/components/screens/intro/IntroScreen3D.d.ts.map +1 -1
- package/lib/components/screens/intro/IntroScreen3D.js +1 -1
- package/lib/components/screens/intro/IntroScreen3D.js.map +1 -1
- package/lib/components/screens/intro/components/AbilityListOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/intro/components/AbilityListOverlayHtml.js.map +1 -1
- package/lib/components/screens/intro/components/ArchetypeCardGridOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/intro/components/ArchetypeCardGridOverlayHtml.js.map +1 -1
- package/lib/components/screens/intro/components/ArchetypeCardOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/intro/components/ArchetypeCardOverlayHtml.js.map +1 -1
- package/lib/components/screens/intro/components/ArchetypeDisplayOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/intro/components/ArchetypeDisplayOverlayHtml.js.map +1 -1
- package/lib/components/screens/intro/components/EnhancedArchetypeDisplayOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/intro/components/EnhancedArchetypeDisplayOverlayHtml.js.map +1 -1
- package/lib/components/screens/intro/components/MenuButtonsOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/intro/components/MenuButtonsOverlayHtml.js.map +1 -1
- package/lib/components/screens/intro/components/MenuSectionOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/intro/components/MenuSectionOverlayHtml.js.map +1 -1
- package/lib/components/screens/intro/components/StatBarOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/intro/components/StatBarOverlayHtml.js.map +1 -1
- package/lib/components/screens/philosophy/PhilosophyScreen3D.d.ts.map +1 -1
- package/lib/components/screens/philosophy/PhilosophyScreen3D.js.map +1 -1
- package/lib/components/screens/philosophy/components/InteractiveTrigramGridOverlayHtml.d.ts +0 -1
- package/lib/components/screens/philosophy/components/InteractiveTrigramGridOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/philosophy/components/PhilosophyNavigationOverlayHtml.d.ts +0 -1
- package/lib/components/screens/philosophy/components/PhilosophyNavigationOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/philosophy/components/PhilosophySectionOverlayHtml.d.ts +0 -1
- package/lib/components/screens/philosophy/components/PhilosophySectionOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/philosophy/components/PhilosophyTextOverlayHtml.d.ts +0 -1
- package/lib/components/screens/philosophy/components/PhilosophyTextOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/philosophy/components/TrigramSymbol3D.d.ts +0 -1
- package/lib/components/screens/philosophy/components/TrigramSymbol3D.d.ts.map +1 -1
- package/lib/components/screens/philosophy/components/TrigramVisualization3D.d.ts +0 -1
- package/lib/components/screens/philosophy/components/TrigramVisualization3D.d.ts.map +1 -1
- package/lib/components/screens/philosophy/hooks/usePhilosophyState.d.ts +0 -1
- package/lib/components/screens/philosophy/hooks/usePhilosophyState.d.ts.map +1 -1
- package/lib/components/screens/training/TrainingScreen3D.d.ts.map +1 -1
- package/lib/components/screens/training/TrainingScreen3D.js.map +1 -1
- package/lib/components/screens/training/components/AnatomyControlsOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/training/components/AnatomyControlsOverlayHtml.js.map +1 -1
- package/lib/components/screens/training/components/AnatomyOverlay3D.d.ts.map +1 -1
- package/lib/components/screens/training/components/AnatomyOverlay3D.js.map +1 -1
- package/lib/components/screens/training/components/DamageNumber3D.d.ts.map +1 -1
- package/lib/components/screens/training/components/FootPlacementMarkers3D.d.ts.map +1 -1
- package/lib/components/screens/training/components/FootPlacementMarkers3D.js.map +1 -1
- package/lib/components/screens/training/components/FootworkDrillsOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/training/components/FootworkDrillsOverlayHtml.js.map +1 -1
- package/lib/components/screens/training/components/HitFeedbackEffect3D.d.ts.map +1 -1
- package/lib/components/screens/training/components/HitFeedbackEffect3D.js.map +1 -1
- package/lib/components/screens/training/components/TrainingAICharacter3D.d.ts.map +1 -1
- package/lib/components/screens/training/components/TrainingArena3D.d.ts.map +1 -1
- package/lib/components/screens/training/components/TrainingControlsOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/training/components/TrainingControlsOverlayHtml.js.map +1 -1
- package/lib/components/screens/training/components/TrainingDummy3D.d.ts.map +1 -1
- package/lib/components/screens/training/components/TrainingDummy3D.js.map +1 -1
- package/lib/components/screens/training/components/TrainingFeedbackOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/training/components/TrainingFeedbackOverlayHtml.js.map +1 -1
- package/lib/components/screens/training/components/TrainingHitEffects3D.d.ts.map +1 -1
- package/lib/components/screens/training/components/TrainingModeSelectorOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/training/components/TrainingModeSelectorOverlayHtml.js.map +1 -1
- package/lib/components/screens/training/components/TrainingStatsOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/training/components/TrainingStatsOverlayHtml.js.map +1 -1
- package/lib/components/screens/training/components/VitalPointMarker3D.d.ts.map +1 -1
- package/lib/components/screens/training/components/VitalPointMarker3D.js.map +1 -1
- package/lib/components/screens/training/components/VitalPointTrainingOverlayHtml.d.ts.map +1 -1
- package/lib/components/screens/training/components/VitalPointTrainingOverlayHtml.js.map +1 -1
- package/lib/components/screens/training/components/hud/TrainingBottomHUD.d.ts.map +1 -1
- package/lib/components/screens/training/components/hud/TrainingBottomHUD.js.map +1 -1
- package/lib/components/screens/training/components/hud/TrainingLeftHUD.d.ts.map +1 -1
- package/lib/components/screens/training/components/hud/TrainingLeftHUD.js.map +1 -1
- package/lib/components/screens/training/components/hud/TrainingRightHUD.d.ts.map +1 -1
- package/lib/components/screens/training/components/hud/TrainingRightHUD.js.map +1 -1
- package/lib/components/screens/training/components/hud/TrainingTopHUD.d.ts.map +1 -1
- package/lib/components/screens/training/components/hud/TrainingTopHUD.js.map +1 -1
- package/lib/components/screens/training/components/index.d.ts.map +1 -1
- package/lib/components/screens/training/hooks/useAttackMovement.d.ts.map +1 -1
- package/lib/components/screens/training/hooks/useAttackMovement.js.map +1 -1
- package/lib/components/screens/training/hooks/useTrainingActions.d.ts.map +1 -1
- package/lib/components/screens/training/hooks/useTrainingActions.js.map +1 -1
- package/lib/components/screens/training/hooks/useTrainingLayout.d.ts.map +1 -1
- package/lib/components/screens/training/hooks/useTrainingLayout.js.map +1 -1
- package/lib/components/screens/training/hooks/useTrainingState.d.ts.map +1 -1
- package/lib/components/screens/training/hooks/useTrainingState.js.map +1 -1
- package/lib/components/shared/base/AccessibilityProvider.d.ts.map +1 -1
- package/lib/components/shared/base/BaseButton.d.ts.map +1 -1
- package/lib/components/shared/base/BaseButton.js.map +1 -1
- package/lib/components/shared/base/BaseButtonOverlayHtml.d.ts.map +1 -1
- package/lib/components/shared/base/BaseButtonOverlayHtml.js.map +1 -1
- package/lib/components/shared/base/BasePanel.d.ts.map +1 -1
- package/lib/components/shared/base/BasePanel.js.map +1 -1
- package/lib/components/shared/base/BaseText.d.ts.map +1 -1
- package/lib/components/shared/base/BaseText.js.map +1 -1
- package/lib/components/shared/base/ResponsiveContainer.d.ts.map +1 -1
- package/lib/components/shared/base/index.d.ts.map +1 -1
- package/lib/components/shared/base/useKoreanTheme.d.ts.map +1 -1
- package/lib/components/shared/base/useKoreanTheme.js.map +1 -1
- package/lib/components/shared/debug/PerformanceDebugOverlayHtml.d.ts.map +1 -1
- package/lib/components/shared/debug/PerformanceDebugOverlayHtml.js.map +1 -1
- package/lib/components/shared/effects/ScreenFlash.d.ts.map +1 -1
- package/lib/components/shared/mobile/ActionButtons.d.ts.map +1 -1
- package/lib/components/shared/mobile/ActionButtons.js +0 -1
- package/lib/components/shared/mobile/ActionButtons.js.map +1 -1
- package/lib/components/shared/mobile/GestureRecognizerPure.d.ts +0 -1
- package/lib/components/shared/mobile/GestureRecognizerPure.d.ts.map +1 -1
- package/lib/components/shared/mobile/GestureRecognizerPure.js +0 -1
- package/lib/components/shared/mobile/GestureRecognizerPure.js.map +1 -1
- package/lib/components/shared/mobile/HapticController.d.ts +0 -13
- package/lib/components/shared/mobile/HapticController.d.ts.map +1 -1
- package/lib/components/shared/mobile/HapticController.js +0 -10
- package/lib/components/shared/mobile/HapticController.js.map +1 -1
- package/lib/components/shared/mobile/MobileControlsPure.d.ts.map +1 -1
- package/lib/components/shared/mobile/MobileControlsPure.js.map +1 -1
- package/lib/components/shared/mobile/PerformanceMonitor.d.ts +0 -15
- package/lib/components/shared/mobile/PerformanceMonitor.d.ts.map +1 -1
- package/lib/components/shared/mobile/StanceWheelPure.d.ts +0 -1
- package/lib/components/shared/mobile/StanceWheelPure.d.ts.map +1 -1
- package/lib/components/shared/mobile/StanceWheelPure.js +0 -1
- package/lib/components/shared/mobile/StanceWheelPure.js.map +1 -1
- package/lib/components/shared/mobile/TouchOptimizer.d.ts +0 -4
- package/lib/components/shared/mobile/TouchOptimizer.d.ts.map +1 -1
- package/lib/components/shared/mobile/TouchOptimizer.js +0 -3
- package/lib/components/shared/mobile/TouchOptimizer.js.map +1 -1
- package/lib/components/shared/mobile/VirtualDPad.d.ts.map +1 -1
- package/lib/components/shared/mobile/VirtualDPad.js +0 -1
- package/lib/components/shared/mobile/VirtualDPad.js.map +1 -1
- package/lib/components/shared/mobile/index.d.ts.map +1 -1
- package/lib/components/shared/three/anatomy/BodySurface.d.ts.map +1 -1
- package/lib/components/shared/three/anatomy/BodySurface.js.map +1 -1
- package/lib/components/shared/three/anatomy/BoneAttachedMuscles.d.ts.map +1 -1
- package/lib/components/shared/three/anatomy/BoneAttachedMuscles.js.map +1 -1
- package/lib/components/shared/three/anatomy/BoneClothing.d.ts.map +1 -1
- package/lib/components/shared/three/anatomy/BoneClothing.js.map +1 -1
- package/lib/components/shared/three/anatomy/BoneRenderer.d.ts +0 -1
- package/lib/components/shared/three/anatomy/BoneRenderer.d.ts.map +1 -1
- package/lib/components/shared/three/anatomy/BoneRenderer.js.map +1 -1
- package/lib/components/shared/three/anatomy/Face3D.d.ts.map +1 -1
- package/lib/components/shared/three/anatomy/Face3D.js.map +1 -1
- package/lib/components/shared/three/anatomy/Foot3D.d.ts +0 -1
- package/lib/components/shared/three/anatomy/Foot3D.d.ts.map +1 -1
- package/lib/components/shared/three/anatomy/Foot3D.js.map +1 -1
- package/lib/components/shared/three/anatomy/Hand3D.d.ts +0 -1
- package/lib/components/shared/three/anatomy/Hand3D.d.ts.map +1 -1
- package/lib/components/shared/three/anatomy/Hand3D.js.map +1 -1
- package/lib/components/shared/three/effects/ActionFeedback.d.ts.map +1 -1
- package/lib/components/shared/three/effects/ActionFeedback.js.map +1 -1
- package/lib/components/shared/three/effects/DamageNumbers.d.ts.map +1 -1
- package/lib/components/shared/three/effects/DamageNumbers.js.map +1 -1
- package/lib/components/shared/three/effects/ExplosiveBurstEffect3D.d.ts.map +1 -1
- package/lib/components/shared/three/effects/GrapplingIndicator3D.d.ts.map +1 -1
- package/lib/components/shared/three/effects/HitEffects3D.d.ts.map +1 -1
- package/lib/components/shared/three/effects/HitEffects3D.js.map +1 -1
- package/lib/components/shared/three/effects/LimbExposureIndicator3D.d.ts.map +1 -1
- package/lib/components/shared/three/effects/NerveDisruptionEffect3D.d.ts.map +1 -1
- package/lib/components/shared/three/effects/PlayerStateIndicators.d.ts.map +1 -1
- package/lib/components/shared/three/effects/PlayerStateIndicators.js.map +1 -1
- package/lib/components/shared/three/effects/StanceSymbol3D.d.ts.map +1 -1
- package/lib/components/shared/three/effects/StanceSymbol3D.js.map +1 -1
- package/lib/components/shared/three/effects/StanceTransitionEffect.d.ts.map +1 -1
- package/lib/components/shared/three/effects/StanceTransitionEffect.js.map +1 -1
- package/lib/components/shared/three/effects/ThunderEffect3D.d.ts.map +1 -1
- package/lib/components/shared/three/effects/VitalPointMarkers3D.d.ts.map +1 -1
- package/lib/components/shared/three/effects/VitalPointMarkers3D.js.map +1 -1
- package/lib/components/shared/three/index.d.ts.map +1 -1
- package/lib/components/shared/three/indicators/ElementalColorSystem.d.ts +0 -6
- package/lib/components/shared/three/indicators/ElementalColorSystem.d.ts.map +1 -1
- package/lib/components/shared/three/indicators/ElementalColorSystem.js +0 -4
- package/lib/components/shared/three/indicators/ElementalColorSystem.js.map +1 -1
- package/lib/components/shared/three/indicators/GuardIndicator.d.ts +0 -1
- package/lib/components/shared/three/indicators/GuardIndicator.d.ts.map +1 -1
- package/lib/components/shared/three/indicators/GuardIndicator.js +0 -1
- package/lib/components/shared/three/indicators/GuardIndicator.js.map +1 -1
- package/lib/components/shared/three/indicators/HapticFeedback.d.ts +0 -7
- package/lib/components/shared/three/indicators/HapticFeedback.d.ts.map +1 -1
- package/lib/components/shared/three/indicators/HapticFeedback.js +0 -2
- package/lib/components/shared/three/indicators/HapticFeedback.js.map +1 -1
- package/lib/components/shared/three/indicators/StanceChangeIndicator.d.ts +0 -1
- package/lib/components/shared/three/indicators/StanceChangeIndicator.d.ts.map +1 -1
- package/lib/components/shared/three/indicators/StanceChangeIndicator.js +0 -1
- package/lib/components/shared/three/indicators/StanceChangeIndicator.js.map +1 -1
- package/lib/components/shared/three/indicators/TrigramSymbol3D.d.ts +0 -1
- package/lib/components/shared/three/indicators/TrigramSymbol3D.d.ts.map +1 -1
- package/lib/components/shared/three/models/Player3DWithTransitions.d.ts.map +1 -1
- package/lib/components/shared/three/models/Player3DWithTransitions.js.map +1 -1
- package/lib/components/shared/three/models/SkeletalPlayer3D.d.ts.map +1 -1
- package/lib/components/shared/three/models/SkeletalPlayer3D.js.map +1 -1
- package/lib/components/shared/three/optimization/AdaptiveQuality.d.ts.map +1 -1
- package/lib/components/shared/three/optimization/AdaptiveQuality.js.map +1 -1
- package/lib/components/shared/three/optimization/InstancedGeometry.d.ts.map +1 -1
- package/lib/components/shared/three/optimization/LODSystem.d.ts.map +1 -1
- package/lib/components/shared/three/scene/AtmosphericParticles3D.d.ts.map +1 -1
- package/lib/components/shared/three/scene/AtmosphericParticles3D.js.map +1 -1
- package/lib/components/shared/three/scene/BackgroundScene3D.d.ts.map +1 -1
- package/lib/components/shared/three/scene/BackgroundScene3D.js.map +1 -1
- package/lib/components/shared/three/scene/CombatArena3D.d.ts.map +1 -1
- package/lib/components/shared/three/scene/CombatArena3D.js.map +1 -1
- package/lib/components/shared/three/scene/DebugCollision.d.ts +0 -2
- package/lib/components/shared/three/scene/DebugCollision.d.ts.map +1 -1
- package/lib/components/shared/three/scene/KoreanSignage3D.d.ts.map +1 -1
- package/lib/components/shared/three/scene/KoreanSignage3D.js.map +1 -1
- package/lib/components/shared/three/ui/ArchetypeCard.d.ts.map +1 -1
- package/lib/components/shared/three/ui/ArchetypeCard.js.map +1 -1
- package/lib/components/shared/three/ui/BodyPartHealthDisplay.d.ts.map +1 -1
- package/lib/components/shared/three/ui/BodyPartHealthDisplay.js.map +1 -1
- package/lib/components/shared/three/ui/BreathingIndicator.d.ts.map +1 -1
- package/lib/components/shared/three/ui/BreathingIndicator2.js.map +1 -1
- package/lib/components/shared/three/ui/CombatReadinessBar.d.ts.map +1 -1
- package/lib/components/shared/three/ui/CombatReadinessBar.js.map +1 -1
- package/lib/components/shared/three/ui/ComboCounter.d.ts.map +1 -1
- package/lib/components/shared/three/ui/ComboCounter.js.map +1 -1
- package/lib/components/shared/three/ui/HealthBar.d.ts.map +1 -1
- package/lib/components/shared/three/ui/HealthBar.js.map +1 -1
- package/lib/components/shared/three/ui/KoreanButton.d.ts.map +1 -1
- package/lib/components/shared/three/ui/KoreanButton.js.map +1 -1
- package/lib/components/shared/three/ui/KoreanPanel.d.ts.map +1 -1
- package/lib/components/shared/three/ui/KoreanPanel.js.map +1 -1
- package/lib/components/shared/three/ui/KoreanText.d.ts.map +1 -1
- package/lib/components/shared/three/ui/KoreanText.js.map +1 -1
- package/lib/components/shared/three/ui/MenuList.d.ts.map +1 -1
- package/lib/components/shared/three/ui/MenuList.js.map +1 -1
- package/lib/components/shared/three/ui/PlayerHUD.d.ts.map +1 -1
- package/lib/components/shared/three/ui/PlayerHUD.js.map +1 -1
- package/lib/components/shared/three/ui/ProgressBar.d.ts.map +1 -1
- package/lib/components/shared/three/ui/ProgressBar.js.map +1 -1
- package/lib/components/shared/three/ui/SpeedIndicatorHUD.d.ts +0 -1
- package/lib/components/shared/three/ui/SpeedIndicatorHUD.d.ts.map +1 -1
- package/lib/components/shared/three/ui/SpeedIndicatorHUD.js +0 -1
- package/lib/components/shared/three/ui/SpeedIndicatorHUD.js.map +1 -1
- package/lib/components/shared/three/ui/StaminaBar.d.ts.map +1 -1
- package/lib/components/shared/three/ui/StaminaBar.js.map +1 -1
- package/lib/components/shared/three/ui/TechniqueBar.d.ts.map +1 -1
- package/lib/components/shared/three/ui/TechniqueBar.js.map +1 -1
- package/lib/components/shared/three/ui/TechniqueBarContainer.d.ts.map +1 -1
- package/lib/components/shared/three/ui/TechniqueCard.d.ts.map +1 -1
- package/lib/components/shared/three/ui/TechniqueCard.js.map +1 -1
- package/lib/components/shared/three/ui/VitalPointOverlayControlsHtml.d.ts.map +1 -1
- package/lib/components/shared/three/ui/VitalPointOverlayControlsHtml.js.map +1 -1
- package/lib/components/shared/three/ui/VulnerabilityWindowHUD.d.ts.map +1 -1
- package/lib/components/shared/ui/BaseHUDContainer.d.ts.map +1 -1
- package/lib/components/shared/ui/BaseHUDContainer.js.map +1 -1
- package/lib/components/shared/ui/CombatTimer.d.ts.map +1 -1
- package/lib/components/shared/ui/CombatTimer.js.map +1 -1
- package/lib/components/shared/ui/ErrorBoundary.d.ts.map +1 -1
- package/lib/components/shared/ui/ErrorModal.d.ts.map +1 -1
- package/lib/components/shared/ui/ErrorModal.js.map +1 -1
- package/lib/components/shared/ui/HUDSection.d.ts.map +1 -1
- package/lib/components/shared/ui/LoadingState.d.ts.map +1 -1
- package/lib/components/shared/ui/LoadingState.js.map +1 -1
- package/lib/components/shared/ui/MobileHUDLayout.d.ts +0 -1
- package/lib/components/shared/ui/MobileHUDLayout.d.ts.map +1 -1
- package/lib/components/shared/ui/ResponsiveContainer.d.ts +0 -1
- package/lib/components/shared/ui/ResponsiveContainer.d.ts.map +1 -1
- package/lib/components/shared/ui/SplashScreen.d.ts.map +1 -1
- package/lib/components/shared/ui/SplashScreen.js +2 -2
- package/lib/components/shared/ui/SplashScreen.js.map +1 -1
- package/lib/components/shared/ui/StyledHUDPanel.d.ts.map +1 -1
- package/lib/components/shared/ui/VitalPointOverlayControlsPure.d.ts.map +1 -1
- package/lib/components/shared/ui/VitalPointOverlayControlsPure.js.map +1 -1
- package/lib/components/shared/ui/VolumeControl.d.ts.map +1 -1
- package/lib/components/shared/ui/VolumeControl.js.map +1 -1
- package/lib/components/shared/ui/shared/ConfirmDialog.d.ts.map +1 -1
- package/lib/components/shared/ui/shared/ConfirmDialog.js.map +1 -1
- package/lib/components/test/Hello3D.d.ts.map +1 -1
- package/lib/components/ui/combat/BalanceIndicatorOverlayHtml.d.ts.map +1 -1
- package/lib/components/ui/combat/BalanceIndicatorOverlayHtml.js.map +1 -1
- package/lib/components/ui/combat/ComboCounter.d.ts.map +1 -1
- package/lib/components/ui/combat/PressureMeter.d.ts.map +1 -1
- package/lib/systems/CombatSystem.d.ts +0 -6
- package/lib/systems/CombatSystem.d.ts.map +1 -1
- package/lib/systems/CombatSystem.js +0 -6
- package/lib/systems/CombatSystem.js.map +1 -1
- package/lib/systems/EffectCalculator.d.ts +0 -7
- package/lib/systems/EffectCalculator.d.ts.map +1 -1
- package/lib/systems/EffectCalculator.js +0 -4
- package/lib/systems/EffectCalculator.js.map +1 -1
- package/lib/systems/LayoutSystem.d.ts +0 -1
- package/lib/systems/LayoutSystem.d.ts.map +1 -1
- package/lib/systems/LayoutSystem.js +0 -1
- package/lib/systems/LayoutSystem.js.map +1 -1
- package/lib/systems/PlayerEffectManager.d.ts +0 -10
- package/lib/systems/PlayerEffectManager.d.ts.map +1 -1
- package/lib/systems/PlayerEffectManager.js +0 -3
- package/lib/systems/PlayerEffectManager.js.map +1 -1
- package/lib/systems/ResponsiveScaling.d.ts +0 -12
- package/lib/systems/ResponsiveScaling.d.ts.map +1 -1
- package/lib/systems/ResponsiveScaling.js +0 -12
- package/lib/systems/ResponsiveScaling.js.map +1 -1
- package/lib/systems/TrigramSystem.d.ts +0 -13
- package/lib/systems/TrigramSystem.d.ts.map +1 -1
- package/lib/systems/TrigramSystem.js +0 -13
- package/lib/systems/TrigramSystem.js.map +1 -1
- package/lib/systems/VitalPointSystem.d.ts +0 -10
- package/lib/systems/VitalPointSystem.d.ts.map +1 -1
- package/lib/systems/VitalPointSystem.js +0 -10
- package/lib/systems/VitalPointSystem.js.map +1 -1
- package/lib/systems/animation/builders/KeyframeInterpolation.d.ts +0 -4
- package/lib/systems/animation/builders/KeyframeInterpolation.d.ts.map +1 -1
- package/lib/systems/animation/builders/KeyframeInterpolation.js +0 -1
- package/lib/systems/animation/builders/KeyframeInterpolation.js.map +1 -1
- package/lib/systems/animation/builders/SkeletonRig.d.ts +0 -4
- package/lib/systems/animation/builders/SkeletonRig.d.ts.map +1 -1
- package/lib/systems/animation/builders/SkeletonRig.js +0 -3
- package/lib/systems/animation/builders/SkeletonRig.js.map +1 -1
- package/lib/systems/animation/catalogs/RecoveryAnimations.d.ts +0 -5
- package/lib/systems/animation/catalogs/RecoveryAnimations.d.ts.map +1 -1
- package/lib/systems/animation/catalogs/RecoveryAnimations.js +0 -5
- package/lib/systems/animation/catalogs/RecoveryAnimations.js.map +1 -1
- package/lib/systems/animation/core/AnimationHitTiming.d.ts +0 -6
- package/lib/systems/animation/core/AnimationHitTiming.d.ts.map +1 -1
- package/lib/systems/animation/core/AnimationHitTiming.js +0 -4
- package/lib/systems/animation/core/AnimationHitTiming.js.map +1 -1
- package/lib/systems/animation/core/AnimationTransitions.d.ts +0 -3
- package/lib/systems/animation/core/AnimationTransitions.d.ts.map +1 -1
- package/lib/systems/animation/core/AnimationTransitions.js.map +1 -1
- package/lib/systems/animation/core/LateralityTransform.d.ts +0 -3
- package/lib/systems/animation/core/LateralityTransform.d.ts.map +1 -1
- package/lib/systems/animation/core/LateralityTransform.js +0 -1
- package/lib/systems/animation/core/LateralityTransform.js.map +1 -1
- package/lib/systems/animation/core/RecoveryPhaseEnhancer.d.ts +0 -1
- package/lib/systems/animation/core/RecoveryPhaseEnhancer.d.ts.map +1 -1
- package/lib/systems/animation/core/RecoveryPhaseEnhancer.js.map +1 -1
- package/lib/systems/animation/core/TechniqueAnimationMapper.d.ts +0 -10
- package/lib/systems/animation/core/TechniqueAnimationMapper.d.ts.map +1 -1
- package/lib/systems/animation/core/TechniqueAnimationMapper.js +0 -8
- package/lib/systems/animation/core/TechniqueAnimationMapper.js.map +1 -1
- package/lib/systems/animation/core/TrigramAnimationMapping.d.ts +0 -10
- package/lib/systems/animation/core/TrigramAnimationMapping.d.ts.map +1 -1
- package/lib/systems/animation/core/TrigramStanceTransitions.d.ts +0 -2
- package/lib/systems/animation/core/TrigramStanceTransitions.d.ts.map +1 -1
- package/lib/systems/animation/core/types.d.ts +0 -39
- package/lib/systems/animation/core/types.d.ts.map +1 -1
- package/lib/systems/animation/core/types.js +0 -9
- package/lib/systems/animation/core/types.js.map +1 -1
- package/lib/systems/animation/systems/AdvancedJointMovements.d.ts +0 -27
- package/lib/systems/animation/systems/AdvancedJointMovements.d.ts.map +1 -1
- package/lib/systems/animation/systems/AdvancedJointMovements.js +0 -1
- package/lib/systems/animation/systems/AdvancedJointMovements.js.map +1 -1
- package/lib/systems/animation/systems/BodyFacingSystem.d.ts +0 -19
- package/lib/systems/animation/systems/BodyFacingSystem.d.ts.map +1 -1
- package/lib/systems/animation/systems/BodyFacingSystem.js +0 -14
- package/lib/systems/animation/systems/BodyFacingSystem.js.map +1 -1
- package/lib/systems/animation/systems/FacialExpressions.d.ts +0 -10
- package/lib/systems/animation/systems/FacialExpressions.d.ts.map +1 -1
- package/lib/systems/animation/systems/FacialExpressions.js +0 -2
- package/lib/systems/animation/systems/FacialExpressions.js.map +1 -1
- package/lib/systems/animation/systems/FallAnimations.d.ts +0 -4
- package/lib/systems/animation/systems/FallAnimations.d.ts.map +1 -1
- package/lib/systems/animation/systems/FallAnimations.js +0 -2
- package/lib/systems/animation/systems/FallAnimations.js.map +1 -1
- package/lib/systems/animation/systems/HeadMovements.d.ts +0 -10
- package/lib/systems/animation/systems/HeadMovements.d.ts.map +1 -1
- package/lib/systems/bodypart/BodyPartDamageIntegration.d.ts +0 -7
- package/lib/systems/bodypart/BodyPartDamageIntegration.d.ts.map +1 -1
- package/lib/systems/bodypart/BodyPartDamageIntegration.js +0 -7
- package/lib/systems/bodypart/BodyPartDamageIntegration.js.map +1 -1
- package/lib/systems/bodypart/BodyPartHealthSystem.d.ts +0 -13
- package/lib/systems/bodypart/BodyPartHealthSystem.d.ts.map +1 -1
- package/lib/systems/bodypart/BodyPartHealthSystem.js +0 -13
- package/lib/systems/bodypart/BodyPartHealthSystem.js.map +1 -1
- package/lib/systems/bodypart/BodyPartPositionMapping.d.ts +0 -6
- package/lib/systems/bodypart/BodyPartPositionMapping.d.ts.map +1 -1
- package/lib/systems/bodypart/BodyPartPositionMapping.js +0 -6
- package/lib/systems/bodypart/BodyPartPositionMapping.js.map +1 -1
- package/lib/systems/bodypart/CombatInjuryIntegration.d.ts +0 -10
- package/lib/systems/bodypart/CombatInjuryIntegration.d.ts.map +1 -1
- package/lib/systems/bodypart/CombatInjuryIntegration.js +0 -8
- package/lib/systems/bodypart/CombatInjuryIntegration.js.map +1 -1
- package/lib/systems/bodypart/InjuryIntegration.d.ts +0 -2
- package/lib/systems/bodypart/InjuryIntegration.d.ts.map +1 -1
- package/lib/systems/bodypart/InjuryIntegration.js +0 -2
- package/lib/systems/bodypart/InjuryIntegration.js.map +1 -1
- package/lib/systems/bodypart/InjuryTracker.d.ts +0 -14
- package/lib/systems/bodypart/InjuryTracker.d.ts.map +1 -1
- package/lib/systems/bodypart/InjuryTracker.js +0 -12
- package/lib/systems/bodypart/InjuryTracker.js.map +1 -1
- package/lib/systems/bodypart/MovementPenaltySystem.d.ts +0 -8
- package/lib/systems/bodypart/MovementPenaltySystem.d.ts.map +1 -1
- package/lib/systems/bodypart/MovementPenaltySystem.js +0 -8
- package/lib/systems/bodypart/MovementPenaltySystem.js.map +1 -1
- package/lib/systems/bodypart/PlayerInjuryTrackingManager.d.ts +0 -8
- package/lib/systems/bodypart/PlayerInjuryTrackingManager.d.ts.map +1 -1
- package/lib/systems/bodypart/PlayerInjuryTrackingManager.js +0 -8
- package/lib/systems/bodypart/PlayerInjuryTrackingManager.js.map +1 -1
- package/lib/systems/bodypart/types.d.ts +0 -13
- package/lib/systems/bodypart/types.d.ts.map +1 -1
- package/lib/systems/bodypart/types.js +0 -5
- package/lib/systems/bodypart/types.js.map +1 -1
- package/lib/systems/breathing/BreathingDisruptionSystem.d.ts +0 -3
- package/lib/systems/breathing/BreathingDisruptionSystem.d.ts.map +1 -1
- package/lib/systems/breathing/BreathingDisruptionSystem.js +0 -2
- package/lib/systems/breathing/BreathingDisruptionSystem.js.map +1 -1
- package/lib/systems/combat/BalanceSystem.d.ts +0 -25
- package/lib/systems/combat/BalanceSystem.d.ts.map +1 -1
- package/lib/systems/combat/BalanceSystem.js +0 -25
- package/lib/systems/combat/BalanceSystem.js.map +1 -1
- package/lib/systems/combat/BreakingStatusEffects.d.ts +0 -4
- package/lib/systems/combat/BreakingStatusEffects.d.ts.map +1 -1
- package/lib/systems/combat/BreakingStatusEffects.js +0 -3
- package/lib/systems/combat/BreakingStatusEffects.js.map +1 -1
- package/lib/systems/combat/CombatStateSystem.d.ts +0 -9
- package/lib/systems/combat/CombatStateSystem.d.ts.map +1 -1
- package/lib/systems/combat/CombatStateSystem.js +0 -9
- package/lib/systems/combat/CombatStateSystem.js.map +1 -1
- package/lib/systems/combat/ConsciousnessSystem.d.ts +0 -16
- package/lib/systems/combat/ConsciousnessSystem.d.ts.map +1 -1
- package/lib/systems/combat/ConsciousnessSystem.js +0 -16
- package/lib/systems/combat/ConsciousnessSystem.js.map +1 -1
- package/lib/systems/combat/FallIntegration.d.ts +0 -3
- package/lib/systems/combat/FallIntegration.d.ts.map +1 -1
- package/lib/systems/combat/FallIntegration.js +0 -3
- package/lib/systems/combat/FallIntegration.js.map +1 -1
- package/lib/systems/combat/GrappleSystem.d.ts +0 -2
- package/lib/systems/combat/GrappleSystem.d.ts.map +1 -1
- package/lib/systems/combat/GrappleSystem.js +0 -2
- package/lib/systems/combat/GrappleSystem.js.map +1 -1
- package/lib/systems/combat/LimbExposureSystem.d.ts +0 -7
- package/lib/systems/combat/LimbExposureSystem.d.ts.map +1 -1
- package/lib/systems/combat/LimbExposureSystem.js +0 -7
- package/lib/systems/combat/LimbExposureSystem.js.map +1 -1
- package/lib/systems/combat/PainResponseSystem.d.ts +0 -11
- package/lib/systems/combat/PainResponseSystem.d.ts.map +1 -1
- package/lib/systems/combat/PainResponseSystem.js +0 -11
- package/lib/systems/combat/PainResponseSystem.js.map +1 -1
- package/lib/systems/combat/painConsciousnessUtils.d.ts +0 -7
- package/lib/systems/combat/painConsciousnessUtils.d.ts.map +1 -1
- package/lib/systems/combat/painConsciousnessUtils.js +0 -7
- package/lib/systems/combat/painConsciousnessUtils.js.map +1 -1
- package/lib/systems/effects.d.ts +11 -0
- package/lib/systems/effects.d.ts.map +1 -1
- package/lib/systems/effects.js +10 -0
- package/lib/systems/effects.js.map +1 -1
- package/lib/systems/game.d.ts +16 -0
- package/lib/systems/game.d.ts.map +1 -1
- package/lib/systems/game.js +1 -0
- package/lib/systems/game.js.map +1 -1
- package/lib/systems/index.d.ts +5 -1
- package/lib/systems/index.d.ts.map +1 -1
- package/lib/systems/index.js.map +1 -1
- package/lib/systems/movement/InjuryMovementModifier.d.ts +0 -10
- package/lib/systems/movement/InjuryMovementModifier.d.ts.map +1 -1
- package/lib/systems/movement/InjuryMovementModifier.js +0 -7
- package/lib/systems/movement/InjuryMovementModifier.js.map +1 -1
- package/lib/systems/movement/integration.d.ts +0 -3
- package/lib/systems/movement/integration.d.ts.map +1 -1
- package/lib/systems/movement/integration.js +0 -3
- package/lib/systems/movement/integration.js.map +1 -1
- package/lib/systems/physics/AttackMovementPhysics.d.ts +0 -9
- package/lib/systems/physics/AttackMovementPhysics.d.ts.map +1 -1
- package/lib/systems/physics/AttackMovementPhysics.js +0 -7
- package/lib/systems/physics/AttackMovementPhysics.js.map +1 -1
- package/lib/systems/physics/CollisionDetection.d.ts +0 -6
- package/lib/systems/physics/CollisionDetection.d.ts.map +1 -1
- package/lib/systems/physics/CollisionDetection.js +0 -6
- package/lib/systems/physics/CollisionDetection.js.map +1 -1
- package/lib/systems/physics/CoordinateMapper.d.ts +0 -1
- package/lib/systems/physics/CoordinateMapper.d.ts.map +1 -1
- package/lib/systems/physics/CoordinateMapper.js +0 -1
- package/lib/systems/physics/CoordinateMapper.js.map +1 -1
- package/lib/systems/physics/KnockbackPhysics.d.ts +0 -11
- package/lib/systems/physics/KnockbackPhysics.d.ts.map +1 -1
- package/lib/systems/physics/KnockbackPhysics.js +0 -8
- package/lib/systems/physics/KnockbackPhysics.js.map +1 -1
- package/lib/systems/physics/MovementPhysics.d.ts +0 -10
- package/lib/systems/physics/MovementPhysics.d.ts.map +1 -1
- package/lib/systems/physics/MovementPhysics.js +0 -8
- package/lib/systems/physics/MovementPhysics.js.map +1 -1
- package/lib/systems/physics/PhysicalReachCalculator.d.ts +0 -6
- package/lib/systems/physics/PhysicalReachCalculator.d.ts.map +1 -1
- package/lib/systems/physics/PhysicalReachCalculator.js +0 -5
- package/lib/systems/physics/PhysicalReachCalculator.js.map +1 -1
- package/lib/systems/physics/SpeedModifierSystem.d.ts +0 -5
- package/lib/systems/physics/SpeedModifierSystem.d.ts.map +1 -1
- package/lib/systems/physics/SpeedModifierSystem.js +0 -4
- package/lib/systems/physics/SpeedModifierSystem.js.map +1 -1
- package/lib/systems/player.d.ts +0 -5
- package/lib/systems/player.d.ts.map +1 -1
- package/lib/systems/trigram/TrigramCalculator.d.ts +0 -1
- package/lib/systems/trigram/TrigramCalculator.d.ts.map +1 -1
- package/lib/systems/trigram/TrigramCalculator.js +0 -1
- package/lib/systems/trigram/TrigramCalculator.js.map +1 -1
- package/lib/systems/trigram/types.d.ts +0 -4
- package/lib/systems/trigram/types.d.ts.map +1 -1
- package/lib/systems/trigram/types.js +0 -2
- package/lib/systems/trigram/types.js.map +1 -1
- package/lib/systems/types.d.ts +7 -2
- package/lib/systems/types.d.ts.map +1 -1
- package/lib/systems/types.js.map +1 -1
- package/lib/systems/vitalpoint/DamageCalculator.d.ts +0 -3
- package/lib/systems/vitalpoint/DamageCalculator.d.ts.map +1 -1
- package/lib/systems/vitalpoint/DamageCalculator.js +0 -3
- package/lib/systems/vitalpoint/DamageCalculator.js.map +1 -1
- package/lib/systems/vitalpoint/KoreanVitalPoints.d.ts +0 -8
- package/lib/systems/vitalpoint/KoreanVitalPoints.d.ts.map +1 -1
- package/lib/systems/vitalpoint/KoreanVitalPoints.js +0 -8
- package/lib/systems/vitalpoint/KoreanVitalPoints.js.map +1 -1
- package/lib/systems/vitalpoint/VitalPointsData.d.ts +0 -3
- package/lib/systems/vitalpoint/VitalPointsData.d.ts.map +1 -1
- package/lib/systems/vitalpoint/VitalPointsData.js +0 -1
- package/lib/systems/vitalpoint/VitalPointsData.js.map +1 -1
- package/lib/types/PhysicsTypes.d.ts +21 -78
- package/lib/types/PhysicsTypes.d.ts.map +1 -1
- package/lib/types/PhysicsTypes.js +17 -63
- package/lib/types/PhysicsTypes.js.map +1 -1
- package/lib/types/clothing.d.ts +0 -9
- package/lib/types/clothing.d.ts.map +1 -1
- package/lib/types/constants/animations.d.ts +35 -1
- package/lib/types/constants/animations.d.ts.map +1 -1
- package/lib/types/constants/animations.js +12 -1
- package/lib/types/constants/animations.js.map +1 -1
- package/lib/types/constants/colors.d.ts +28 -2
- package/lib/types/constants/colors.d.ts.map +1 -1
- package/lib/types/constants/colors.js +30 -4
- package/lib/types/constants/colors.js.map +1 -1
- package/lib/types/constants/index.d.ts +5 -1
- package/lib/types/constants/index.d.ts.map +1 -1
- package/lib/types/constants/index.js.map +1 -1
- package/lib/types/constants/performance.d.ts +0 -2
- package/lib/types/constants/performance.d.ts.map +1 -1
- package/lib/types/constants/performance.js +0 -2
- package/lib/types/constants/performance.js.map +1 -1
- package/lib/types/constants/typography.d.ts +40 -2
- package/lib/types/constants/typography.d.ts.map +1 -1
- package/lib/types/constants/typography.js +40 -2
- package/lib/types/constants/typography.js.map +1 -1
- package/lib/types/constants/ui.d.ts +89 -1
- package/lib/types/constants/ui.d.ts.map +1 -1
- package/lib/types/constants/ui.js +33 -1
- package/lib/types/constants/ui.js.map +1 -1
- package/lib/types/facial.d.ts +0 -15
- package/lib/types/facial.d.ts.map +1 -1
- package/lib/types/facial.js +0 -8
- package/lib/types/facial.js.map +1 -1
- package/lib/types/hand-animation.d.ts +34 -147
- package/lib/types/hand-animation.d.ts.map +1 -1
- package/lib/types/hand-animation.js +0 -2
- package/lib/types/hand-animation.js.map +1 -1
- package/lib/types/injury.d.ts +0 -2
- package/lib/types/injury.d.ts.map +1 -1
- package/lib/types/injury.js +0 -1
- package/lib/types/injury.js.map +1 -1
- package/lib/types/physics.d.ts +0 -21
- package/lib/types/physics.d.ts.map +1 -1
- package/lib/types/physics.js +0 -6
- package/lib/types/physics.js.map +1 -1
- package/lib/types/physicsConstants.d.ts +0 -12
- package/lib/types/physicsConstants.d.ts.map +1 -1
- package/lib/types/physicsConstants.js +0 -12
- package/lib/types/physicsConstants.js.map +1 -1
- package/lib/types/player-visual.d.ts +45 -189
- package/lib/types/player-visual.d.ts.map +1 -1
- package/lib/types/technique.d.ts +1 -5
- package/lib/types/technique.d.ts.map +1 -1
- package/lib/types/techniqueId.d.ts +0 -1
- package/lib/types/techniqueId.d.ts.map +1 -1
- package/lib/types/techniqueId.js +0 -1
- package/lib/types/techniqueId.js.map +1 -1
- package/lib/utils/arenaWorldDimensions.d.ts +0 -11
- package/lib/utils/arenaWorldDimensions.d.ts.map +1 -1
- package/lib/utils/arenaWorldDimensions.js +0 -6
- package/lib/utils/arenaWorldDimensions.js.map +1 -1
- package/lib/utils/controlMapping.d.ts +3 -4
- package/lib/utils/controlMapping.d.ts.map +1 -1
- package/lib/utils/controlMapping.js +1 -2
- package/lib/utils/controlMapping.js.map +1 -1
- package/lib/utils/deviceDetection.d.ts +0 -5
- package/lib/utils/deviceDetection.d.ts.map +1 -1
- package/lib/utils/deviceDetection.js +0 -5
- package/lib/utils/deviceDetection.js.map +1 -1
- package/lib/utils/hapticFeedback.d.ts +23 -95
- package/lib/utils/hapticFeedback.d.ts.map +1 -1
- package/lib/utils/hapticFeedback.js +9 -39
- package/lib/utils/hapticFeedback.js.map +1 -1
- package/lib/utils/haptics.d.ts +0 -3
- package/lib/utils/haptics.d.ts.map +1 -1
- package/lib/utils/haptics.js +0 -1
- package/lib/utils/haptics.js.map +1 -1
- package/lib/utils/math.d.ts +0 -3
- package/lib/utils/math.d.ts.map +1 -1
- package/lib/utils/math.js +0 -2
- package/lib/utils/math.js.map +1 -1
- package/lib/utils/mobileLayoutHelpers.d.ts +0 -3
- package/lib/utils/mobileLayoutHelpers.d.ts.map +1 -1
- package/lib/utils/mobileLayoutHelpers.js +0 -1
- package/lib/utils/mobileLayoutHelpers.js.map +1 -1
- package/lib/utils/mobileUIUtils.d.ts +5 -100
- package/lib/utils/mobileUIUtils.d.ts.map +1 -1
- package/lib/utils/mobileUIUtils.js +0 -9
- package/lib/utils/mobileUIUtils.js.map +1 -1
- package/lib/utils/physicalAttributeValidation.d.ts.map +1 -1
- package/lib/utils/player3DHelpers.d.ts.map +1 -1
- package/lib/utils/player3DHelpers.js.map +1 -1
- package/lib/utils/responsiveLayoutHelpers.d.ts +0 -65
- package/lib/utils/responsiveLayoutHelpers.d.ts.map +1 -1
- package/lib/utils/responsiveLayoutHelpers.js +0 -65
- package/lib/utils/responsiveLayoutHelpers.js.map +1 -1
- package/lib/utils/responsiveOrientationConstants.d.ts +0 -7
- package/lib/utils/responsiveOrientationConstants.d.ts.map +1 -1
- package/lib/utils/responsiveOrientationConstants.js +0 -7
- package/lib/utils/responsiveOrientationConstants.js.map +1 -1
- package/lib/utils/safeAreaUtils.d.ts +0 -6
- package/lib/utils/safeAreaUtils.d.ts.map +1 -1
- package/lib/utils/safeAreaUtils.js +0 -2
- package/lib/utils/safeAreaUtils.js.map +1 -1
- package/lib/utils/sharedPhysicsConfig.d.ts +0 -4
- package/lib/utils/sharedPhysicsConfig.d.ts.map +1 -1
- package/lib/utils/sharedPhysicsConfig.js +0 -2
- package/lib/utils/sharedPhysicsConfig.js.map +1 -1
- package/lib/utils/skeletonScaling.d.ts +0 -9
- package/lib/utils/skeletonScaling.d.ts.map +1 -1
- package/lib/utils/skeletonScaling.js +0 -1
- package/lib/utils/skeletonScaling.js.map +1 -1
- package/package.json +7 -7
|
@@ -18,7 +18,6 @@ import { InjuryTracker } from "./InjuryTracker";
|
|
|
18
18
|
*
|
|
19
19
|
* **Korean**: 전투 피해 이벤트 데이터
|
|
20
20
|
*
|
|
21
|
-
* @public
|
|
22
21
|
*/
|
|
23
22
|
export interface CombatDamageEvent {
|
|
24
23
|
/** Damage amount (0-100) */
|
|
@@ -35,7 +34,6 @@ export interface CombatDamageEvent {
|
|
|
35
34
|
/**
|
|
36
35
|
* Configuration for combat injury integration.
|
|
37
36
|
*
|
|
38
|
-
* @public
|
|
39
37
|
*/
|
|
40
38
|
export interface CombatInjuryConfig {
|
|
41
39
|
/** Enable automatic injury tracking */
|
|
@@ -56,7 +54,6 @@ export interface CombatInjuryConfig {
|
|
|
56
54
|
* Note: A valid `tracker` must still be supplied by the caller.
|
|
57
55
|
* This provides defaults for other configuration values only.
|
|
58
56
|
*
|
|
59
|
-
* @public
|
|
60
57
|
*/
|
|
61
58
|
export declare const DEFAULT_COMBAT_INJURY_CONFIG: Omit<CombatInjuryConfig, 'tracker'>;
|
|
62
59
|
/**
|
|
@@ -90,7 +87,6 @@ export declare const DEFAULT_COMBAT_INJURY_CONFIG: Omit<CombatInjuryConfig, 'tra
|
|
|
90
87
|
* const injuries = handler.getInjuries();
|
|
91
88
|
* ```
|
|
92
89
|
*
|
|
93
|
-
* @public
|
|
94
90
|
*/
|
|
95
91
|
export declare class CombatInjuryIntegration {
|
|
96
92
|
private tracker;
|
|
@@ -107,7 +103,6 @@ export declare class CombatInjuryIntegration {
|
|
|
107
103
|
* @param event - Combat damage event
|
|
108
104
|
* @returns Whether injury was recorded (false if damage too low)
|
|
109
105
|
*
|
|
110
|
-
* @public
|
|
111
106
|
*/
|
|
112
107
|
recordCombatDamage(event: CombatDamageEvent): boolean;
|
|
113
108
|
/**
|
|
@@ -118,7 +113,6 @@ export declare class CombatInjuryIntegration {
|
|
|
118
113
|
* @param damage - Damage amount
|
|
119
114
|
* @returns Whether to show blood effects
|
|
120
115
|
*
|
|
121
|
-
* @public
|
|
122
116
|
*/
|
|
123
117
|
shouldShowBloodEffect(damage: number): boolean;
|
|
124
118
|
/**
|
|
@@ -139,7 +133,6 @@ export declare class CombatInjuryIntegration {
|
|
|
139
133
|
*
|
|
140
134
|
* @returns Array of injuries
|
|
141
135
|
*
|
|
142
|
-
* @public
|
|
143
136
|
*/
|
|
144
137
|
getInjuries(): import("./InjuryTracker").InjuryLocation[];
|
|
145
138
|
/**
|
|
@@ -147,7 +140,6 @@ export declare class CombatInjuryIntegration {
|
|
|
147
140
|
*
|
|
148
141
|
* @returns InjuryTracker instance
|
|
149
142
|
*
|
|
150
|
-
* @public
|
|
151
143
|
*/
|
|
152
144
|
getTracker(): InjuryTracker;
|
|
153
145
|
/**
|
|
@@ -155,7 +147,6 @@ export declare class CombatInjuryIntegration {
|
|
|
155
147
|
*
|
|
156
148
|
* **Korean**: 모든 부상 초기화
|
|
157
149
|
*
|
|
158
|
-
* @public
|
|
159
150
|
*/
|
|
160
151
|
clearInjuries(): void;
|
|
161
152
|
/**
|
|
@@ -163,7 +154,6 @@ export declare class CombatInjuryIntegration {
|
|
|
163
154
|
*
|
|
164
155
|
* **Korean**: 만료된 부상 제거
|
|
165
156
|
*
|
|
166
|
-
* @public
|
|
167
157
|
*/
|
|
168
158
|
removeExpiredInjuries(): void;
|
|
169
159
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CombatInjuryIntegration.d.ts","sourceRoot":"","sources":["../../../src/systems/bodypart/CombatInjuryIntegration.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAOhD
|
|
1
|
+
{"version":3,"file":"CombatInjuryIntegration.d.ts","sourceRoot":"","sources":["../../../src/systems/bodypart/CombatInjuryIntegration.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAOhD;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,4BAA4B;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,sBAAsB;IACtB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,kBAAkB;IAClB,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;IACjC,0CAA0C;IAC1C,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC;IAClC,qCAAqC;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,uCAAuC;IACvC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,sCAAsC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,yCAAyC;IACzC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;CACjC;AAED;;;;;;GAMG;AACH,eAAO,MAAM,4BAA4B,EAAE,IAAI,CAAC,kBAAkB,EAAE,SAAS,CAInE,CAAC;AAEX;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,MAAM,CAAqB;gBAEvB,MAAM,EAAE,kBAAkB;IAMtC;;;;;;;;;;;OAWG;IACH,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO;IAgCrD;;;;;;;;OAQG;IACH,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAI9C;;;;;;;;;OASG;IACH,OAAO,CAAC,uBAAuB;IA0B/B;;;;;;;OAOG;IACH,WAAW;IAIX;;;;;OAKG;IACH,UAAU,IAAI,aAAa;IAI3B;;;;;OAKG;IACH,aAAa,IAAI,IAAI;IAIrB;;;;;OAKG;IACH,qBAAqB,IAAI,IAAI;CAG9B"}
|
|
@@ -8,7 +8,6 @@ import { getInjuryPositionWithOffset, mapBodyRegionToBodyPart } from "./BodyPart
|
|
|
8
8
|
* Note: A valid `tracker` must still be supplied by the caller.
|
|
9
9
|
* This provides defaults for other configuration values only.
|
|
10
10
|
*
|
|
11
|
-
* @public
|
|
12
11
|
*/
|
|
13
12
|
var DEFAULT_COMBAT_INJURY_CONFIG = {
|
|
14
13
|
enabled: true,
|
|
@@ -46,7 +45,6 @@ var DEFAULT_COMBAT_INJURY_CONFIG = {
|
|
|
46
45
|
* const injuries = handler.getInjuries();
|
|
47
46
|
* ```
|
|
48
47
|
*
|
|
49
|
-
* @public
|
|
50
48
|
*/
|
|
51
49
|
var CombatInjuryIntegration = class {
|
|
52
50
|
tracker;
|
|
@@ -66,7 +64,6 @@ var CombatInjuryIntegration = class {
|
|
|
66
64
|
* @param event - Combat damage event
|
|
67
65
|
* @returns Whether injury was recorded (false if damage too low)
|
|
68
66
|
*
|
|
69
|
-
* @public
|
|
70
67
|
*/
|
|
71
68
|
recordCombatDamage(event) {
|
|
72
69
|
if (!this.config.enabled) return false;
|
|
@@ -84,7 +81,6 @@ var CombatInjuryIntegration = class {
|
|
|
84
81
|
* @param damage - Damage amount
|
|
85
82
|
* @returns Whether to show blood effects
|
|
86
83
|
*
|
|
87
|
-
* @public
|
|
88
84
|
*/
|
|
89
85
|
shouldShowBloodEffect(damage) {
|
|
90
86
|
return damage > this.config.bloodThreshold;
|
|
@@ -119,7 +115,6 @@ var CombatInjuryIntegration = class {
|
|
|
119
115
|
*
|
|
120
116
|
* @returns Array of injuries
|
|
121
117
|
*
|
|
122
|
-
* @public
|
|
123
118
|
*/
|
|
124
119
|
getInjuries() {
|
|
125
120
|
return this.tracker.getInjuries();
|
|
@@ -129,7 +124,6 @@ var CombatInjuryIntegration = class {
|
|
|
129
124
|
*
|
|
130
125
|
* @returns InjuryTracker instance
|
|
131
126
|
*
|
|
132
|
-
* @public
|
|
133
127
|
*/
|
|
134
128
|
getTracker() {
|
|
135
129
|
return this.tracker;
|
|
@@ -139,7 +133,6 @@ var CombatInjuryIntegration = class {
|
|
|
139
133
|
*
|
|
140
134
|
* **Korean**: 모든 부상 초기화
|
|
141
135
|
*
|
|
142
|
-
* @public
|
|
143
136
|
*/
|
|
144
137
|
clearInjuries() {
|
|
145
138
|
this.tracker.clearInjuries();
|
|
@@ -149,7 +142,6 @@ var CombatInjuryIntegration = class {
|
|
|
149
142
|
*
|
|
150
143
|
* **Korean**: 만료된 부상 제거
|
|
151
144
|
*
|
|
152
|
-
* @public
|
|
153
145
|
*/
|
|
154
146
|
removeExpiredInjuries() {
|
|
155
147
|
this.tracker.removeExpiredInjuries();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CombatInjuryIntegration.js","names":[],"sources":["../../../src/systems/bodypart/CombatInjuryIntegration.ts"],"sourcesContent":["/**\n * Combat Injury Integration\n * \n * **Korean**: 전투 부상 통합\n * \n * Integrates InjuryTracker with combat damage events to automatically\n * record injuries and trigger visual trauma effects during combat.\n * \n * @module systems/bodypart/CombatInjuryIntegration\n * @category Body Part System\n * @korean 전투부상통합\n */\n\nimport * as THREE from \"three\";\nimport { BodyRegion, DamageType } from \"../../types/common\";\nimport { InjuryTracker } from \"./InjuryTracker\";\nimport {\n getInjuryPositionWithOffset,\n mapBodyRegionToBodyPart,\n} from \"./BodyPartPositionMapping\";\nimport { InjuryType } from \"../../types/injury\";\n\n/**\n * Combat damage event data.\n * \n * **Korean**: 전투 피해 이벤트 데이터\n * \n
|
|
1
|
+
{"version":3,"file":"CombatInjuryIntegration.js","names":[],"sources":["../../../src/systems/bodypart/CombatInjuryIntegration.ts"],"sourcesContent":["/**\n * Combat Injury Integration\n * \n * **Korean**: 전투 부상 통합\n * \n * Integrates InjuryTracker with combat damage events to automatically\n * record injuries and trigger visual trauma effects during combat.\n * \n * @module systems/bodypart/CombatInjuryIntegration\n * @category Body Part System\n * @korean 전투부상통합\n */\n\nimport * as THREE from \"three\";\nimport { BodyRegion, DamageType } from \"../../types/common\";\nimport { InjuryTracker } from \"./InjuryTracker\";\nimport {\n getInjuryPositionWithOffset,\n mapBodyRegionToBodyPart,\n} from \"./BodyPartPositionMapping\";\nimport { InjuryType } from \"../../types/injury\";\n\n/**\n * Combat damage event data.\n * \n * **Korean**: 전투 피해 이벤트 데이터\n * \n */\nexport interface CombatDamageEvent {\n /** Damage amount (0-100) */\n readonly damage: number;\n /** Body region hit */\n readonly bodyRegion: BodyRegion;\n /** Damage type */\n readonly damageType?: DamageType;\n /** Optional specific position override */\n readonly position?: THREE.Vector3;\n /** Whether this is a critical hit */\n readonly isCritical?: boolean;\n}\n\n/**\n * Configuration for combat injury integration.\n * \n */\nexport interface CombatInjuryConfig {\n /** Enable automatic injury tracking */\n readonly enabled: boolean;\n /** Minimum damage to create injury */\n readonly minDamage: number;\n /** Damage threshold for blood effects */\n readonly bloodThreshold: number;\n /** \n * InjuryTracker instance to use for this integration.\n * Must be explicitly provided per character; singleton usage is no longer supported.\n */\n readonly tracker: InjuryTracker;\n}\n\n/**\n * Default combat injury configuration.\n * \n * Note: A valid `tracker` must still be supplied by the caller.\n * This provides defaults for other configuration values only.\n * \n */\nexport const DEFAULT_COMBAT_INJURY_CONFIG: Omit<CombatInjuryConfig, 'tracker'> = {\n enabled: true,\n minDamage: 5,\n bloodThreshold: 30,\n} as const;\n\n/**\n * Combat Injury Integration Handler.\n * \n * **Korean**: 전투 부상 통합 핸들러\n * \n * Processes combat damage events and records injuries for visualization.\n * Automatically maps damage types to injury types and applies blood effects.\n * \n * @example\n * ```typescript\n * // Recommended: Use PlayerInjuryTrackingManager for per-player tracking\n * import { playerInjuryManager } from '@/systems/bodypart';\n * const integration = playerInjuryManager.getIntegrationForPlayer('player-1');\n * \n * // Or create with explicit tracker for testing/custom scenarios\n * const handler = new CombatInjuryIntegration({\n * ...DEFAULT_COMBAT_INJURY_CONFIG,\n * tracker: new InjuryTracker(),\n * });\n * \n * // Record combat damage\n * handler.recordCombatDamage({\n * damage: 35,\n * bodyRegion: BodyRegion.TORSO,\n * damageType: DamageType.BLUNT,\n * });\n * \n * // Get injuries for visualization\n * const injuries = handler.getInjuries();\n * ```\n * \n */\nexport class CombatInjuryIntegration {\n private tracker: InjuryTracker;\n private config: CombatInjuryConfig;\n\n constructor(config: CombatInjuryConfig) {\n this.config = config;\n // Tracker is now required in CombatInjuryConfig interface\n this.tracker = config.tracker;\n }\n\n /**\n * Record injury from combat damage event.\n * \n * **Korean**: 전투 피해로부터 부상 기록\n * \n * Automatically determines injury type from damage type and applies\n * appropriate visual effects.\n * \n * @param event - Combat damage event\n * @returns Whether injury was recorded (false if damage too low)\n * \n */\n recordCombatDamage(event: CombatDamageEvent): boolean {\n if (!this.config.enabled) {\n return false;\n }\n\n if (event.damage < this.config.minDamage) {\n return false;\n }\n\n // Determine injury type from damage type\n const injuryType = this.getInjuryTypeFromDamage(event.damageType);\n\n // Get position for injury\n const position =\n event.position ?? getInjuryPositionWithOffset(event.bodyRegion, 0.15);\n\n // Map body region to body part\n const bodyPart = mapBodyRegionToBodyPart(event.bodyRegion);\n\n // Record injury\n const recordedInjury = this.tracker.recordInjury(\n bodyPart,\n event.bodyRegion,\n position,\n event.damage,\n injuryType\n );\n\n // Return true only if the injury was actually recorded\n return recordedInjury !== null;\n }\n\n /**\n * Check if damage should trigger blood effects.\n * \n * **Korean**: 피해가 출혈 효과를 발생시켜야 하는지 확인\n * \n * @param damage - Damage amount\n * @returns Whether to show blood effects\n * \n */\n shouldShowBloodEffect(damage: number): boolean {\n return damage > this.config.bloodThreshold;\n }\n\n /**\n * Get injury type from damage type.\n * \n * **Korean**: 피해 타입으로부터 부상 타입 가져오기\n * \n * @param damageType - Type of damage dealt\n * @returns Corresponding injury type for visualization\n * \n * @private\n */\n private getInjuryTypeFromDamage(damageType?: DamageType): InjuryType {\n if (!damageType) {\n return InjuryType.BRUISE; // Default to bruise\n }\n\n switch (damageType) {\n case DamageType.BLUNT:\n case DamageType.IMPACT:\n case DamageType.CRUSHING:\n return InjuryType.BRUISE;\n\n case DamageType.PIERCING:\n case DamageType.SHARP:\n return InjuryType.CUT;\n\n case DamageType.SLASHING:\n return InjuryType.LACERATION;\n\n case DamageType.JOINT:\n return InjuryType.FRACTURE;\n\n default:\n return InjuryType.BRUISE;\n }\n }\n\n /**\n * Get all tracked injuries.\n * \n * **Korean**: 모든 추적된 부상 가져오기\n * \n * @returns Array of injuries\n * \n */\n getInjuries() {\n return this.tracker.getInjuries();\n }\n\n /**\n * Get tracker instance.\n * \n * @returns InjuryTracker instance\n * \n */\n getTracker(): InjuryTracker {\n return this.tracker;\n }\n\n /**\n * Clear all injuries (for new round/match).\n * \n * **Korean**: 모든 부상 초기화\n * \n */\n clearInjuries(): void {\n this.tracker.clearInjuries();\n }\n\n /**\n * Remove expired injuries.\n * \n * **Korean**: 만료된 부상 제거\n * \n */\n removeExpiredInjuries(): void {\n this.tracker.removeExpiredInjuries();\n }\n}\n"],"mappings":";;;;;;;;;;;AAkEA,IAAa,+BAAoE;CAC/E,SAAS;CACT,WAAW;CACX,gBAAgB;CACjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCD,IAAa,0BAAb,MAAqC;CACnC;CACA;CAEA,YAAY,QAA4B;EACtC,KAAK,SAAS;EAEd,KAAK,UAAU,OAAO;;;;;;;;;;;;;;CAexB,mBAAmB,OAAmC;EACpD,IAAI,CAAC,KAAK,OAAO,SACf,OAAO;EAGT,IAAI,MAAM,SAAS,KAAK,OAAO,WAC7B,OAAO;EAIT,MAAM,aAAa,KAAK,wBAAwB,MAAM,WAAW;EAGjE,MAAM,WACJ,MAAM,YAAY,4BAA4B,MAAM,YAAY,IAAK;EAGvE,MAAM,WAAW,wBAAwB,MAAM,WAAW;EAY1D,OATuB,KAAK,QAAQ,aAClC,UACA,MAAM,YACN,UACA,MAAM,QACN,WAIK,KAAmB;;;;;;;;;;;CAY5B,sBAAsB,QAAyB;EAC7C,OAAO,SAAS,KAAK,OAAO;;;;;;;;;;;;CAa9B,wBAAgC,YAAqC;EACnE,IAAI,CAAC,YACH,OAAO,WAAW;EAGpB,QAAQ,YAAR;GACE,KAAK,WAAW;GAChB,KAAK,WAAW;GAChB,KAAK,WAAW,UACd,OAAO,WAAW;GAEpB,KAAK,WAAW;GAChB,KAAK,WAAW,OACd,OAAO,WAAW;GAEpB,KAAK,WAAW,UACd,OAAO,WAAW;GAEpB,KAAK,WAAW,OACd,OAAO,WAAW;GAEpB,SACE,OAAO,WAAW;;;;;;;;;;;CAYxB,cAAc;EACZ,OAAO,KAAK,QAAQ,aAAa;;;;;;;;CASnC,aAA4B;EAC1B,OAAO,KAAK;;;;;;;;CASd,gBAAsB;EACpB,KAAK,QAAQ,eAAe;;;;;;;;CAS9B,wBAA8B;EAC5B,KAAK,QAAQ,uBAAuB"}
|
|
@@ -21,7 +21,6 @@ import { Injury } from "../../types/injury";
|
|
|
21
21
|
* @param playerId - Optional player ID for multi-player scenarios
|
|
22
22
|
* @returns Injury in TraumaOverlay3D format
|
|
23
23
|
*
|
|
24
|
-
* @public
|
|
25
24
|
*/
|
|
26
25
|
export declare function convertInjuryForVisualization(injuryLocation: InjuryLocation, playerId?: string | number): Injury;
|
|
27
26
|
/**
|
|
@@ -33,7 +32,6 @@ export declare function convertInjuryForVisualization(injuryLocation: InjuryLoca
|
|
|
33
32
|
* @param playerId - Optional player ID
|
|
34
33
|
* @returns Array of injuries in TraumaOverlay3D format
|
|
35
34
|
*
|
|
36
|
-
* @public
|
|
37
35
|
*/
|
|
38
36
|
export declare function convertInjuriesForVisualization(injuryLocations: InjuryLocation[], playerId?: string | number): Injury[];
|
|
39
37
|
//# sourceMappingURL=InjuryIntegration.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InjuryIntegration.d.ts","sourceRoot":"","sources":["../../../src/systems/bodypart/InjuryIntegration.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C
|
|
1
|
+
{"version":3,"file":"InjuryIntegration.d.ts","sourceRoot":"","sources":["../../../src/systems/bodypart/InjuryIntegration.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C;;;;;;;;;GASG;AACH,wBAAgB,6BAA6B,CAC3C,cAAc,EAAE,cAAc,EAC9B,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GACzB,MAAM,CAeR;AAED;;;;;;;;;GASG;AACH,wBAAgB,+BAA+B,CAC7C,eAAe,EAAE,cAAc,EAAE,EACjC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GACzB,MAAM,EAAE,CAIV"}
|
|
@@ -8,7 +8,6 @@
|
|
|
8
8
|
* @param playerId - Optional player ID for multi-player scenarios
|
|
9
9
|
* @returns Injury in TraumaOverlay3D format
|
|
10
10
|
*
|
|
11
|
-
* @public
|
|
12
11
|
*/
|
|
13
12
|
function convertInjuryForVisualization(injuryLocation, playerId) {
|
|
14
13
|
return {
|
|
@@ -35,7 +34,6 @@ function convertInjuryForVisualization(injuryLocation, playerId) {
|
|
|
35
34
|
* @param playerId - Optional player ID
|
|
36
35
|
* @returns Array of injuries in TraumaOverlay3D format
|
|
37
36
|
*
|
|
38
|
-
* @public
|
|
39
37
|
*/
|
|
40
38
|
function convertInjuriesForVisualization(injuryLocations, playerId) {
|
|
41
39
|
return injuryLocations.map((loc) => convertInjuryForVisualization(loc, playerId));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InjuryIntegration.js","names":[],"sources":["../../../src/systems/bodypart/InjuryIntegration.ts"],"sourcesContent":["/**\n * Injury Integration Utilities\n * \n * **Korean**: 부상 통합 유틸리티\n * \n * Utilities to convert between InjuryTracker format and TraumaOverlay3D format,\n * enabling seamless integration of injury tracking with visual trauma display.\n * \n * @module systems/bodypart/InjuryIntegration\n * @category Body Part System\n * @korean 부상통합\n */\n\nimport { InjuryLocation } from \"./InjuryTracker\";\nimport { Injury } from \"../../types/injury\";\n\n/**\n * Convert InjuryLocation to TraumaOverlay3D Injury format.\n * \n * **Korean**: InjuryLocation을 TraumaOverlay3D Injury 형식으로 변환\n * \n * @param injuryLocation - Injury from InjuryTracker\n * @param playerId - Optional player ID for multi-player scenarios\n * @returns Injury in TraumaOverlay3D format\n * \n
|
|
1
|
+
{"version":3,"file":"InjuryIntegration.js","names":[],"sources":["../../../src/systems/bodypart/InjuryIntegration.ts"],"sourcesContent":["/**\n * Injury Integration Utilities\n * \n * **Korean**: 부상 통합 유틸리티\n * \n * Utilities to convert between InjuryTracker format and TraumaOverlay3D format,\n * enabling seamless integration of injury tracking with visual trauma display.\n * \n * @module systems/bodypart/InjuryIntegration\n * @category Body Part System\n * @korean 부상통합\n */\n\nimport { InjuryLocation } from \"./InjuryTracker\";\nimport { Injury } from \"../../types/injury\";\n\n/**\n * Convert InjuryLocation to TraumaOverlay3D Injury format.\n * \n * **Korean**: InjuryLocation을 TraumaOverlay3D Injury 형식으로 변환\n * \n * @param injuryLocation - Injury from InjuryTracker\n * @param playerId - Optional player ID for multi-player scenarios\n * @returns Injury in TraumaOverlay3D format\n * \n */\nexport function convertInjuryForVisualization(\n injuryLocation: InjuryLocation,\n playerId?: string | number\n): Injury {\n return {\n id: injuryLocation.id,\n region: injuryLocation.bodyRegion,\n type: injuryLocation.type,\n position: [\n injuryLocation.position.x,\n injuryLocation.position.y,\n injuryLocation.position.z,\n ],\n severity: injuryLocation.severity / 100, // Convert 0-100 to 0-1\n hitCount: injuryLocation.hitCount,\n timestamp: injuryLocation.timestamp,\n playerId,\n };\n}\n\n/**\n * Convert array of InjuryLocations to TraumaOverlay3D Injuries.\n * \n * **Korean**: InjuryLocation 배열을 TraumaOverlay3D Injuries로 변환\n * \n * @param injuryLocations - Array of injuries from InjuryTracker\n * @param playerId - Optional player ID\n * @returns Array of injuries in TraumaOverlay3D format\n * \n */\nexport function convertInjuriesForVisualization(\n injuryLocations: InjuryLocation[],\n playerId?: string | number\n): Injury[] {\n return injuryLocations.map((loc) =>\n convertInjuryForVisualization(loc, playerId)\n );\n}\n"],"mappings":";;;;;;;;;;;AA0BA,SAAgB,8BACd,gBACA,UACQ;CACR,OAAO;EACL,IAAI,eAAe;EACnB,QAAQ,eAAe;EACvB,MAAM,eAAe;EACrB,UAAU;GACR,eAAe,SAAS;GACxB,eAAe,SAAS;GACxB,eAAe,SAAS;GACzB;EACD,UAAU,eAAe,WAAW;EACpC,UAAU,eAAe;EACzB,WAAW,eAAe;EAC1B;EACD;;;;;;;;;;;;AAaH,SAAgB,gCACd,iBACA,UACU;CACV,OAAO,gBAAgB,KAAK,QAC1B,8BAA8B,KAAK,SAAS,CAC7C"}
|
|
@@ -33,7 +33,6 @@ import { BodyRegion } from "../../types/common";
|
|
|
33
33
|
* Records a single injury with its location, severity, and cumulative hit count.
|
|
34
34
|
* Used for progressive bruising visualization.
|
|
35
35
|
*
|
|
36
|
-
* @public
|
|
37
36
|
* @category Injury Tracking
|
|
38
37
|
* @korean 부상위치
|
|
39
38
|
*/
|
|
@@ -58,7 +57,6 @@ export interface InjuryLocation {
|
|
|
58
57
|
/**
|
|
59
58
|
* Configuration for injury tracking behavior.
|
|
60
59
|
*
|
|
61
|
-
* @public
|
|
62
60
|
* @category Injury Tracking
|
|
63
61
|
*/
|
|
64
62
|
export interface InjuryTrackerConfig {
|
|
@@ -76,7 +74,6 @@ export interface InjuryTrackerConfig {
|
|
|
76
74
|
/**
|
|
77
75
|
* Default injury tracker configuration.
|
|
78
76
|
*
|
|
79
|
-
* @public
|
|
80
77
|
*/
|
|
81
78
|
export declare const DEFAULT_INJURY_TRACKER_CONFIG: InjuryTrackerConfig;
|
|
82
79
|
/**
|
|
@@ -104,7 +101,6 @@ export declare const DEFAULT_INJURY_TRACKER_CONFIG: InjuryTrackerConfig;
|
|
|
104
101
|
* const injuries = tracker.getInjuries();
|
|
105
102
|
* ```
|
|
106
103
|
*
|
|
107
|
-
* @public
|
|
108
104
|
* @category Body Part System
|
|
109
105
|
*/
|
|
110
106
|
export declare class InjuryTracker {
|
|
@@ -128,7 +124,6 @@ export declare class InjuryTracker {
|
|
|
128
124
|
* @param type - Type of injury
|
|
129
125
|
* @returns The created or updated injury, or null if damage is below threshold
|
|
130
126
|
*
|
|
131
|
-
* @public
|
|
132
127
|
*/
|
|
133
128
|
recordInjury(bodyPart: BodyPart, bodyRegion: BodyRegion, position: THREE.Vector3, damage: number, type: InjuryType): InjuryLocation | null;
|
|
134
129
|
/**
|
|
@@ -141,7 +136,6 @@ export declare class InjuryTracker {
|
|
|
141
136
|
* @param threshold - Distance threshold
|
|
142
137
|
* @returns Nearby injury or null
|
|
143
138
|
*
|
|
144
|
-
* @public
|
|
145
139
|
*/
|
|
146
140
|
findNearbyInjury(bodyPart: BodyPart, position: THREE.Vector3, threshold: number): InjuryLocation | null;
|
|
147
141
|
/**
|
|
@@ -151,7 +145,6 @@ export declare class InjuryTracker {
|
|
|
151
145
|
*
|
|
152
146
|
* @returns Array of all injuries
|
|
153
147
|
*
|
|
154
|
-
* @public
|
|
155
148
|
*/
|
|
156
149
|
getInjuries(): InjuryLocation[];
|
|
157
150
|
/**
|
|
@@ -162,7 +155,6 @@ export declare class InjuryTracker {
|
|
|
162
155
|
* @param bodyPart - Body part to query
|
|
163
156
|
* @returns Array of injuries on that body part
|
|
164
157
|
*
|
|
165
|
-
* @public
|
|
166
158
|
*/
|
|
167
159
|
getInjuriesByBodyPart(bodyPart: BodyPart): InjuryLocation[];
|
|
168
160
|
/**
|
|
@@ -182,7 +174,6 @@ export declare class InjuryTracker {
|
|
|
182
174
|
* @param hitCount - Number of hits to same location
|
|
183
175
|
* @returns Hex color string
|
|
184
176
|
*
|
|
185
|
-
* @public
|
|
186
177
|
*/
|
|
187
178
|
getBruiseColor(severity: number, hitCount: number): string;
|
|
188
179
|
/**
|
|
@@ -193,7 +184,6 @@ export declare class InjuryTracker {
|
|
|
193
184
|
* @param damage - Damage amount
|
|
194
185
|
* @returns Whether to show blood effects
|
|
195
186
|
*
|
|
196
|
-
* @public
|
|
197
187
|
*/
|
|
198
188
|
shouldShowBloodEffect(damage: number): boolean;
|
|
199
189
|
/**
|
|
@@ -207,7 +197,6 @@ export declare class InjuryTracker {
|
|
|
207
197
|
*
|
|
208
198
|
* **Korean**: 모든 부상 초기화
|
|
209
199
|
*
|
|
210
|
-
* @public
|
|
211
200
|
*/
|
|
212
201
|
clearInjuries(): void;
|
|
213
202
|
/**
|
|
@@ -215,7 +204,6 @@ export declare class InjuryTracker {
|
|
|
215
204
|
*
|
|
216
205
|
* **Korean**: 만료된 부상 제거
|
|
217
206
|
*
|
|
218
|
-
* @public
|
|
219
207
|
*/
|
|
220
208
|
removeExpiredInjuries(): void;
|
|
221
209
|
/**
|
|
@@ -223,7 +211,6 @@ export declare class InjuryTracker {
|
|
|
223
211
|
*
|
|
224
212
|
* @returns Current number of tracked injuries
|
|
225
213
|
*
|
|
226
|
-
* @public
|
|
227
214
|
*/
|
|
228
215
|
getInjuryCount(): number;
|
|
229
216
|
}
|
|
@@ -243,7 +230,6 @@ export declare class InjuryTracker {
|
|
|
243
230
|
* const player2Tracker = new InjuryTracker();
|
|
244
231
|
* ```
|
|
245
232
|
*
|
|
246
|
-
* @public
|
|
247
233
|
* @deprecated Use an explicitly scoped {@link InjuryTracker} instance per
|
|
248
234
|
* player/character instead of relying on this shared module singleton. This
|
|
249
235
|
* export is retained temporarily for backward compatibility with existing
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InjuryTracker.d.ts","sourceRoot":"","sources":["../../../src/systems/bodypart/InjuryTracker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD
|
|
1
|
+
{"version":3,"file":"InjuryTracker.d.ts","sourceRoot":"","sources":["../../../src/systems/bodypart/InjuryTracker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,cAAc;IAC7B,wBAAwB;IACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,oCAAoC;IACpC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,+CAA+C;IAC/C,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC;IACjC,8BAA8B;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,iEAAiE;IACjE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,qCAAqC;IACrC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,kBAAkB;IAClB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;CAC3B;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,wDAAwD;IACxD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,8EAA8E;IAC9E,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,kDAAkD;IAClD,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,yCAAyC;IACzC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,8DAA8D;IAC9D,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;CACzC;AAED;;;GAGG;AACH,eAAO,MAAM,6BAA6B,EAAE,mBAMlC,CAAC;AAEX;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAA8B;IAC9C,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,GAAE,mBAAmD;IAMvE;;;;;;;;;;;;;;;;OAgBG;IACH,YAAY,CACV,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,KAAK,CAAC,OAAO,EACvB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,UAAU,GACf,cAAc,GAAG,IAAI;IAuDxB;;;;;;;;;;OAUG;IACH,gBAAgB,CACd,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,KAAK,CAAC,OAAO,EACvB,SAAS,EAAE,MAAM,GAChB,cAAc,GAAG,IAAI;IAiBxB;;;;;;;OAOG;IACH,WAAW,IAAI,cAAc,EAAE;IAI/B;;;;;;;;OAQG;IACH,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,GAAG,cAAc,EAAE;IAI3D;;;;;;;;;;;;;;;;;OAiBG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAa1D;;;;;;;;OAQG;IACH,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAI9C;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAgB1B;;;;;OAKG;IACH,aAAa,IAAI,IAAI;IAKrB;;;;;OAKG;IACH,qBAAqB,IAAI,IAAI;IAe7B;;;;;OAKG;IACH,cAAc,IAAI,MAAM;CAGzB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,aAAa,eAAsB,CAAC"}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Default injury tracker configuration.
|
|
4
4
|
*
|
|
5
|
-
* @public
|
|
6
5
|
*/
|
|
7
6
|
var DEFAULT_INJURY_TRACKER_CONFIG = {
|
|
8
7
|
maxInjuries: 50,
|
|
@@ -36,7 +35,6 @@ var DEFAULT_INJURY_TRACKER_CONFIG = {
|
|
|
36
35
|
* const injuries = tracker.getInjuries();
|
|
37
36
|
* ```
|
|
38
37
|
*
|
|
39
|
-
* @public
|
|
40
38
|
* @category Body Part System
|
|
41
39
|
*/
|
|
42
40
|
var InjuryTracker = class {
|
|
@@ -64,7 +62,6 @@ var InjuryTracker = class {
|
|
|
64
62
|
* @param type - Type of injury
|
|
65
63
|
* @returns The created or updated injury, or null if damage is below threshold
|
|
66
64
|
*
|
|
67
|
-
* @public
|
|
68
65
|
*/
|
|
69
66
|
recordInjury(bodyPart, bodyRegion, position, damage, type) {
|
|
70
67
|
if (damage < this.config.minDamageForInjury) return null;
|
|
@@ -107,7 +104,6 @@ var InjuryTracker = class {
|
|
|
107
104
|
* @param threshold - Distance threshold
|
|
108
105
|
* @returns Nearby injury or null
|
|
109
106
|
*
|
|
110
|
-
* @public
|
|
111
107
|
*/
|
|
112
108
|
findNearbyInjury(bodyPart, position, threshold) {
|
|
113
109
|
let closestInjury = null;
|
|
@@ -128,7 +124,6 @@ var InjuryTracker = class {
|
|
|
128
124
|
*
|
|
129
125
|
* @returns Array of all injuries
|
|
130
126
|
*
|
|
131
|
-
* @public
|
|
132
127
|
*/
|
|
133
128
|
getInjuries() {
|
|
134
129
|
return Array.from(this.injuries.values());
|
|
@@ -141,7 +136,6 @@ var InjuryTracker = class {
|
|
|
141
136
|
* @param bodyPart - Body part to query
|
|
142
137
|
* @returns Array of injuries on that body part
|
|
143
138
|
*
|
|
144
|
-
* @public
|
|
145
139
|
*/
|
|
146
140
|
getInjuriesByBodyPart(bodyPart) {
|
|
147
141
|
return this.getInjuries().filter((injury) => injury.bodyPart === bodyPart);
|
|
@@ -163,7 +157,6 @@ var InjuryTracker = class {
|
|
|
163
157
|
* @param hitCount - Number of hits to same location
|
|
164
158
|
* @returns Hex color string
|
|
165
159
|
*
|
|
166
|
-
* @public
|
|
167
160
|
*/
|
|
168
161
|
getBruiseColor(severity, hitCount) {
|
|
169
162
|
const effectiveSeverity = severity + Math.max(0, hitCount - 1) * 10;
|
|
@@ -179,7 +172,6 @@ var InjuryTracker = class {
|
|
|
179
172
|
* @param damage - Damage amount
|
|
180
173
|
* @returns Whether to show blood effects
|
|
181
174
|
*
|
|
182
|
-
* @public
|
|
183
175
|
*/
|
|
184
176
|
shouldShowBloodEffect(damage) {
|
|
185
177
|
return damage > this.config.bloodEffectThreshold;
|
|
@@ -203,7 +195,6 @@ var InjuryTracker = class {
|
|
|
203
195
|
*
|
|
204
196
|
* **Korean**: 모든 부상 초기화
|
|
205
197
|
*
|
|
206
|
-
* @public
|
|
207
198
|
*/
|
|
208
199
|
clearInjuries() {
|
|
209
200
|
this.injuries.clear();
|
|
@@ -214,7 +205,6 @@ var InjuryTracker = class {
|
|
|
214
205
|
*
|
|
215
206
|
* **Korean**: 만료된 부상 제거
|
|
216
207
|
*
|
|
217
|
-
* @public
|
|
218
208
|
*/
|
|
219
209
|
removeExpiredInjuries() {
|
|
220
210
|
const now = Date.now();
|
|
@@ -227,7 +217,6 @@ var InjuryTracker = class {
|
|
|
227
217
|
*
|
|
228
218
|
* @returns Current number of tracked injuries
|
|
229
219
|
*
|
|
230
|
-
* @public
|
|
231
220
|
*/
|
|
232
221
|
getInjuryCount() {
|
|
233
222
|
return this.injuries.size;
|
|
@@ -249,7 +238,6 @@ var InjuryTracker = class {
|
|
|
249
238
|
* const player2Tracker = new InjuryTracker();
|
|
250
239
|
* ```
|
|
251
240
|
*
|
|
252
|
-
* @public
|
|
253
241
|
* @deprecated Use an explicitly scoped {@link InjuryTracker} instance per
|
|
254
242
|
* player/character instead of relying on this shared module singleton. This
|
|
255
243
|
* export is retained temporarily for backward compatibility with existing
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InjuryTracker.js","names":[],"sources":["../../../src/systems/bodypart/InjuryTracker.ts"],"sourcesContent":["/**\n * Injury Tracking System\n * \n * **Korean**: 부상 추적 시스템\n * \n * Tracks individual injuries on character models for realistic trauma visualization.\n * Records injury location, type, severity, and timestamp for progressive bruising,\n * cuts, and bleeding effects during combat.\n * \n * ## Features\n * \n * - Track injuries by body part and 3D position\n * - Progressive bruising: Multiple hits to same location darken existing bruises\n * - Color-coded severity (getBruiseColor): Yellow (fresh), Purple (moderate), Dark red (severe)\n * - Note: TraumaOverlay3D uses different progression: Dark red → Indigo → Black\n * - Blood effects triggered when damage > 30 in single hit\n * - Injury persistence across combat rounds\n * - Nearby injury lookup using linear scan over tracked injuries (O(n))\n * \n * @module systems/bodypart/InjuryTracker\n * @category Body Part System\n * @korean 부상추적시스템\n */\n\nimport * as THREE from \"three\";\nimport { BodyPart } from \"./types\";\nimport { InjuryType } from \"../../types/injury\";\nimport { BodyRegion } from \"../../types/common\";\n\n/**\n * Individual injury location data.\n * \n * **Korean**: 부상 위치 데이터\n * \n * Records a single injury with its location, severity, and cumulative hit count.\n * Used for progressive bruising visualization.\n * \n * @public\n * @category Injury Tracking\n * @korean 부상위치\n */\nexport interface InjuryLocation {\n /** Unique identifier */\n readonly id: string;\n /** Body part affected */\n readonly bodyPart: BodyPart;\n /** Body region for hit detection */\n readonly bodyRegion: BodyRegion;\n /** 3D position relative to character center */\n readonly position: THREE.Vector3;\n /** Damage severity (0-100) */\n readonly severity: number;\n /** Number of hits to this location (for progressive bruising) */\n readonly hitCount: number;\n /** Timestamp when injury occurred */\n readonly timestamp: number;\n /** Injury type */\n readonly type: InjuryType;\n}\n\n/**\n * Configuration for injury tracking behavior.\n * \n * @public\n * @category Injury Tracking\n */\nexport interface InjuryTrackerConfig {\n /** Maximum number of injuries to track per character */\n readonly maxInjuries: number;\n /** Distance threshold for considering injuries at same location (in units) */\n readonly sameLocationThreshold: number;\n /** Minimum damage required to create an injury */\n readonly minDamageForInjury: number;\n /** Damage threshold for blood effects */\n readonly bloodEffectThreshold: number;\n /** Time before injuries are removed/expired (milliseconds) */\n readonly injuryExpirationTimeMs: number;\n}\n\n/**\n * Default injury tracker configuration.\n * \n * @public\n */\nexport const DEFAULT_INJURY_TRACKER_CONFIG: InjuryTrackerConfig = {\n maxInjuries: 50, // Reasonable limit for performance\n sameLocationThreshold: 0.6, // 0.6 units distance (accommodates ±0.15 randomization)\n minDamageForInjury: 5, // Minimum 5 damage to show injury\n bloodEffectThreshold: 30, // Blood effects when damage > 30\n injuryExpirationTimeMs: 30000, // Injuries are removed after 30 seconds\n} as const;\n\n/**\n * Injury Tracker System.\n * \n * **Korean**: 부상 추적 시스템\n * \n * Manages injury recording and retrieval for trauma visualization.\n * Implements progressive bruising by tracking hit counts at similar locations.\n * \n * @example\n * ```typescript\n * const tracker = new InjuryTracker();\n * \n * // Record injury from hit\n * const injury = tracker.recordInjury(\n * BodyPart.TORSO_UPPER,\n * BodyRegion.TORSO,\n * new THREE.Vector3(0, 1.5, 0),\n * 25,\n * InjuryType.BRUISE\n * );\n * \n * // Get all injuries for visualization\n * const injuries = tracker.getInjuries();\n * ```\n * \n * @public\n * @category Body Part System\n */\nexport class InjuryTracker {\n private injuries: Map<string, InjuryLocation>;\n private config: InjuryTrackerConfig;\n private nextId: number;\n\n constructor(config: InjuryTrackerConfig = DEFAULT_INJURY_TRACKER_CONFIG) {\n this.injuries = new Map();\n this.config = config;\n this.nextId = 0;\n }\n\n /**\n * Record a new injury or update existing one at similar location.\n * \n * **Korean**: 부상 기록\n * \n * If an injury exists near the hit position, it updates the existing injury\n * with increased severity and hit count (progressive bruising). Otherwise,\n * creates a new injury.\n * \n * @param bodyPart - Body part affected\n * @param bodyRegion - Body region for damage distribution\n * @param position - 3D position relative to character center\n * @param damage - Damage amount (0-100)\n * @param type - Type of injury\n * @returns The created or updated injury, or null if damage is below threshold\n * \n * @public\n */\n recordInjury(\n bodyPart: BodyPart,\n bodyRegion: BodyRegion,\n position: THREE.Vector3,\n damage: number,\n type: InjuryType\n ): InjuryLocation | null {\n // Check if damage is significant enough to track\n if (damage < this.config.minDamageForInjury) {\n return null;\n }\n\n // Find nearby injury at similar location (same body part)\n const existing = this.findNearbyInjury(bodyPart, position, this.config.sameLocationThreshold);\n\n // Only merge injuries that also match type and body region to avoid\n // incorrectly combining different injury types at the same spot\n const shouldMerge =\n !!existing &&\n existing.type === type &&\n existing.bodyRegion === bodyRegion;\n\n if (shouldMerge && existing) {\n // Progressive bruising - update existing injury\n const newSeverity = Math.min(100, existing.severity + damage / 2);\n const newHitCount = existing.hitCount + 1;\n\n const updated: InjuryLocation = {\n ...existing,\n severity: newSeverity,\n hitCount: newHitCount,\n timestamp: Date.now(),\n };\n\n this.injuries.set(existing.id, updated);\n return updated;\n } else {\n // Create new injury\n const id = `injury-${this.nextId++}`;\n const injury: InjuryLocation = {\n id,\n bodyPart,\n bodyRegion,\n position: position.clone(),\n severity: damage,\n hitCount: 1,\n timestamp: Date.now(),\n type,\n };\n\n this.injuries.set(id, injury);\n\n // Enforce max injuries limit\n if (this.injuries.size > this.config.maxInjuries) {\n this.removeOldestInjury();\n }\n\n return injury;\n }\n }\n\n /**\n * Find injury near a given position on the same body part.\n * \n * **Korean**: 인근 부상 찾기\n * \n * @param bodyPart - Body part to search\n * @param position - Position to search near\n * @param threshold - Distance threshold\n * @returns Nearby injury or null\n * \n * @public\n */\n findNearbyInjury(\n bodyPart: BodyPart,\n position: THREE.Vector3,\n threshold: number\n ): InjuryLocation | null {\n let closestInjury: InjuryLocation | null = null;\n let closestDistance = threshold;\n\n for (const injury of this.injuries.values()) {\n if (injury.bodyPart === bodyPart) {\n const distance = injury.position.distanceTo(position);\n if (distance < closestDistance) {\n closestDistance = distance;\n closestInjury = injury;\n }\n }\n }\n\n return closestInjury;\n }\n\n /**\n * Get all tracked injuries.\n * \n * **Korean**: 모든 부상 조회\n * \n * @returns Array of all injuries\n * \n * @public\n */\n getInjuries(): InjuryLocation[] {\n return Array.from(this.injuries.values());\n }\n\n /**\n * Get injuries for a specific body part.\n * \n * **Korean**: 신체 부위 부상 조회\n * \n * @param bodyPart - Body part to query\n * @returns Array of injuries on that body part\n * \n * @public\n */\n getInjuriesByBodyPart(bodyPart: BodyPart): InjuryLocation[] {\n return this.getInjuries().filter((injury) => injury.bodyPart === bodyPart);\n }\n\n /**\n * Get bruise color based on severity and hit count.\n * \n * **Korean**: 타박상 색상 가져오기\n * \n * Progressive color scheme (for reference - TraumaOverlay3D uses its own colors):\n * - Light bruising (severity < 20): Yellow (#ffeb3b)\n * - Moderate bruising (severity < 50): Purple (#9c27b0)\n * - Severe bruising (severity >= 50): Dark red (#b71c1c)\n * \n * Note: TraumaOverlay3D uses Dark red → Indigo → Black progression.\n * Consider using TraumaOverlay3D's getBruiseColor for consistent visualization.\n * \n * @param severity - Injury severity (0-100)\n * @param hitCount - Number of hits to same location\n * @returns Hex color string\n * \n * @public\n */\n getBruiseColor(severity: number, hitCount: number): string {\n // Progressive darkening with hit count (subtract 1 since first hit shouldn't darken)\n const effectiveSeverity = severity + Math.max(0, hitCount - 1) * 10;\n\n if (effectiveSeverity < 20) {\n return \"#ffeb3b\"; // Yellow - light bruising\n } else if (effectiveSeverity < 50) {\n return \"#9c27b0\"; // Purple - moderate bruising\n } else {\n return \"#b71c1c\"; // Dark red - severe bruising\n }\n }\n\n /**\n * Check if damage should trigger blood effects.\n * \n * **Korean**: 출혈 효과 필요 여부 확인\n * \n * @param damage - Damage amount\n * @returns Whether to show blood effects\n * \n * @public\n */\n shouldShowBloodEffect(damage: number): boolean {\n return damage > this.config.bloodEffectThreshold;\n }\n\n /**\n * Remove oldest injury to maintain performance.\n * \n * @private\n */\n private removeOldestInjury(): void {\n let oldestId: string | null = null;\n let oldestTimestamp = Infinity;\n\n for (const [id, injury] of this.injuries.entries()) {\n if (injury.timestamp < oldestTimestamp) {\n oldestTimestamp = injury.timestamp;\n oldestId = id;\n }\n }\n\n if (oldestId) {\n this.injuries.delete(oldestId);\n }\n }\n\n /**\n * Clear all injuries (for new match/round).\n * \n * **Korean**: 모든 부상 초기화\n * \n * @public\n */\n clearInjuries(): void {\n this.injuries.clear();\n this.nextId = 0;\n }\n\n /**\n * Remove injuries older than expiration time.\n * \n * **Korean**: 만료된 부상 제거\n * \n * @public\n */\n removeExpiredInjuries(): void {\n const now = Date.now();\n const expiredIds: string[] = [];\n\n for (const [id, injury] of this.injuries.entries()) {\n if (now - injury.timestamp > this.config.injuryExpirationTimeMs) {\n expiredIds.push(id);\n }\n }\n\n for (const id of expiredIds) {\n this.injuries.delete(id);\n }\n }\n\n /**\n * Get injury count for performance monitoring.\n * \n * @returns Current number of tracked injuries\n * \n * @public\n */\n getInjuryCount(): number {\n return this.injuries.size;\n }\n}\n\n/**\n * Legacy module-level injury tracker singleton.\n *\n * **Korean**: 레거시 모듈 전역 부상 추적기\n *\n * **Warning**: This singleton does **not** track any playerId/character identifier\n * on injuries. All recorded injuries are stored together in a single collection.\n * For any scenario with more than one character (including 1v1 combat), you\n * **must** create a separate {@link InjuryTracker} instance per character to\n * avoid mixing injuries between characters:\n *\n * ```typescript\n * const player1Tracker = new InjuryTracker();\n * const player2Tracker = new InjuryTracker();\n * ```\n *\n * @public\n * @deprecated Use an explicitly scoped {@link InjuryTracker} instance per\n * player/character instead of relying on this shared module singleton. This\n * export is retained temporarily for backward compatibility with existing\n * consumers importing `injuryTracker` from `systems/bodypart` and will be\n * removed in a future major release.\n */\nexport const injuryTracker = new InjuryTracker();\n"],"mappings":";;;;;;AAoFA,IAAa,gCAAqD;CAChE,aAAa;CACb,uBAAuB;CACvB,oBAAoB;CACpB,sBAAsB;CACtB,wBAAwB;CACzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BD,IAAa,gBAAb,MAA2B;CACzB;CACA;CACA;CAEA,YAAY,SAA8B,+BAA+B;EACvE,KAAK,2BAAW,IAAI,KAAK;EACzB,KAAK,SAAS;EACd,KAAK,SAAS;;;;;;;;;;;;;;;;;;;;CAqBhB,aACE,UACA,YACA,UACA,QACA,MACuB;EAEvB,IAAI,SAAS,KAAK,OAAO,oBACvB,OAAO;EAIT,MAAM,WAAW,KAAK,iBAAiB,UAAU,UAAU,KAAK,OAAO,sBAAsB;EAS7F,IAJE,CAAC,CAAC,YACF,SAAS,SAAS,QAClB,SAAS,eAAe,cAEP,UAAU;GAE3B,MAAM,cAAc,KAAK,IAAI,KAAK,SAAS,WAAW,SAAS,EAAE;GACjE,MAAM,cAAc,SAAS,WAAW;GAExC,MAAM,UAA0B;IAC9B,GAAG;IACH,UAAU;IACV,UAAU;IACV,WAAW,KAAK,KAAK;IACtB;GAED,KAAK,SAAS,IAAI,SAAS,IAAI,QAAQ;GACvC,OAAO;SACF;GAEL,MAAM,KAAK,UAAU,KAAK;GAC1B,MAAM,SAAyB;IAC7B;IACA;IACA;IACA,UAAU,SAAS,OAAO;IAC1B,UAAU;IACV,UAAU;IACV,WAAW,KAAK,KAAK;IACrB;IACD;GAED,KAAK,SAAS,IAAI,IAAI,OAAO;GAG7B,IAAI,KAAK,SAAS,OAAO,KAAK,OAAO,aACnC,KAAK,oBAAoB;GAG3B,OAAO;;;;;;;;;;;;;;;CAgBX,iBACE,UACA,UACA,WACuB;EACvB,IAAI,gBAAuC;EAC3C,IAAI,kBAAkB;EAEtB,KAAK,MAAM,UAAU,KAAK,SAAS,QAAQ,EACzC,IAAI,OAAO,aAAa,UAAU;GAChC,MAAM,WAAW,OAAO,SAAS,WAAW,SAAS;GACrD,IAAI,WAAW,iBAAiB;IAC9B,kBAAkB;IAClB,gBAAgB;;;EAKtB,OAAO;;;;;;;;;;;CAYT,cAAgC;EAC9B,OAAO,MAAM,KAAK,KAAK,SAAS,QAAQ,CAAC;;;;;;;;;;;;CAa3C,sBAAsB,UAAsC;EAC1D,OAAO,KAAK,aAAa,CAAC,QAAQ,WAAW,OAAO,aAAa,SAAS;;;;;;;;;;;;;;;;;;;;;CAsB5E,eAAe,UAAkB,UAA0B;EAEzD,MAAM,oBAAoB,WAAW,KAAK,IAAI,GAAG,WAAW,EAAE,GAAG;EAEjE,IAAI,oBAAoB,IACtB,OAAO;OACF,IAAI,oBAAoB,IAC7B,OAAO;OAEP,OAAO;;;;;;;;;;;;CAcX,sBAAsB,QAAyB;EAC7C,OAAO,SAAS,KAAK,OAAO;;;;;;;CAQ9B,qBAAmC;EACjC,IAAI,WAA0B;EAC9B,IAAI,kBAAkB;EAEtB,KAAK,MAAM,CAAC,IAAI,WAAW,KAAK,SAAS,SAAS,EAChD,IAAI,OAAO,YAAY,iBAAiB;GACtC,kBAAkB,OAAO;GACzB,WAAW;;EAIf,IAAI,UACF,KAAK,SAAS,OAAO,SAAS;;;;;;;;;CAWlC,gBAAsB;EACpB,KAAK,SAAS,OAAO;EACrB,KAAK,SAAS;;;;;;;;;CAUhB,wBAA8B;EAC5B,MAAM,MAAM,KAAK,KAAK;EACtB,MAAM,aAAuB,EAAE;EAE/B,KAAK,MAAM,CAAC,IAAI,WAAW,KAAK,SAAS,SAAS,EAChD,IAAI,MAAM,OAAO,YAAY,KAAK,OAAO,wBACvC,WAAW,KAAK,GAAG;EAIvB,KAAK,MAAM,MAAM,YACf,KAAK,SAAS,OAAO,GAAG;;;;;;;;;CAW5B,iBAAyB;EACvB,OAAO,KAAK,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BzB,IAAa,gBAAgB,IAAI,eAAe"}
|
|
1
|
+
{"version":3,"file":"InjuryTracker.js","names":[],"sources":["../../../src/systems/bodypart/InjuryTracker.ts"],"sourcesContent":["/**\n * Injury Tracking System\n * \n * **Korean**: 부상 추적 시스템\n * \n * Tracks individual injuries on character models for realistic trauma visualization.\n * Records injury location, type, severity, and timestamp for progressive bruising,\n * cuts, and bleeding effects during combat.\n * \n * ## Features\n * \n * - Track injuries by body part and 3D position\n * - Progressive bruising: Multiple hits to same location darken existing bruises\n * - Color-coded severity (getBruiseColor): Yellow (fresh), Purple (moderate), Dark red (severe)\n * - Note: TraumaOverlay3D uses different progression: Dark red → Indigo → Black\n * - Blood effects triggered when damage > 30 in single hit\n * - Injury persistence across combat rounds\n * - Nearby injury lookup using linear scan over tracked injuries (O(n))\n * \n * @module systems/bodypart/InjuryTracker\n * @category Body Part System\n * @korean 부상추적시스템\n */\n\nimport * as THREE from \"three\";\nimport { BodyPart } from \"./types\";\nimport { InjuryType } from \"../../types/injury\";\nimport { BodyRegion } from \"../../types/common\";\n\n/**\n * Individual injury location data.\n * \n * **Korean**: 부상 위치 데이터\n * \n * Records a single injury with its location, severity, and cumulative hit count.\n * Used for progressive bruising visualization.\n * \n * @category Injury Tracking\n * @korean 부상위치\n */\nexport interface InjuryLocation {\n /** Unique identifier */\n readonly id: string;\n /** Body part affected */\n readonly bodyPart: BodyPart;\n /** Body region for hit detection */\n readonly bodyRegion: BodyRegion;\n /** 3D position relative to character center */\n readonly position: THREE.Vector3;\n /** Damage severity (0-100) */\n readonly severity: number;\n /** Number of hits to this location (for progressive bruising) */\n readonly hitCount: number;\n /** Timestamp when injury occurred */\n readonly timestamp: number;\n /** Injury type */\n readonly type: InjuryType;\n}\n\n/**\n * Configuration for injury tracking behavior.\n * \n * @category Injury Tracking\n */\nexport interface InjuryTrackerConfig {\n /** Maximum number of injuries to track per character */\n readonly maxInjuries: number;\n /** Distance threshold for considering injuries at same location (in units) */\n readonly sameLocationThreshold: number;\n /** Minimum damage required to create an injury */\n readonly minDamageForInjury: number;\n /** Damage threshold for blood effects */\n readonly bloodEffectThreshold: number;\n /** Time before injuries are removed/expired (milliseconds) */\n readonly injuryExpirationTimeMs: number;\n}\n\n/**\n * Default injury tracker configuration.\n * \n */\nexport const DEFAULT_INJURY_TRACKER_CONFIG: InjuryTrackerConfig = {\n maxInjuries: 50, // Reasonable limit for performance\n sameLocationThreshold: 0.6, // 0.6 units distance (accommodates ±0.15 randomization)\n minDamageForInjury: 5, // Minimum 5 damage to show injury\n bloodEffectThreshold: 30, // Blood effects when damage > 30\n injuryExpirationTimeMs: 30000, // Injuries are removed after 30 seconds\n} as const;\n\n/**\n * Injury Tracker System.\n * \n * **Korean**: 부상 추적 시스템\n * \n * Manages injury recording and retrieval for trauma visualization.\n * Implements progressive bruising by tracking hit counts at similar locations.\n * \n * @example\n * ```typescript\n * const tracker = new InjuryTracker();\n * \n * // Record injury from hit\n * const injury = tracker.recordInjury(\n * BodyPart.TORSO_UPPER,\n * BodyRegion.TORSO,\n * new THREE.Vector3(0, 1.5, 0),\n * 25,\n * InjuryType.BRUISE\n * );\n * \n * // Get all injuries for visualization\n * const injuries = tracker.getInjuries();\n * ```\n * \n * @category Body Part System\n */\nexport class InjuryTracker {\n private injuries: Map<string, InjuryLocation>;\n private config: InjuryTrackerConfig;\n private nextId: number;\n\n constructor(config: InjuryTrackerConfig = DEFAULT_INJURY_TRACKER_CONFIG) {\n this.injuries = new Map();\n this.config = config;\n this.nextId = 0;\n }\n\n /**\n * Record a new injury or update existing one at similar location.\n * \n * **Korean**: 부상 기록\n * \n * If an injury exists near the hit position, it updates the existing injury\n * with increased severity and hit count (progressive bruising). Otherwise,\n * creates a new injury.\n * \n * @param bodyPart - Body part affected\n * @param bodyRegion - Body region for damage distribution\n * @param position - 3D position relative to character center\n * @param damage - Damage amount (0-100)\n * @param type - Type of injury\n * @returns The created or updated injury, or null if damage is below threshold\n * \n */\n recordInjury(\n bodyPart: BodyPart,\n bodyRegion: BodyRegion,\n position: THREE.Vector3,\n damage: number,\n type: InjuryType\n ): InjuryLocation | null {\n // Check if damage is significant enough to track\n if (damage < this.config.minDamageForInjury) {\n return null;\n }\n\n // Find nearby injury at similar location (same body part)\n const existing = this.findNearbyInjury(bodyPart, position, this.config.sameLocationThreshold);\n\n // Only merge injuries that also match type and body region to avoid\n // incorrectly combining different injury types at the same spot\n const shouldMerge =\n !!existing &&\n existing.type === type &&\n existing.bodyRegion === bodyRegion;\n\n if (shouldMerge && existing) {\n // Progressive bruising - update existing injury\n const newSeverity = Math.min(100, existing.severity + damage / 2);\n const newHitCount = existing.hitCount + 1;\n\n const updated: InjuryLocation = {\n ...existing,\n severity: newSeverity,\n hitCount: newHitCount,\n timestamp: Date.now(),\n };\n\n this.injuries.set(existing.id, updated);\n return updated;\n } else {\n // Create new injury\n const id = `injury-${this.nextId++}`;\n const injury: InjuryLocation = {\n id,\n bodyPart,\n bodyRegion,\n position: position.clone(),\n severity: damage,\n hitCount: 1,\n timestamp: Date.now(),\n type,\n };\n\n this.injuries.set(id, injury);\n\n // Enforce max injuries limit\n if (this.injuries.size > this.config.maxInjuries) {\n this.removeOldestInjury();\n }\n\n return injury;\n }\n }\n\n /**\n * Find injury near a given position on the same body part.\n * \n * **Korean**: 인근 부상 찾기\n * \n * @param bodyPart - Body part to search\n * @param position - Position to search near\n * @param threshold - Distance threshold\n * @returns Nearby injury or null\n * \n */\n findNearbyInjury(\n bodyPart: BodyPart,\n position: THREE.Vector3,\n threshold: number\n ): InjuryLocation | null {\n let closestInjury: InjuryLocation | null = null;\n let closestDistance = threshold;\n\n for (const injury of this.injuries.values()) {\n if (injury.bodyPart === bodyPart) {\n const distance = injury.position.distanceTo(position);\n if (distance < closestDistance) {\n closestDistance = distance;\n closestInjury = injury;\n }\n }\n }\n\n return closestInjury;\n }\n\n /**\n * Get all tracked injuries.\n * \n * **Korean**: 모든 부상 조회\n * \n * @returns Array of all injuries\n * \n */\n getInjuries(): InjuryLocation[] {\n return Array.from(this.injuries.values());\n }\n\n /**\n * Get injuries for a specific body part.\n * \n * **Korean**: 신체 부위 부상 조회\n * \n * @param bodyPart - Body part to query\n * @returns Array of injuries on that body part\n * \n */\n getInjuriesByBodyPart(bodyPart: BodyPart): InjuryLocation[] {\n return this.getInjuries().filter((injury) => injury.bodyPart === bodyPart);\n }\n\n /**\n * Get bruise color based on severity and hit count.\n * \n * **Korean**: 타박상 색상 가져오기\n * \n * Progressive color scheme (for reference - TraumaOverlay3D uses its own colors):\n * - Light bruising (severity < 20): Yellow (#ffeb3b)\n * - Moderate bruising (severity < 50): Purple (#9c27b0)\n * - Severe bruising (severity >= 50): Dark red (#b71c1c)\n * \n * Note: TraumaOverlay3D uses Dark red → Indigo → Black progression.\n * Consider using TraumaOverlay3D's getBruiseColor for consistent visualization.\n * \n * @param severity - Injury severity (0-100)\n * @param hitCount - Number of hits to same location\n * @returns Hex color string\n * \n */\n getBruiseColor(severity: number, hitCount: number): string {\n // Progressive darkening with hit count (subtract 1 since first hit shouldn't darken)\n const effectiveSeverity = severity + Math.max(0, hitCount - 1) * 10;\n\n if (effectiveSeverity < 20) {\n return \"#ffeb3b\"; // Yellow - light bruising\n } else if (effectiveSeverity < 50) {\n return \"#9c27b0\"; // Purple - moderate bruising\n } else {\n return \"#b71c1c\"; // Dark red - severe bruising\n }\n }\n\n /**\n * Check if damage should trigger blood effects.\n * \n * **Korean**: 출혈 효과 필요 여부 확인\n * \n * @param damage - Damage amount\n * @returns Whether to show blood effects\n * \n */\n shouldShowBloodEffect(damage: number): boolean {\n return damage > this.config.bloodEffectThreshold;\n }\n\n /**\n * Remove oldest injury to maintain performance.\n * \n * @private\n */\n private removeOldestInjury(): void {\n let oldestId: string | null = null;\n let oldestTimestamp = Infinity;\n\n for (const [id, injury] of this.injuries.entries()) {\n if (injury.timestamp < oldestTimestamp) {\n oldestTimestamp = injury.timestamp;\n oldestId = id;\n }\n }\n\n if (oldestId) {\n this.injuries.delete(oldestId);\n }\n }\n\n /**\n * Clear all injuries (for new match/round).\n * \n * **Korean**: 모든 부상 초기화\n * \n */\n clearInjuries(): void {\n this.injuries.clear();\n this.nextId = 0;\n }\n\n /**\n * Remove injuries older than expiration time.\n * \n * **Korean**: 만료된 부상 제거\n * \n */\n removeExpiredInjuries(): void {\n const now = Date.now();\n const expiredIds: string[] = [];\n\n for (const [id, injury] of this.injuries.entries()) {\n if (now - injury.timestamp > this.config.injuryExpirationTimeMs) {\n expiredIds.push(id);\n }\n }\n\n for (const id of expiredIds) {\n this.injuries.delete(id);\n }\n }\n\n /**\n * Get injury count for performance monitoring.\n * \n * @returns Current number of tracked injuries\n * \n */\n getInjuryCount(): number {\n return this.injuries.size;\n }\n}\n\n/**\n * Legacy module-level injury tracker singleton.\n *\n * **Korean**: 레거시 모듈 전역 부상 추적기\n *\n * **Warning**: This singleton does **not** track any playerId/character identifier\n * on injuries. All recorded injuries are stored together in a single collection.\n * For any scenario with more than one character (including 1v1 combat), you\n * **must** create a separate {@link InjuryTracker} instance per character to\n * avoid mixing injuries between characters:\n *\n * ```typescript\n * const player1Tracker = new InjuryTracker();\n * const player2Tracker = new InjuryTracker();\n * ```\n *\n * @deprecated Use an explicitly scoped {@link InjuryTracker} instance per\n * player/character instead of relying on this shared module singleton. This\n * export is retained temporarily for backward compatibility with existing\n * consumers importing `injuryTracker` from `systems/bodypart` and will be\n * removed in a future major release.\n */\nexport const injuryTracker = new InjuryTracker();\n"],"mappings":";;;;;AAiFA,IAAa,gCAAqD;CAChE,aAAa;CACb,uBAAuB;CACvB,oBAAoB;CACpB,sBAAsB;CACtB,wBAAwB;CACzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BD,IAAa,gBAAb,MAA2B;CACzB;CACA;CACA;CAEA,YAAY,SAA8B,+BAA+B;EACvE,KAAK,2BAAW,IAAI,KAAK;EACzB,KAAK,SAAS;EACd,KAAK,SAAS;;;;;;;;;;;;;;;;;;;CAoBhB,aACE,UACA,YACA,UACA,QACA,MACuB;EAEvB,IAAI,SAAS,KAAK,OAAO,oBACvB,OAAO;EAIT,MAAM,WAAW,KAAK,iBAAiB,UAAU,UAAU,KAAK,OAAO,sBAAsB;EAS7F,IAJE,CAAC,CAAC,YACF,SAAS,SAAS,QAClB,SAAS,eAAe,cAEP,UAAU;GAE3B,MAAM,cAAc,KAAK,IAAI,KAAK,SAAS,WAAW,SAAS,EAAE;GACjE,MAAM,cAAc,SAAS,WAAW;GAExC,MAAM,UAA0B;IAC9B,GAAG;IACH,UAAU;IACV,UAAU;IACV,WAAW,KAAK,KAAK;IACtB;GAED,KAAK,SAAS,IAAI,SAAS,IAAI,QAAQ;GACvC,OAAO;SACF;GAEL,MAAM,KAAK,UAAU,KAAK;GAC1B,MAAM,SAAyB;IAC7B;IACA;IACA;IACA,UAAU,SAAS,OAAO;IAC1B,UAAU;IACV,UAAU;IACV,WAAW,KAAK,KAAK;IACrB;IACD;GAED,KAAK,SAAS,IAAI,IAAI,OAAO;GAG7B,IAAI,KAAK,SAAS,OAAO,KAAK,OAAO,aACnC,KAAK,oBAAoB;GAG3B,OAAO;;;;;;;;;;;;;;CAeX,iBACE,UACA,UACA,WACuB;EACvB,IAAI,gBAAuC;EAC3C,IAAI,kBAAkB;EAEtB,KAAK,MAAM,UAAU,KAAK,SAAS,QAAQ,EACzC,IAAI,OAAO,aAAa,UAAU;GAChC,MAAM,WAAW,OAAO,SAAS,WAAW,SAAS;GACrD,IAAI,WAAW,iBAAiB;IAC9B,kBAAkB;IAClB,gBAAgB;;;EAKtB,OAAO;;;;;;;;;;CAWT,cAAgC;EAC9B,OAAO,MAAM,KAAK,KAAK,SAAS,QAAQ,CAAC;;;;;;;;;;;CAY3C,sBAAsB,UAAsC;EAC1D,OAAO,KAAK,aAAa,CAAC,QAAQ,WAAW,OAAO,aAAa,SAAS;;;;;;;;;;;;;;;;;;;;CAqB5E,eAAe,UAAkB,UAA0B;EAEzD,MAAM,oBAAoB,WAAW,KAAK,IAAI,GAAG,WAAW,EAAE,GAAG;EAEjE,IAAI,oBAAoB,IACtB,OAAO;OACF,IAAI,oBAAoB,IAC7B,OAAO;OAEP,OAAO;;;;;;;;;;;CAaX,sBAAsB,QAAyB;EAC7C,OAAO,SAAS,KAAK,OAAO;;;;;;;CAQ9B,qBAAmC;EACjC,IAAI,WAA0B;EAC9B,IAAI,kBAAkB;EAEtB,KAAK,MAAM,CAAC,IAAI,WAAW,KAAK,SAAS,SAAS,EAChD,IAAI,OAAO,YAAY,iBAAiB;GACtC,kBAAkB,OAAO;GACzB,WAAW;;EAIf,IAAI,UACF,KAAK,SAAS,OAAO,SAAS;;;;;;;;CAUlC,gBAAsB;EACpB,KAAK,SAAS,OAAO;EACrB,KAAK,SAAS;;;;;;;;CAShB,wBAA8B;EAC5B,MAAM,MAAM,KAAK,KAAK;EACtB,MAAM,aAAuB,EAAE;EAE/B,KAAK,MAAM,CAAC,IAAI,WAAW,KAAK,SAAS,SAAS,EAChD,IAAI,MAAM,OAAO,YAAY,KAAK,OAAO,wBACvC,WAAW,KAAK,GAAG;EAIvB,KAAK,MAAM,MAAM,YACf,KAAK,SAAS,OAAO,GAAG;;;;;;;;CAU5B,iBAAyB;EACvB,OAAO,KAAK,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;AA0BzB,IAAa,gBAAgB,IAAI,eAAe"}
|
|
@@ -58,7 +58,6 @@ import { BodyPart, BodyPartHealth, BodyPartMaxHealth, MovementPenalty, InstantMo
|
|
|
58
58
|
* const actualSpeed = baseSpeed * penalty.speedMultiplier;
|
|
59
59
|
* ```
|
|
60
60
|
*
|
|
61
|
-
* @public
|
|
62
61
|
* @category Body Part System
|
|
63
62
|
*/
|
|
64
63
|
export declare class MovementPenaltySystem {
|
|
@@ -76,7 +75,6 @@ export declare class MovementPenaltySystem {
|
|
|
76
75
|
* @param currentTime - Current timestamp for instant penalty expiry check
|
|
77
76
|
* @returns Movement penalty with all modifiers
|
|
78
77
|
*
|
|
79
|
-
* @public
|
|
80
78
|
*/
|
|
81
79
|
calculateMovementPenalty(health: BodyPartHealth, maxHealth: BodyPartMaxHealth, instantPenalty?: InstantMovementPenalty, currentTime?: number): MovementPenalty;
|
|
82
80
|
/**
|
|
@@ -104,7 +102,6 @@ export declare class MovementPenaltySystem {
|
|
|
104
102
|
* @param movementDirection - Direction of movement (positive = right, negative = left)
|
|
105
103
|
* @returns Additional speed multiplier for asymmetric penalty
|
|
106
104
|
*
|
|
107
|
-
* @public
|
|
108
105
|
*/
|
|
109
106
|
calculateAsymmetricPenalty(health: BodyPartHealth, maxHealth: BodyPartMaxHealth, movementDirection: {
|
|
110
107
|
x: number;
|
|
@@ -122,7 +119,6 @@ export declare class MovementPenaltySystem {
|
|
|
122
119
|
* @param currentTime - Timestamp when strike occurred
|
|
123
120
|
* @returns Instant movement penalty configuration
|
|
124
121
|
*
|
|
125
|
-
* @public
|
|
126
122
|
*/
|
|
127
123
|
createInstantPenalty(affectedPart: BodyPart.LEG_LEFT | BodyPart.LEG_RIGHT, currentTime?: number): InstantMovementPenalty;
|
|
128
124
|
/**
|
|
@@ -137,7 +133,6 @@ export declare class MovementPenaltySystem {
|
|
|
137
133
|
* @param maxHealth - Maximum health values
|
|
138
134
|
* @returns True if player should enter vulnerable state
|
|
139
135
|
*
|
|
140
|
-
* @public
|
|
141
136
|
*/
|
|
142
137
|
shouldEnterVulnerableState(health: BodyPartHealth, maxHealth: BodyPartMaxHealth): boolean;
|
|
143
138
|
/**
|
|
@@ -152,7 +147,6 @@ export declare class MovementPenaltySystem {
|
|
|
152
147
|
* @param maxHealth - Maximum health values
|
|
153
148
|
* @returns True if player should enter helpless state
|
|
154
149
|
*
|
|
155
|
-
* @public
|
|
156
150
|
*/
|
|
157
151
|
shouldEnterHelplessState(health: BodyPartHealth, maxHealth: BodyPartMaxHealth): boolean;
|
|
158
152
|
/**
|
|
@@ -171,7 +165,6 @@ export declare class MovementPenaltySystem {
|
|
|
171
165
|
* @param currentTime - Current timestamp
|
|
172
166
|
* @returns Final movement speed with all penalties applied
|
|
173
167
|
*
|
|
174
|
-
* @public
|
|
175
168
|
*/
|
|
176
169
|
calculateModifiedSpeed(baseSpeed: number, health: BodyPartHealth, maxHealth: BodyPartMaxHealth, movementDirection: {
|
|
177
170
|
x: number;
|
|
@@ -185,7 +178,6 @@ export declare class MovementPenaltySystem {
|
|
|
185
178
|
*
|
|
186
179
|
* Provides global access to the movement penalty system throughout the game.
|
|
187
180
|
*
|
|
188
|
-
* @public
|
|
189
181
|
*/
|
|
190
182
|
export declare const movementPenaltySystem: MovementPenaltySystem;
|
|
191
183
|
//# sourceMappingURL=MovementPenaltySystem.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MovementPenaltySystem.d.ts","sourceRoot":"","sources":["../../../src/systems/bodypart/MovementPenaltySystem.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,OAAO,EACL,QAAQ,EACR,cAAc,EACd,iBAAiB,EAEjB,eAAe,EACf,sBAAsB,EAEvB,MAAM,SAAS,CAAC;AAEjB
|
|
1
|
+
{"version":3,"file":"MovementPenaltySystem.d.ts","sourceRoot":"","sources":["../../../src/systems/bodypart/MovementPenaltySystem.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,OAAO,EACL,QAAQ,EACR,cAAc,EACd,iBAAiB,EAEjB,eAAe,EACf,sBAAsB,EAEvB,MAAM,SAAS,CAAC;AAEjB;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,qBAAqB;IAChC;;;;;;;;;;;;;;OAcG;IACH,wBAAwB,CACtB,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,iBAAiB,EAC5B,cAAc,CAAC,EAAE,sBAAsB,EACvC,WAAW,GAAE,MAAmB,GAC/B,eAAe;IAiDlB;;;;;;;;;OASG;IACH,OAAO,CAAC,wBAAwB;IA6BhC;;;;;;;;;;;;;;OAcG;IACH,0BAA0B,CACxB,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,iBAAiB,EAC5B,iBAAiB,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,GAC1C,MAAM;IAqCT;;;;;;;;;;;;OAYG;IACH,oBAAoB,CAClB,YAAY,EAAE,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,SAAS,EACpD,WAAW,GAAE,MAAmB,GAC/B,sBAAsB;IASzB;;;;;;;;;;;;OAYG;IACH,0BAA0B,CACxB,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,iBAAiB,GAC3B,OAAO;IASV;;;;;;;;;;;;OAYG;IACH,wBAAwB,CACtB,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,iBAAiB,GAC3B,OAAO;IAWV;;;;;;;;;;;;;;;;OAgBG;IACH,sBAAsB,CACpB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,iBAAiB,EAC5B,iBAAiB,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAC3C,cAAc,CAAC,EAAE,sBAAsB,EACvC,WAAW,GAAE,MAAmB,GAC/B,MAAM;CAmBV;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,uBAA8B,CAAC"}
|
|
@@ -59,7 +59,6 @@ import { LegInjuryState, MOVEMENT_PENALTY_CONSTANTS } from "./types.js";
|
|
|
59
59
|
* const actualSpeed = baseSpeed * penalty.speedMultiplier;
|
|
60
60
|
* ```
|
|
61
61
|
*
|
|
62
|
-
* @public
|
|
63
62
|
* @category Body Part System
|
|
64
63
|
*/
|
|
65
64
|
var MovementPenaltySystem = class {
|
|
@@ -77,7 +76,6 @@ var MovementPenaltySystem = class {
|
|
|
77
76
|
* @param currentTime - Current timestamp for instant penalty expiry check
|
|
78
77
|
* @returns Movement penalty with all modifiers
|
|
79
78
|
*
|
|
80
|
-
* @public
|
|
81
79
|
*/
|
|
82
80
|
calculateMovementPenalty(health, maxHealth, instantPenalty, currentTime = Date.now()) {
|
|
83
81
|
const avgLegHealth = (health.legLeft / maxHealth.legLeft + health.legRight / maxHealth.legRight) / 2;
|
|
@@ -141,7 +139,6 @@ var MovementPenaltySystem = class {
|
|
|
141
139
|
* @param movementDirection - Direction of movement (positive = right, negative = left)
|
|
142
140
|
* @returns Additional speed multiplier for asymmetric penalty
|
|
143
141
|
*
|
|
144
|
-
* @public
|
|
145
142
|
*/
|
|
146
143
|
calculateAsymmetricPenalty(health, maxHealth, movementDirection) {
|
|
147
144
|
const leftLegPercent = health.legLeft / maxHealth.legLeft;
|
|
@@ -169,7 +166,6 @@ var MovementPenaltySystem = class {
|
|
|
169
166
|
* @param currentTime - Timestamp when strike occurred
|
|
170
167
|
* @returns Instant movement penalty configuration
|
|
171
168
|
*
|
|
172
|
-
* @public
|
|
173
169
|
*/
|
|
174
170
|
createInstantPenalty(affectedPart, currentTime = Date.now()) {
|
|
175
171
|
return {
|
|
@@ -191,7 +187,6 @@ var MovementPenaltySystem = class {
|
|
|
191
187
|
* @param maxHealth - Maximum health values
|
|
192
188
|
* @returns True if player should enter vulnerable state
|
|
193
189
|
*
|
|
194
|
-
* @public
|
|
195
190
|
*/
|
|
196
191
|
shouldEnterVulnerableState(health, maxHealth) {
|
|
197
192
|
return (health.legLeft / maxHealth.legLeft + health.legRight / maxHealth.legRight) / 2 < MOVEMENT_PENALTY_CONSTANTS.THRESHOLDS.SEVERE_LIMP;
|
|
@@ -208,7 +203,6 @@ var MovementPenaltySystem = class {
|
|
|
208
203
|
* @param maxHealth - Maximum health values
|
|
209
204
|
* @returns True if player should enter helpless state
|
|
210
205
|
*
|
|
211
|
-
* @public
|
|
212
206
|
*/
|
|
213
207
|
shouldEnterHelplessState(health, maxHealth) {
|
|
214
208
|
const leftLegPercent = health.legLeft / maxHealth.legLeft;
|
|
@@ -231,7 +225,6 @@ var MovementPenaltySystem = class {
|
|
|
231
225
|
* @param currentTime - Current timestamp
|
|
232
226
|
* @returns Final movement speed with all penalties applied
|
|
233
227
|
*
|
|
234
|
-
* @public
|
|
235
228
|
*/
|
|
236
229
|
calculateModifiedSpeed(baseSpeed, health, maxHealth, movementDirection, instantPenalty, currentTime = Date.now()) {
|
|
237
230
|
const penalty = this.calculateMovementPenalty(health, maxHealth, instantPenalty, currentTime);
|
|
@@ -246,7 +239,6 @@ var MovementPenaltySystem = class {
|
|
|
246
239
|
*
|
|
247
240
|
* Provides global access to the movement penalty system throughout the game.
|
|
248
241
|
*
|
|
249
|
-
* @public
|
|
250
242
|
*/
|
|
251
243
|
var movementPenaltySystem = new MovementPenaltySystem();
|
|
252
244
|
//#endregion
|