namespace ProjectM.Simulation { /// Stable, index-independent key for an authored ability definition in the AbilityDatabase blob. public enum AbilityId : byte { None = 0, Primary = 1, FastLight = 2, SlowHeavy = 3, } /// Stable key for an authored character-stats definition in the AbilityDatabase blob. public enum CharacterId : byte { None = 0, Default = 1, } /// /// Which base stat a targets. Replicated as a raw byte on the modifier /// buffer to keep the generated ghost serializer trivial; mapped back to this enum only in StatMath. /// public enum StatTarget : byte { Damage = 0, CooldownTicks = 1, Range = 2, ProjectileSpeed = 3, AutoTargetRange = 4, AutoTargetConeRadians = 5, MoveSpeed = 6, TurnRate = 7, MaxHealth = 8, } /// How a combines into the effective stat. public enum ModOp : byte { Flat = 0, // additive: + Value PercentAdd = 1, // additive percent, pooled into (1 + sum Value) PercentMult = 2, // multiplicative percent, product of (1 + Value) } }