using System;
using System.Collections.Generic;
using Terraria;
namespace SoulHarvest.Common;
/// <summary>
/// Immutable base combat metadata. Stage-specific attacks live in the combat
/// subsystem; this table is deliberately limited to values shared by items and UI.
/// </summary>
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
};
}
}
using System;
using System.Collections.Generic;
using Terraria;
namespace SoulHarvest.Common;
/// <summary>
/// Immutable base combat metadata. Stage-specific attacks live in the combat
/// subsystem; this table is deliberately limited to values shared by items and UI.
/// </summary>
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
};
}
}