Jump to content

Discussion of tipun’s IWD mods and their integration in EET games


Recommended Posts

I've updated this to v0.6 with several modular components:

  1. Put IWD1 and IWD2 on the EET 'Campaigns' screen
  2. Static IWD1 XP adjustments for a full playthrough
  3. Adjust IWD1 creature stats for a level 1 start
  4. Add Hjollder/HoW to Athkatla (with flexible XP adjustments) *
  5. Add some IWD1 easter egg content to BG2 (with flexible XP adjustments) *

This version now matches the language choices of tipun's IWD1_EET mod,

Still to do:

  • Remove the necessity of installing the Icewind_EET mod first (though, I don't really understand why it is necessary, and thus don't understand how to remove that necessity)
  • IWD2 XP adjustments for a full playthrough (should be fairly easy, and can be refined with beta testing)
  • Adjust IWD2 creature stats for a level 1 start **
  • Add TotSC Ice Island adventure to IWD1
  • Add BP1 to IWD1

* The current five components all seem to work fine, I'm playing through the IWD1 campaign with this right now. Everything looks good in NI, but the current 4th and 5th components need proper in-game testing.

** Adjusting IWD2 creature stats is going to be a monstrous undertaking. I've been reading through a translated version of tipun's thread on the ArcaneCoast forum, hoping to spot a hint toward some shortcut, and it appears that tipun designed this version of IWD2 to be played between SoA and ToB. Well. No wonder there are 65hp goblins in the first area! Targos might as well be Amkethran.

And unfortunately there are just a lot of different .CRE files in this game! Instead of "goblin," "goblin archer," and "goblin marshal," there are about seven variations of each. Where the IWD1 creature adjustments ended up with about 130 changed .CRE files, in IWD2 I'm guessing it might be triple that number - and it will include a lot of unique and boss creatures that need individual handling. And, there is no reference to guide me, the way I could just fire up NI and inspect the IWDEE files for IWD1. This is a conundrum.

Best thought I have is to just go through all the .ARE files in NI, note the .CRE actors in each area, figure out more or less how tough enemies in that area should be (for this I actually can use the vanilla IWD2 game as reference), and then draw up lists to use in a bunch of Weidu functions. Seems like... that will be a lot of work.

Edited by subtledoctor
Link to comment

Some conceptual progress in adjusting IWD2 for a dedicated campaign: I have found that the 'CRE' folder in the IWD2_EET mod has about 1220 .CRE files in it. Every single one of them corresponds to a .CRE file in the IWD2 game, so it means tipun did not rename them. That is helpful. (I still can't believe IWD2 has so many variants of the same creatures; it seems to have done some Oblivion-style adjusting of normal critters to match the player's level, rather than adopting a BG2-style approach where you face different enemies when you level up. tipun's mod leans even further into this, adjusting even the 1st-level goblins to become supergoblins that can challenge a late-BG2 party.)

IWD2 itself has about 1,600 .CRE files in the game... I don't know why that number differs from what's in tipun's mod. But at any rate, maybe there is a shortcut here. I was going to:

  • open each IWD2 area file and note which creatures are present
  • go through all the IWD2 areas in order, to make a rough list of all creatures in a rough order that you would encounter them
  • go through an IWD walkthrough online, and see what level you are supposed to be at each area
  • put the ordered list of creatures into groups and set the stats of each group accordingly
  • ... more or less all by hand

But now I can:

  • feed the entire list of IWD2_EET creatures into a mod installed on the actual IWD2 game
  • find the relevant stats of each creature and generate a .2da table with all the data
  • write another mod which will 1) perform some conversions of BAB to thac0, increasing AC to decreasing AC, 3E saves to 2E saves, etc...
  • ...and 2) write that modified data from the .2da table onto the creatures in the IWD2_EET game

That won't be perfect; there are still discrepancies in the expected hit points of high-level creatures (2E stops giving full hit dice after level 10, 3E continues gaining hit dice ad infininitum) and in the XP rewards for dispatching high-level enemies (the 2E XP table increases kind of exponentially for a while, while 3E advancement seems to be much flatter and lower overall.

Still, if a fairly simple little Weidu mod can use good data to adjust the creatures, and some hand-tuning can be tacked on to the end of it, this project doesn't seem so outlandish. Like, it kind of takes it from the realm of "not likely" to "doable soon."

As far as stats to be transferred... it doesn't matter that much, does it? These are IWD enemies. I imagine hit points, thac0, and armor class are like 90% of what actually matters as far as engaging the player. Saves too, if tipun has given the enemies BG2-level saves. But those can be transferred from the IWD2 fortitude/reflex/will save data, or else I can just apply values from the BG2 fighter save table based on a HD estimation from the hit point value.

Link to comment

Okay I've updated the repo to version 0.7 which adds components to rebalance IWD2 creatures and XP rewards to be suitable for playing the IWD2 campaign by itself, from level 1. I have not played it through yet, so I have no idea exactly how well it is rebalanced; only playtesting will lead to the refinements that will make it work really well.

I still need to make a small component to remove the super OP weapons from the tombs in HoW's Burial Isle; I think I need to use the FJ_ARE_STRUCTURE function for this, but I am not really proficient in that function, which seems rather complex. I've checked in Near Infinity and this is what needs to be removed:

  • Area: ID9400.ARE
  • remove "biron.itm" from "container 2" i.e. "tomb 3"
  • remove "svian.itm" from "container 3" i.e. "tomb 4"
  • remove "young.itm" from "container 4" i.e. "tomb 5"

If anyone is adept with doing this sort of thing I would love an assist.

Edited by subtledoctor
Link to comment

fj_are_structure isn't what you want; that's for adding entire top-level structures like containers. Or deleting them. For items within containers in areas...

Quote

DELETE_AREA_ITEM: deletes all matching items from an area. Regexp allowed. This is a PATCH macro and function.

  • SPRINT item_to_delete to the item you want to delete.

 

Just running a search through the documentation here. That looks like what you need here.

Quote

REPLACE_AREA_ITEM: replaces all matching items in an area with another item. Regexp allowed. This is a PATCH macro and function.

  • SPRINT old_item to the item you want to be replaced
  • SPRINT new_item to the new item
  • SPRINT flags to flags the new item should have (usual weidu syntax: STOLEN, IDENTIFIEDSTOLEN, etc). Default - no flags.
  • SET charges1 to amount in stock/number of charges of first magical ability (default 0)
  • SET charges2 to number of charges of second magical ability (default 0)
  • SET charges3 to number of charges of third magical ability (default 0)

And the last of them.

Quote

ADD_AREA_ITEM: adds an item to a container of an area. This is a PATCH macro and function.

  • SPRINT item_to_add to the item you want to add
  • SET container_to_add_to to the number of the container the item should be added to. The count starts at 1.
  • SPRINT flags to flags the item should have (usual weidu syntax: STOLEN, IDENTIFIEDSTOLEN, etc). Default - no flags.
  • SET charges1 to amount in stock/number of charges of first magical ability (default 0)
  • SET charges2 to number of charges of second magical ability (default 0)
  • SET charges3 to number of charges of third magical ability (default 0)

That should do it.

Link to comment

Okay, I've finally gone and read the entire IWD_EET thread at Arcane Coast, translated by browser. And... not really much to report. This thread even got a nod recently! And given that, I'll leave a note directly for @tipun and the rest of the crew there:

What I'm doing here is not meant in any way to change the direction of tipun's mod. Tipun is planning to add much more in-depth interactions to explain a game where Charname goes from:

  • Candlekeep
  • to Baldur's Gate,
  • to Easthaven/IWD1,
  • to Dragonspear,
  • to Athkatla,
  • to Spellhold/Underdark,
  • to Targos/IWD2,
  • to Suldenesselar,
  • to Saradush,
  • to the Throne of Bhaal.

The creature stats and XP rewards in the IWD_EET mods are hand-tailored to support that kind of game, and while some people have complained about "Oblivion-style enemy scaling" that's not really what it is. The scaling is intentionally designed for quests at certain parts of the game - just like all the enemies in different parts of the unmodded games. This is good!

When I put out a mod that changes the scaling, it is NOT because I think my scaling is better. It is only to give players a different an option to play the same content at different levels. I think players should have both options.

What tipun is making sounds very cool and I do not intend to undercut it in any way. Only to give players more options to do more things with all these great mods.

Cheers!

Link to comment

Hm… when I put Hjollder in Athkatla, he seems to talk to me as if we we in Lonelywood. I noticed one line that is something like “what are you doing in Lonelywood?” and then, more tellingly, he does not teleport the party but instead teleports away himself, leaving the party in Athkatla. 

This is similar or identical to what happens if you start a new HoW-only campaign in IWD

So I need to figure out why the standard Hjollder dialogue isn’t proceeding the way it does in Kuldahar, and the way it did in Ulgoth’s Beard when I installed tipun’s standalone HoW-in-EET mod. 

Notably, I actually installed the HoW-in-EET version of Hjollder, renaming him to a custom .CRE and .DLG, and it still behaved this way, as if I was already in Lonelywood. This leads me to suspect that the problem isn’t with the dialogue itself, but with some condition or variable being set that should not be. 

So I’ll look into it. If I get a handle on thus and then apply the fixes I identified in Dragon’s Eye and Severed Hand, then this mod could have an update soon-ish.

EDIT - okay, I have it working locally via a custom hotfix, now I just need to code it up in the integration mod, and then everything will be in very good shape!

Edited by subtledoctor
Link to comment
12 hours ago, zelazko said:

tipun's IWD1_EET
tipun's IWD2_EET
tipun's Icewind_EET
HoW_EET-001
subtledoctor IWD-EET-Integration mod
Argent77's TotLM-in-BG2EE

Would that be a correct install order?

Remove HoW_BGEE - it is a standalone mod for HoW, but IWD1 includes HoW, I can only imagine that installing both will be problematic. 

Separately, I am testing right now and HoW integration is not working with the IWD1_EET mod. At first Hjollder would not teleport me to Lonelywood - he acted as if I start a new HoW-only game with characters already in Lonelywood. I set a variable to fix that, but now Hjollder does not teleport away after bringing me there, and when I go to the Barb Camp the game thinks I’m further along than I am. (Elk Tribe people attacking Wyrm Tribe people, and conversations about following Wylfdene’s spirit. And the Glacier place is already on my map.)

So I need to figure that out before component 150 will be usable. :(

Edited by subtledoctor
Link to comment

Okay I've got a bit of a problem: I am making some alterations to GAELAN.DLG: I need to spit the player out to a new state to check for something; and if the player declines the new deal it needs to go back to the regular Gaelan dialogue. But, to get back to the right place in the normal dialogue, I need to check whether it should go back to the "not enough gold yet" states, or the "you have enough to pay the fee" states. So the last two responses to my new state look like this:

    IF ~ PartyGoldLT(15000) ~ THEN REPLY ~On second thought, I'll pay the fee instead.~  GOTO 49
    IF ~ PartyGoldGT(14999) ~ THEN REPLY ~On second thought, I'll pay the fee instead.~  GOTO 51

States 49 and 51 are existing states in the original Gaelan dialogue and this works nicely. The problem is if the player later installs the SCS component to raise the cost of the Shadow Thieves fee. SCS doesn't do a global replacement, replacing "15000" with "30000" and "14999' with "29999." SCS specifically only changes the gold values in the original dialogue states.

This means that if you have 25,000 gold, and you decline Gaelan's new offer, my new dialogue option will send you to state 51; but state 51 had a condition of ~PartyGoldGT(29999)~ so the conversation will error out with "NO VALID REPLIES OR LINKS."

Now, this is a bit academic, because I don't know why any player would decline Gaelan's new offer which is "keep your money and just give me that utterly useless bauble." But if anyone has ideas for whether I can immunize the mod from this SCS behavior I would appreciate it.

Edited by subtledoctor
Link to comment

You sure about that? Because in my reading of that SCS component, it's a global replacement. (stratagems/gameplay/spellhold_cost.tpa)

Interpreting that code:

First, set variables for the new cost numbers.

Second, do a text replacement on a bunch of tlk entries - basically, everything in the original dialogues that mentions the cost.

Third, do a text replacement on the script elements that need to know the costs. For example, "PartyGoldGT(14999) => PartyGoldGT(%actual_price_minus_one%)" and "PartyGoldLT(15000) => PartyGoldLT(%actual_price%)", which are the cases you saw potential trouble for. This looks at the whole dialogue and BCS files, not just specific numbered entries.

Finally, there's compatibility code for a couple of mods, altering dialogue they have that mentions the cost. If your mod doesn't include any new strings that directly mention the cost numbers, it won't need anything here.

Link to comment

Huh. You're right. I just checked and it actually works fine. I swear I saw at an instance of the dialogue with some values unchanged. But I guess not? Or maybe it was a test case that was installed out of order? I can't find it now.

Oh well, one less thing to worry about, which is always good!

Link to comment
Guest the_sextein

Wasn't sure where to report this but I'm using EET with Tipun's IWDEE and IWDEE 2 mods with the icewind in EET component installed and subtledoctors integration mod.  I played through baldu'rs Gate without any issues and when I left candlekeep catacombs I went to Ugeloth's Beard and there was a dude at the inn that asked me to go to the spine of the world so I stashed my gear and he teleported me without issue.  

I played Icewind dale all the way through and compleated all quests.  Only bugs I noticed was a handful of items without icons and a few odd item descriptions for magic items that hadn't been identified yet.  I did all quests and they all worked.  I had no crashes at all.  Everything went great until the end.  When I returned to easthaven and talked to the priest, the door icon to the temple didn't show up.  After a few reloads I decided to load up the auto save for the return to Easthaven and when I talked to the priest I was able to enter the temple for the final showdown.  After winning the battle, the end cinematic played and then the death animation played again and all party members were healed and were left on the floor where the portal to hell had been opened.  Problem is, there is no way to leave the area and nothing triggers my return to Ugeloth's Beard so the game has a game breaking bug after you beat the final villian of the game.  I used the command console to go back to Ugeloth's beard and when I tried to talk to the old mage he had nothing to say.  That's all I've got.  

Thing's that are not bugs but could use some improvments.  The backdrops have alignment issues where creases show up when a door is opened or shut.  The audio has been compressed so much that their is a headache inducing squealing sound that ruins the soundtrack.  These things could be fixed and I might fix the backdrops when I get the time or import Icewind Dale EE's backdrops into tipun's mod.  I'm not sure how to fix the audio though.  It looks like all the files have been named a little different and things have been changed enough to throw me off.

Link to comment

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...