Skip to content

[(BG1) RESTORATION REQUEST] Noble and Noblewoman in Winthrop's Inn) (0813)

cmorgancmorgan Member Posts: 707
edited August 2012 in Fixed
VERSION: Build 0629

Current Behavior: Speaking to the Nobleman in Winthrop's Inn has a single line about being left alone play. Noblewoman has nothing to say.

Expected Behavior (Vanilla): Working as intended. BG and BG:EE match.

Requested Behavior: Restore content blocked by incorrect state weighting in original file.

[Details]
Missing dialog between noblewoman and nobleman; listed as BG Unfinished Business
http://forums.pocketplane.net/index.php/topic,28111.msg329459.html and several other sources.

[Focus]
AR2616 .cre NOBL4 dialog NOBL4.DLG
AR2616 .cre NOBW4 dialog NOBW4.DLG

Content is already in place and complete, but dialog is incorrectly weighted, resulting in the default ~True()~ playing instead on NOBL4, and default "nothing to say to you" playing on NOBW4.

Evidence that this is unintended: NOBW4 state 5 reads as a standard "Go away", but has no link or condition allowing it to play or be touched by any other state. Both files are fully formed and working if the states are reordered and NOBW4 state 5 is given conditions and allowed to play. The dialog allows backstory on protagonist's knowledge about Candlekeep. Bigest red flag: any time a .cre that has a .dlg assigned gets clicked on and says the default "nothing to say" string, it is usually because something is not working as intended.

Suggested solution:
Please do not change file structure, but add WEIGHT #1 ~True()~ as condition to state 5 NOBW4.DLG
Please do not change file structure, but reweight state 9 NOBL4.DLG to WEIGHT #2 and state 0 NOBL4.DLG to WEIGHT #1

The result should be that the original content is restored; charmed responses trump all, then the initial conversation, then the "I have already talked to you" response.

[Resources]
BG:EE files apear to be structurally the same, but I have not corrected for the new dialog.tlk yet, so there is no winmerge diff to show. But vanilla files from BG (original 5CD edition patched with TotSC (yes, i am that old):
edit: cross-game content confirmed. BG:EE parsed using bg1.tlk shows identical structures and string contents.

/ creator : DLTCEP_enhanced_WeiDU (version 23100)
// argument : NOBW4.DLG
// game : .
// source : ./DATA/DIALOG.BIF
// dialog : ./dialog.tlk
// dialogF : (none)

BEGIN ~NOBW4~

IF ~~ THEN BEGIN 0 // from:
SAY ~Oh yes darling, they are MOST standoffish. ~ /* #7769 */
IF ~~ THEN REPLY ~They lead a somewhat cloistered life here, so they are unaccustomed to many visitors. You are perhaps a bit...colorful compared to what they are used to.~ /* #7773 */ GOTO 1
IF ~ReactionLT(LastTalkedToBy(),FRIENDLY_LOWER)
~ THEN REPLY ~Watch your tongue! This was my home for a good part of my life and I'll not have you slighting them in their own keep!~ /* #7774 */ GOTO 2
IF ~ReactionGT(LastTalkedToBy(),NEUTRAL_UPPER)
~ THEN REPLY ~Watch your tongue! This was my home for a good part of my life and I'll not have you slighting them in their own keep!~ /* #7775 */ EXTERN ~NOBL4~ 2
IF ~ReactionLT(LastTalkedToBy(),FRIENDLY_LOWER)
~ THEN REPLY ~Oh, I would not let it concern you, milady. Perhaps they are not used to wealth such as yours. You are quite wealthy, are you not? Bring a lot of expensive jewelry with you?~ /* #7776 */ EXTERN ~NOBL4~ 4
IF ~ReactionGT(LastTalkedToBy(),NEUTRAL_UPPER)
~ THEN REPLY ~Oh, I would not let it concern you, milady. Perhaps they are not used to wealth such as yours. You are quite wealthy, are you not? Bring a lot of expensive jewelry with you?~ /* #7777 */ GOTO 3
IF ~~ THEN REPLY ~Perhaps they have not been as welcoming as they could have, but you ARE strangers in their home.~ /* #7778 */ EXTERN ~NOBL4~ 6
END

IF ~~ THEN BEGIN 1 // from: 0.0
SAY ~Colorful? Dear, perhaps we should dress a little more plainly to fit in? ~ /* #7770 */
IF ~~ THEN EXTERN ~NOBL4~ 1
END

IF ~~ THEN BEGIN 2 // from: 0.1
SAY ~Well! At least the monks were QUIET in their condemnation. Hrmph! ~ /* #7771 */
IF ~~ THEN EXTERN ~NOBL4~ 3
END

IF ~~ THEN BEGIN 3 // from: 0.4
SAY ~Perhaps that was it? It may have looked as though we were showing off. I'm going to lock all my jewelry back in the room dear, so I don't offend them again.~ /* #7772 */
IF ~~ THEN EXTERN ~NOBL4~ 5
END

IF ~StateCheck(Myself,STATE_CHARMED)
~ THEN BEGIN 4 // from:
SAY ~Oh! Though I find you quite lovely, I don't think Thurston would really want me cavorting with strangers.~ /* #7779 */
IF ~~ THEN EXIT
END

IF ~~ THEN BEGIN 5 // from:
SAY ~I'd much prefer it if you would leave me be!~ /* #9130 */
IF ~~ THEN EXIT
END

// creator : DLTCEP_enhanced_WeiDU (version 23100)
// argument : NOBL4.DLG
// game : .
// source : ./DATA/DIALOG.BIF
// dialog : ./dialog.tlk
// dialogF : (none)

BEGIN ~NOBL4~
//////////////////////////////////////////////////
// WARNING: this file contains non-trivial WEIGHTs
//////////////////////////////////////////////////

IF WEIGHT #3 /* Triggers after states #: 7 9 even though they appear after this state */
~NumTimesTalkedTo(0)
!Dead("Noblewoman4")
~ THEN BEGIN 0 // from:
SAY ~Step up to the heat young one. You'll NEED a good fire to warm the chill stares of those monks. Most inhospitable, they are. Isn't that so, Lovey?~ /* #7762 */
IF ~~ THEN EXTERN ~NOBW4~ 0
END

IF ~~ THEN BEGIN 1 // from:
SAY ~It's worth a try my dear, although our clothes may only be the half of it. They certainly couldn't react any worse than they have. I thank you for the suggestion <<CHARNAME>> and for putting it tactfully. Good eve to you.~ /* #7763 */
IF ~~ THEN EXIT
END

IF ~~ THEN BEGIN 2 // from:
SAY ~I am quite sure we meant no insult. 'Tis just that we have come a long way to be treated in such an unwelcome manner. I would think the value of the entrance fee should buy you a touch more than a night at the Inn and a glaring stare as you flip through the odd tome. ~ /* #7764 */
IF ~~ THEN EXIT
END

IF ~~ THEN BEGIN 3 // from:
SAY ~Indeed Lovey. You may have lived here , but from your tone I wager you've forgotten much of the tact they should have taught. Leave us please.~ /* #7765 */
IF ~~ THEN EXIT
END

IF ~~ THEN BEGIN 4 // from:
SAY ~I shouldn't answer that, Lovey. Seems as though this scoundrel might be trying to get a bit too familiar. Sizing up the potential loot, I should think. Best that you move along, lest the local constabulary gets involved.~ /* #7766 */
IF ~~ THEN EXIT
END

IF ~~ THEN BEGIN 5 // from:
SAY ~A capital idea Lovey. Perhaps I should do the same? Leave the finery under lock and key whilst we brush up on our reading? I can think of no safer a place than here. I doubt very much that a scoundrel would pay the book fee into this place to burgle the Inn. Laughable!~ /* #7767 */
IF ~~ THEN EXIT
END

IF ~~ THEN BEGIN 6 // from:
SAY ~Perhaps. But if they wish no one to enter it is a simple matter of not letting anyone enter at all. 'Twould certainly be a shame if they did, though. Such a storehouse of knowledge has limited use if no one can use the stored knowledge. Ah well....'tis cozy enough here by the fire to wash away any troubles I otherwise have with the place. ~ /* #7768 */
IF ~~ THEN EXIT
END

IF WEIGHT #0 ~StateCheck(Myself,STATE_CHARMED)
~ THEN BEGIN 7 // from:
SAY ~It is obvious what you need my good friend. Living in this library fortress must leave you with little in the way of monetary funds. Here, take this 20 gold; It is but a trifle to me, but I'm sure it'll put you on the right track.~ /* #7780 */
IF ~~ THEN EXIT
END

IF ~~ THEN BEGIN 8 // from:
SAY ~I think you should be going before you end up scaring the missus.~ /* #9138 */
IF ~~ THEN EXIT
END

IF WEIGHT #2 ~True()
~ THEN BEGIN 9 // from:
SAY ~I'm sorry, but my wife and I would like some time alone; isn't that right lovey?~ /* #15429 */
IF ~~ THEN DO ~~ EXIT
END
Post edited by Bhryaen on
«1

Comments

  • cmorgancmorgan Member Posts: 707
    (Please feel free to edit, move, or remove the post if I put it in the wrong place/wrong category)
  • BalquoBalquo Member, Developer Posts: 2,746
    edited June 2012
    Nice one :) I already posted here: http://forum.baldursgate.com/discussion/357/bug-nobles-fullers-extra-dialogue/p1 but your post is much more informative. I also mention the missing Fuller dialogue. Maybe you could make another post for Fuller, that is just as informative ;)

    EDIT: Your title says Friendly Arms Inn ;)
  • cmorgancmorgan Member Posts: 707
    On it - thanks for the link - I am struggling to parse out what has already been reported and what is not. If I duplicate, someone flag it so I can delete, please - the thing I hate worse than an uninformative bug report is multiple bug reports for the same issue :D
  • AndreaColomboAndreaColombo Member Posts: 5,533
    @cmorgan - duplicates happen, don't worry too much about them. When it happens, just edit your thread's title to report that it is a duplicate for the devs' convenience :-)
  • cmorgancmorgan Member Posts: 707
    @Balquo - heh... someday I will get my drafts in order *before* I post! Thank you - fixing now...
  • cmorgancmorgan Member Posts: 707
    @Balquo, your original post has good detail, with the Dudleyville list of specific fixes posted - I can expand on the dudleyville stuff in that link, if you want more. But I think you have it covered much more succinctly.
  • BalquoBalquo Member, Developer Posts: 2,746
    edited June 2012
    @cmorgan Sounds good. In fact I think I'll remove the noble stuff from my post and make it Fuller only.

    EDIT: My thread is now updated. If you have anything extra to add then go for it :)
    Post edited by Balquo on
  • CamDawgCamDawg Member, Developer Posts: 3,438
    Just tacking this on here rather than making a new thread

    No Valid replies for noble couple at Candlekeep

    This is only for the broken Dead() trigger;

    Current Behavior

    At Winthrop's Inn in the prologue, the nobleman's dialogue can be passed off to a dead creature.

    Desired Behavior

    The nobleman's Dead() trigger in state 0 is checking the wrong DV for his wife. She's "noblewom" not "Nobelwomen4". Patching her cre file (nobw4.cre) or his dialogue (nobl4.dlg) will fix this. A more robust fix would also include a StateCheck to make sure she's not sleeping or otherwise incapacitated.
  • CamDawgCamDawg Member, Developer Posts: 3,438
    This should do it:
    <<<<<<<< nobles.d
    ADD_STATE_TRIGGER NOBW4 5 ~True()~

    SET_WEIGHT NOBL4 0 #1
    REPLACE_STATE_TRIGGER NOBL4 0
    ~Global("CDNoRepeat","LOCALS",0)
    !Dead("Noblewom")
    !StateCheck("Noblewom",STATE_SLEEPING)~
    ADD_TRANS_ACTION NOBL4 BEGIN 0 END BEGIN END ~SetGlobal("CDNoRepeat","LOCALS",1)~
    >>>>>>>>

    COMPILE ~nobles.d~
    This makes one other change--if you talked to the nobleman and the noblewoman wasn't available for dialogue, you'd never see the dialogue on subsequent chats due to his NumTimesTalkedTo(0) trigger. I've swapped this with a local variable so it'll always be available but only play once.
  • Avenger_teambgAvenger_teambg Member, Developer Posts: 5,862
    edited July 2012
    Original dialog strref has 'NAME' instead of 'CHARNAME'. Take care when not using the full patch.
  • cmorgancmorgan Member Posts: 707
    edited July 2012
    @Avenger_teambg - Sorry - I missed that - could you point me to what you are talking about, please?

    Hold on... strange. No, in the clean, unmodded, vanilla install of the Interplay distributed three-disc set of Baldur's Gate The Original Saga Version 1.3.5521 (3-CD version) I have the line with a malformed token, where <<CHARNAME>> should be


    and then I have this in state 3 of NOBL4.dlg

    IF ~~ THEN BEGIN 3 // from: SAY ~Indeed Lovey. You may have lived here <NAME>, but from your tone I wager you've forgotten much of the tact they should have taught. Leave us please.~ /* #7765 */ IF ~~ THEN EXIT END
    ... which does not match the above. Odd.

    OK, the two sttref changes would be

    <<CHARNAME>> should be

    may be able to be retained (though it might be better to use or or something.
    I am reposting. Don't know how became blank (I see the space for it, right before the comma, but it doesn't show up. Odd.)

    HEY! It isn't the code, it is the *forum software*! If I type < N A M E > it will show up, but if I type it tries to parse it!

    Even under < pre > tags, it refuses to show it. We really, really need a code tag on the forum if we don't want all of the dialog tokens in our reports to magically disappear... to whom do we send requests for that?

    Post edited by cmorgan on
  • Avenger_teambgAvenger_teambg Member, Developer Posts: 5,862
    edited July 2012
    Well, it is easier for me this way:
    Matching dialogs...
    NOBL4
    State #3 uses strref #7765 as actor text
    Done.

    And yeah, i didn't even notice your post was nibbled on by the forum software. So the warning is even valid for when someone just cut/pastes your fix. Though, the text doesn't really need that charname there, so it is just a weird space before the comma.
  • cmorgancmorgan Member Posts: 707
    OH!!! Sorry, @Avenger_teambg, for the confusion - I didn't post a formal fix, I just posted the decompiled .dlg files for the devs to write the fix. It went up before @CamDawg started posting actual fixes instead of pointers. I should put up the fix, instead of describing it and showing the evidence for the need for the fix :)
  • Avenger_teambgAvenger_teambg Member, Developer Posts: 5,862
    Ah, ok. I totally mistook it for a fix posting.
  • WispWisp Member Posts: 1,102
    edited July 2012
    @cmorgan
    You can use <code> to slightly better effect. And you have these yellow lines all through your text.
  • cmorgancmorgan Member Posts: 707
    heh. Wierd effect. Even harder to read!
  • CamDawgCamDawg Member, Developer Posts: 3,438
    Oh, for FSM's sake. Can someone tell Vanilla to add a
    code {display:block;}
    to the CSS so we can get some usable code boxes?
  • cmorgancmorgan Member Posts: 707
    I foresaw this in my pasta at dinner this evening ;)
  • SethDavisSethDavis Member Posts: 1,812
    Potentially fixed - The dialog options have been restored - Pending talking to charmed creatures
  • TanthalasTanthalas Member Posts: 6,738
    Confirmed Fixed in Build 0815

    I'm not entirely sure what the supposed behaviour is but:

    1. The Noblewoman now has a line.
    2. Talking to the Nobleman now gives you a different dialogue that triggers a response from Noblewoman that gives you 4 options, selecting any of those 4 options gives you additional text.
    3. Talking to the Nobleman a second time gives you the leave me alone text.
    4. If I CTRL+Y the Noblewoman, the Nobleman gives me the first line but the Noblewoman dialogue is not triggered (not sure if this matters because if you kill anyone here they're all supposed to go hostile anyway).
  • CuvCuv Member, Developer Posts: 2,535
    I always thought it would be funny to throw a 'dead' check in all the commoner dialogues and if you did ctrl+y someone with a spouse... the partner would accuse you of being rude and scream "Cheater!" "Guards!! Cheater!"

    Confirmed Fixed as @Tanthalas noted. Did the same thing and it didnt look too odd with killing the noblewoman with the dialogue just cutting off.
  • cmorgancmorgan Member Posts: 707
    @Cuv, @Tanthalas - Cool - now try charming the nobleman - he should give you some money!
  • TanthalasTanthalas Member Posts: 6,738
    @cmorgan

    Unfortunately, there's still that BG2 problem where you can't talk to charmed creatures.
  • cmorgancmorgan Member Posts: 707
    Side note - something in the dev process of approving fixes has resulted in this harmless cosmetic error on NOBW4.d:

    IF ~ !StateCheck(Myself,STATE_CHARMED)
    !StateCheck(Myself,STATE_CHARMED)
    ~ THEN BEGIN 5 // from:
    SAY #9130 /* ~I'd much prefer it if you would leave me be!~ */
    IF ~~ THEN EXIT
    END
  • BhryaenBhryaen Member Posts: 2,874
    @cmorgan
    Does this need a new round of fixin or can that be handled separately?
  • cmorgancmorgan Member Posts: 707
    @Bhryaen, I don' t know -

    technically, if one is true the other is true, so having twin conditions isn't technically a bug - just messy.

    If it is part of the patching setup the devs have, then they have a problem, as two things are doing the same fix, which in programmer-land=bad news - and someone official should be checking why this has happened.

    If it is that someone accidentally fixed this with an ADD_STATE_TRIGGER instead of leaving it alone, or did two ADD_STATE_TRIGGERs, then it is no big deal (if the patch is now applied and will not be withdrawn in the approval process). Just fix it again with an REPLACE_STATE_TRIGGER.

    We modders have it easier than the pros. When we fix something in our development, we can toss it up on GitHub, and if we aren't sure we can fork to a testing branch. When we merge branches, we move on. We don't care if our patch is approved by a third or fourth party; even in teams, usually we can just proceed. These folks have a different model they have to follow, which can lead to fixes being applied and then rolled back somewhat piecemeal, or even lost temporarily.
  • BhryaenBhryaen Member Posts: 2,874
    @SethDavis
    Erm... what he said... I guess. Anything to be concerned with on this one?
  • SethDavisSethDavis Member Posts: 1,812
    Hmmm, it's possible that someone had physically edited a copy of the dlg and set it to be imported while someone else did it through code.

    Removing the duplicated line works without having another one added, so it shouldn't be something awful going on.
  • BalquoBalquo Member, Developer Posts: 2,746
    @cmorgan
    Charming works but he gives you 20 gold every time you talk to him. Should this not be a one time deal?
  • mister_ennuimister_ennui Member Posts: 98
    edited September 2012
    @Balquo

    This particular line of charm dialogue also appears to be bugged in vanilla BG. If you speak to the charmed nobleman multiple times, he will say each time that he is giving you 20 gold pieces "to put you on the right track". However, in vBG at least, he never actually gives you any gold (even the first time he says the charm dialogue line).

    The correct behaviour would probably be that he only says he is giving you the 20 gold the first time you talk to him while he is charmed and that he also actually gives you the money.
Sign In or Register to comment.