Files
Viano-Core/doc/clientless/stormwind-mage-tower.md
T
Nico 4474714c00
GCC PCH / build (push) Canceled after 0s
clang PCH / build (push) Canceled after 0s
Support interactive object portals and document travel route recording
Bind directed portal_use edges to native GameObject spawns and spell destinations. Execute normal clicks and verify completed clientless teleports, with regression coverage. Document live portal tests, mage tower calibration, Badlands portals and transport recording workflows.
2026-10-26 14:01:42 +01:00

4.7 KiB

Sturmwind: Magierturm-Übergänge 702/704

Stand 26.10.2026. Auf dem lokalen Testserver gezielt importiert: vier aktive Portalnodes und zwei gerichtete Portalkanten. Keine Änderungen an nativen AreaTriggern, Teleportzielen oder interaktiven Rückreiseportalen.

Node Karte X Y Z Funktion
portal_at_702_source 0 -9020.670 890.104 29.6207 unterer Eingang, Anlaufpunkt
portal_at_702_target 0 -9014.940 873.326 148.616 obere Ankunft
portal_at_704_source 0 -9017.370 877.299 148.616 oberer Ausgang, Anlaufpunkt
portal_at_704_target 0 -9016.970 885.436 29.6207 untere Ankunft

Kanten: 1748 (702_source → 702_target) und 1749 (704_source → 704_target), jeweils Kosten 1, unidirektional.

Warum der reine Import nicht reicht

Die nativen Trigger sind gedrehte Boxen. Ihr Mittelpunkt liegt über dem Boden: 702 bei Z=34 mit Höhe 11, 704 bei Z=152 mit Höhe 8. Der Importer übernimmt diesen Mittelpunkt als Source-Node. MMAP konnte insbesondere den Mittelpunkt von 704 nicht erreichen; der Planer wich auf einen unvollständigen langen Laufweg aus. Der erste Test wurde deshalb gestoppt.

Nur die Graph-Anlaufhöhen wurden innerhalb der Boxen auf die jeweilige Höhe der gegenüberliegenden nativen Ankunft gesetzt. X/Y und die Zielnodes bleiben unverändert. Die tatsächliche Zugehörigkeit zum Trigger wird weiterhin mit IsInAreaTriggerRadius geprüft; anschließend laufen normaler AreaTrigger- Handler, Clientless-ACK und Zielprüfung. Keine künstliche Portalabkürzung.

Reproduktion im lokalen Testsystem:

  1. Konsole: clientless portal import 702, danach clientless portal import 704.
  2. sql/custom/world/2026_10_26_01_clientless_stormwind_mage_tower.sql auf die lokale Test-Weltdatenbank anwenden.
  3. Ingame .clientless travelreload oder sauberer Testserver-Neustart.

Ein erneuter Portalimport überschreibt die kalibrierten Anlaufhöhen. Danach die SQL-Kalibrierung erneut anwenden und den Graph neu laden. Der Bulk-Import überspringt gleichkartige Übergänge weiterhin.

Live-Verifikation

Arthoran wurde ausgeloggt und nach Sicherung seiner Ausgangsdaten am nativen oberen Ziel von 702 positioniert. Diese Ausgangsposition simuliert eine Ankunft im oberen Bereich; ein interaktives Rückreiseportal selbst wurde nicht benutzt. Während der folgenden Reisen keine Positionsmanipulation:

  • 11:51:06: oberer Ankunftspunkt → normaler MMAP-Anlauf → Trigger 704 → unten.
  • 11:51:07: untere Ankunft → normaler MMAP-Anlauf → Trigger 702 → oben.
  • 11:51:08: erneuter MMAP-Anlauf → Trigger 704 → unten.

Alle drei Übergänge: EDGE_COMPLETE, arrivalError=0.00, recovery=0. Die Kalibrierungs-SQL wurde anschließend zweimal erfolgreich angewendet; vier aktive Nodes und beide aktiven gerichteten Kanten wurden ausgelesen.

Noch fehlender Groundanschluss

Der anschließende Versuch von unten nach stormwind_gate_inner fand keinen durchgängig validierten MMAP-Weg. Nach mehreren Teilanläufen endete er TRAVEL_PARTIAL, zuletzt nach einem erneuten Übergang 702. Damit ist die Weiterreise in den bestehenden Stadtgraph noch nicht erfolgreich getestet. Es wurden keine erfundenen Groundkanten oder geraden Wege durch Geometrie angelegt. Auch eine einzelne durchgehende Reise von einer beliebigen oberen Rückportal-Ankunft zu einem Stadtziel ist noch nicht abgenommen.

Nächster Schritt: mit dem GM eine echte Laufroute ab der unteren Ankunft portal_at_704_target zu einem bestehenden erreichbaren Stadtnode aufnehmen, zum Beispiel stormwind_gate_inner:

.clientless route start portal_at_704_target stormwind_gate_inner

Am unteren Zielnode beginnen, den normalen begehbaren Weg bis zum Zielnode laufen und dort .clientless route stop ausführen. Der Recorder speichert bidirektional und lädt den Graph neu. Danach Arthoran in einem einzigen Reiseauftrag vom oberen Ankunftsbereich zum Stadtnode und zurück testen. Für den Weg hinein ist zusätzlich der Anschluss an portal_at_702_source zu prüfen; eine Aufnahme, die versehentlich durch einen Portaltrigger führt, ist kein durchgehender Groundweg.

Abschlusszustand

Keine Coreänderung, daher kein neuer Build oder Binärinstall erforderlich. Testserver einmal sauber neu gestartet; aktuelle Ready-Meldung, Prozess 44833 und Listener 8085 geprüft. Arthoran nach dem Test ausgeloggt, seine vorherige Position und das vorherige Lua-Skript wiederhergestellt. Sicherungen und Testlogs: /tmp/vcore-mage-test.ntl3z51g. Die Bestandsaufnahme same-map-portals.md/json bleibt als historischer Vorherstand erhalten; mit 702/704 sind nun vier gleichkartige Übergänge aktiv, 56 der ursprünglich 58 zusätzlich fehlenden Übergänge bleiben offen.