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.
4.6 KiB
Interaktive Portale: Live-Test Dunkles Portal → Sturmwind
Implementierung und Bedienung: docs/interactive-portals.md. Stand 26.10.2026. Keine künstlichen Teleports, keine Änderungen an nativen GameObject- oder Zauberdefinitionen.
Erfolgreicher Teststandort
| Merkmal | Wert |
|---|---|
| GameObject-Spawn | 170 |
| Entry / Name | 195139 / Portal to Stormwind |
| Standort | Scherbenweltseite beim Dunklen Portal |
| Quelle | Karte 530, (-337.492, 962.619, 54.2885) |
| Nativer Zauber | 17334, Teleporteffekt 0 mit TARGET_DEST_DB |
| Ziel | Karte 0, (-8998.140, 861.254, 29.6206), Orientierung 2.25 |
| Nodes | portal_go_170_source → portal_go_170_target |
| Kante | 1755, portal_use, Kosten 1, unidirektional |
Gezielt importiert mit clientless portal object import 170. Arthoran
(GUID 26) begann ausgeloggt acht Yards vor der nativen Objektposition; nach
Login erhielt er einen normalen Reiseauftrag zum Zielnode. Während der Reise
keine Positionsmanipulation:
- 13:28:36: MMAP-Anlauf, 8 Yards, vollständiger Pfad.
- 13:28:38: Source erreicht; normaler CMSG_GAMEOBJ_USE-Handler für Spawn 170.
- 13:28:39:
EDGE_COMPLETE,edgeType='portal_use', Karte 0,arrivalError=0.00,recovery=0, anschließend regulärer Reiseabschluss.
Das bestätigt serverseitig Anlauf, Objektbenutzung, nativen Portalzauber, Far-Teleport mit Clientless-ACK und Ankunft. Visuelle Ingame-Abnahme durch den Nutzer steht aus. Keine Rückrichtung erfunden, keine Groundanschlüsse aufgenommen und keine NPC-/Gossip-Portale als unterstützt behauptet.
Untersuchte Shattrath-Verbindung
Erster Kandidat: Spawn 83, Entry 183325, Shattrath Portal to Stormwind,
gleicher Zauber 17334, Quelle (-1894.190, 5387.940, -12.4283) auf Karte 530.
Das native Zauberziel ist identisch zum erfolgreichen zweiten Standort.
Der Klick erreichte die normale native Zauberausführung, aber die Effekte
wurden in Spell::AddUnitTarget nach CheckEffectTarget verworfen. Die
zusätzliche Diagnose zeigte resolved=1 für Arthoran und no effects after target/LOS checks für beide Effekte. Bei diesen Effekten ist dort die native
Sichtlinienprüfung maßgeblich. Das trat an der Objektmitte und drei Yards davor
auf. Der genaue geometrische Grund wurde nicht geändert oder abschließend
vermessen. Die temporäre Zauberdiagnose wurde nach der Untersuchung entfernt.
Der Versuch scheiterte sowohl bei Level 20 als auch bei Level 60; niedriges
Level erklärt diesen Befund daher nicht. Die Erhöhung auf Level 60 erfolgte
mit dem konsolenfähigen nativen Befehl character level Arthoran 60 im Rahmen
der Nutzerfreigabe. .levelup ist in dieser Core-Kommandotabelle ingame-only.
Die erfolglose experimentelle Kante 1752 sowie ihre beiden Graphnodes und Weltpunkte sind jetzt deaktiviert. Ihre Definition bleibt zur Diagnose erhalten. Der veränderte Graph-Anlaufpunkt liegt bei X=-1897.190; native GO-Position und Zauberdaten sind unverändert. Beim Wiederholungsimport bleiben Anlaufposition und Deaktivierung erhalten. Der native Standort muss vor einer späteren Freigabe gesondert geprüft werden.
Import- und Fehlertests
- Wiederholter Import: keine zusätzlichen Nodes/Kanten; bestehende Koordinaten und enabled-Flags werden nicht überschrieben.
- Fehlgeschlagene native Ausführung: nach 10 Sekunden korrekt
Failed, kein behaupteter Reiseerfolg und kein Ersatzteleport. - Shattrath → Quel’Danas, Spawn 47196 / Zauber 44876: Import sauber vor dem Anlegen von Nodes abgewiesen; Zauberkette statt direktem DB-Teleport.
- Automatisierte Tests führen Produktionsmethoden mit Core-Doubles aus: direkte Zielauflösung, Objektprüfung, Klick, Near/Far/globaler ACK, Ablehnung, Timeout, falsches Ziel und ACK-Sequenzzähler.
- Bestehende Portal-, Transport-, Grid-, Lua-Reload- und Taxi-Importer-Tests bestanden ebenfalls.
Build und Installation bestanden. Die tatsächlichen Portalversuche wurden
mit installiertem Code ausgeführt. Anschließend wurde der endgültige Stand
ohne zusätzliche temporäre Zauberdiagnose gebaut und installiert. Finale
Build-ID: 613c4236bce2212d49788e771b66f490b617d8ca.
Der letzte Start wurde anhand seiner vollständigen frischen Konsole geprüft: Ready-Meldung vorhanden, keine kritischen Startfehler im geprüften Output, Prozess 53332 läuft und Port 8085 lauscht. Keine weiteren Botaufträge beim finalen Start. Der ursprüngliche Loglevel gilt wieder.
Arthoran wurde nach dem Test ausgeloggt. Ausgangsposition, Zone und Lua sind
wiederhergestellt; das freigegebene Level 60 bleibt erhalten. Vorherdaten,
Diagnose und Testlogs liegen in /tmp/vcore-interactive-portal.8vfrq7g2.