Azen-DangerCursor icon

DangerCursor

Real-time fall damage prediction โ€” cursor and ping markers change color to show danger level before you jump.

By Azen

CHANGELOG

Changelog

[0.2.0] โ€” 2026-08-05

๐Ÿ› Fixed

  • 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.
    • Injury (yellow) โ€” 0.025 โ‰ค injury < 0.25 โ€” manageable hit.
    • 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.
  • Smart reticle patching โ€” recolors all in-game reticles (climb, rope, spike, โ€ฆ).

๐Ÿ“ฆ Dependencies

  • Added PEAKModding-PEAKLib_Core 1.7.2, PEAKModding-PEAKLib_UI 1.6.1, PEAKModding-ModConfig 1.6.0.
  • BepInEx-BepInExPack_PEAK 5.4.2403.

[0.1.0] โ€” 2026-05-01

๐ŸŽ‰ Initial Release

โœจ Added

  • Real-time fall damage calculation โ€” Physics-based prediction runs live as you aim.
  • Adaptive color system โ€” Cursor color dynamically responds to your current HP pool.
  • Balloon support โ€” Correctly accounts for float strength and fall time caps when Balloons ability is active.
  • Invincibility support โ€” Detects and displays Cyan state when Milk or Bing-Bong shield is active.
  • Skeleton difficulty support โ€” Automatically applies ร—8 damage multiplier for accurate predictions in Skeleton mode.