/// <summary> /// Creates mutator that is meant to last limited amount of time, represents Flat bonus /// with it's value decreasing linearly over set time /// </summary> /// <param name="val"></param> /// <param name="time"></param> /// <returns></returns> public static StatMutator TimeElapsedMutatorValueDecrease(float val, float time) { StatMutator result = new StatMutator(val, time); result.SetBehaviour(MutatorBehaviour.ValueDecreasing); return(result); }
/// <summary> /// Example: Actor is poisoned by poison that is meant to last 3 seconds and take /// 8 HP from it in total. /// </summary> /// <param name="val"></param> /// <param name="time"></param> /// <returns></returns> public static StatMutator TimeElapsedMutatorValuePerTime(float val, float time) { StatMutator result = new StatMutator(val / time, time); result.SetBehaviour(MutatorBehaviour.ValuePerSecond); return(result); }
/// <summary> /// Creates Constant mutator representing Flat bonus with value distributed per each second /// </summary> /// <param name="val"></param> /// <returns></returns> public static StatMutator ConstantMutatorFlatValuePerSecond(float val) { StatMutator result = new StatMutator(val, true); result.SetBehaviour(MutatorBehaviour.ValuePerSecond); return(result); }