Skip to content

[Known 1454] The Twins and the Boogeyman

2»

Comments

  • toxintoxin Member Posts: 57
    edited April 2014
    @Erg

    Thanks, the console workaround was money :D

    Regarding the override folder, indeed chitin.key is in "
    SteamApps\common\Baldur's Gate Enhanced Edition" (which is the same folder in which the override folder resides). It's filled with other .bcs files though (as well as files from other types), probably due to the BG2 Tweak Pack I installed. Could that be the issue? (BTW I didn't have to override the specific file of the fix, that is AR0162.bcs was not there)
  • CrevsDaakCrevsDaak Member Posts: 7,155
    @toxin if the files are not related with that, they won't have caused this.
  • Troodon80Troodon80 Member, Developer Posts: 4,110
    Better version of the fix based on that saved game. Just in case anyone else has problems with it.
  • toxintoxin Member Posts: 57
    Wow, you guys are fast ! Thanks Troodon80 !

    BTW is there any reason to switch off debug mode (console enabled) or can I just keep it like that in case I need another console fix ?
  • CrevsDaakCrevsDaak Member Posts: 7,155
    toxin said:

    BTW is there any reason to switch off debug mode (console enabled) or can I just keep it like that in case I need another console fix ?

    only if you area tempted of cheating and don'y like cheating :P but then it's better to have it on, you can fix bugs like this without having to edit the baldur.ini before.
  • ErgErg Member Posts: 1,756
    edited April 2014
    toxin said:

    Thanks, the console workaround was money :D

    @toxin I'm glad it worked.
    Troodon80 said:

    Better version of the fix based on that saved game. Just in case anyone else has problems with it.

    @Troodon80 I see what you did there :)

    However, considering that Voltine uses Dead("Gervisse") and this usually works, I suggest the following change, just to be even more sure the fix works in any case:

    IF
    Global("HelpLaerta","GLOBAL",0)
    Global("TalkedToLaerta","GLOBAL",1)
    OR(4)
    StateCheck("Gervisse",STATE_REALLY_DEAD)
    StateCheck("Gervisse",STATE_DEAD)
    !Exists("Gervisse")
    Dead("Gervisse")
    THEN
    RESPONSE #100
    SetGlobal("HelpLaerta","GLOBAL",1)
    END

  • Troodon80Troodon80 Member, Developer Posts: 4,110
    @toxin, and your new saved game has made the fix that little bit better, it's a win for everyone. On the Debug Mode side of things, there's no real reason to change it other than if you are tempted to cheat.

    @Erg, I remember using Dead() when working out a fix before and it didn't seem to work (something to do with the timing, perhaps, and that people can kill him before he turns hostile). Doing a StateCheck was my workaround for that.

    As far as I can tell the STATE_DEAD is redundant due to STATE_REALLY_DEAD, but I want to be certain I have the angles covered. From what I can see, the two required conditions are either STATE_REALLY_DEAD or !Exists().

    In reality, this could probably be dealt with in the dialogue file by use of OR(). If the guy is dead, disregard the need for the variable but set it at the end of the dialogue for clean-up purposes.
  • toxintoxin Member Posts: 57
    edited April 2014
    Thanks !
    Awesome community you have here. Then again, people playing BG must be awesome.
  • ErgErg Member Posts: 1,756
    Troodon80 said:

    I remember using Dead() when working out a fix before and it didn't seem to work (something to do with the timing, perhaps, and that people can kill him before he turns hostile). Doing a StateCheck was my workaround for that.

    @Troodon80 in my tests Dead() didn't always work for the reason you mentioned (timing issues) when the script was attached to Gervisse, but it always worked when the script was attached to the area. However my tests can't be considered very exhaustive.
    Troodon80 said:

    In reality, this could probably be dealt with in the dialogue file by use of OR(). If the guy is dead, disregard the need for the variable but set it at the end of the dialogue for clean-up purposes.

    I think this is a very good idea. Voltine just uses a dialogue check with Dead() and I never experienced bugs with her.
  • ErgErg Member Posts: 1,756
    I can't believe that after almost 20 months this hasn't been fixed yet. It is a broken quest after all, so it shouldn't be a low priority issue.

    I confirm this is still present in BG:EE v1.3.

    As a workaround, until this is officially fixed, I wrote a WeiDU mod that implements a modified version of @Troodon80 fix. Based on my tests, all that's really needed is to attach the following code to the area script
    IF
    Global("HelpLaerta","GLOBAL",0)
    OR(2)
    Dead("Gervisse")
    Dead("Voltine")
    THEN
    RESPONSE #100
    SetGlobal("HelpLaerta","GLOBAL",1)
    Continue()
    END
    The WeiDU mod can be downloaded using the following link: BoogeymanFix_v1.zip
  • ErgErg Member Posts: 1,756
    @Gate70, @Troodon80,

    I found a way to reliably reproduce this bug. However, it requires the use of the CLUA console and the custom item attached to this post.

    The item is a ring I use for testing that sets attacks per rounds to 5 and gives a +30 bonus to THAC0 and damage; it is crude and without description, but it works for testing purpose. The bug manifests himself if you kill Gervisse in one strike, so you have to do a lot of damage. Normally that would require a critical hit, a successful backstab, etc. The ring just makes easier dealing the required amount of damage in a single strike.

    Repro steps:

    1) Put ER_RNG.ITM in override
    2) Start the game with Abdel
    3) Use the console to get the ring, i.e. C:CreateItem("ER_RNG")
    4) Equip the ring. Despite lack of proficiency, Abdel has now 5 attacks per round, -9 thac0 and 32-37 damage with his quarterstaff.
    5) Move to area AR0162, i.e. C:MoveToArea("AR0162")
    6) Talk with Laerta
    7) Talk with Gervisse
    8) Talk with Voltine
    9) Kill Gervisse in one strike (if necessary, e.g. critical miss, reload and try again)
    10) Talk with Laerta. She will not acknowledge Gervisse death and the quest can't be completed

    Optional steps (moddable platforms only):

    11) Save
    12) Fix the bug, e.g. by installing the WeiDU mod in my previous post
    13) Reload and talk again with Laerta to confirm that the issue has been fixed

    Likely, you'll have to make change to both the repro steps and the procedure to fix the bug (for example it could be better to modify the dialogues instead of adding an area script, I'll leave that decision to you), but I hope this helps you some :)

    Download link: ER_RNG.ZIP
  • DeeDee Member Posts: 10,447
    The godbow item also works for this. Thanks for writing up the test case!
  • DeeDee Member Posts: 10,447
    edited September 2014
    1. Start a new game with the Abdel pregen
    2. C: CreateItem("Godbow")
    3. Open Inventory and equip the godbow
    4. C: MoveToArea("AR0162")
    5. Speak to Laerta
    6. Speak to Gervisse
    7. Speak to Voltine
    8. Attack Gervisse with the godbow
    9. Speak to Laerta

    Observed
    Laerta does not acknowledge that Gervisse is dead. The quest is not completed and the journal is not updated.

    Expected
    Laerta should acknowledge that Gervisse is dead. The quest should be completed and the journal should be updated.
Sign In or Register to comment.