neon-sprawl/server/NeonSprawl.Server/Game/Mastery/PerkUnlockEvent.cs

18 lines
561 B
C#

namespace NeonSprawl.Server.Game.Mastery;
/// <summary>Internal event when a perk becomes unlocked (NEO-47). E9.M1 <c>perk_unlock</c> hook site: <see cref="PerkUnlockEngine"/> <c>TryUnlockPerks</c> (NEO-49).</summary>
public enum PerkUnlockSource
{
BranchPick,
LevelUp,
}
/// <param name="BranchId">Chosen branch when relevant; null for edge cases without a branch context.</param>
public sealed record PerkUnlockEvent(
string PlayerId,
string PerkId,
string SkillId,
int TierIndex,
string? BranchId,
PerkUnlockSource Source);