private IStatBuilder AdditionalLevels(string identityInfix, IGemTagBuilder gemTag, Func <BuildParameters, string, string> buildIdentitySuffix) { var coreBuilder = new CoreStatBuilderFromCoreBuilder <string>( CoreBuilder.Proxy(gemTag, (ps, b) => buildIdentitySuffix(ps, b.Build(ps))), (e, t) => StatFactory.FromIdentity($"Gem.AdditionalLevels{identityInfix}.{t}", e, typeof(int))); return(new StatBuilder(StatFactory, coreBuilder)); }
public IStatBuilder DamageHasKeyword(DamageSource damageSource, IKeywordBuilder keyword) { var coreBuilder = new CoreStatBuilderFromCoreBuilder <Keyword>( CoreBuilder.Proxy(keyword, (ps, b) => b.Build(ps)), (e, k) => StatFactory.MainSkillPartDamageHasKeyword(e, k, damageSource)); return(new StatBuilder(StatFactory, coreBuilder)); }
public IStatBuilder AdditionalLevels(ISkillBuilder skill) { var coreBuilder = new CoreStatBuilderFromCoreBuilder <string>( CoreBuilder.Proxy(skill, (ps, b) => b.Build(ps).Id), (e, t) => StatFactory.FromIdentity($"Gem.AdditionalLevels.{t}", e, typeof(int))); return(new StatBuilder(StatFactory, coreBuilder)); }