Combat: ability archetype byte (MC-6 dispatch spike)
byte Archetype on AbilityDefBlob (AbilityArchetype enum: Projectile/Hitscan/Cone/Aoe), authored on AbilityDefinition + baked in AbilityDatabaseAuthoring, read at dispatch in AbilityFireSystem -- NOT folded through EffectiveAbilityStats/StatRecomputeSystem (static identity, not a tunable stat; MC-4 review BURST-1). All current abilities are Projectile (0) -> zero behaviour change; the dispatch read-point is the de-risk spike for MC-6 hitscan/cone/aoe. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -47,6 +47,7 @@ namespace ProjectM.Authoring
|
||||
ProjectileSpeed = def.ProjectileSpeed,
|
||||
Range = def.Range,
|
||||
AutoTargetRange = def.AutoTargetRange,
|
||||
Archetype = (byte)def.Archetype,
|
||||
AutoTargetConeRadians = math.radians(def.AutoTargetConeDegrees),
|
||||
CooldownTicks = def.CooldownTicks,
|
||||
Name = def.DisplayName,
|
||||
|
||||
@@ -13,6 +13,8 @@ namespace ProjectM.Authoring
|
||||
public class AbilityDefinition : ScriptableObject
|
||||
{
|
||||
public AbilityId Id = AbilityId.Primary;
|
||||
[Tooltip("Ability kind for the fire-dispatch. Only Projectile is wired today; the rest are the MC-6 spike.")]
|
||||
public AbilityArchetype Archetype = AbilityArchetype.Projectile;
|
||||
public string DisplayName = "Ability";
|
||||
|
||||
[Header("Combat")]
|
||||
|
||||
Reference in New Issue
Block a user