mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-06 06:01:46 +00:00
various fixes
This commit is contained in:
@@ -1,4 +1,139 @@
|
||||
|
||||
def pbGetTerrainTag()
|
||||
return $game_player.pbTerrainTag().id
|
||||
end
|
||||
|
||||
|
||||
def getLevelAtWhichSpeciesEvolved(species)
|
||||
levelAtWhichCurrentSpeciesEvolved=1
|
||||
evosArray = species.get_family_evolutions
|
||||
for entry in evosArray
|
||||
if entry[0] == species.id && entry[1] == :Level
|
||||
if entry[2] && entry[2] < levelAtWhichCurrentSpeciesEvolved
|
||||
levelAtWhichCurrentSpeciesEvolved = entry[2]
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
def getNextEvolutions(species, evolutions)
|
||||
if !evolutions
|
||||
evolutions = species.get_evolutions
|
||||
end
|
||||
|
||||
nextEvolutions = []
|
||||
currentLowestEvolution = nil
|
||||
for evolution in evolutions
|
||||
if evolution[1]== :Level
|
||||
evoLevel = evolution[2]
|
||||
currentLowestLevel = currentLowestEvolution ? currentLowestEvolution[2] : Settings::MAXIMUM_LEVEL
|
||||
if evoLevel < currentLowestLevel
|
||||
currentLowestEvolution = evolution
|
||||
end
|
||||
else
|
||||
nextEvolutions << evolution
|
||||
end
|
||||
end
|
||||
if currentLowestEvolution != nil
|
||||
nextEvolutions << currentLowestEvolution
|
||||
end
|
||||
return nextEvolutions
|
||||
end
|
||||
|
||||
def extract_custom_sprites_that_evolve_into_non_customs(includeOnlyNextEvos=true)
|
||||
outfile = "nonCustomEvos.txt"
|
||||
customSpecies = getCustomSpeciesList()
|
||||
|
||||
alreadyWritten = []
|
||||
|
||||
File.open(outfile,"wb") { |f|
|
||||
for dexNum in customSpecies
|
||||
species = GameData::Species.get(dexNum)
|
||||
dex_body = getBodyID(species)
|
||||
dex_head = getHeadID(species,dex_body)
|
||||
|
||||
evolutions = species.get_evolutions
|
||||
nextEvolutions=evolutions
|
||||
if includeOnlyNextEvos
|
||||
nextEvolutions = getNextEvolutions(species,evolutions)
|
||||
end
|
||||
|
||||
next if nextEvolutions.empty?
|
||||
for evolution in nextEvolutions
|
||||
evoSpecies = evolution[0]
|
||||
if !customSpriteExists(evoSpecies) && !alreadyWritten.include?(evoSpecies)
|
||||
body = getBodyID(evoSpecies)
|
||||
head = getHeadID(evoSpecies,body)
|
||||
f.write((evoSpecies.to_s) +";")
|
||||
f.write((head.to_s) +";")
|
||||
f.write(".;")
|
||||
f.write((body.to_s) +";")
|
||||
f.write("evolves from ;")
|
||||
f.write(species.id.to_s) + ";"
|
||||
f.write((dex_head.to_s) +";")
|
||||
f.write(".;")
|
||||
f.write((dex_body.to_s) +";")
|
||||
f.write("\n")
|
||||
|
||||
|
||||
alreadyWritten << evoSpecies
|
||||
end
|
||||
end
|
||||
end
|
||||
}
|
||||
|
||||
end
|
||||
|
||||
|
||||
|
||||
def extract_incomplete_evolution_lines
|
||||
outfile = "incompleteLines.txt"
|
||||
pokeList = []
|
||||
for i in NB_POKEMON+1..PBSpecies.maxValue
|
||||
pokeList << i
|
||||
end
|
||||
|
||||
to_skip=[]
|
||||
|
||||
File.open(outfile,"wb") { |f|
|
||||
for i in pokeList
|
||||
next if to_skip.include?(i)
|
||||
|
||||
species = GameData::Species.get(i)
|
||||
evolutions = []
|
||||
for evoArray in species.get_family_evolutions
|
||||
evolutions << evoArray[1]
|
||||
end
|
||||
|
||||
|
||||
non_customs = []
|
||||
nbCustoms=0
|
||||
for stage in evolutions
|
||||
if !customSpriteExists(stage)
|
||||
non_customs << stage
|
||||
else
|
||||
nbCustoms+=1
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
#write non customs
|
||||
if !non_customs.empty? && nbCustoms > 0
|
||||
for missing_sprite in non_customs
|
||||
f.write((missing_sprite.to_s) +";")
|
||||
end
|
||||
f.write((missing_sprite.to_s) +"\n")
|
||||
end
|
||||
|
||||
#remove evos from list
|
||||
for evo in evolutions
|
||||
species = GameData::Species.get(evo)
|
||||
to_skip << species.id_number
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
||||
}
|
||||
end
|
||||
Reference in New Issue
Block a user