Delin conversation bugged?

NOTICE: This forum is archived as read only.
Please use the Github Discussions at https://github.com/exult/exult/discussions
Forum rules
NOTICE: This forum is archived as read only.
Please use the Github Discussions at https://github.com/exult/exult/discussions
Locked
Jhonny

Delin conversation bugged?

Post by Jhonny »

I'm sorry to bother all of you.
I've talked to everybody in fawn's area(fellowship members included)
I can't inquire delin about batlin.
The dialogue option is missing..
How can i fix this?
Jhonny

Re: Delin conversation bugged?

Post by Jhonny »

Oh dont' bother i saw that is a unused dialogue and it has to be set
Sorry
Knight Captain
Posts: 1219
Joined: Thu May 14, 2020 1:34 pm

Re: Delin conversation bugged?

Post by Knight Captain »

The Cutting Room Floor (https://tcrf.net/Ultima_VII_Part_Two:_S ... _On_Batlin) says that Flag 342 (0x156) has to be set for the conversation option to come up.

It's not listed on the StrategyWiki SI Flag list (http://strategywiki.org/wiki/Ultima_VII ... /Flag_List) nor in the si_gflags.uc file in the SIfixes code, but it does work.

Is there a central repository for SI global flags?
Jhonny

Re: Delin conversation bugged?

Post by Jhonny »

It's the same site that i mentioned.
So is not flag 156(set or unset wasn working) but 342?
Again thank you my friend
Knight Captain
Posts: 1219
Joined: Thu May 14, 2020 1:34 pm

Re: Delin conversation bugged?

Post by Knight Captain »

Yes, the flags in the game code and some lists are in hexadecimal, which uses 0-9 and then A-F for 10-15, giving you a base 16 count. So any flags you see with letters or otherwise don't work for you can be converted by:

Using the older Windows Calculator program in Scientific Mode. Set the radio button to Hex, put in the code, and click the radio button for Dec for decimal.

Ask Google: 0x156 to decimal
The 0x is to indicate hexadecimal.

You're welcome Jhonny. :)
Knight Captain
Posts: 1219
Joined: Thu May 14, 2020 1:34 pm

Re: Delin conversation bugged?

Post by Knight Captain »

From the other flags in the list, it would seem this should have been set by Jendon. It might have also been part of some lost cut of the Fawn Trial scene, where asking about the accursed Fellowship is brought up.

Otherwise, Delphynia may also be a reasonable NPC to have set it. She does direct the Avatar to Delin if Batlin comes up.

From my flag notes:
339 153 (not-in-usecode) Beta: jendonsaidfellowship
340 154 (not-in-usecode) Beta: jendonsaidgoblins
341 155 Asked_Jendon_About_Gwenno Checked during the Trial scene, jendonsaidlady
342 156 CanAskDelinAboutBatlin "Allows you to ask Delin about Batlin. Never set."
343 157 KnowAboutMoonShade "Asked Jendon about Moonshade. Can then ask Delin about it."
344 158 AskedAboutDaemonArtifacts "Asked Jendon about daemon artifacts. This will now be brought up during the Fawn trial."
345 159 (not-in-usecode) Beta: jendonsaidsailors
346 15A (not-in-usecode) Beta: jendonsaidstorms

Unfortunately, Jendon's original code is 1152 lines long, so reimplementing him to fix this (and perhaps the Breastplate flag bug) would be a lot of work for not much payoff. Delphynia is only 379 lines in comparison.
Knight Captain
Posts: 1219
Joined: Thu May 14, 2020 1:34 pm

Re: Delin conversation bugged?

Post by Knight Captain »

This code, which I hope makes it into SIfixes, allows you to ask Delin about Batlin if Jendon has told you about the two of them meeting, and then after you ask about the Daemon Artifacts (the next conversation item).

Code: Select all

/*  Copyright (C) 2016  The Exult Team
 *
 *  This program is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation; either version 2 of the License, or
 *  (at your option) any later version.
 *
 *  There is a very minor flag, only checked by Delin, that allows you to
 *  ask him about Batlin. It looks like it should have been set by Jendon
 *  per the flag order but that bit was removed sometime during SI's dev.
 *  Since setting flag 344 happens after asking Jendon about Batlin it is
 *  a way to check the Avatar has already knows to ask Delin about Batlin.
 *
 *  2016-07-11 Written by Knight Captain
 */

void Delin object#(0x42F) () // NPC 47
{
	if (event == STARTED_TALKING) // DoubleClick would also work here.
	{
		if (gflags[0x0158]) // 344 Ask_Delin_About_Batlin is not defined in si_flags.uc yet.
            {
            gflags[0x0156] = true; // 342 AskedAboutDaemonArtifacts is not defined either.
            }
    }
    Delin.original();
}
Knight Captain
Posts: 1219
Joined: Thu May 14, 2020 1:34 pm

Re: Delin conversation bugged?

Post by Knight Captain »

The same concept allows for Edrin to change his response about Siranush once the Dream Realm is completed.

Code: Select all

/*  Copyright (C) 2016  The Exult Team
 *
 *  This program is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation; either version 2 of the License, or
 *  (at your option) any later version.
 *
 *  There is a very minor flag, only checked by Edrin, that changes his
 *  response when asked about Siranush. It should have been set once he
 *  sees her for the last time, prior to the Dream Crystal being broken.
 *  This code checks if the Dream Realm has been completed, and if so it
 *  sets flag 531 (0x213). In testing you must ask about his dreams twice
 *  as he checks and sets flag 243 (0xF3) when he first speaks of her.
 *
 *  2016-07-12 Written by Knight Captain
 */

void Edrin object#(0x410) () // NPC 16
{
	if (event == STARTED_TALKING) // DoubleClick would also work here.
	{
		if (gflags[0x02DB]) // 731 Dream_Realm_Complete is not defined in si_flags.uc yet.
            {
            gflags[EDRIN_KNOWS_SIRANUSH_IS_REAL] = true; // 531, 0x213 is only checked by Edrin.
            }
    }
    Edrin.original();
}
Jhonny

Re: Delin conversation bugged?

Post by Jhonny »

Interesting good job as always my friend
By Setting the flag "on" did triggereg the dialogue option
:)
Locked