package com.pixelized.desktop.lwa.business

import com.pixelized.shared.lwa.usecase.SkillStepUseCase
import com.pixelized.shared.lwa.usecase.SkillStepUseCase.SkillStep
import org.junit.Test

class SkillUioStepUseCaseTest {

    @Test
    fun testStepForSkill() {
        val useCase = SkillStepUseCase()
        (1..500).forEach { skill ->
            val step = useCase.computeSkillStep(
                skill = skill,
            )
            val expected = expected[skill] ?: error(
                message = "No expected result for that skill level : $skill"
            )
            assert(step.criticalSuccess == expected.criticalSuccess) {
                "Skill level $skill - Critical success range should be ${expected.criticalSuccess} but was ${step.criticalSuccess}"
            }
            assert(step.specialSuccess == expected.specialSuccess) {
                "Skill level $skill - Special success range should be ${expected.specialSuccess} but was ${step.specialSuccess}"
            }
            assert(step.success == expected.success) {
                "Skill level $skill - Success range should be ${expected.success} but was ${step.success}"
            }
            assert(step.failure == expected.failure) {
                "Skill level $skill - failure range should be ${expected.failure} but was ${step.failure}"
            }
            assert(step.criticalFailure == expected.criticalFailure) {
                "Skill level $skill - Critical failure range should be ${expected.criticalFailure} but was ${step.criticalFailure}"
            }
        }
    }

    private val expected = hashMapOf(
        1 to SkillStep(
            criticalSuccess = -1..-1,
            specialSuccess = -1..-1,
            success = 1..1,
            failure = 2..95,
            criticalFailure = 96..100
        ),
        2 to SkillStep(
            criticalSuccess = -1..-1,
            specialSuccess = -1..-1,
            success = 1..2,
            failure = 3..95,
            criticalFailure = 96..100
        ),
        3 to SkillStep(
            criticalSuccess = -1..-1,
            specialSuccess = 1..1,
            success = 2..3,
            failure = 4..95,
            criticalFailure = 96..100
        ),
        4 to SkillStep(
            criticalSuccess = -1..-1,
            specialSuccess = 1..1,
            success = 2..4,
            failure = 5..95,
            criticalFailure = 96..100
        ),
        5 to SkillStep(
            criticalSuccess = -1..-1,
            specialSuccess = 1..1,
            success = 2..5,
            failure = 6..95,
            criticalFailure = 96..100
        ),
        6 to SkillStep(
            criticalSuccess = -1..-1,
            specialSuccess = 1..1,
            success = 2..6,
            failure = 7..95,
            criticalFailure = 96..100
        ),
        7 to SkillStep(
            criticalSuccess = -1..-1,
            specialSuccess = 1..1,
            success = 2..7,
            failure = 8..95,
            criticalFailure = 96..100
        ),
        8 to SkillStep(
            criticalSuccess = -1..-1,
            specialSuccess = 1..2,
            success = 3..8,
            failure = 9..95,
            criticalFailure = 96..100
        ),
        9 to SkillStep(
            criticalSuccess = -1..-1,
            specialSuccess = 1..2,
            success = 3..9,
            failure = 10..95,
            criticalFailure = 96..100
        ),
        10 to SkillStep(
            criticalSuccess = -1..-1,
            specialSuccess = 1..2,
            success = 3..10,
            failure = 11..95,
            criticalFailure = 96..100
        ),
        11 to SkillStep(
            criticalSuccess = 1..1,
            specialSuccess = 2..2,
            success = 3..11,
            failure = 12..96,
            criticalFailure = 97..100
        ),
        12 to SkillStep(
            criticalSuccess = 1..1,
            specialSuccess = 2..2,
            success = 3..12,
            failure = 13..96,
            criticalFailure = 97..100
        ),
        13 to SkillStep(
            criticalSuccess = 1..1,
            specialSuccess = 2..3,
            success = 4..13,
            failure = 14..96,
            criticalFailure = 97..100
        ),
        14 to SkillStep(
            criticalSuccess = 1..1,
            specialSuccess = 2..3,
            success = 4..14,
            failure = 15..96,
            criticalFailure = 97..100
        ),
        15 to SkillStep(
            criticalSuccess = 1..1,
            specialSuccess = 2..3,
            success = 4..15,
            failure = 16..96,
            criticalFailure = 97..100
        ),
        16 to SkillStep(
            criticalSuccess = 1..1,
            specialSuccess = 2..3,
            success = 4..16,
            failure = 17..96,
            criticalFailure = 97..100
        ),
        17 to SkillStep(
            criticalSuccess = 1..1,
            specialSuccess = 2..3,
            success = 4..17,
            failure = 18..96,
            criticalFailure = 97..100
        ),
        18 to SkillStep(
            criticalSuccess = 1..1,
            specialSuccess = 2..4,
            success = 5..18,
            failure = 19..96,
            criticalFailure = 97..100
        ),
        19 to SkillStep(
            criticalSuccess = 1..1,
            specialSuccess = 2..4,
            success = 5..19,
            failure = 20..96,
            criticalFailure = 97..100
        ),
        20 to SkillStep(
            criticalSuccess = 1..1,
            specialSuccess = 2..4,
            success = 5..20,
            failure = 21..96,
            criticalFailure = 97..100
        ),
        21 to SkillStep(
            criticalSuccess = 1..1,
            specialSuccess = 2..4,
            success = 5..21,
            failure = 22..96,
            criticalFailure = 97..100
        ),
        22 to SkillStep(
            criticalSuccess = 1..1,
            specialSuccess = 2..4,
            success = 5..22,
            failure = 23..96,
            criticalFailure = 97..100
        ),
        23 to SkillStep(
            criticalSuccess = 1..1,
            specialSuccess = 2..5,
            success = 6..23,
            failure = 24..96,
            criticalFailure = 97..100
        ),
        24 to SkillStep(
            criticalSuccess = 1..1,
            specialSuccess = 2..5,
            success = 6..24,
            failure = 25..96,
            criticalFailure = 97..100
        ),
        25 to SkillStep(
            criticalSuccess = 1..1,
            specialSuccess = 2..5,
            success = 6..25,
            failure = 26..96,
            criticalFailure = 97..100
        ),
        26 to SkillStep(
            criticalSuccess = 1..1,
            specialSuccess = 2..5,
            success = 6..26,
            failure = 27..96,
            criticalFailure = 97..100
        ),
        27 to SkillStep(
            criticalSuccess = 1..1,
            specialSuccess = 2..5,
            success = 6..27,
            failure = 28..96,
            criticalFailure = 97..100
        ),
        28 to SkillStep(
            criticalSuccess = 1..1,
            specialSuccess = 2..6,
            success = 7..28,
            failure = 29..96,
            criticalFailure = 97..100
        ),
        29 to SkillStep(
            criticalSuccess = 1..1,
            specialSuccess = 2..6,
            success = 7..29,
            failure = 30..96,
            criticalFailure = 97..100
        ),
        30 to SkillStep(
            criticalSuccess = 1..2,
            specialSuccess = 3..6,
            success = 7..30,
            failure = 31..97,
            criticalFailure = 98..100
        ),
        31 to SkillStep(
            criticalSuccess = 1..2,
            specialSuccess = 3..6,
            success = 7..31,
            failure = 32..97,
            criticalFailure = 98..100
        ),
        32 to SkillStep(
            criticalSuccess = 1..2,
            specialSuccess = 3..6,
            success = 7..32,
            failure = 33..97,
            criticalFailure = 98..100
        ),
        33 to SkillStep(
            criticalSuccess = 1..2,
            specialSuccess = 3..7,
            success = 8..33,
            failure = 34..97,
            criticalFailure = 98..100
        ),
        34 to SkillStep(
            criticalSuccess = 1..2,
            specialSuccess = 3..7,
            success = 8..34,
            failure = 35..97,
            criticalFailure = 98..100
        ),
        35 to SkillStep(
            criticalSuccess = 1..2,
            specialSuccess = 3..7,
            success = 8..35,
            failure = 36..97,
            criticalFailure = 98..100
        ),
        36 to SkillStep(
            criticalSuccess = 1..2,
            specialSuccess = 3..7,
            success = 8..36,
            failure = 37..97,
            criticalFailure = 98..100
        ),
        37 to SkillStep(
            criticalSuccess = 1..2,
            specialSuccess = 3..7,
            success = 8..37,
            failure = 38..97,
            criticalFailure = 98..100
        ),
        38 to SkillStep(
            criticalSuccess = 1..2,
            specialSuccess = 3..8,
            success = 9..38,
            failure = 39..97,
            criticalFailure = 98..100
        ),
        39 to SkillStep(
            criticalSuccess = 1..2,
            specialSuccess = 3..8,
            success = 9..39,
            failure = 40..97,
            criticalFailure = 98..100
        ),
        40 to SkillStep(
            criticalSuccess = 1..2,
            specialSuccess = 3..8,
            success = 9..40,
            failure = 41..97,
            criticalFailure = 98..100
        ),
        41 to SkillStep(
            criticalSuccess = 1..2,
            specialSuccess = 3..8,
            success = 9..41,
            failure = 42..97,
            criticalFailure = 98..100
        ),
        42 to SkillStep(
            criticalSuccess = 1..2,
            specialSuccess = 3..8,
            success = 9..42,
            failure = 43..97,
            criticalFailure = 98..100
        ),
        43 to SkillStep(
            criticalSuccess = 1..2,
            specialSuccess = 3..9,
            success = 10..43,
            failure = 44..97,
            criticalFailure = 98..100
        ),
        44 to SkillStep(
            criticalSuccess = 1..2,
            specialSuccess = 3..9,
            success = 10..44,
            failure = 45..97,
            criticalFailure = 98..100
        ),
        45 to SkillStep(
            criticalSuccess = 1..2,
            specialSuccess = 3..9,
            success = 10..45,
            failure = 46..97,
            criticalFailure = 98..100
        ),
        46 to SkillStep(
            criticalSuccess = 1..2,
            specialSuccess = 3..9,
            success = 10..46,
            failure = 47..97,
            criticalFailure = 98..100
        ),
        47 to SkillStep(
            criticalSuccess = 1..2,
            specialSuccess = 3..9,
            success = 10..47,
            failure = 48..97,
            criticalFailure = 98..100
        ),
        48 to SkillStep(
            criticalSuccess = 1..2,
            specialSuccess = 3..10,
            success = 11..48,
            failure = 49..97,
            criticalFailure = 98..100
        ),
        49 to SkillStep(
            criticalSuccess = 1..2,
            specialSuccess = 3..10,
            success = 11..49,
            failure = 50..97,
            criticalFailure = 98..100
        ),
        50 to SkillStep(
            criticalSuccess = 1..2,
            specialSuccess = 3..10,
            success = 11..50,
            failure = 51..97,
            criticalFailure = 98..100
        ),
        51 to SkillStep(
            criticalSuccess = 1..3,
            specialSuccess = 4..10,
            success = 11..51,
            failure = 52..98,
            criticalFailure = 99..100
        ),
        52 to SkillStep(
            criticalSuccess = 1..3,
            specialSuccess = 4..10,
            success = 11..52,
            failure = 53..98,
            criticalFailure = 99..100
        ),
        53 to SkillStep(
            criticalSuccess = 1..3,
            specialSuccess = 4..11,
            success = 12..53,
            failure = 54..98,
            criticalFailure = 99..100
        ),
        54 to SkillStep(
            criticalSuccess = 1..3,
            specialSuccess = 4..11,
            success = 12..54,
            failure = 55..98,
            criticalFailure = 99..100
        ),
        55 to SkillStep(
            criticalSuccess = 1..3,
            specialSuccess = 4..11,
            success = 12..55,
            failure = 56..98,
            criticalFailure = 99..100
        ),
        56 to SkillStep(
            criticalSuccess = 1..3,
            specialSuccess = 4..11,
            success = 12..56,
            failure = 57..98,
            criticalFailure = 99..100
        ),
        57 to SkillStep(
            criticalSuccess = 1..3,
            specialSuccess = 4..11,
            success = 12..57,
            failure = 58..98,
            criticalFailure = 99..100
        ),
        58 to SkillStep(
            criticalSuccess = 1..3,
            specialSuccess = 4..12,
            success = 13..58,
            failure = 59..98,
            criticalFailure = 99..100
        ),
        59 to SkillStep(
            criticalSuccess = 1..3,
            specialSuccess = 4..12,
            success = 13..59,
            failure = 60..98,
            criticalFailure = 99..100
        ),
        60 to SkillStep(
            criticalSuccess = 1..3,
            specialSuccess = 4..12,
            success = 13..60,
            failure = 61..98,
            criticalFailure = 99..100
        ),
        61 to SkillStep(
            criticalSuccess = 1..3,
            specialSuccess = 4..12,
            success = 13..61,
            failure = 62..98,
            criticalFailure = 99..100
        ),
        62 to SkillStep(
            criticalSuccess = 1..3,
            specialSuccess = 4..12,
            success = 13..62,
            failure = 63..98,
            criticalFailure = 99..100
        ),
        63 to SkillStep(
            criticalSuccess = 1..3,
            specialSuccess = 4..13,
            success = 14..63,
            failure = 64..98,
            criticalFailure = 99..100
        ),
        64 to SkillStep(
            criticalSuccess = 1..3,
            specialSuccess = 4..13,
            success = 14..64,
            failure = 65..98,
            criticalFailure = 99..100
        ),
        65 to SkillStep(
            criticalSuccess = 1..3,
            specialSuccess = 4..13,
            success = 14..65,
            failure = 66..98,
            criticalFailure = 99..100
        ),
        66 to SkillStep(
            criticalSuccess = 1..3,
            specialSuccess = 4..13,
            success = 14..66,
            failure = 67..98,
            criticalFailure = 99..100
        ),
        67 to SkillStep(
            criticalSuccess = 1..3,
            specialSuccess = 4..13,
            success = 14..67,
            failure = 68..98,
            criticalFailure = 99..100
        ),
        68 to SkillStep(
            criticalSuccess = 1..3,
            specialSuccess = 4..14,
            success = 15..68,
            failure = 69..98,
            criticalFailure = 99..100
        ),
        69 to SkillStep(
            criticalSuccess = 1..3,
            specialSuccess = 4..14,
            success = 15..69,
            failure = 70..98,
            criticalFailure = 99..100
        ),
        70 to SkillStep(
            criticalSuccess = 1..4,
            specialSuccess = 5..14,
            success = 15..70,
            failure = 71..99,
            criticalFailure = 100..100
        ),
        71 to SkillStep(
            criticalSuccess = 1..4,
            specialSuccess = 5..14,
            success = 15..71,
            failure = 72..99,
            criticalFailure = 100..100
        ),
        72 to SkillStep(
            criticalSuccess = 1..4,
            specialSuccess = 5..14,
            success = 15..72,
            failure = 73..99,
            criticalFailure = 100..100
        ),
        73 to SkillStep(
            criticalSuccess = 1..4,
            specialSuccess = 5..15,
            success = 16..73,
            failure = 74..99,
            criticalFailure = 100..100
        ),
        74 to SkillStep(
            criticalSuccess = 1..4,
            specialSuccess = 5..15,
            success = 16..74,
            failure = 75..99,
            criticalFailure = 100..100
        ),
        75 to SkillStep(
            criticalSuccess = 1..4,
            specialSuccess = 5..15,
            success = 16..75,
            failure = 76..99,
            criticalFailure = 100..100
        ),
        76 to SkillStep(
            criticalSuccess = 1..4,
            specialSuccess = 5..15,
            success = 16..76,
            failure = 77..99,
            criticalFailure = 100..100
        ),
        77 to SkillStep(
            criticalSuccess = 1..4,
            specialSuccess = 5..15,
            success = 16..77,
            failure = 78..99,
            criticalFailure = 100..100
        ),
        78 to SkillStep(
            criticalSuccess = 1..4,
            specialSuccess = 5..16,
            success = 17..78,
            failure = 79..99,
            criticalFailure = 100..100
        ),
        79 to SkillStep(
            criticalSuccess = 1..4,
            specialSuccess = 5..16,
            success = 17..79,
            failure = 80..99,
            criticalFailure = 100..100
        ),
        80 to SkillStep(
            criticalSuccess = 1..4,
            specialSuccess = 5..16,
            success = 17..80,
            failure = 81..99,
            criticalFailure = 100..100
        ),
        81 to SkillStep(
            criticalSuccess = 1..4,
            specialSuccess = 5..16,
            success = 17..81,
            failure = 82..99,
            criticalFailure = 100..100
        ),
        82 to SkillStep(
            criticalSuccess = 1..4,
            specialSuccess = 5..16,
            success = 17..82,
            failure = 83..99,
            criticalFailure = 100..100
        ),
        83 to SkillStep(
            criticalSuccess = 1..4,
            specialSuccess = 5..17,
            success = 18..83,
            failure = 84..99,
            criticalFailure = 100..100
        ),
        84 to SkillStep(
            criticalSuccess = 1..4,
            specialSuccess = 5..17,
            success = 18..84,
            failure = 85..99,
            criticalFailure = 100..100
        ),
        85 to SkillStep(
            criticalSuccess = 1..4,
            specialSuccess = 5..17,
            success = 18..85,
            failure = 86..99,
            criticalFailure = 100..100
        ),
        86 to SkillStep(
            criticalSuccess = 1..4,
            specialSuccess = 5..17,
            success = 18..86,
            failure = 87..99,
            criticalFailure = 100..100
        ),
        87 to SkillStep(
            criticalSuccess = 1..4,
            specialSuccess = 5..17,
            success = 18..87,
            failure = 88..99,
            criticalFailure = 100..100
        ),
        88 to SkillStep(
            criticalSuccess = 1..4,
            specialSuccess = 5..18,
            success = 19..88,
            failure = 89..99,
            criticalFailure = 100..100
        ),
        89 to SkillStep(
            criticalSuccess = 1..4,
            specialSuccess = 5..18,
            success = 19..89,
            failure = 90..99,
            criticalFailure = 100..100
        ),
        90 to SkillStep(
            criticalSuccess = 1..4,
            specialSuccess = 5..18,
            success = 19..90,
            failure = 91..99,
            criticalFailure = 100..100
        ),
        91 to SkillStep(
            criticalSuccess = 1..5,
            specialSuccess = 6..18,
            success = 19..91,
            failure = 92..99,
            criticalFailure = 100..100
        ),
        92 to SkillStep(
            criticalSuccess = 1..5,
            specialSuccess = 6..18,
            success = 19..92,
            failure = 93..99,
            criticalFailure = 100..100
        ),
        93 to SkillStep(
            criticalSuccess = 1..5,
            specialSuccess = 6..19,
            success = 20..93,
            failure = 94..99,
            criticalFailure = 100..100
        ),
        94 to SkillStep(
            criticalSuccess = 1..5,
            specialSuccess = 6..19,
            success = 20..94,
            failure = 95..99,
            criticalFailure = 100..100
        ),
        95 to SkillStep(
            criticalSuccess = 1..5,
            specialSuccess = 6..19,
            success = 20..95,
            failure = 96..99,
            criticalFailure = 100..100
        ),
        96 to SkillStep(
            criticalSuccess = 1..5,
            specialSuccess = 6..19,
            success = 20..96,
            failure = 97..99,
            criticalFailure = 100..100
        ),
        97 to SkillStep(
            criticalSuccess = 1..5,
            specialSuccess = 6..19,
            success = 20..97,
            failure = 98..99,
            criticalFailure = 100..100
        ),
        98 to SkillStep(
            criticalSuccess = 1..5,
            specialSuccess = 6..20,
            success = 21..98,
            failure = 99..99,
            criticalFailure = 100..100
        ),
        99 to SkillStep(
            criticalSuccess = 1..5,
            specialSuccess = 6..20,
            success = 21..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        100 to SkillStep(
            criticalSuccess = 1..5,
            specialSuccess = 6..20,
            success = 21..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        101 to SkillStep(
            criticalSuccess = 1..5,
            specialSuccess = 6..20,
            success = 21..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        102 to SkillStep(
            criticalSuccess = 1..5,
            specialSuccess = 6..20,
            success = 21..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        103 to SkillStep(
            criticalSuccess = 1..5,
            specialSuccess = 6..21,
            success = 22..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        104 to SkillStep(
            criticalSuccess = 1..5,
            specialSuccess = 6..21,
            success = 22..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        105 to SkillStep(
            criticalSuccess = 1..5,
            specialSuccess = 6..21,
            success = 22..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        106 to SkillStep(
            criticalSuccess = 1..5,
            specialSuccess = 6..21,
            success = 22..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        107 to SkillStep(
            criticalSuccess = 1..5,
            specialSuccess = 6..21,
            success = 22..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        108 to SkillStep(
            criticalSuccess = 1..5,
            specialSuccess = 6..22,
            success = 23..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        109 to SkillStep(
            criticalSuccess = 1..5,
            specialSuccess = 6..22,
            success = 23..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        110 to SkillStep(
            criticalSuccess = 1..6,
            specialSuccess = 7..22,
            success = 23..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        111 to SkillStep(
            criticalSuccess = 1..6,
            specialSuccess = 7..22,
            success = 23..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        112 to SkillStep(
            criticalSuccess = 1..6,
            specialSuccess = 7..22,
            success = 23..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        113 to SkillStep(
            criticalSuccess = 1..6,
            specialSuccess = 7..23,
            success = 24..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        114 to SkillStep(
            criticalSuccess = 1..6,
            specialSuccess = 7..23,
            success = 24..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        115 to SkillStep(
            criticalSuccess = 1..6,
            specialSuccess = 7..23,
            success = 24..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        116 to SkillStep(
            criticalSuccess = 1..6,
            specialSuccess = 7..23,
            success = 24..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        117 to SkillStep(
            criticalSuccess = 1..6,
            specialSuccess = 7..23,
            success = 24..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        118 to SkillStep(
            criticalSuccess = 1..6,
            specialSuccess = 7..24,
            success = 25..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        119 to SkillStep(
            criticalSuccess = 1..6,
            specialSuccess = 7..24,
            success = 25..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        120 to SkillStep(
            criticalSuccess = 1..6,
            specialSuccess = 7..24,
            success = 25..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        121 to SkillStep(
            criticalSuccess = 1..6,
            specialSuccess = 7..24,
            success = 25..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        122 to SkillStep(
            criticalSuccess = 1..6,
            specialSuccess = 7..24,
            success = 25..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        123 to SkillStep(
            criticalSuccess = 1..6,
            specialSuccess = 7..25,
            success = 26..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        124 to SkillStep(
            criticalSuccess = 1..6,
            specialSuccess = 7..25,
            success = 26..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        125 to SkillStep(
            criticalSuccess = 1..6,
            specialSuccess = 7..25,
            success = 26..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        126 to SkillStep(
            criticalSuccess = 1..6,
            specialSuccess = 7..25,
            success = 26..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        127 to SkillStep(
            criticalSuccess = 1..6,
            specialSuccess = 7..25,
            success = 26..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        128 to SkillStep(
            criticalSuccess = 1..6,
            specialSuccess = 7..26,
            success = 27..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        129 to SkillStep(
            criticalSuccess = 1..6,
            specialSuccess = 7..26,
            success = 27..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        130 to SkillStep(
            criticalSuccess = 1..6,
            specialSuccess = 7..26,
            success = 27..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        131 to SkillStep(
            criticalSuccess = 1..7,
            specialSuccess = 8..26,
            success = 27..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        132 to SkillStep(
            criticalSuccess = 1..7,
            specialSuccess = 8..26,
            success = 27..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        133 to SkillStep(
            criticalSuccess = 1..7,
            specialSuccess = 8..27,
            success = 28..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        134 to SkillStep(
            criticalSuccess = 1..7,
            specialSuccess = 8..27,
            success = 28..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        135 to SkillStep(
            criticalSuccess = 1..7,
            specialSuccess = 8..27,
            success = 28..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        136 to SkillStep(
            criticalSuccess = 1..7,
            specialSuccess = 8..27,
            success = 28..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        137 to SkillStep(
            criticalSuccess = 1..7,
            specialSuccess = 8..27,
            success = 28..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        138 to SkillStep(
            criticalSuccess = 1..7,
            specialSuccess = 8..28,
            success = 29..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        139 to SkillStep(
            criticalSuccess = 1..7,
            specialSuccess = 8..28,
            success = 29..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        140 to SkillStep(
            criticalSuccess = 1..7,
            specialSuccess = 8..28,
            success = 29..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        141 to SkillStep(
            criticalSuccess = 1..7,
            specialSuccess = 8..28,
            success = 29..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        142 to SkillStep(
            criticalSuccess = 1..7,
            specialSuccess = 8..28,
            success = 29..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        143 to SkillStep(
            criticalSuccess = 1..7,
            specialSuccess = 8..29,
            success = 30..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        144 to SkillStep(
            criticalSuccess = 1..7,
            specialSuccess = 8..29,
            success = 30..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        145 to SkillStep(
            criticalSuccess = 1..7,
            specialSuccess = 8..29,
            success = 30..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        146 to SkillStep(
            criticalSuccess = 1..7,
            specialSuccess = 8..29,
            success = 30..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        147 to SkillStep(
            criticalSuccess = 1..7,
            specialSuccess = 8..29,
            success = 30..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        148 to SkillStep(
            criticalSuccess = 1..7,
            specialSuccess = 8..30,
            success = 31..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        149 to SkillStep(
            criticalSuccess = 1..7,
            specialSuccess = 8..30,
            success = 31..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        150 to SkillStep(
            criticalSuccess = 1..8,
            specialSuccess = 9..30,
            success = 31..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        151 to SkillStep(
            criticalSuccess = 1..8,
            specialSuccess = 9..30,
            success = 31..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        152 to SkillStep(
            criticalSuccess = 1..8,
            specialSuccess = 9..30,
            success = 31..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        153 to SkillStep(
            criticalSuccess = 1..8,
            specialSuccess = 9..31,
            success = 32..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        154 to SkillStep(
            criticalSuccess = 1..8,
            specialSuccess = 9..31,
            success = 32..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        155 to SkillStep(
            criticalSuccess = 1..8,
            specialSuccess = 9..31,
            success = 32..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        156 to SkillStep(
            criticalSuccess = 1..8,
            specialSuccess = 9..31,
            success = 32..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        157 to SkillStep(
            criticalSuccess = 1..8,
            specialSuccess = 9..31,
            success = 32..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        158 to SkillStep(
            criticalSuccess = 1..8,
            specialSuccess = 9..32,
            success = 33..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        159 to SkillStep(
            criticalSuccess = 1..8,
            specialSuccess = 9..32,
            success = 33..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        160 to SkillStep(
            criticalSuccess = 1..8,
            specialSuccess = 9..32,
            success = 33..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        161 to SkillStep(
            criticalSuccess = 1..8,
            specialSuccess = 9..32,
            success = 33..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        162 to SkillStep(
            criticalSuccess = 1..8,
            specialSuccess = 9..32,
            success = 33..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        163 to SkillStep(
            criticalSuccess = 1..8,
            specialSuccess = 9..33,
            success = 34..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        164 to SkillStep(
            criticalSuccess = 1..8,
            specialSuccess = 9..33,
            success = 34..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        165 to SkillStep(
            criticalSuccess = 1..8,
            specialSuccess = 9..33,
            success = 34..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        166 to SkillStep(
            criticalSuccess = 1..8,
            specialSuccess = 9..33,
            success = 34..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        167 to SkillStep(
            criticalSuccess = 1..8,
            specialSuccess = 9..33,
            success = 34..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        168 to SkillStep(
            criticalSuccess = 1..8,
            specialSuccess = 9..34,
            success = 35..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        169 to SkillStep(
            criticalSuccess = 1..8,
            specialSuccess = 9..34,
            success = 35..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        170 to SkillStep(
            criticalSuccess = 1..8,
            specialSuccess = 9..34,
            success = 35..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        171 to SkillStep(
            criticalSuccess = 1..9,
            specialSuccess = 10..34,
            success = 35..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        172 to SkillStep(
            criticalSuccess = 1..9,
            specialSuccess = 10..34,
            success = 35..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        173 to SkillStep(
            criticalSuccess = 1..9,
            specialSuccess = 10..35,
            success = 36..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        174 to SkillStep(
            criticalSuccess = 1..9,
            specialSuccess = 10..35,
            success = 36..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        175 to SkillStep(
            criticalSuccess = 1..9,
            specialSuccess = 10..35,
            success = 36..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        176 to SkillStep(
            criticalSuccess = 1..9,
            specialSuccess = 10..35,
            success = 36..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        177 to SkillStep(
            criticalSuccess = 1..9,
            specialSuccess = 10..35,
            success = 36..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        178 to SkillStep(
            criticalSuccess = 1..9,
            specialSuccess = 10..36,
            success = 37..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        179 to SkillStep(
            criticalSuccess = 1..9,
            specialSuccess = 10..36,
            success = 37..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        180 to SkillStep(
            criticalSuccess = 1..9,
            specialSuccess = 10..36,
            success = 37..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        181 to SkillStep(
            criticalSuccess = 1..9,
            specialSuccess = 10..36,
            success = 37..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        182 to SkillStep(
            criticalSuccess = 1..9,
            specialSuccess = 10..36,
            success = 37..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        183 to SkillStep(
            criticalSuccess = 1..9,
            specialSuccess = 10..37,
            success = 38..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        184 to SkillStep(
            criticalSuccess = 1..9,
            specialSuccess = 10..37,
            success = 38..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        185 to SkillStep(
            criticalSuccess = 1..9,
            specialSuccess = 10..37,
            success = 38..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        186 to SkillStep(
            criticalSuccess = 1..9,
            specialSuccess = 10..37,
            success = 38..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        187 to SkillStep(
            criticalSuccess = 1..9,
            specialSuccess = 10..37,
            success = 38..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        188 to SkillStep(
            criticalSuccess = 1..9,
            specialSuccess = 10..38,
            success = 39..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        189 to SkillStep(
            criticalSuccess = 1..9,
            specialSuccess = 10..38,
            success = 39..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        190 to SkillStep(
            criticalSuccess = 1..10,
            specialSuccess = 11..38,
            success = 39..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        191 to SkillStep(
            criticalSuccess = 1..10,
            specialSuccess = 11..38,
            success = 39..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        192 to SkillStep(
            criticalSuccess = 1..10,
            specialSuccess = 11..38,
            success = 39..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        193 to SkillStep(
            criticalSuccess = 1..10,
            specialSuccess = 11..39,
            success = 40..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        194 to SkillStep(
            criticalSuccess = 1..10,
            specialSuccess = 11..39,
            success = 40..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        195 to SkillStep(
            criticalSuccess = 1..10,
            specialSuccess = 11..39,
            success = 40..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        196 to SkillStep(
            criticalSuccess = 1..10,
            specialSuccess = 11..39,
            success = 40..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        197 to SkillStep(
            criticalSuccess = 1..10,
            specialSuccess = 11..39,
            success = 40..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        198 to SkillStep(
            criticalSuccess = 1..10,
            specialSuccess = 11..40,
            success = 41..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        199 to SkillStep(
            criticalSuccess = 1..10,
            specialSuccess = 11..40,
            success = 41..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        200 to SkillStep(
            criticalSuccess = 1..10,
            specialSuccess = 11..40,
            success = 41..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        201 to SkillStep(
            criticalSuccess = 1..10,
            specialSuccess = 11..40,
            success = 41..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        202 to SkillStep(
            criticalSuccess = 1..10,
            specialSuccess = 11..40,
            success = 41..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        203 to SkillStep(
            criticalSuccess = 1..10,
            specialSuccess = 11..41,
            success = 42..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        204 to SkillStep(
            criticalSuccess = 1..10,
            specialSuccess = 11..41,
            success = 42..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        205 to SkillStep(
            criticalSuccess = 1..10,
            specialSuccess = 11..41,
            success = 42..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        206 to SkillStep(
            criticalSuccess = 1..10,
            specialSuccess = 11..41,
            success = 42..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        207 to SkillStep(
            criticalSuccess = 1..10,
            specialSuccess = 11..41,
            success = 42..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        208 to SkillStep(
            criticalSuccess = 1..10,
            specialSuccess = 11..42,
            success = 43..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        209 to SkillStep(
            criticalSuccess = 1..10,
            specialSuccess = 11..42,
            success = 43..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        210 to SkillStep(
            criticalSuccess = 1..10,
            specialSuccess = 11..42,
            success = 43..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        211 to SkillStep(
            criticalSuccess = 1..11,
            specialSuccess = 12..42,
            success = 43..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        212 to SkillStep(
            criticalSuccess = 1..11,
            specialSuccess = 12..42,
            success = 43..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        213 to SkillStep(
            criticalSuccess = 1..11,
            specialSuccess = 12..43,
            success = 44..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        214 to SkillStep(
            criticalSuccess = 1..11,
            specialSuccess = 12..43,
            success = 44..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        215 to SkillStep(
            criticalSuccess = 1..11,
            specialSuccess = 12..43,
            success = 44..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        216 to SkillStep(
            criticalSuccess = 1..11,
            specialSuccess = 12..43,
            success = 44..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        217 to SkillStep(
            criticalSuccess = 1..11,
            specialSuccess = 12..43,
            success = 44..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        218 to SkillStep(
            criticalSuccess = 1..11,
            specialSuccess = 12..44,
            success = 45..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        219 to SkillStep(
            criticalSuccess = 1..11,
            specialSuccess = 12..44,
            success = 45..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        220 to SkillStep(
            criticalSuccess = 1..11,
            specialSuccess = 12..44,
            success = 45..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        221 to SkillStep(
            criticalSuccess = 1..11,
            specialSuccess = 12..44,
            success = 45..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        222 to SkillStep(
            criticalSuccess = 1..11,
            specialSuccess = 12..44,
            success = 45..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        223 to SkillStep(
            criticalSuccess = 1..11,
            specialSuccess = 12..45,
            success = 46..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        224 to SkillStep(
            criticalSuccess = 1..11,
            specialSuccess = 12..45,
            success = 46..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        225 to SkillStep(
            criticalSuccess = 1..11,
            specialSuccess = 12..45,
            success = 46..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        226 to SkillStep(
            criticalSuccess = 1..11,
            specialSuccess = 12..45,
            success = 46..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        227 to SkillStep(
            criticalSuccess = 1..11,
            specialSuccess = 12..45,
            success = 46..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        228 to SkillStep(
            criticalSuccess = 1..11,
            specialSuccess = 12..46,
            success = 47..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        229 to SkillStep(
            criticalSuccess = 1..11,
            specialSuccess = 12..46,
            success = 47..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        230 to SkillStep(
            criticalSuccess = 1..12,
            specialSuccess = 13..46,
            success = 47..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        231 to SkillStep(
            criticalSuccess = 1..12,
            specialSuccess = 13..46,
            success = 47..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        232 to SkillStep(
            criticalSuccess = 1..12,
            specialSuccess = 13..46,
            success = 47..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        233 to SkillStep(
            criticalSuccess = 1..12,
            specialSuccess = 13..47,
            success = 48..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        234 to SkillStep(
            criticalSuccess = 1..12,
            specialSuccess = 13..47,
            success = 48..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        235 to SkillStep(
            criticalSuccess = 1..12,
            specialSuccess = 13..47,
            success = 48..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        236 to SkillStep(
            criticalSuccess = 1..12,
            specialSuccess = 13..47,
            success = 48..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        237 to SkillStep(
            criticalSuccess = 1..12,
            specialSuccess = 13..47,
            success = 48..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        238 to SkillStep(
            criticalSuccess = 1..12,
            specialSuccess = 13..48,
            success = 49..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        239 to SkillStep(
            criticalSuccess = 1..12,
            specialSuccess = 13..48,
            success = 49..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        240 to SkillStep(
            criticalSuccess = 1..12,
            specialSuccess = 13..48,
            success = 49..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        241 to SkillStep(
            criticalSuccess = 1..12,
            specialSuccess = 13..48,
            success = 49..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        242 to SkillStep(
            criticalSuccess = 1..12,
            specialSuccess = 13..48,
            success = 49..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        243 to SkillStep(
            criticalSuccess = 1..12,
            specialSuccess = 13..49,
            success = 50..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        244 to SkillStep(
            criticalSuccess = 1..12,
            specialSuccess = 13..49,
            success = 50..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        245 to SkillStep(
            criticalSuccess = 1..12,
            specialSuccess = 13..49,
            success = 50..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        246 to SkillStep(
            criticalSuccess = 1..12,
            specialSuccess = 13..49,
            success = 50..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        247 to SkillStep(
            criticalSuccess = 1..12,
            specialSuccess = 13..49,
            success = 50..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        248 to SkillStep(
            criticalSuccess = 1..12,
            specialSuccess = 13..50,
            success = 51..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        249 to SkillStep(
            criticalSuccess = 1..12,
            specialSuccess = 13..50,
            success = 51..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        250 to SkillStep(
            criticalSuccess = 1..12,
            specialSuccess = 13..50,
            success = 51..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        251 to SkillStep(
            criticalSuccess = 1..13,
            specialSuccess = 14..50,
            success = 51..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        252 to SkillStep(
            criticalSuccess = 1..13,
            specialSuccess = 14..50,
            success = 51..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        253 to SkillStep(
            criticalSuccess = 1..13,
            specialSuccess = 14..51,
            success = 52..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        254 to SkillStep(
            criticalSuccess = 1..13,
            specialSuccess = 14..51,
            success = 52..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        255 to SkillStep(
            criticalSuccess = 1..13,
            specialSuccess = 14..51,
            success = 52..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        256 to SkillStep(
            criticalSuccess = 1..13,
            specialSuccess = 14..51,
            success = 52..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        257 to SkillStep(
            criticalSuccess = 1..13,
            specialSuccess = 14..51,
            success = 52..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        258 to SkillStep(
            criticalSuccess = 1..13,
            specialSuccess = 14..52,
            success = 53..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        259 to SkillStep(
            criticalSuccess = 1..13,
            specialSuccess = 14..52,
            success = 53..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        260 to SkillStep(
            criticalSuccess = 1..13,
            specialSuccess = 14..52,
            success = 53..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        261 to SkillStep(
            criticalSuccess = 1..13,
            specialSuccess = 14..52,
            success = 53..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        262 to SkillStep(
            criticalSuccess = 1..13,
            specialSuccess = 14..52,
            success = 53..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        263 to SkillStep(
            criticalSuccess = 1..13,
            specialSuccess = 14..53,
            success = 54..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        264 to SkillStep(
            criticalSuccess = 1..13,
            specialSuccess = 14..53,
            success = 54..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        265 to SkillStep(
            criticalSuccess = 1..13,
            specialSuccess = 14..53,
            success = 54..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        266 to SkillStep(
            criticalSuccess = 1..13,
            specialSuccess = 14..53,
            success = 54..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        267 to SkillStep(
            criticalSuccess = 1..13,
            specialSuccess = 14..53,
            success = 54..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        268 to SkillStep(
            criticalSuccess = 1..13,
            specialSuccess = 14..54,
            success = 55..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        269 to SkillStep(
            criticalSuccess = 1..13,
            specialSuccess = 14..54,
            success = 55..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        270 to SkillStep(
            criticalSuccess = 1..14,
            specialSuccess = 15..54,
            success = 55..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        271 to SkillStep(
            criticalSuccess = 1..14,
            specialSuccess = 15..54,
            success = 55..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        272 to SkillStep(
            criticalSuccess = 1..14,
            specialSuccess = 15..54,
            success = 55..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        273 to SkillStep(
            criticalSuccess = 1..14,
            specialSuccess = 15..55,
            success = 56..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        274 to SkillStep(
            criticalSuccess = 1..14,
            specialSuccess = 15..55,
            success = 56..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        275 to SkillStep(
            criticalSuccess = 1..14,
            specialSuccess = 15..55,
            success = 56..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        276 to SkillStep(
            criticalSuccess = 1..14,
            specialSuccess = 15..55,
            success = 56..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        277 to SkillStep(
            criticalSuccess = 1..14,
            specialSuccess = 15..55,
            success = 56..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        278 to SkillStep(
            criticalSuccess = 1..14,
            specialSuccess = 15..56,
            success = 57..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        279 to SkillStep(
            criticalSuccess = 1..14,
            specialSuccess = 15..56,
            success = 57..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        280 to SkillStep(
            criticalSuccess = 1..14,
            specialSuccess = 15..56,
            success = 57..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        281 to SkillStep(
            criticalSuccess = 1..14,
            specialSuccess = 15..56,
            success = 57..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        282 to SkillStep(
            criticalSuccess = 1..14,
            specialSuccess = 15..56,
            success = 57..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        283 to SkillStep(
            criticalSuccess = 1..14,
            specialSuccess = 15..57,
            success = 58..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        284 to SkillStep(
            criticalSuccess = 1..14,
            specialSuccess = 15..57,
            success = 58..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        285 to SkillStep(
            criticalSuccess = 1..14,
            specialSuccess = 15..57,
            success = 58..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        286 to SkillStep(
            criticalSuccess = 1..14,
            specialSuccess = 15..57,
            success = 58..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        287 to SkillStep(
            criticalSuccess = 1..14,
            specialSuccess = 15..57,
            success = 58..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        288 to SkillStep(
            criticalSuccess = 1..14,
            specialSuccess = 15..58,
            success = 59..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        289 to SkillStep(
            criticalSuccess = 1..14,
            specialSuccess = 15..58,
            success = 59..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        290 to SkillStep(
            criticalSuccess = 1..14,
            specialSuccess = 15..58,
            success = 59..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        291 to SkillStep(
            criticalSuccess = 1..15,
            specialSuccess = 16..58,
            success = 59..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        292 to SkillStep(
            criticalSuccess = 1..15,
            specialSuccess = 16..58,
            success = 59..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        293 to SkillStep(
            criticalSuccess = 1..15,
            specialSuccess = 16..59,
            success = 60..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        294 to SkillStep(
            criticalSuccess = 1..15,
            specialSuccess = 16..59,
            success = 60..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        295 to SkillStep(
            criticalSuccess = 1..15,
            specialSuccess = 16..59,
            success = 60..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        296 to SkillStep(
            criticalSuccess = 1..15,
            specialSuccess = 16..59,
            success = 60..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        297 to SkillStep(
            criticalSuccess = 1..15,
            specialSuccess = 16..59,
            success = 60..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        298 to SkillStep(
            criticalSuccess = 1..15,
            specialSuccess = 16..60,
            success = 61..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        299 to SkillStep(
            criticalSuccess = 1..15,
            specialSuccess = 16..60,
            success = 61..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        300 to SkillStep(
            criticalSuccess = 1..15,
            specialSuccess = 16..60,
            success = 61..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        301 to SkillStep(
            criticalSuccess = 1..15,
            specialSuccess = 16..60,
            success = 61..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        302 to SkillStep(
            criticalSuccess = 1..15,
            specialSuccess = 16..60,
            success = 61..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        303 to SkillStep(
            criticalSuccess = 1..15,
            specialSuccess = 16..61,
            success = 62..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        304 to SkillStep(
            criticalSuccess = 1..15,
            specialSuccess = 16..61,
            success = 62..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        305 to SkillStep(
            criticalSuccess = 1..15,
            specialSuccess = 16..61,
            success = 62..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        306 to SkillStep(
            criticalSuccess = 1..15,
            specialSuccess = 16..61,
            success = 62..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        307 to SkillStep(
            criticalSuccess = 1..15,
            specialSuccess = 16..61,
            success = 62..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        308 to SkillStep(
            criticalSuccess = 1..15,
            specialSuccess = 16..62,
            success = 63..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        309 to SkillStep(
            criticalSuccess = 1..15,
            specialSuccess = 16..62,
            success = 63..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        310 to SkillStep(
            criticalSuccess = 1..16,
            specialSuccess = 17..62,
            success = 63..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        311 to SkillStep(
            criticalSuccess = 1..16,
            specialSuccess = 17..62,
            success = 63..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        312 to SkillStep(
            criticalSuccess = 1..16,
            specialSuccess = 17..62,
            success = 63..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        313 to SkillStep(
            criticalSuccess = 1..16,
            specialSuccess = 17..63,
            success = 64..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        314 to SkillStep(
            criticalSuccess = 1..16,
            specialSuccess = 17..63,
            success = 64..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        315 to SkillStep(
            criticalSuccess = 1..16,
            specialSuccess = 17..63,
            success = 64..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        316 to SkillStep(
            criticalSuccess = 1..16,
            specialSuccess = 17..63,
            success = 64..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        317 to SkillStep(
            criticalSuccess = 1..16,
            specialSuccess = 17..63,
            success = 64..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        318 to SkillStep(
            criticalSuccess = 1..16,
            specialSuccess = 17..64,
            success = 65..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        319 to SkillStep(
            criticalSuccess = 1..16,
            specialSuccess = 17..64,
            success = 65..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        320 to SkillStep(
            criticalSuccess = 1..16,
            specialSuccess = 17..64,
            success = 65..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        321 to SkillStep(
            criticalSuccess = 1..16,
            specialSuccess = 17..64,
            success = 65..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        322 to SkillStep(
            criticalSuccess = 1..16,
            specialSuccess = 17..64,
            success = 65..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        323 to SkillStep(
            criticalSuccess = 1..16,
            specialSuccess = 17..65,
            success = 66..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        324 to SkillStep(
            criticalSuccess = 1..16,
            specialSuccess = 17..65,
            success = 66..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        325 to SkillStep(
            criticalSuccess = 1..16,
            specialSuccess = 17..65,
            success = 66..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        326 to SkillStep(
            criticalSuccess = 1..16,
            specialSuccess = 17..65,
            success = 66..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        327 to SkillStep(
            criticalSuccess = 1..16,
            specialSuccess = 17..65,
            success = 66..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        328 to SkillStep(
            criticalSuccess = 1..16,
            specialSuccess = 17..66,
            success = 67..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        329 to SkillStep(
            criticalSuccess = 1..16,
            specialSuccess = 17..66,
            success = 67..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        330 to SkillStep(
            criticalSuccess = 1..16,
            specialSuccess = 17..66,
            success = 67..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        331 to SkillStep(
            criticalSuccess = 1..17,
            specialSuccess = 18..66,
            success = 67..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        332 to SkillStep(
            criticalSuccess = 1..17,
            specialSuccess = 18..66,
            success = 67..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        333 to SkillStep(
            criticalSuccess = 1..17,
            specialSuccess = 18..67,
            success = 68..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        334 to SkillStep(
            criticalSuccess = 1..17,
            specialSuccess = 18..67,
            success = 68..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        335 to SkillStep(
            criticalSuccess = 1..17,
            specialSuccess = 18..67,
            success = 68..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        336 to SkillStep(
            criticalSuccess = 1..17,
            specialSuccess = 18..67,
            success = 68..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        337 to SkillStep(
            criticalSuccess = 1..17,
            specialSuccess = 18..67,
            success = 68..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        338 to SkillStep(
            criticalSuccess = 1..17,
            specialSuccess = 18..68,
            success = 69..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        339 to SkillStep(
            criticalSuccess = 1..17,
            specialSuccess = 18..68,
            success = 69..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        340 to SkillStep(
            criticalSuccess = 1..17,
            specialSuccess = 18..68,
            success = 69..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        341 to SkillStep(
            criticalSuccess = 1..17,
            specialSuccess = 18..68,
            success = 69..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        342 to SkillStep(
            criticalSuccess = 1..17,
            specialSuccess = 18..68,
            success = 69..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        343 to SkillStep(
            criticalSuccess = 1..17,
            specialSuccess = 18..69,
            success = 70..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        344 to SkillStep(
            criticalSuccess = 1..17,
            specialSuccess = 18..69,
            success = 70..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        345 to SkillStep(
            criticalSuccess = 1..17,
            specialSuccess = 18..69,
            success = 70..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        346 to SkillStep(
            criticalSuccess = 1..17,
            specialSuccess = 18..69,
            success = 70..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        347 to SkillStep(
            criticalSuccess = 1..17,
            specialSuccess = 18..69,
            success = 70..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        348 to SkillStep(
            criticalSuccess = 1..17,
            specialSuccess = 18..70,
            success = 71..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        349 to SkillStep(
            criticalSuccess = 1..17,
            specialSuccess = 18..70,
            success = 71..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        350 to SkillStep(
            criticalSuccess = 1..18,
            specialSuccess = 19..70,
            success = 71..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        351 to SkillStep(
            criticalSuccess = 1..18,
            specialSuccess = 19..70,
            success = 71..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        352 to SkillStep(
            criticalSuccess = 1..18,
            specialSuccess = 19..70,
            success = 71..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        353 to SkillStep(
            criticalSuccess = 1..18,
            specialSuccess = 19..71,
            success = 72..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        354 to SkillStep(
            criticalSuccess = 1..18,
            specialSuccess = 19..71,
            success = 72..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        355 to SkillStep(
            criticalSuccess = 1..18,
            specialSuccess = 19..71,
            success = 72..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        356 to SkillStep(
            criticalSuccess = 1..18,
            specialSuccess = 19..71,
            success = 72..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        357 to SkillStep(
            criticalSuccess = 1..18,
            specialSuccess = 19..71,
            success = 72..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        358 to SkillStep(
            criticalSuccess = 1..18,
            specialSuccess = 19..72,
            success = 73..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        359 to SkillStep(
            criticalSuccess = 1..18,
            specialSuccess = 19..72,
            success = 73..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        360 to SkillStep(
            criticalSuccess = 1..18,
            specialSuccess = 19..72,
            success = 73..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        361 to SkillStep(
            criticalSuccess = 1..18,
            specialSuccess = 19..72,
            success = 73..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        362 to SkillStep(
            criticalSuccess = 1..18,
            specialSuccess = 19..72,
            success = 73..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        363 to SkillStep(
            criticalSuccess = 1..18,
            specialSuccess = 19..73,
            success = 74..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        364 to SkillStep(
            criticalSuccess = 1..18,
            specialSuccess = 19..73,
            success = 74..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        365 to SkillStep(
            criticalSuccess = 1..18,
            specialSuccess = 19..73,
            success = 74..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        366 to SkillStep(
            criticalSuccess = 1..18,
            specialSuccess = 19..73,
            success = 74..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        367 to SkillStep(
            criticalSuccess = 1..18,
            specialSuccess = 19..73,
            success = 74..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        368 to SkillStep(
            criticalSuccess = 1..18,
            specialSuccess = 19..74,
            success = 75..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        369 to SkillStep(
            criticalSuccess = 1..18,
            specialSuccess = 19..74,
            success = 75..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        370 to SkillStep(
            criticalSuccess = 1..18,
            specialSuccess = 19..74,
            success = 75..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        371 to SkillStep(
            criticalSuccess = 1..19,
            specialSuccess = 20..74,
            success = 75..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        372 to SkillStep(
            criticalSuccess = 1..19,
            specialSuccess = 20..74,
            success = 75..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        373 to SkillStep(
            criticalSuccess = 1..19,
            specialSuccess = 20..75,
            success = 76..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        374 to SkillStep(
            criticalSuccess = 1..19,
            specialSuccess = 20..75,
            success = 76..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        375 to SkillStep(
            criticalSuccess = 1..19,
            specialSuccess = 20..75,
            success = 76..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        376 to SkillStep(
            criticalSuccess = 1..19,
            specialSuccess = 20..75,
            success = 76..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        377 to SkillStep(
            criticalSuccess = 1..19,
            specialSuccess = 20..75,
            success = 76..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        378 to SkillStep(
            criticalSuccess = 1..19,
            specialSuccess = 20..76,
            success = 77..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        379 to SkillStep(
            criticalSuccess = 1..19,
            specialSuccess = 20..76,
            success = 77..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        380 to SkillStep(
            criticalSuccess = 1..19,
            specialSuccess = 20..76,
            success = 77..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        381 to SkillStep(
            criticalSuccess = 1..19,
            specialSuccess = 20..76,
            success = 77..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        382 to SkillStep(
            criticalSuccess = 1..19,
            specialSuccess = 20..76,
            success = 77..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        383 to SkillStep(
            criticalSuccess = 1..19,
            specialSuccess = 20..77,
            success = 78..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        384 to SkillStep(
            criticalSuccess = 1..19,
            specialSuccess = 20..77,
            success = 78..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        385 to SkillStep(
            criticalSuccess = 1..19,
            specialSuccess = 20..77,
            success = 78..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        386 to SkillStep(
            criticalSuccess = 1..19,
            specialSuccess = 20..77,
            success = 78..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        387 to SkillStep(
            criticalSuccess = 1..19,
            specialSuccess = 20..77,
            success = 78..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        388 to SkillStep(
            criticalSuccess = 1..19,
            specialSuccess = 20..78,
            success = 79..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        389 to SkillStep(
            criticalSuccess = 1..19,
            specialSuccess = 20..78,
            success = 79..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        390 to SkillStep(
            criticalSuccess = 1..20,
            specialSuccess = 21..78,
            success = 79..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        391 to SkillStep(
            criticalSuccess = 1..20,
            specialSuccess = 21..78,
            success = 79..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        392 to SkillStep(
            criticalSuccess = 1..20,
            specialSuccess = 21..78,
            success = 79..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        393 to SkillStep(
            criticalSuccess = 1..20,
            specialSuccess = 21..79,
            success = 80..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        394 to SkillStep(
            criticalSuccess = 1..20,
            specialSuccess = 21..79,
            success = 80..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        395 to SkillStep(
            criticalSuccess = 1..20,
            specialSuccess = 21..79,
            success = 80..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        396 to SkillStep(
            criticalSuccess = 1..20,
            specialSuccess = 21..79,
            success = 80..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        397 to SkillStep(
            criticalSuccess = 1..20,
            specialSuccess = 21..79,
            success = 80..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        398 to SkillStep(
            criticalSuccess = 1..20,
            specialSuccess = 21..80,
            success = 81..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        399 to SkillStep(
            criticalSuccess = 1..20,
            specialSuccess = 21..80,
            success = 81..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        400 to SkillStep(
            criticalSuccess = 1..20,
            specialSuccess = 21..80,
            success = 81..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        401 to SkillStep(
            criticalSuccess = 1..20,
            specialSuccess = 21..80,
            success = 81..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        402 to SkillStep(
            criticalSuccess = 1..20,
            specialSuccess = 21..80,
            success = 81..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        403 to SkillStep(
            criticalSuccess = 1..20,
            specialSuccess = 21..81,
            success = 82..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        404 to SkillStep(
            criticalSuccess = 1..20,
            specialSuccess = 21..81,
            success = 82..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        405 to SkillStep(
            criticalSuccess = 1..20,
            specialSuccess = 21..81,
            success = 82..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        406 to SkillStep(
            criticalSuccess = 1..20,
            specialSuccess = 21..81,
            success = 82..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        407 to SkillStep(
            criticalSuccess = 1..20,
            specialSuccess = 21..81,
            success = 82..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        408 to SkillStep(
            criticalSuccess = 1..20,
            specialSuccess = 21..82,
            success = 83..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        409 to SkillStep(
            criticalSuccess = 1..20,
            specialSuccess = 21..82,
            success = 83..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        410 to SkillStep(
            criticalSuccess = 1..20,
            specialSuccess = 21..82,
            success = 83..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        411 to SkillStep(
            criticalSuccess = 1..21,
            specialSuccess = 22..82,
            success = 83..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        412 to SkillStep(
            criticalSuccess = 1..21,
            specialSuccess = 22..82,
            success = 83..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        413 to SkillStep(
            criticalSuccess = 1..21,
            specialSuccess = 22..83,
            success = 84..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        414 to SkillStep(
            criticalSuccess = 1..21,
            specialSuccess = 22..83,
            success = 84..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        415 to SkillStep(
            criticalSuccess = 1..21,
            specialSuccess = 22..83,
            success = 84..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        416 to SkillStep(
            criticalSuccess = 1..21,
            specialSuccess = 22..83,
            success = 84..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        417 to SkillStep(
            criticalSuccess = 1..21,
            specialSuccess = 22..83,
            success = 84..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        418 to SkillStep(
            criticalSuccess = 1..21,
            specialSuccess = 22..84,
            success = 85..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        419 to SkillStep(
            criticalSuccess = 1..21,
            specialSuccess = 22..84,
            success = 85..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        420 to SkillStep(
            criticalSuccess = 1..21,
            specialSuccess = 22..84,
            success = 85..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        421 to SkillStep(
            criticalSuccess = 1..21,
            specialSuccess = 22..84,
            success = 85..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        422 to SkillStep(
            criticalSuccess = 1..21,
            specialSuccess = 22..84,
            success = 85..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        423 to SkillStep(
            criticalSuccess = 1..21,
            specialSuccess = 22..85,
            success = 86..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        424 to SkillStep(
            criticalSuccess = 1..21,
            specialSuccess = 22..85,
            success = 86..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        425 to SkillStep(
            criticalSuccess = 1..21,
            specialSuccess = 22..85,
            success = 86..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        426 to SkillStep(
            criticalSuccess = 1..21,
            specialSuccess = 22..85,
            success = 86..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        427 to SkillStep(
            criticalSuccess = 1..21,
            specialSuccess = 22..85,
            success = 86..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        428 to SkillStep(
            criticalSuccess = 1..21,
            specialSuccess = 22..86,
            success = 87..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        429 to SkillStep(
            criticalSuccess = 1..21,
            specialSuccess = 22..86,
            success = 87..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        430 to SkillStep(
            criticalSuccess = 1..22,
            specialSuccess = 23..86,
            success = 87..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        431 to SkillStep(
            criticalSuccess = 1..22,
            specialSuccess = 23..86,
            success = 87..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        432 to SkillStep(
            criticalSuccess = 1..22,
            specialSuccess = 23..86,
            success = 87..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        433 to SkillStep(
            criticalSuccess = 1..22,
            specialSuccess = 23..87,
            success = 88..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        434 to SkillStep(
            criticalSuccess = 1..22,
            specialSuccess = 23..87,
            success = 88..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        435 to SkillStep(
            criticalSuccess = 1..22,
            specialSuccess = 23..87,
            success = 88..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        436 to SkillStep(
            criticalSuccess = 1..22,
            specialSuccess = 23..87,
            success = 88..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        437 to SkillStep(
            criticalSuccess = 1..22,
            specialSuccess = 23..87,
            success = 88..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        438 to SkillStep(
            criticalSuccess = 1..22,
            specialSuccess = 23..88,
            success = 89..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        439 to SkillStep(
            criticalSuccess = 1..22,
            specialSuccess = 23..88,
            success = 89..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        440 to SkillStep(
            criticalSuccess = 1..22,
            specialSuccess = 23..88,
            success = 89..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        441 to SkillStep(
            criticalSuccess = 1..22,
            specialSuccess = 23..88,
            success = 89..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        442 to SkillStep(
            criticalSuccess = 1..22,
            specialSuccess = 23..88,
            success = 89..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        443 to SkillStep(
            criticalSuccess = 1..22,
            specialSuccess = 23..89,
            success = 90..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        444 to SkillStep(
            criticalSuccess = 1..22,
            specialSuccess = 23..89,
            success = 90..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        445 to SkillStep(
            criticalSuccess = 1..22,
            specialSuccess = 23..89,
            success = 90..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        446 to SkillStep(
            criticalSuccess = 1..22,
            specialSuccess = 23..89,
            success = 90..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        447 to SkillStep(
            criticalSuccess = 1..22,
            specialSuccess = 23..89,
            success = 90..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        448 to SkillStep(
            criticalSuccess = 1..22,
            specialSuccess = 23..90,
            success = 91..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        449 to SkillStep(
            criticalSuccess = 1..22,
            specialSuccess = 23..90,
            success = 91..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        450 to SkillStep(
            criticalSuccess = 1..22,
            specialSuccess = 23..90,
            success = 91..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        451 to SkillStep(
            criticalSuccess = 1..23,
            specialSuccess = 24..90,
            success = 91..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        452 to SkillStep(
            criticalSuccess = 1..23,
            specialSuccess = 24..90,
            success = 91..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        453 to SkillStep(
            criticalSuccess = 1..23,
            specialSuccess = 24..91,
            success = 92..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        454 to SkillStep(
            criticalSuccess = 1..23,
            specialSuccess = 24..91,
            success = 92..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        455 to SkillStep(
            criticalSuccess = 1..23,
            specialSuccess = 24..91,
            success = 92..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        456 to SkillStep(
            criticalSuccess = 1..23,
            specialSuccess = 24..91,
            success = 92..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        457 to SkillStep(
            criticalSuccess = 1..23,
            specialSuccess = 24..91,
            success = 92..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        458 to SkillStep(
            criticalSuccess = 1..23,
            specialSuccess = 24..92,
            success = 93..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        459 to SkillStep(
            criticalSuccess = 1..23,
            specialSuccess = 24..92,
            success = 93..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        460 to SkillStep(
            criticalSuccess = 1..23,
            specialSuccess = 24..92,
            success = 93..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        461 to SkillStep(
            criticalSuccess = 1..23,
            specialSuccess = 24..92,
            success = 93..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        462 to SkillStep(
            criticalSuccess = 1..23,
            specialSuccess = 24..92,
            success = 93..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        463 to SkillStep(
            criticalSuccess = 1..23,
            specialSuccess = 24..93,
            success = 94..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        464 to SkillStep(
            criticalSuccess = 1..23,
            specialSuccess = 24..93,
            success = 94..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        465 to SkillStep(
            criticalSuccess = 1..23,
            specialSuccess = 24..93,
            success = 94..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        466 to SkillStep(
            criticalSuccess = 1..23,
            specialSuccess = 24..93,
            success = 94..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        467 to SkillStep(
            criticalSuccess = 1..23,
            specialSuccess = 24..93,
            success = 94..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        468 to SkillStep(
            criticalSuccess = 1..23,
            specialSuccess = 24..94,
            success = 95..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        469 to SkillStep(
            criticalSuccess = 1..23,
            specialSuccess = 24..94,
            success = 95..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        470 to SkillStep(
            criticalSuccess = 1..24,
            specialSuccess = 25..94,
            success = 95..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        471 to SkillStep(
            criticalSuccess = 1..24,
            specialSuccess = 25..94,
            success = 95..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        472 to SkillStep(
            criticalSuccess = 1..24,
            specialSuccess = 25..94,
            success = 95..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        473 to SkillStep(
            criticalSuccess = 1..24,
            specialSuccess = 25..95,
            success = 96..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        474 to SkillStep(
            criticalSuccess = 1..24,
            specialSuccess = 25..95,
            success = 96..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        475 to SkillStep(
            criticalSuccess = 1..24,
            specialSuccess = 25..95,
            success = 96..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        476 to SkillStep(
            criticalSuccess = 1..24,
            specialSuccess = 25..95,
            success = 96..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        477 to SkillStep(
            criticalSuccess = 1..24,
            specialSuccess = 25..95,
            success = 96..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        478 to SkillStep(
            criticalSuccess = 1..24,
            specialSuccess = 25..96,
            success = 97..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        479 to SkillStep(
            criticalSuccess = 1..24,
            specialSuccess = 25..96,
            success = 97..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        480 to SkillStep(
            criticalSuccess = 1..24,
            specialSuccess = 25..96,
            success = 97..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        481 to SkillStep(
            criticalSuccess = 1..24,
            specialSuccess = 25..96,
            success = 97..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        482 to SkillStep(
            criticalSuccess = 1..24,
            specialSuccess = 25..96,
            success = 97..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        483 to SkillStep(
            criticalSuccess = 1..24,
            specialSuccess = 25..97,
            success = 98..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        484 to SkillStep(
            criticalSuccess = 1..24,
            specialSuccess = 25..97,
            success = 98..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        485 to SkillStep(
            criticalSuccess = 1..24,
            specialSuccess = 25..97,
            success = 98..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        486 to SkillStep(
            criticalSuccess = 1..24,
            specialSuccess = 25..97,
            success = 98..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        487 to SkillStep(
            criticalSuccess = 1..24,
            specialSuccess = 25..97,
            success = 98..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        488 to SkillStep(
            criticalSuccess = 1..24,
            specialSuccess = 25..98,
            success = 99..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        489 to SkillStep(
            criticalSuccess = 1..24,
            specialSuccess = 25..98,
            success = 99..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        490 to SkillStep(
            criticalSuccess = 1..24,
            specialSuccess = 25..98,
            success = 99..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        491 to SkillStep(
            criticalSuccess = 1..25,
            specialSuccess = 26..98,
            success = 99..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        492 to SkillStep(
            criticalSuccess = 1..25,
            specialSuccess = 26..98,
            success = 99..99,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        493 to SkillStep(
            criticalSuccess = 1..25,
            specialSuccess = 26..99,
            success = -1..-1,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        494 to SkillStep(
            criticalSuccess = 1..25,
            specialSuccess = 26..99,
            success = -1..-1,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        495 to SkillStep(
            criticalSuccess = 1..25,
            specialSuccess = 26..99,
            success = -1..-1,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        496 to SkillStep(
            criticalSuccess = 1..25,
            specialSuccess = 26..99,
            success = -1..-1,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        497 to SkillStep(
            criticalSuccess = 1..25,
            specialSuccess = 26..99,
            success = -1..-1,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        498 to SkillStep(
            criticalSuccess = 1..25,
            specialSuccess = 26..99,
            success = -1..-1,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        499 to SkillStep(
            criticalSuccess = 1..25,
            specialSuccess = 26..99,
            success = -1..-1,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
        500 to SkillStep(
            criticalSuccess = 1..25,
            specialSuccess = 26..99,
            success = -1..-1,
            failure = -1..-1,
            criticalFailure = 100..100
        ),
    )
}