Files
Viano-Core/doc/clientless/interactive-portals.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.6 KiB
Raw Blame History

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.