• Hi, Guest!
    Some images might be missing as we move away from using embedded images, sorry for the mess!
    From now on, you'll be required to use a third party to host images. You can learn how to add images here, and if your thread is missing images you can request them here.
    Do not use Discord to host any images you post, these links expire quickly!
IV and EV Summary Screens

Resource IV and EV Summary Screens 1.2

Lucidious89

Champion
Member
Joined
Nov 12, 2020
Posts
1,047
The hidden stats/all stats page is great. It really taps into the full potential of this plugin. Only thing I would suggest is maybe renaming "Total EV" to something like "Remaining EV", because the way its displayed now seems to imply that your EV's are capped when youre at zero EV's.

Or, you could keep it named Total EV, but change the counter so it displays 0/510 wheb at zero EV's (basically, inverse the counter).
 

LinKazamine

Champion
Member
Joined
May 24, 2023
Posts
614
I named it Total EV because Remaining EV wouldn't fit in the dark space but yeah, it doesn't make sense now how the number works. I'll change it.
 

LinKazamine

Champion
Member
Joined
May 24, 2023
Posts
614
I don't know, this plugin only adds new pages to the summary screen.

But if you mean for an npc to unlock the pages in the summary, here is what you have to do for each page to be unlocked:
Sure! That's something that's shown in the tutorial for Modular UI Scenes, which is the base for this plugin.

Anyway, you just need to add this line "condition" => proc { next $game_switches[100] } in the handler of the page you want to unlock. I think a switch will fit well with your case but you can change it for anything you want (just make sure to only change the $game_switches[100] part or it will not work).

I don't know if there's a certain order that has to be followed for the handlers, but I suggest putting the line under the "order" one.
 

LinKazamine

Champion
Member
Joined
May 24, 2023
Posts
614
If you ask because of the message in the console, all you have to do is add that version in the Essentials line in the meta. Any of those should do:
Ruby:
Name       = Lin's IV EV Summary Screen
Version    = 1.2.1
Essentials = 21.1
Requires   = v21 Hotfixes,1.0.1
Requires   = Modular Summary Scene,1.0.1
Link       = https://eeveeexpo.com/resources/1328/
Credits    = LinKazamine, Lucidious89
Ruby:
Name       = Lin's IV EV Summary Screen
Version    = 1.2.1
Essentials = 21,21.1
Requires   = v21 Hotfixes,1.0.1
Requires   = Modular Summary Scene,1.0.1
Link       = https://eeveeexpo.com/resources/1328/
Credits    = LinKazamine, Lucidious89
 

Juneark

Rookie
Member
Joined
Nov 12, 2023
Posts
7
Sorry if this is an incredibly silly question. I'll edit if I figure this out before I get a response, but how do I change the version that appears in game from the default?
 

Juneark

Rookie
Member
Joined
Nov 12, 2023
Posts
7
What do you mean by "change the version from the default"? The version of what?
I mean how would I switch the UI to using the EVs only screen.

Also:
If you ask because of the message in the console, all you have to do is add that version in the Essentials line in the meta. Any of those should do:
I changed my Meta.txt for the newest hotfixes but it is still crashing on compile. Just says it "Requires v21 Hotfixes".
 

LinKazamine

Champion
Member
Joined
May 24, 2023
Posts
614
Adding the line "condition" => proc { next $game_switches[100] } in that page handler will make the page only appear when switch 100 is on.

Adding the line "condition" => proc { next !$game_switches[100] } in that page handler will make the page only appear when switch 100 is off.

You can change the switch number to any that fits your game, but if you use the first for the EV page and the second for the page that will be changed for the EV one, you'll only need to turn on the switch when you want the EV page.

I'm guessing you want some page to be changed for the EV page but I don't know why you don't simply add the page since Lucidious plugin allows for the summary screen to have any amount of pages.
 

Juneark

Rookie
Member
Joined
Nov 12, 2023
Posts
7
Adding the line "condition" => proc { next $game_switches[100] } in that page handler will make the page only appear when switch 100 is on.

Adding the line "condition" => proc { next !$game_switches[100] } in that page handler will make the page only appear when switch 100 is off.

You can change the switch number to any that fits your game, but if you use the first for the EV page and the second for the page that will be changed for the EV one, you'll only need to turn on the switch when you want the EV page.

I'm guessing you want some page to be changed for the EV page but I don't know why you don't simply add the page since Lucidious plugin allows for the summary screen to have any amount of pages.
Thanks, I understand now. Apologies, so far all the plugins I've used so far just had a config for different options, and I had a hard time following the instructions in the Modular UI Scenes post.
 

Juneark

Rookie
Member
Joined
Nov 12, 2023
Posts
7
By the way, I had edited my previous post to avoid double posting, but since you responded so fast I worry you might not have seen it.
 

Boros235

Rookie
Member
Joined
Dec 5, 2023
Posts
5
I tried to install this plugin on my Essential v21.1 with hotfixes, buts not work. I deleted the lines "requires" of meta.txt and try compiled but send my an error : "Exception `NameError' at [Lin's IV EV Summary Screen] IV EV Summary Handlers.rb:4 - uninitialized constant UIHandlers". (I have Modular UI Scenes that work fine).

So i changed meta.txt to this:

Ruby:
Name       = Lin's IV EV Summary Screen
Version    = 1.2.1
Essentials = 21
Requires   = Modular UI Scenes,2.0.3
Link       = https://eeveeexpo.com/resources/1328/
Credits    = LinKazamine, Lucidious89

And works, but i'm still testing it. Thank u for plugin!
 

4AllNighterGrinder64

4 Sleepless nights to update to Teal Mask Part 1
Member
Joined
Nov 23, 2023
Posts
18
During the process of tweaking the UI for my project, I figured out how to add a small addition to the Stats Summary Page.rb. This small addition shows the Base Stat Total of a Pokémon in the Summary screen. I just got this to work, and I only needed to make a small edit to the bg_allstats.png and add in 2 lines of code to Stats Summary Page.rb.

The Steps I took:

I used a pixel art editor to make a small tweak to bg_allstats.png, so there is space to add the tweak I wanted to add to this great plugin. I used Asepirte because it’s efficient once you know how it works, but Paint.net or Gimp can work just fine.

This is a small edit to the bg_allstats.png that I made to have space for the Base Stat Total section. It goes into Graphics/UI/Summary/bg_allstats.png
bg_allstats.png

I wanted to add this in, because it’s a quicker way of getting a glance of what a Pokémon’s Base Stat Total is, without jumping to the Pokedex or an online resource. And allows me as a developer to quickly tell if for my project’s needs, I correctly applied my global Base Stat Total rebalance standard of 500,600,700,800,900 for all 1000+ Pokémon. I used Jason Godyn’s Python tools to automate the process and then make manual edits for the Pokémon that will be in my ongoing fan game project.

I’m aware of and using Lucidious89’s In-Depth Pokedex Data Page. I love the Pokedex revamp, but it takes a minimum of 8 or more clicks to get to the Base Stat Total information. My tweak takes roughly the same amount of clicks to get to the Base Stat Total information, but the key difference is that this tweak allows a player to quickly see in bulk the BST of all Pokémon in the PC Storage. If you wanted to know the BST totals of multiple Pokémon you have in the PC Box, you would have to go through multiple transitions between the PC and Pokedex. And the back-and-forth transitions mean people who simply want to know immediately what a Pokémon Base Stat Total is for their current Pokémon Party, could get burned out from the transition whiplash and find it more convenient to simply Google what the Base Stat Totals of a Pokémon is. Because of the sweeping changes my project is doing to the Base Stat Totals of all 1000+ Pokémon, I feel a player needs to instantly know in practice, what a Pokémon’s Base Stat Total is. I want to for my project’s needs, lessen the friction it takes to get to the point of knowing information that a player can decide if they want to care about or not.

What the tweak looks like in game
All Stats Summary Page Tweak Results.PNG

For my project’s needs, I only changed Stats Summary Page.rb. These are the changes I made, where I only needed to add in 2 lines of code to get the tweak I wanted to add to the All Stats Summary Page:
(The changes are located below the # Write various bits of text code comment, and are 5 lines above the # Draw all text code comment)
Stats Summary Page.rb Additions:
#===============================================================================
# Adds/edits various Summary utilities.
#===============================================================================
class PokemonSummary_Scene
  def drawPageAllStats
    overlay = @sprites["overlay"].bitmap
    base   = Color.new(248, 248, 248)
    shadow = Color.new(104, 104, 104)
    ev_total = 0
    # Determine which stats are boosted and lowered by the Pokémon's nature
    statshadows = {}
    GameData::Stat.each_main { |s| statshadows[s.id] = shadow; ev_total += @pokemon.ev[s.id] }
    if !@pokemon.shadowPokemon? || @pokemon.heartStage <= 3
      @pokemon.nature_for_stats.stat_changes.each do |change|
        statshadows[change[0]] = Color.new(136, 96, 72) if change[1] > 0
        statshadows[change[0]] = Color.new(64, 120, 152) if change[1] < 0
      end
    end
    # Write various bits of text
    textpos = [
      [_INTL("Base"), 386, 94, :center, base, shadow],
      [_INTL("IV"), 432, 94, :center, base, shadow],
      [_INTL("EV"), 478, 94, :center, base, shadow],
      
      [_INTL("HP"), 228, 126, :left, base, statshadows[:HP]],
      [@pokemon.totalhp.to_s, 352, 126, :right, Color.new(64, 64, 64), Color.new(176, 176, 176)],
      [sprintf("%d", @pokemon.baseStats[:HP]), 408, 126, :right, Color.new(64, 64, 64), Color.new(176, 176, 176)],
      [sprintf("%d", @pokemon.iv[:HP]), 444, 126, :right, Color.new(64, 64, 64), Color.new(176, 176, 176)],
      [sprintf("%d", @pokemon.ev[:HP]), 496, 126, :right, Color.new(64, 64, 64), Color.new(176, 176, 176)],
      [_INTL("Atk"), 228, 158, :left, base, statshadows[:ATTACK]],
      [@pokemon.attack.to_s, 352, 158, :right, Color.new(64, 64, 64), Color.new(176, 176, 176)],
      [sprintf("%d", @pokemon.baseStats[:ATTACK]), 408, 158, :right, Color.new(64, 64, 64), Color.new(176, 176, 176)],
      [sprintf("%d", @pokemon.iv[:ATTACK]), 444, 158, :right, Color.new(64, 64, 64), Color.new(176, 176, 176)],
      [sprintf("%d", @pokemon.ev[:ATTACK]), 496, 158, :right, Color.new(64, 64, 64), Color.new(176, 176, 176)],
      [_INTL("Def"), 228, 190, :left, base, statshadows[:DEFENSE]],
      [@pokemon.defense.to_s, 352, 190, :right, Color.new(64, 64, 64), Color.new(176, 176, 176)],
      [sprintf("%d", @pokemon.baseStats[:DEFENSE]), 408, 190, :right, Color.new(64, 64, 64), Color.new(176, 176, 176)],
      [sprintf("%d", @pokemon.iv[:DEFENSE]), 444, 190, :right, Color.new(64, 64, 64), Color.new(176, 176, 176)],
      [sprintf("%d", @pokemon.ev[:DEFENSE]), 496, 190, :right, Color.new(64, 64, 64), Color.new(176, 176, 176)],
      [_INTL("Sp. Atk"), 228, 222, :left, base, statshadows[:SPECIAL_ATTACK]],
      [@pokemon.spatk.to_s, 352, 222, :right, Color.new(64, 64, 64), Color.new(176, 176, 176)],
      [sprintf("%d", @pokemon.baseStats[:SPECIAL_ATTACK]), 408, 222, :right, Color.new(64, 64, 64), Color.new(176, 176, 176)],
      [sprintf("%d", @pokemon.iv[:SPECIAL_ATTACK]), 444, 222, :right, Color.new(64, 64, 64), Color.new(176, 176, 176)],
      [sprintf("%d", @pokemon.ev[:SPECIAL_ATTACK]), 496, 222, :right, Color.new(64, 64, 64), Color.new(176, 176, 176)],
      [_INTL("Sp. Def"), 228, 254, :left, base, statshadows[:SPECIAL_DEFENSE]],
      [@pokemon.spdef.to_s, 352, 254, :right, Color.new(64, 64, 64), Color.new(176, 176, 176)],
      [sprintf("%d", @pokemon.baseStats[:SPECIAL_DEFENSE]), 408, 254, :right, Color.new(64, 64, 64), Color.new(176, 176, 176)],
      [sprintf("%d", @pokemon.iv[:SPECIAL_DEFENSE]), 444, 254, :right, Color.new(64, 64, 64), Color.new(176, 176, 176)],
      [sprintf("%d", @pokemon.ev[:SPECIAL_DEFENSE]), 496, 254, :right, Color.new(64, 64, 64), Color.new(176, 176, 176)],
      [_INTL("Speed"), 228, 286, :left, base, statshadows[:SPEED]],
      [@pokemon.speed.to_s, 352, 286, :right, Color.new(64, 64, 64), Color.new(176, 176, 176)],
      [sprintf("%d", @pokemon.baseStats[:SPEED]), 408, 286, :right, Color.new(64, 64, 64), Color.new(176, 176, 176)],
      [sprintf("%d", @pokemon.iv[:SPEED]), 444, 286, :right, Color.new(64, 64, 64), Color.new(176, 176, 176)],
      [sprintf("%d", @pokemon.ev[:SPEED]), 496, 286, :right, Color.new(64, 64, 64), Color.new(176, 176, 176)],
      [_INTL("Total EV"), 224, 324, :left, base, shadow],
      [_INTL("BST:"),250,90, :center, base, shadow],#
      [sprintf("%d", @pokemon.baseStats[:HP] + @pokemon.baseStats[:ATTACK] + @pokemon.baseStats[:DEFENSE] + @pokemon.baseStats[:SPECIAL_ATTACK] + @pokemon.baseStats[:SPECIAL_DEFENSE] + @pokemon.baseStats[:SPEED]), 348, 90, :right, Color.new(64, 64, 64), Color.new(176, 176, 176)],#
      [sprintf("%d/%d", ev_total, Pokemon::EV_LIMIT), 444, 324, :center, Color.new(64, 64, 64), Color.new(176, 176, 176)],
      [_INTL("Hidden Power"), 220, 356, :left, base, shadow]
    ]
    # Draw all text
    pbDrawTextPositions(overlay, textpos)
    typebitmap = AnimatedBitmap.new(_INTL("Graphics/UI/types"))
    hiddenpower = pbHiddenPower(@pokemon)
    type_number = GameData::Type.get(hiddenpower[0]).icon_position
    type_rect = Rect.new(0, type_number * 28, 64, 28)
    overlay.blt(398, 351, @typebitmap.bitmap, type_rect)
  end
end
And that’s my small tweak to the All-Stats Summary Page. In my project setup, I simply commented out the Menu Pages that are not the All Stats Menu Page in IV EV Summary Handlers.rb.
All Stats Summary Page Summary Handler Preset.PNG
 

Thomwell

Novice
Member
Joined
Mar 8, 2024
Posts
23
This is really a great plugin, it adds a lot of color to my game project. But I have a question that I would like to ask. I don't want to display separate EV and IV interfaces. How should I operate it?
 

LinKazamine

Champion
Member
Joined
May 24, 2023
Posts
614
I still have to go through all my plugins to update the images again, but if you look in the overview, you'll see that there are two spoilers that say "IV and EV Summary Screen" and "All Stats Summary Screen". Those two have both IV and EV on the same page (All Stats has some more info like base stats and the stats with all the modifications applied). I think Hidden Stats is like the All Stats screen but without the stats adjusted to level, IV and EV.

You have to open the "IV EV Summary Handlers" script and disable or enable the pages you want so they appear in the summary screen (deleting the handler code of the pages you don't want would be enough).
 
Back
Top