You are viewing a potentially older version of this package. View all versions.
Azen-DangerCursor-0.2.0 icon

DangerCursor

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

By Azen
Date uploaded a month ago
Version 0.2.0
Download link Azen-DangerCursor-0.2.0.zip
Downloads 1554
Dependency string Azen-DangerCursor-0.2.0

This mod requires the following mods to function

BepInEx-BepInExPack_PEAK-5.4.2403 icon
BepInEx-BepInExPack_PEAK

BepInEx pack for PEAK. Preconfigured and ready to use.

Preferred version: 5.4.2403
PEAKModding-PEAKLib_Core-1.7.2 icon
PEAKModding-PEAKLib_Core

Core module of the PEAKLib community API.

Preferred version: 1.7.2
PEAKModding-PEAKLib_UI-1.6.1 icon
PEAKModding-PEAKLib_UI

UI module of the PEAKLib community API.

Preferred version: 1.6.1
PEAKModding-ModConfig-1.6.0 icon
PEAKModding-ModConfig

Easily configure mods inside your game.

Preferred version: 1.6.0

README

⚠️ DangerCursor

Real-time fall damage prediction for PEAK — before you jump.

DangerCursor hero

DangerCursor emulates the game's internal fall-damage math and tells you, live, whether the spot you're aiming at will injure you, knock you out, or kill you. The cursor and ping markers change color so the whole team can read a landing at a glance — no more guessing, no more surprise deaths.


Features

🎯 Physics Prediction Emulates the game's internal fall-damage logic for exact injury risk.
❤️ Health Awareness Dynamically scales risk against your current HP pool.
🎈 Balloon Support Accounts for float strength and fall-time caps.
🛡️ Invincibility Detection Detects Milk / Bing-Bong shield effects.
💀 Skeleton Mode Auto-applies the ×8 damage multiplier.
📍 Marker Prediction Ping markers show a readable danger label — 2D HUD or 3D world text.
🎛️ Fully Configurable Colors, keybinds and display — live, in-game via the MOD SETTINGS page (ModConfig).
🔁 Smart Reticle Patching Recolors every in-game reticle (climb, rope, spike, …).
Zero Lag Pre-cached GUI resources — no stutter on activation.

How To Use

Tap RMB to flash the prediction at your aim point, or hold it for a live scan. The cursor and a label show:

  • 📏 Distance to the impact point (meters)
  • 🏷️ Danger tag — INJURY / DANGER / FATAL (or just the distance on safe ground)

Ping a spot with the mouse wheel (vanilla ping) and the same prediction is drawn on the marker — visible to everyone running the mod.

What DangerCursor predicts

The label answers one specific question: "If I drop from where I am now to the spot I'm aiming at — what happens?"

  • It models the free-fall between your current position and the aim point using the game's own fall-damage math (fall time, impact velocity, HP pool, Ascents multiplier, balloons, Skeleton ×8).
  • Fatal means: this drop will push your injury past the game's pass-out threshold and you will pass out / die — by the game's own statusSum > 0.99 rule, not a guess.
  • At low HP, the same drop that was "Injury" at full HP becomes "Fatal" — because the bar to the pass-out line shrinks. That's the mod being honest about your real margin.

It does not predict: incoming hits from other sources, fall-arrest items used mid-fall, or falls where you slide down a slope and lose speed. It's a straight-drop calculator.


Danger Color System

Color Status Meaning
White Safe Below the game's injury floor — no damage.
🟡 Yellow Injury Minor damage — manageable hit.
🟠 Orange Danger Heavy damage — can pass you out at low HP.
🔴 Red Fatal Will pass you out / kill you by the game's pass-out rule.
🩵 Cyan Invincible Active Milk or Bing-Bong shield.

All colors are configurable (hex) in-game.


Visual Examples

⬜ Safe

Cursor stays white — below the game's injury floor, no damage predicted.

Safe Landing

🟡 Injury

Yellow — minor, manageable hit. Takes a sliver of HP.

Injury Warning

🟠 Danger

Orange — heavy hit. At low HP this is the band that can already pass you out.

Danger

🔴 Fatal

Red — this fall will push your injury past the pass-out line. You die.

Fatal Drop

🩵 Invincible

Cyan — Milk or Bing-Bong shield is active; the drop cannot hurt you.

Invincible


Skeleton Mode — Human vs Skeleton

Skeleton mode applies a ×8 damage multiplier to injury. The same drop that's a manageable Injury as a human becomes Fatal as a skeleton — DangerCursor accounts for this automatically, so you get the real picture either way.

Human vs Skeleton


Requirements


Configuration

Open the Pause Menu → MOD SETTINGS → Danger Cursor tab. Changes apply instantly:

  • GENERAL — toggles, marker-label mode, key rebinding (click the key button, then press a key).
  • COLORS — each color row shows a live preview swatch. Press Pick to open a Figma-style picker: hue wheel, saturation/value square, hex input, presets and an eyedropper (click a pixel on the captured game view).
  • DISPLAY — tap-flash duration, offset rows with a live fullscreen position picker, marker font size.

Settings are also stored in BepInEx/config/com.azen.dangerCursor.cfg for offline editing.


Keybinds

Key Action Configurable
Mouse 2 (RMB) Hold to activate danger prediction
Mouse wheel Place a ping marker (vanilla)
(custom) Extra ping key Ping Key

Compatibility

✅ Balloons · ✅ Invincibility (Milk / Bing-Bong) · ✅ Skeleton difficulty (×8) · ✅ All interaction reticles · ✅ PEAKLib UI / ModConfig in-game settings


Support

Report issues on the Thunderstore page or in the PEAK modding community. Feedback welcome.

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:
    • Safeinjury < 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.