public IStatBuilder Before(IPoolStatBuilder pool)
            {
                var coreStat = new ParametrisedCoreStatBuilder <IStatBuilder>(_coreStat, pool,
                                                                              (ps, p, s) => _statFactory.CopyWithSuffix(s, $"Before({((IPoolStatBuilder) p).BuildPool(ps)})",
                                                                                                                        typeof(uint)));

                return(new StatBuilder(_statFactory, coreStat));
            }
        public IDamageTakenConversionBuilder DamageTakenFrom(IPoolStatBuilder pool)
        {
            var damage    = CoreStat(_statFactory.Damage);
            var takenFrom = new ParametrisedCoreStatBuilder <IStatBuilder>(damage, pool,
                                                                           (ps, p, s) => _statFactory.CopyWithSuffix(s, $"TakenFrom({((IPoolStatBuilder) p).BuildPool(ps)})",
                                                                                                                     typeof(uint)));

            return(new DamageTakenConversionBuilder(_statFactory, takenFrom));
        }
Example #3
0
 public IStatBuilder Before(IPoolStatBuilder pool) =>
 CreateStat((IDamageTakenConversionBuilder)this, (IStatBuilder)pool,
            (o1, o2) => $"{o1} before {o2}");
Example #4
0
 public IDamageTakenConversionBuilder TakenFrom(IPoolStatBuilder pool) =>
 Create <IDamageTakenConversionBuilder, IStatBuilder, IStatBuilder>(
     (s, r) => new DamageTakenConversionBuilder(s, r),
     This, pool,
     (o1, o2) => $"{o1} taken from {o2}");
Example #5
0
 public IFlagStatBuilder AppliesTo(IPoolStatBuilder stat) =>
 CreateFlagStat(This, (IStatBuilder)stat, (o1, o2) => $"{o1} applies to {o2} instead");
Example #6
0
 public IPoolStatBuilder Stat(IPoolStatBuilder stat) =>
 CreatePoolStat(This, (IStatBuilder)stat, (o1, o2) => $"{o2} for {o1}");