예제 #1
0
    public DodgeRoll(Vector3 movement) : base(movement)
    {
        BaseTimeDelay = 0.65f;

        Mutators = new Dictionary <ActorStatsDeclaration, List <StatMutator> >();

        Mutators.Add(ActorStatsDeclaration.DamageTakenModificator, new List <StatMutator>());
        Mutators.Add(ActorStatsDeclaration.Speed, new List <StatMutator>());

        Mutators[ActorStatsDeclaration.DamageTakenModificator].
        Add(StatMutatorFactory.TimeElapsedMutatorMultiplicator(0, 0.5f));

        Mutators[ActorStatsDeclaration.Speed].
        Add(StatMutatorFactory.TimeElapsedMutatorMultiplicator(2.9f, 0.6f));
    }
예제 #2
0
 public void ApplyImmidiateHeal(float heal)
 {
     AddMutator(ActorStatsDeclaration.CurrentHealthPoints, StatMutatorFactory.ImmidiateMutatorFlat(heal));
 }
예제 #3
0
 public void ApplyHealOverTime(float heal, float time)
 {
     AddMutator(ActorStatsDeclaration.CurrentHealthPoints, StatMutatorFactory.TimeElapsedMutatorValuePerTime(heal, time));
 }
예제 #4
0
    public void ApplyDamage(float dmg)
    {
        dmg = DamageTakenModificator * dmg;

        AddMutator(ActorStatsDeclaration.CurrentHealthPoints, StatMutatorFactory.ImmidiateMutatorFlat(-dmg));
    }