Jump to content


Photo

Bug with Tazok / Raiken


  • Please log in to reply
16 replies to this topic

#1 Andrea C.

Andrea C.
  • Modder
  • 464 posts

Posted 23 May 2021 - 02:01 AM

Hello.

 

I'm experiencing a weird bug with Tazok and Raiken in the BG1 portion of my BGT play through, and I'm trying to understand what's causing it.

 

Here's my WeiDU log file:

 

Spoiler

 

As shown, I do not have a lot of mods that touch upon BG1 content.

 

The bug is as follows:

 

  • When I'm taken to the bandit camp for the first time, after telling bandits that I want to join them, Tazok shows up and has the usual dialog that results in a physical confrontation. If it makes a difference, I have Kivan in my party who chimes in to threaten Tazok. After the dialog, Tazok does not turn hostile and does not move towards my party to attack. If I attack him, he still doesn't turn hostile though he starts walking to towards the party. Once the scripted HP threshold is reached, he fires up the dialog that gives me free rein tho walk the camp and leaves. Isn't he supposed to turn hostile and attack before reaching the HP threshold?
  • When I meet Raiken in the Woods of Sharp Teeth—this is after having been to the bandit camp as described above—he walks up to Charname but does not initiate dialog. If I try to initiate dialg, I get the "has nothing to say to you" thing. If I attack him, neither he nor his goons turn hostile and attack. I can just kill him in front his men and leave with impunity.

 

BG1UB would be the most likely candidate for the bug, but it doesn't have a component that specifically mentions Raiken. Perhaps Tweaks Anthology or SCS?


Edited by Andrea C., 23 May 2021 - 02:03 AM.


#2 skellytz

skellytz
  • Staff
  • 578 posts

Posted 23 May 2021 - 06:50 AM

Raiken/Teven don't disappear from Larswood/Peldvale after entering the bandit camp

OK, that's a bug in BGT: bandct and bandcr dialogue files don't set TazokSays global like in the original BG1 (when the bandit captain complains they brought you to the camp). Their creature scripts check for that global to make them disappear.

 

Tazok doesn't turn hostile after talking with Kivan in the bandit camp

Looks like a bug in BG1 UB. Enemy() doesn't work on Tazok in the response action when the dialogue switches from bgtazok to kivanj. Changing the order of actions seems to solve the issue.

 

From:

SetGlobal("UBKivanAndTazok","GLOBAL",1)
CreateItem("TAZOKHP1",0,0,0)
EndCutSceneMode()
FillSlot(SLOT_AMULET)
Enemy()

 

To:

SetGlobal("UBKivanAndTazok","GLOBAL",1)
Enemy()
CreateItem("TAZOKHP1",0,0,0)
EndCutSceneMode()
FillSlot(SLOT_AMULET)

 

 



#3 Andrea C.

Andrea C.
  • Modder
  • 464 posts

Posted 23 May 2021 - 07:07 AM

Thank you, skellytz.

#4 Salk

Salk
  • Modder
  • 1420 posts

Donator

Posted 23 May 2021 - 11:10 PM

skellytz,

 

I don't know enough about WeiDu to fix the BG1 UB bug myself so I am asking you if you can so that we may submit it at Pocketplane? The bug is in ubkivan.d. This:

 

I_C_T2 ~%tutu_scriptbg%TAZOK~ 1 UBKivanAndTazok
== %KIVAN_JOINED% IF ~InParty("kivan") !Dead("kivan") !StateCheck("kivan",STATE_SLEEPING)~ THEN @0
== %tutu_scriptbg%TAZOK @1
END

 

and several other identical lines of code for 8 more states (6, 7, 12, 14, 15, 20, 21 and 26)

 

There may be another bug with appending the wrong file. ubkivan.baf starts a dialogue with Kivan (KIVAN.DLG) once Tazok is dead and sets the UBKivanTazokDead variable to 1 so that Kivan should say: "The beast has fallen, and she is avenged. May his foul hide suffer eternal torment at the hands of his victims!" but ubkivan.d appends KIVANJ.DLG, not KIVAN.DLG. Shouldn't %KIVAN_JOINED% be replaced by %tutu_var%KIVAN in the ubkivan.d file?


Edited by Salk, 24 May 2021 - 08:03 AM.


#5 Andrea C.

Andrea C.
  • Modder
  • 464 posts

Posted 24 May 2021 - 12:59 AM

so that we may submit it at Pocketplane?

 

May not be necessary; I've already put this thread on jastey's radar.
 



#6 Salk

Salk
  • Modder
  • 1420 posts

Donator

Posted 24 May 2021 - 09:54 AM

Well, it seems I do remember a very few things.

 

Andrea, if you reinstall BG1 UB you can replace ubkivan.d in bg1ub\kivan with my modified version.

 

It should fix both problems.

Attached Files


Edited by Salk, 24 May 2021 - 09:55 AM.


#7 skellytz

skellytz
  • Staff
  • 578 posts

Posted 24 May 2021 - 01:08 PM

I took a closer look. The dialogue itself works as intended (Kivan talks to you after killing Tazok). BG1 UB doesn't need any fixes here. When it comes to non-hostile Tazok, looks like BG1 UB will also use the action order present in the original dialogue file and that means I can easily fix it in BGT rather than making BG1 UB change the order.



#8 Salk

Salk
  • Modder
  • 1420 posts

Donator

Posted 24 May 2021 - 08:20 PM

So patching KIVANJ rather than KIVAN is correct?



#9 jastey

jastey
  • Administrator
  • 3219 posts

Posted 24 May 2021 - 10:14 PM

So patching KIVANJ rather than KIVAN is correct?


The script starts a dialogue with the NPC (Death Variable is "Kivan") who then speaks with his joined dialogue because he is in the party. kivan.dlg is Kivan's dialogue before being in the party (and only before). So yes, patching kivanj.dlg is correct. Have a look here about which dlg files are attached to a joinable NPC and when they are used.

 

The bug is indeed not in the bg1ub mod as the I_C_T2 just takes whatever is there in the original dialogue state and inserts a dialogue line for Kivan in between. (In fact, bg1ub couldn't even do anything here because it would mean it would have to provide the following actions which is a nogo compatibility wise as it would remove actions added by other mods.)

Thanks skellytz for fixing this in BGT.



#10 Salk

Salk
  • Modder
  • 1420 posts

Donator

Posted 24 May 2021 - 11:05 PM

Thanks for clearing this up for me, jastey.

 

Useful info!  :cheers:



#11 skellytz

skellytz
  • Staff
  • 578 posts

Posted 25 May 2021 - 03:57 PM

The original action order works fine when there's no interjection. The script processor will choke after FillSlot when there's a switch to a different dialogue file and any actions after that won't work. That's why it was never a problem in BGT without BG1 UB. So, we need to be careful with FillSlot during interjections.


Edited by skellytz, 25 May 2021 - 05:35 PM.


#12 jastey

jastey
  • Administrator
  • 3219 posts

Posted 25 May 2021 - 08:11 PM

Ideally, bg1ub would switch to I_C_T (instead of I_C_T2), especially since there is a passback back to Tazok line already present. I will do this change for the next update.

 

I_C_T2 should be avoided, it only makes sense in a universe where one mod is the only one, in a multimod-iverse it implodes (e.g. if there is a second interjection by another mod it also fails and actions are sometimes doubled; if another mod adds different transactions it fails, etc)

 

If bg1ub switches to I_C_T and the original actions work then BGT wouldn't have to be changed (actions would be with Tazok again after his line and should work as in original) unless you want to make it more stable.


Edited by jastey, 25 May 2021 - 08:12 PM.


#13 jastey

jastey
  • Administrator
  • 3219 posts

Posted 26 May 2021 - 06:10 AM

New version of bg1ub is up! https://github.com/P.../bg1ub/releases



#14 Laurentius

Laurentius
  • Member
  • 4 posts

Posted 01 June 2021 - 11:11 AM

Good evening.

 

I'm wondering if i can use WeiDU v246 to install bg1ub 16.4, because WeiDU v247 makes 1PP skip Female Dwarves and Thieves Galore without asking if you wanna install them or not.

Not sure why i does that, It's not a problem if WeiDU is v246. Can someone help me answering why that happens with v247?

 

Thanks alot Laurentius  ^_^



#15 jastey

jastey
  • Administrator
  • 3219 posts

Posted 01 June 2021 - 09:25 PM

I'm wondering if i can use WeiDU v246 to install bg1ub 16.4


@Laurentius yes, absolutely. Remove any weidu.exe or setup-modname.exe that is v247 from your game directory to prevent weidu to autoupdate. Copy weidu v246 or any setup-mymod.exe back and rename it to the name the mod needs. For bg1ub that would be setup-bg1ub.exe. Alternatively, downlowd the bg1-unfinished-business-v16.4.iemod, there is no setup.exe included, and create one by renaming an existing one from another mod.

The reason bg1ub 16.4 ships with weidu v247 is that it is packed automatically and therefore grabs the newest weidu version. It doesn't need it, though.



#16 Laurentius

Laurentius
  • Member
  • 4 posts

Posted 02 June 2021 - 09:45 AM

I'm wondering if i can use WeiDU v246 to install bg1ub 16.4


@Laurentius yes, absolutely. Remove any weidu.exe or setup-modname.exe that is v247 from your game directory to prevent weidu to autoupdate. Copy weidu v246 or any setup-mymod.exe back and rename it to the name the mod needs. For bg1ub that would be setup-bg1ub.exe. Alternatively, downlowd the bg1-unfinished-business-v16.4.iemod, there is no setup.exe included, and create one by renaming an existing one from another mod.

The reason bg1ub 16.4 ships with weidu v247 is that it is packed automatically and therefore grabs the newest weidu version. It doesn't need it, though.

Hi Jastey.

 

Thanks for answering so fast to my post. I'll do what you told me and let me just say how wonderful it is that you and other modders are keeping so many mods alive.

 

Kind regards Laurentius  :D



#17 jastey

jastey
  • Administrator
  • 3219 posts

Posted 02 June 2021 - 08:26 PM

@Laurentius thanks for the kind words! Thanks for playing the mods and giving feedback!