Player Pain Sounds
Customize the player injury and death sounds with your own audio files
模組介紹 作者原文
Player Pain Sounds Plugin
A BepInEx plugin for H3VR that replaces the default player injury and death sounds with customizable sound packs.
There is also a last stand feature for playing a dramatic sound or music when at low health. By default this health percentage is 25%.
The game must boot up at least once with a detectable OuchPack for it to be selectable from the configuration file.
Features
- Replaces both player injury and death sounds with custom sound packs
- Adds 3D impact sounds that play at the exact point of damage on the player's body
- Independent toggle to enable or disable regular pain sounds (other sounds continue to play)
- Optional overlap prevention to ensure only one pain sound plays at a time
- Support for multiple sound packs with in-game configuration menu
- Configurable volume control for all sound categories
- Runtime configuration via ConfigurationManager
- Sound selection based on damage amount:
- Low damage (≤5% max health): pain_low sounds
- Medium damage (5–20% max health): pain_default sounds
- High damage (≥20% max health): pain_high sounds
- (NEW) Plays dedicated fall pain sounds when landing hard via fall_low / fall_high categories (fall sounds disabled by default). Configuration settings exist to line up NGA's Fall Damage Mod ( settings with this mod for damage to actually register if you desire that.
- (NEW) Invincibility-aware sounds:
- invincible_pain for pain while invincible (no fallback if missing)
- invincible_impact for impacts while invincible (no fallback if missing)
- Toggle to allow fall sounds while invincible (default off)
- Last stand looping sound when health is below 25%
- Critical health alert sound when health dips below 25%
Sound Pack Structure
Required sound categories (minimum for pack to work):
- pain_default: General injury sounds
- death: Played when the player dies
Optional sound categories:
- pain_high: High damage sounds (played when damage is ≥ 20% of max health)
- pain_low: Low damage sounds (played when damage is ≤ 5% of max health)
- (NEW) fall_high: Falls from very high heights (at or above the high fall speed threshold). If missing, falls back to pain_high, then pain_default.
- (NEW) fall_low: Softer falls that still exceed the low fall speed threshold. If missing, falls back to pain_low, then pain_default.
- last_stand: Looping sound played when health is below 25% (like a heartbeat)
- critical_health: Alert sound that plays once when you go below 25% health, like the HEV suit in Half Life.
- impact_default: Default sound for any impacts against the player, the hit you receive before pain registers
- impact_bullet: For bullet and projectile impacts.
- (NEW) invincible_pain: Pain sounds used only when player is invincible
- (NEW) invincible_impact: Impact sounds used only when player is invincible
If optional pain categories are missing, the plugin will fall back to using pain_default sounds.
If optional impact categories are missing, the plugin will fall back to impact_default. If impact_default is missing, no impact sound will play.
The directory names (pain_default, death, impact_bullet, etc.) must match exactly, but the sound files themselves can be named anything as long as they are WAV or OGG files.
Packaging
When packaging your sound pack:
- Create a zip file named AuthorName-YourModName-1.0.0.zip
- Put your OuchPack folder inside a plugins folder at the root of the zip
- Include manifest.json, README.md, and icon.png at the root of the zip
Example of what your zip should contain:
AuthorName-YourModName-1.0.0.zip
├─ plugins/
│ └─ OuchPack/
│ └─ YourSoundPack/
│ ├─ pain_default/
│ │ ├─ sound1.wav
│ │ └─ sound2.ogg
│ └─ death/
│ ├─ sound1.wav
│ └─ sound2.ogg
├─ manifest.json
├─ README.md
└─ icon.png
When installed, it will be extracted to your plugins folder like this:
BepInEx/plugins/
AuthorName-YourModName/
OuchPack/
YourSoundPack/
pain_default
安裝與使用 安裝:BepInEx 外掛
- 本站下載的壓縮包就是模組本體,通常是 BepInEx 外掛(解壓後得到 .dll 或外掛資料夾)。
- 建議流程:用社群模組管理器(如 r2modman)選中本遊戲後匯入該模組,管理器會自動裝好 BepInEx 前置並處理依賴。
- 手動流程:先在遊戲目錄裝好 BepInEx 載入器,再把解壓出的 .dll 或外掛資料夾放進 BepInEx/plugins/。
- 啟動遊戲,BepInEx 控制台會列印載入日誌;確認這個模組出現在日誌裡即為安裝成功。
帶「前置依賴」的模組需要一併安裝,否則不會載入。功能開關通常在遊戲內或外掛自帶的設定檔裡調整。
下面這些內容需要先安裝,否則該模組不會生效: