15 Commits

Author SHA1 Message Date
chardub
e11e62272c possible missing files 2025-09-28 16:18:37 -04:00
chardub
51f98b9cc7 sprites credits 2025-09-28 16:14:12 -04:00
chardub
318ff90d8d update 6.7 2025-09-28 15:53:01 -04:00
chardub
ef5e023ae0 6.6.2 2025-06-28 15:18:40 -04:00
chardub
d383af130b koga necrozma fix 2025-06-11 15:46:36 -04:00
chardub
0c50a74a13 fixes typo causing crash 2025-06-10 16:10:31 -04:00
chardub
3e6e955070 6.6.1 patch 2025-06-10 12:45:27 -04:00
chardub
4ba51c7473 Fixes necrozma quest crash 2025-06-08 01:08:32 -04:00
chardub
aa795459b4 game.exe (needed for launcher) 2025-06-08 01:00:33 -04:00
chardub
fd3429c3b5 6.6 release fixes 2025-06-07 14:42:44 -04:00
chardub
a50151c4af fixes oran berry hat 2025-06-07 13:07:41 -04:00
chardub
3622cb9bed fixes oran berry hat 2025-06-07 12:47:25 -04:00
chardub
23de3cb6e4 updates gitignore 2025-06-07 12:00:11 -04:00
chardub
451490edc7 spritesheets cache 2025-06-07 11:25:44 -04:00
chardub
30db0a406c gitkeep 2025-06-07 11:18:41 -04:00
733 changed files with 321818 additions and 198501 deletions

2
.gitignore vendored
View File

@@ -1,5 +1,4 @@
Graphics/CustomBattlers/local_sprites/* Graphics/CustomBattlers/local_sprites/*
Graphics/Pokemon/FusionIcons/*
Graphics/Battlers/Shiny/* Graphics/Battlers/Shiny/*
Graphics/CustomBattlers/spritesheets/* Graphics/CustomBattlers/spritesheets/*
@@ -15,5 +14,4 @@ Data/sprites/sprites_rate_limit.log
Game.rxproj Game.rxproj
.DS_Store .DS_Store
PBS/* PBS/*
Game.exe
rpgmaker.sh rpgmaker.sh

BIN
Audio/BGM/SSANNE.ogg Normal file

Binary file not shown.

BIN
Audio/BGM/bicycle.mp3 Normal file

Binary file not shown.

View File

@@ -107,9 +107,9 @@ casinoluck<s>ymirbot
################################### ###################################
### Custom Pok?dex entries ### ### Custom Pokedex entries ###
################################### ###################################
### Pok?dex entries quality control (Unown) ### Pokedex entries quality control (Unown)
luvischlo<s>char_latte3412<s>strawbearycandy luvischlo<s>char_latte3412<s>strawbearycandy
bobosmith01<s>griddle<s>.izik bobosmith01<s>griddle<s>.izik
knilk<s>lordjoostmeister<s>.realthree knilk<s>lordjoostmeister<s>.realthree
@@ -127,6 +127,10 @@ Maruno (http://pokemonessentials.wikia.com/wiki/Pok%C3%A9mon_Essentials_Wiki)
########################################################### ###########################################################
Playtesting was done by various members of the Discord channel. Playtesting was done by various members of the Discord channel.
Special thanks to all of you! Special thanks to all of you!
Elite 4 rematch teams
duskrd<s>anaconja
########################################################### ###########################################################
### Graphics # ### Graphics #
########################################################### ###########################################################
@@ -140,6 +144,14 @@ Nintendo
GameFreak GameFreak
########################
### Translations #
########################
French translation:
anthonygourmand
locpic_
blood.wolf58 (Willi)
####################################################################### #######################################################################
The following ressources were also used The following ressources were also used
with their respective authors' consent with their respective authors' consent

BIN
Data/.DS_Store vendored

Binary file not shown.

8
Data/.idea/.gitignore generated vendored
View File

@@ -1,8 +0,0 @@
# Default ignored files
/shelf/
/workspace.xml
# Datasource local storage ignored files
/../../../../../../../../../../../:\Users\charl\Documents\Jeux\rpgmaker\infinitefusion\dev\infinitefusion-e18\Data\.idea/dataSources/
/dataSources.local.xml
# Editor-based HTTP Client requests
/httpRequests/

1
Data/.idea/vcs.xml generated
View File

@@ -2,5 +2,6 @@
<project version="4"> <project version="4">
<component name="VcsDirectoryMappings"> <component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/.." vcs="Git" /> <mapping directory="$PROJECT_DIR$/.." vcs="Git" />
<mapping directory="$PROJECT_DIR$/Scripts" vcs="Git" />
</component> </component>
</project> </project>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -5,10 +5,13 @@
#==============================================================================# #==============================================================================#
module Settings module Settings
# The version of your game. It has to adhere to the MAJOR.MINOR.PATCH format. # The version of your game. It has to adhere to the MAJOR.MINOR.PATCH format.
GAME_VERSION = '6.6.0' GAME_VERSION = '6.7.0'
GAME_VERSION_NUMBER = "6.6.0" GAME_VERSION_NUMBER = "6.7.0"
LATEST_GAME_RELEASE = "6.6" LATEST_GAME_RELEASE = "6.6"
KANTO = GAME_ID == :IF_KANTO
HOENN = GAME_ID == :IF_HOENN
POKERADAR_LIGHT_ANIMATION_RED_ID = 17 POKERADAR_LIGHT_ANIMATION_RED_ID = 17
POKERADAR_LIGHT_ANIMATION_GREEN_ID = 18 POKERADAR_LIGHT_ANIMATION_GREEN_ID = 18
POKERADAR_HIDDEN_ABILITY_POKE_CHANCE = 32 POKERADAR_HIDDEN_ABILITY_POKE_CHANCE = 32
@@ -33,7 +36,7 @@ module Settings
BATTLERS_FOLDER = "Graphics/Battlers/Autogens/" BATTLERS_FOLDER = "Graphics/Battlers/Autogens/"
DOWNLOADED_SPRITES_FOLDER = "Graphics/temp/" DOWNLOADED_SPRITES_FOLDER = "Graphics/temp/"
DEFAULT_SPRITE_PATH = "Graphics/Battlers/Special/000.png" DEFAULT_SPRITE_PATH = "Graphics/Battlers/Special/000.png"
CREDITS_FILE_PATH = "Data/sprites/Sprite Credits.csv" CREDITS_FILE_PATH = "Data/sprites/Sprite_Credits.csv"
VERSION_FILE_PATH = "Data/VERSION" VERSION_FILE_PATH = "Data/VERSION"
CUSTOM_SPRITES_FILE_PATH = "Data/sprites/CUSTOM_SPRITES" CUSTOM_SPRITES_FILE_PATH = "Data/sprites/CUSTOM_SPRITES"
BASE_SPRITES_FILE_PATH = "Data/sprites/BASE_SPRITES" BASE_SPRITES_FILE_PATH = "Data/sprites/BASE_SPRITES"
@@ -66,9 +69,13 @@ module Settings
SPRITES_FILE_URL = "https://raw.githubusercontent.com/infinitefusion/infinitefusion-e18/main/Data/sprites/CUSTOM_SPRITES" SPRITES_FILE_URL = "https://raw.githubusercontent.com/infinitefusion/infinitefusion-e18/main/Data/sprites/CUSTOM_SPRITES"
BASE_SPRITES_FILE_URL = "https://raw.githubusercontent.com/infinitefusion/infinitefusion-e18/main/Data/sprites/BASE_SPRITES" BASE_SPRITES_FILE_URL = "https://raw.githubusercontent.com/infinitefusion/infinitefusion-e18/main/Data/sprites/BASE_SPRITES"
CREDITS_FILE_URL = "https://infinitefusion.net/Sprite Credits.csv" CREDITS_FILE_URL = "https://infinitefusion.net/customsprites/Sprite_Credits.csv"
CUSTOM_DEX_FILE_URL = "https://raw.githubusercontent.com/infinitefusion/pif-downloadables/refs/heads/master/dex.json" CUSTOM_DEX_FILE_URL = "https://raw.githubusercontent.com/infinitefusion/pif-downloadables/refs/heads/master/dex.json"
SECRETBASE_UPLOAD_URL = "http://secretbases-upload.pkmninfinitefusion.workers.dev"
SECRETBASE_DOWNLOAD_URL = "https://secretbase-download.pkmninfinitefusion.workers.dev"
STARTUP_MESSAGES = "" STARTUP_MESSAGES = ""
LEVEL_CAPS=[12,22,26,35,38,45,51,54,62,62,63,64,64,65,67,68] LEVEL_CAPS=[12,22,26,35,38,45,51,54,62,62,63,64,64,65,67,68]
@@ -175,12 +182,19 @@ module Settings
# always inherit egg moves from its father. # always inherit egg moves from its father.
BREEDING_CAN_INHERIT_EGG_MOVES_FROM_MOTHER = (MECHANICS_GENERATION >= 6) BREEDING_CAN_INHERIT_EGG_MOVES_FROM_MOTHER = (MECHANICS_GENERATION >= 6)
KANTO_STARTERS = [:BULBASAUR, :CHARMANDER, :SQUIRTLE] KANTO_STARTERS = [:BULBASAUR, :CHARMANDER, :SQUIRTLE]
JOHTO_STARTERS = [:CHIKORITA, :CYNDAQUIL, :TOTODILE] JOHTO_STARTERS = [:CHIKORITA, :CYNDAQUIL, :TOTODILE]
HOENN_STARTERS = [:TREECKO, :TORCHIC, :MUDKIP] HOENN_STARTERS = [:TREECKO, :TORCHIC, :MUDKIP]
SINNOH_STARTERS = [:TURTWIG, :CHIMCHAR, :PIPLUP] SINNOH_STARTERS = [:TURTWIG, :CHIMCHAR, :PIPLUP]
KALOS_STARTERS = [:CHESPIN, :FENNEKIN, :FROAKIE] KALOS_STARTERS = [:CHESPIN, :FENNEKIN, :FROAKIE]
DEFAULT_STARTERS = Settings::GAME_ID == :IF_KANTO ? KANTO_STARTERS : HOENN_STARTERS
GRASS_STARTERS = [:BULBASAUR,:CHIKORITA,:TREECKO,:TURTWIG,:CHESPIN]
FIRE_STARTERS = [:CHARMANDER,:CYNDAQUIL, :TORCHIC, :CHIMCHAR, :FENNEKIN]
WATER_STARTERS = [:SQUIRTLE, :TOTODILE, :MUDKIP, :PIPLUP, :FROAKIE]
#============================================================================= #=============================================================================
@@ -345,7 +359,7 @@ module Settings
# Dex list, no matter which region the player is currently in. # Dex list, no matter which region the player is currently in.
def self.pokedex_names def self.pokedex_names
return [ return [
# [_INTL("Kanto Pokédex"), 0] # ["Kanto Pokédex", 0]
] ]
end end
@@ -543,11 +557,15 @@ module Settings
# file in the Data folder. Edit only if you have 2 or more languages to choose # file in the Data folder. Edit only if you have 2 or more languages to choose
# from. # from.
LANGUAGES = [ LANGUAGES = [
# ["English", "english.dat"], ["English", "english.dat"],
# ["Deutsch", "deutsch.dat"] ["Français", "french.dat"]
] ]
#Experimental
REMOTE_BATTLES_CONTROL = false
REMOTE_NPC_DIALOG = false
REMOTE_BATTLE_CONTROL_SERVER_URL = "http://127.0.0.1:5000/choose_move"
REMOTE_NPC_DIALOG_SERVER_URL = "http://127.0.0.1:5000"
#Technical #Technical
SPRITE_CACHE_MAX_NB=100 SPRITE_CACHE_MAX_NB=100
NEWEST_SPRITEPACK_MONTH = 12 NEWEST_SPRITEPACK_MONTH = 12
@@ -576,7 +594,7 @@ module Settings
"speech hgss 18", "speech hgss 18",
"speech hgss 19", "speech hgss 19",
"speech hgss 20", "speech hgss 20",
"speech pl 18" "speech pl 18",
] ]
# Available menu frames. These are graphic files in "Graphics/Windowskins/". # Available menu frames. These are graphic files in "Graphics/Windowskins/".

View File

@@ -3,42 +3,42 @@
# HTTP utility functions # HTTP utility functions
# #
############################# #############################
#
def pbPostData(url, postdata, filename=nil, depth=0) def pbPostData(url, postdata, filename=nil, depth=0)
if url[/^http:\/\/([^\/]+)(.*)$/] return "" unless url =~ /^https?:\/\/([^\/]+)(.*)$/
host = $1 host = $1
path = $2 path = $2
path = "/" if path.length==0 path = "/" if path.empty?
userAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.14) Gecko/2009082707 Firefox/3.0.14"
body = postdata.map { |key, value| userAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.14) Gecko/2009082707 Firefox/3.0.14"
keyString = key.to_s
valueString = value.to_s # Serialize as JSON
keyString.gsub!(/[^a-zA-Z0-9_\.\-]/n) { |s| sprintf('%%%02x', s[0]) } body = serialize_json(postdata)
valueString.gsub!(/[^a-zA-Z0-9_\.\-]/n) { |s| sprintf('%%%02x', s[0]) }
next "#{keyString}=#{valueString}" ret = HTTPLite.post_body(
}.join('&') url,
ret = HTTPLite.post_body( body,
url, "application/json",
body, {
"application/x-www-form-urlencoded", "Host" => host,
{ "Proxy-Connection" => "Close",
"Host" => host, # might not be necessary "Content-Length" => body.bytesize.to_s,
"Proxy-Connection" => "Close", "Pragma" => "no-cache",
"Content-Length" => body.bytesize.to_s, "User-Agent" => userAgent
"Pragma" => "no-cache", }
"User-Agent" => userAgent ) rescue ""
}
) rescue "" return "" if !ret.is_a?(Hash)
return ret if !ret.is_a?(Hash) return "" if ret[:status] != 200
return "" if ret[:status] != 200 if filename
return ret[:body] if !filename File.open(filename, "wb") { |f| f.write(ret[:body]) }
File.open(filename, "wb"){|f|f.write(ret[:body])}
return "" return ""
end end
return "" ret[:body]
end end
def pbDownloadData(url, filename = nil, authorization = nil, depth = 0, &block) def pbDownloadData(url, filename = nil, authorization = nil, depth = 0, &block)
return nil if !downloadAllowed?() return nil if !downloadAllowed?()
echoln "downloading data from #{url}" echoln "downloading data from #{url}"
@@ -73,15 +73,21 @@ def pbDownloadToFile(url, file)
end end
end end
def pbPostToString(url, postdata) def pbPostToString(url, postdata, timeout = 30)
safe_postdata = postdata.transform_values(&:to_s)
begin begin
data = pbPostData(url, postdata) data = pbPostData(url, safe_postdata)
return data return data || ""
rescue rescue MKXPError => e
echoln("[Remote AI] Exception: #{e.message}")
return "" return ""
end end
end end
def pbPostToFile(url, postdata, file) def pbPostToFile(url, postdata, file)
begin begin
pbPostData(url, postdata,file) pbPostData(url, postdata,file)
@@ -89,7 +95,7 @@ def pbPostToFile(url, postdata, file)
end end
end end
def serialize_value(value) def serialize_value_legacy(value)
if value.is_a?(Hash) if value.is_a?(Hash)
serialize_json(value) serialize_json(value)
elsif value.is_a?(String) elsif value.is_a?(String)
@@ -102,17 +108,47 @@ end
def serialize_json(data) def serialize_json(data)
#echoln data if data.is_a?(Hash)
# Manually serialize the JSON data into a string parts = ["{"]
parts = ["{"] data.each_with_index do |(key, value), index|
data.each_with_index do |(key, value), index| parts << "\"#{key}\":#{serialize_value(value)}"
parts << "\"#{key}\":#{serialize_value(value)}" parts << "," unless index == data.size - 1
parts << "," unless index == data.size - 1 end
parts << "}"
return parts.join
else
return serialize_value(data)
end end
parts << "}"
return parts.join
end end
def serialize_value(value)
case value
when String
"\"#{escape_json_string(value)}\""
when Numeric
value.to_s
when TrueClass, FalseClass
value.to_s
when NilClass
"null"
when Array
"[" + value.map { |v| serialize_value(v) }.join(",") + "]"
when Hash
serialize_json(value)
else
raise "Unsupported type: #{value.class}"
end
end
def escape_json_string(str)
# Minimal escape handling
str.gsub(/["\\]/) { |m| "\\#{m}" }
.gsub("\n", "\\n")
.gsub("\t", "\\t")
.gsub("\r", "\\r")
end
def downloadAllowed?() def downloadAllowed?()
return $PokemonSystem.download_sprites==0 return $PokemonSystem.download_sprites==0
@@ -141,6 +177,42 @@ def clean_json_string(str)
end end
# json.rb - lightweight JSON parser for MKXP/RGSS XP
# Lightweight JSON for MKXP/RGSS XP
module JSON
module_function
# Convert Ruby object (hash/array/etc) into JSON string
def generate(obj)
case obj
when Hash
"{" + obj.map { |k, v| "\"#{k}\":#{generate(v)}" }.join(",") + "}"
when Array
"[" + obj.map { |v| generate(v) }.join(",") + "]"
when String, Symbol
"\"#{obj.to_s}\""
when TrueClass, FalseClass
obj.to_s
when NilClass
"null"
when Numeric
obj.to_s
else
raise "Unsupported type #{obj.class}"
end
end
# Simple parser (not full JSON) — optional
def parse(str)
return nil if str.nil? || str.strip.empty?
eval(str)
end
end

File diff suppressed because it is too large Load Diff

View File

@@ -202,6 +202,7 @@ module Game
$PokemonMap.updateMap $PokemonMap.updateMap
$scene = Scene_Map.new $scene = Scene_Map.new
onLoadExistingGame() onLoadExistingGame()
end end
# Loads and validates the map. Called when loading a saved game. # Loads and validates the map. Called when loading a saved game.
@@ -234,9 +235,15 @@ module Game
end end
$PokemonEncounters = PokemonEncounters.new $PokemonEncounters = PokemonEncounters.new
$PokemonEncounters.setup($game_map.map_id) $PokemonEncounters.setup($game_map.map_id)
self.load_secret_bases if Settings::HOENN
pbUpdateVehicle pbUpdateVehicle
end end
def self.load_secret_bases
loader = SecretBaseLoader.new
loader.load_visitor_bases
end
# Saves the game. Returns whether the operation was successful. # Saves the game. Returns whether the operation was successful.
# @param save_file [String] the save file path # @param save_file [String] the save file path
# @param safe [Boolean] whether $PokemonGlobal.safesave should be set to true # @param safe [Boolean] whether $PokemonGlobal.safesave should be set to true

View File

@@ -218,6 +218,12 @@ class Scene_Map
end end
return if $game_temp.message_window_showing return if $game_temp.message_window_showing
if !pbMapInterpreterRunning? if !pbMapInterpreterRunning?
if $game_temp.moving_furniture
placeFurnitureMenu() if Input.trigger?(Input::USE)
rotate__held_furniture_left if Input.trigger?(Input::JUMPDOWN)
rotate_held_furniture_right if Input.trigger?(Input::JUMPUP)
end
if Input.trigger?(Input::USE) if Input.trigger?(Input::USE)
$PokemonTemp.hiddenMoveEventCalling = true $PokemonTemp.hiddenMoveEventCalling = true
elsif Input.trigger?(Input::BACK) elsif Input.trigger?(Input::BACK)
@@ -225,7 +231,7 @@ class Scene_Map
$game_temp.menu_calling = true $game_temp.menu_calling = true
$game_temp.menu_beep = true $game_temp.menu_beep = true
dayOfWeek = getDayOfTheWeek().to_s dayOfWeek = getDayOfTheWeek().to_s
$scene.spriteset.addUserSprite(LocationWindow.new($game_map.name+ "\n"+ pbGetTimeNow.strftime("%I:%M %p") + "\n" + dayOfWeek)) $scene.spriteset.addUserSprite(LocationWindow.new($game_map.name+ "\n"+ pbGetTimeNow.strftime(_INTL("%I:%M %p")) + "\n" + dayOfWeek))
end end
elsif Input.trigger?(Input::SPECIAL) elsif Input.trigger?(Input::SPECIAL)
unless $game_system.menu_disabled || $game_player.moving? unless $game_system.menu_disabled || $game_player.moving?

Some files were not shown because too many files have changed in this diff Show More