• Do not use Discord to host any images you post, these links expire quickly! You can learn how to add images to your posts here.
  • Eevee Expo's webhost has been having technical issues since Nov. 20th and you might be unable to connect to our site. Staff are also facing issues connecting, so please send a DM to Cat on-site or through Discord directly for faster service!
PokéDex Silhouettes

Resource PokéDex Silhouettes 2022-11-23

TechSkylander1518 submitted a new resource:

PokéDex Silhouettes - Displays silhouettes of Pokémon not yet seen, instead of the usual ? sprite

View attachment 13976
Just what it says on the tin - shows the silhouette of unseen Pokémon instead of displaying that ? sprite.

I personally think this option is more fun, because it lets players look at the shapes and wonder what could be behind them, and encourages them to seek out what looks cool. And if you're using canon mons in a game with a limited dex, this could let players know what they can and can't use in your game.

Code​

This...

Read more about this resource...
 

Thobov

Novice
Member
Joined
Feb 11, 2019
Posts
16
Dear TechSkylander,

Your idea of displaying unknown sprites as full black Pokémon sprites instead of a question mark is an amazing idea! However, when I implement your adjusted Pokédex code to my project, it displays the Pokémons completely with colour. I tried adjusting it a bit but it seems your code here below does not work to black out the sprites.

Ruby:
Expand Collapse Copy
    if !$player.seen?(@sprites["pokedex"].species)
      @sprites["icon"].tone = Tone.new(-255,-255,-255,255)
    else
      @sprites["icon"].tone = Tone.new(0,0,0,0)
    end

I tried using -255 -255 -255 -255 and reversed the two positions but it gives the same result. It seems something is overriding this. It could be incompatible with the Gen 8 Project but perhaps you know something I do not. Could you please help me with this?

Regards,
Thomas
 
Last edited:
Dear TechSkylander,

Your idea of displaying unknown sprites as full black Pokémon sprites instead of a question mark is an amazing idea! However, when I implement your adjusted Pokédex code to my project, it displays the Pokémons completely with colour. I tried adjusting it a bit but it seems your code here below does not work to black out the sprites.

if !$player.seen?(@sprites["pokedex"].species) @sprites["icon"].tone = Tone.new(-255,-255,-255,255) else @sprites["icon"].tone = Tone.new(0,0,0,0) end

I tried using -255 -255 -255 -255 and reversed the two positions but it gives the same result. It seems something is overriding this. It could be incompatible with the Gen 8 Project but perhaps you know something I do not. Could you please help me with this?

Regards,
Thomas
Hmm, that's strange... It looks like you might be right and the issue might be with this part of the Gen 8 project, in the file EBDX Wrapper Compatibility -
Ruby:
Expand Collapse Copy
  #-----------------------------------------------------------------------------
  #  Adding Box constraints to the Pokemon Sprite Bitmap in Pokedex Menu
  #-----------------------------------------------------------------------------
  class PokemonPokedex_Scene
    alias __gen8__setIconBitmap setIconBitmap unless method_defined?(:__gen8__setIconBitmap)
    def setIconBitmap(*args)
      __gen8__setIconBitmap(*args)
      @sprites["icon"].constrict([224, 216]) if !defined?(EliteBattle)
    end
  end
But the thing is, that code is still aliasing the old method, so I'm pretty sure it should be taking all the changes you add to it... Maybe try adding that code there just in case?

Are you using any other plugins? There's probably not any others that would be affecting the Pokedex scene, but I might as well check just in case.

(And thank you for the kind words!)
 

Thobov

Novice
Member
Joined
Feb 11, 2019
Posts
16
Hmm, that's strange... It looks like you might be right and the issue might be with this part of the Gen 8 project, in the file EBDX Wrapper Compatibility -
Ruby:
Expand Collapse Copy
  #-----------------------------------------------------------------------------
  #  Adding Box constraints to the Pokemon Sprite Bitmap in Pokedex Menu
  #-----------------------------------------------------------------------------
  class PokemonPokedex_Scene
    alias __gen8__setIconBitmap setIconBitmap unless method_defined?(:__gen8__setIconBitmap)
    def setIconBitmap(*args)
      __gen8__setIconBitmap(*args)
      @sprites["icon"].constrict([224, 216]) if !defined?(EliteBattle)
    end
  end
But the thing is, that code is still aliasing the old method, so I'm pretty sure it should be taking all the changes you add to it... Maybe try adding that code there just in case?

Are you using any other plugins? There's probably not any others that would be affecting the Pokedex scene, but I might as well check just in case.

(And thank you for the kind words!)
Hi TechSkylander,

Thank you for your swift reply. After some fiddling with code in other plugins I came to the conclusion that it was indeed due to another plugin that your code did not work. It seems the plugin Essentials Deluxe which I use for multiple plugins has a Pokédex class that overrides the default Pokédex class.

Code in Essentials Deluxe:
Ruby:
Expand Collapse Copy
class PokemonPokedex_Scene
  def setIconBitmap(species)
    gender, form, shiny, gmax, shadow = $player.pokedex.last_form_seen(species)
    @sprites["icon"].setSpeciesBitmap(species, gender, form, shiny, shadow, false, false, false, gmax)
    @sprites["icon"].unDynamax
    if PluginManager.installed?("Generation 8 Pack Scripts")
      @sprites["icon"].constrict([224, 216]) if !defined?(EliteBattle)
    end
  end
end

Using your code here in Essentials Deluxe fixes the issue:
Ruby:
Expand Collapse Copy
class PokemonPokedex_Scene
  def setIconBitmap(species)
    gender, form, shiny, gmax, shadow = $player.pokedex.last_form_seen(species)
    @sprites["icon"].setSpeciesBitmap(species, gender, form, shiny, shadow, false, false, false, gmax)
    @sprites["icon"].unDynamax
    if !$player.seen?(@sprites["pokedex"].species)
      @sprites["icon"].tone = Tone.new(-255,-255,-255, 255)
    else
      @sprites["icon"].tone = Tone.new(0,0,0,0)
    end
    if PluginManager.installed?("Generation 8 Pack Scripts")
      @sprites["icon"].constrict([224, 216]) if !defined?(EliteBattle)
    end
  end
end

I am more than happy it does work. All sprites are displayed correctly now. Thank you for your support and time.

Regards,
Thomas
 

komeiji514

Elite Trainer
Member
Joined
Oct 28, 2023
Posts
275
Tested and it still works with v21.1 except that
@sprites["icon"].setSpeciesBitmap(species, gender, form, false)
 
Back
Top