public CriticalDamageBuffBuilder(IEffectIdProvider effectIdProvider, int sourseHeroId, double damageMultiplier) { Contract.Assert(effectIdProvider != null, "effectIdProvider !=null"); Contract.Assert(damageMultiplier >= 1, "damageMultiplier >= 1"); Contract.Assert(sourseHeroId >= 0, "sourseHeroId >= 0"); EffectId = effectIdProvider.GetId(_name, sourseHeroId); _damageMultiplier = damageMultiplier; }
public SlowingAttackSpeedDebuffBuilder(IEffectIdProvider effectIdProvider, IIntervalFromLastTickProvider intervalFromLastTickProvider, double slowingRate, TimeSpan duration) { Contract.Assert(effectIdProvider != null, "effectIdProvider !=null"); Contract.Assert(slowingRate >= 1, "slowingRate >= 1"); Contract.Assert(duration >= TimeSpan.Zero, "duration >= TimeSpan.Zero"); Contract.Assert(intervalFromLastTickProvider != null, "intervalFromLastTickProvider !=null"); EffectId = effectIdProvider.GetId(_name, 0); _intervalFromLastTickProvider = intervalFromLastTickProvider; _slowingRate = slowingRate; _duration = duration; }
public SlowingMovementDebuffBuilder(IEffectIdProvider effectIdProvider, IIntervalFromLastTickProvider intervalFromLastTickProvider, int sourseHeroId, double slowingRate, TimeSpan duration) { Contract.Assert(slowingRate >= 1, "slowingRate >= 1"); Contract.Assert(duration >= TimeSpan.Zero, "duration >= TimeSpan.Zero"); Contract.Assert(intervalFromLastTickProvider != null, "intervalFromLastTickProvider !=null"); Contract.Assert(sourseHeroId >= 0, "sourseHeroId >= 0"); Contract.Assert(effectIdProvider != null, "effectIdProvider !=null"); EffectId = effectIdProvider.GetId(_name, sourseHeroId); _intervalFromLastTickProvider = intervalFromLastTickProvider; _slowingRate = slowingRate; _duration = duration; }