using Chickensoft.Serialization; namespace Zennysoft.Ma.Adapter.Entity { public record ElementalResistanceSet { [Save("elemental_resist_set")] public Dictionary ElementalResistance { get; } public static ElementalResistanceSet None => new ElementalResistanceSet(0, 0, 0, 0, 0); public ElementalResistanceSet(double aeolicResistance, double hydricResistance, double igneousResistance, double ferrumResistance, double telluricResistance) { ElementalResistance = new Dictionary { { ElementType.None, 0 }, { ElementType.Aeolic, aeolicResistance }, { ElementType.Hydric, hydricResistance }, { ElementType.Igneous, igneousResistance }, { ElementType.Ferrum, ferrumResistance }, { ElementType.Telluric, telluricResistance }, }; } public static ElementalResistanceSet operator +(ElementalResistanceSet left, ElementalResistanceSet right) { return new ElementalResistanceSet( left.ElementalResistance[ElementType.Aeolic] + right.ElementalResistance[ElementType.Aeolic], left.ElementalResistance[ElementType.Hydric] + right.ElementalResistance[ElementType.Hydric], left.ElementalResistance[ElementType.Igneous] + right.ElementalResistance[ElementType.Igneous], left.ElementalResistance[ElementType.Ferrum] + right.ElementalResistance[ElementType.Ferrum], left.ElementalResistance[ElementType.Telluric] + right.ElementalResistance[ElementType.Telluric]); } } }