4 Commits

Author SHA1 Message Date
FinnHornhoover
51d3cfbb3b 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
2026-02-07 17:14:44 -06:00
CakeLancelot
8df263a64d Update tdata reference - Mob Overhaul 2.0 2026-02-07 17:14:05 -06:00
572df90645 Fix email attachment collisions causing email send failure (#312) 2025-12-07 16:38:46 -08:00
FinnHornhoover
8d0587dd45 increase mob group offset to avoid collisions (#311) 2025-12-06 16:31:27 -08:00
5 changed files with 26 additions and 2 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

@@ -12,7 +12,7 @@
// these are added to the NPC's static key to avoid collisions
const int NPC_ID_OFFSET = 1;
const int MOB_ID_OFFSET = 10000;
const int MOB_GROUP_ID_OFFSET = 20000;
const int MOB_GROUP_ID_OFFSET = 30000;
// typedef for JSON object because I don't want to type nlohmann::json every time
typedef nlohmann::json json;

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();
}

2
tdata

Submodule tdata updated: bdb611b092...d6183b484e