Disabling the Die-Off in SI?

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
Knight Captain
Posts: 1219
Joined: Thu May 14, 2020 1:34 pm

Disabling the Die-Off in SI?

Post by Knight Captain »

If someone wanted to mod the game to disable the die-off plot-cuts in SI, how could Flag 4 be swapped out or prevented in the Batlin Wall of Lights cutscene?
Jhonny

Re: Disabling the Die-Off in SI?

Post by Jhonny »

What do you mean ?
I found a nitpick,In Bg iolo cant eat cheese cause his intollerance and in serpent isle he can.
Can that be fixed?

:D
Knight Captain
Posts: 1219
Joined: Thu May 14, 2020 1:34 pm

Re: Disabling the Die-Off in SI?

Post by Knight Captain »

I was not able to recreate that in BG.
marzo
Site Admin
Posts: 1925
Joined: Thu May 14, 2020 1:34 pm

Re: Disabling the Die-Off in SI?

Post by marzo »

He is mixing up Keyring with plain BG/FoV.
------
Marzo Sette Torres Junior
aka Geometrodynamic Dragon
[url=http://www.catb.org/~esr/faqs/smart-questions.html]How To Ask Questions The Smart Way[/url]
marzo
Site Admin
Posts: 1925
Joined: Thu May 14, 2020 1:34 pm

Re: Disabling the Die-Off in SI?

Post by marzo »

FYI, the lactose intolerance thing comes from Q&I mod. In retrospect, it does not make all that much sense because the kinds of cheese made in medieval period had no lactose left.
------
Marzo Sette Torres Junior
aka Geometrodynamic Dragon
[url=http://www.catb.org/~esr/faqs/smart-questions.html]How To Ask Questions The Smart Way[/url]
Jhonny

Re: Disabling the Die-Off in SI?

Post by Jhonny »

Thanks for the information,I didn't knew :O
Knight Captain
Posts: 1219
Joined: Thu May 14, 2020 1:34 pm

Re: Disabling the Die-Off in SI?

Post by Knight Captain »

Marzo, what mod is the Q&I mod built into now? I looked at the BG keyring and didn't see the spot where this lactose intolerance thing happens.

As for the die-off, it looks like this is the main bit:
void Func07D8 object#(0x7D8) () // killEveryone
Knight Captain
Posts: 1219
Joined: Thu May 14, 2020 1:34 pm

Re: Disabling the Die-Off in SI?

Post by Knight Captain »

How do I check what the current (non-scheduled) activity of an NPC is? For example, if someone is IN_COMBAT but that's not part of their usual schedule.
Knight Captain
Posts: 1219
Joined: Thu May 14, 2020 1:34 pm

Re: Disabling the Die-Off in SI?

Post by Knight Captain »

Looks like using NPC->clear_item_flag(POLYMORPH) does not revert the shape used for the NPC like the set_polymorph documentation says it should. The command NPC->set_polymorph(int shape) does work, however.
Knight Captain
Posts: 1219
Joined: Thu May 14, 2020 1:34 pm

Re: Disabling the Die-Off in SI?

Post by Knight Captain »

By replacing object(0x7D8) which is responsible for the Banes' slaughter, and unsetting flag 4, then setting a new flag 904, I can start reassembling the post-Batlin game. My goal is to make the three Banes rule over each of their towns as the intended storyline meant to do.

So far I have polymorphs set for each NPC in Monitor, and am planning new schedules and conversations, as well as quests to undo the effects of the Banes' rule and restore balance to the towns. I also need to write each NPCs conversations post-Batlin and after the local Bane has been kicked out of town.

I don't want to ruin surprises, but am open to suggestions.
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: Disabling the Die-Off in SI?

Post by Dominus »

Sounds like quite some work you've placed before you
--
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!
Knight Captain
Posts: 1219
Joined: Thu May 14, 2020 1:34 pm

Re: Disabling the Die-Off in SI?

Post by Knight Captain »

Aye. Don't remind me.
Knight Captain
Posts: 1219
Joined: Thu May 14, 2020 1:34 pm

Re: Disabling the Die-Off in SI?

Post by Knight Captain »

Since the set_polymorph isn't working as intended, I am using set_item_shape and set_item_flag(POLYMORPH) to change the NPCs, and then checking against get_item_flag(POLYMORPH) to do a new set_item_shape back to the original one.
Knight Captain
Posts: 1219
Joined: Thu May 14, 2020 1:34 pm

Re: Disabling the Die-Off in SI?

Post by Knight Captain »

Is there a way to get a list of all eggs and qualities in a given area using ES?
Knight Captain
Posts: 1219
Joined: Thu May 14, 2020 1:34 pm

Re: Disabling the Die-Off in SI?

Post by Knight Captain »

I've got the 100+ eggs in Monitor cataloged. There's really only a handful of post-Batlin ones to worry about. Since so many eggs rely on Flag 4, I unset it as part of the post-Batlin events and am making new flags for this mod. Fortunately the existing eggs can be reused via the new flags.

The Bull and Fawn Towers use their own eggs, so can be done differently from Monitor Tower, which uses the same eggs as Monitor proper.
Knight Captain
Posts: 1219
Joined: Thu May 14, 2020 1:34 pm

Re: Disabling the Die-Off in SI?

Post by Knight Captain »

7 NPC schedules done.
Knight Captain
Posts: 1219
Joined: Thu May 14, 2020 1:34 pm

Re: Disabling the Die-Off in SI?

Post by Knight Captain »

How do I set a schedule that uses the Z coordinate? Say, having someone standing on the docks uses Z-2 rather than the implied Z-0 that set_new_schedules uses.
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: Disabling the Die-Off in SI?

Post by Dominus »

I think you cannot set z. If you set a schedule that uses items (e.g. Desk schedule) they "should" use these items at the z the items are at.
--
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!
Knight Captain
Posts: 1219
Joined: Thu May 14, 2020 1:34 pm

Re: Disabling the Die-Off in SI?

Post by Knight Captain »

The Great Captains in Fawn do something similar with sleep. They are set to Sleep at the Z-0 of the foot of the staircase to their second floors, going up presumably because the bed is close enough for the engine to find it.
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: Disabling the Die-Off in SI?

Post by Dominus »

Yes, that's another example
--
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!
Knight Captain
Posts: 1219
Joined: Thu May 14, 2020 1:34 pm

Re: Disabling the Die-Off in SI?

Post by Knight Captain »

It's a bummer, I had wanted to script a few upstairs spots as well. Maybe that missing bit was why the upstairs of Melino's house with the lab was removed?
Knight Captain
Posts: 1219
Joined: Thu May 14, 2020 1:34 pm

Re: Disabling the Die-Off in SI?

Post by Knight Captain »

Funny how engine limitations have an effect on the story. As you suggested to another poster, I'm going to take a step back and write new townplots so I have a master plan to work off of. Then I can look for limitations ahead of writing code that would need to be changed.

On the technical side, my single biggest question at the moment is how do I add in new Shapes with values like offsets, stats, and equipment records?

I'm also curious why Ernesto and the Silver Seed NPCs aren't real NPCs.
Knight Captain
Posts: 1219
Joined: Thu May 14, 2020 1:34 pm

Re: Disabling the Die-Off in SI?

Post by Knight Captain »

What is the correct way to add new shapes and faces?
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: Disabling the Die-Off in SI?

Post by Dominus »

Via Exult Studio, because it will add a Patch faces/shapes.vga file
--
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!
Knight Captain
Posts: 1219
Joined: Thu May 14, 2020 1:34 pm

Re: Disabling the Die-Off in SI?

Post by Knight Captain »

Is that distribution-friendly? :)
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: Disabling the Die-Off in SI?

Post by Dominus »

It actually is distribution friendly. For storing it in version control there is another way ;)
Look at the SF Island patch/mod source. The extra face and shape are stored in shp format and a script for expack creates the vga files for the patch/mod folder.

Sooo, you better use this method rather than what I wrote before ;)
--
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!
Knight Captain
Posts: 1219
Joined: Thu May 14, 2020 1:34 pm

Re: Disabling the Die-Off in SI?

Post by Knight Captain »

I'll give it a shot. How can I include item or monster attributes?
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: Disabling the Die-Off in SI?

Post by Dominus »

I never dabbled with this but probably through saving in Exult Studio. Marzo?
--
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!
Knight Captain
Posts: 1219
Joined: Thu May 14, 2020 1:34 pm

Re: Disabling the Die-Off in SI?

Post by Knight Captain »

In my earlier play with this, the SHP file is just that, the shape. The u7tech.txt file seems to indicate a lot of DAT files are involved with the non-graphic values of native shapes, including:

SHPDIMS.DAT = Shape Dimensions
WGTVOL.DAT = Weight and Volume
WEAPONS.DAT, AMMO.DAT, ARMOR.DAT, MONSTERS.DAT, are self-explanatory.

From looking in my \mods\sifixes\data folder where I've been doing all of my testing and editing, I can see a lot of small files (a few KB) that would seem to match up. So my guess is I need to start a clean dev environment for this and then make my changes there, and move the generated files to my own equivalent of the \content\sifixes\src\graphics folder?

For example, I'd like to put in the bears I made earlier as new shape numbers, although I plan on doing a few items, possibly weapons, and even NPCs as well.
Knight Captain
Posts: 1219
Joined: Thu May 14, 2020 1:34 pm

Re: Disabling the Die-Off in SI?

Post by Knight Captain »

From taking a look at the FOV, it seems the reason both expansions use spawned eggs for talking human 'monster' shapes was a workaround for the limitations of adding the expansions to existing saved games.

Maybe it would make sense to convert at least Ernesto to being a 'real' NPC?
Knight Captain
Posts: 1219
Joined: Thu May 14, 2020 1:34 pm

Re: Disabling the Die-Off in SI?

Post by Knight Captain »

prepKillEveryone object#(0x7D8) ()
kills off only 2 NPCs but moves 54 to their death location, where they are killed by
eggBaneHolocaust object#(0x6B1) ()

gflags[BANES_RELEASED] is checked in 83 spots, not counting in some egg external criteria conditions, so it's easier to unset it than try to change all of that code.
Knight Captain
Posts: 1219
Joined: Thu May 14, 2020 1:34 pm

Re: Disabling the Die-Off in SI?

Post by Knight Captain »

Since we have the option of using npc->set_usecode_fun(number) I think that will make more sense than trying to shoehorn the new in with the old.
Alexander

Re: Disabling the Die-Off in SI?

Post by Alexander »

I was hoping someone was doing this! I loved the cut plot parts of the game and would thoroughly enjoy playing a version of SI where everyone doesn't die.

Is it possible to put NPCs who never come back to Moonshade back in town (like Filbercio being a beggar, Ensorcio getting his house back, etc)?
agentorangeguy
Posts: 565
Joined: Thu May 14, 2020 1:34 pm

Re: Disabling the Die-Off in SI?

Post by agentorangeguy »

I remember something about Filbercio's speech that he mentioned wanting to live in a cabin on the beach or something to that nature, and there was that small house near the swamp where it had a basement full of water. Back in the day when he "disappeared" (sent to the dead npc / holding area) , I thought maybe he would have been sent to that house or somewhere like it.
-------------------------------------------------------------------------------------
Ultima 6 Mod for Exult site: http://www.ultima6.realmofultima.com/
Knight Captain
Posts: 1219
Joined: Thu May 14, 2020 1:34 pm

Re: Disabling the Die-Off in SI?

Post by Knight Captain »

Yes, it would be possible to change any NPC to go wherever.
Alexander

Re: Disabling the Die-Off in SI?

Post by Alexander »

There was also that cabin on the beach right near where you summon the giant turtle, and I remember naked women hanging out around there too.

For some reason, I think Filbercio would've preferred that cabin instead of the one near the swamp. :-)

Another question occurred to me. Were the Gwani all supposed to be killed off by Hazard the Trapper, or was that also a cut plot element? I don't remember reading anything about them in the original plot documents.
Knight Captain
Posts: 1219
Joined: Thu May 14, 2020 1:34 pm

Re: Disabling the Die-Off in SI?

Post by Knight Captain »

That's Cindy, the naked blonde woman who you can't interact with. The bell tower house has no roof though.

I don't recall reading anything about the Gwani post-Banes.

A bit of Usecode stuff to note:
I've identified most of the game's global flags, but not some for the Oracle's switches or Sunrise Isle, etc.
Nearly all faces, sprites, and Usecode script blocks has been added into header files that can be ported back to SIfixes, and more shapes. I've kept the same general format as SIfixes for that purpose.
A few functions, like spells, have been broken out to one file for one function.
A fair amount of eggs and other Usecode has been identified and added to si_externals. Again, keeping the same general SIfixes format.
About 50 items have been reimplemented.
About 20 pieces of utility functions have as well, and an egg or two.

Some of the larger functions, like cutscenes are incredibly complex, but much of the stuff could be useful for anyone else who might want to mod in the future.
Alexander

Re: Disabling the Die-Off in SI?

Post by Alexander »

How is this coming along? I would love to see this completed and volunteer to help in any way I can.

I have a considerable amount of dialogue from the cut plot documents if that would be helpful.
Knight Captain
Posts: 1219
Joined: Thu May 14, 2020 1:34 pm

Re: Disabling the Die-Off in SI?

Post by Knight Captain »

I announced this as a working project in January 2017, and shared a very alpha version with a few other modders. So far I have just enough coded that the die-off doesn't happen, and most of the NPCs are transformed into animals in Monitor. I'm still in the early stages, so there's no different dialog or anything interesting.

Anything you'd like to email over, I would appreciate reading. I have general ideas for what I want to do so far, with the expected overview:
Anti-Shamino takes over Moonshade, and Ensorcio returns.
Anti-Dupre takes over Monitor, and turns the clan members into their totem animals.
Mad Iolo takes over Fawn, and... Well, I have some great ideas for this part but don't want to spoil it.

If you can create artwork, like SI-style portraits, or shapes, I'd love to have help with that! I want to make some new post-Banes NPCs from the ranks of Pikemen, Rangers, and the Fawn Guard, so they can have specific actions and dialog.

I'd also like to add some additional post-Banes party members from the existing NPCs, so I also need at least three paperdolls as well. Johnson, Cantra, and Andrio should be optional party members.
Knight Captain
Posts: 1219
Joined: Thu May 14, 2020 1:34 pm

Re: Disabling the Die-Off in SI?

Post by Knight Captain »

Function 0x8EE, which uses the Avatar's location to determine which guard-type body to place, has a die roll for both Monitor and Moonshade. The Monitor one has a 25% chance of placing a female Pikeman body. The Moonshade one has a 50% chance, which is why post-Banes the body outside of Frigidazzi's house can be either. This is despite the fact that there's only a single female ranger shown alive, Julia.

This is the same function that creates the Brendann-match body shape all around Sleeping Bull instead of the standard Pikeman body.

As for Conquests, I've got down how to swap shapes, so that will make the apocalypse look more real.
Knight Captain
Posts: 1219
Joined: Thu May 14, 2020 1:34 pm

Re: Disabling the Die-Off in SI?

Post by Knight Captain »

Check that, the Monitor one is 25% chance of being a Goblin male's body. No a female Pikeman.
Gotcha!
Posts: 354
Joined: Thu May 14, 2020 1:34 pm

Re: Disabling the Die-Off in SI?

Post by Gotcha! »

I guess Cantra will be on steroids too. After Balance is restored, Shamino and Iolo should introduce her to Steroid Spark. :)
Alexander

Re: Disabling the Die-Off in SI?

Post by Alexander »

Will Cantra be able to join the party? That would be really fun.
Knight Captain
Posts: 1219
Joined: Thu May 14, 2020 1:34 pm

Re: Disabling the Die-Off in SI?

Post by Knight Captain »

Possibly. I need paperdoll art for her.
Dominus
Site Admin
Posts: 5656
Joined: Thu May 14, 2020 1:34 pm

Re: Disabling the Die-Off in SI?

Post by Dominus »

You'd just need a head for her. Everything else needs to be the lock stock female paperdoll body art (as is the case with Spark).
--
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!
Knight Captain
Posts: 1219
Joined: Thu May 14, 2020 1:34 pm

Re: Disabling the Die-Off in SI?

Post by Knight Captain »

UI_find_nearby doesn't seem to work consistently without the Avatar nearby. The same functionality is an issue with UI_find_nearby_avatar as well, as the original developers used several moves of the Avatar to do this in destroyEverythingInMoonshade object#(0x68C)

I wonder what the limit is?
Knight Captain
Posts: 1219
Joined: Thu May 14, 2020 1:34 pm

Re: Disabling the Die-Off in SI?

Post by Knight Captain »

My mod folder is now over 900 files, the base SI Fixes is under 100. This baby is growing to Boydon size.
RavynousHunter

Re: Disabling the Die-Off in SI?

Post by RavynousHunter »

Dayum, dude. Any thoughts on popping this on to SF/Github/whatever? I'm more just curious to see how all this works; haven't had much time to do anything except read because of university, and I'd love to see your work, thus far.
Knight Captain
Posts: 1219
Joined: Thu May 14, 2020 1:34 pm

Re: Disabling the Die-Off in SI?

Post by Knight Captain »

I'm not quite ready to post it all, but if there is an area you're interested in, I could email an annotated file or two.
Incriptus

Re: Disabling the Die-Off in SI?

Post by Incriptus »

A Rose & A Dagger

Enthusiasm + Discipline = Dedication
Locked