Jump to content

Imprisonment permanently breaks bard song


Frein

Recommended Posts

I have tested this now and can confirm that bard song loses it's effect, or at the very least Enhanced Bard Song reverts back to the vanilla song/loses its effect when the bard in question is imprisoned.

 

Even a PI cast after the Imprisonment treatment loses its song even though it should be able to sing it normally.

 

I know nothing about coding so I'll just try to look at affects in Shadow Keeper and try to see if there are any entries that could be tinkered with.

 

edit: I was able to fix it by deleting all affects and moving over those from an earlier save from before he was Imprisoned.

Link to comment

Do you by chance have the component 'Bard song fixes' installed? I can observe this behaviour with it installed, but not with just the main Fixpack component or on a unmodded install.

 

I guess what happens is that the effects affecting the bard are reordered when he is imprisoned, and the 'bard song fixes' song comes out on top. Consequently, when the bard sings, he sings the regular bard song rather than the HLA one.

Whatever it is, it seems to happen when the bard leaves the party. You can kill/resurrect and level him up without anything happening, but if you kick him out, petrify or imprison him, he no longer sings the HLA song.

 

I guess this behaviour may also be observed with other mods which add bard songs.

Link to comment
Do you by chance have the component 'Bard song fixes' installed? I can observe this behaviour with it installed, but not with just the main Fixpack component or on a unmodded install.

 

I guess what happens is that the effects affecting the bard are reordered when he is imprisoned, and the 'bard song fixes' song comes out on top. Consequently, when the bard sings, he sings the regular bard song rather than the HLA one.

Whatever it is, it seems to happen when the bard leaves the party. You can kill/resurrect and level him up without anything happening, but if you kick him out, petrify or imprison him, he no longer sings the HLA song.

 

I guess this behaviour may also be observed with other mods which add bard songs.

Yes, I do in fact have the Bard song fixes installed. I guess I should have tested other methods of ejecting him from the party, but I see you already confirmed similar behaviour from those.

Link to comment

The engine purges all kit abilities when you kick someone out of the party, then adds them again after they rejoin - which results in the class abilities coming after the HLAs in the effects list, and thus taking precedence.

 

For version 9 we can try adding some spell immunity to Enhanced Bard Song to prevent this. Jesters and Skalds can suffer from this in the unmodded game as well, but you'd have to be playing multiplayer (or mods) to notice :)

Link to comment
The engine purges all kit abilities when you kick someone out of the party, then adds them again after they rejoin - which results in the class abilities coming after the HLAs in the effects list, and thus taking precedence.

 

Yeah, I got a couple of reports on this from RR players as well. Granting immunity to the spells which apply the regular songs seems like a hacky workaround, but since LUBAX.2DA always takes priority over CLABBAXX.2DA upon rejoining, I don't see a cleaner way to do it.

 

// Prevent Enhanced Bard Song from reverting back to the default version after leaving and rejoining the party

COPY_EXISTING ~spcl920.spl~ ~override~	 // Enhanced Bard Song
PATCH_FOR_EACH ~file~ IN				   // for each of the following files
		~spcl542~					  // Skald song
		~spcl751~					  // Jester song
		 ~fjbard~					  // Bard song (BG2 fixpack OBC)
		~fjblade~					  // Blade song (BG2 fixpack OBC)
BEGIN									  // execute the following
SET opcode = "206"						 // effect: #206 (Protection from Spell)
SET target = "2"						   // target: 2 (pre-target)
SET timing = "9"						   // timing mode: 9 (permanent after death)
SET parameter1 = "0"					   // param1: 0
SET parameter2 = "0"					   // param2: 0
SET power = "0"							// power: 0
SET resist_dispel = "0"					// dispel/resistance: 0 (non-magical)
SET duration = "0"						 // duration: 0
SET probability1 = "100"				   // probability1: 100%
SET probability2 = "0"					 // probability2: 0%
SET dicenumber = "0"					   // dicenumber: 0
SET dicesize = "0"						 // dicesize: 0
SET savingthrow = "0"					  // saving throw type: 0 (none)
SET savebonus = "0"						// save bonus: 0
SPRINT ~resource~ EVALUATE_BUFFER "%file%" // resref: the current file
SET header = "0"						   // add effect to every header
LAUNCH_PATCH_MACRO ~ADD_SPELL_EFFECT~	  // add new spell effect
END										// ends PATCH_FOR_EACH
BUT_ONLY_IF_IT_CHANGES

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...