Jump to content

[v35] sequencers as innate


Recommended Posts

Don't know why but this component update luabbr.2da in a strange way... for exemple fighter druid use to have fd0 as ref and is now changed for ft0.

before:

Spoiler

2DA V1.0
*
                       ABBREV
MAGE                    Ma0
FIGHTER                 Fi0
CLERIC                  Cl0
THIEF                   Th0
BARD                    Ba0
PALADIN                 Pa0
DRUID                   Dr0
RANGER                  Ra0
FIGHTER_MAGE            FM0
FIGHTER_CLERIC          FC0
FIGHTER_THIEF           FT0
FIGHTER_MAGE_THIEF      FMT
MAGE_THIEF              MT0
CLERIC_MAGE             CM0
CLERIC_THIEF            CT0
FIGHTER_DRUID           FD0
FIGHTER_MAGE_CLERIC     FMC
CLERIC_RANGER           CR0
ABJURER                 Ma0
CONJURER                Ma0
DIVINER                 Ma0
ENCHANTER               Ma0
ILLUSIONIST             Ma0
INVOKER                 Ma0
NECROMANCER             Ma0
TRANSMUTER              Ma0
BERSERKER               Fi0
WIZARD_SLAYER           Fi0
KENSAI                  Fi0
CAVALIER                Pa0
INQUISITOR              Pa0
UNDEAD_HUNTER           Pa0
FERALAN                 Ra0
STALKER                 Ra0
BEASTMASTER             Ra0
ASSASIN                 Th0
BOUNTY_HUNTER           Th3
SWASHBUCKLER            Th1
BLADE                   Ba2
JESTER                  Ba3
SKALD                   Ba4
TOTEMIC_DRUID           Dr0
SHAPESHIFTER            Dr0
BEAST_FRIEND            Dr0
TALOS                   Cl0
HELM                    Cl0
LATHANDER               Cl0
MONK                    Mo0
BARBARIAN               Fi0
WILDMAGE                Ma0
SORCERER                Ma0

after:

Spoiler

2DA V1.0
*
                    ABBREV
MAGE                MA0
FIGHTER             FI0
CLERIC              CL0
THIEF               TH0
BARD                BA0
PALADIN             PA0
DRUID               DR0
RANGER              RA0
FIGHTER_MAGE        FM0
FIGHTER_CLERIC      FC0
FIGHTER_THIEF       FT0
FIGHTER_MAGE_THIEF  FMT
MAGE_THIEF          MT0
CLERIC_MAGE         CM0
CLERIC_THIEF        CT0
FIGHTER_DRUID       FT0
FIGHTER_MAGE_CLERIC FMC
CLERIC_RANGER       CR0
ABJURER             Ma1
CONJURER            Ma2
DIVINER             Ma3
ENCHANTER           Ma4
ILLUSIONIST         Ma5
INVOKER             Ma6
NECROMANCER         Ma7
TRANSMUTER          Ma8
BERSERKER           Fi1
WIZARD_SLAYER       Fi2
KENSAI              Fi3
CAVALIER            Pa1
INQUISITOR          Pa2
UNDEAD_HUNTER       Pa3
FERALAN             Ra1
STALKER             Ra2
BEASTMASTER         Ra3
ASSASIN             Th2
BOUNTY_HUNTER       Th3
SWASHBUCKLER        Th1
BLADE               Ba1
JESTER              Ba2
SKALD               Ba3
TOTEMIC_DRUID       Dr1
SHAPESHIFTER        Dr2
BEAST_FRIEND        Dr3
TALOS               Cl1
HELM                Cl2
LATHANDER           Cl3
MONK                MO0
BARBARIAN           FI4
WILDMAGE            MA9
SORCERER            SO0

In addition luso0.2da lake the last column [ALIGNMENT_RESTRICT] witch could be an issue for mod that check column.

Edited by TotoR
Link to comment
59 minutes ago, subtledoctor said:

In the vanilla game some tables have that column and others don’t… mods should already be designed to work both with and without it. 

Point taken, In IE modding never make deduction on first sigth. However, as mages have this column, if SCS use luso0.2da, I thought that it should also be updated.

Link to comment

OK, the problem with fighter-druids getting fighter-thief HLAs is a library bug, not specific to this component. Fixed locally, will be in 35.1. If you want to hotfix it, open stratagems/sfo2e/lib_kit.tph in a text editor, go to line 1336, and replace FIGHTER_DRUID=>FT0 with FIGHTER_DRUID=>FD0.

Can someone clarify the problem with LUSO0? Is the ALIGNMENT_RESTRICT column actually missing? It shouldn't be (there are nontrivial alignment restrictions for sorcerers) and it doesn't get removed by that component on my install. 

Link to comment
5 hours ago, DavidW said:

OK, the problem with fighter-druids getting fighter-thief HLAs is a library bug

Thank you for the intel.

However, this library does not only change fighter-druid but nearly all associations of kit. This could lead to "incompatibilities" in modded game...

5 hours ago, DavidW said:

Can someone clarify the problem with LUSO0

As you know, in oBG2 sorcerer use MA0 as all other mages. This lib update luabbr and associate sorcerer to luso0.2da.

luma0.2da

Spoiler
2DA V1.0
*
        ABILITY       ICON        STRREF    MIN_LEV   MAX_LEVEL  NUM_ALLOWED  PREREQUISITE EXCLUDED_BY   ALIGNMENT_RESTRICT
1       AP_SPCL928     *          *         1         99         1            *            *             *
2       AP_SPCL929     *          *         1         99         1            AP_SPCL928   *             *
3       AP_SPCL930     *          *         1         99         1            AP_SPCL929   *             *
4       GA_SPWI920     *          *         1         99         1            *            *             *
5       GA_SPWI921     *          *         1         99         1            *            *             *
6       GA_SPWI922     *          *         1         99         1            *            *             *
7       GA_SPWI923     *          *         1         99         1            *            GA_SPWI924    ALL_EVIL
8       GA_SPWI924     *          *         1         99         1            *            GA_SPWI923    ALL_GOOD
9       GA_SPWI925     *          *         1         99         1            *            *             *
10         *           *          *         *         *          *            *            *             *
11         *           *          *         *         *          *            *            *             *
12         *           *          *         *         *          *            *            *             *
13         *           *          *         *         *          *            *            *             *
14         *           *          *         *         *          *            *            *             *
15         *           *          *         *         *          *            *            *             *
16         *           *          *         *         *          *            *            *             *
17         *           *          *         *         *          *            *            *             *
18         *           *          *         *         *          *            *            *             *
19         *           *          *         *         *          *            *            *             *
20         *           *          *         *         *          *            *            *             *
21         *           *          *         *         *          *            *            *             *
22         *           *          *         *         *          *            *            *             *
23         *           *          *         *         *          *            *            *             *
24         *           *          *         *         *          *            *            *             *

luso0.2da (from obg2):

Spoiler
2DA V1.0
*
        ABILITY       ICON        STRREF    MIN_LEV   MAX_LEVEL  NUM_ALLOWED  PREREQUISITE EXCLUDED_BY
1       GA_SPWI920     *          *         15        40         2            *            *
2       GA_SPWI921     *          *         15        40         2            *            *
3       GA_SPWI922     *          *         15        40         2            *            *
4       GA_SPWI923     *          *         15        40         2            *            *
5       GA_SPWI924     *          *         15        40         2            *            *
6       GA_SPWI925     *          *         15        40         2            *            *
7          *           *          *         *         *          *            *            *
8          *           *          *         *         *          *            *            *
9          *           *          *         *         *          *            *            *
10         *           *          *         *         *          *            *            *
11         *           *          *         *         *          *            *            *
12         *           *          *         *         *          *            *            *
13         *           *          *         *         *          *            *            *
14         *           *          *         *         *          *            *            *
15         *           *          *         *         *          *            *            *
16         *           *          *         *         *          *            *            *
17         *           *          *         *         *          *            *            *
18         *           *          *         *         *          *            *            *
19         *           *          *         *         *          *            *            *
20         *           *          *         *         *          *            *            *
21         *           *          *         *         *          *            *            *
22         *           *          *         *         *          *            *            *
23         *           *          *         *         *          *            *            *
24         *           *          *         *         *          *            *            *

Some hla and the last column are missing. This 2da need to be updated like others.

For all other luxxx.2da that are incorrect, the lib usually override them with luxx0.2da. This method is used for nearly all class However by doing that you may override 2da files that has been already updated by other mods...

Link to comment

LUSO0: Oh, I see - I hadn't noticed the 'oBG2' issue. Yes, that's probably worth addressing.

The other changes are all intentional: that library ensures that every kit has a unique LUA file. (Granted, it's unnecessary for 'innate triggers' in particular to enforce that, since it's not actually messing with HLAs - that's what happens when you write a general function library to edit kits and then use it.)

I'm not sure what the scenario is you have in mind that would lead to incompatibilities with other mods. The library is intelligent enough not to overwrite already-existing 2da files.

Link to comment

Sorry for my late answer.

On 12/1/2023 at 11:02 PM, DavidW said:

(Granted, it's unnecessary for 'innate triggers' in particular to enforce that, since it's not actually messing with HLAs - that's what happens when you write a general function library to edit kits and then use it.)

I would say that you know what you do, and It should not normally create incompatibilities if SCS is used last... witch is not necessy the case for this component.

On 12/1/2023 at 11:02 PM, DavidW said:

LUSO0: Oh, I see - I hadn't noticed the 'oBG2' issue. Yes, that's probably worth addressing.

The broken table (luso0.2da) is tip of the iceberg and need to be adresse for oBG2 user if you plan to use it.

On 12/1/2023 at 11:02 PM, DavidW said:

I'm not sure what the scenario is you have in mind that would lead to incompatibilities with other mods. The library is intelligent enough not to overwrite already-existing 2da files.

For some classes, the library override ref in luabbr.2da without checking if there is another ref used and in addition it does not copy the moded table that was ref by luabbr.2da to the new table ref. (It uses the existing one like with Sorecer).

The library does that for: FI0, CL0, TH0, BA0, PA0, DR0, RA0, FM0, FT0, FC0, FMT, MT0, CM0, CF0, FD0, FMC, CR0 and SO0.

This process may lead to incompatibilities with mod that change hla of existing classes. To be fair they are not that many... refinement maybe? don't know for the rest.

Link to comment
1 hour ago, TotoR said:

For some classes, the library override ref in luabbr.2da without checking if there is another ref used and in addition it does not copy the moded table that was ref by luabbr.2da to the new table ref. (It uses the existing one like with Sorecer).

The library does that for: FI0, CL0, TH0, BA0, PA0, DR0, RA0, FM0, FT0, FC0, FMT, MT0, CM0, CF0, FD0, FMC, CR0 and SO0.

This process may lead to incompatibilities with mod that change hla of existing classes. To be fair they are not that many... refinement maybe? don't know for the rest.

Unless I'm missing something, the only circumstance I can see where that would create problems is if some other mod changed the core-class choice of LUA name. Which would be an odd choice... but I suppose I should allow for it, especially with sorcerers.

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...