public Spell(CastRoutine cast,
              AlterCastActionOnSetParams alterCastOnSetParams,
              SpellName name,
              School school,
              TargetingType targetingType,
              IconName icon,
              ClassType classType,
              string description,
              bool isCantrip,
              int rangeInSquares,
              int level,
              SpellScaler scaler)
 {
     this.cast = cast;
     this.alterCastOnSetParams = alterCastOnSetParams;
     this.name           = name;
     this.school         = school;
     this.targetingType  = targetingType;
     this.icon           = icon;
     this.classType      = classType;
     this.description    = description;
     this.isCantrip      = isCantrip;
     this.rangeInSquares = rangeInSquares;
     this.level          = level;
     this.scaler         = scaler;
 }
    int NumDiceFromScaleThresholds(List <int> thresholds, SpellScaler scaler)
    {
        int value = 1;

        if (scaler != null)
        {
            value = scaler.ScaleValue();
            Debug.Log("Got a scale valuer: " + value);
        }

        int ret       = 1;
        int bonusDice = 0;

        for (int i = thresholds.Count - 1; i >= 0; i--)
        {
            int threshold = thresholds [i];
            if (value >= threshold)
            {
                bonusDice = i + 1;
                break;
            }
        }


        return(ret + bonusDice);
    }