mirror of
https://github.com/infinitefusion/infinitefusion-e18.git
synced 2025-12-07 13:15:01 +00:00
Initial commit
This commit is contained in:
472
Data/Scripts/010_Data/001_MiscData.rb
Normal file
472
Data/Scripts/010_Data/001_MiscData.rb
Normal file
@@ -0,0 +1,472 @@
|
||||
#===============================================================================
|
||||
# Phone data
|
||||
#===============================================================================
|
||||
class PhoneDatabase
|
||||
attr_accessor :generics
|
||||
attr_accessor :greetings
|
||||
attr_accessor :greetingsMorning
|
||||
attr_accessor :greetingsEvening
|
||||
attr_accessor :bodies1
|
||||
attr_accessor :bodies2
|
||||
attr_accessor :battleRequests
|
||||
attr_accessor :trainers
|
||||
|
||||
def initialize
|
||||
@generics = []
|
||||
@greetings = []
|
||||
@greetingsMorning = []
|
||||
@greetingsEvening = []
|
||||
@bodies1 = []
|
||||
@bodies2 = []
|
||||
@battleRequests = []
|
||||
@trainers = []
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
||||
module PhoneMsgType
|
||||
Generic = 0
|
||||
Greeting = 1
|
||||
Body = 2
|
||||
BattleRequest = 3
|
||||
end
|
||||
|
||||
|
||||
|
||||
#===============================================================================
|
||||
# Global and map metadata
|
||||
#===============================================================================
|
||||
MetadataHome = 1
|
||||
MetadataWildBattleBGM = 2
|
||||
MetadataTrainerBattleBGM = 3
|
||||
MetadataWildVictoryME = 4
|
||||
MetadataTrainerVictoryME = 5
|
||||
MetadataWildCaptureME = 6
|
||||
MetadataSurfBGM = 7
|
||||
MetadataBicycleBGM = 8
|
||||
MetadataPlayerA = 9
|
||||
MetadataPlayerB = 10
|
||||
MetadataPlayerC = 11
|
||||
MetadataPlayerD = 12
|
||||
MetadataPlayerE = 13
|
||||
MetadataPlayerF = 14
|
||||
MetadataPlayerG = 15
|
||||
MetadataPlayerH = 16
|
||||
|
||||
MetadataOutdoor = 1
|
||||
MetadataShowArea = 2
|
||||
MetadataBicycle = 3
|
||||
MetadataBicycleAlways = 4
|
||||
MetadataHealingSpot = 5
|
||||
MetadataWeather = 6
|
||||
MetadataMapPosition = 7
|
||||
MetadataDiveMap = 8
|
||||
MetadataDarkMap = 9
|
||||
MetadataSafariMap = 10
|
||||
MetadataSnapEdges = 11
|
||||
MetadataDungeon = 12
|
||||
MetadataBattleBack = 13
|
||||
MetadataMapWildBattleBGM = 14
|
||||
MetadataMapTrainerBattleBGM = 15
|
||||
MetadataMapWildVictoryME = 16
|
||||
MetadataMapTrainerVictoryME = 17
|
||||
MetadataMapWildCaptureME = 18
|
||||
MetadataMapSize = 19
|
||||
MetadataEnvironment = 20
|
||||
|
||||
|
||||
|
||||
module PokemonMetadata
|
||||
GlobalTypes = {
|
||||
"Home" => [MetadataHome, "uuuu"],
|
||||
"WildBattleBGM" => [MetadataWildBattleBGM, "s"],
|
||||
"TrainerBattleBGM" => [MetadataTrainerBattleBGM, "s"],
|
||||
"WildVictoryME" => [MetadataWildVictoryME, "s"],
|
||||
"TrainerVictoryME" => [MetadataTrainerVictoryME, "s"],
|
||||
"WildCaptureME" => [MetadataWildCaptureME, "s"],
|
||||
"SurfBGM" => [MetadataSurfBGM, "s"],
|
||||
"BicycleBGM" => [MetadataBicycleBGM, "s"],
|
||||
"PlayerA" => [MetadataPlayerA, "esssssss",:PBTrainers],
|
||||
"PlayerB" => [MetadataPlayerB, "esssssss",:PBTrainers],
|
||||
"PlayerC" => [MetadataPlayerC, "esssssss",:PBTrainers],
|
||||
"PlayerD" => [MetadataPlayerD, "esssssss",:PBTrainers],
|
||||
"PlayerE" => [MetadataPlayerE, "esssssss",:PBTrainers],
|
||||
"PlayerF" => [MetadataPlayerF, "esssssss",:PBTrainers],
|
||||
"PlayerG" => [MetadataPlayerG, "esssssss",:PBTrainers],
|
||||
"PlayerH" => [MetadataPlayerH, "esssssss",:PBTrainers]
|
||||
}
|
||||
NonGlobalTypes = {
|
||||
"Outdoor" => [MetadataOutdoor, "b"],
|
||||
"ShowArea" => [MetadataShowArea, "b"],
|
||||
"Bicycle" => [MetadataBicycle, "b"],
|
||||
"BicycleAlways" => [MetadataBicycleAlways, "b"],
|
||||
"HealingSpot" => [MetadataHealingSpot, "uuu"],
|
||||
"Weather" => [MetadataWeather, "eu",:PBFieldWeather],
|
||||
"MapPosition" => [MetadataMapPosition, "uuu"],
|
||||
"DiveMap" => [MetadataDiveMap, "u"],
|
||||
"DarkMap" => [MetadataDarkMap, "b"],
|
||||
"SafariMap" => [MetadataSafariMap, "b"],
|
||||
"SnapEdges" => [MetadataSnapEdges, "b"],
|
||||
"Dungeon" => [MetadataDungeon, "b"],
|
||||
"BattleBack" => [MetadataBattleBack, "s"],
|
||||
"WildBattleBGM" => [MetadataMapWildBattleBGM, "s"],
|
||||
"TrainerBattleBGM" => [MetadataMapTrainerBattleBGM, "s"],
|
||||
"WildVictoryME" => [MetadataMapWildVictoryME, "s"],
|
||||
"TrainerVictoryME" => [MetadataMapTrainerVictoryME, "s"],
|
||||
"WildCaptureME" => [MetadataMapWildCaptureME, "s"],
|
||||
"MapSize" => [MetadataMapSize, "us"],
|
||||
"Environment" => [MetadataEnvironment, "e",:PBEnvironment]
|
||||
}
|
||||
end
|
||||
|
||||
|
||||
|
||||
#===============================================================================
|
||||
# Pokémon data
|
||||
#===============================================================================
|
||||
SpeciesType1 = 0
|
||||
SpeciesType2 = 1
|
||||
SpeciesBaseStats = 2
|
||||
SpeciesGenderRate = 3
|
||||
SpeciesGrowthRate = 4
|
||||
SpeciesBaseExp = 5
|
||||
SpeciesEffortPoints = 6
|
||||
SpeciesRareness = 7
|
||||
SpeciesHappiness = 8
|
||||
SpeciesAbilities = 9
|
||||
SpeciesHiddenAbility = 10
|
||||
SpeciesCompatibility = 11
|
||||
SpeciesStepsToHatch = 12
|
||||
SpeciesHeight = 13
|
||||
SpeciesWeight = 14
|
||||
SpeciesColor = 15
|
||||
SpeciesShape = 16
|
||||
SpeciesHabitat = 17
|
||||
SpeciesWildItemCommon = 18
|
||||
SpeciesWildItemUncommon = 19
|
||||
SpeciesWildItemRare = 20
|
||||
SpeciesIncense = 21
|
||||
SpeciesPokedexForm = 22 # For alternate forms
|
||||
SpeciesMegaStone = 23 # For alternate forms
|
||||
SpeciesMegaMove = 24 # For alternate forms
|
||||
SpeciesUnmegaForm = 25 # For alternate forms
|
||||
SpeciesMegaMessage = 26 # For alternate forms
|
||||
|
||||
MetricBattlerPlayerX = 0
|
||||
MetricBattlerPlayerY = 1
|
||||
MetricBattlerEnemyX = 2
|
||||
MetricBattlerEnemyY = 3
|
||||
MetricBattlerAltitude = 4
|
||||
MetricBattlerShadowX = 5
|
||||
MetricBattlerShadowSize = 6
|
||||
|
||||
|
||||
|
||||
module PokemonSpeciesData
|
||||
def self.requiredValues(compilingForms=false)
|
||||
ret = {
|
||||
"Type1" => [SpeciesType1, "e",:PBTypes],
|
||||
"BaseStats" => [SpeciesBaseStats, "vvvvvv"],
|
||||
"BaseEXP" => [SpeciesBaseExp, "v"],
|
||||
"EffortPoints" => [SpeciesEffortPoints, "uuuuuu"],
|
||||
"Rareness" => [SpeciesRareness, "u"],
|
||||
"Happiness" => [SpeciesHappiness, "u"],
|
||||
"Compatibility" => [SpeciesCompatibility, "eE",:PBEggGroups,:PBEggGroups],
|
||||
"StepsToHatch" => [SpeciesStepsToHatch, "v"],
|
||||
"Height" => [SpeciesHeight, "f"],
|
||||
"Weight" => [SpeciesWeight, "f"],
|
||||
"Color" => [SpeciesColor, "e",:PBColors],
|
||||
"Shape" => [SpeciesShape, "u"],
|
||||
"Moves" => [0, "*ue",nil,:PBMoves],
|
||||
"Kind" => [0, "s"],
|
||||
"Pokedex" => [0, "q"]
|
||||
}
|
||||
if !compilingForms
|
||||
ret["GenderRate"] = [SpeciesGenderRate, "e",:PBGenderRates]
|
||||
ret["GrowthRate"] = [SpeciesGrowthRate, "e",:PBGrowthRates]
|
||||
ret["Name"] = [0, "s"]
|
||||
ret["InternalName"] = [0, "n"]
|
||||
end
|
||||
return ret
|
||||
end
|
||||
|
||||
def self.optionalValues(compilingForms=false)
|
||||
ret = {
|
||||
"Type2" => [SpeciesType2, "e",:PBTypes],
|
||||
"Abilities" => [SpeciesAbilities, "eE",:PBAbilities,:PBAbilities],
|
||||
"HiddenAbility" => [SpeciesHiddenAbility, "eEEE",:PBAbilities,:PBAbilities,
|
||||
:PBAbilities,:PBAbilities],
|
||||
"Habitat" => [SpeciesHabitat, "e",:PBHabitats],
|
||||
"WildItemCommon" => [SpeciesWildItemCommon, "e",:PBItems],
|
||||
"WildItemUncommon" => [SpeciesWildItemUncommon, "e",:PBItems],
|
||||
"WildItemRare" => [SpeciesWildItemRare, "e",:PBItems],
|
||||
"BattlerPlayerX" => [MetricBattlerPlayerX, "i"],
|
||||
"BattlerPlayerY" => [MetricBattlerPlayerY, "i"],
|
||||
"BattlerEnemyX" => [MetricBattlerEnemyX, "i"],
|
||||
"BattlerEnemyY" => [MetricBattlerEnemyY, "i"],
|
||||
"BattlerAltitude" => [MetricBattlerAltitude, "i"],
|
||||
"BattlerShadowX" => [MetricBattlerShadowX, "i"],
|
||||
"BattlerShadowSize" => [MetricBattlerShadowSize, "u"],
|
||||
"EggMoves" => [0, "*e",:PBMoves],
|
||||
"FormName" => [0, "q"],
|
||||
"Evolutions" => [0, "*ses",nil,:PBEvolution,nil]
|
||||
}
|
||||
if compilingForms
|
||||
ret["PokedexForm"] = [SpeciesPokedexForm, "u"]
|
||||
ret["MegaStone"] = [SpeciesMegaStone, "e",:PBItems]
|
||||
ret["MegaMove"] = [SpeciesMegaMove, "e",:PBMoves]
|
||||
ret["UnmegaForm"] = [SpeciesUnmegaForm, "u"]
|
||||
ret["MegaMessage"] = [SpeciesMegaMessage, "u"]
|
||||
else
|
||||
ret["Incense"] = [SpeciesIncense, "e",:PBItems]
|
||||
ret["RegionalNumbers"] = [0, "*u"]
|
||||
end
|
||||
return ret
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
||||
#===============================================================================
|
||||
# Manipulation methods for metadata, phone data and Pokémon species data
|
||||
#===============================================================================
|
||||
class PokemonTemp
|
||||
attr_accessor :metadata
|
||||
attr_accessor :townMapData
|
||||
attr_accessor :encountersData
|
||||
attr_accessor :phoneData
|
||||
attr_accessor :regionalDexes
|
||||
attr_accessor :speciesData
|
||||
attr_accessor :speciesEggMoves
|
||||
attr_accessor :speciesMetrics
|
||||
attr_accessor :speciesMovesets
|
||||
attr_accessor :speciesTMData
|
||||
attr_accessor :speciesShadowMovesets
|
||||
attr_accessor :pokemonFormToSpecies
|
||||
attr_accessor :trainerTypesData
|
||||
attr_accessor :trainersData
|
||||
attr_accessor :moveToAnim
|
||||
attr_accessor :battleAnims
|
||||
end
|
||||
|
||||
|
||||
|
||||
def pbLoadMetadata
|
||||
$PokemonTemp = PokemonTemp.new if !$PokemonTemp
|
||||
if !$PokemonTemp.metadata
|
||||
$PokemonTemp.metadata = load_data("Data/metadata.dat") || []
|
||||
end
|
||||
return $PokemonTemp.metadata
|
||||
end
|
||||
|
||||
def pbGetMetadata(mapid,metadataType)
|
||||
meta = pbLoadMetadata
|
||||
return meta[mapid][metadataType] if meta[mapid]
|
||||
return nil
|
||||
end
|
||||
|
||||
def pbLoadTownMapData
|
||||
$PokemonTemp = PokemonTemp.new if !$PokemonTemp
|
||||
if !$PokemonTemp.townMapData
|
||||
$PokemonTemp.townMapData = load_data("Data/town_map.dat")
|
||||
end
|
||||
return $PokemonTemp.townMapData
|
||||
end
|
||||
|
||||
def pbLoadEncountersData
|
||||
$PokemonTemp = PokemonTemp.new if !$PokemonTemp
|
||||
if !$PokemonTemp.encountersData
|
||||
if pbRgssExists?("Data/encounters.dat")
|
||||
$PokemonTemp.encountersData = load_data("Data/encounters.dat")
|
||||
end
|
||||
end
|
||||
return $PokemonTemp.encountersData
|
||||
end
|
||||
|
||||
def pbLoadPhoneData
|
||||
$PokemonTemp = PokemonTemp.new if !$PokemonTemp
|
||||
if !$PokemonTemp.phoneData
|
||||
if pbRgssExists?("Data/phone.dat")
|
||||
$PokemonTemp.phoneData = load_data("Data/phone.dat")
|
||||
end
|
||||
end
|
||||
return $PokemonTemp.phoneData
|
||||
end
|
||||
|
||||
def pbLoadRegionalDexes
|
||||
$PokemonTemp = PokemonTemp.new if !$PokemonTemp
|
||||
if !$PokemonTemp.regionalDexes
|
||||
$PokemonTemp.regionalDexes = load_data("Data/regional_dexes.dat")
|
||||
end
|
||||
return $PokemonTemp.regionalDexes
|
||||
end
|
||||
|
||||
def pbLoadSpeciesData
|
||||
$PokemonTemp = PokemonTemp.new if !$PokemonTemp
|
||||
if !$PokemonTemp.speciesData
|
||||
$PokemonTemp.speciesData = load_data("Data/species.dat") || []
|
||||
end
|
||||
return $PokemonTemp.speciesData
|
||||
end
|
||||
|
||||
def pbGetSpeciesData(species,form=0,speciesDataType=-1)
|
||||
species = getID(PBSpecies,species)
|
||||
s = pbGetFSpeciesFromForm(species,form)
|
||||
speciesData = pbLoadSpeciesData
|
||||
if speciesDataType<0
|
||||
return speciesData[s] || []
|
||||
end
|
||||
return speciesData[s][speciesDataType] if speciesData[s] && speciesData[s][speciesDataType]
|
||||
case speciesDataType
|
||||
when SpeciesType2; return nil
|
||||
when SpeciesBaseStats; return [1,1,1,1,1,1]
|
||||
when SpeciesEffortPoints; return [0,0,0,0,0,0]
|
||||
when SpeciesStepsToHatch, SpeciesHeight, SpeciesWeight; return 1
|
||||
end
|
||||
return 0
|
||||
end
|
||||
|
||||
def pbLoadEggMovesData
|
||||
$PokemonTemp = PokemonTemp.new if !$PokemonTemp
|
||||
if !$PokemonTemp.speciesEggMoves
|
||||
$PokemonTemp.speciesEggMoves = load_data("Data/species_eggmoves.dat") || []
|
||||
end
|
||||
return $PokemonTemp.speciesEggMoves
|
||||
end
|
||||
|
||||
def pbGetSpeciesEggMoves(species,form=0)
|
||||
species = getID(PBSpecies,species)
|
||||
s = pbGetFSpeciesFromForm(species,form)
|
||||
eggMovesData = pbLoadEggMovesData
|
||||
return eggMovesData[s] if eggMovesData[s]
|
||||
return []
|
||||
end
|
||||
|
||||
def pbLoadSpeciesMetrics
|
||||
$PokemonTemp = PokemonTemp.new if !$PokemonTemp
|
||||
if !$PokemonTemp.speciesMetrics
|
||||
$PokemonTemp.speciesMetrics = load_data("Data/species_metrics.dat") || []
|
||||
end
|
||||
return $PokemonTemp.speciesMetrics
|
||||
end
|
||||
|
||||
def pbLoadMovesetsData
|
||||
$PokemonTemp = PokemonTemp.new if !$PokemonTemp
|
||||
if !$PokemonTemp.speciesMovesets
|
||||
$PokemonTemp.speciesMovesets = load_data("Data/species_movesets.dat") || []
|
||||
end
|
||||
return $PokemonTemp.speciesMovesets
|
||||
end
|
||||
|
||||
def pbGetSpeciesMoveset(species,form=0)
|
||||
species = getID(PBSpecies,species)
|
||||
s = pbGetFSpeciesFromForm(species,form)
|
||||
movesetsData = pbLoadMovesetsData
|
||||
return movesetsData[s] if movesetsData[s]
|
||||
return []
|
||||
end
|
||||
|
||||
def pbLoadSpeciesTMData
|
||||
$PokemonTemp = PokemonTemp.new if !$PokemonTemp
|
||||
if !$PokemonTemp.speciesTMData
|
||||
$PokemonTemp.speciesTMData = load_data("Data/tm.dat") || []
|
||||
end
|
||||
return $PokemonTemp.speciesTMData
|
||||
end
|
||||
|
||||
def pbLoadShadowMovesets
|
||||
$PokemonTemp = PokemonTemp.new if !$PokemonTemp
|
||||
if !$PokemonTemp.speciesShadowMovesets
|
||||
$PokemonTemp.speciesShadowMovesets = load_data("Data/shadow_movesets.dat") || []
|
||||
end
|
||||
return $PokemonTemp.speciesShadowMovesets
|
||||
end
|
||||
|
||||
def pbLoadFormToSpecies
|
||||
$PokemonTemp = PokemonTemp.new if !$PokemonTemp
|
||||
if !$PokemonTemp.pokemonFormToSpecies
|
||||
$PokemonTemp.pokemonFormToSpecies = load_data("Data/form2species.dat")
|
||||
end
|
||||
return $PokemonTemp.pokemonFormToSpecies
|
||||
end
|
||||
|
||||
def pbLoadTrainerTypesData
|
||||
$PokemonTemp = PokemonTemp.new if !$PokemonTemp
|
||||
if !$PokemonTemp.trainerTypesData
|
||||
$PokemonTemp.trainerTypesData = load_data("Data/trainer_types.dat") || []
|
||||
end
|
||||
return $PokemonTemp.trainerTypesData
|
||||
end
|
||||
|
||||
def pbGetTrainerTypeData(type)
|
||||
data = pbLoadTrainerTypesData
|
||||
return data[type] if data
|
||||
return nil
|
||||
end
|
||||
|
||||
def pbLoadTrainersData
|
||||
$PokemonTemp = PokemonTemp.new if !$PokemonTemp
|
||||
if !$PokemonTemp.trainersData
|
||||
$PokemonTemp.trainersData = load_data("Data/trainers.dat") || []
|
||||
end
|
||||
return $PokemonTemp.trainersData
|
||||
end
|
||||
|
||||
def pbGetTrainerData(trainerID,trainerName,partyID=0)
|
||||
trainersData = pbLoadTrainersData
|
||||
ret = nil
|
||||
for t in trainersData
|
||||
next if t[0]!=trainerID || t[1]!=trainerName || t[4]!=partyID
|
||||
ret = t
|
||||
break
|
||||
end
|
||||
return ret
|
||||
end
|
||||
|
||||
def pbLoadMoveToAnim
|
||||
$PokemonTemp = PokemonTemp.new if !$PokemonTemp
|
||||
if !$PokemonTemp.moveToAnim
|
||||
$PokemonTemp.moveToAnim = load_data("Data/move2anim.dat") || []
|
||||
end
|
||||
return $PokemonTemp.moveToAnim
|
||||
end
|
||||
|
||||
def pbLoadBattleAnimations
|
||||
$PokemonTemp = PokemonTemp.new if !$PokemonTemp
|
||||
if !$PokemonTemp.battleAnims
|
||||
if pbRgssExists?("Data/PkmnAnimations.rxdata")
|
||||
$PokemonTemp.battleAnims = load_data("Data/PkmnAnimations.rxdata")
|
||||
end
|
||||
end
|
||||
return $PokemonTemp.battleAnims
|
||||
end
|
||||
|
||||
def pbClearData
|
||||
if $PokemonTemp
|
||||
$PokemonTemp.metadata = nil
|
||||
$PokemonTemp.townMapData = nil
|
||||
$PokemonTemp.encountersData = nil
|
||||
$PokemonTemp.phoneData = nil
|
||||
$PokemonTemp.regionalDexes = nil
|
||||
$PokemonTemp.speciesData = nil
|
||||
$PokemonTemp.speciesEggMoves = nil
|
||||
$PokemonTemp.speciesMetrics = nil
|
||||
$PokemonTemp.speciesMovesets = nil
|
||||
$PokemonTemp.speciesTMData = nil
|
||||
$PokemonTemp.speciesShadowMovesets = nil
|
||||
$PokemonTemp.pokemonFormToSpecies = nil
|
||||
$PokemonTemp.trainerTypesData = nil
|
||||
$PokemonTemp.trainersData = nil
|
||||
$PokemonTemp.moveToAnim = nil
|
||||
$PokemonTemp.battleAnims = nil
|
||||
end
|
||||
MapFactoryHelper.clear
|
||||
$PokemonEncounters.setup($game_map.map_id) if $game_map && $PokemonEncounters
|
||||
if pbRgssExists?("Data/Tilesets.rxdata")
|
||||
$data_tilesets = load_data("Data/Tilesets.rxdata")
|
||||
end
|
||||
if pbRgssExists?("Data/Tilesets.rvdata")
|
||||
$data_tilesets = load_data("Data/Tilesets.rvdata")
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user