public CastRateStatBuilder(IStatFactory statFactory)
     : this(statFactory,
            LeafCoreStatBuilder.FromIdentity(statFactory, "CastRate", typeof(double)),
            new DamageStatConcretizer(statFactory, new DamageSpecificationBuilder()).WithHits(),
            (_, s) => new[] { s })
 {
 }
 public static IDamageRelatedStatBuilder DamageRelatedFromIdentity(
     IStatFactory statFactory, string identity, Type dataType,
     bool canApplyToSkillDamage = false, bool canApplyToAilmentDamage = false) =>
 DamageRelatedStatBuilder.Create(statFactory,
                                 LeafCoreStatBuilder.FromIdentity(statFactory, identity, dataType),
                                 canApplyToSkillDamage, canApplyToAilmentDamage);
 public static IStatBuilder FromIdentity(
     IStatFactory statFactory, string identity, Type dataType,
     ExplicitRegistrationType?explicitRegistrationType = null) =>
 new StatBuilder(statFactory,
                 LeafCoreStatBuilder.FromIdentity(statFactory, identity, dataType, explicitRegistrationType));
 private IStatBuilder FromIdentity(Type dataType, [CallerMemberName] string identity = "")
 => With(LeafCoreStatBuilder.FromIdentity(StatFactory, Prefix + "." + identity, dataType));
 public EvasionStatBuilder(IStatFactory statFactory)
     : base(statFactory, LeafCoreStatBuilder.FromIdentity(statFactory, Prefix, typeof(uint)))
 {
 }