Skip to content

How-to: Mastery-Perk erstellen

Schritte

  1. WeaponDefinitionFactory.CreatePerks() in Shared/Weapons/WeaponDefinitionFactory.cs ergänzen.
  2. Stabile ID nach vorhandenem Muster perk.pulse.<name>, Display/Description, exakt passenden MasteryTrackId, RequiredMasteryLevel, Tier ≥ 1, passive Modifier, optionale GameplayEffectId, Tags/Enabled und MasteryVersion setzen.
  3. 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.
  4. WeaponMasteryService.CanSelectPerk erlaubt nur Enabled, ausreichendes Level und maximal einen anderen Perk desselben Tiers. LoadoutValidator prüft, dass Perk im Progressions-Snapshot ausgewählt/erreichbar ist und Track zu einer Loadoutwaffe passt.
  5. Passive Modifier laufen über WeaponStatCalculator; GameplayEffectId benötigt noch eine echte Effektimplementierung.
  6. Official Runs setzen ProgressionPolicy.Disabled: keine Perks/XP. Fun/Community erlauben UnlocksAndMastery und XP.
  7. Speicherung/UI/Nakama sind nicht implementiert. Contracts SelectMasteryPerkRequest und GrantWeaponMasteryExperienceRequest existieren; der Grant akzeptiert bewusst TrustedRunEventIds statt Client-XP.
  8. Bei Schemasemantik MasteryVersion erhö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.