Implementing ENABLE_ROTZ: Restoring Rise of the Zilart expansion flag support #9612
eyes-and-brain
started this conversation in
Show and tell
Replies: 1 comment 1 reply
-
|
This kinda about the synthesis recipes |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Background
While investigating how expansion flags work in LandSandBoat, I noticed that
ENABLE_ROTZis the only expansion flag missing fromsettings/main.lua, despite all other expansions (COP, TOAU, WOTG, etc.) having their own flags.Digging into the git history revealed the full story:
6c6b2dea6dby @starlightknight tagged spells, abilities, and traits with appropriate expansion flags using SE's official version update history as the primary source. This commit also introducedENABLE_ROTZinsettings.lua.a3a18a2b0dreverted all ROTZ tags back toNULLand removedENABLE_ROTZ, citing "per @teschnei's request since ROTZ configuration is not currently supported anyways."That revert has sat untouched for over 10 years. This post documents a complete implementation of
ENABLE_ROTZsupport.What was changed
1.
settings/main.luaAdded
ENABLE_ROTZalongside the other expansion flags:2.
scripts/missions/rotz/01_The_New_Frontier.luaAdded an
ENABLE_ROTZguard following the same pattern as COP's1_1_The_Rites_of_Life.lua:3.
scripts/globals/teleports/survival_guide.luaThe hardcoded
3in the expansions bitmask encodes bit0 (base game) and bit1 (Zilart). Split it to make Zilart controllable:4.
src/map/utils/charutils.cppAdded
"ROTZ"to the expansion list used when building the spell load condition:5. SQL — Restoring
content_tag = 'ROTZ'Using the diff from commit
a3a18a2b0d(which shows exactly what was reverted) as a reference, and cross-referencing with the current DB by ability/spell name rather than ID (since IDs have shifted significantly since 2014), the following rows were updated:abilitiesspell_listtraitsHow it works with RESTRICT_CONTENT
ENABLE_ROTZfollows the same pattern as all other expansion flags. It only takes effect whenRESTRICT_CONTENT = 1is set insettings/main.lua. With both set:Known limitations / remaining work
npc_list: Nocontent_tag = 'ROTZ'entries exist anywhere in the table. Zilart-exclusive NPCs (in zones such as Ru'Aun Gardens, Hall of the Gods, Shrine of Ru'Avitau, etc.) will still spawn whenENABLE_ROTZ = 0. Tagging these requires cross-referencing each NPC against known Zilart content.synth_recipes: Similarly, no ROTZ tags exist and there is no prior git history to recover from. Zilart-era recipes would need to be identified from SE's version update history.Notes on methodology
The primary reference for identifying Zilart content was the diff of commit
a3a18a2b0d, which shows exactly which rows @starlightknight had tagged as ROTZ in 2014 based on SE's official version update posts. Since ability and trait IDs have shifted considerably over the past 10 years, name-based matching against the current DB was used rather than raw ID restoration.Beta Was this translation helpful? Give feedback.
All reactions