Jump to content

Baresh aka Improved Illyich in disguise


Taimon

Recommended Posts

Well, I just had the most challenging fight since I started playing Baldur's Gate. :)

 

First, let me note I'm on BGT here and I installed the Improved Balduran's Isle component. (sidenote: The special wolves (Karoug, Kaishas, ...) lost their immunity to non-silver/non-cold-iron weapons in BGT [ringwolf.itm is just the on from BG2]. This makes the fightes much easier. I'll report to BGT forums.)

 

So I'm back in Ulgoth's Beard ready to fight Mendas. Business as usual until Mendas dies and Baresh was still alive (and human). He casts a spell and I thought he would change to a werewolf. Well, I was wrong. He decided to bring in something rather special and summoned a fallen planatar (and died shortly after casting the spell). So that leaves my lvl9/10 party against a lvl25 planatar.

I finally had a use for all those potions I kept carrying around and I needed a lot of them. Never had more fun fighting against an single opponent. Thank you for this experience. :)

 

After looking at the scripts, Baresh is supposed to ForceSpell 2924 which was BERESH_CHANGE in BG1, but in BG2 (and BGT) it is WIZARD_SUMMON_PLANATAR_EVIL.

BGT usually does ApplySpellRES spki925.spl (which does ReplaceSelf kaishwlf.cre) KAISHAS_CHANGE). BG1UB has spki924.spl (ReplaceSelf barwlf.cre) when using BGT, so this may be used as a workaround.

There is also some minor incompatability with BG1UB. It will modify some actions in Mend4.dlg and SCS also wants to modify it, but expects the unmodified actions.

Link to comment

I was surprised that nobody else reported this issue, but I guess most of the people either use Tutu or kill Baresh before he can get his spell off.

 

The BG1UB incompatability leads to Mendas instantly changing to a werewolf instead of fighting as a human (at least on BGT). So if anyone reports something like this, you know who is to blaim. :)

 

I finally finished the BG1 part of BGT and really liked the improved final battle. Thank you!

Link to comment

Are you talking about the Baresh thing or the BG1UB incompatability?

 

Anyway, I won't post anything if DavidW doesn't approve hotfixes. He may even have fixed this himself (I'm not going to mention 'locally' here :crazyeyes:).

Link to comment
Are you talking about the Baresh thing or the BG1UB incompatability?

 

Anyway, I won't post anything if DavidW doesn't approve hotfixes. He may even have fixed this himself (I'm not going to mention 'locally' here :crazyeyes:).

 

It's a free country; post things if you want to (I'm not realistically going to get a new SCS out before early summer).

Link to comment

Okay, this is the diff:

--- setup-scs.tp2
+++ setup-scs.tp2.fix
@@ -4453,7 +4453,29 @@
COMPILE EVALUATE_BUFFER ~scs/werewolf/_baresh.baf~

ACTION_IF !(FILE_EXISTS_IN_GAME ~fw0100.are~) THEN BEGIN
+
+        // creating a baresh transformation spell
+        ACTION_IF !(FILE_EXISTS ~override/spki924.spl~) THEN BEGIN 
+            COPY_EXISTING ~spki925.spl~ ~override/spki924.spl~
+                READ_LONG  0x64 abil_off
+                READ_SHORT 0x68 abil_num
+                READ_LONG  0x6A fx_off
+                FOR (i = 0 ; i < abil_num ; i = i + 1) BEGIN
+                    READ_SHORT (abil_off + (0x28 * i) + 0x1E) abil_fx_num
+                    READ_SHORT (abil_off + (0x28 * i) + 0x20) abil_fx_idx
+                    FOR (j = 0 ; j < abil_fx_num ; j = j + 1) BEGIN
+                        READ_SHORT (fx_off + (0x30 * (abil_fx_idx + j))) opcode
+                        PATCH_IF (opcode == 151) THEN BEGIN
+                            WRITE_ASCII (fx_off + (0x30 * (abil_fx_idx + j))) + 0x14 ~BARWLF~ #8 
+                        END
+                    END
+                END
+        END
+
        COPY_EXISTING ~_baresh.bcs~ ~override/baresh.bcs~
+            DECOMPILE_BCS_TO_BAF
+            REPLACE_TEXTUALLY ~ForceSpell(.*$~ ~ApplySpellRES("SPKI924", Myself)~
+            COMPILE_BAF_TO_BCS
END


@@ -4485,6 +4507,8 @@
COPY_EXISTING ~%tutu_var%menda4.dlg~ ~override~
        DECOMPILE_DLG_TO_D
        REPLACE_TEXTUALLY  ~ActionOverride("baresh",ApplySpell("baresh",KAISHAS_CHANGE))~ ~ActionOverride("baresh",Enemy())~
+        // BGT (BG1UB [creature name restoration] may have modified it)
+        REPLACE_TEXTUALLY  ~ActionOverride("baresh",ApplySpellRES("SPKI92\(4\|5\)",Myself))~ ~ActionOverride("baresh",Enemy())~
        REPLACE_TEXTUALLY  ~ForceSpell(Myself,LOUPGAR_CHANGE)~ ~Enemy()~
        COMPILE_D_TO_DLG

 

Not really tested, though.

 

/Edit:Posting code correctly is not really easy here. Codebox needs an attribute to allow specifying the height.

setup_scs.zip

Link to comment

Thank you very much, Taimon! :crazyeyes:

 

It was not difficult to compare the different .tp2 and make the needed changes (I could have copied directly your modified .tp2 but I have other manual fixes made to my current .tp2 so...)

Link to comment
Yes, I wonder if any other Mods will see their compatibility broken after the new naming conventions of BGT 1.06...

 

Nah, not much changes, and probably no one is using the resources. I guess, I just got unlucky. :D

 

Updated tp2 in the hotfix thread.

Link to comment

Archived

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

×
×
  • Create New...