• Just a reminder that providing specifics on, sharing links to, or naming websites where ROMs can be accessed is against the rules. If your post has any of this information it will be removed.
  • Ever thought it'd be cool to have your art, writing, or challenge runs featured on PokéCommunity? Click here for info - we'd love to spotlight your work!
  • Our weekly protagonist poll is now up! Vote for your favorite Trading Card Game 2 protagonist in the poll by clicking here.
  • 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
    9
    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
     
    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.
     
    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!
     
    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