mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-06 06:01:46 +00:00
shinifixes
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
module Settings
|
||||
# The version of your game. It has to adhere to the MAJOR.MINOR.PATCH format.
|
||||
GAME_VERSION = '5.0.0'
|
||||
GAME_VERSION_NUMBER = "5.0.35"
|
||||
GAME_VERSION_NUMBER = "5.0.35.2"
|
||||
|
||||
POKERADAR_LIGHT_ANIMATION_RED_ID = 17
|
||||
POKERADAR_LIGHT_ANIMATION_GREEN_ID = 18
|
||||
@@ -332,56 +332,56 @@ module Settings
|
||||
# * Minimum possible level.
|
||||
# * Maximum possible level (optional).
|
||||
POKE_RADAR_ENCOUNTERS = [
|
||||
[78, 30, :FLETCHLING,2,5], #Rt. 1
|
||||
[86, 30, :FLETCHLING,2,5], #Rt. 2
|
||||
[90, 30, :FLETCHLING,2,5], #Rt. 2
|
||||
[491, 30, :SHROOMISH,2,5], #Viridian Forest
|
||||
[490, 30, :BUDEW,4,9], #Rt. 3
|
||||
[106, 30, :NINCADA,8,10], #Rt. 4
|
||||
[12, 30, :TOGEPI,10,10], #Rt. 5
|
||||
[16, 30, :SLAKOTH,12,15], #Rt. 6
|
||||
[413, 30, :DRIFLOON,17,20], #Rt. 7
|
||||
[409, 30, :SHINX,17,18], #Rt. 8
|
||||
[495, 30, :ARON,12,15], #Rt. 9
|
||||
[351, 30, :ARON,12,15], #Rt. 9
|
||||
[154, 30, :KLINK,14,17], #Rt. 10
|
||||
[155, 30, :NINCADA,12,15], #Rt. 11
|
||||
[159, 30, :COTTONEE,22,25], #Rt. 12
|
||||
[437, 30, :COTTONEE,22,25], #Rt. 13
|
||||
[437, 30, :JOLTIK,22,25], #Rt. 13
|
||||
[440, 30, :JOLTIK,22,25], #Rt. 14
|
||||
[444, 30, :SOLOSIS,22,25], #Rt. 15
|
||||
[438, 30, :NATU,22,25], #Rt. 16
|
||||
[146, 30, :KLEFKI,22,25], #Rt. 17
|
||||
[517, 30, :FERROSEED,22,25], #Rt. 18
|
||||
[445, 30, :BAGON,20,20], #Safari zone 1
|
||||
[484, 30, :AXEW,20,20], #Safari zone 2
|
||||
[485, 30, :DEINO,20,20], #Safari zone 3
|
||||
[486, 30, :LARVITAR,20,20], #Safari zone 4
|
||||
[487, 30, :BELDUM,20,20], #Safari zone 5
|
||||
[59, 30, :DUNSPARCE,25,30], #Rt. 21
|
||||
[171, 30, :BIDOOF,2,5], #Rt. 22
|
||||
[143, 30, :RIOLU,25,25], #Rt. 23
|
||||
[8, 30, :BUNEARY,12,13], #Rt. 24
|
||||
[145, 30, :ABSOL,30,35], #Rt. 26
|
||||
[147, 30, :ABSOL,30,35], #Rt. 27
|
||||
[311, 30, :BIDOOF,5,5], #Rt. 29
|
||||
[284, 30, :LUXIO,40,45], #Rt. 33
|
||||
[288, 30, :VIGOROTH,40,45], #Rt. 32
|
||||
[342, 30, :GOLETT,40,45], #Ruins of Alph
|
||||
[261, 30, :BELLOSSOM,45,50], #Rt. 31
|
||||
[262, 30, :BIBAREL,45,50], #Rt. 30
|
||||
[265, 30, :KIRLIA,25,30], #Rt. 34
|
||||
[267, 30, :SUDOWOODO,25,30], #Rt. 36
|
||||
[300, 30, :ROSELIA,30,30], #National Park
|
||||
[266, 30, :BRELOOM,30,30], #Ilex Forest
|
||||
[670, 30, :WEAVILE,50,50], #Ice mountains
|
||||
[528, 30, :PYUKUMUKU,20,20], #Treasure Beach
|
||||
[690, 30, :OCTILLERY,32,45], #Deep Ocean
|
||||
[561, 30, :FLETCHINDER,32,45], #Mt. Ember
|
||||
[562, 30, :NINJASK,45,50], #Boon Island
|
||||
[603, 30, :KECLEON,45,50], #Chrono Island
|
||||
[654, 30, :WHIMSICOTT,32,45] #Brine Road
|
||||
[78, 50, :FLETCHLING,2,5], #Rt. 1
|
||||
[86, 50, :FLETCHLING,2,5], #Rt. 2
|
||||
[90, 50, :FLETCHLING,2,5], #Rt. 2
|
||||
[491, 50, :SHROOMISH,2,5], #Viridian Forest
|
||||
[490, 50, :BUDEW,4,9], #Rt. 3
|
||||
[106, 50, :NINCADA,8,10], #Rt. 4
|
||||
[12, 50, :TOGEPI,10,10], #Rt. 5
|
||||
[16, 50, :SLAKOTH,12,15], #Rt. 6
|
||||
[413, 50, :DRIFLOON,17,20], #Rt. 7
|
||||
[409, 50, :SHINX,17,18], #Rt. 8
|
||||
[495, 50, :ARON,12,15], #Rt. 9
|
||||
[351, 50, :ARON,12,15], #Rt. 9
|
||||
[154, 50, :KLINK,14,17], #Rt. 10
|
||||
[155, 50, :NINCADA,12,15], #Rt. 11
|
||||
[159, 50, :COTTONEE,22,25], #Rt. 12
|
||||
[437, 50, :COTTONEE,22,25], #Rt. 13
|
||||
[437, 50, :JOLTIK,22,25], #Rt. 13
|
||||
[440, 50, :JOLTIK,22,25], #Rt. 14
|
||||
[444, 50, :SOLOSIS,22,25], #Rt. 15
|
||||
[438, 50, :NATU,22,25], #Rt. 16
|
||||
[146, 50, :KLEFKI,22,25], #Rt. 17
|
||||
[517, 50, :FERROSEED,22,25], #Rt. 18
|
||||
[445, 50, :BAGON,20,20], #Safari zone 1
|
||||
[484, 50, :AXEW,20,20], #Safari zone 2
|
||||
[485, 50, :DEINO,20,20], #Safari zone 3
|
||||
[486, 50, :LARVITAR,20,20], #Safari zone 4
|
||||
[487, 50, :BELDUM,20,20], #Safari zone 5
|
||||
[59, 50, :DUNSPARCE,25,30], #Rt. 21
|
||||
[171, 50, :BIDOOF,2,5], #Rt. 22
|
||||
[143, 50, :RIOLU,25,25], #Rt. 23
|
||||
[8, 50, :BUNEARY,12,13], #Rt. 24
|
||||
[145, 50, :ABSOL,30,35], #Rt. 26
|
||||
[147, 50, :ABSOL,30,35], #Rt. 27
|
||||
[311, 50, :BIDOOF,5,5], #Rt. 29
|
||||
[284, 50, :LUXIO,40,45], #Rt. 33
|
||||
[288, 50, :VIGOROTH,40,45], #Rt. 32
|
||||
[342, 50, :GOLETT,40,45], #Ruins of Alph
|
||||
[261, 50, :BELLOSSOM,45,50], #Rt. 31
|
||||
[262, 50, :BIBAREL,45,50], #Rt. 30
|
||||
[265, 50, :KIRLIA,25,30], #Rt. 34
|
||||
[267, 50, :SUDOWOODO,25,30], #Rt. 36
|
||||
[500, 50, :ROSELIA,30,30], #National Park
|
||||
[266, 50, :BRELOOM,30,30], #Ilex Forest
|
||||
[670, 50, :WEAVILE,50,50], #Ice mountains
|
||||
[528, 50, :PYUKUMUKU,20,20], #Treasure Beach
|
||||
[690, 50, :OCTILLERY,32,45], #Deep Ocean
|
||||
[561, 50, :FLETCHINDER,32,45], #Mt. Ember
|
||||
[562, 50, :NINJASK,45,50], #Boon Island
|
||||
[603, 50, :KECLEON,45,50], #Chrono Island
|
||||
[654, 50, :WHIMSICOTT,32,45] #Brine Road
|
||||
]
|
||||
|
||||
#=============================================================================
|
||||
|
||||
@@ -38,12 +38,8 @@ class AnimatedBitmap
|
||||
end
|
||||
end
|
||||
|
||||
MAX_SHIFT_VALUE = 360
|
||||
MINIMUM_OFFSET=40
|
||||
|
||||
def shiftColors(offset = 0)
|
||||
offset /= MAX_SHIFT_VALUE if offset > NB_POKEMON
|
||||
offset = MINIMUM_OFFSET if offset < MINIMUM_OFFSET || MAX_SHIFT_VALUE - offset < MINIMUM_OFFSET
|
||||
offset += pbGet(VAR_SHINY_HUE_OFFSET) #for testing - always 0 during normal gameplay
|
||||
@bitmap = GifBitmap.new(@path, @filename, offset)
|
||||
end
|
||||
|
||||
|
||||
@@ -35,6 +35,8 @@ class Pokemon
|
||||
attr_accessor :head_shiny
|
||||
attr_accessor :body_shiny
|
||||
attr_accessor :debug_shiny
|
||||
attr_accessor :natural_shiny
|
||||
|
||||
# The index of this Pokémon's ability (0, 1 are natural abilities, 2+ are
|
||||
# hidden abilities)as defined for its species/form. An ability may not be
|
||||
# defined at this index. Is recalculated (as 0 or 1) if made nil.
|
||||
@@ -103,7 +105,7 @@ class Pokemon
|
||||
# Maximum number of moves a Pokémon can know at once
|
||||
MAX_MOVES = 4
|
||||
|
||||
SHINY_CHANCE = 16
|
||||
S_CHANCE_VALIDATOR = 16
|
||||
|
||||
def self.play_cry(species, form = 0, volume = 90, pitch = 100)
|
||||
GameData::Species.play_cry_from_species(species, form, volume, pitch)
|
||||
@@ -170,13 +172,13 @@ class Pokemon
|
||||
|
||||
def shiny=(value)
|
||||
@shiny=value
|
||||
if value && Settings::SHINY_POKEMON_CHANCE != SHINY_CHANCE
|
||||
if value && Settings::SHINY_POKEMON_CHANCE != S_CHANCE_VALIDATOR
|
||||
@debug_shiny=true
|
||||
end
|
||||
end
|
||||
|
||||
def debugShiny?
|
||||
return @debug_shiny
|
||||
return !@natural_shiny || @debug_shiny
|
||||
end
|
||||
|
||||
def bodyShiny?
|
||||
@@ -481,10 +483,16 @@ class Pokemon
|
||||
b = a & 0xFFFF
|
||||
c = (a >> 16) & 0xFFFF
|
||||
d = b ^ c
|
||||
@shiny = d < Settings::SHINY_POKEMON_CHANCE
|
||||
is_shiny = d < Settings::SHINY_POKEMON_CHANCE
|
||||
if is_shiny
|
||||
@shiny = true
|
||||
@natural_shiny=true
|
||||
end
|
||||
|
||||
end
|
||||
if @shiny && Settings::SHINY_POKEMON_CHANCE != SHINY_CHANCE
|
||||
if @shiny && Settings::SHINY_POKEMON_CHANCE != S_CHANCE_VALIDATOR
|
||||
@debug_shiny=true
|
||||
@natural_shiny=false
|
||||
end
|
||||
return @shiny
|
||||
end
|
||||
|
||||
@@ -2147,20 +2147,20 @@ class PokemonStorageScreen
|
||||
#
|
||||
|
||||
def pbFuseFromPC(selected, heldpoke)
|
||||
box = selected[0]
|
||||
index = selected[1]
|
||||
poke_body = @storage[box, index]
|
||||
poke_head = heldpoke
|
||||
if heldpoke
|
||||
if dexNum(heldpoke.species) > NB_POKEMON
|
||||
pbDisplay(_INTL("{1} is already fused!", heldpoke.name))
|
||||
return
|
||||
box = selected[0]
|
||||
index = selected[1]
|
||||
poke_body = @storage[box, index]
|
||||
poke_head = heldpoke
|
||||
if heldpoke
|
||||
if dexNum(heldpoke.species) > NB_POKEMON
|
||||
pbDisplay(_INTL("{1} is already fused!", heldpoke.name))
|
||||
return
|
||||
end
|
||||
if(selected.egg? || heldpoke.egg?)
|
||||
pbDisplay(_INTL("It's impossible to fuse an egg!"))
|
||||
return
|
||||
end
|
||||
end
|
||||
if(selected.egg? || heldpoke.egg?)
|
||||
pbDisplay(_INTL("It's impossible to fuse an egg!"))
|
||||
return
|
||||
end
|
||||
end
|
||||
|
||||
splicerItem = selectSplicer()
|
||||
if splicerItem == nil
|
||||
|
||||
@@ -21,16 +21,28 @@ module GameData
|
||||
return ret
|
||||
end
|
||||
|
||||
MAX_SHIFT_VALUE = 360
|
||||
MINIMUM_OFFSET=40
|
||||
ADDITIONAL_OFFSET_WHEN_TOO_CLOSE=40
|
||||
MINIMUM_DEX_DIF=20
|
||||
def self.calculateShinyHueOffset(dex_number, isBodyShiny = false, isHeadShiny = false)
|
||||
dex_offset = dex_number
|
||||
body_number = getBodyID(dex_number)
|
||||
head_number=getHeadID(dex_number,body_number)
|
||||
dex_diff = (body_number-head_number).abs
|
||||
if isBodyShiny && isHeadShiny
|
||||
dex_offset = dex_number
|
||||
elsif isHeadShiny
|
||||
dex_offset = getHeadID(dex_number)
|
||||
dex_offset = head_number
|
||||
elsif isBodyShiny
|
||||
dex_offset = getBodyID(dex_number)
|
||||
dex_offset = dex_diff > MINIMUM_DEX_DIF ? body_number : body_number+ADDITIONAL_OFFSET_WHEN_TOO_CLOSE
|
||||
end
|
||||
return dex_offset + Settings::SHINY_HUE_OFFSET
|
||||
offset = dex_offset + Settings::SHINY_HUE_OFFSET
|
||||
offset /= MAX_SHIFT_VALUE if offset > NB_POKEMON
|
||||
offset = MINIMUM_OFFSET if offset < MINIMUM_OFFSET
|
||||
offset = MINIMUM_OFFSET if (MAX_SHIFT_VALUE - offset).abs < MINIMUM_OFFSET
|
||||
offset += pbGet(VAR_SHINY_HUE_OFFSET) #for testing - always 0 during normal gameplay
|
||||
return offset
|
||||
end
|
||||
|
||||
def self.front_sprite_bitmap(dex_number, a = 0, b = 0, isShiny = false, bodyShiny = false, headShiny = false)
|
||||
|
||||
Reference in New Issue
Block a user