LowHealthChallenge
【Host Only MOD】Challenge mod that sets all players' max health to low HP values of 100 or less.参加者全員の最大体力を100以下の低HP設定するチャレンジ用MOD
By REPO_JP
| Last updated | 2 days ago |
| Total downloads | 129 |
| Total rating | 1 |
| Categories | Mods Upgrades Server-side |
| Dependency string | REPO_JP-LowHealthChallenge-1.0.1 |
| Dependants | 0 other packages depend on this package |
This mod requires the following mods to function
BepInEx-BepInExPack
BepInEx pack for Mono Unity games. Preconfigured and ready to use.
Preferred version: 5.4.2100README
LowHealthChallenge
LowHealthChallenge is a challenge mod that sets all players' maximum health to low HP values of 100 or less.
You can choose a target health value from 0 to 100, and the mod will automatically convert it to the nearest supported tier: 0, 20, 40, 60, 80, or 100.
Examples:
- 22 becomes 20
- 78 becomes 80
- 90 becomes 100
This makes it easy to run low-health challenge rooms without manually managing each player.
The mod also prevents Health Upgrade items from appearing at all. They are removed from shop candidates, blocked from normal item availability, and cleaned up if they somehow appear in the world. This keeps the challenge rules consistent for the entire run.
Known limitation
If you change the max health setting during an active run, other clients may not see their updated max health immediately. In practice, participant max health may not fully update until a load transition happens, such as moving to the next level or another scene.
Host commands
/hpset <value>- Sets the target health
- Example:
/hpset 22
/hpnow- Shows the current configured health, rounded health, and internal applied tier
/hpreset- Resets the target health to 100
How it plays
- Everyone in the lobby is forced to the same health limit
- New joiners are automatically forced to the same limit
- After level changes, the same health limit is applied again
- If current HP is already below the new maximum, it stays as-is
- If current HP is above the new maximum, it is reduced to the new maximum
- If you change the health setting mid-run, participant-side max health may not fully refresh until a load transition occurs
This is especially useful for:
- low HP challenge runs
- high-risk event rooms
- fixed difficulty challenge rooms
- testing enemy setups under reduced survivability
Settings
General
EnableMod
- Description: Enable or disable the mod
- Default:
true
Health
TargetHealth
- Description: Requested health value from 0 to 100. The mod rewrites this to the nearest valid tier
- Default:
40 - Minimum input:
0 - Maximum input:
100 - Actual applied values:
0,20,40,60,80,100
Health Upgrade Blocking
BlockHealthUpgradeInShop
- Description: Removes Health Upgrade from shop candidate generation
- Default:
true
BlockHealthUpgradeInWorld
- Description: Disables Health Upgrade entries from the world item dictionary
- Default:
true
DestroyExistingHealthUpgradeItems
- Description: Periodically searches for spawned Health Upgrade items and destroys them
- Default:
true
ReapplyHealthOverrideIfChanged
- Description: Periodically reapplies the fixed health rule if another system changes it
- Default:
false
Debug
LogRoundedResult
- Description: Writes requested value, rounded value, and applied internal tier to the log
- Default:
true
Details
Internally, the mod treats the rounded health tier as the only valid value. Both command input and direct config edits are normalized to the same final tier, and the config is rewritten to that rounded value.
The health normalization rule is:
- Clamp input to 0 through 100
- Round to the nearest value in
0 / 20 / 40 / 60 / 80 / 100 - If the input is exactly between two valid tiers, round upward
Applied examples:
10becomes2030becomes4050becomes6070becomes8090becomes100
The mod then applies the corresponding fixed max health to all active players on the host side and updates current HP with this rule:
- If current HP is greater than the new maximum, it is clamped down to the new maximum
- If current HP is already below the new maximum, it is preserved
To keep the fixed-health rule stable, the mod uses multiple layers of Health Upgrade blocking:
- removes the item from shop upgrade candidate lists
- disables Health Upgrade entries in the item dictionary
- destroys any spawned Health Upgrade item found in the world
- optionally reapplies fixed health on a timed loop if another system changes it
The mod also reapplies the fixed health tier:
- when StatsManager starts
- when players join later
- after level changes
Current limitation:
- changing the target max health during an active run does not always refresh participant-side max health immediately
- in those cases, the updated max health is reliably reflected after a load transition
Because the rule is host-driven, this mod is intended to be installed by the room host only.
LowHealthChallenge
LowHealthChallenge は、参加者全員の最大体力を100以下の低HP設定にするチャレンジ用MODです。
体力設定値は 0 から 100 まで指定できますが、実際には次のいずれかに自動補正されます。 0、20、40、60、80、100
例
- 22 は 20 になります
- 78 は 80 になります
- 90 は 100 になります
これにより、プレイヤーごとのアップグレード状況に左右されず、低HP縛り部屋を簡単に作れます。
また、このMODでは Health Upgrade が一切出現しないようにしています。 ショップ候補から除外し、通常出現側も無効化し、もしワールド上に出現しても削除します。 そのため、ラン中にルールが崩れません。
既知の注意点
ランの途中で最大体力設定値を変更しても、参加者側の最大体力はその場では完全に更新されない場合があります。 その場合、次のレベル移動やシーン切り替えなど、ロードを挟んだ後に反映されます。
ホストコマンド
/hpset <数値>- 体力設定値を変更
- 例:
/hpset 22
/hpnow- 現在の設定値、丸め後の値、内部適用値を表示
/hpreset- 体力設定値を 100 に戻す
ゲームプレイ上の挙動
- 部屋にいる全員が同じ体力制限になります
- 途中参加者にも同じ制限が自動適用されます
- レベル切り替え後も同じ制限が再適用されます
- 現在の体力が新しい最大値より低い場合は、そのまま維持します
- 現在の体力が新しい最大値より高い場合は、新しい最大値まで下がります
- 途中で体力設定を変更した場合、参加者側の最大体力反映はロード後になる場合があります
向いている用途
- 低HP縛りプレイ
- 高リスクなイベント部屋
- 固定難易度のチャレンジ部屋
- 敵構成検証や耐久検証
設定項目
General
EnableMod
- 設定内容: MODの有効無効
- 初期値:
true
Health
TargetHealth
- 設定内容: 0 から 100 の体力設定値。実際には最も近い有効段階へ自動補正されます
- 初期値:
40 - 設定可能最小値:
0 - 設定可能最大値:
100 - 実際に適用される値:
0,20,40,60,80,100
Health Upgrade Blocking
BlockHealthUpgradeInShop
- 設定内容: ショップ候補から Health Upgrade を除外
- 初期値:
true
BlockHealthUpgradeInWorld
- 設定内容: ワールド側のアイテム辞書で Health Upgrade を無効化
- 初期値:
true
DestroyExistingHealthUpgradeItems
- 設定内容: すでに出現した Health Upgrade を定期的に探して削除
- 初期値:
true
ReapplyHealthOverrideIfChanged
- 設定内容: 他の要因で体力固定が崩れた時に定期的に再適用
- 初期値:
false
Debug
LogRoundedResult
- 設定内容: 入力値、丸め後の値、内部適用値をログ出力
- 初期値:
true
詳細
内部的には、丸め後の体力段階だけを正式な設定値として扱います。 コマンド入力でも Config 直接編集でも、最終的には同じ丸め後の値に統一され、Config もその値へ書き戻されます。
体力値の正規化ルールは以下です。
- まず 0 から 100 に収める
- その後
0 / 20 / 40 / 60 / 80 / 100の最近傍へ丸める - ちょうど中間なら大きい方へ丸める
適用例
10は2030は4050は6070は8090は100
その後、ホスト側で全プレイヤーへ固定体力を適用し、現在HPは次のルールで更新します。
- 現在HPが新しい最大値より大きい場合は、新しい最大値まで下げる
- 現在HPが新しい最大値以下の場合は、そのまま維持する
固定体力ルールを崩さないために、このMODは複数段の Health Upgrade 対策を行います。
- ショップのアップグレード候補から除外
- アイテム辞書側で無効化
- ワールド上に出現したものを削除
- 必要に応じて固定体力を再適用
再適用タイミング
- StatsManager 開始時
- 途中参加者の参加時
- レベル切り替え後
現状の制限
- ラン途中で最大体力設定値を変更しても、参加者側の最大体力はその場では更新されない場合があります
- その場合は、次のレベル移動やシーン切り替えなど、ロードを挟んだ後に反映されます
ルール適用はホスト主導で進むため、このMODはホストのみ導入を前提としています。