Jump to content

Version 7 of Tweaks Anthology Released


Recommended Posts

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 by Throari
Link to comment

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.

 

HLC.png

 

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 ?

Link to comment

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...