Rebuilt danger thresholds on the game's actual pass-out rule. Previously DANGER/FATAL used static 0.45/0.95 fractions of remaining HP, so a "DANGER" fall could still pass you out โ the user died on a "DANGER" label. Fall classification now mirrors the game exactly:
Safe โ injury < 0.025 (below the game's "ignore injury" floor, CharacterMovement.CheckFallDamage :517 / CharacterAfflictions cap rules) โ no status is added.
Danger (orange) โ 0.25 โค injury < 0.99 โ statusSum โ heavy and lethal at low HP.
Fatal (red) โ injury โฅ 0.99 โ statusSum โ this fall pushes statusSum over the game's pass-out threshold (shouldPassOut, CharacterAfflictions.cs:180) and you pass out / die. The threshold collapses as your HP drops, so a small fall at low HP is flagged Fatal, exactly as the user expected ("100% โ any hit under 25% is yellow; at 25% HP it's already fatal").
Skeleton / custom-run prediction now matches the game. Removed an incorrect รท Ascents.etcDamageMultiplier step in FallPredictor. The game divides by etcDamageMultiplier in CharacterMovement.CheckFallDamage but re-multiplies it inside AddStatus(Injury, โฆ) ( Injury qualifies for StatusAffectedByDifficultyMod). For Injury the two cancel โ keeping the divide made the mod under-predict by exactly etcDamageMultiplier, which on custom runs with EtcDamage > 1 showed a Safe / Injury label on falls that actually knock you out โ especially lethal in Skeleton mode (ร8). Now the formula is min(factor, maxVelDmg) ร Ascents.fallDamageMultiplier ร (skeleton ? 8 : 1), matching the game's effective injury status.
โจ Added
Ping marker prediction labels โ every ping marker now shows the fall-damage prediction (INJURY / DANGER / FATAL) for the local player, so the whole team can read a landing spot's danger at a glance.
2D / 3D marker label modes โ labels render on the HUD (Screen2D, default) or as world-space text at the marker (World3D).
Extra ping keybind โ bind any key to place a ping at your aim point (vanilla ping is the mouse wheel).
In-game settings via ModConfig / Peak.UI โ all settings are editable under MOD SETTINGS โ Danger Cursor: colors, keybinds, display options, toggles. Keybinds get a rebind UI under MOD CONTROLS.
Rich color pickers โ each color row has a live preview swatch; Pick opens a Figma-style picker: hue color wheel, saturation/value square, live preview, hex input, preset swatches, and an eyedropper over a fullscreen game screenshot.
Live offset picker โ clicking the offset row opens a fullscreen screenshot of the game with a crosshair at the aim/marker anchor and a draggable sample label; a connector line and live X/Y readout show exactly where text will land. Reset restores the default offset.
Tap-flash prediction โ a single click of the cursor key flashes the prediction for Tap Flash Duration (default 1.5s); holding keeps a live scan. The label is always visible while active (safe spots show the distance or SAFE).
Always-on marker text โ ping markers now show a label even on safe spots (the fall distance, or SAFE when Show Distance is off).
Dark text outline โ all labels (cursor and markers) render with a dark outline so white text stays readable over bright surfaces like water.
๐ง Changed
Prediction tuning is automatic โ the manual Prediction config section was removed. Fall-damage math now uses fixed constants that already adapt to the run difficulty (Ascents multipliers), so old thresholds are gone from the config file.
Cursor label repositioned โ default offset moved below the aim point (10, -32) so it no longer overlaps the crosshair. Existing configs keep their values; update Cursor Label Offset X/Y if you want the old spot back.
Prediction math refactored โ shared FallPredictor used by both the cursor scanner and marker labels.
Cursor activation honors the configurable Cursor Key (default: Right Mouse Button).
Reliable cursor rendering โ the label now uses screen-space TextMeshProUGUI on the HUD canvas (same system that powers ping marker labels) with its own CursorLabel MonoBehaviour update loop, replacing the unreliable legacy OnGUI path.
3D marker text auto-sizes with distance and keeps billboarding toward the player.