protected override void LevelUp(int originalLevel, int targetLevel)
    {
        LevelUp(targetLevel - originalLevel);
        float targetPoints = AbilityCalculator.GetPointsFromLevel(targetLevel);

        AbilityScaler.RemoveSkillTreeEnhancements(this);
        var newAbility = AbilityScaler.ScaleUtilityAbility(targetPoints, cooldown, mpUsage, baseMpUsage, targetType, attributes, skillTree);

        level       = targetLevel;
        points      = targetPoints;
        mpUsage     = newAbility.mpUsage;
        baseMpUsage = newAbility.baseMpUsage;
        attributes  = newAbility.attributes;
        AbilityScaler.AddSkillTreeEnhancements(this);
        description = AbilityDescriber.Describe(this);
    }
Example #2
0
    protected override void LevelUp(int originalLevel, int targetLevel)
    {
        LevelUp(targetLevel - originalLevel);
        float targetPoints = AbilityCalculator.GetPointsFromLevel(targetLevel);

        AbilityScaler.RemoveSkillTreeEnhancements(this);
        var newAbility = AbilityScaler.ScaleAttackAbility((int)targetPoints, element, baseStat, damage, dotDamage, dotTime, isRanged, cooldown, mpUsage, baseMpUsage, radius, icon, hitEffect, rangedProjectile, aoe, attributes, skillTree);

        level       = targetLevel;
        points      = targetPoints;
        damage      = newAbility.damage;
        dotDamage   = newAbility.dotDamage;
        mpUsage     = newAbility.mpUsage;
        baseMpUsage = newAbility.baseMpUsage;
        attributes  = newAbility.attributes;
        AbilityScaler.AddSkillTreeEnhancements(this);
        description = AbilityDescriber.Describe(this);
    }