From 8da85d824b52e3e391e0fc84dd3b9ac2014f370f Mon Sep 17 00:00:00 2001 From: FinnHornhoover Date: Sat, 17 Jan 2026 06:43:16 +0300 Subject: [PATCH 1/3] add config option to include drop fixes easier --- config.ini | 5 +++++ src/settings.cpp | 13 +++++++++++++ src/settings.hpp | 1 + 3 files changed, 19 insertions(+) diff --git a/config.ini b/config.ini index 8e9e26a8..a868fbee 100644 --- a/config.ini +++ b/config.ini @@ -47,6 +47,11 @@ motd=Welcome to OpenFusion! # requires to run. You can override them by changing their values and # uncommenting them (removing the leading # character from that line). +# should drop fixes be enabled? +# this includes changes that fix stuff like Fusionfly and Freakosaurus Rex drops +# and also fix Academy-specific mobs with no drops +#dropfixesenabled=true + # location of the tabledata folder #tdatadir=tdata/ # location of the patch folder diff --git a/src/settings.cpp b/src/settings.cpp index cf542428..7f086851 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -74,6 +74,9 @@ int settings::EVENTMODE = 0; // race settings bool settings::IZRACESCORECAPPED = true; +// drop fixes enabled +bool settings::DROPFIXESENABLED = false; + void settings::init() { INIReader reader("config.ini"); @@ -117,6 +120,7 @@ void settings::init() { TDATADIR = reader.Get("shard", "tdatadir", TDATADIR); PATCHDIR = reader.Get("shard", "patchdir", PATCHDIR); ENABLEDPATCHES = reader.Get("shard", "enabledpatches", ENABLEDPATCHES); + DROPFIXESENABLED = reader.GetBoolean("shard", "dropfixesenabled", DROPFIXESENABLED); ACCLEVEL = reader.GetInteger("shard", "accountlevel", ACCLEVEL); EVENTMODE = reader.GetInteger("shard", "eventmode", EVENTMODE); DISABLEFIRSTUSEFLAG = reader.GetBoolean("shard", "disablefirstuseflag", DISABLEFIRSTUSEFLAG); @@ -126,4 +130,13 @@ void settings::init() { MONITORPORT = reader.GetInteger("monitor", "port", MONITORPORT); MONITORLISTENIP = reader.Get("monitor", "listenip", MONITORLISTENIP); MONITORINTERVAL = reader.GetInteger("monitor", "interval", MONITORINTERVAL); + + if (DROPFIXESENABLED) { + std::cout << "[INFO] Drop fixes enabled" << std::endl; + if (ENABLEDPATCHES.empty()) { + ENABLEDPATCHES = "0104-fix"; + } else { + ENABLEDPATCHES += " 0104-fix 1013-fix"; + } + } } diff --git a/src/settings.hpp b/src/settings.hpp index affe045b..d74c54df 100644 --- a/src/settings.hpp +++ b/src/settings.hpp @@ -45,6 +45,7 @@ namespace settings { extern int MONITORINTERVAL; extern bool DISABLEFIRSTUSEFLAG; extern bool IZRACESCORECAPPED; + extern bool DROPFIXESENABLED; void init(); } From c2ca722dc42ac6726f1e0d0ce4040220bb7fd8d1 Mon Sep 17 00:00:00 2001 From: FinnHornhoover Date: Sat, 17 Jan 2026 23:48:33 +0300 Subject: [PATCH 2/3] amend comment and rename fix directories --- config.ini | 8 +++++--- src/settings.cpp | 4 ++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/config.ini b/config.ini index a868fbee..6ea0a843 100644 --- a/config.ini +++ b/config.ini @@ -47,9 +47,11 @@ motd=Welcome to OpenFusion! # requires to run. You can override them by changing their values and # uncommenting them (removing the leading # character from that line). -# should drop fixes be enabled? -# this includes changes that fix stuff like Fusionfly and Freakosaurus Rex drops -# and also fix Academy-specific mobs with no drops +# Should drop fixes be enabled? +# This will add drops to (mostly Academy-specific) mobs that don't have drops +# and rearrange drop tables that are either unassigned or stranded in difficult to reach mobs +# e.g. Hyper Fusionfly and Fusion Numbuh Four drops will become more accessible. +# This is a polish option that is slightly inauthentic to the original game. #dropfixesenabled=true # location of the tabledata folder diff --git a/src/settings.cpp b/src/settings.cpp index 7f086851..ed679472 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -134,9 +134,9 @@ void settings::init() { if (DROPFIXESENABLED) { std::cout << "[INFO] Drop fixes enabled" << std::endl; if (ENABLEDPATCHES.empty()) { - ENABLEDPATCHES = "0104-fix"; + ENABLEDPATCHES = "0104-fixes"; } else { - ENABLEDPATCHES += " 0104-fix 1013-fix"; + ENABLEDPATCHES += " 0104-fixes 1013-fixes"; } } } From 87992ac2c06c5fcba6a2288eec1cb29c3ba16cd5 Mon Sep 17 00:00:00 2001 From: FinnHornhoover Date: Sun, 25 Jan 2026 23:06:44 +0300 Subject: [PATCH 3/3] check for 1013 before applying 1013 fixes --- src/settings.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/settings.cpp b/src/settings.cpp index ed679472..1c505a32 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -136,7 +136,10 @@ void settings::init() { if (ENABLEDPATCHES.empty()) { ENABLEDPATCHES = "0104-fixes"; } else { - ENABLEDPATCHES += " 0104-fixes 1013-fixes"; + ENABLEDPATCHES += " 0104-fixes"; + if (ENABLEDPATCHES.find("1013") != std::string::npos) { + ENABLEDPATCHES += " 1013-fixes"; + } } } }