I created a script that adds EVs and IVs to the Skills tab of your Summary.
As you can see there are 2 versions, one with the HP bar above the HP Column and one with the HP bar below the HP Column. The nature is also displayed with a + and - next to the affected stats. There are versions available without this feature. Additionally, you can also modify the script to remove the HP bar entirely.
Here is the code:
This belongs in PScreen_Summary, you will have to replace everything from:
to:
(In base Essentials V18.1 this is line 610 - line 658)
Now just go into your Graphics\Pictures\Summary Folder and replace bg_3 with one the following pictures, depending on if you're using the HP bar above or below script:
If you wish to remove the HP bar, simply remove:
(IMPORTANT! There is one "end" that remains)
Note that this only removes the Green Bar, to remove the HP bar entirely, you will have to edit the bg picture or use a custom one.
Thanks and please give credit! :)
And Special thanks to dirkriptide for comming up with and Kobi2604 for implementing the + and - for the nature!
As you can see there are 2 versions, one with the HP bar above the HP Column and one with the HP bar below the HP Column. The nature is also displayed with a + and - next to the affected stats. There are versions available without this feature. Additionally, you can also modify the script to remove the HP bar entirely.
Here is the code:
Ruby:
def drawPageThree
overlay = @sprites["overlay"].bitmap
base = Color.new(248,248,248)
shadow = Color.new(104,104,104)
# Determine which stats are boosted and lowered by the Pokémon's nature
statshadows = []
boost = ["", "", "", "", "", ""]
PBStats.eachStat { |s| statshadows[s] = shadow }
if !@pokemon.shadowPokemon? || @pokemon.heartStage>3
natup = PBNatures.getStatRaised(@pokemon.calcNature)
natdn = PBNatures.getStatLowered(@pokemon.calcNature)
statshadows[natup] = Color.new(136,96,72) if natup!=natdn
statshadows[natdn] = Color.new(64,120,152) if natup!=natdn
boost[natup] = _INTL("+") if natup!=natdn
boost[natdn] = _INTL("-") if natup!=natdn
end
# Write various bits of text
textpos = [
[_INTL("HP"),248,88,0,base,statshadows[PBStats::HP]],
[sprintf("%d",@pokemon.totalhp),481,88,1,Color.new(64,64,64),Color.new(176,176,176)],
[sprintf("%d",@pokemon.iv[0]),433,88,1,Color.new(64,64,64),Color.new(176,176,176)],
[sprintf("%d",@pokemon.ev[0]),397,88,1,Color.new(64,64,64),Color.new(176,176,176)],
[_INTL("Attack"+boost[PBStats::ATTACK]),248,120,0,base,statshadows[PBStats::ATTACK]],
[sprintf("%d",@pokemon.attack),481,120,1,Color.new(64,64,64),Color.new(176,176,176)],
[sprintf("%d",@pokemon.iv[1]),433,120,1,Color.new(64,64,64),Color.new(176,176,176)],
[sprintf("%d",@pokemon.ev[1]),397,120,1,Color.new(64,64,64),Color.new(176,176,176)],
[_INTL("Defense"+boost[PBStats::DEFENSE]),248,152,0,base,statshadows[PBStats::DEFENSE]],
[sprintf("%d",@pokemon.defense),481,152,1,Color.new(64,64,64),Color.new(176,176,176)],
[sprintf("%d",@pokemon.iv[2]),433,152,1,Color.new(64,64,64),Color.new(176,176,176)],
[sprintf("%d",@pokemon.ev[2]),397,152,1,Color.new(64,64,64),Color.new(176,176,176)],
[_INTL("Sp. Atk"+boost[PBStats::SPATK]),248,184,0,base,statshadows[PBStats::SPATK]],
[sprintf("%d",@pokemon.spatk),481,184,1,Color.new(64,64,64),Color.new(176,176,176)],
[sprintf("%d",@pokemon.iv[4]),433,184,1,Color.new(64,64,64),Color.new(176,176,176)],
[sprintf("%d",@pokemon.ev[4]),397,184,1,Color.new(64,64,64),Color.new(176,176,176)],
[_INTL("Sp. Def"+boost[PBStats::SPDEF]),248,216,0,base,statshadows[PBStats::SPDEF]],
[sprintf("%d",@pokemon.spdef),481,216,1,Color.new(64,64,64),Color.new(176,176,176)],
[sprintf("%d",@pokemon.iv[5]),433,216,1,Color.new(64,64,64),Color.new(176,176,176)],
[sprintf("%d",@pokemon.ev[5]),397,216,1,Color.new(64,64,64),Color.new(176,176,176)],
[_INTL("Speed"+boost[PBStats::SPEED]),248,248,0,base,statshadows[PBStats::SPEED]],
[sprintf("%d",@pokemon.speed),481,248,1,Color.new(64,64,64),Color.new(176,176,176)],
[sprintf("%d",@pokemon.iv[3]),433,248,1,Color.new(64,64,64),Color.new(176,176,176)],
[sprintf("%d",@pokemon.ev[3]),397,248,1,Color.new(64,64,64),Color.new(176,176,176)],
[_INTL("Ability"),224,284,0,base,shadow],
[PBAbilities.getName(@pokemon.ability),362,284,0,Color.new(64,64,64),Color.new(176,176,176)],
]
# Draw all text
pbDrawTextPositions(overlay,textpos)
# Draw ability description
abilitydesc = pbGetMessage(MessageTypes::AbilityDescs,@pokemon.ability)
drawTextEx(overlay,224,316,282,2,abilitydesc,Color.new(64,64,64),Color.new(176,176,176))
# Draw HP bar
if @pokemon.hp>0
w = @pokemon.hp*94*1.0/@pokemon.totalhp
w = 1 if w<1
w = ((w/2).round)*2
hpzone = 0
hpzone = 1 if @pokemon.hp<=(@pokemon.totalhp/2).floor
hpzone = 2 if @pokemon.hp<=(@pokemon.totalhp/4).floor
imagepos = [
["Graphics/Pictures/Summary/overlay_hp",250,78,0,hpzone*6,w,6]
]
pbDrawImagePositions(overlay,imagepos)
end
end
Ruby:
def drawPageThree
overlay = @sprites["overlay"].bitmap
base = Color.new(248,248,248)
shadow = Color.new(104,104,104)
# Determine which stats are boosted and lowered by the Pokémon's nature
statshadows = []
boost = ["", "", "", "", "", ""]
PBStats.eachStat { |s| statshadows[s] = shadow }
if !@pokemon.shadowPokemon? || @pokemon.heartStage>3
natup = PBNatures.getStatRaised(@pokemon.calcNature)
natdn = PBNatures.getStatLowered(@pokemon.calcNature)
statshadows[natup] = Color.new(136,96,72) if natup!=natdn
statshadows[natdn] = Color.new(64,120,152) if natup!=natdn
boost[natup] = _INTL("+") if natup!=natdn
boost[natdn] = _INTL("-") if natup!=natdn
end
# Write various bits of text
textpos = [
[_INTL("HP"),248,76,0,base,statshadows[PBStats::HP]],
[sprintf("%d",@pokemon.totalhp),481,76,1,Color.new(64,64,64),Color.new(176,176,176)],
[sprintf("%d",@pokemon.iv[0]),433,76,1,Color.new(64,64,64),Color.new(176,176,176)],
[sprintf("%d",@pokemon.ev[0]),397,76,1,Color.new(64,64,64),Color.new(176,176,176)],
[_INTL("Attack"+boost[PBStats::ATTACK]),248,120,0,base,statshadows[PBStats::ATTACK]],
[sprintf("%d",@pokemon.attack),481,120,1,Color.new(64,64,64),Color.new(176,176,176)],
[sprintf("%d",@pokemon.iv[1]),433,120,1,Color.new(64,64,64),Color.new(176,176,176)],
[sprintf("%d",@pokemon.ev[1]),397,120,1,Color.new(64,64,64),Color.new(176,176,176)],
[_INTL("Defense"+boost[PBStats::DEFENSE]),248,152,0,base,statshadows[PBStats::DEFENSE]],
[sprintf("%d",@pokemon.defense),481,152,1,Color.new(64,64,64),Color.new(176,176,176)],
[sprintf("%d",@pokemon.iv[2]),433,152,1,Color.new(64,64,64),Color.new(176,176,176)],
[sprintf("%d",@pokemon.ev[2]),397,152,1,Color.new(64,64,64),Color.new(176,176,176)],
[_INTL("Sp. Atk"+boost[PBStats::SPATK]),248,184,0,base,statshadows[PBStats::SPATK]],
[sprintf("%d",@pokemon.spatk),481,184,1,Color.new(64,64,64),Color.new(176,176,176)],
[sprintf("%d",@pokemon.iv[4]),433,184,1,Color.new(64,64,64),Color.new(176,176,176)],
[sprintf("%d",@pokemon.ev[4]),397,184,1,Color.new(64,64,64),Color.new(176,176,176)],
[_INTL("Sp. Def"+boost[PBStats::SPDEF]),248,216,0,base,statshadows[PBStats::SPDEF]],
[sprintf("%d",@pokemon.spdef),481,216,1,Color.new(64,64,64),Color.new(176,176,176)],
[sprintf("%d",@pokemon.iv[5]),433,216,1,Color.new(64,64,64),Color.new(176,176,176)],
[sprintf("%d",@pokemon.ev[5]),397,216,1,Color.new(64,64,64),Color.new(176,176,176)],
[_INTL("Speed"+boost[PBStats::SPEED]),248,248,0,base,statshadows[PBStats::SPEED]],
[sprintf("%d",@pokemon.speed),481,248,1,Color.new(64,64,64),Color.new(176,176,176)],
[sprintf("%d",@pokemon.iv[3]),433,248,1,Color.new(64,64,64),Color.new(176,176,176)],
[sprintf("%d",@pokemon.ev[3]),397,248,1,Color.new(64,64,64),Color.new(176,176,176)],
[_INTL("Ability"),224,284,0,base,shadow],
[PBAbilities.getName(@pokemon.ability),362,284,0,Color.new(64,64,64),Color.new(176,176,176)],
]
# Draw all text
pbDrawTextPositions(overlay,textpos)
# Draw ability description
abilitydesc = pbGetMessage(MessageTypes::AbilityDescs,@pokemon.ability)
drawTextEx(overlay,224,316,282,2,abilitydesc,Color.new(64,64,64),Color.new(176,176,176))
# Draw HP bar
if @pokemon.hp>0
w = @pokemon.hp*94*1.0/@pokemon.totalhp
w = 1 if w<1
w = ((w/2).round)*2
hpzone = 0
hpzone = 1 if @pokemon.hp<=(@pokemon.totalhp/2).floor
hpzone = 2 if @pokemon.hp<=(@pokemon.totalhp/4).floor
imagepos = [
["Graphics/Pictures/Summary/overlay_hp",250,110,0,hpzone*6,w,6]
]
pbDrawImagePositions(overlay,imagepos)
end
end
Ruby:
def drawPageThree
overlay = @sprites["overlay"].bitmap
base = Color.new(248,248,248)
shadow = Color.new(104,104,104)
# Determine which stats are boosted and lowered by the Pokémon's nature
statshadows = []
PBStats.eachStat { |s| statshadows[s] = shadow }
if !@pokemon.shadowPokemon? || @pokemon.heartStage>3
natup = PBNatures.getStatRaised(@pokemon.calcNature)
natdn = PBNatures.getStatLowered(@pokemon.calcNature)
statshadows[natup] = Color.new(136,96,72) if natup!=natdn
statshadows[natdn] = Color.new(64,120,152) if natup!=natdn
end
# Write various bits of text
textpos = [
[_INTL("HP"),248,88,0,base,statshadows[PBStats::HP]],
[sprintf("%d",@pokemon.totalhp),481,88,1,Color.new(64,64,64),Color.new(176,176,176)],
[sprintf("%d",@pokemon.iv[0]),433,88,1,Color.new(64,64,64),Color.new(176,176,176)],
[sprintf("%d",@pokemon.ev[0]),397,88,1,Color.new(64,64,64),Color.new(176,176,176)],
[_INTL("Attack"),248,120,0,base,statshadows[PBStats::ATTACK]],
[sprintf("%d",@pokemon.attack),481,120,1,Color.new(64,64,64),Color.new(176,176,176)],
[sprintf("%d",@pokemon.iv[1]),433,120,1,Color.new(64,64,64),Color.new(176,176,176)],
[sprintf("%d",@pokemon.ev[1]),397,120,1,Color.new(64,64,64),Color.new(176,176,176)],
[_INTL("Defense"),248,152,0,base,statshadows[PBStats::DEFENSE]],
[sprintf("%d",@pokemon.defense),481,152,1,Color.new(64,64,64),Color.new(176,176,176)],
[sprintf("%d",@pokemon.iv[2]),433,152,1,Color.new(64,64,64),Color.new(176,176,176)],
[sprintf("%d",@pokemon.ev[2]),397,152,1,Color.new(64,64,64),Color.new(176,176,176)],
[_INTL("Sp. Atk"),248,184,0,base,statshadows[PBStats::SPATK]],
[sprintf("%d",@pokemon.spatk),481,184,1,Color.new(64,64,64),Color.new(176,176,176)],
[sprintf("%d",@pokemon.iv[4]),433,184,1,Color.new(64,64,64),Color.new(176,176,176)],
[sprintf("%d",@pokemon.ev[4]),397,184,1,Color.new(64,64,64),Color.new(176,176,176)],
[_INTL("Sp. Def"),248,216,0,base,statshadows[PBStats::SPDEF]],
[sprintf("%d",@pokemon.spdef),481,216,1,Color.new(64,64,64),Color.new(176,176,176)],
[sprintf("%d",@pokemon.iv[5]),433,216,1,Color.new(64,64,64),Color.new(176,176,176)],
[sprintf("%d",@pokemon.ev[5]),397,216,1,Color.new(64,64,64),Color.new(176,176,176)],
[_INTL("Speed"),248,248,0,base,statshadows[PBStats::SPEED]],
[sprintf("%d",@pokemon.speed),481,248,1,Color.new(64,64,64),Color.new(176,176,176)],
[sprintf("%d",@pokemon.iv[3]),433,248,1,Color.new(64,64,64),Color.new(176,176,176)],
[sprintf("%d",@pokemon.ev[3]),397,248,1,Color.new(64,64,64),Color.new(176,176,176)],
[_INTL("Ability"),224,284,0,base,shadow],
[PBAbilities.getName(@pokemon.ability),362,284,0,Color.new(64,64,64),Color.new(176,176,176)],
]
# Draw all text
pbDrawTextPositions(overlay,textpos)
# Draw ability description
abilitydesc = pbGetMessage(MessageTypes::AbilityDescs,@pokemon.ability)
drawTextEx(overlay,224,316,282,2,abilitydesc,Color.new(64,64,64),Color.new(176,176,176))
# Draw HP bar
if @pokemon.hp>0
w = @pokemon.hp*94*1.0/@pokemon.totalhp
w = 1 if w<1
w = ((w/2).round)*2
hpzone = 0
hpzone = 1 if @pokemon.hp<=(@pokemon.totalhp/2).floor
hpzone = 2 if @pokemon.hp<=(@pokemon.totalhp/4).floor
imagepos = [
["Graphics/Pictures/Summary/overlay_hp",250,78,0,hpzone*6,w,6]
]
pbDrawImagePositions(overlay,imagepos)
end
end
Ruby:
def drawPageThree
overlay = @sprites["overlay"].bitmap
base = Color.new(248,248,248)
shadow = Color.new(104,104,104)
# Determine which stats are boosted and lowered by the Pokémon's nature
statshadows = []
PBStats.eachStat { |s| statshadows[s] = shadow }
if !@pokemon.shadowPokemon? || @pokemon.heartStage>3
natup = PBNatures.getStatRaised(@pokemon.calcNature)
natdn = PBNatures.getStatLowered(@pokemon.calcNature)
statshadows[natup] = Color.new(136,96,72) if natup!=natdn
statshadows[natdn] = Color.new(64,120,152) if natup!=natdn
end
# Write various bits of text
textpos = [
[_INTL("HP"),248,76,0,base,statshadows[PBStats::HP]],
[sprintf("%d",@pokemon.totalhp),481,76,1,Color.new(64,64,64),Color.new(176,176,176)],
[sprintf("%d",@pokemon.iv[0]),433,76,1,Color.new(64,64,64),Color.new(176,176,176)],
[sprintf("%d",@pokemon.ev[0]),397,76,1,Color.new(64,64,64),Color.new(176,176,176)],
[_INTL("Attack"),248,120,0,base,statshadows[PBStats::ATTACK]],
[sprintf("%d",@pokemon.attack),481,120,1,Color.new(64,64,64),Color.new(176,176,176)],
[sprintf("%d",@pokemon.iv[1]),433,120,1,Color.new(64,64,64),Color.new(176,176,176)],
[sprintf("%d",@pokemon.ev[1]),397,120,1,Color.new(64,64,64),Color.new(176,176,176)],
[_INTL("Defense"),248,152,0,base,statshadows[PBStats::DEFENSE]],
[sprintf("%d",@pokemon.defense),481,152,1,Color.new(64,64,64),Color.new(176,176,176)],
[sprintf("%d",@pokemon.iv[2]),433,152,1,Color.new(64,64,64),Color.new(176,176,176)],
[sprintf("%d",@pokemon.ev[2]),397,152,1,Color.new(64,64,64),Color.new(176,176,176)],
[_INTL("Sp. Atk"),248,184,0,base,statshadows[PBStats::SPATK]],
[sprintf("%d",@pokemon.spatk),481,184,1,Color.new(64,64,64),Color.new(176,176,176)],
[sprintf("%d",@pokemon.iv[4]),433,184,1,Color.new(64,64,64),Color.new(176,176,176)],
[sprintf("%d",@pokemon.ev[4]),397,184,1,Color.new(64,64,64),Color.new(176,176,176)],
[_INTL("Sp. Def"),248,216,0,base,statshadows[PBStats::SPDEF]],
[sprintf("%d",@pokemon.spdef),481,216,1,Color.new(64,64,64),Color.new(176,176,176)],
[sprintf("%d",@pokemon.iv[5]),433,216,1,Color.new(64,64,64),Color.new(176,176,176)],
[sprintf("%d",@pokemon.ev[5]),397,216,1,Color.new(64,64,64),Color.new(176,176,176)],
[_INTL("Speed"),248,248,0,base,statshadows[PBStats::SPEED]],
[sprintf("%d",@pokemon.speed),481,248,1,Color.new(64,64,64),Color.new(176,176,176)],
[sprintf("%d",@pokemon.iv[3]),433,248,1,Color.new(64,64,64),Color.new(176,176,176)],
[sprintf("%d",@pokemon.ev[3]),397,248,1,Color.new(64,64,64),Color.new(176,176,176)],
[_INTL("Ability"),224,284,0,base,shadow],
[PBAbilities.getName(@pokemon.ability),362,284,0,Color.new(64,64,64),Color.new(176,176,176)],
]
# Draw all text
pbDrawTextPositions(overlay,textpos)
# Draw ability description
abilitydesc = pbGetMessage(MessageTypes::AbilityDescs,@pokemon.ability)
drawTextEx(overlay,224,316,282,2,abilitydesc,Color.new(64,64,64),Color.new(176,176,176))
# Draw HP bar
if @pokemon.hp>0
w = @pokemon.hp*94*1.0/@pokemon.totalhp
w = 1 if w<1
w = ((w/2).round)*2
hpzone = 0
hpzone = 1 if @pokemon.hp<=(@pokemon.totalhp/2).floor
hpzone = 2 if @pokemon.hp<=(@pokemon.totalhp/4).floor
imagepos = [
["Graphics/Pictures/Summary/overlay_hp",250,110,0,hpzone*6,w,6]
]
pbDrawImagePositions(overlay,imagepos)
end
end
This belongs in PScreen_Summary, you will have to replace everything from:
Ruby:
def drawPageThree
Ruby:
["Graphics/Pictures/Summary/overlay_hp",360,110,0,hpzone*6,w,6]
]
pbDrawImagePositions(overlay,imagepos)
end
end
Now just go into your Graphics\Pictures\Summary Folder and replace bg_3 with one the following pictures, depending on if you're using the HP bar above or below script:
If you wish to remove the HP bar, simply remove:
Ruby:
# Draw HP bar
if @pokemon.hp>0
w = @pokemon.hp*94*1.0/@pokemon.totalhp
w = 1 if w<1
w = ((w/2).round)*2
hpzone = 0
hpzone = 1 if @pokemon.hp<=(@pokemon.totalhp/2).floor
hpzone = 2 if @pokemon.hp<=(@pokemon.totalhp/4).floor
imagepos = [
["Graphics/Pictures/Summary/overlay_hp",250,110,0,hpzone*6,w,6]
]
pbDrawImagePositions(overlay,imagepos)
end
Note that this only removes the Green Bar, to remove the HP bar entirely, you will have to edit the bg picture or use a custom one.
Thanks and please give credit! :)
And Special thanks to dirkriptide for comming up with and Kobi2604 for implementing the + and - for the nature!
- Credits
- Weibrot
Kobi2604
dirkriptide