예제 #1
0
    /// <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);
    }
예제 #2
0
    /// <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);
    }
예제 #3
0
    /// <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);
    }