Add AdventureBot self-care, supply restocking and secondary professions
This commit is contained in:
1 parent
c0c799c4b6
commit
39a515dbd1
18 files changed
+889
-3
No files matched your search
@@ -1,3 +1,62 @@
|
||||
# Aktuell: Selbstversorgung und gemeinsame Nebenberufe abgeschlossen
|
||||
|
||||
Stand 27.10.2026. Branch feature/clientless-player-core, vorheriger Commit
|
||||
c0c799c4b6. Nutzer hat den lokalen Commit der Selbstversorgung beauftragt; kein Push.
|
||||
Debug-Build -j10 erfolgreich installiert, alle 55 Testskripte bestanden.
|
||||
Testserver PID 49765 läuft; frisches Ready und Port 8085 bestätigt.
|
||||
|
||||
AdventureSupplyMgr/Policy versorgt AdventureBots zu Tagesbeginn und nach
|
||||
Kampfende bis zu jeweils einem nativen Stack: Verbände, Heil-/Manatränke,
|
||||
Essen und Trinken. Vier Glutseidenstofftaschen54443 mit je22 Plätzen ergänzen
|
||||
Arthoran. Alte Gegenstände blieben erhalten, Geld weiterhin0.
|
||||
Migration world10 und characters01 angewendet und trotz SQL-Ignore gezielt
|
||||
vorgemerkt. Persistierter Tagesstempel verhindert Nachschub bei jedem Login.
|
||||
|
||||
Nutzerregeln umgesetzt: Selbstheilung beginnt erst bei mindestens10% fehlenden
|
||||
HP. Außerhalb des Kampfes zuerst ein nutzbarer Verband; bei Sperre direkt Essen,
|
||||
nach Verband Essen nur bei weiter mindestens10% Mangel. Mananutzer trinken bei
|
||||
passendem Mangel. Im Kampf nur native Tränke. Echte Item-Anfragen, Verbrauch,
|
||||
Abklingzeiten und Verbandssperre; keine direkte HP/Mana-Zuweisung außer dem
|
||||
expliziten Diagnosebefehl testrecovery. Intents behalten ihre ursprüngliche Frist.
|
||||
|
||||
Auf ausdrücklichen Nutzerwunsch erhalten alle AdventureBots die stufengerecht
|
||||
verfügbaren Nebenberufe Erste Hilfe, Kochen, Angeln und Archäologie, innerhalb
|
||||
nativer Traineranforderungen und Fertigkeitsgrenzen. Keine Hauptberufe geändert.
|
||||
Arthoran gespeichert: ErsteHilfe375/375, Kochen525/525, Angeln525/525,
|
||||
Archäologie375/375. Er verwendet schwere Netherstoffverbände21991.
|
||||
Native Trainer erlauben Kochen/Angeln525 bei diesem Charakter.
|
||||
|
||||
Notwendige native Fehlerkorrektur: Player::GetPureMaxSkillValue hatte eine
|
||||
invertierte Prüfung und lieferte für gelernte Fertigkeiten null. Fehlendes !
|
||||
korrigiert, eigener nativer Regressionstest vorhanden. Nebenberufsausbildung
|
||||
berücksichtigt sowohl Skill-Effekt118 als auch den nativen Lerneffekt44.
|
||||
|
||||
Live bestätigt:
|
||||
- Vier22er-Taschen und alle fünf Stacks20, vorhandene Item-GUIDs erhalten.
|
||||
- Markierte8%-Testverletzung: kein Verbrauch.
|
||||
- Markierte80%-Testverletzung: echter Verbandverbrauch, danach4961/5249HP;
|
||||
weniger als10% fehlend, daher kein Essen.
|
||||
- Erneute Testverletzung bei nativer Verbandssperre: echtes Essen, volleHP.
|
||||
- Gleicher Tagesstempel beim erneuten Login: Verband19/Essen19 bleiben bestehen,
|
||||
kein weiterer Tagesnachschub.
|
||||
- Echter Bärenkampf gegen Spawn300425 mit markiertem anfänglichem30%-Defizit:
|
||||
Heiltrank22829 im Kampf verbraucht. Danach exakt je ein Verband, Heiltrank
|
||||
und Essen ergänzt; alle fünf Bestände20. GespeichertHP5249, Geld0.
|
||||
- Manaspezifisches Verhalten produktiv mit Adaptern geprüft, nicht mit echtem
|
||||
Manacharakter. Administrative Testpositionierung ist kein Fernreisebeleg.
|
||||
|
||||
Arthoran bleibt angemeldet in den Verwüsteten Landen am Bären-Testplatz,
|
||||
reagiert auf Gegner und versorgt sich selbst. Normales Lua-Profil bytegleich
|
||||
restauriert; kein temporärer Override. Dokumentation: doc/clientless/supplies.md.
|
||||
Belege: doc/clientless/checkpoints/2026-10-27-supplies/.
|
||||
Logs: /tmp/vcore-supplies-build-final.log und /tmp/vcore-supplies-tests-final.log.
|
||||
DB-Helfer /tmp/vcore-instance-db.py supplies_audit. Diagnose:
|
||||
clientless combat supplies26, testrecovery26<fehlende-Prozent1..80>.
|
||||
Die bisherigen Server-/Branchregeln und vertagte Pfadfindungsarbeit gelten weiter.
|
||||
|
||||
|
||||
---
|
||||
|
||||
# Aktuell: Training, echte Gegner und Todesverhalten abgeschlossen
|
||||
|
||||
Stand 27.10.2026. Auf feature/clientless-player-core bleiben alle bisherigen
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
TrinityCore rev. c0c799c4b686+ 2026-10-27 23:17:05 +0100 (feature/clientless-player-core branch) (Unix, Debug, Static) (worldserver-daemon) ready...
|
||||
SUPPLY_SECONDARY guid=26 skill=356 value=525 max=525
|
||||
SUPPLY_SECONDARY guid=26 skill=794 value=375 max=375
|
||||
SUPPLY_SECONDARY guid=26 skill=129 value=375 max=375
|
||||
SUPPLY_SECONDARY guid=26 skill=185 value=525 max=525
|
||||
SUPPLY_TEST_INJURY guid=26 missingPercent=8
|
||||
SUPPLY_TEST_INJURY guid=26 missingPercent=80
|
||||
SUPPLY_USE_REQUEST guid=26 role='bandage' item=21991 spell=27031 combat=0
|
||||
SUPPLY_USED guid=26 role='bandage' item=21991
|
||||
SUPPLY_RECOVERY_END guid=26 health=4961
|
||||
SUPPLY_TEST_INJURY guid=26 missingPercent=30
|
||||
SUPPLY_USE_REQUEST guid=26 role='bandage' item=21991 spell=27031 combat=0
|
||||
SUPPLY_USE_REQUEST guid=26 role='food' item=27854 spell=27094 combat=0
|
||||
SUPPLY_USED guid=26 role='food' item=27854
|
||||
SUPPLY_RECOVERY_END guid=26 health=5249
|
||||
SUPPLY_TEST_INJURY guid=26 missingPercent=30
|
||||
COMBAT_START guid=26 target='GUID Full: 0xf130a56000000b1c Type: Creature Entry: 42336 Low: 2844' training=0 defending=0 until=0
|
||||
COMBAT_END guid=26 target='GUID Full: 0xf130a56000000b1c Type: Creature Entry: 42336 Low: 2844' training=0
|
||||
COMBAT_START guid=26 target='GUID Full: 0xf130a56000000b1c Type: Creature Entry: 42336 Low: 2844' training=0 defending=1 until=0
|
||||
SUPPLY_USE_REQUEST guid=26 role='healing_potion' item=22829 spell=28495 combat=1
|
||||
SUPPLY_USED guid=26 role='healing_potion' item=22829
|
||||
COMBAT_END guid=26 target='GUID Full: 0xf130a56000000b1c Type: Creature Entry: 42336 Low: 2844' training=0
|
||||
SUPPLY_TOPUP guid=26 role='bandage' item=21991 added=1 stack=20
|
||||
SUPPLY_TOPUP guid=26 role='healing_potion' item=22829 added=1 stack=20
|
||||
SUPPLY_TOPUP guid=26 role='food' item=27854 added=1 stack=20
|
||||
SUPPLY_RESTOCK guid=26 day=20261027 daily=0 afterCombat=1
|
||||
@@ -0,0 +1,11 @@
|
||||
Debug build -j10 installed;55 tests/clientless scripts passed.
|
||||
Native skill getter corrected and regression-tested.
|
||||
Arthoran native skill values: FirstAid375/375, Cooking525/525, Fishing525/525, Archaeology375/375. Trainer requirements permit these ranks at level60.
|
||||
Four new EmbersilkBags54443,22 slots each. Existing equipment/items preserved.
|
||||
Each supply role initially20; bandage21991, healing22829, mana22832, food27854, drink28399. Money0 unchanged.
|
||||
Marked8% injury: no supply use. Marked80% injury: real heavy netherweave bandage consumed; remainingHP4961/5249, no food because deficit<10%.
|
||||
Marked30% injury with native bandage lockout: food consumed, HP5249/5249.
|
||||
Same-day relog: bandage19/food19 remained; no daily topup.
|
||||
Real bear fight with marked initial30% deficit: healing potion consumed in combat. After native combat exit, exactly1 bandage,1 healing potion,1 food replenished to20 each; no duplicate stacks.
|
||||
Mana-specific behavior tested with production adapters, not a live mana-using character.
|
||||
Isolated test positions set administratively offline; no long-distance travel claim.
|
||||
@@ -0,0 +1,81 @@
|
||||
# Selbstversorgung und Nebenberufe
|
||||
|
||||
AdventureBots erhalten bei Tagesbeginn und nach einem tatsächlich beendeten
|
||||
Kampf passende Vorräte. Es werden vorhandene Bestände bis zu einem nativen
|
||||
vollen Stack ergänzt, keine zusätzlichen Stacks angesammelt. Fünf Rollen:
|
||||
Verbände, Heiltränke, Manatränke, Essen und Trinken. Die erlaubte kostenfreie
|
||||
Beschaffung verwendet die native Gegenstandserzeugung und Inventarverwaltung.
|
||||
Ein persistenter Tagesstempel verhindert erneute Tagesausgaben bei jedem Login.
|
||||
Bei sehr niedrigen Stufen gibt es noch keinen nutzbaren Manatrank; andere
|
||||
Vorräte werden trotzdem aufgefüllt. Bei Platzmangel wird später erneut versucht,
|
||||
ohne vorhandene Gegenstände zu verwerfen.
|
||||
|
||||
Vier Glutseidenstofftaschen (Item 54443, je 22 Plätze) ergänzen leere Taschenslots.
|
||||
Kleinere Taschen werden über den nativen Taschentausch mit Inhaltserhaltung
|
||||
ersetzt. Bereits mindestens gleich große Taschen bleiben erhalten. Alte Taschen
|
||||
und sonstige Gegenstände werden nicht gelöscht.
|
||||
|
||||
Alle AdventureBots erhalten die stufengerecht verfügbaren Ränge von Erste Hilfe,
|
||||
Kochen, Angeln und Archäologie. Lehrzauber und Mindeststufen stammen aus den
|
||||
nativen Trainerdaten, Skillstufen und Maxima aus der nativen Lernlogik. Fertigkeiten
|
||||
werden innerhalb dieser Grenzen aufgefüllt. Das vergibt keine Hauptberufe und
|
||||
ändert deren bestehende Profilfreigaben nicht. Zusätzliche Rezepte werden nur
|
||||
insoweit gelernt, wie es die native automatische Fertigkeitsbelohnung vorsieht.
|
||||
|
||||
Die Benutzung bleibt echt: native Item-Zauberanfragen mit tatsächlicher Tasche,
|
||||
Slot und Item-GUID, Selbstziel, Benutzungsvoraussetzungen, Abklingzeiten,
|
||||
Verbandssperre und Gegenstandsverbrauch. Keine direkten HP-/Mana-Zuweisungen
|
||||
im Versorgungsablauf, kein Zurücksetzen von Cooldowns. Ein gesondert markierter
|
||||
Diagnosebefehl kann für Tests einen HP-Mangel herstellen.
|
||||
|
||||
## Heilungsreihenfolge
|
||||
|
||||
- Unter 10 Prozent fehlenden HP beginnt keine Selbstheilung.
|
||||
- Außerhalb des Kampfes zuerst einen tatsächlich nutzbaren Verband versuchen.
|
||||
Eine laufende andere Zauberaktion oder globale Abklingzeit zählt nicht bereits
|
||||
als fehlgeschlagener Verbandversuch.
|
||||
- Nach dem Verband nur bei weiterhin mindestens 10 Prozent fehlenden HP essen.
|
||||
Ist kein Verband erlaubt, direkt Essen versuchen.
|
||||
- Eine bereits begonnene Mahlzeit darf bis zur vollständigen Auffrischung laufen.
|
||||
- Bei Mananutzern und mindestens 10 Prozent fehlendem Mana trinken; Krieger
|
||||
benutzen weder Wasser noch Manatränke.
|
||||
- Im Kampf nur native Heil-/Manatränke verwenden, bei mindestens 10 Prozent
|
||||
fehlender passender Ressource. HP hat bei gleichzeitigem Mangel Vorrang.
|
||||
Gemeinsame native Trank-Cooldowns und Kampfbegrenzungen bleiben wirksam.
|
||||
- Eingehender Kampf unterbricht eine eigene Erholung. Selbstverteidigung, Tod
|
||||
und Transport erhalten Vorrang. Der ursprüngliche Intent wird danach mit
|
||||
unveränderter Endzeit fortgesetzt.
|
||||
|
||||
## Daten und Diagnose
|
||||
|
||||
Migrationen:
|
||||
`world/2026_10_27_10_adventure_supplies.sql` und
|
||||
`characters/2026_10_27_01_adventure_supplies.sql` unter `sql/custom/`.
|
||||
Der editierbare Katalog enthält ausdrückliche Rollen und Stufenschwellen;
|
||||
native Item-Voraussetzungen bleiben maßgeblich. Bei Verbänden wird der beste
|
||||
bereits nutzbare Rang bevorzugt. Wiederholte Migrationen erhalten Änderungen.
|
||||
|
||||
`clientless combat supplies <guid>` zeigt Fertigkeiten, ausgewählte Vorräte,
|
||||
Bestände und Taschen. `clientless combat testrecovery <guid> <fehlende-Prozent>`
|
||||
erzeugt ausschließlich bei einem lebenden, kampffreien verwalteten Bot eine
|
||||
markierte Testverletzung (1–80 Prozent). Das ersetzt keinen echten Schadensfall.
|
||||
|
||||
Automatisierte Prüfung: 55 Testskripte erfolgreich, einschließlich produktiver
|
||||
Erholungssteuerung, exakter Zehn-Prozent-Grenze, nutzbarer Verbandränge, nativer
|
||||
Item-Anfragen, Tagesstempel und stufengerechter Nebenberufsgrenzen.
|
||||
Live erfolgreich geprüft: vier Glutseidenstofftaschen, Erste Hilfe375 und
|
||||
schwere Netherstoffverbände, alle vier Nebenberufe, erhaltene Altgegenstände und
|
||||
Geld0. Bei8%Testdefizit kein Verbrauch; bei80% zuerst ein tatsächlich verbrauchter
|
||||
Verband. Anschließend weniger als10%HP fehlend, daher kein Essen. Bei erneuter
|
||||
Testverletzung mit nativer Verbandssperre echtes Essen bis5249/5249HP.
|
||||
Gleicher Tagesstempel beim erneuten Login: keine neue Ausgabe. Echter Bärenkampf
|
||||
mit markiertem Anfangsdefizit: Heiltrank im Kampf verbraucht, danach fehlende
|
||||
Vorräte exakt bis20 ergänzt. Die Anfangsverletzungen waren Diagnosefixtures;
|
||||
Fernanreise und Manaverbrauch wurden damit nicht live geprüft. Belege unter
|
||||
`checkpoints/2026-10-27-supplies/`.
|
||||
|
||||
Die native Abfrage `Player::GetPureMaxSkillValue` hatte eine invertierte Prüfung
|
||||
auf vorhandene Fertigkeitsränge und lieferte bei gelernten Fertigkeiten null.
|
||||
Die Prüfung ist korrigiert; ein eigener nativer Regressionstest sichert reguläre
|
||||
Werte sowie fehlende, gelöschte und leere Fertigkeiten ab. Nebenberufsränge mit
|
||||
EffectLearnSkill44 und normalen SpellMgr-Skillknoten werden beide berücksichtigt.
|
||||
Reference in new issue
Block a user