Icewind Dale Fixpack

The Icewind Dale Fixpack is designed to fix several bugs and errors that remain in the game after the official patches have been applied. It works on with or without the expansions Heart of Winter and Trials of the Luremaster installed. In fact, many issues quietly fixed by Heart of Winter or Trials of the Luremaster have been rolled back to every version of the game.

This originally started as a component of the IWD Tweak Pack, but was broken out in to its own mod because 1) it's gotten fairly extensive on its own and 2) it should be installed right after the official patches whereas the tweaks should be last installed.

The Icewind Dale Fixpack has two components. If Heart of Winter or Trials of the Luremaster is installed, it will detect them and install relevant fixes for them as well.

Fixpack

This component contains the heavy lifting of the mod, fixing bugs and errors throughout the game. I've done my best to detail the fixes below (along with a list of files altered/added for modders); if you have any questions about these changes or to report a bug not addressed here, please feel free to come to the discussion forum and start a thread.

Random Treasure Table
Several typos and references to non-existent items in the random treasure table were fixed.

Files altered: rndtres.2da

Worldmap Fixes
The party now uses the correct entrance point when entering Wyrm's Tooth from the world map.

Files altered: worldmap.wmp

Paperdoll Fixes
The paperdoll--the image of your character on the inventory screen--was incorrect for human female clerics, thieves, and mages, as the weapon was not lining up with the character's hand.

Files altered: chfc1inv.bam, chfc2inv.bam, chfc3inv.bam, chfc4inv.bam, chff1inv.bam, chff2inv.bam, chff3inv.bam, chff4inv.bam, chft1inv.bam, chft2inv.bam, chfw1inv.bam, chfw2inv.bam, chfw3inv.bam, chfw4inv.bam

Miscellaneous Dialogue Fixes
Various syntax errors were fixed in dialogue files throughout the game. For the most part, these break simple triggers and actions which would prevent reply options and other minor issues.

  • Fixes for all Icewind Dale variants:
    • Fixed variable checks in Accalia's dialogue
    • Various creatures not properly checking for clerics in the party (fire giant, Brother Perdiem, Soth, Edion Caradoc)
    • Removed broken and unnecessary attack commands from several dialogues
    • Mirek was not properly tracking variables, namely where the party had visited
    • Fixed dialogues for several creatures not properly tracking how many times they have spoken to the party
    • Characters with high charisma and intelligence should have a chance to bluff when speaking with Seth
    • Your journal indicates you give the Journal of Evayne to Larrel, but the party actually retained it
    • In one branch of Norl's dialogue, asking him about his legs was taking you to the wrong response
    • Brother Perdiem no longer gives his full spiel every time you speak to him after freeing him
    • Tarnelm was checking for the wrong item in some triggers, preventing the party from giving him potatoes
  • Fixes for non-HoW games:
    • Custhantos was failing to give the party the book 'Ancient Lore on Labelas Enoreth' due to a broken action
    • Fengla the slave girl was not properly checking for the death of the watchtower foes
    • Brother Ferg was not properly setting variables in his dialogue
    • Ginafae and Tarnelm were failing to take items from the party due to broken actions
    • Marchon of Waterdeep's dialogue had some broken variable checks
    • Gaspar in Easthaven had a non-sequitur transition when discussing the caravan contract
  • Fixes for HoW games:
    • Wylfdene were failing to set variables due to typos
    • An item check for Icasaracht was failing due to a typo
    • When returning from the Seer, Hjollder would tell the party to go confront Wylfdene if they had the mirror. If the party had upgraded the mirror with Tiernon, Hjollder's dialogue would unexpectedly end instead of telling you to go confront Wylfdene.
    • If you initially speak to Hjollder and either 1) back out at the last minute, or 2) accept but get denied due to a low level, the spirit summoned via the Contact Other Plane spell would give responses as if the party had started Hjollder's quest.
  • Fixes for TotL games:
    • Rikasha had several typos in his variable handling that was preventing variable setting and checking

Files altered: daccalia.dlg, dbandoth.dlg, dcusthan.dlg, ddenaini.dlg, dedion.dlg, dfengla.dlg, dferg.dlg, dfgg.dlg, dfrostbi.dlg, dgareth.dlg, dgaspar.dlg, dgina2.dlg, dgntgrd.dlg, dgoblinc.dlg, dgorg.dlg, dhjollde.dlg, dicasa.dlg, djoril.dlg, djorilbg.dlg, dkayless.dlg, dlarrel.dlg, dlehland.dlg, dlethias.dlg, dmarch.dlg, dmirek.dlg, dnorl.dlg, dorcchie.dlg, dorogchi.dlg, dorrick.dlg, dosentry.dlg, dperdiem.dlg, dplanar.dlg, drikasha.dlg, dserrhya.dlg, dseth.dlg, dsoth.dlg, dtarnelm.dlg, dtealnis.dlg, dvalesti.dlg, dvera.dlg, dwylf.dlg

Saablic Tan Quest Fixes
Saablic Tan was checking for the wrong file when asking for Krilag's badge. Neo-orog generals were setting variables upon their deaths that would indicate that Krilag was dead, also causing problems with Saablic Tan.

Files altered: dsaablic.dlg, neoorogg.cre

Valesti Fixes (non-HoW)
Valesti had syntax errors in his dialogue that are fixed. His dialogue is also expanded to mirror his dialogue in Heart of Winter, where he now leaves the Arboretum once it's been fully restored.

Files altered: dvalesti.dlg

Mytos Infinite Experience Exploit
On the first floor of Kresselack's tomb you can try to avoid violence (and gain XP) when speaking with Mytos. The dialogue was structured such that you could try this repeatedly and receive XP every time. This exploit is now closed.

Files altered: dmytos.dlg

Dirty Llew Dialogue Fixes
Dirty Llew had a myriad of issues in his dialogue. He is supposed to offer better deals to females based on their charisma; various calls in his dialogue to open his store failed due to typos; and his ability to make umber hulk armor from hides was never presented due to bad weighting and a broken trigger.

Files altered: ddirtyll.dlg

Bugs with Dragon's Eye
Several dialogues had problems with freeing the villagers and defeating the Talonites and lizard men. Sister Callian was not commenting on Mother Egenia being freed; villagers and kids on the level were not realizing they were free; and the final girl who gave you experience for freeing them on level one could occasionally have a broken 'no valid links or replies' dialogue. Several script issues were also addressed, such as lizardmen not turning neutral and the villagers not leaving after they were freed.

Files altered: 4001lkl.bcs, 4001vil.bcs, dcallian.dlg, dcapkid2.dlg, dcapvil2.dlg, dckquest.dlg

Bandoth Razorvine Extract Quest Fixes
Bandoth's dialogue and his razorvine extract quest underwent major fixes. The quest could be ended randomly or prove unavailable under a variety of circumstances. The fix entailed changes to his dialogue and a few other scripts. Bandoth's advice for the puzzle room was also never available due to some bad variable checks and weightings.

Files altered: ar6003.bcs, dbandoth.dlg

Player Script Fixes
A couple of the scripts that the player could use for their party had broken bits. The Cleric Aggressive script will now check for and cast Magic Stone if it's available. The Wizard Aggressive, Wizard Defense, and Wizard Berserk scripts will now check for and cast Larloch's Minor Drain if it's available.

Files altered: cleric1.bs, mage1.bs, mage2.bs, mage4.bs (these files may be different for non-English versions)

Scripts Not Properly Checking for Creature Death
A very common problem encountered throughout the game was the incorrect usage of triggers to detect if a creature is dead or not. Because the trigger only accepts 'scripting names' and not objects (i.e. Player1), many of these triggers had to be worked around by using a custom state check. A new entry is added to the state list and non-working dead triggers throughout the game are fixed.

Files altered: 2004chef.bcs, 2100mirk.bcs, 4001lk.bcs, 4001ls1.bcs, 4001v9.bcs, 4003blst.bcs, 4003udlt.bcs, bamebd.bcs, bcatkgob.bcs, bcatkskl.bcs, bchjol0.bcs, bchjol0.bcs, bcjorn.bcs, bcjorn.bcs, cajshah1.bcs, cajshah3.bcs, cajshah4.bcs, cajshah5.bcs, d2talon3.bcs, d2talon3.bcs, d2talon4.bcs, d2talon4.bcs, d4alb.bcs, d4cleric.bcs, d4fight1.bcs, d4hirit.bcs, d4hisum.bcs, d5girl.bcs, d5hibap.bcs, d5hitort.bcs, d5yxung.bcs, duhero3.bcs, duhero5.bcs, dummtalk.bcs, eeeverar.bcs, eeevetpl.bcs, eepomsen.bcs, efbstskl.bcs, efdlgc.bcs, efdlgcc.bcs, efdlgf.bcs, efdlgfc.bcs, efdlgm.bcs, efdlgmc.bcs, efdlgpc.bcs, efdlgpcc.bcs, efdlgpf.bcs, efdlgpfc.bcs, efdlgpm.bcs, efdlgpmc.bcs, eftrolg.bcs, eftwnchk.bcs, ehaccali.bcs, ehdamien.bcs, eheverar.bcs, ehhero1.bcs, ehhroth.bcs, idpbsprt.bcs, iljorn.bcs, iljornhl.bcs, ilsahep1.bcs, ilsahep1.bcs, ilsahhp1.bcs, ilsahp1.bcs, ilsahp1.bcs, ilsahp2.bcs, ilsahp2.bcs, ilsahup1.bcs, ilxactil.bcs, keraksha.bcs, kphermit.bcs, ktmytos.bcs, kuarund.bcs, kuarund1.bcs, kuarundd.bcs, ldbeorn.bcs, lddrowcm.bcs, ldfeng2.bcs, ldfgntg.bcs, ldguell2.bcs, ldhark.bcs, ldilmad.bcs, ldmalvon.bcs, ldmarkth.bcs, ldperd.bcs, ldpoque1.bcs, ldrebsal.bcs, ldseth.bcs, ldshik.bcs, ldsimmal.bcs, ldtarnel.bcs, lwemmrh.bcs, lwhjolo.bcs, lwquin.bcs, lwshar1.bcs, lwshar1.bcs, lwshar2.bcs, lwshar2.bcs, lwshar3.bcs, lwshar3.bcs, lwwarew.bcs, nelurmst.bcs, nwlurmst.bcs, scseer.bcs, secrie13.bcs, secrie2.bcs, selurmst.bcs, shelfc1.bcs, shelfc1.bcs, shelfc2.bcs, shelfc2.bcs, shelfcs1.bcs, shelfcs1.bcs, shelfps1.bcs, shelfps1.bcs, shorcsh1.bcs, shorcsh1.bcs, shsevhl1.bcs, shshdsd1.bcs, shshdsd1.bcs, shshdwz1.bcs, shshdwz1.bcs, shshdwz2.bcs, shshdwz2.bcs, shshdwz3.bcs, shshdwz3.bcs, shshthl1.bcs, state.ids, swlurmst.bcs, tgacold.bcs, tgverbd.bcs, udnorlin.bcs, udorogse.bcs, vslysan.bcs, vstherik.bcs, wtguard.bcs, wtkontik.bcs

Miscellaneous Script Fixes
Like Miscellaneous Dialogue Fixes, this fixes various syntax errors in scripts throughout the game.

  • Fixes for all Icewind Dale variants:
    • Fixed broken DV reference in a trap for the Snowdrift Inn
    • Townsperson in Kuldahar was supposed to open doors, but was failing due to improper targets
    • Several blind and unconscious deep gnomes were supposed to disappear after Malavon was defeated, but a typo was preventing it
    • Area script in Dorn's Deep circle of runes had a block that would block the remainder of the script from execution
  • Fixes for non-HoW games:
    • The wolf in Aspel's shop can now be charmed to leave without combat, same as HoW
  • Fixes for HoW games:
    • Prevented Mother Egenia from, once freed, wandering back to monsters
    • Fixed minor bug in the final HoW cutscene where the camera was not moving because of a script typo
    • Fixed broken variable sets and checks in the scripts for blind svirfneblin, Purvis, and Ilair
    • Fixed grouping issues in Lower Dorn's Deep; notably gnomes near the tower in Lower Dorn's Deep would go hostile as they were erroneously grouped with some salamanders
    • Fixed broken check for Murdaugh in Kieran Nye's script
    • Fixed broken check for Purvis in cutscene
  • Fixes for TotL games:
    • The scripts to open the portal in the jackal caverns in TotL were flaky and could cause the cutscene to hang

Files altered: ar1010.bcs, ar4001.bcs, ar6010.bcs, cahided.bcs, cahideo.bcs, ehdwfbox.bcs, ilgemeff.bcs, lddgnom4.bcs, ldilair.bcs, ldseth.bcs, ldthief.bcs, lwkieran.bcs, lwprvfce.bcs, lwpurv6.bcs, kutown2.bcs, lddgnom3.bcs, lddgnom4.bcs

Trapped Creature Fixes
Marketh's thieves in Lower Dorn's Deep would sometimes spawn on top of one another, preventing their movement. In one of the minor tombs in the Vale of Shadows two skeletons were being spawned in a wall. An orc elite and neo-orog were spawning to the same coordinates in Dorn's Deep.

Files altered: ar3201.are, ar6002.are, ar8001.bcs, ar8001.are
Files added: cddstslf.bcs

Guello and Shikata Quest Fix
If you save Guello and then go straight to the gnome hideout to speak with him there, his copy in Shikata's area will never disappear. In HoW, a variable for Guello being saved was not being set if you left the area via the Order of the Kraken garden.

Files altered: ar8005.bcs, ldguell2.bcs

Trial of Perseverance Bug
In the perseverance test in Trials of the Luremaster, the Luremaster would start his congratulations dialogue immediately after issuing the challenge because the monsters weren't spawning fast enough.

Files altered: selurmst.bcs

Combat Script Fixes
Fixed various errors in combat scripts for enemies:

  • Yxonemei will properly target Cloudkill on an enemy rather than herself
  • Marketh will use his invisibility potion
  • Shadowed Orc Shamen would occasionally heal the party instead of their allies
  • Various creatures would randomly change their combat scripts for variety, but a few of these had typos and tried to change to non-existent scripts
  • Fixed miscellaneous targeting errors in sahuagin priestesses' scripts
  • Criek was not properly checking for Shelhai in his script

Files altered: d5yxun.bcs, efatksa.bcs, ilsahhp1.bcs, ilsahup1.bcs, ldmarkth.bcs, secrie13.bcs, shorcsh1.bcs

Detected Traps in Areas
Several areas had traps that were already flagged as detected.

Files altered: ar3501.are, ar3502.are, ar4005.are, ar6005.are, ar6006.are, ar9400.are, ar9714.are

Missing Area Scripts
Areas can have a master script to control and run events. Without TotL there are about six areas missing scripts; TotL provides area scripts to just about everywhere.

Files altered:ar1101.are, ar1102.are, ar1104.are, ar1106.are, ar1109.are, ar1200.are, ar1201.are, ar2001.are, ar2002.are, ar2003.are, ar2005.are, ar2006.are, ar3001.are, ar3101.are, ar3201.are, ar3301.are, ar3401.are, ar3501.are, ar3502.are, ar3503.are, ar3600.are, ar3601.are, ar3602.are, ar3603.are, ar4002.are, ar4004.are, ar5001.are, ar5002.are, ar5003.are, ar5102.are, ar5201.are, ar5202.are, ar5203.are, ar5204.are, ar5301.are, ar5302.are, ar5303.are, ar5401.are, ar5402.are, ar5403.are, ar5404.are, ar5502.are, ar6001.are, ar6007.are, ar6009.are, ar6011.are, ar6014.are, ar7000.are, ar7002.are, ar8002.are, ar8014.are, ar8015.are, ar8016.are, ar9103.are, ar9301.are, ar9501.are, ar9601.are, ar9800.are, ar9801.are

Party Orientation Fixes
Party now faces the right direction when entering Custhantos' library from the lower level.

Files altered: ar5102.are

Brother Harken Floating Message Fix
Brother Harken will no longer float his random messages, as this was a leftover from the cut Voice of Durden Anatha quest.

Files altered: ar8012.are

Miscellaneous Spellbook Fixes
Several creatures had mistakes in their spellbooks, such as spells listed with the wrong level or type.

Files altered: albion.cre, bandoth.cre, drowsor.cre, drowspe.cre, eldathyf.cre, eldathyn.cre, higharch.cre, ms6yuan.cre, msmyuan.cre, oswald.cre, presio.cre, rdeyuane.cre, sevsoul.cre, shadsoul.cre, shatsoul.cre, udsorc.cre, udspell.cre, wightimb.cre, yuaewax.cre, yuaewbl.cre, yuaewbo.cre, yuaewsw.cre, yuanwax.cre, yuanwbi.cre, yuanwsw.cre, yuaxdin.cre, yubldin.cre, yuchamp.cre, yuswdin.cre

Inventory Fixes
Several creatures had items in the wrong slot, or a weapon that was unequipped, or other errors.

  • Several mages (Alpheus, Orrick, Presio's apprentice, Varglaan, etc.) were wearing robes in their cloak slot
  • Alpheus was not wearing his ring that grants him haste effects
  • Beornen and Angaar had shields in their armor slot, and their armor unused in their inventory
  • Fixed two bears who had claws in their creature file, but were not assigned
  • Many TotL creatures were supposed to be immune to normal (e.g. fiendish harpies), +1 (e.g. infernal harpies), or even +2 (jackal clan leader) weapons, but weren't since the item that grants immunity was unassigned
  • Icasaracht's Soul Gem was not wearing its item that makes it immune to nonsensical effects, like panic
  • Fixed two ghosts which had an item assigned as their weapon which had no offensive capabilities
  • Histachi and buff shadows had special immune items in their inventory, but unassigned
  • Hobart had a crossbow but could not use it because he had no bolts
  • Malavon has a special ring that grants some goodies (AC bonus, mirror image, etc.) in his inventory, but it was not equipped--this will make his fight tougher
  • Murdaugh, Xactile, and miscellaneous sahuagin had weapons available but unselected or unassigned, so they would punch the party
  • Some sahuagin had armor that they weren't wearing
  • Shikata had an unassigned item that provides cosmetic effects
  • Yxonomei had a potion in her creature file but not assigned

Files altered: alpheus.cre, alpheusd.cre, angaar.cre, bearcav.cre, beornen.cre, deddog.cre, dlsgem.cre, ghost.cre, histach.cre, hobart.cre, hobart2.cre, hobarth.cre, hoggle.cre, hrpfnd.cre, hrpinf.cre, hrpmat.cre, jkldog.cre, jklgtr.cre, jklwar.cre, jklldr.cre, kubear.cre, malavon.cre, murdaugh.cre, orrick.cre, presapp.cre, rikasha.cre, rndghos.cre, saeguard.cre, sagrdm.cre, sarguard.cre, sawar.cre, shadowb.cre, shikata.cre, tanarri.cre, vaarglan.cre, vaarglnd.cre, xactile.cre

Item Fixes
Various items had errors and issues fixed:

  • Belhifet was not poisoning targets on his attack
  • The Girdle of Beatification was not providing its bless effect (non-HoW)
  • Blur Deck could be used without being identified first (non-HoW)
  • Eagle Bow had an extraneous effect on its attack
  • Several items had equipped effects that were only being applied in combat
  • The Abi-Dalzim's Horrid Wilting ability of the Bracers of Icelandic Pearl was not recharging
  • Mithril chain was not preventing spellcasting or thieving
  • Mordenkainen's Sword and the fire elemental attack weapon were not flagged as magical
  • The sound that plays when a ghoul's paralyzation wears off was playing too late
  • Sound effects for Bolts of Lightning, the Singing Blade of Aihonen and the Merry Shorthorn were not playing
  • Full Plate +1 was only partially disabling thieving skills and had an incorrect minimum for strength
  • The portrait icon for Potions of Freedom was expiring after four rounds though the potion's effects lasted for 10 rounds
  • The Tarnished Ring wanted a target when used, which is silly as its effects don't matter where it's targeted
  • The Bitch Queen's Envoy shield had extraneous penalties to missile armor class
  • The Talon of Gloomfrost was not providing its 10% resistance to fire and cold
  • The Wailing of Virgins cloak was protecting against Fire Storm instead of Symbol of Hopelessness
  • The Robe of the Watcher was not providing its 10% magic resistance (non-HoW)
  • Misery's Herald was not causing panic on hit and was not flagged as cold iron
  • Kinetic Spear was not casting its Lance of Disruption instantly and was also hurting the wielder

Files altered: behwep.itm, beltbea.itm, beltbea.itm, blrdeck.itm, bolt03.itm, bow08.itm, bow09.itm, bownon.itm, braceip.itm, chan06.itm, fele1-8.itm, ghoul1.itm, idart01.itm, jhoswd3.itm, kinetic.itm, kresssw.itm, mhorn.itm, msword.itm, plat05.itm, potn45.itm, ringlur.itm, shldbch.itm, spitm06.spl, talongf.itm, virgin.itm, watcher.itm, zzm5mh.itm

Item Effects Not Being Applied
Several items throughout the game had effects that were not being applied due to bad timing modes or other errors. All of these are cosmetic effects, except for:

  • Incinerator +3 (ubswd5b.itm) - The fire resistance wasn't working.
  • Heavy Crossbow + 1 (xbow02.itm) - Was permanently setting the wielder's attacks per round to one.
  • aldeth.itm - A few immunities and string suppression weren't working, though it appears unused it's been fixed anyway.
  • ciigen.itm - An immunity item used by many creatures; the immunity to panic wasn't working.
  • immagmsl.itm - An immunity item used by many creatures; the immunity to magic missile wasn't working.
  • ring95 & stupid.itm - Immunity items used by many creatures; the immunity to petrification wasn't working.

Files altered: aldeth.itm, ax1h04.itm, ax1h05.itm, ax1h06.itm, axlizman.itm, axyuanti.itm, bess.itm, bloodgf.itm, blun01.itm, blun04.itm, blun06.itm, blyuanti.itm, bow02.itm, bow05.itm, bow06.itm, bow08.itm, bow09.itm, bow99.itm, bownon.itm, cattac1.itm, ciigen.itm, clown.itm, corny.itm, csalring.itm, dagg04.itm, dagg05.itm, daggshit.itm, dazer.itm, debian.itm, fayr.itm, fistgf.itm, fsalring.itm, gasp.itm, ghost.itm, ghost2.itm, gsleep.itm, halb01.itm, halbrd01.itm, hamm01.itm, handgf.itm, helm03.itm, helm04.itm, helm07.itm, hq2hswd.itm, hqhalb.itm, hqhxbow.itm, hqmace.itm, hqmstar.itm, hqsbow.itm, iax1h01.itm, iblun04.itm, ibow03.itm, ihamm01.itm, immagmsl.itm, kresssw.itm, lalizman.itm, maul.itm, mslizman.itm, nalizman.itm, peaceke.itm, pikeman.itm, polizman.itm, ranclub.itm, ring05.itm, ring09.itm, ring91.itm, ring95.itm, sbowebu.itm, shcomlb2.itm, stone.itm, stupid.itm, sw1h08.itm, sw1h14.itm, sw1h99.itm, sw2h01.itm, sw2h01b.itm, sw2h02.itm, sw2h05.itm, swyuanti.itm, telizman.itm, u2ham2a.itm, u2ham3a.itm, u2ham4a.itm, u2ham4b.itm, u2ham5a.itm, ubswd5b.itm, uhxbw2a.itm, usswd2a.itm, usswd2b.itm, usswd3a.itm, usswd3b.itm, usswd3c.itm, usswd4a.itm, usswd4b.itm, usswd5a.itm, usswd5b.itm, utswd1a.itm, utswd2a.itm, utswd2b.itm, utswd2c.itm, utswd3a.itm, utswd3b.itm, utswd4a.itm, utswd4b.itm, utswd5a.itm, utswd5b.itm, wclub.itm, wolfwi2.itm, xbow01.itm, xbow02.itm, xbow03.itm, xclub.itm, xu2ham3.itm, xusswd3.itm, zzs6sc.itm

Item Effects Could Be Dispelled
Several items had effects that work as long as the item is equipped, but due to errors they could be dispelled. Notably the free action of the Girdle of Labelas, the luck effect of the Lucky Scimitar, stealth and non-detection of the Ring of Shadows, and the non-detection of The Salamander's Tongue could be dispelled.

Files altered: aldeth.itm, labelt.itm, lucky.itm, misc72.itm, shadows.itm, tongue.itm

Power Issues
Several items and spells had incorrect power levels set. A bad power setting can affect whether effects interact with spell protections and anti-magic effects.

Files altered: amaunat.itm, amul01.itm, arow06.itm, arow08.itm, arow09.itm, arow15.itm, ax1h06.itm, behwep.itm, bolt03.itm, bolt05.itm, boneam.itm, clck07.itm, clck08.itm, cynicis.itm, dart03.itm, dart04.itm, days.itm, dbolt.itm, decasta.itm, dntshd2.itm, dobone.itm, fblade.itm, fbolt.itm, firekis.itm, force.itm, gasp.itm, hamm03.itm, handgf.itm, harp.itm, jasper.itm, jhoswd3.itm, lucky.itm, mae.itm, mantlehf.itm, moonbla.itm, msword.itm, ogien.itm, poq2-16.itm, potn13.itm, potn26.itm, potn27.itm, revent1.itm, ring03.itm, ring20.itm, rogue.itm, sceptre.itm, schlum1.itm, scrl03.itm, scrl04.itm, scrl05.itm, scrl06.itm, scrl08.itm, scrl09.itm, scrl15.itm, scrl56.itm, scrl58.itm, scrl59.itm, scrl61.itm, scrl63.itm, shadless.itm, shamme1.itm, shamme2.itm, shamme3.itm, shille.itm, shillel.itm, sirine.itm, smcudge.itm, sppr103.spl, sppr105.spl, sppr112x.itm, sppr113x.itm, sppr216x.itm, sppr218x.itm, sppr311.spl, sppr314.spl, sppr315x.itm, sppr316x.itm, sppr322x.itm, sppr401.spl, sppr415x.itm, sppr416x.itm, sppr418x.itm, sppr419x.itm, sppr504.spl, sppr513x.itm, sppr514.spl, sppr514x.itm, sppr515x.itm, sppr517x.itm, sppr519x.itm, sppr611.spl, sppr611x.itm, sppr717x.itm, spwi111.spl, spwi118.spl, spwi223a.itm, spwi410.spl, spwi414.spl, spwi417.spl,spwi422x.itm, spwi424x.itm, spwi518x.itm, spwi606.spl, stafbes.itm, staffbes.itm, sw1h06.itm, sw1h11.itm, talongf.itm, tiernon.itm, tonggf.itm, trnbolt.itm, ubull4a.itm, ulring.itm, vampire.itm, wand02.itm, wand03.itm, wand04.itm, wand05.itm, wand06.itm, wand07.itm, wand08.itm, wand11.itm, wand12.itm, wand99.itm, wandrea.itm, wisp.itm, wolfwi1.itm, wolfwi2.itm, zz05we.itm

Spell Scroll Fixes
Several spell scrolls had errors. The most common one was an incorrect power level, though several scrolls had additional issues:

  • Animate Dead, Haste, Prismatic Spray and Shades had incorrect ranges
  • Ghoul Touch paralyzed the caster
  • Vocalize couldn't be memorized due to errors
  • Prayer from a scroll could be targeted anywhere instead of the caster
  • Sunscorch scroll couldn't be cast

Files altered: scprism.itm, scrl1c.itm, scrl1g.itm, scrl1h.itm, scrl2d.itm, scrl3g.itm, scrl56.itm, scrl58.itm, scrl59.itm, scrl61.itm, scrl62.itm, scrl63.itm, scshds.itm, sppr112x.itm, sppr113x.itm, sppr216x.itm, sppr217x.itm, sppr218x.itm, sppr313c.itm, sppr315x.itm, sppr316x.itm, sppr318x.itm, sppr319x.itm, sppr320x.itm, sppr321x.itm, sppr322x.itm, sppr323x.itm, sppr324x.itm, sppr325x.itm, sppr415x.itm, sppr416x.itm, sppr417x.itm, sppr418x.itm, sppr419x.itm, sppr420x.itm, sppr421x.itm, sppr422x.itm, sppr423x.itm, sppr513x.itm, sppr514x.itm, sppr515x.itm, sppr516x.itm, sppr517x.itm, sppr518x.itm, sppr519x.itm, sppr610x.itm, sppr611x.itm, sppr612x.itm, sppr613x.itm, sppr717x.itm, sppr718x.itm, sppr719x.itm, sppr720x.itm, sppr721x.itm, sppr722x.itm, spwi223a.itm, spwi319x.itm, spwi422x.itm, spwi423x.itm, spwi424x.itm, spwi517x.itm, spwi518x.itm, spwi519x.itm, spwi618x.itm, spwi619x.itm, spwi620x.itm, spwi710x.itm, spwi711x.itm, spwi805x.itm, spwi806x.itm, spwi807x.itm, spwi808x.itm

Spell School Fixes
Several spells had incorrect spell schools set. Heart of Winter makes some changes to spell schools, so there are differences between HoW and non-HoW changes:

  • Changes to all games
    • Summon Shadow is restricted from diviners
    • Death Fog, Otiluke's Freezing Sphere, Incendiary Cloud, and Malavon's Corrosive Fog are restricted from abjurers
    • Tenser's Transformation is restricted from enchanter
    • Mordenkainen's Sword gets properly classed as an evocation
  • Changes without HoW installed
    • Identify, Infravision, Detect Evil, and Detect Invisibility are restricted from conjurers
    • Flame Arrow now uses the conjuration casting graphics and is made available to invokers
    • Shadow Monsters is restricted from necromancers
    • Lich Touch is made available to transmuters
    • Power Word: Silence now uses the conjuration casting animation, is made available to enchanters, and restricted from diviners and invokers
  • Changes with HoW installed
    • Summon Shadow is further restricted from invokers
    • Tenser's Transformation is further restricted from conjurers

Files altered: spwi110.spl, spwi111.spl, spwi202.spl, spwi203.spl, spwi303.spl, spwi418.spl, spwi513.spl, spwi605.spl, spwi610.spl, spwi612.spl, spwi616.spl, spwi617.spl, spwi704.spl, spwi802.spl, spwi904.spl

Additional Spell Fixes
In addition to the power fixes and school fixes, several spells needed additional fixes:

  • Melf's Acid Arrow lacked a casting sound
  • Strength was trying to use a non-existent sound effect
  • The range of Haste was corrected

Files altered: spwi211.spl, spwi214.spl, spwi305.spl

Store Fixes
Several stores had a holdover from Baldur's Gate and sold infinite quantities of 'The Fateful Coin'; Conlan no longer sells infinite quantities of the Lucky Scimitar in HoW.

Files altered: ehinn.sto, kuinn1.sto, kuinn2.sto, kuinn3.sto, kusmith.sto

Miscellaneous Creature Fixes
Several creatures have incorrect gender and/or sex set in their files. These are corrected as they could potentially affect their interactions with scripts and spells, which casting sound set to use, etc.

Files altered: ad1sklm.cre, ad2sklm.cre, ad2sklr.cre, ad2zomb.cre, ad3sklm.cre, ad3sklr.cre, ad3zomb.cre, ad4sklr.cre, ad4zomb.cre, ad5zomb.cre, animpla2.cre, animpla3.cre, animplat.cre, as1bear.cre, as2cave.cre, as2dire.cre, as3polr.cre, as3wint.cre, baldemad.cre, baldemar.cre, bearbel.cre, bearblk.cre, bearcav.cre, bearpold.cre, bearpolr.cre, beetbomb.cre, beetbor.cre, beetfire.cre, beetle.cre, beetrhin.cre, beholder.cre, beholdh.cre, belhif.cre, bergclaw.cre, berserk.cre, bknight.cre, bon8005.cre, bon8013.cre, bonegard.cre, bronsen.cre, carrionc.cre, chalima.cre, chicken.cre, ckinvst.cre, ckspgrd.cre, ckspgrdh.cre, conlan.cre, cook.cre, copspir.cre, corcat.cre, cornugo.cre, custos.cre, cyanimp1.cre, cyanimp2.cre, cyanimp3.cre, cybeetr.cre, cyearthe.cre, cyfiree.cre, cyhelm.cre, cyiceg.cre, cyirong.cre, cymycon.cre, cyspidph.cre, cyspidsw.cre, cywatere.cre, deepgnun.cre, dlbnegrd.cre, dlbonec.cre, dlcldaxe.cre, dlcldhnd.cre, dlcldmce.cre, dlcldswd.cre, dlfznbne.cre, dlgolem.cre, dliceaxe.cre, dlicehnd.cre, dliceswd.cre, dlicetr.cre, dlscrag.cre, dlsgem.cre, dlsnotr.cre, dlwater.cre, dlyeti.cre, druidbb.cre, druidee.cre, druidfe.cre, druidpb.cre, druidwe.cre, druidww.cre, eele8013.cre, elemeart.cre, elemfire.cre, elemwat.cre, es12erth.cre, es12fire.cre, es12watr.cre, es16erth.cre, es16fire.cre, es16watr.cre, es20erth.cre,es20fire.cre, es20watr.cre, es24erth.cre, es24fire.cre, es24watr.cre, es8erth.cre, es8fire.cre, es8watr.cre, esmerth.cre, firedrak.cre, frostsal.cre, gelarith.cre, ghast.cre, ghost.cre, ghoul.cre, ghoul1.cre, ghoul2.cre, giantfg.cre, giantfn.cre, giantfro.cre, giantfs.cre, gisbomb.cre, gisborb.cre, glbcat.cre, gobehq1.cre, goboaxe.cre, gobobow.cre, goboeaxe.cre, goboebow.cre, golemic.cre, golemiro.cre, gorg.cre, grnslime.cre, higharch.cre, highbapt.cre, highritu.cre, highsumm.cre, hightort.cre, histach.cre, hobartf.cre, idol.cre,, invissal.cre, invistrl.cre, invstlk.cre, jklsum.cre, joril.cre, kaorog.cre, kaoroge.cre, kaylessa.cre, keanimph.cre, kerish.cre, kfarm.cre, kontik.cre, ktghl1.cre, ktgst1.cre, ktmum1.cre, ktsk1.cre, ktska1.cre, ktska2.cre, ktska3.cre, ktskh1.cre, ktskh2.cre, ktskh3.cre, ktsks1.cre, ktskt1.cre, ktskt2.cre, ktsmg2.cre, kttas1.cre, kttas2.cre, kttas3.cre, kttga1.cre, kttga2.cre, kttga3.cre, kttgm1.cre, kttgm3.cre, ktwgt1.cre, ktwgti1.cre, ktzom1.cre, ktzomj.cre, kubear.cre, kuyeti.cre, larrel2.cre, lehland.cre, lghast.cre, lghoul.cre, lizdead.cre, lm1hwax.cre, lm1hwaxy.cre, lm1hwms.cre, lm1hwmsy.cre, lm1hwpo.cre, lm1hwpoy.cre, lordm.cre, lskarmms.cre, lskarmsw.cre, lwight.cre, lysanbar.cre, lzombie.cre, lzombiej.cre, mani.cre, manticor.cre, mbbr.cre, mbrh.cre, mcar.cre, mcs1.cre, mercthf.cre, mercthfd.cre, mercwar1.cre, mercwr1d.cre, mgh2.cre, mgha.cre, mgo1.cre, mgo2.cre, mgo3.cre, mgo4.cre, mgo5.cre, min8013.cre, mincat.cre, minfle.cre, minlrd.cre, minotaub.cre, minotaur.cre, mmum.cre, mor1.cre, mor2.cre, mor3.cre, mor4.cre, mor5.cre, mordeswd.cre, mouth.cre, ms1fb.cre, ms1goba.cre, ms1gobm.cre, ms2bbtl.cre, ms2gobb.cre, ms2gobe.cre, ms3borb.cre, ms3ghl.cre, ms3hspi.cre, ms3orog.cre, ms4ghst.cre, ms4yeti.cre, ms5gspi.cre, ms5jzom.cre, ms5mino.cre, ms5verb.cre, ms6crwl.cre, ms6pspi.cre, ms6salc.cre, ms6trol.cre, ms6yuan.cre, ms7bgrd.cre, ms7mumy.cre, ms7umbh.cre, msk1.cre, mskb.cre, msmcrwl.cre, msmpspi.cre, msmsalc.cre, msmyuan.cre, mtsn.cre, mummy.cre, mummyhis.cre, murdaugh.cre, musjelly.cre, mwig.cre, myc8013.cre, myconidb.cre, myconidr.cre, myrkuls.cre, mytos.cre, mzo2.cre, neoorog.cre, neoorogc.cre, neooroge.cre, neoorogg.cre, neoorogs.cre, ochjelly.cre, olvslime.cre, orc2004.cre, orca2004.cre, orcewaxe.cre, orcewbow.cre, orcsham.cre, orcwaxe.cre, orcwbow.cre, poquelin.cre, psborbtl.cre, psentry.cre, psmino.cre, pstroll.cre, psumbh.cre, rakshasa.cre, rakshinv.cre, rdecwig.cre, rdeliza.cre, rdespiw.cre, rdeyuane.cre, remorha.cre, remorhas.cre, remorhh.cre, rktskelm.cre, rktskelr.cre, rkttguam.cre, rldmycr.cre, rldumbh.cre, rndbomb.cre, rndfsal.cre, rndghos.cre, rndigolm.cre, rndoslm.cre, rndpspd.cre, rndremor.cre, rndspg.cre, rndstrol.cre, rndwwolf.cre, rndwyv.cre, rocorca.cre, rtfgverb.cre, rudorog.cre, rudoroge.cre, rvsyeti.cre, rwtsalf.cre, rwtwwolf.cre, saablic.cre, sagolem.cre, sahuagin.cre, sal8013.cre, salamanf.cre, saumber.cre, saumber2.cre, sdgobax3.cre, sdgobtrn.cre, sdorcshm.cre, shadow.cre, shadowb.cre, shadsoul.cre, shrieker.cre, shskltat.cre, skarmax.cre, skarmms.cre, skarmsw.cre, skelarm.cre, skelblad.cre, skelblst.cre, skelbong.cre, skelbow.cre, skeleton.cre, skelserr.cre, skeltatt.cre, skelwar.cre, skelwaxe.cre, skelwham.cre, skelwswd.cre, sklich.cre, sktatax.cre, sktatsw.cre, spcook.cre, spcourtf.cre, spcourtm.cre, spguard.cre, spguardh.cre, spidgi.cre, spidhu.cre, spidkid.cre, spidland.cre, spidph.cre, spidsw.cre, spidwr.cre, spknight.cre, ss1gob1.cre, ss1gob2.cre, ss1gob3.cre, ss1trl6.cre, ss1trl7.cre, ss1trl8.cre, ss2gob1.cre, ss2gob2.cre, ss2gob3.cre, ss2vrb6.cre, ss2vrb7.cre, ss2vrb8.cre, ss3trl6.cre, ss3trl7.cre, ss3trl8.cre, ss3umb8.cre, ss3umb9.cre, sshamb.cre, stnnui.cre, sumdoom.cre, sumshad.cre, sumstlk.cre, talodead.cre, tanarri.cre, tarnsen.cre, trapguy.cre, vexing.cre, vexing2.cre, vexing3.cre, vexing4.cre, wolfwint.cre, wyvmat.cre

Modder Fixes
Some changes have been made to make the game easier to modders, even though they do not address actual bugs in the game.

  • diffmode.ids and difflevl.ids have been added for easier scripting
  • Wall of Moonlight's erroneous spell.ids entry is corrected
  • Syntax errors in a handful of unused scripts and dialogues are fixed
  • Durations were removed from permanent effects on items and spells

Files altered: 5001ls1.bcs, 5001ls2.bcs, ar6010.bcs ,acidooz4.itm, bknight.itm, cwreve.itm, detemp.dlg, dginafae.dlg, dwinona.dlg, extheal.itm, gberry.itm, goodber.itm, ilgemeff.bcs, ipotn08.itm, jellgr1.itm, lwalpw1.bcs, lwalpw2.bcs, lwalpw3.bcs, lwalpw4.bcs, potn08.itm, potn13.itm, potn33.itm, pself0.spl, shadless.itm, spell.ids, spin104.spl, spin107.spl, spin108.spl, spin109.spl, spin110.spl, spin121.spl, spin122.spl, spin123.spl, spin124.spl, spin126.spl, spin132.spl, spin134.spl, spin135.spl, spin136.spl, spin148.spl, spin149.spl, spin152.spl, spin155.spl, spin156.spl, spin168.spl, spin169.spl, spin171.spl, spin173.spl, spin179.spl, spin181.spl, spin182.spl, spin989.spl, spin994.spl, spin995.spl, spin996.spl, spitm03.spl, spitm04.spl, spitm05.spl, sppr103.spl, sppr104.spl, sppr107.spl, sppr109.spl, sppr110.spl, sppr113.spl, sppr201.spl, sppr202.spl, sppr204.spl, sppr205.spl, sppr206.spl, sppr207.spl, sppr208.spl, sppr210.spl, sppr211.spl, sppr213.spl, sppr214.spl, sppr215.spl, sppr305.spl, sppr306.spl, sppr311.spl, sppr312.spl, sppr313.spl, sppr401.spl, sppr403.spl, sppr405.spl, sppr407.spl, sppr408.spl, sppr409.spl, sppr414.spl, sppr417.spl, sppr421.spl, sppr502.spl, sppr508.spl, sppr510.spl, sppr511.spl, sppr515.spl, sppr518.spl, sppr519.spl, sppr609.spl, sppr709.spl, sppr714.spl, sppr715.spl, sppr716.spl, sppr717.spl, sppr988.spl, sppr989.spl, spwi021.spl, spwi102.spl, spwi104.spl, spwi105.spl, spwi107.spl, spwi108.spl, spwi111.spl, spwi113.spl, spwi114.spl, spwi116.spl, spwi117.spl, spwi118.spl, spwi201.spl, spwi203.spl, spwi208.spl, spwi210.spl, spwi211.spl, spwi212.spl, spwi214.spl,spwi221.spl, spwi223.spl, spwi299.spl, spwi303.spl, spwi305.spl, spwi306.spl, spwi310.spl, spwi311.spl, spwi312.spl, spwi316.spl, spwi317.spl, spwi401.spl, spwi405.spl, spwi406.spl, spwi411.spl, spwi412.spl, spwi414.spl, spwi507.spl, spwi508.spl, spwi509.spl, spwi518.spl, spwi599.spl, spwi601.spl, spwi607.spl, spwi608.spl, spwi610.spl, spwi612.spl, spwi616.spl, spwi617.spl, spwi619.spl, spwi704.spl, spwi706.spl, spwi708.spl, spwi711.spl, spwi804.spl, spwi805.spl, spwi888.spl, spwi961.spl, spwi962.spl, spwi963.spl, spwi964.spl, spwi965.spl, spwi983.spl, spwi987.spl, spwi988.spl, spwi990.spl, spwi991.spl, spwi992.spl, spwi993.spl, umstr2a.itm, umstr3a.itm, umstr3c.itm, umstr4b.itm, umstr5a.itm, vexed2.itm, wand05.itm, wand4ca.itm, zz05we.itm, zzj6sp.itm 
Files added: difflevl.ids, diffmode.ids

Game Text Update

This component corrects various typos, errors, and other mistakes in the game strings. (A string is any bit of text used by then engine--it could be a line of dialogue, an item description, a creature's name, etc.) A very minimalist approach has been taken, in that strings are only introduced for obvious errors and not, for example, to make formatting consistent in item descriptions. This component fixes about 400 strings, most of which were string fixes silently introduced by HoW or TotL and now applied to every engine variant. The overwhelming majority of these are to correct typos in the game though there are some notable exceptions:

  • Descriptions for the Incinerator and Frostbrand omitted their fire resistance bonuses
  • In HoW, the time required for Nym to enchant a shield for you was reduced from ten to three days, but one line of dialogue was not updated to reflect this change
  • Haste now mentions its fatigue effect
  • The description for the Mage Dagger +4 omitted its AC bonus and had incorrect damage and THAC0 bonuses
  • Several spells had incorrect schools listed

This is by no means a comprehensive list.

While this component is available for all languages, only the handful of string changes (seven or less) are actually applied to non-English games. However, the framework is in place to expand these components (and languages can alter strings independent of one another) so if any translating groups want to put together a GTU for their language, I'll be happy to include it in future versions.

Regardless, for any language variant, I'll happily take corrections and fixes in the mod forum.