# Configuration file

general {

    config {
        S:dsl <
            
            ┌ v1.0
            │
            ├ min_level: 0
            ├ max_level: 50
            └
            
            ┌ COOLDOWN (
            │     shape: flat
            │     value: 3s
            └ )
            
            ┌ RANGE (
            │     shape: flat
            │     min: 24b
            │     max: 42b
            │
            │     {0 to 25} [
            │         shape: ramp negative
            │         start: {min}
            │         end:   36b
            │     ]
            │
            │     {25 to 49} [
            │         shape: ramp positive
            │         start: {0 to 25}
            │         end:   40b
            │     ]
            │
            │     {50} [
            │         shape: none
            │         return: {max}
            │     ]
            └ )
            
            ┌ SIZE (
            │     shape: flat
            │     min: 1b
            │     max: 3b
            │
            │     {0 to 25} [
            │         shape: ramp negative
            │         start: {min}
            │         end:   1.5b
            │     ]
            │
            │     {25 to 49} [
            │         shape: ramp positive
            │         start: {0 to 25}
            │         end:   2b
            │     ]
            │
            │     {50} [
            │         shape: none
            │         return: {max}
            │     ]
            └ )
            
            ┌ DURATION (
            │     shape: none
            │     min: 0.5s
            └ )
            
            ┌ DAMAGE (
            │     shape: flat
            │     min: 1h
            │     max: 5h
            │
            │     {0 to 25} [
            │         shape: ramp negative
            │         start: {min}
            │         end:   3h
            │     ]
            │
            │     {25 to 49} [
            │         shape: ramp positive
            │         start: {0 to 25}
            │         end:   4.5h
            │     ]
            │
            │     {50} [
            │         shape: none
            │         return: {max}
            │     ]
            └ )
            
            ┌ TRUE_DAMAGE (
            │     shape: flat
            │     min: 5%
            │     max: 9%
            │
            │     {0 to 25} [
            │         shape: ramp negative
            │         start: {min}
            │         end:   6%
            │     ]
            │
            │     {25 to 49} [
            │         shape: ramp positive
            │         start: {0 to 25}
            │         end:   8%
            │     ]
            │
            │     {50} [
            │         shape: none
            │         return: {max}
            │     ]
            └ )
            
            ┌ DOT (
            │     shape: flat
            │     min: 1h
            │     max: 5h
            │
            │     {0 to 25} [
            │         shape: ramp negative
            │         start: {min}
            │         end:   3h
            │     ]
            │
            │     {25 to 49} [
            │         shape: ramp positive
            │         start: {0 to 25}
            │         end:   4h
            │     ]
            │
            │     {50} [
            │         shape: none
            │         return: {max}
            │     ]
            └ )
            
            ┌ TRUE_DOT (
            │     shape: flat
            │     min: 1%
            │     max: 5%
            │
            │     {0 to 25} [
            │         shape: ramp negative
            │         start: {min}
            │         end:   3%
            │     ]
            │
            │     {25 to 49} [
            │         shape: ramp positive
            │         start: {0 to 25}
            │         end:   4%
            │     ]
            │
            │     {50} [
            │         shape: none
            │         return: {max}
            │     ]
            └ )
            
            ┌ DOT_DURATION (
            │     shape: none
            │     value: 2s
            └ )
            
            ┌ ENDURANCE (
            │     shape: none
            │     value: 16
            └ )
            
            ┌ XP (
            │     shape: flat
            │     min: 0
            │     max: infinite
            │
            │     {0} [
            │         shape: none
            │         return: 170
            │     ]
            │
            │     {1 to 50} [
            │         shape: multiply 4
            │     ]
            └ )
         >
    }

}


