Adds shinies

This commit is contained in:
infinitefusion
2022-10-07 20:38:11 -04:00
parent b762e653e0
commit a500ef15bf
18 changed files with 46 additions and 28 deletions

View File

@@ -29,6 +29,7 @@ module Settings
EGGSPRITE_SCALE = 1
BACKSPRITE_POSITION_OFFSET = 20
FRONTSPRITE_POSITION = 200
SHINY_HUE_OFFSET = 60
RIVAL_STARTER_PLACEHOLDER_SPECIES = :MEW #(MEW)
VAR_1_PLACEHOLDER_SPECIES = :DIALGA
@@ -69,7 +70,7 @@ module Settings
# Number of badges in the game
NB_BADGES = 16
# The odds of a newly generated Pokémon being shiny (out of 65536).
SHINY_POKEMON_CHANCE = (MECHANICS_GENERATION >= 6) ? 16 : 8
SHINY_POKEMON_CHANCE = 16#(MECHANICS_GENERATION >= 6) ? 16 : 8
# The odds of a wild Pokémon/bred egg having Pokérus (out of 65536).
POKERUS_CHANCE = 3
# Whether a bred baby Pokémon can inherit any TM/HM moves from its father. It

View File

@@ -29,6 +29,12 @@ class AnimatedBitmap
end
end
def shiftColors(offset=0)
offset/=350 if offset >350
offset=30 if offset <30 #this method is only used for shinies. shinies that barely shift are boring
@bitmap.bitmap.hue_change(offset)
end
def [](index)
; @bitmap[index];
end

View File

@@ -111,6 +111,7 @@ VAR_PREMIUM_WONDERTRADE_LEFT=111
VAR_PREMIUM_WONDERTRADE_LEFT=111
VAR_RIVAL_STARTER=250
VAR_FUSION_ICON_STYLE=220
VAR_SHINY_HUE_OFFSET=275
#Randomizer
VAR_RANDOMIZER_WILD_POKE_BST=197

View File

@@ -5,9 +5,9 @@ module GameData
species = GameData::Species.get(species).id_number # Just to be sure it's a number
return self.egg_sprite_bitmap(species, pkmn.form) if pkmn.egg?
if back
ret = self.back_sprite_bitmap(species)
ret = self.back_sprite_bitmap(species,pkmn.shiny?)
else
ret = self.front_sprite_bitmap(species)
ret = self.front_sprite_bitmap(species,pkmn.shiny?)
end
return ret
end
@@ -21,17 +21,26 @@ module GameData
return ret
end
def self.front_sprite_bitmap(dex_number,a=0,b=0,c=0,d=0) #la méthode est utilisé ailleurs avec d'autres arguments (gender, form, etc.) mais on les veut pas
def self.front_sprite_bitmap(dex_number, isShiny = false, b = 0, c = 0, d = 0)
#la méthode est utilisé ailleurs avec d'autres arguments (gender, form, etc.) mais on les veut pas
if dex_number.is_a?(Symbol)
dex_number = GameData::Species.get(dex_number).id_number
end
filename = self.sprite_filename(dex_number)
return (filename) ? AnimatedBitmap.new(filename) : nil
sprite = (filename) ? AnimatedBitmap.new(filename) : nil
if isShiny
sprite.shiftColors(pbGet(VAR_SHINY_HUE_OFFSET)+dex_number)
end
return sprite
end
def self.back_sprite_bitmap(dex_number,species=0, form = 0, gender = 0, shiny = false, shadow = false)
def self.back_sprite_bitmap(dex_number, isShiny = false, form = 0, gender = 0, c = false, shadow = false)
filename = self.sprite_filename(dex_number)
return (filename) ? AnimatedBitmap.new(filename) : nil
sprite = (filename) ? AnimatedBitmap.new(filename) : nil
if isShiny
sprite.shiftColors(pbGet(VAR_SHINY_HUE_OFFSET)+dex_number)
end
return sprite
end
def self.egg_sprite_bitmap(dex_number, form = 0)
@@ -40,47 +49,47 @@ module GameData
end
def self.getSpecialSpriteName(dexNum)
base_path="Graphics/Battlers/special/"
base_path = "Graphics/Battlers/special/"
case dexNum
when Settings::ZAPMOLCUNO_NB..Settings::ZAPMOLCUNO_NB+1
when Settings::ZAPMOLCUNO_NB..Settings::ZAPMOLCUNO_NB + 1
return sprintf(base_path + "144.145.146")
when Settings::ZAPMOLCUNO_NB+2
when Settings::ZAPMOLCUNO_NB + 2
return sprintf(base_path + "243.244.245")
when Settings::ZAPMOLCUNO_NB+3
when Settings::ZAPMOLCUNO_NB + 3
return sprintf(base_path +"340.341.342")
when Settings::ZAPMOLCUNO_NB+4
when Settings::ZAPMOLCUNO_NB + 4
return sprintf(base_path +"343.344.345")
when Settings::ZAPMOLCUNO_NB+5
when Settings::ZAPMOLCUNO_NB + 5
return sprintf(base_path +"349.350.351")
when Settings::ZAPMOLCUNO_NB+6
when Settings::ZAPMOLCUNO_NB + 6
return sprintf(base_path +"151.251.381")
when Settings::ZAPMOLCUNO_NB+11
when Settings::ZAPMOLCUNO_NB + 11
return sprintf(base_path +"150.348.380")
#starters
when Settings::ZAPMOLCUNO_NB+7
when Settings::ZAPMOLCUNO_NB + 7
return sprintf(base_path +"3.6.9")
when Settings::ZAPMOLCUNO_NB+8
when Settings::ZAPMOLCUNO_NB + 8
return sprintf(base_path +"154.157.160")
when Settings::ZAPMOLCUNO_NB+9
when Settings::ZAPMOLCUNO_NB + 9
return sprintf(base_path +"278.281.284")
when Settings::ZAPMOLCUNO_NB+10
when Settings::ZAPMOLCUNO_NB + 10
return sprintf(base_path +"318.321.324")
#starters prevos
when Settings::ZAPMOLCUNO_NB+12
when Settings::ZAPMOLCUNO_NB + 12
return sprintf(base_path +"1.4.7")
when Settings::ZAPMOLCUNO_NB+13
when Settings::ZAPMOLCUNO_NB + 13
return sprintf(base_path +"2.5.8")
when Settings::ZAPMOLCUNO_NB+14
when Settings::ZAPMOLCUNO_NB + 14
return sprintf(base_path +"152.155.158")
when Settings::ZAPMOLCUNO_NB+15
when Settings::ZAPMOLCUNO_NB + 15
return sprintf(base_path +"153.156.159")
when Settings::ZAPMOLCUNO_NB+16
when Settings::ZAPMOLCUNO_NB + 16
return sprintf(base_path +"276.279.282")
when Settings::ZAPMOLCUNO_NB+17
when Settings::ZAPMOLCUNO_NB + 17
return sprintf(base_path +"277.280.283")
when Settings::ZAPMOLCUNO_NB+18
when Settings::ZAPMOLCUNO_NB + 18
return sprintf(base_path +"316.319.322")
when Settings::ZAPMOLCUNO_NB+19
when Settings::ZAPMOLCUNO_NB + 19
return sprintf(base_path +"317.320.323")
else
return sprintf(base_path + "000")
@@ -93,7 +102,7 @@ module GameData
folder = dex_number.to_s
filename = sprintf("%s.png", dex_number)
else
if dex_number >=Settings::ZAPMOLCUNO_NB
if dex_number >= Settings::ZAPMOLCUNO_NB
specialPath = getSpecialSpriteName(dex_number)
return pbResolveBitmap(specialPath)
else

View File

@@ -1322,6 +1322,7 @@ def pbFuse(pokemon, poke2, supersplicers = false)
if hasCustom
previewwindow.picture.pbSetColor(150, 255, 150, 200)
else
previewwindow.picture.shiftColors(pbGet(1))
previewwindow.picture.pbSetColor(255, 255, 255, 200)
end
end