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

68 lines
4.1 KiB
Markdown

# 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.