From 479cfd07fd9c986bdb4b9ae0dd1333ebe29ade44 Mon Sep 17 00:00:00 2001 From: infinitefusion Date: Wed, 25 Dec 2024 14:13:03 -0500 Subject: [PATCH] dynamic autogen entries --- Data/Scripts/001_Settings.rb | 2 ++ Data/Scripts/016_UI/004_UI_Pokedex_Entry.rb | 18 +++++---------- Data/Scripts/048_Fusion/FusedSpecies.rb | 23 ++++++++++++++++++- Data/Scripts/052_AddOns/GameOptions.rb | 24 ++++++++++---------- Data/System.rxdata | Bin 31608 -> 31608 bytes 5 files changed, 42 insertions(+), 25 deletions(-) diff --git a/Data/Scripts/001_Settings.rb b/Data/Scripts/001_Settings.rb index 573bdd257..eeb36067b 100644 --- a/Data/Scripts/001_Settings.rb +++ b/Data/Scripts/001_Settings.rb @@ -35,6 +35,8 @@ module Settings BASE_SPRITES_FILE_PATH = "Data/sprites/BASE_SPRITES" CUSTOM_DEX_ENTRIES_PATH = "Data/pokedex/dex.json" AI_DEX_ENTRIES_PATH = "Data/pokedex/generated_entries.json" + POKEDEX_ENTRIES_PATH = "Data/pokedex/all_entries.json" + UPDATED_SPRITESHEETS_CACHE = "Data/sprites/updated_spritesheets_cache" BACK_ITEM_ICON_PATH = "Graphics/Items/back.png" diff --git a/Data/Scripts/016_UI/004_UI_Pokedex_Entry.rb b/Data/Scripts/016_UI/004_UI_Pokedex_Entry.rb index ec805a3ae..2c70e423d 100644 --- a/Data/Scripts/016_UI/004_UI_Pokedex_Entry.rb +++ b/Data/Scripts/016_UI/004_UI_Pokedex_Entry.rb @@ -21,7 +21,7 @@ class PokemonPokedexInfo_Scene @sprites["infosprite"].zoom_x = Settings::FRONTSPRITE_SCALE @sprites["infosprite"].zoom_y = Settings::FRONTSPRITE_SCALE @spritesLoader = BattleSpriteLoader.new - + @randomEntryText = nil # @mapdata = pbLoadTownMapData # map_metadata = GameData::MapMetadata.try_get($game_map.map_id) # mappos = (map_metadata) ? map_metadata.town_map_position : nil @@ -375,18 +375,12 @@ class PokemonPokedexInfo_Scene entryText = customEntry shadowColor = shadowCustom else - if false#$PokemonSystem.use_generated_dex_entries - aiEntry = getAIDexEntry(species_data.species, species_data.name) - if aiEntry - entryText = aiEntry - shadowColor = shadowAI - else - entryText = species_data.pokedex_entry - shadowColor = shadow - end + if $PokemonSystem.use_generated_dex_entries && species_data.is_a?(GameData::FusedSpecies) + @randomEntryText = species_data.get_random_dex_entry if !@randomEntryText + entryText = @randomEntryText + shadowColor = shadow else - entryText = "No custom Pokédex entry available for this Pokémon. Due to community backlash, auto-generated Pokédex entries are no longer available." - #entryText = "No custom Pokédex entry available for this Pokémon. Auto-generated placeholder entries can be enabled in the game's options." + entryText = "No custom Pokédex entry available for this Pokémon. Please consider submitting an entry for this Pokémon on the game's Discord." shadowColor = shadow end end diff --git a/Data/Scripts/048_Fusion/FusedSpecies.rb b/Data/Scripts/048_Fusion/FusedSpecies.rb index 520fb0f21..c798a4e0d 100644 --- a/Data/Scripts/048_Fusion/FusedSpecies.rb +++ b/Data/Scripts/048_Fusion/FusedSpecies.rb @@ -297,6 +297,27 @@ module GameData return split_and_combine_text(body_entry, head_entry, ".") end + def get_random_dex_entry() + begin + file_path = Settings::POKEDEX_ENTRIES_PATH + json_data = File.read(file_path) + all_body_entries = HTTPLite::JSON.parse(json_data) + + + body_entry = all_body_entries[@body_pokemon.id_number.to_s].sample + head_entry = all_body_entries[@head_pokemon.id_number.to_s].sample + rescue + @body_pokemon.real_pokedex_entry.gsub(@body_pokemon.real_name, @real_name) + head_entry = @head_pokemon.real_pokedex_entry.gsub(@head_pokemon.real_name, @real_name) + end + body_entry = clean_json_string(body_entry).gsub(@body_pokemon.real_name, @real_name) + head_entry = clean_json_string(head_entry).gsub(@head_pokemon.real_name, @real_name) + echoln body_entry + echoln head_entry + + return split_and_combine_text(body_entry, head_entry, ".") + end + def calculate_egg_groups body_egg_groups = @body_pokemon.egg_groups head_egg_groups = @head_pokemon.egg_groups @@ -343,7 +364,7 @@ module GameData beginningText = beginingText_split[0] endText = endText_split[1] && endText_split[1] != "" ? endText_split[1] : endText_split[0] - return beginningText + separator + endText + return beginningText + separator + " " + endText end def calculate_fused_stats(dominantStat, otherStat) diff --git a/Data/Scripts/052_AddOns/GameOptions.rb b/Data/Scripts/052_AddOns/GameOptions.rb index 0b0ef7dd9..d290b9d1a 100644 --- a/Data/Scripts/052_AddOns/GameOptions.rb +++ b/Data/Scripts/052_AddOns/GameOptions.rb @@ -111,18 +111,18 @@ class PokemonGameOption_Scene < PokemonOption_Scene "Automatically download missing custom sprites and Pokédex entries from the internet" ) # - # generated_entries_option_selected=$PokemonSystem.use_generated_dex_entries ? 1 : 0 - # options << EnumOption.new(_INTL("Autogen dex entries"), [_INTL("Off"), _INTL("On")], - # proc { generated_entries_option_selected }, - # proc { |value| - # $PokemonSystem.use_generated_dex_entries = value == 1 - # }, - # [ - # "Fusions without a custom Pokédex entry display nothing.", - # "Fusions without a custom Pokédex entry display an auto-generated placeholder." - # - # ] - # ) + generated_entries_option_selected=$PokemonSystem.use_generated_dex_entries ? 1 : 0 + options << EnumOption.new(_INTL("Autogen dex entries"), [_INTL("Off"), _INTL("On")], + proc { generated_entries_option_selected }, + proc { |value| + $PokemonSystem.use_generated_dex_entries = value == 1 + }, + [ + "Fusions without a custom Pokédex entry display nothing.", + "Fusions without a custom Pokédex entry display an auto-generated placeholder." + + ] + ) if $game_switches && ($game_switches[SWITCH_NEW_GAME_PLUS] || $game_switches[SWITCH_BEAT_THE_LEAGUE]) #beat the league options << diff --git a/Data/System.rxdata b/Data/System.rxdata index d5bff207e4661957725e0306e8925c206c22581d..9690d00d70fc9ffe9544d41a2b98eda0b2f6d2df 100644 GIT binary patch delta 19 acmezIjq%4f#tn?JETZ)eESp(ni{k)S?guXb delta 19 bcmezIjq%4f#tn?JEO(=vnK!e_7RLbqUEK%N