- 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)
Still in PScreen_Summary, paste inside def drawPageThree
In PScreen_PokemonStorage, paste below if pokemon.isShiny?
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
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