# HeliHeal

<p align="center">
  <img src="Media/HeliHealLogo.png" alt="HeliHeal" width="320">
</p>

HeliHeal is a lightweight, input-driven healing priority tracker for **World of Warcraft: Midnight 12.1**. It presents up to five recommended abilities in a movable, Hekili-inspired icon strip.

> HeliHeal is currently an **Alpha release** intended for testing.

## Features

- Restoration Shaman and Restoration Druid priority packs
- Separate Mythic+ and Raid presets
- Standard, AoE, Single Target and Mana Saving modes
- Keyboard, modifier, mouse-button and mouse-wheel bindings
- Mouse-button support over unit and raid frames
- Successful-cast confirmation and live GCD locking
- Local cooldown, charge and HoT estimates
- Movable, scalable and customizable display
- Persistent AceDB profiles
- One-time What's New popup and local update history
- Selectable Client Language, German or English UI with client-localized spell names

## Supported builds

| Class | Hero talents | Content |
|---|---|---|
| Restoration Shaman | Totemic, Farseer | Mythic+, Raid |
| Restoration Druid | Wildstalker, Keeper of the Grove | Mythic+, Raid |

## Installation

1. Download the latest ZIP from [GitHub Releases](https://github.com/bySenom/HeliHeal/releases).
2. Extract the `HeliHeal` folder into `World of Warcraft/_retail_/Interface/AddOns/`.
3. Enable HeliHeal at character selection.
4. Open the settings with `/hh`.
5. Select a preset and assign the same hotkeys used on your action bars.

## How it works

HeliHeal observes configured action-bar and physical mouse inputs without replacing Blizzard's protected input handling. A recommendation advances only after Blizzard confirms that the expected player spell succeeded. Failed, interrupted or unmatched inputs do not consume it.

Class mechanics such as Healing Stream charges, Stormstream uses, Riptide recharge and Rejuvenation coverage are simulated locally from confirmed casts and an out-of-combat talent snapshot.

## Commands

| Command | Description |
|---|---|
| `/hh` | Open settings |
| `/hh lock` | Lock or unlock the display |
| `/hh mode standard\|aoe\|single\|mana` | Change healing mode |
| `/hh talents` | Show detected talents |
| `/hh sync` | Reconcile local estimates outside combat |
| `/hh reset` | Reset local timers and charges |
| `/hh debug` | Print a compact diagnostic report |
| `/hh changelog` | Open the in-game update history |

## Limitations

HeliHeal does not inspect health, mana, targets, auras, range, healing results, combat logs or SecretValues. It cannot automatically know when raid damage is incoming or whether a HoT was refreshed on the same target. Displayed cooldowns, charges and HoT counts remain local estimates.

## Feedback

Please report reproducible bugs and suggestions through [GitHub Issues](https://github.com/bySenom/HeliHeal/issues).
Use the [Beta Test Checklist](BETA_TESTING.md) for structured in-game verification.

HeliHeal is available under the [MIT License](LICENSE). Embedded Ace3 libraries retain their upstream license.
