Add config option to include drop fixes (#313)

* add config option to include drop fixes easier

* amend comment and rename fix directories

* check for 1013 before applying 1013 fixes
This commit is contained in:
FinnHornhoover
2026-02-08 02:14:44 +03:00
committed by GitHub
parent 8df263a64d
commit 51d3cfbb3b
3 changed files with 24 additions and 0 deletions

View File

@@ -47,6 +47,13 @@ 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 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
#tdatadir=tdata/
# location of the patch folder

View File

@@ -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,16 @@ 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-fixes";
} else {
ENABLEDPATCHES += " 0104-fixes";
if (ENABLEDPATCHES.find("1013") != std::string::npos) {
ENABLEDPATCHES += " 1013-fixes";
}
}
}
}

View File

@@ -45,6 +45,7 @@ namespace settings {
extern int MONITORINTERVAL;
extern bool DISABLEFIRSTUSEFLAG;
extern bool IZRACESCORECAPPED;
extern bool DROPFIXESENABLED;
void init();
}