Files
Viano-Core/doc/clientless/profession-intent.md
T
Nico 440c53acd7
clang PCH / build (push) Canceled after 0s
GCC PCH / build (push) Canceled after 0s
Validate profession scenes and fix native workstation and area targeting
2026-10-27 18:01:03 +01:00

4.1 KiB

Beruf (profession)

Berufsaktionen bleiben dauerhaft rein performativ. Der Bot bewegt sich mit TravelGraph und MMAP zu echten Ressourcen, Arbeitsplätzen oder Ansprechpartnern und stellt die Tätigkeit mit nativen Gesten dar. Er benutzt keine Quellen, erzeugt keine Beute, verarbeitet keine Materialien, erhöht keine Fertigkeiten, lernt nichts und heilt nicht tatsächlich.

Hauptberufe werden ausschließlich im Lua-Profil über professions.primary freigegeben. Arthoran besitzt mining und blacksmithing; das generische Profil besitzt keine Hauptberufe. Unbekannte Namen gewähren keine Berechtigung. Nebenberufe benötigen keine Hauptberufsfreigabe. Die Freigabe wird auch während einer laufenden Szene geprüft.

Der Tagesplan wählt den Intent unabhängig vom Ortsbestand. Danach wird ein geeigneter importierter Ort oder ein Gebiet ausgewählt. Erst vor Ort bestimmen reale Ziele und Profilrechte die möglichen Mikroaktionen. Eine Workshop- oder Gebietszuordnung ersetzt keinen Amboss und gewährt keine Hauptberufe.

Erz und Pflanzen werden anhand nativer Lock-Skills erkannt, nicht anhand ihrer Namen. Quellen müssen gespawnt, bereit, sichtbar und in der passenden Phase sein. Kürschnerei setzt einen vorhandenen toten, kürschnerbaren Tierkadaver voraus. Arbeitsplatzrollen stehen im editierbaren Katalog vcore_adventure_workstation. Die Migration 2026_10_27_05_adventure_profession.sql ergänzt native Fokusrollen und erkennbare Arbeitsobjekte. Amboss und Esse haben getrennte Rollen; deaktivierte Rollen und bearbeitete Gewichte bleiben bei erneuter Migration erhalten. Trainer werden anhand nativer Tradeskill- und SkillLine-Daten zugeordnet.

Eine Szene nähert sich dem Ziel über normale Navigation, zeigt die Arbeit erst nach bestätigter Ankunft, betrachtet das Ergebnis und tritt kurz zurück. Verlust von Profilrecht, Ziel oder Arbeitsplatz beendet die Darstellung. Kürzlich vollständig dargestellte Sammelziele werden über die Zielhistorie vorübergehend gemieden. Reines Erzbetrachten setzt diese Bearbeitungssperre nicht.

Gebietsaufträge reisen zu einem erreichbaren Graphknoten im Zielgebiet. Die lokale Suche nutzt fortschreitende Bodenrouten und prüft an bestätigten Wegpunkten erneut auf zulässige Arbeit. Nach abgeschlossenem Fortschritt verschiebt sich der lokale Anker. Angeln verlangt eine ausgerüstete Angel und tatsächliches nahes Wasser; es wird kein Angelzauber ausgeführt und kein Fisch gefangen.

Automatisierte Prüfungen führen den produktiven Profilparser mit Lua 5.4, die native Zielklassifikation und die Szenensteuerung mit Server-Doubles aus. Katalogfixtures prüfen Wiederholbarkeit und Erhalt bearbeiteter Einstellungen. Diese Prüfungen ersetzen nicht die visuelle Abnahme im Spiel.

Technischer Teststand am 27.10.2026

37 Clientless-Testskripte bestanden; Debug-Build mit -j10 installiert, Migration _05 auf der Test-DB angewendet. Frische Ready-Meldung, Prozess und Port 8085 geprüft. Arthoran erreichte den importierten Schmiedeort regulär über Graph, Taxi und MMAP und stellte am echten Amboss 201415 (Low 556) smithing_show dar. Work-Emote 233, Ergebnisbetrachtung und Wegtreten wurden im Serverlog bestätigt. Eine angeforderte Kräuterszene wurde zurückgewiesen. Nach saveall blieb die Geld-/Inventar-Prüfsumme unverändert.

Elwynn (poi_tele_338) wurde als Gebiet geladen, über travel_to_node samt bestehendem Free-flight-Fallback erreicht und mit INTENT_ARRIVED bestätigt. Die anschließende lokale profession_search absolvierte alle sechs progressiven MMAP-Wegpunkte mit etwa 104 Yards Ausdehnung (LEISURE_COMPLETE, legs=6). Ressourcenabbau in freier Wildbahn, weitere Berufe und die sichtbare Darstellung sind damit noch nicht live abgenommen.

Zwei im Test gefundene Fehler wurden behoben: VMAP-Sichtlinien zu unsichtbaren Arbeitsplatzmarkern prüfen jetzt die Arbeitsfläche oberhalb des Bodenmarkers; die Location-Abfrage erhält die nativen numerischen Spaltentypen, damit Debug Gebietsflag und Fraktion korrekt liest. Ein während aktiver Reise beobachteter Graph-Handover-/Recovery-Loop zu portal_at_109_target bleibt ein separater unbehobener Befund.