using System; using System.Collections.Generic; using Terraria; namespace SoulHarvest.Common; /// /// Immutable base combat metadata. Stage-specific attacks live in the combat /// subsystem; this table is deliberately limited to values shared by items and UI. /// public sealed record ReaperFormDefinition( ReaperFormId Id, int StageIDamage, int StageIIDamage, int StageIIIDamage, int BaseUseTime) { public int GetBaseDamage(ReaperStage stage) { return stage switch { ReaperStage.StageI => StageIDamage, ReaperStage.StageII => StageIIDamage, ReaperStage.StageIII => StageIIIDamage, _ => Id == ReaperFormId.Base ? StageIDamage : 0 }; } }