• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

IV letter grades on the stat screen and PC screen

79
Posts
8
Years
    • Seen Jan 12, 2024
    Instead of having a separate page for IVs like other fangames have had, this gives each stat a letter grade on the stat screen and PC screen:
    https://imgur.com/a/90wX8wu

    The IVs are graded as follows:
    31=S
    23-30=A
    16-22=B
    8-15=C
    1-7=D
    0=F

    First, save these sprites in graphics/pictures
    https://imgur.com/a/FQy5wJR

    Next, in PScreen_Summary, paste above def drawPage(page)

    Code:
    [SPOILER]  #=============================================================================
      # IV Ratings - Shows IV ratings on Page 3 (Stats)
      #=============================================================================
      def pbDisplayIVRating
        ratingf=sprintf("Graphics/Pictures/RatingF")
        ratingd=sprintf("Graphics/Pictures/RatingD")
        ratingc=sprintf("Graphics/Pictures/RatingC")
        ratingb=sprintf("Graphics/Pictures/RatingB")
        ratinga=sprintf("Graphics/Pictures/RatingA")
        ratings=sprintf("Graphics/Pictures/RatingS")
        overlay = @sprites["overlay"].bitmap
        imagepos=[]
        #HP
        if @pokemon.iv[0]>30
          imagepos.push([ratings,465,82,0,0,-1,-1])
        elsif @pokemon.iv[0]>22 && @pokemon.iv[0]<31
          imagepos.push([ratinga,465,82,0,0,-1,-1])
        elsif @pokemon.iv[0]>15 && @pokemon.iv[0]<23
          imagepos.push([ratingb,465,82,0,0,-1,-1])
        elsif @pokemon.iv[0]>7 && @pokemon.iv[0]<16
          imagepos.push([ratingc,465,82,0,0,-1,-1])
        elsif @pokemon.iv[0]>0 && @pokemon.iv[0]<8
          imagepos.push([ratingd,465,82,0,0,-1,-1])
        else
          imagepos.push([ratingf,465,82,0,0,-1,-1])
        end
        #Atk
        if @pokemon.iv[1]>30
          imagepos.push([ratings,465,126,0,0,-1,-1])
        elsif @pokemon.iv[1]>22 && @pokemon.iv[1]<31
          imagepos.push([ratinga,465,126,0,0,-1,-1])
        elsif @pokemon.iv[1]>15 && @pokemon.iv[1]<23
          imagepos.push([ratingb,465,126,0,0,-1,-1])
        elsif @pokemon.iv[1]>7 && @pokemon.iv[1]<16
          imagepos.push([ratingc,465,126,0,0,-1,-1])
        elsif @pokemon.iv[1]>0 && @pokemon.iv[1]<8
          imagepos.push([ratingd,465,126,0,0,-1,-1])
        else
          imagepos.push([ratingf,465,126,0,0,-1,-1])
        end
        #Def
        if @pokemon.iv[2]>30
          imagepos.push([ratings,465,158,0,0,-1,-1])
        elsif @pokemon.iv[2]>22 && @pokemon.iv[2]<31
          imagepos.push([ratinga,465,158,0,0,-1,-1])
        elsif @pokemon.iv[2]>15 && @pokemon.iv[2]<23
          imagepos.push([ratingb,465,158,0,0,-1,-1])
        elsif @pokemon.iv[2]>7 && @pokemon.iv[2]<16
          imagepos.push([ratingc,465,158,0,0,-1,-1])
        elsif @pokemon.iv[2]>0 && @pokemon.iv[2]<8
          imagepos.push([ratingd,465,158,0,0,-1,-1])
        else
          imagepos.push([ratingf,465,158,0,0,-1,-1])
        end
        #SpAtk
        if @pokemon.iv[4]>30
          imagepos.push([ratings,465,190,0,0,-1,-1])
        elsif @pokemon.iv[4]>22 && @pokemon.iv[4]<31
          imagepos.push([ratinga,465,190,0,0,-1,-1])
        elsif @pokemon.iv[4]>15 && @pokemon.iv[4]<23
          imagepos.push([ratingb,465,190,0,0,-1,-1])
        elsif @pokemon.iv[4]>7 && @pokemon.iv[4]<16
          imagepos.push([ratingc,465,190,0,0,-1,-1])
        elsif @pokemon.iv[4]>0 && @pokemon.iv[4]<8
          imagepos.push([ratingd,465,190,0,0,-1,-1])
        else
          imagepos.push([ratingf,465,190,0,0,-1,-1])
        end
        #SpDef
        if @pokemon.iv[5]>30
          imagepos.push([ratings,465,222,0,0,-1,-1])
        elsif @pokemon.iv[5]>22 && @pokemon.iv[5]<31
          imagepos.push([ratinga,465,222,0,0,-1,-1])
        elsif @pokemon.iv[5]>15 && @pokemon.iv[5]<23
          imagepos.push([ratingb,465,222,0,0,-1,-1])
        elsif @pokemon.iv[5]>7 && @pokemon.iv[5]<16
          imagepos.push([ratingc,465,222,0,0,-1,-1])
        elsif @pokemon.iv[5]>0 && @pokemon.iv[5]<8
          imagepos.push([ratingd,465,222,0,0,-1,-1])
        else
          imagepos.push([ratingf,465,222,0,0,-1,-1])
        end
        #Speed
        if @pokemon.iv[3]>30
          imagepos.push([ratings,465,254,0,0,-1,-1])
        elsif @pokemon.iv[3]>22 && @pokemon.iv[3]<31
          imagepos.push([ratinga,465,254,0,0,-1,-1])
        elsif @pokemon.iv[3]>15 && @pokemon.iv[3]<23
          imagepos.push([ratingb,465,254,0,0,-1,-1])
        elsif @pokemon.iv[3]>7 && @pokemon.iv[3]<16
          imagepos.push([ratingc,465,254,0,0,-1,-1])
        elsif @pokemon.iv[3]>0 && @pokemon.iv[3]<8
          imagepos.push([ratingd,465,254,0,0,-1,-1])
        else
          imagepos.push([ratingf,465,254,0,0,-1,-1])
        end
        pbDrawImagePositions(overlay,imagepos)
      end [/SPOILER]

    Still in PScreen_Summary, paste inside def drawPageThree

    Code:
        pbDisplayIVRating

    In PScreen_PokemonStorage, paste below if pokemon.isShiny?

    Code:
    [SPOILER]      #=========================================================================
          # IV Ratings Gauge
          #=========================================================================
          ratingf="Graphics/Pictures/RatingF"
          ratingd="Graphics/Pictures/RatingD"
          ratingc="Graphics/Pictures/RatingC"
          ratingb="Graphics/Pictures/RatingB"
          ratinga="Graphics/Pictures/RatingA"
          ratings="Graphics/Pictures/RatingS"
          #HP
          if pokemon.iv[0]>30
            imagepos.push([ratings,8,198,0,0,-1,-1])
          elsif pokemon.iv[0]>22 && pokemon.iv[0]<31
            imagepos.push([ratinga,8,198,0,0,-1,-1])
          elsif pokemon.iv[0]>15 && pokemon.iv[0]<23
            imagepos.push([ratingb,8,198,0,0,-1,-1])
          elsif pokemon.iv[0]>7 && pokemon.iv[0]<16
            imagepos.push([ratingc,8,198,0,0,-1,-1])
          elsif pokemon.iv[0]>0 && pokemon.iv[0]<8
            imagepos.push([ratingd,8,198,0,0,-1,-1])
          else
            imagepos.push([ratingf,8,198,0,0,-1,-1])
          end
          #Atk
          if pokemon.iv[1]>30
            imagepos.push([ratings,24,198,0,0,-1,-1])
          elsif pokemon.iv[1]>22 && pokemon.iv[1]<31
            imagepos.push([ratinga,24,198,0,0,-1,-1])
          elsif pokemon.iv[1]>15 && pokemon.iv[1]<23
            imagepos.push([ratingb,24,198,0,0,-1,-1])
          elsif pokemon.iv[1]>7 && pokemon.iv[1]<16
            imagepos.push([ratingc,24,198,0,0,-1,-1])
          elsif pokemon.iv[1]>0 && pokemon.iv[1]<8
            imagepos.push([ratingd,24,198,0,0,-1,-1])
          else
            imagepos.push([ratingf,24,198,0,0,-1,-1])
          end
          #Def
          if pokemon.iv[2]>30
            imagepos.push([ratings,40,198,0,0,-1,-1])
          elsif pokemon.iv[2]>22 && pokemon.iv[2]<31
            imagepos.push([ratinga,40,198,0,0,-1,-1])
          elsif pokemon.iv[2]>15 && pokemon.iv[2]<23
            imagepos.push([ratingb,40,198,0,0,-1,-1])
          elsif pokemon.iv[2]>7 && pokemon.iv[2]<16
            imagepos.push([ratingc,40,198,0,0,-1,-1])
          elsif pokemon.iv[2]>0 && pokemon.iv[2]<8
            imagepos.push([ratingd,40,198,0,0,-1,-1])
          else
            imagepos.push([ratingf,40,198,0,0,-1,-1])
          end
          #SpAtk
          if pokemon.iv[4]>30
            imagepos.push([ratings,56,198,0,0,-1,-1])
          elsif pokemon.iv[4]>22 && pokemon.iv[4]<31
            imagepos.push([ratinga,56,198,0,0,-1,-1])
          elsif pokemon.iv[4]>15 && pokemon.iv[4]<23
            imagepos.push([ratingb,56,198,0,0,-1,-1])
          elsif pokemon.iv[4]>7 && pokemon.iv[4]<16
            imagepos.push([ratingc,56,198,0,0,-1,-1])
          elsif pokemon.iv[4]>0 && pokemon.iv[4]<8
            imagepos.push([ratingd,56,198,0,0,-1,-1])
          else
            imagepos.push([ratingf,56,198,0,0,-1,-1])
          end
          #SpDef
          if pokemon.iv[5]>30
            imagepos.push([ratings,72,198,0,0,-1,-1])
          elsif pokemon.iv[5]>22 && pokemon.iv[5]<31
            imagepos.push([ratinga,72,198,0,0,-1,-1])
          elsif pokemon.iv[5]>15 && pokemon.iv[5]<23
            imagepos.push([ratingb,72,198,0,0,-1,-1])
          elsif pokemon.iv[5]>7 && pokemon.iv[5]<16
            imagepos.push([ratingc,72,198,0,0,-1,-1])
          elsif pokemon.iv[5]>0 && pokemon.iv[5]<8
            imagepos.push([ratingd,72,198,0,0,-1,-1])
          else
            imagepos.push([ratingf,72,198,0,0,-1,-1])
          end
          #Speed
          if pokemon.iv[3]>30
            imagepos.push([ratings,88,198,0,0,-1,-1])
          elsif pokemon.iv[3]>22 && pokemon.iv[3]<31
            imagepos.push([ratinga,88,198,0,0,-1,-1])
          elsif pokemon.iv[3]>15 && pokemon.iv[3]<23
            imagepos.push([ratingb,88,198,0,0,-1,-1])
          elsif pokemon.iv[3]>7 && pokemon.iv[3]<16
            imagepos.push([ratingc,88,198,0,0,-1,-1])
          elsif pokemon.iv[3]>0 && pokemon.iv[3]<8
            imagepos.push([ratingd,88,198,0,0,-1,-1])
          else
            imagepos.push([ratingf,88,198,0,0,-1,-1])
          end
          #=========================================================================[/SPOILER]

    This is an adaptation of Lucidious89's IV star script, so make sure to credit them as well!
    https://www.pokecommunity.com/showthread.php?p=8957793#8957793
     
    1,407
    Posts
    10
    Years
    • Online now
    Looks good, I like the letter graphics you used. It's easier to tell at a glance the IV quality, and you give more narrowed down ranges than I did. I always meant to go back and make more star graphics so I can have a wider range of IV numbers I could cover, but I never did lol.
     
    79
    Posts
    8
    Years
    • Seen Jan 12, 2024
    This is awesome! I love the simplicity of it. Thanks for posting, I just may use this. :)

    Looks good, I like the letter graphics you used. It's easier to tell at a glance the IV quality, and you give more narrowed down ranges than I did. I always meant to go back and make more star graphics so I can have a wider range of IV numbers I could cover, but I never did lol.

    Thanks for sharing this, the style and colors are great.

    Thank you all for the positive feedback!
     
    14
    Posts
    3
    Years
    • Seen May 23, 2022
    how can i know the percentage of these numbers?

    31 = S - what would be the percentage of this
    23-30 = A - what would be the percentage of this
    16-22 = B - what would be the percentage of this
    8-15 = C - what would be the percentage of this
    1-7 = D - what would be the percentage of this
    0 = F - what would be the percentage of this
     
    Back
    Top