Questions & Implications regarding 8188 Dev Patch

A snippet from the latest Dev Patch, taken from here:

  • classes.2da: New column StatGainTable. This column contains a table that describes ability and natural AC progression per level.

  • Palemaster Natural AC progression has been changed to use this mechanism.

  • Dragon Disciple Natural AC and Ability progression has been changed as well. As a consequence of this change, existing creatures will be stripped of their baked-in modifiers; thus changing characters/saves irreversibly and making them invalid with older game versions . Character changes are tracked in the character file itself: A new field “DataMigration” has been added to the GFF CreatureStats struct to accommodate this. In the interest of transparency, changes made to character files are published in the patch notes, below. If you want to return to a previous game version, make sure to create a backup first.

  • racialtypes.2da: New columns to configure extra skill points and feats at first level.

  • racialtypes.2da: New columns to configure the skill points modifier at first level.

  • racialtypes.2da: New columns to configure Ability Point Buy.

  • racialtypes.2da: New columns to configure normal feat progression.

  • ruleset.2da: New 2da added that contains a set of builtin ruleset defines. These defines were previously hardcoded in the game engine and are now overridable on a per-module basis. No explicit guarantees of functionality are given due to their scope and amount; however we will gladly listen for feedback on what works, what doesn’t work as expected, and what needs changing to accommodate further use cases. We reserve the right to change and remove entries with future patches.
    Irreversible character data migrations in this patch


  • DataMigration < 1: Dragon Disciple Class:
  • if (level >= 10) STR -= 4;
  • if (level >= 4) STR -= 2;
  • if (level >= 2) STR -= 2;
  • if (level >= 7) CON -= 2;
  • if (level >= 9) INT -= 2;
  • if (level >= 10) CHA -= 2;
  • // Note: Natural AC was already calculated at runtime and not persisted to character data.

I like the idea of the new ruleset.2da, and I hope that can do what I think it can do. The changes to the racialtypes and classes 2da seem problematic from the PW end in that one, for those with custom versions of these 2da’s, PWs may need to find a way to merge them; two, in making this 2da change, do PWs invalidate those characters outlined in the 2da revisions above?

Thoughts, opinions, long term prognostications?

If the new columns do not exist in the 2DA that was found by the game (i.e. if the module has its own version based on older schema), the values will be automatically assumed to be those of the stock game, so everyting will continue to work.
Nothing will break for any PWs, they just need to add the new columns to their own 2DA in order to be able to customize this behavior.

The only breaking change here is that if you use an RDD character to log into an 8188+ server, that character will become invalid for all versions <=8187. They will play exactly the same in the new version, but you won’t be able to export from 8188 game and import into stable

I see. My thinking was if players are running around PWs with RDDs (and PMs because I believe they are included in this new AC calculations), and then those PWs and clients update and use the new 2da entries, then those Rdds and PMs would be invalidated and would only work on pre-8177 worlds. While not the end of the world…