Jump to content

Refinements EE


Recommended Posts

So, I have delved into the classic Refinements mod, hacked it up, and made separate components for each class. In the hopes that it will be easier to combine with other mods that change HLAs, like Rogue Rebalancing and Faiths & Powers.

 

I have massaged the code until it installs on BG2EE, and it seems to install fine. I have NOT extensively playtested it. So, I will give you guys the link and you can do the playtesting! ;)

 

Refinements_EE

 

UPDATE: I've been through a few more versions, and this is now pretty feature-complete:

 

- HLAs can be installed on a class-by-class basis

- patches HLA tables rather than overwriting them

- specific compatibility code for RR HLAs (NOTE: with this version, RR should be installed before Refinements.)

- the Sword Angel kit works on EE games

 

All that really remains is to find and fix bugs.

Edited by subtledoctor
Link to comment

You link to the 0.2 ... that's fine for now, but wouldn't it be easier when you wouldn't need to update the postS everytime after an update, to just link to a master... or what ever, yeah I suck at github so... don't ask how to ... I don't have a glue (yep a joke). :p

Link to comment

UPDATE: I've been through a few more versions, and this is now pretty feature-complete:

 

- HLAs can be installed on a class-by-class basis

- patches HLA tables rather than overwriting them

- specific compatibility code for RR HLAs (NOTE: with this version, RR should be installed before Refinements.)

- the Sword Angel kit works on EE games

 

Check it out here.

 

All that really remains is to find and fix bugs.

Edited by subtledoctor
Link to comment

Massive post regarding Refinements compatibility issues with mods, mostly around the HLAs.  Posted here since I can't access my SHS account.

Spoiler

1. General comments on custom kits and Refinements method of assigning HLAs.

  • Right now with the default installation method (no .ini edits), installing Refinements on top of any mod which adds a custom kit stands a very high chance of breaking the HLAs in some way, especially if the kit has its own HLAs.  This is because Refinements appears to check what base class the character belongs to and then adds all the Refinements HLAs for that base class to the kit.  In the case of multiclasses it adds all the HLAs for each base class to the multiclass character.  I would argue that this is not the intended/optimal behaviour.  My suggestion is that the generic approach when dealing with custom kits is that Refinements update any base game HLAs with the Refinements version, but doesn't necessarily add the whole set of the Refinements version of HLAs for that class.  This is from what I recall, closer to original behaviour.  You can also of course go on a kit by kit basis and develop custom HLA lists for when Refinements detects the kit as being installed, but it means that Refinements plays nicer with any custom kit.

2. Artisan's Kitpack Kensai kit HLA

  • Improved Critical is not able to be selected, but shows up on the list.  It requires Critical Strike which is no longer part of the HLA list (it appears Improved Ki Critical replaces this).  This appears to be an interaction between Artisan's Kitpack and Refinements.  I'd love it if Refinements accounted for this if it was installed (ideally by allowing Improved ki Critical to act as a prerequisite, or removing Improved Critical from the list)
  • So, thoughts on the Kensai HLA overlap.  The new HLAs in the Artisan's Kitpack work quite well as an additional HLA tree the player can go down, this one focusing intensely on critical hits which is appropriate for the Kensai.  I'm not too worried about unbalancing things and I know from the original work on Refinements that one of the biggest restrictions from having more HLAs was just coming up with them and keeping the number manageable.  However, for overlapping mods we don't need to worry about this concern as much and can just take advantage of what is already there.  My thought is that the Refinements + Artisan Kitpack Kensai should have the following HLAs.  This integration is pretty substantial so may be far more trouble than it is worth and is the type of thing I'd want to get buy-in from both mod authors/maintainers before implementing, though it does help give the Kensai a bit more of a unique set of HLAs.  This may go beyond the scope of what you are willing to do while maintaining Refinements.
    Quote

    -Whirlwind Attack
    -Greater Whirlwind Attack   (requires: Whirlwind Attack)
    -Deathblow
    -Greater Deathblow          (requires: Deathblow)
    -Power Attack
    -Critical Strike                   (requires: Power Attack)
    -Smite                                 (requires: Improved Ki Critical)
    -Overwhelming Critical
    -Devastating Critical         (requires: Overwhelming Critical)
    -True Kai                            
    -War Cry  
    -Resist Magic
    -Improved Ki Critical         (requires: Critical Strike)
    -Invigorating Critical         (requires: Critical Strike)
    -Toughness

    Improved Ki Critical replaces the Improved Critical HLA from Refinements.

    
    Ability Location ~%MOD_FOLDER%/Kensai/SPELLS/C0KN#07.SPL~
    Name ~Improved Ki Critical~
    Description ~The Kensai gains a permanent +2 bonus to their critical hit modifier. 
    
    Requires: Critical Strike~

    Invigorating Critical is the renamed Second Wind HLA from the Artisan's Kitpack.  Renamed to avoid confusion with the already existing Refinements Second Wind HLA for monks.

    
    Ability location ~%MOD_FOLDER%/Kensai/SPELLS/C0KN#09.SPL~
    NAME ~Invigorating Critical~
    Description ~The Kensai heals for 5% of <PRO_HISHER> maximum hit points and reduces a small amount of <PRO_HISHER> fatigue modifier upon landing a critical hit.
    
    Requires: Critical Strike~

    Overwhelming Critical is from the Artisan's Kitpack and gets added to the Kensai HLA table

    
    Ability location ~%MOD_FOLDER%/Kensai/SPELLS/C0KN#08.SPL~
    Name ~Overwhelming Critical~
    Description ~The Kensai's critical hits reduce the target's physical resistances by a cumulative 5% for 4 rounds.~

    Devastating Critical is from the Artisan's Kitpack and gets added to the Kensai HLA table with Overwhelming critical as a prerequisite

    
    Ability location ~%MOD_FOLDER%/Kensai/SPELLS/C0KN#10.SPL~
    Name ~Devastating Critical~
    Description ~The Kensai's critical hits kill the target instantly on a failed Saving Throw vs. Death. Creatures with 8 or lower HD die with no save.
    
    Requires: Overwhelming Critical~

    Would likely want to get permission from @Artemius I to make these adjustments in Refinements if merging the two tables and changing ability names in this way.

3. Artisan's Kitpack Dragon Disciple kit HLA

  • The Dragon Disciple gets both the custom kit HLAs from the Artisan's Kitpack and Refinements sorcerer HLA.  The Refinements compatibility solution is pretty simple: just remove the "extra spell HLAs" (Level 6, 7, 8).  These were removed deliberately by Littiz and TGMaestro back when the mod was first made.

4. Artisan's Kitpack Hivemaster Druid kit HLA

  • The HLA list appears to be a modified version of the Refinements HLA list for Druids.  The Hivemaster gets all Refinements HLAs except for Elemental Prince Call and Volcano.  I am not sure if this is intentional or a weird interaction between Refinements and the artisan kitpack's Hivemaster. @Artemius I

5. Artisan's Kitpack Magekiller kit HLA.

  • Gains a mix of Refinement HLAs for the base thief as well as kit specific HLAs (not mentioned in any documentation).  The only problem that needs to be resolved is because Use Spell Scroll from Refinements gets replaced by Use Any Item, the Scribe Scrolls HLA is unselectable.

6. Artisan's Kitpack Rogue Archer kit HLA.

  • Refinement's Use Scrolls has been replaced by Use Any Items, however Use Any Item still acts as the prerequisite for Scribe Scrolls so the overall integration is pretty seamless. 

7. Bardic Wonders Kitpack Abettor of Mask kit HLA.

  • The kit description notes that the Abettor of Mask does not receive the Magic Flute HLA, but Refinements adds it back.
  • There is a weird blank HLA between the ones added by the Abettor of Mask Kit and the Refinements HLA (between Symphony of the Dark Children, the last Abettor HLA in the Abettor .tpa and the first Refinements HLA, Mass Charm). @Artemius I.  I'm not sure what causes this.  The blank HLA is selectable and shows up innates making me think that this is tracking.  Clicking this ability doesn't appear to do anything other than interrupt whatever action you were doing. 1729231775_AbettorHLA.jpg.6d197b7f3c996a2a794c5cd80af19a67.jpg
  • The Abettor of Mask should also be blocked from receiving the Refinements HLA Enhanced Bard Song, since it causes problems with the Abettor's non-standard bard song and the Symphony of Dark Children already covers this ground conceptually.  This one is a bit more important since Refinements currently breaks one of the main reasons for choosing this class if you select Enhanced Bard Song.  Lingering Song should have its prerequisite changed from Enhanced Bard Song to Symphony of the Dark Children.

8. Bardic Wonders Kitpack Dancer kit HLA.

  • The Dancer should probably lose access to the Refinements Enhanced Bard Song HLA since it conflicts with the Dancer's custom bard song.Lingering Song should have its prerequisite changed to Swift-as-Flowing-Water for the Dancer.

9. Bardic Wonders Kitpack Troubadour kit HLA.

  • The kit meshes cleanly with Refinements HLA, except for Holy Hymn of Eldath which should replace the Enhanced Bard HLA from Refinements.  There are some weird interactions if both are selected.  Hymn of Eldath should be modified so it is the prerequisite for Lingering Song.

10. Bardic Wonders Kitpack Deathsinger kit HLA

  • The kit meshes cleanly with Refinements HLA except for Legion of the Dead which should replace the Enhanced Bard Song HLA from Refinements.  Lingering Song should use Legion of the Dead as its prerequisite.

11. Shadow Magic Shadow Adept kit HLA.

  • The Refinement HLAs for the base mage all get installed onto the Shadow Adept kit.  They are not needed and do not fit well.  This kit should be skipped by Refinements.

12. Shadow Magic Shadow Disciple kit HLA.

  • The Refinement HLAs for the base sorcerer all get installed onto the Shadow Disciple kit.  They are not needed and do not fit well.  This kit should be skipped by Refinements.

13. Shadow Magic Nightsinger kit HLA.

  • The Refinement HLAs for the base bard all get installed onto the Nightsinger kit.  Enhanced Bard Song should be removed in favour of Light's Requiem and Light's Requiem should become the prerequisite for Lingering Song.

14. Shadow Magic Shadow Monk kit HLA.

  • The Shadow Monk is supposed to get the Shadowdancer thief kit HLAs minus Use Any Item.  Currently with Refinements installed after the kit it gets the monk HLAs as well.  Refinements should skip assigning the monk HLAs to the Shadow Monk.  A quick scan of the Shadowdancer HLA selection with Refinements installed makes me think it is safe to just give the Shadow Monk the exact same set of HLAs including "Use Magic Item".

15. Shadow Magic Shade Warrior fighter/shadow adept multiclass kit HLA

  • The Shade Warrior is given the kit's own HLAs, Refinement's Fighter HLAs and also Refinement's Mage HLAs.  I would say it is probably just fine with only getting it's base HLAs and if any of those are updated by Refinements, then getting the Refinements version.

16. Shadow Magic Shade Enforcer fighter/shadow adept/thief multiclass kit HLA

  • The Shadow Enforcer is given the kit's own HLAs, Refinement's Fighter, Mage, and Thief HLAs .  I would say it is probably just fine with only getting it's base HLAs and if any of those are updated by Refinements, then getting the Refinements version.

17. Shadow Magic Nightblade shadow adept/thief kit HLA

  • The Nightblade is given the kit's own HLAs, Refinement's Mage and Thief HLAs .  I would say it is probably just fine with only getting it's base HLAs and if any of those are updated by Refinements, then getting the Refinements version.

18. Shadow Magic Nightbringer shadow adept/cleric kit HLA

  • The Nightbringer is given the kit's own HLAs, Refinement's Mage and Cleric HLAs .  I would say it is probably just fine with only getting it's base HLAs and if any of those are updated by Refinements, then getting the Refinements version.

19. Shadow Magic Dark Justicar fighter/shadow adept/cleric kit HLA

  • The Dark Justicar is given the kit's own HLAs, Refinement's Fighter, Mage, and Cleric HLAs .  I would say it is probably just fine with only getting it's base HLAs and if any of those are updated by Refinements, then getting the Refinements version.

20. Might & Guile Corsair kit HLA (standalone Corsair).

  • The Refinements HLA integration is seamless.  You may want to consider adding Acrobatic (the Swashbuckler unique HLA) and removing War Cry for a slightly fancier integration.

21. Might & Guile Multiclass Kits Spellfilcher kit (standalone)

  • The spellfilcher gets all mage HLAs and all Thief HLAs (base game) when Refinements is installed, though it does use the Refinements versions of the base game ones that are modified by Refinements.  I think a cleaner approach would be to use the Refinements Mage/Thief multiclass HLAs for the Spellfilcher if both mods are installed.  I think giving them Slippery Mind (unique Mage/Thief HLA) and possibly Spell Immunity (Wizardslayer HLA) instead of Death Field and Aegis could be an option as well if you want to customize things for the kit a bit more.

22. Might & Guile Multiclass Kits Ranger/Mage kit (standalone)

  • The Refinements HLAs appear to be all the Fighter and Mage HLAs. My suggestion would be to use the Cleric/Ranger HLAs as a basis for which Refinements HLAs to use and substitute out the Cleric HLAs for the Mage multiclass HLAs as per below with Feral Lash mixed in as well:
    Quote

    -Whirlwind Attack
    -Power Attack
    -Critical Strike            (requires: Power Attack)
    -Hardiness
    -War Cry  
    -Resist Magic
    -Tracking
    -Endurance#
    -Feral Lash*
    -Toughness#
    -Energy Blades
    -Dragon's Breath#
    -Summon Planetar          (excluded by: Summon Dark Planetar)
    -Summon Dark Planetar     (excluded by: Summon Planetar)
    -Foresight#
    -Aegis#
    -Death Field#             (Illusionists excluded)
    -Scribe Scrolls#

23. Might & Guile Marksman kit HLA.

  • Gets the basic Trueclass Fighter Refinements HLAs.  For better integration, for the Marksman kit I'd suggest removing Hardiness and giving Precision (from the Archer Ranger kit) instead.

24. Geomantic Sorcerer kit HLA

  • Gets Refinements sorcerer HLAs in addition to kit HLAs.  They all work, but make the kit even more comically broken than it is to begin with.  Recommend skipping the Geomantic Sorcerer when installing Refinement HLAs.

25. Vienxay NPC's Shadowmage mage/thief multiclass kit HLA.

  • There's some weird overlap with Refinements that should be corrected. There isn't anything broken from the player experience, but there are some HLAs shown that shouldn't be (Death Field and Mirrored Clones are supposed to be mutually exclusive for mage/illusionists) and the selection isn't as clean as it could be. Suggested HLAs for an install with Refinements below:
    Quote

    Shadow Twin (Shadowmage HLA)
    Shadow Maze (Shadowmage HLA)
    Shadow Form (Shadowmage HLA)
    Evasion
    Greater Evasion
    Assassination
    Avoid Death
    Cripple
    Improved Slippery Mind (Refinements Mage/Thief HLA Slippery Mind, renamed for the Shadowmage kit)
    Alchemy
    Scribe Scrolls
    Extra Level 6 Spell
    Extra Level 7 Spell
    Extra Level 8 Spell
    Energy Blades
    Dragon Breath
    Summon Planetar (mutually exclusive for Summon Dark Planetar, Good/Neutral only)
    Summon Dark Planetar (mutually exclusive for Summon Planetar, Evil/Neutral only)

     

26. Trueclass Mage HLAs

  • The Summon Planetar and Summon Dark Planetar HLAs do not mention that they are mutually exclusive in their descriptions.
  • The Dark Planetar displays "Dark Planetar: Normal Stride: Dark Planetar" when summoned in the feedback window.
  • The Dark Planetar innate ability Cause Critical Wounds has the Slay Living spell description when you right click the ability.
  • Teleport Without Error Innate does not have any description when right clicked.
  • The Dark Planetar's weapon does not show any description text when right clicked.  It just has the name "Silver Sword".
  • The trueclass mage is still given the Level 7, Level 8, and Level 9 spell HLAs from the base game, but these should be replaced when updating to the refinement HLAs

27. Trueclass Druid HLAs

  • The Volcano HLA is missing
  • The Elemental Prince Call HLA is missing

28. Fighter/Mage HLAs

  • Gains the extra level 7, 8, and 9 spell HLAs when they should not get them.

29. Fighter/Thief HLAs

  • The Use Scrolls HLA is missing.  The fighter thief doesn't appear to get the Use Magic Device HLA either.

30. Fighter/Mage/Thief HLAs

  • Gains the Critical Strike HLA when it should not (SPCL905)
  • Gains the extra level 7, 8, 9 spell HLAs when it should not

31. Mage/Thief HLAs

  • Gains the extra level 7, 8, 9 spell HLAs when it should not.
  • Gains the Mirrored Clones HLA which should only be available to the Illusionist/Thief multiclass

32. Mage/Cleric HLAs

  • Gains the extra level 7, 8, 9 spell HLAs when it should not.

33. Cleric/Thief HLAs

  • Gains Greater Evasion, but shouldn't get that HLA
  • Does not get Use Scrolls, but should

34. Fighter/Druid HLA

  • Gains Elemental Prince Call, but shouldn't get that HLA

35. Fighter/Mage/Cleric HLA

  • Gains extra level 7, 8, 9 spell HLAs when it should not
  • Gains combat prayers HLA (LI#COPR) when it should not
  • Resist Magic Damage is missing the Resist Magic prerequisite.

36. Cleric/Ranger HLA

  • Since there are a number of patches that allow for evil/neutral ranger/cleric combinations, I'd suggest adding the mutually exclusive summon fallen deva HLA to the list of the ones allowed by the multiclass in the documentation.  The installer already adds this combination.
  • Does not gain Mass Raise Dead (SPPR729), when it should according to the documentation.

37. Abjurer HLA

  • Gains the extra level 7, 8, 9 spell HLAs when it should not
  • Improved Alacrity should have Arcane Knowledge as a prerequisite, but it does not.

38. Conjurer HLA

  • Gains the extra level 7, 8, 9 spell HLAs when it should not
  • Improved Alacrity should have Arcane Knowledge as a prerequisite, but it does not.

39. Diviner HLA

  • Gains the extra level 7, 8, 9 spell HLAs when it should not
  • Improved Alacrity should have Arcane Knowledge as a prerequisite, but it does not.

40. Enchanter HLA

  • Gains the extra level 7, 8, 9 spell HLAs when it should not
  • Improved Alacrity should have Arcane Knowledge as a prerequisite, but it does not.

41. Illusionist HLA

  • Gains the extra level 7, 8, 9 spell HLAs when it should not
  • Improved Alacrity should have Arcane Knowledge as a prerequisite, but it does not.

42. Invoker HLA

  • Gains the extra level 7, 8, 9 spell HLAs when it should not
  • Improved Alacrity should have Arcane Knowledge as a prerequisite, but it does not.

43. Necromancer HLA

  • Gains the extra level 7, 8, 9 spell HLAs when it should not
  • Improved Alacrity should have Arcane Knowledge as a prerequisite, but it does not.

44. Transmuter HLA

  • Gains the extra level 7, 8, 9 spell HLAs when it should not
  • Improved Alacrity should have Arcane Knowledge as a prerequisite, but it does not.

45. Wizardslayer HLA

  • Gains the Hardiness HLA (SPCL907) when it should not.

I will continue to update this post as I continue my testing.

Link to comment

Without time for a full response, I'll note a couple things:

1:

1 hour ago, Caedwyr said:

Improved Critical is not able to be selected, but shows up on the list.  It requires Critical Strike which is no longer part of the HLA list (it appears Improved Ki Critical replaces this). 

I don't know how that mod works: how does it set up that Kensai's HLA table?  Does it ship its own table, and refer to it in ADD_KIT?  Does it start from the base Kensai table, and then add/remove stuff from there?  The entirety of how Refinements affects mod fighter kits is this:

PATCH_IF (class_num == 2) BEGIN // fighter
  INNER_ACTION BEGIN
    LAF action_add_hla STR_VAR kit_name = EVAL ~%kitlist_name%~ ability = ~AP_TG#IMCR~ num_allowed = ~1~ prerequisite = ~GA_SPCL905~ END
    LAF action_add_hla STR_VAR kit_name = EVAL ~%kitlist_name%~ ability = ~AP_TG#TOUG~ num_allowed = ~5~ END
  END
END

So it starts with whatever table it finds from LUABBR.2da, and adds Improved Critical and Touhgness.  I guess I could make a special exemption for that kit, simply exclude it from the change.  Easy enough.  However.  See below.

2:

For a number of classes, Refinements separately uses the REMOVE_HLA function to remove vanilla HLAs, and then ADD_HLA to add the Refinements ones in their places.  This could be improved: where the Refinements HLA is a direct replacement for the vanilla one (in which case why didn't they just overwrite the file?? but whatever), I can change it to use REPLACE_HLA instead.  That way if some mod kits list doesn't include the vanilla one, then it won't get the Refinements version either.

3:

God, I really need to draw up a list of all the various HLA filenames and what they actually are.  When I look at this for sorcerers:

LAF action_remove_hla STR_VAR kit_name = EVAL ~%kitlist_name%~ remove_ability = ~GA_SPWI920~ END
LAF action_remove_hla STR_VAR kit_name = EVAL ~%kitlist_name%~ remove_ability = ~GA_SPWI921~ END
LAF action_remove_hla STR_VAR kit_name = EVAL ~%kitlist_name%~ remove_ability = ~GA_SPWI922~ END
LAF action_remove_hla STR_VAR kit_name = EVAL ~%kitlist_name%~ remove_ability = ~GA_SPWI923~ END
LAF action_remove_hla STR_VAR kit_name = EVAL ~%kitlist_name%~ remove_ability = ~GA_SPWI924~ END
LAF action_remove_hla STR_VAR kit_name = EVAL ~%kitlist_name%~ remove_ability = ~GA_SPWI925~ END
LAF action_remove_hla STR_VAR kit_name = EVAL ~%kitlist_name%~ remove_ability = ~GA_SPCL928~ END
LAF action_remove_hla STR_VAR kit_name = EVAL ~%kitlist_name%~ remove_ability = ~GA_SPCL929~ END
LAF action_remove_hla STR_VAR kit_name = EVAL ~%kitlist_name%~ remove_ability = ~GA_SPCL930~ END
LAF action_add_hla STR_VAR kit_name = EVAL ~%kitlist_name%~ ability = ~GA_TG#SRES~ num_allowed = ~20~ END
LAF action_add_hla STR_VAR kit_name = EVAL ~%kitlist_name%~ ability = ~GA_TG#CHAM~ num_allowed = ~3~ prerequisite = ~AP_TG#SINF~ END
LAF action_add_hla STR_VAR kit_name = EVAL ~%kitlist_name%~ ability = ~AP_TG#SINF~ num_allowed = ~1~ END
LAF action_add_hla STR_VAR kit_name = EVAL ~%kitlist_name%~ ability = ~GA_TG#SSHA~ num_allowed = ~20~ prerequisite = ~AP_TG#SINF~ END
LAF action_add_hla STR_VAR kit_name = EVAL ~%kitlist_name%~ ability = ~GA_TG#SSPR~ num_allowed = ~3~ prerequisite = ~AP_TG#SINF~ END
LAF action_add_hla STR_VAR kit_name = EVAL ~%kitlist_name%~ ability = ~AP_TG#CAAW~ num_allowed = ~1~ prerequisite = ~AP_TG#SINF~ END
LAF action_add_hla STR_VAR kit_name = EVAL ~%kitlist_name%~ ability = ~AP_TG#SPSP~ num_allowed = ~3~ prerequisite = ~AP_TG#CAAW~ END
LAF action_add_hla STR_VAR kit_name = EVAL ~%kitlist_name%~ ability = ~GA_LI#AUCL~ num_allowed = ~1~ prerequisite = ~AP_TG#SPSP~ END
LAF action_add_hla STR_VAR kit_name = EVAL ~%kitlist_name%~ ability = ~GA_TG#SHOC~ num_allowed = ~3~ prerequisite = ~AP_TG#CAAW~ END
LAF action_add_hla STR_VAR kit_name = EVAL ~%kitlist_name%~ ability = ~GA_TG#ENES~ num_allowed = ~1~ prerequisite = ~GA_TG#SHOC~ END
LAF action_add_hla STR_VAR kit_name = EVAL ~%kitlist_name%~ ability = ~GA_TG#AQUA~ num_allowed = ~3~ excluded_by = ~GA_TG#SCST~ END
LAF action_add_hla STR_VAR kit_name = EVAL ~%kitlist_name%~ ability = ~GA_TG#SCST~ num_allowed = ~3~ excluded_by = ~GA_TG#AQUA~ END
LAF action_add_hla STR_VAR kit_name = EVAL ~%kitlist_name%~ ability = ~GA_TG#IDOF~ num_allowed = ~3~ excluded_by = ~GA_TG#SPOF~ END
LAF action_add_hla STR_VAR kit_name = EVAL ~%kitlist_name%~ ability = ~GA_TG#SPOF~ num_allowed = ~3~ excluded_by = ~GA_TG#IDOF~ END

...my eyes glaze over.  Can you tell at a glance which of those are related to each other and can be combined into a REPLACE_HLA line?  Yeah, me neither.

Sigh.  Stuff like this is SO BORING.

4.

1 hour ago, Caedwyr said:

The Abettor of Mask should also be blocked from receiving the Refinements HLA Enhanced Bard Song, since it causes problems with the Abettor's non-standard bard song and the Symphony of Dark Children already covers this ground conceptually.   Lingering Song should have its prerequisite changed from Enhanced Bard Song to Symphony of the Dark Children.

The Dancer should probably lose access to the Refinements Enhanced Bard Song HLA since it conflicts with the Dancer's custom bard song.Lingering Song should have its prerequisite changed to Swift-as-Flowing-Water for the Dancer.

Holy Hymn of Eldath which should replace the Enhanced Bard HLA from Refinements.  There are some weird interactions if both are selected.  Hymn of Eldath should be modified so it is the prerequisite for Lingering Song.

The kit meshes cleanly with Refinements HLA except for Legion of the Dead which should replace the Enhanced Bard Song HLA from Refinements.  Lingering Song should use Legion of the Dead as its prerequisite.

SO, this sort of stuff really gives me pause.  It's just not practical for me to keep tabs on every new mod and set the prerequisite for Lingering Song or whatever to that kit's particular HLA.  Because 1) I specifically intended solely to update the structure and EE compatibilty of Refinements, not to become its owner and start making creative or editorial decisions.  And 2) especially when it comes to bards, I hate the bard class and I hate bard songs, I have entirely modded them out of my game and replaced them wholesale with a new meta-class that I created from the ground up.  But also, 3) when you think about it, nobody should really have to take on that responsibility. 

Here's an editorial thought: why does Lingering Song have Enhanced Song as a prereq in the first place?  They do different things.  Maybe Refinements should simply let you take Lingering Song regardless of whether you have the Enhanced Song. (Whoops, scratch that thought, see below)

Here's another thought:

5.

Maybe Refinements integration should be done by kit mods, rather than by Refinements.  The more I've thought about this stuff and done some installs, the earlier I have moved Refinements in my install order.  Right now it looks something like this:

  • Divine Remix
  • Song & Silence
  • Rogue Rebalancing (including HLAs)
  • Refinements
  • Monastic Orders
  • Tome & Blood
  • Faiths & Powers
  • Will To Power
  • Might & Guile

I don't have Artisan Kits or Bardic Wonders or Shadow Magic installed, and you seem to have them installed before Refinements; but maybe they should go afterward, just before Tome & Blood. Refinements integration would be fairly simple, because I wrote a library of functions for patching HLA tables for anyone to use. So, the Artisan's Kensai kit could copy in its own table and then

ACTION_IF MOD_IS_INSTALLED ~refinements.tp2~ ~101~ BEGIN
  LAF action_add_hla STR_VAR kit_name = ~[artisan's kensai name]~ ability = ~GA_TG#TOUG~ num_alloed = ~1~ END
END

The various bard kits could install their HLA tables, and then

ACTION_IF FILE_EXISTS_IN_GAME ~rr#bdf05~ BEGIN  //  RR lingering song
  LAF action_add_hla STR_VAR kit_name = ~[kit]~ ability = ~AP_rr#bdf05~ num_allowed = ~1~ prerequisite = ~AP_[kit's special bard song]~ END
END

ACTION_IF FILE_EXISTS_IN_GAME ~TG#LI01~ BEGIN  //  Refinements lingering song
  LAF action_add_hla STR_VAR kit_name = ~[kit]~ ability = ~AP_TG#LI01~ num_allowed = ~1~ prerequisite = ~AP_[kit's special bard song]~ END
END

Easy-peasy.

EDIT - actually now that I look at those Lingering  Song HLAs, I think they are very specifically geared toward each kit's particular song.  So mod kits with special bard songs would have to make their own Lingering versions anyway. (In retrospect, this explains why the modders made Enhanced Bard Song a prerequisite for Lingering Song.)

6.

All of this is reminding me that, since all my mods are now being installed after Refinements by design, I need to go through them and really tighten up their Refinements integration.  I suspect that the reason your feedback tends to say "seamless integration" is because you have installed them after Refinements, and most of them just use the vanilla HLA tables as a base rather than supplying new custom tables.  So they get some of the benefits of Refinements without having to do any heavy lifting. This is good in general (mostly good for me, because less work), but as you point out there are a few places where customization is in order, like for the  Marksman kit.  Note to self.

Link to comment
  • #5 might be the cleanest.  Or just skip installing the Refinements HLAs if it is a custom kit and not a base game kit as the default behaviour and Refinements is installed later.  Unless you suggest installing Refinements before any NPC or quest mods there may still be some kits that get installed before Refinements that could result in conflicts/undesired behaviour.  Is there any reason that Refinements HLA component shouldn't be installed that early in the install order if you make the changes you described above?
  • Ideally, being able to install Refinements early in the install stack and have each mod elect to take advantage of it if the modder desires is probably the best solution.
  • With regard to the custom spell prefixes, back when this was first being made there were a number of problems caused at the time by multiple mods naming files the same thing, which made diagnosing problems and debugging incompatibilities a royal pain.  It was best practice at the time to just use the prefixes as a way of avoiding this problem.  Further developments in Weidu coding of course made a lot of this out of date, but it was a way to make sure that your resource would be exactly as you intended (for the most part).

 

Here's the behaviour I would expect from Refinements in an ideal world:

  • Refinements modifies the HLAs for the kits from the base game.  There may be some incompatibilities for kit/class mods that revise the base game if they fiddle with the HLAs.  This could be accounted for in Refinements, or ideally would be something that the author of the revisions could detect and take advantage of as you described above.
  • New kits get whatever HLAs that the modder chooses to give them.  For kits that use the same HLAs as the base game, if there is a Refinements version, the Refinements version gets used.  Modders could choose to also just use the unmodified base game HLAs since they get installed after Refinements.
  • There is clear documentation for what to expect and how other modders can take advantage of this.
Edited by Caedwyr
Link to comment
38 minutes ago, Caedwyr said:

Or just skip installing the Refinements HLAs if it is a custom kit and not a base game kit as the default behaviour and Refinements is installed later.

Yeah maybe the default  .ini value should be the opposite from what it is now.

39 minutes ago, Caedwyr said:

Unless you suggest installing Refinements before any NPC or quest mods there may still be some kits that get installed before Refinements that could result in conflicts/undesired behaviour.  Is there any reason that Refinements HLA component shouldn't be installed that early in the install order if you make the changes you described above?

The main thing is, v4 wants to be installed after Rogue Rebalancing HLAs.  And RR is generally installed after most NPCs, and before most player-usable kits.  Could this be done differently as well?  I suppose, but we are now in the realm where I'm just not sure what would happen.

You could install Refinements before RR.  I did this once and is was entirely playable and fine, just non-optimal in some small way.  I don't remember the specific issue.

Link to comment

As I recall, Refinements after RR was just for making the Refinements Rogue/Bard HLAs be the ones that end up in the final install vs Rogue Rebalancing's Rogue/Bard HLAs.  I think there's some exact info on why you want that order listed in some of the documents.

Edited by Caedwyr
Link to comment
28 minutes ago, Caedwyr said:

As I recall, Refinements after RR was just for making the Refinements Rogue/Bard HLAs be the ones that end up in the final install vs Rogue Rebalancing's Rogue/Bard HLAs.  I think there's some exact info on why you want that order listed in some of the documents.

It's the opposite - the RR ones are better, and preferred, according to Littiz and TG Maestro.  That's why the old advice was to install RR HLAs after Refinements v3.  With Refinements v4, it doesn't overwrite tables so it can gracefully defer to RR HLAs if they are already there.  So it works fine to install Refinements later now.  There is some other issue with installing it earlier... I can't remember what it is, but I remember it seeming minor.

Edited by subtledoctor
Link to comment
On 8/8/2020 at 8:56 PM, subtledoctor said:

Yeah maybe the default  .ini value should be the opposite from what it is now.

I went looking around the documentation for your release of Refinements, but couldn't find anything written on how exactly to modify the .ini value (I am presuming in d5_refinements_settings.ini) so the default is that Refinements only modifies HLAs for the base game classes and kits or any mods that use a base game HLA.  Is there a specific line of code that needs to be modified or deleted in order to make it work this way?

Link to comment
2 hours ago, Caedwyr said:

how exactly to modify the .ini value (I am presuming in d5_refinements_settings.ini) so the default is that Refinements only modifies HLAs for the base game classes and kits or any mods that use a base game HLA.

The mod doesn't change any base game HLAs (to my knowledge - and I'm considering changing that), it only adds new HLAs and then changes LU tables to contain the new ones.  In order to make the mod only change the base LU__0.2da tables, and leave all other ones untouched, change the "refine_mod_kits" setting to 0.

Link to comment

Some more things I've caught on my way by:

Mage/Wizard Trueclass HLAs

  • The trueclass mage is still given the Level 7, Level 8, and Level 9 spell HLAs from the base game, but these should be replaced when updating to the refinement HLAs

Trueclass Druid HLAs

  • The Volcano HLA is missing
  • The Elemental Prince Call HLA is missing

Fighter/Mage HLAs

  • Gains the extra level 7, 8, and 9 spell HLAs when they should not get them.

Fighter/Thief HLAs

  • The Use Scrolls HLA is missing.  The fighter/thief doesn't appear to get the Use Magic Device HLA either.

Fighter/Mage/Thief HLAs

  • Gains the Critical Strike HLA when it should not (SPCL905)
  • Gains the extra level 7, 8, 9 spell HLAs when it should not

Mage/Thief HLAs

  • Gains the extra level 7, 8, 9 spell HLAs when it should not.
  • Gains the Mirrored Clones HLA which should only be available to the Illusionist/Thief multiclass

Mage/Cleric HLAs

  • Gains the extra level 7, 8, 9 spell HLAs when it should not.

Cleric/Thief HLAs

  • Gains Greater Evasion, but shouldn't get that HLA
  • Does not get Use Scrolls, but should

Fighter/Druid HLA

  • Gains Elemental Prince Call, but shouldn't get that HLA

Fighter/Mage/Cleric HLA

  • Gains extra level 7, 8, 9 spell HLAs when it should not
  • Gains combat prayers HLA (LI#COPR) when it should not
  • Resist Magic Damage is missing the Resist Magic prerequisite.

Cleric/Ranger HLA

  • Since there are a number of patches that allow for evil/neutral ranger/cleric combinations, I'd suggest adding the mutually exclusive summon fallen deva HLA to the list of the ones allowed by the multiclass in the documentation.  The installer already adds this combination.
  • Does not gain Mass Raise Dead (SPPR729), when it should according to the documentation.
Link to comment

All the Specialist Mages have

  • Gains the extra level 7, 8, 9 spell HLAs when it should not
  • Improved Alacrity should have Arcane Knowledge as a prerequisite, but it does not.

Wizardslayer HLA

  • Gains the Hardiness HLA (SPCL907) when it should not.

Totemic Druid HLA

  • Doesn't get tranquility HLA, but it should.
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...