Jump to content

Unearthed Arcana presents Might & Guile: tweaks and kits for warriors and rogues


Recommended Posts

46 minutes ago, JediMindTrix said:

Out of curiosity, how many times will Aggressive/Disarming postures proc in a round/flurry/whatever unit of attacks Infinity Engine uses?

It’s a % chance to happen, on every hit. I don’t remember the chance, but if it’s 20% and you have 5 APR and you never miss, it will happen once each round on average. If you have 3 APR and hit 2/3 of the time, then it will happen every 3 rounds or so. (And I believe the target gets a save then... so realistically, you might see these effect once or twice per battle. I want them to be a bit fun and special and to differentiate different fighters (remember, enemy fighters use these against you!) without being  boring and constantly happening. 

Link to comment
1 hour ago, subtledoctor said:

It’s a % chance to happen, on every hit. I don’t remember the chance, but if it’s 20% and you have 5 APR and you never miss, it will happen once each round on average. If you have 3 APR and hit 2/3 of the time, then it will happen every 3 rounds or so. (And I believe the target gets a save then... so realistically, you might see these effect once or twice per battle. I want them to be a bit fun and special and to differentiate different fighters (remember, enemy fighters use these against you!) without being  boring and constantly happening. 

Thanks for the explanation!

Link to comment

Hey Doc,

I really enjoy having an aura that can I can do stuff, not to mention nicely designed abilities like Bladesong.

However I'd like to try it as a traditional mage. Preparation and all that stuff. Going through the innate bar always feels clunky.

Essentially I want to keep the M&G's custom bard-song "method" while maintaining normal/native spellcasting.

(BTW, I'll mention in the T&B thread, you can get spontaneous spellcasting working by setting the base class to Sorcerer, patching eqiupment so that Mage/Sorcs use all equipment as you did, and then you just throw in a crapload of +Thac0 to match whichever table you'd like. Oops, I did forget to think about APR. But that's an easy opcode)

Link to comment
Guest Guest Guest

Encountered a problem in IWD:EE Multiplayer using the latest version (4.9.4) - when trying to select an ability for a newly created Gallant, it doesn't work, just puts a "Spell sequencer active". It works just fine in singleplayer though, adding the ability as it should.

And one other thing - when it does that, it does eventually grant the ability, but only when you select another one (and the one you select as your second doesn't work). It's as if the ability triggers the prior one.

On that note, are level 1 Gallants even supposed to get those abilities in the first place?

Link to comment
1 hour ago, Guest Guest Guest said:

Encountered a problem in IWD:EE Multiplayer using the latest version (4.9.4) - when trying to select an ability for a newly created Gallant, it doesn't work, just puts a "Spell sequencer active". It works just fine in singleplayer though, adding the ability as it should.

And one other thing - when it does that, it does eventually grant the ability, but only when you select another one (and the one you select as your second doesn't work). It's as if the ability triggers the prior one.

This is because Multiplayer doesn't pause the game as it should while you are selecting spells in the sequencer menu.  The following casting activating any previously un-activated one is the current work-around.

@subtledoctor If that work-around isn't viable, there is another possible fix:

Locate the EFF file (%resref%X.EFF) that uses op257 (Create Sequencer).

Create a spell with the same resource name (%resref%X.SPL).

Add 2 global/casting effects:

  • op256, Activate Sequencer (target=self, resource = ~%resref%X~)
  • op172, Remove Spell (target=self, resource = ~%resref%X~)

Add 1 ability header: Location(Ability), Icon(Any), Target(7), no effects.

(The reason for using global/casting effects is because otherwise you get the "you cannot cast two of the same contingency spells" block, while an ability header is still needed for it to show up on the action bar).

Locate the SPL that normally activates the sequencer (%resref%D.SPL), add that same op172 effect to it's (only) ability.

In single-player, nothing should change, the extra ability will be removed immediately as the sequencer normally activates.

In multi-player, a manual activation ability will be granted to use after exiting the sequencer menu.

Edited by kjeron
Link to comment

Hm, having a strange bug in my latest install. Characters with multi-class kits are not working in game, not getting the abilities they ought to be on creation and level-up. This is ONLY for kits attached specifically to multiclasses - single-class kits are working on multi-class characters. E.g. a Tempest gets their abilities, as does a MC Tempest/Mage I make using the NPC_EE mod or Shadowkeeper, but kits like the Herald or Fighter/Sorc don't work, all kits with multi-classes listed the CLASS column in kitlist.2da. Shadowkeeper's Add Kit Effects option DOES add the proper abilities to these characters though.

So as best I can tell, kitlist.2da is well-formed and is kits.ids and the clab**** files are readable - since Shadowkeeper can add the kits and attach the right abilities/effects. Once they get their abilities, including Feat Selection and various spontaneous magic abilities, those all work. But the game itself is refusing to grant characters with MC kits the abilities listed in the clab**** file on level-up.

Any ideas on how to fix this without totally reinstalling everything? I'm some-ways into my playthrough already, as I'd assumed that it was just some kits bugged, and I'm worried that reinstalling will just entirely break my current playthrough. Been poring through 2DA files in NearInfinity trying to find the disconnect, but just having no luck.

 

Edit: I think I found the issue. The Sandrah mod is using qd_multiclass v0.2, and in the absence of qd_multi_spls.qd, it is obliterating all the QD_MC?_XX.SPL files.

I know there's a lot of beef between Roxanne and other modders right now, but a simple fix you could do on your end would just be to plop in a qd_multi_spls.qd file in your version of qd_multiclass.tpa, even if you don't actually use it for anything. For me, I'm just going to fix it by restoring the backup QD_MC?_XX.SPL files since I'm not using the kits in the Sandrah mod anyways.

Edited by hippofant
Link to comment

Huh. The development  of QD_Multi took off a bit as Argent77 made major improvements to it. (I think it's up to version 0.10!) I tried to keep a hand on the tiller to keep it compatible with the older versions, but I guess I was not successful?

Did you install Sandrah before MnG? I should think (without really investigating, though) that if you install Sandrah afterward it might work. (And I vaguely recall Roxanne wants it installed as late as possible.)

Alternatively, you could try replacing the QD_Multi .tpa file in the Sandrah  mod folder with the newer version.  Again, I think the Weidu code calling the  function should still work with the new version, but also again, no promises.

Link to comment

I installed Sandrah after, which was the problem. I believe the issue arises here, in Sandrah's version of qd_multiclass.tpa: (v2)

Quote

DEFINE_ACTION_FUNCTION qd_multiclass
    STR_VAR
        kit_name = ""
        kit_clab = ""
        base_class = ""
        mc_dir = ""
    BEGIN
        
        ACTION_IF (NOT FILE_EXISTS_IN_GAME ~qd_multi_spls.qd~) THEN BEGIN
            //making the empty multiclass spells    
        COPY ~%mc_dir%/QD_MC_01.SPL~ ~override/QD_MCF01.SPL~
             ~%mc_dir%/QD_MC_01.SPL~ ~override/QD_MCF02.SPL~
             ~%mc_dir%/QD_MC_01.SPL~ ~override/QD_MCF03.SPL~
             ~%mc_dir%/QD_MC_01.SPL~ ~override/QD_MCF04.SPL~

        ...

        COPY_EXISTING ~sw1h01.itm~ ~override/qd_multi_spls.qd~ //multiclass macro spells identifier file

The same functionality in your version (v10):

Quote

// Ensure helper spells for multiclass abilities are available
DEFINE_ACTION_FUNCTION QD_ENSURE_QDMC_SPL
STR_VAR
  base_class = ""
BEGIN
  ACTION_IF (~%base_class%~ STRING_MATCHES_REGEXP ~[DFMPRT]~ = 0 &&
             NOT FILE_EXISTS_IN_GAME ~QD_MC%base_class%01.SPL~) BEGIN
    ACTION_IF (NOT FILE_EXISTS ~.../inlined/QD_MC_01.SPL~) BEGIN
      // create template SPL file for internal use
      COPY - ~.../inlined/qd_blank.file~ ~.../inlined/QD_MC_01.SPL~
        INSERT_BYTES 0 0x72
        WRITE_ASCII  0x00 "SPL V1  " (8)
        PATCH_FOR_EACH ofs IN ~0x08~ ~0x0c~ ~0x50~ ~0x54~ BEGIN
          WRITE_LONG ofs "-1"
        END
        WRITE_LONG   0x64 0x72 // ability offset
        WRITE_LONG   0x6a 0x72 // effects offset
        LPF QD_ADD_EMPTY_SPELL_HEADER END
    END

    ...

So, best I can tell, qd_multi_spls.qd used to be just a flag indicating that the spl files had been created already. At some point between 0.2 and 0.10, that flag was removed for more precise scripting that actually searched for the exact files that need to be created, but now it means that if any mod using 0.2 is installed after a mod using 0.10, the 0.2 mod will overwrite all the SPL files created by the 0.10 mods.

Link to comment

It’s been a looong time since we worked on it. (I’m frankly surprised that Roxanne hasn’t updated her mod - say what you will about her, but she’s very good at the mod-making and -updating side of things.) I think we removed the marker files because the function now only makes the clab spells as needed; if you only made them for ranger/clerics, and dropped a marker indicating they all existed, then a subsequent mod would fail to create them for mage/thieves. 

The old 0.2 way created all clab spells for all multiclasses, even if you only need one set. It left a lot of cruft in the override folder. Also, it had a lot of serious bugs and should not be used by anyone. 

Like I say, I think you might be able to drop the new function into her mod, and the old-style function calls would still work. The old function had more variables but they are harmless in the new function. 

I think. 

Edited by subtledoctor
Link to comment
On 11/10/2020 at 6:20 PM, subtledoctor said:

Huh. The Bladesinger was a late addition to the mod, and it looks like I neglected to add it to all of the script/dialogue changes. 

Intended. The Bladesinger is a bit less of a bard and a bit more of a normal fighter/mage. As a nod to the OP nature of the PnP kit, this one gets some benefits that other bards don’t.

Will look into this. I suspect it’s an interaction with the trueclass fighter abilities from the feats component.

The level-up screen is wrong, and meaningless, and impossible to change. Pay no attention to it. 

I think you have not used the “activate bardic spellcasting” special ability.

There might be a problem here. I’m playing with Xan as a Bladesinger in my current game, I’ll see what happens at level 9.

Kind bump. Bladesinger is my favourite. Non of the multiclass bards got spontaneous casting, btw.

Link to comment
On 10/11/2020 at 11:20 AM, subtledoctor said:

Huh. The Bladesinger was a late addition to the mod, and it looks like I neglected to add it to all of the script/dialogue changes. 

Intended. The Bladesinger is a bit less of a bard and a bit more of a normal fighter/mage. As a nod to the OP nature of the PnP kit, this one gets some benefits that other bards don’t.

Will look into this. I suspect it’s an interaction with the trueclass fighter abilities from the feats component.

The level-up screen is wrong, and meaningless, and impossible to change. Pay no attention to it. 

I think you have not used the “activate bardic spellcasting” special ability.

There might be a problem here. I’m playing with Xan as a Bladesinger in my current game, I’ll see what happens at level 9.

Okay, I haven't been playing a Bladesinger, but I figured since I was here, I could check out the kit myself to see if I get these same errors.

My level 1 bladesinger does have D5FEATA.SPL and D5FEATB.SPL, which I think subtledoctor recycles for all choices like this. When I use those abilities, I get to choose from a number of Bard songs AND also some generic feats: Lore Bonus, Mental Resilience, Physical Resilience, Precise Strike, Fighting Postures: Disarming, Parry Slashing, Parry Piercing, and Parry Blunt, Quickstride, and Health Conditioning. Not sure if those are all intended or not. I do start with Aura: Blur correctly.

The level 9 feats available are Inspiration: Reflected Images, Inspiration: Death Ward, Aura: Glove of Invulnerability, Aura: Cloak of Fear, Aura: Slow, and Advanced Precise Strike. No Weapon Focus indeed.

I do have the Initiate Bardic Spellcasting Ability. When I use it, it seems to work, but my spellbook is a little borked until I use the Change Memorized Spells ability it gives me and clear out my spellbook. When I do so and I rest, I do notice that it takes a second or two for the spells to be "loaded" after I rest. Generally this works okay, but it seems like it's possible for this to get disrupted.

One problem I am noticing is that, for some reason, my Bladesinger has a bunch of random Priest spells. Might be due to some other modding/editing I've done. I definitely don't get casts of Command when I memorize it though; it's just a useless bait option in my spellbook.

image.png.8bb498942fd3724f471f890f37c0bee8.png

 

 

Link to comment

 

4 hours ago, hippofant said:

Okay, I haven't been playing a Bladesinger, but I figured since I was here, I could check out the kit myself to see if I get these same errors.

My level 1 bladesinger does have D5FEATA.SPL and D5FEATB.SPL, which I think subtledoctor recycles for all choices like this. When I use those abilities, I get to choose from a number of Bard songs AND also some generic feats: Lore Bonus, Mental Resilience, Physical Resilience, Precise Strike, Fighting Postures: Disarming, Parry Slashing, Parry Piercing, and Parry Blunt, Quickstride, and Health Conditioning. Not sure if those are all intended or not. I do start with Aura: Blur correctly.

This is all working correctly.

4 hours ago, hippofant said:

The level 9 feats available are Inspiration: Reflected Images, Inspiration: Death Ward, Aura: Glove of Invulnerability, Aura: Cloak of Fear, Aura: Slow, and Advanced Precise Strike. No Weapon Focus indeed.

I'll take a look at the missing weapon focus ability. The rest are correct. (The Advanced Precise Strike ability is supposed to be dependent on taking the basic Precise Strike feat first... but that sort of thing is not very easy with the feat selection UI. I think the current function is, you can take either or both, but one is not available until 9th level. If you take both, in any order, they will stack for an overall +10% chance for critical hits.)

One of the things I'm considering is consolidating some of the fighting style feats. Currently there are three "tactics" abilities, which benefit your allies and only one of the three can be used at a time; as well as five "postures" which benefit yourself, only one of them can be used at a time but they can be combined with tactics; as well as several individual abilities like Swashbuckling and Dirty Fighting which can be combined with both postures and tactics. These are separate for historical reasons - the warrior and rogue feats used to be completely separate systems. But maybe they should all be combined? I feel like Swashbuckling and Fighting Dirty (and maybe some new ones) should be part of the suite of fighting postures along with aggressive/disarming/parrying. Group tactics are more questionable... maybe they should remain separate and stackable.

And, maybe choosing a unified Parrying feat should give you access to all three parrying postures? You could still only use one at a time, but you wouldn't have to burn three feats for them.

Also, Swashbuckling needs to be buffed. Given that it applies a penalty to thac0 and damage, maybe a 1/2 APR bonus would be okay? A move back toward the vanilla Offensive Spin ability, without being quite so cheesy.

4 hours ago, hippofant said:

I do have the Initiate Bardic Spellcasting Ability. When I use it, it seems to work, but my spellbook is a little borked until I use the Change Memorized Spells ability it gives me and clear out my spellbook. When I do so and I rest, I do notice that it takes a second or two for the spells to be "loaded" after I rest. Generally this works okay, but it seems like it's possible for this to get disrupted.

This is all working correctly. The small delay after you wake up involves an invisible creature running a script on the bard... it relies on the HaveSpell trigger, which cannot be replicated with spell effects. So this is one of the rare times that I will tolerate the 'invisible creature+script' technique. 99% of the time you wake up, it will be in an inn or some other uneventful circumstance, so this 1-second delay should generally have no consequence on real gameplay.  (I highly doubt it could be interrupted, unless you sleep was interrupted by a monster attack or something like that, and the monsters had craaazy scripts that take up your computer's entire processing power for a few seconds.  Very unlikely... and even then, with sleep being interrupted you should not get your spells anyway.)

Incidentally, I am considering an alternative method for this process.  Right now your chosen spells are automatically "loaded" into your brain each morning. If you want to change your spells for the next day, you use the spell preparation ability and then you get access to your spellbook to swap them out.  While you have access to your spellbook, casting is impossible; you must sleep in order for spellcasting to be re-enabled. 

A possible new method would look like this: you never have to  do anything at night.  Instead, every morning, your spellcasting will be disabled and you will get access to your spellbook. You can change out spells, or not. When your choices are ready, you would use an innate ability to enable spellcasting and remove access to your spellbook. Pro: you don't have to remember to prepare spells before resting. Con: you have to do something (clicking an ability) every time you wake up. Whereas right now, if you don't want to swap spells then you don't have to interact with the system at all.

Thoughts? Preference?

4 hours ago, hippofant said:

One problem I am noticing is that, for some reason, my Bladesinger has a bunch of random Priest spells. Might be due to some other modding/editing I've done. I definitely don't get casts of Command when I memorize it though; it's just a useless bait option in my spellbook.

The priest spells are not random, they are part of the suite of "bardic" spells that involve manipulating sound:

  • Command
  • Deafness (or, with SR, Sound Burst)
  • Silence 15' Radius
  • Shout
  • Remove Curse (or, with SR, Break Enchantment)
  • Greater Command
  • PW: Silence
  • Earthquake

The "True Bard" gets to cast these spells without needing to put them in spell slots; other bards get them in their spellbooks for free, but must prepare them in spell slots to cast them.  I noticed in my game that Command is bugged, and cannot be cast by Keto (who is a Meistersinger).  I think this only affects Command, and the other ones work. But it's on my radar, in any event. (The same bug affects Magic Missile if you install TnB's "Level 1 Cantrips..." though these bards cannot usually cast MM so that was harder to spot.)

So:

  • Bladesinger missing Weapon Focus
  • Command not working when memorized (and maybe a few others)
  • Bladesinger not recognized as bard by in-game scripts and dialogues

@GawainBS is that everything?  If you are not getting the "initialize bardic abilities" innate, then something weird is up. I cannot replicate this, the ability is present for me (just like hippofant) so there's not much I can do about it. (EDIT - per the recent discussion, maybe some other mod with an old version of the QD_Multi function was installed, and messed up the kit's CLAB abilities?)

In my current internal builds, I've changed the way spell slots are managed, they no longer rely on CLAB-applied spells that can get messed up if someone leaves the party and then returns. This also had a bit of a bad interaction with TnB's Level 1 Cantrips, bit I think I've sorted that out.

As far as making the feat selection work in multiplayer games: thanks for the tip @kjeron, I think I should be able to add that stuff into the code without much problem.

Edited by subtledoctor
Link to comment
On 12/2/2020 at 10:30 PM, Rizzen said:

Is it possible that NPCs in BG2EE can also chose feats? I installed Level One NPCs and hoped it would work. I changed Minsc to a Berserker Ranger and could chose one single feat. Iomen as a Sniper could not choose any feats.

Forgot to address this. The short answer is, yes NPCs who have classes with access to feats will be able to choose feats. (And note, enemy fighters and thieves will employ some feats against you, as well.)

The long answer is that Imoen's .CRE files are weird, and sometimes resist mod-added changes like this. I have had some success with fixing her, but not 100%. In my own current game I tried to make her a bard, but she did not get any other the feat abilities or the bardic initialization ability. Why? I have no idea. The game ran an AddKit script on her, so she definitely should have gotten the kit abilities. But she is somehow immune to it. This is SUPER annoying and I don't know how to fix it... :(

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