# MidnightHousingMap

MidnightHUD module for showing player housing plot numbers directly on the world map.

## Current state

- Adds numbered plot labels for Founder's Point and Razorwind Shores.
- Can highlight a searched plot number from the MidnightHUD options.
- Runs only while the world map is open; no tooltip scanning, no combat interaction, no hardware or web access.
- Plot coordinates are isolated in `Data.lua` and marked as approximate v1.

## Important

The first coordinate table is approximate and grouped from public plot/biome lists. When exact in-game map coordinates are captured, replace only `Modules/MidnightHousingMap/Data.lua`.

## Files

- `Data.lua` - map aliases, plot IDs and normalized map positions.
- `Core.lua` - WorldMapFrame overlay logic.

## 2026-05-11 TomTom capture

MidnightHousingMap can now listen for TomTom waypoints created by clicking a housing plot on the world map. If the waypoint title contains a plot number such as `Grundstück 22`, `Plot 22`, `Haus 22` or `House 22`, the module stores the TomTom x/y coordinates in SavedVariables under `global.housingCoords` and immediately uses them to place the map number. This makes the rough Data.lua table self-correcting while testing in game.

Useful commands:

- `/haus 22` highlights plot 22.
- Click a housing plot while TomTom is installed/enabled to auto-capture the exact coordinate.
- `/haus export` prints the collected coordinates as Lua lines for Data.lua.


## 2026-05-11 clean click-assignment update

The old approximate plot coordinates were removed from `Data.lua`. The map now starts clean and only shows plot numbers that were assigned in-game. Stored coordinates use the new SavedVariables table `MidnightHUDDB.global.housingCoordsClick`, so older rough captures in `housingCoords` are ignored.

Commands:

- `/haus set 22` arms assignment mode; the next TomTom house click or map click is saved as plot 22.
- `/haus collect` toggles free click collection; click first, then `/haus set 22`.
- `/haus wipe` clears all assigned plot numbers for the current housing map.
- `/haus export` prints the clean coordinate lines for review.

TomTom title auto-capture still works when the clicked waypoint contains a recognizable number such as `Grundstück 22`, but no prefilled/estimated numbers are drawn anymore.

## Horde map fix

The Horde housing map was not detected because the clean data table only knew `Founder's Point`. Horde characters open `Razorwind Shores` / `Klingenschluchtküste`, so `findMapData()` returned no map data and the overlay hid itself. The data table now contains a separate clean Horde entry for `Razorwind Shores`. Coordinates remain intentionally empty until assigned in game with `/haus set <number>` or captured from TomTom house clicks.

## 2026-05-12 - Default-Daten und Duplikat-Schutz

Aus der bereitgestellten `MidnightHUD.lua` wurden die gespeicherten Allianz-Plot-Koordinaten fuer `Founder's Point` als eingebaute Default-Daten uebernommen.

Wichtig:

- Frische Installationen zeigen auf der Allianz-Housing-Karte nun direkt die bekannten Nummern.
- Eigene Klicks ueberschreiben Defaults nur dann, wenn die Koordinate wirklich abweicht.
- Wenn eine geklickte Koordinate identisch zum eingebauten Default ist, wird sie nicht erneut in `MidnightHUDDB.global.housingCoordsClick` gespeichert.
- Bereits vorhandene alte Duplikate in SavedVariables werden beim normalen Refresh bereinigt, sobald sie exakt den Defaults entsprechen.
- `/haus wipe` entfernt jetzt nur noch eigene lokale Overrides; die eingebauten Standardnummern bleiben sichtbar.

Horde-Hinweis:

In der gelieferten SavedVariables-Datei war weiterhin nur `Founder's Point` vorhanden. Ein eigener Block fuer `Razorwind Shores` / `Klingenschluchtküste` war nicht enthalten. Die Horde-Karte ist im Addon erkannt und kann manuell speichern, aber feste Horde-Defaults muessen noch aus einem echten Horde-Export ergaenzt werden.

## 2026-05-12 - Horde-Defaults ergaenzt

Die neue `MidnightHUD.lua.bak` enthaelt jetzt den echten gespeicherten Block fuer `Razorwind Shores`. Diese 55 Plot-Koordinaten, Plot `0` bis `54`, wurden in `Data.lua` als eingebaute Horde-Defaults uebernommen.

Damit gilt jetzt:

- Allianz: `Founder's Point` hat eingebaute Defaults.
- Horde: `Razorwind Shores` / `Klingenschluchtkueste` hat eingebaute Defaults.
- Frische CurseForge-Installationen koennen beide Karten direkt anzeigen, sofern Blizzard denselben Karten-/Zonennamen oder einen bekannten Alias liefert.
- Klickt ein Spieler eine Position, die exakt dem eingebauten Default entspricht, wird kein doppelter SavedVariables-Eintrag angelegt.
- Lokale Abweichungen bleiben weiterhin moeglich und ueberschreiben nur beim jeweiligen Spieler den Default.
