public IStatBuilder Temporary <T>(IStatBuilder gainedStat, T condition) where T : struct, Enum { var statBuilder = gainedStat .WithCondition(new ValueConditionBuilder(ps => BuildTemporaryBuffCondition(condition, ps))); return(MultiplyValueByEffectModifier(statBuilder, "Buff", new ModifierSourceEntityBuilder())); }
public IStatBuilder Temporary(IStatBuilder gainedStat) { var statBuilder = gainedStat.WithCondition(new ValueConditionBuilder(BuildCondition)); return(MultiplyValueByEffectModifier(statBuilder, "Buff", new ModifierSourceEntityBuilder())); IValue BuildCondition(BuildParameters parameters) { var stat = _statFactory.FromIdentity($"Is {parameters.ModifierSource.SourceName} active?", parameters.ModifierSourceEntity, typeof(bool), ExplicitRegistrationTypes.UserSpecifiedValue(false)); return(new StatValue(stat)); } }
public virtual IStatBuilder AddStat(IStatBuilder stat) => stat.WithCondition(IsOn(new ModifierSourceEntityBuilder()));
private static Modifier CreateModifier( IStatBuilder statBuilder, IFormBuilder formBuilder, IValueBuilder valueBuilder, IConditionBuilder conditionBuilder) { return(CreateModifier(statBuilder.WithCondition(conditionBuilder), formBuilder, valueBuilder)); }