mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-06 06:01:46 +00:00
59 lines
2.0 KiB
Ruby
59 lines
2.0 KiB
Ruby
class PokedexUtils
|
|
POSSIBLE_ALTS = ["", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q",
|
|
"r", "s", "t", "u", "v", "w", "x", "y", "z"]
|
|
|
|
def pbGetAvailableAlts(species)
|
|
ret = []
|
|
return ret if !species
|
|
dexNum = getDexNumberForSpecies(species)
|
|
isFusion = dexNum > NB_POKEMON
|
|
if !isFusion
|
|
ret << Settings::BATTLERS_FOLDER + dexNum.to_s + "/" + dexNum.to_s + ".png"
|
|
|
|
POSSIBLE_ALTS.each { |alt_letter|
|
|
altFilePath = Settings::CUSTOM_BASE_SPRITES_FOLDER + dexNum.to_s + alt_letter + ".png"
|
|
if pbResolveBitmap(altFilePath)
|
|
ret << altFilePath
|
|
end
|
|
}
|
|
|
|
return ret
|
|
end
|
|
body_id = getBodyID(species)
|
|
head_id = getHeadID(species, body_id)
|
|
|
|
baseFilename = head_id.to_s + "." + body_id.to_s
|
|
baseFilePath = Settings::CUSTOM_BATTLERS_FOLDER_INDEXED + head_id.to_s + "/" + baseFilename + ".png"
|
|
if pbResolveBitmap(baseFilePath)
|
|
ret << baseFilePath
|
|
end
|
|
POSSIBLE_ALTS.each { |alt_letter|
|
|
if alt_letter != "" #empty is included in alt letters because unfused sprites can be alts and not have a letter
|
|
altFilePath = Settings::CUSTOM_BATTLERS_FOLDER_INDEXED + head_id.to_s + "/" + baseFilename + alt_letter + ".png"
|
|
if pbResolveBitmap(altFilePath)
|
|
ret << altFilePath
|
|
end
|
|
end
|
|
}
|
|
ret << Settings::BATTLERS_FOLDER + head_id.to_s + "/" + baseFilename + ".png"
|
|
return ret
|
|
end
|
|
|
|
#todo: return array for split evolution lines that have multiple final evos
|
|
def getFinalEvolution(species)
|
|
#ex: [[B3H4,Level 32],[B2H5, Level 35]]
|
|
evolution_line = species.get_evolutions
|
|
return species if evolution_line.empty?
|
|
finalEvoId = evolution_line[0][0]
|
|
return evolution_line[]
|
|
for evolution in evolution_line
|
|
evoSpecies = evolution[0]
|
|
p GameData::Species.get(evoSpecies).get_evolutions
|
|
isFinalEvo = GameData::Species.get(evoSpecies).get_evolutions.empty?
|
|
return evoSpecies if isFinalEvo
|
|
end
|
|
return nil
|
|
end
|
|
|
|
end
|