Xenka "sacrifice" talk

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
Max aka Moscow Dragon

Xenka "sacrifice" talk

Post by Max aka Moscow Dragon »

My question is to Exult guys who worked on Serpent Isle version and know the SI's Usecode:

- what Game Flag (or other conditions) govern the "sacrifice" option in a talk to Xenka?
- under what conditions it is set?

The reason is that I - and another guy too - are stuck in this situation, seems to be a stopper bug in U7SI (no, not Exult, the native engine). No "sacrifice" in talk to Xenka after talking to both Hierophants, having all serpent artifacts and the Gwani tooth.

3 walkthroughs contradict one another. According to one, "sacrifice" can appear even without a Gwani tooth (the Hazzard death subplot). According to another, "sacrifice" can appear even without having all artifacts. Talking to Balance/Chaos hierophants seem to be the only must, but, in my case, this is NOT enough. Some other thing is necessary, I do not know what.

Can somebody dig in Usecode to determine the logic of this thing?
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: Xenka "sacrifice" talk

Post by Dominus »

hm, allthough I guess you already did, read the scroll that the Chaos Hierophant leaves behind in your inventory. I saw your post in the Newsgroup as well but this is the only thing I can think of now.

I did have no problem in the original and also when I finished SI with Exult a couple of weeks ago. After the weekend I´m back home and I´ll be able to tell you more (on what I did in which order to have no problem). But I guess someone else will know the answer before me :-)
--
Read the documentation and the FAQ! There is no excuse for not reading them! RTFM
Read the Rules!
We do not support Piracy/Abandonware/Warez!
Max aka Moscow Dragon

I have read the scroll...

Post by Max aka Moscow Dragon »

...and even talked to False Chaos Hierophant in the powder maker's to repeat the talk.
What I need is the exact usecode logic of when "sacrifice" appears in talk to Xenka.
wjp
Site Admin
Posts: 1708
Joined: Thu May 14, 2020 1:34 pm

Re: Xenka "sacrifice" talk

Post by wjp »

ok, it looks like (at least) the following flags are relevant:

0x1f9 has to be set
0x25e has to be set
0x22b has to be set
0x242 has to be cleared

(ps. this is sort of intented as a note to myself so I can check where these flags are set/cleared, when I get home :-) )
Max aka Moscow Dragon

Re: Xenka "sacrifice" talk

Post by Max aka Moscow Dragon »

Thanks! Eagerly waiting for your complete result!
wjp
Site Admin
Posts: 1708
Joined: Thu May 14, 2020 1:34 pm

Re: Xenka "sacrifice" talk

Post by wjp »

0x25e: set when returning amulet to Gwani. Never cleared
0x22b: set when talking to the Chaos Hierophant. Never cleared

more coming soon... (have to go home now)
drcode
Site Admin
Posts: 2267
Joined: Thu May 14, 2020 1:34 pm

Re: Xenka "sacrifice" talk

Post by drcode »

Since you're one of the guys who wrote the Usecode assembler/disassembler, I should tell you about a couple enhancements:

The -s option tells it to decode for Serpent Isle.
The -a option, given instead of a Usecode #, causes all to be disassembled.

So, "wud -s -a static/usecode > siusecode.dis" will give you the whole thing disassembled, about 10Mb. Also, wud uses the intrinsice table from Exult, so it's up-to-date with our current knowledge.
wjp
Site Admin
Posts: 1708
Joined: Thu May 14, 2020 1:34 pm

Re: Xenka "sacrifice" talk

Post by wjp »

0x242: this one is cleared at the start of the game, and is set when healing the Chaos Serpent, it seems. (that function is a bit too complex to be 100% sure, but it sounds reasonable)

0x1f9: This is set in usecode function 0x6ac when the Serpent Staff if nearby. This function isn't called by any other usecode functions, so I guess it's called by an egg or something. 0x1f9 is never cleared.
Neutronium Dragon

Re: Xenka "sacrifice" talk

Post by Neutronium Dragon »

You can't heal the chaos serpent until you've talked about sacrifice and Dupre is dead, or did you simply mean that it's set when the proper time has arrived to start working on the subplot generally?

It sounds as though the staff one might be the key to people's problems though - if there's an egg in the serpent staff vault that sets the flag when someone enters, and the player takes the staff without approaching close enough, it wouldn't set the flag - and thus sacrifice would never appear as a conversation option. It's unlikely the player would ever go back there and accidentally set the flag later...

Unfortunately, I don't have my U7 CD available right now or I'd fire up SI and start testing this theory...

Neutronium Dragon
wjp
Site Admin
Posts: 1708
Joined: Thu May 14, 2020 1:34 pm

Re: Xenka "sacrifice" talk

Post by wjp »

> 0x242 has to be cleared

> this one is cleared at the start of the game,
> and is set when healing the Chaos Serpent

This just means that the sacrifice option will disappear after you heal the Chaos Serpent.


Re. that serpent staff egg: I'll see if I can find which egg calls that usecode function
wjp
Site Admin
Posts: 1708
Joined: Thu May 14, 2020 1:34 pm

Re: Xenka "sacrifice" talk

Post by wjp »

Yes, you were right. That egg is in the vault with the Serpent Staff. However, it's automatically called when picking up the staff.

Maybe if people used the hackmover to get the staff in the original the egg wouldn't trigger. (can't be sure, though)
Neutronium Dragon

Re: Xenka "sacrifice" talk

Post by Neutronium Dragon »

No, hackmover has nothing to do with it. I hit this sacrifice bug in the first game of SI I played when it came out, and it was long before I knew how to activate the cheats.

I had accomplished everything else necessary though, so I can't be sure why it wouldn't work.

Is it possible that the egg wouldn't trigger properly if the person tried to pick up the staff but failed (no inventory space/over the weight limit), or moved the staff to somewhere else on the ground first, or perhaps picked it up in a certain fashion? I remember that in BG, you could avoid getting flagged as stealing by trasnferring items into containers in a particular way - perhaps this flag is subject to similar problems.

Neutronium Dragon
Max aka Moscow Dragon

Re: Xenka "sacrifice" talk

Post by Max aka Moscow Dragon »

Yes, exactly this. That Egg.

See my message to rgcus on this subject.

As about stealing in BG - steal things to _Iolo's_ backpack and not yours, also - never eat food off tables.
Locked