Create a solar system Intro

This is based on an actual problem I recently faced while making a computer game and I thought it would make for a nice round of code-golf.

There are seven main spectral classes of star which put out varying amounts of heat. The geology of planets around a star are greatly influenced by the amount of heat received from the star, which is a factor of spectral class and distance from the star. Hence Mercury is practically molten, Neptune frozen.

The galaxy in my game is procedurally generated and randomly selecting planet types for given stars turned out to be a real 'if statement hell'!

The challenge

Your method should select one planet from a list of planet types appropriate for the class of star, based on a minimum heat threshold, a maximum heat threshold and a random number.
For simplicity this challenge will only use a class G star, just like our sun.

Inputs

An integer heat in the range 4 to 11 representing the amount of heat received by the planet from the star.

Variables

This table shows the possible planets based on heat. Your method should first narrow the available choices based on the heat min and heat max, heat should fall on or between the two. E.g. with a heat of 10 passed in the only choices would be Desert, Iron and Lava.

Planet type    Heat min   Heat max   Random Chance
Gas Giant         4          9            15
Ice               4          6            10
Ice Giant         4          6            10
Gaia class        5          7            10
Dense Atmosphere  7          9            10
Desert            7          10           25
Iron              7          10           14
Lava             10          11           6


Next, the probability of a planet (in the remaining choices) being chosen is its random chances divided by the sum of the random chances of all the choices.

In the above example, the probability of Iron being chosen is 14/(25+14+6).

Output

Return the planet type as a string.

Do the best you can to avoid logic arrowheads. Shortest code wins, points all round for creativity. Happy golfing!
Jelly, 78 bytes
“'ĖøÆḳƙ’ḃ7ṣ6+\+3r/ċ€×“½½½½©ÐÇı‘
“ŀỊẋ8ƒ³ẈRɼƈñqẋẏȧɱḌ&lt;ṄỴḳ⁾ÆʋeẒĊ'@ƬØƓƝ}ḟ¬»ỴW€ẋ&quot;ÇẎX

A monadic link accepting an integer (in [4,11]) which returns a list of characters.
Try it online!
How?
Creates the heat ranges of the planets as a list of lists and counts the occurrences of the input heat in those lists to get a list of zeros and ones representing which planet types are possible, then multiplies by the likelihood numbers of the eight planet types to get the distribution. The distribution is used to repeat the planet type names, and finally a uniform random choice is made.
“'ĖøÆḳƙ’ḃ7ṣ6+\+3r/ċ€×“½½½½©ÐÇı‘ - Link 1, getDistribution: integer
“'ĖøÆḳƙ’                        - base 250 integer = 39824688429662
        ḃ7                      - to bijective-base 7 = [1,1,2,4,7,1,4,4,6,2,2,2,2,1,5,3,3]
          ṣ6                    - split at sixes = [[1,1,2,4,7,1,4,4][2,2,2,2,1,5,3,3]]
             \                  - cumulative reduce with:
            +                   -   addition = [[1,1,2,4,7,1,4,4][3,3,4,6,8,6,7,7]]
              +3                - add three = [[4,4,5,7,10,4,7,7],[6,6,7,9,11,9,10,10]]
                 /              - reduce with:
                r               -   inclusive range = [[4,5,6],[4,5,6],[5,6,7],[7,8,9],[10,11],[4,5,6,7,8,9],[7,8,9,10],[7,8,9,10]]
                  ċ€            - count (input) in €ach e.g. for 5: [1, 1, 1, 0,0, 1, 0, 0]
                     “½½½½©ÐÇı‘ - list of code-page indices        [10,10,10,10,6,15,14,25]
                    ×           - multiply                         [10,10,10, 0,0,15, 0, 0]

“ ... »ỴW€ẋ&quot;ÇẎX - Main link: integer
“ ... »         - compressed string = &quot;Ice\nIce Giant\nGaia class\nDense Atmosphere\nLava\nGas Giant\nIron\nDesert&quot;
       Ỵ        - split at new lines = [&quot;Ice&quot;,&quot;Ice Giant&quot;,&quot;Gaia class&quot;,&quot;Dense Atmosphere&quot;,&quot;Lava&quot;,&quot;Gas Giant&quot;,&quot;Iron&quot;,&quot;Desert&quot;]
        W€      - wrap €ach in a list
            Ç   - call last link (1) as a monad e.g. for 5: [10,10,10,0,0,15,0,0]
           &quot;    - zip with:
          ẋ     -   repeat e.g. for 5:  [[&quot;Ice&quot;,&quot;Ice&quot;,&quot;Ice&quot;,&quot;Ice&quot;,&quot;Ice&quot;,&quot;Ice&quot;,&quot;Ice&quot;,&quot;Ice&quot;,&quot;Ice&quot;,&quot;Ice&quot;],[&quot;Ice Giant&quot;,&quot;Ice Giant&quot;,&quot;Ice Giant&quot;,&quot;Ice Giant&quot;,&quot;Ice Giant&quot;,&quot;Ice Giant&quot;,&quot;Ice Giant&quot;,&quot;Ice Giant&quot;,&quot;Ice Giant&quot;,&quot;Ice Giant&quot;],[&quot;Gaia class&quot;,&quot;Gaia class&quot;,&quot;Gaia class&quot;,&quot;Gaia class&quot;,&quot;Gaia class&quot;,&quot;Gaia class&quot;,&quot;Gaia class&quot;,&quot;Gaia class&quot;,&quot;Gaia class&quot;,&quot;Gaia class&quot;],[&quot;Gas Giant&quot;,&quot;Gas Giant&quot;,&quot;Gas Giant&quot;,&quot;Gas Giant&quot;,&quot;Gas Giant&quot;,&quot;Gas Giant&quot;,&quot;Gas Giant&quot;,&quot;Gas Giant&quot;,&quot;Gas Giant&quot;,&quot;Gas Giant&quot;,&quot;Gas Giant&quot;,&quot;Gas Giant&quot;,&quot;Gas Giant&quot;,&quot;Gas Giant&quot;,&quot;Gas Giant&quot;]]
             Ẏ  - tighten               [&quot;Ice&quot;,&quot;Ice&quot;,&quot;Ice&quot;,&quot;Ice&quot;,&quot;Ice&quot;,&quot;Ice&quot;,&quot;Ice&quot;,&quot;Ice&quot;,&quot;Ice&quot;,&quot;Ice&quot;,&quot;Ice Giant&quot;,&quot;Ice Giant&quot;,&quot;Ice Giant&quot;,&quot;Ice Giant&quot;,&quot;Ice Giant&quot;,&quot;Ice Giant&quot;,&quot;Ice Giant&quot;,&quot;Ice Giant&quot;,&quot;Ice Giant&quot;,&quot;Ice Giant&quot;,&quot;Gaia class&quot;,&quot;Gaia class&quot;,&quot;Gaia class&quot;,&quot;Gaia class&quot;,&quot;Gaia class&quot;,&quot;Gaia class&quot;,&quot;Gaia class&quot;,&quot;Gaia class&quot;,&quot;Gaia class&quot;,&quot;Gaia class&quot;,&quot;Gas Giant&quot;,&quot;Gas Giant&quot;,&quot;Gas Giant&quot;,&quot;Gas Giant&quot;,&quot;Gas Giant&quot;,&quot;Gas Giant&quot;,&quot;Gas Giant&quot;,&quot;Gas Giant&quot;,&quot;Gas Giant&quot;,&quot;Gas Giant&quot;,&quot;Gas Giant&quot;,&quot;Gas Giant&quot;,&quot;Gas Giant&quot;,&quot;Gas Giant&quot;,&quot;Gas Giant&quot;]
              X - a random choice from that list