How-to: Mastery-Perk erstellen
Schritte
WeaponDefinitionFactory.CreatePerks()inShared/Weapons/WeaponDefinitionFactory.csergänzen.- Stabile ID nach vorhandenem Muster
perk.pulse.<name>, Display/Description, exakt passenden MasteryTrackId, RequiredMasteryLevel, Tier ≥ 1, passive Modifier, optionale GameplayEffectId, Tags/Enabled undMasteryVersionsetzen. - Der aktuelle Pulse-Track verwendet Tier 1 ab Level 2, Tier 2 ab 5 und Tier 3 ab 8; neue Werte sind Balanceentscheidung, keine technische Pflicht.
WeaponMasteryService.CanSelectPerkerlaubt nur Enabled, ausreichendes Level und maximal einen anderen Perk desselben Tiers.LoadoutValidatorprüft, dass Perk im Progressions-Snapshot ausgewählt/erreichbar ist und Track zu einer Loadoutwaffe passt.- Passive Modifier laufen über
WeaponStatCalculator; GameplayEffectId benötigt noch eine echte Effektimplementierung. - Official Runs setzen ProgressionPolicy.Disabled: keine Perks/XP. Fun/Community erlauben UnlocksAndMastery und XP.
- Speicherung/UI/Nakama sind nicht implementiert. Contracts
SelectMasteryPerkRequestundGrantWeaponMasteryExperienceRequestexistieren; der Grant akzeptiert bewusst TrustedRunEventIds statt Client-XP. - Bei Schemasemantik
MasteryVersionerhöhen; bei Statbalance zusätzlich WeaponBalanceVersion prüfen. Migration bestehender SelectedPerkIds planen.
Tests
Locked level, falscher Track, Disabled Policy, Tierkonflikt, passive Stats, XP Official vs Fun und Serialization in WeaponsLoadoutsMasteryTests.cs.
Verwandt: Progression-System, Unlock, RunMode.