Throari Posted November 16, 2018 Share Posted November 16, 2018 (edited) Just a minor question regarding 'Alter <class> Spell Progression Table' components. It is my understanding that different mods (e.g. TDD) bring their own progression tables and that these tables are prioritized before/in conflict with Tweaks Anthology. Can I have both worlds? Meaning, can I install TDD (or similar conflicted mods) and somehow install the TA tables later? Glimpsing over the code it seems to me, that a.) currently it's a hard conflict, meaning the installation skips over these components, when I'm running the install script after TDD and b.) it's not just copying a file from a->b in which case I would do it manually. Then again I'm not proficient in reading WeiDu code, so is there a simple solution? Thank you in advance. EDIT: Since I had a time on my hand I tried to understand the code a little bit better. I used klatus mod for comparison since it had a simliar component: ///////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////// ///// ///// ///// Streamlined Wizard Spell Progression ///// ///// ///// ///////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////// BEGIN @145 DESIGNATED 2000 GROUP @45 REQUIRE_PREDICATE GAME_IS ~soa tob tutu tutu_totsc bgt iwd_in_bg2 bgee bg2ee eet iwdee~ @2 REQUIRE_PREDICATE FILE_EXISTS_IN_GAME ~mxsplwiz.2da~ @3 //Required file missing COPY ~klatu/2da/mxsplwiz.2da~ ~override~ In comparison to TA: /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ ///// \\\\\ ///// Alter Mage Spell Progression Table \\\\\ ///// \\\\\ /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ /////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\/////\\\\\ ///// \\\\\ ///// un-nerfed \\\\\ ///// \\\\\ BEGIN @226001 DESIGNATED 2260 GROUP @9 SUBCOMPONENT @226000 // alter mage progression REQUIRE_PREDICATE FILE_EXISTS_IN_GAME ~mxsplwiz.2da~ @25 REQUIRE_PREDICATE NOT FILE_EXISTS_IN_GAME ~bpduearc.spl~ @16 // non-BP REQUIRE_PREDICATE NOT FILE_EXISTS ~data/rot-rule.bif~ @16 // non-RoT //REQUIRE_PREDICATE NOT FILE_EXISTS ~data/tdd-rule.bif~ @16 // non-TDD REQUIRE_PREDICATE NOT GAME_IS ~iwd2~ @25 COPY ~cdtweaks/2da/un_mxsplwiz.2da~ ~override/mxsplwiz.2da~ ACTION_IF GAME_IS ~tob bgt bg2ee eet~ THEN BEGIN // add mage alchemy, scribe scrolls COPY_EXISTING ~lucm0.2da~ ~override~ ~luma0.2da~ ~override~ COUNT_2DA_ROWS ~9~ "rows" SET "patch" = 0 FOR ( index = 1 ; index < rows ; index = index + 1 ) BEGIN READ_2DA_ENTRY "%index%" 1 9 "abil" PATCH_IF ("%abil%" STRING_COMPARE_CASE "*" = 0) BEGIN PATCH_IF ("%patch%" = 0) BEGIN SET_2DA_ENTRY "%index%" 1 9 ~GA_GBSCRBMG~ SET_2DA_ENTRY "%index%" 4 9 ~1~ SET_2DA_ENTRY "%index%" 5 9 ~99~ SET_2DA_ENTRY "%index%" 6 9 ~99~ SET "patch" = 1 END ELSE BEGIN SET_2DA_ENTRY "%index%" 1 9 ~GA_GBALCHMG~ SET_2DA_ENTRY "%index%" 4 9 ~1~ SET_2DA_ENTRY "%index%" 5 9 ~99~ SET_2DA_ENTRY "%index%" 6 9 ~99~ SET "index" = "%rows%" // kills loop END END END BUT_ONLY COPY ~cdtweaks/spl/gbalchmg.spl~ ~override~ SAY 0x08 @218001 SAY 0x50 @218004 COPY ~cdtweaks/spl/gbscrbmg.spl~ ~override~ SAY 0x08 @218007 SAY 0x50 @218010 ACTION_IF NOT MOD_IS_INSTALLED ~cdtweaks/setup-cdtweaks.tp2~ ~2280~ THEN BEGIN // if un-nerfed cleric progression hasn't already made this change... COPY_EXISTING ~spcl918.spl~ ~override~ SAY 0x08 @218003 SAY 0x50 @218006 READ_LONG 0x64 "abil_off" READ_SHORT 0x68 "abil_num" READ_LONG 0x6a "fx_off" FOR (index = 0 ; index < abil_num ; index = index + 1) BEGIN READ_SHORT ("%abil_off%" + 0x1e + (0x28 * "%index%")) "abil_fx_num" READ_SHORT ("%abil_off%" + 0x20 + (0x28 * "%index%")) "abil_fx_idx" FOR (index2 = 0 ; index2 < abil_fx_num ; index2 = index2 + 1) BEGIN READ_SHORT ("%fx_off%" + (0x30 * ("%abil_fx_idx%" + "%index2%"))) "opcode" PATCH_IF ("%opcode%" = 122) BEGIN // create item READ_ASCII ("%fx_off%" + 0x14 + (0x30 * ("%abil_fx_idx%" + "%index2%"))) "item" PATCH_IF ("%item%" STRING_COMPARE_CASE "potn52" = 0) BEGIN // potion of extra healing WRITE_ASCII ("%fx_off%" + 0x14 + (0x30 * ("%abil_fx_idx%" + "%index2%"))) ~potn10~ #8 // potion of invis END ELSE PATCH_IF ("%item%" STRING_COMPARE_CASE "potn36" = 0) BEGIN // potion of master thieving WRITE_ASCII ("%fx_off%" + 0x14 + (0x30 * ("%abil_fx_idx%" + "%index2%"))) ~potn37~ #8 // potion of mind focusing END END END END BUT_ONLY COPY_EXISTING ~spcl919.spl~ ~override~ SAY 0x008 @218009 SAY 0x050 @218012 END END ///// \\\\\ ///// pnp \\\\\ ///// \\\\\ BEGIN @226100 DESIGNATED 2261 GROUP @9 SUBCOMPONENT @226000 // alter mage progression REQUIRE_PREDICATE FILE_EXISTS_IN_GAME ~mxsplwiz.2da~ @25 REQUIRE_PREDICATE NOT GAME_IS ~iwd2~ @25 COPY ~cdtweaks/2da/mxsplwiz.2da~ ~override~ It seems to me that basically the tables from mxsplwiz.2da are just copied over to the override folder. Thereafter however there is some patching involved in case of TA. According to the comments in code that part is for scribe scrolls/alchemy. This is somewhat counter intuitive since the readme doesn't really mention such a feature (should be updated). Indeed that could lead to other incompatibilities with mods like aTweaks that have a dedicated feature for this. That leaves me with the question, if the spell progression should be seperated from the patching routines for scripe scrolls (which it is in case of P&P). In this case (if I understand the procedere correctly) you could remove the conflict for the spell progression part. For the rest I wonder what the difference in implementation is between aTweaks scribe scrolls and TA, since only the later has a conflict? Edited November 16, 2018 by Throari Quote Link to comment
khelban12 Posted November 17, 2018 Share Posted November 17, 2018 Reading Throari's post about the spell progressions, reminded me a minor nitpick i had for some time but forgot to mention it. The Wizard spell progression component has 2 subcomponents, the unnerfed and the PnP one. I tried to search the forum but it is a quite old component and couldn't find what rules does the PnP one follow. After Level 30 they diverge to different paths which is ok. Up to L30 they are mostly the same with a few differences on levels 25,26,29. On L25, the PnP one gives 4 L9 spells where the unnerfed gives 5. On L26, the PnP one gives 6 L5 spells where the unnerfed gives 5. On L29, the PnP one gives 7 L5 spells where the unnerfed gives 6. If we take the above picture from the "High Level Campaigns" rulebook as the "PnP canon", then in all 3 cases, the unnerfed version is correct. Shouldn't the PnP version be changed to match this ? Quote Link to comment
Recommended Posts
Join the conversation
You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.