EEFP Docs: Fixes for BG2EE

This documentation is complete as of November 8, 2022.

Fixes for BG2EE

String Fixes Link to this section

Textual changes were made to correct errors or reflect other changes. Note that this is limited to material or factual errors; spelling, grammar, or other typos are handled by the Game Text Update.

  • Corrected some dialogue that indicated that Garren Windspear's cabin was in the wrong direction. (strrefs #6511, #7417, #7421)
  • Corrected an Underdark journal entry that indicated the dragon eggs were going to be sacrificed to the dragon, not the demon. (strref #7148)
  • The Temple Ruins were referred to as north or east of Imnesvale instead of west. (strrefs #17169, #19723)
  • The description for Carrion Summons indicated that it would summon "1d2" carrion crawlers, but it's not a 50-50 chance. The spell has a 65% chance to summon two, and as such the language has been generalized. (strref #29212)
  • Paralytic Bolts +1 did not list their enchantment in their name. (strref #57918)
  • The Sun Soulbeam ability did not roll for an attack, it just hits, contrary to its description. (strrefs #74310, #100352)
  • The ranger Charm Animal ability does not mention its duration. (strref #100356)
  • Several of the shapeshifting abilities and spells did not list all of their abilities; generally it was missing the weapon enchantment of their natural weapons. (strrefs #103011, #103237, #100374, #100375, #100390, #100391, #100392, #100393, #100394, #100395)

Mechanics Fixes Link to this section

  • The non-proficiency penalty for Shadowdancers and Mage-Thieves were incorrect. (clswpbon.2da)
  • Wing buffet/knockback effects were not being applied to all creatures who should be affected. (cdwb220.eff, cdwb225.eff, cdwb230.eff, cdwb3100.eff, cdwb470.eff, spcl911b.spl, spin547.spl, spin643.spl, spin658.spl, spin695.spl, spin854.spl, spin896.spl, spwi818.spl, spwi918.spl, spwi922.spl, spwi925.spl, spwish27.spl, spyanc01.spl)
  • Items with poison effects block their own effects on a poison-immune target. However, in some cases, they were also blocking other, non-poison-related effects which should still apply. (potn48.itm)
  • Similar to the above, sleep and charms could also block unrelated effects when stopped by (half-)elven immunity. (gorwom1.itm)
  • The slow caused by an otyugh hit was a disease effect, but was not being alleviated by various disease cures. (iotyugh.itm, ohrslng1.itm, otyugh.itm)
  • Three spells from SoD are added to the game even though they're not made available. This helps properly preserve BGEE/SoD spellbooks for characters being transferred into BG2EE games. (bddanc01.bcs, bddanc01.cre, bddanc02.cre, bddanc01.eff, bddanc02.eff, bddark15.pro, bddarka.bam, bddarka.vvc, bddarkx.bam, hidespl.2da, spell.ids, sppr116.spl, spprismt.vvc, spschgi.vvc, spwi126.spl, spwi228.spl

Area Fixes Link to this section

  • There should be additional reinforcements at the Siege Camp, but a bad variable check prevented them. (ar5203.bcs)
  • The area script in one of Hexxat's quest areas can loop. (oh7200.bcs)
  • Several creatures were placed on impassable terrain, making them unable to move, or outside the bounds of the area. (ar0305.are, ar0800.are, ar1000.are, ar2000.are, ar5202.are, ar6005.are, oh5500.are)
  • Floor or container traps could potentially crash the game if the trap effects were channeled through an unnamed spell and blocked by a target who is immune. (spcl415.spl, spin627.spl, spin642.spl, spin707.spl, spwi008.spl, spwi016.spl, spwi023.spl)
  • Several doors would disappear when opened, leaving no way to close them. (ar0406.are, ar0711.are, ar1302.are, ar1307.are, ar1307.are, ar5007.are)
  • Several doors had the wrong clickable area when opened. (ar1202, ar1514.are)

Dialogue Fixes Link to this section

  • Yoshimo was supposed to have a series of three banters with the PC about their past, but due to some bad timers and triggers only one fired. (byoshim.dlg, yoshimo.bcs)
  • In certain branches, Rasaad can duplicate items when he leaves the party due to how his actions are ordered. (rasaadj.dlg)
  • If you spare Solaufein, depending on the PC's replies Solaufein can hand over his cloak even though you never asked for it. He also misses setting some journal entries. (udsola01.dlg)
  • When Aerie leaves the party and returns to the circus, she could move to impassable ground. (aeriej.dlg, baerie.dlg)
  • Dorn's first talk with the PC is supposed to be one of three, depending on your reputation and whether you known him from the events in BG. However, his script was always setting the variable that you knew him, so you always got one of the three banters and never saw the other two options. (dorn.bcs)
  • You can only ask Karthis al-Hezzar about the fire giants the first time you talk to him; the option has been added for subsequent visits. (hgkar01.dlg)

Item Fixes Link to this section

  • The generic light crossbow lacked a larger, shadowed icon. (ixbow04.bam)
  • The Potion of Icedust used an enemy-only projectile so its effects were never applied to the drinker or allies. (cdicedus.pro, spin713.spl)
  • When importing a character from BG with Arla's Dragonbane, it would get changed to a generic +3 sling. (ohimport.bcs)
  • There are two versions of Full Plate Mail +2, one of which is a special version available via Wish that doesn't require any lore to identify. Several creatures were using the special version, which has been swapped for the other Full Plate +2. (ohbgit01.cre, ohbthr01.cre, ohdcru04.cre, ohdlufpl.cre, ohnvgc.cre, ohrjassa.cre)
  • Several items that cast area-of-effect spells required creature targets but should not have: Cone of Cold via the White Dragon Chain, Dispel Magic via Purifier, Prismatic Spray via the Helm of Brilliance. (chan20.itm, comps65.itm, helm16.itm, sw1h65.itm)
  • The Purple Globe that heals the caster was asking for a target when none was required. (globpur4.itm)
  • Several items which cast spells are changed to cast the spells directly instead of simulating them (comps34.itm, npmisc1.itm, ohdwand1.itm, sw1h32.itm, sw1h34.itm)
  • The Restoration scroll should have touch range. (restore.itm)
  • Improved Haste via the Ring of Gaxx could not be dispelled. (ring39.itm)
  • Per their description, Energy Blades should do missile damage, not slashing. (eneblade.itm)
  • Boots of Lightning Speed boosted speed to a fixed level instead of the promised quadruple speed. (boot10.itm)
  • Larloch's Minor Drain via Foebane could be used against golems and undead. (comps63.itm, sw1h63.itm)
  • Blackmist played two sounds when blinding a target, but one of those sounds is supposed to be an expiry sound when the blindness wears off. (halb06.itm)
  • The Harp of Discord was confusing targets, but inexplicably using the 'intoxicated' portrait icon. (misc3m.itm)
  • The Elixir of Health was setting the intoxication level to zero instead of outright curing the effect. (potn17.itm)
  • The Protection from Magic Scroll was not removing all buffs before going into effect. (scrl07.itm)
  • The sirine item redundantly set intelligence to 3 alongside a feeblemind effect, meaning that curing feeblemind would still leave the target at 3 INT. (sirine.itm)
  • The respective Staves of Air/Earth/Fire could charm their respective elementals, however, the sound that accompanied the charm would play on all targets even if they weren't subject to the charm itself. (staf15.itm, staf16.itm, staf17.itm)
  • The knockback effect of the Staff of the Ram +6 should not work on large creatures. (staf22.itm)
  • Ilbratha's Mirror Image could be blocked by the wielder's magic resistance. (sw1h26.itm)
  • The Longtooth dagger is described as exceptionally long and uses a short sword animation, but the range was still that of a dagger. (dagg04.itm)
  • The Paralytic Bolt +1 used the wrong dispellability and magic resistance check. (sahbolt.itm)
  • On 10% of hits Neera's Staff is supposed to inflict a point of fire damage on its wielder or its target, but was instead inflicting a point of fire damage on both. (stafn1.itm)
  • Natural weapons (claws, bites, etc.) and magically-created weapons (e.g. Chill Touch) should not benefit from weapon style proficencies. (brblp.itm, brbrp.itm, cdbrbrp.itm, cdbrbrp2.itm, cdgoliro.itm, cdmindfl.itm, cdwolfm.itm, cdwstyl1.eff, cdwstyl1.spl, cdwstyl2.eff, cdwstyl2.spl, chillt.itm, critical.itm, druear.itm, drufir.itm, earthrn.itm, firern.itm, ghoult.itm, harm.itm, plybass.itm, plybear1.itm, plybear2.itm, plymstar.itm, plyspid.itm, plyspid2.itm, plytroll.itm, plywolf1.itm, plywyvrn.itm, polyrat.itm, sgrasp.itm, slayerw1.itm, slayerw2.itm, slayerw3.itm, slayerw4.itm, slaylive.itm, squirp.itm, statdesc.2da, trollall.itm, wolfgr.itm, wolfm.itm, wswolf.itm)
  • Goodberries should not play the *gulp* string when used as they are not potions. (gberry.itm)
  • Launchers that generate their own ammo (e.g. Gesen's Bow or the Firetooth crossbow) would override the projectile of loaded ammo, meaning it could interact with the target protections incorrectly. (bow15.itm, bow19.itm, compb15.itm, compb19.itm, slng07.itm, wasling.itm, xbow15.itm, xbow16.itm)
  • The flindbar weapon of flinds is supposed to penalize the target's THAC0 on hit, but was instead improving it. (flind1.itm)
  • The Quiver and Case of Plenty had custom ground icons that were not being used. (quiver01.itm, quiver02.itm, quiver03.itm, quiver04.itm)
  • Dorn's various, upgraded Abyssal Blades were not very good at targeting demons and devils for bonus damage. (ohdsw2hb.eff, ohdsw2hc.eff)
  • Bulk fixes:
    • Power (power determines how an item interacts with spell protections): Various summoned weapons are set to zero power (energy blades, flame blade, fire seeds, goodberries, ghoul touch, Melf's Minute Meteors). (eneblade.itm, fblade.itm, fireseed.itm, gberry.itm, ghoult.itm, melfmet.itm)
    • Enchantment (enchantment determines if a weapon can strike a creature that requires +x weapons): Aegis Fang is a 3-enchantment weapon. (aegis.itm, aegis2.itm)

Spell Fixes Link to this section

  • Enchant Weapon could not be cast via Contingency. (spwi417.2da)
  • Balthazar's Solar Stance! is supposed to include an HP-draining, fire-damage melee attack effect. (balth01b.eff)
  • The various Cure Wounds, Restoration, and Lay on Hands spells should be touch range and not dispellable. (critical.itm, harm.itm, serious.itm, slaylive.itm, spcl211.spl, spcl815.spl, spin109.spl, spin679.spl, spin711.spl, spin773.spl, spin827.spl, spin958.spl, sppr103.spl, sppr315.spl, sppr401.spl, sppr502.spl, sppr514.spl, sppr607.spl, spwm168.spl)
  • When various spells are used against creatures that are immune, better feedback is now provided. (balth06.spl, chillt.itm, spin685.spl, spin940.spl, spin962.spl, spwi003.spl, spwi004.spl, spwi112.spl, spwi213.spl, spwi914.spl, spwm187.spl)
  • Shocking Grasp should not be blocked by spell protections, and shouldn't play an expiry sound since it can expire on its own. (sgrasp.itm, sgrasp.spl, spwi115.spl)
  • Black Blade of Disaster could be blocked by spell protections, and the weapon grandmastery that should accompany the weapon could sometimes get blocked. (blakblad.eff, blakblad.itm, cdbblade.spl)
  • Simulacrums and Projected Images should retain their stealth abilities, however, the Shadow Twin ability should be blocked. (projimag.spl, simulacr.spl)
  • When a creature with reflective damage enabled (e.g. Fireshield) attacks another with a similar protection, they could get caught in an infinite loop of retaliatory damage, potentially crashing the game. Also corrected the power levels of a few of these. (balshld2.spl, bdsha12a.spl, keldorn.spl, leat23a.spl, spcl237d.spl, spimixd.spl, sppr730d.spl, sppr951d.spl, sppr952d.spl, spwi403d.spl, spwi418d.spl)
  • The various Cure Wounds, Restoration, and Lay on Hands spells should be touch range and not dispellable. (bdcaela3.spl, cdpr417.spl, devaheal.spl, dw#fpplo.spl, ohbresto.spl, senspihe.spl, spcl211.spl, spcl815.spl, spin109.spl, spin200.spl, spin679.spl, spin711.spl, spin773.spl, spin827.spl, spin958.spl, sppr103.spl, sppr315.spl, sppr401.spl, sppr502.spl, sppr514.spl, sppr607.spl, spwish07.spl, spwish28.spl, spwish39.spl, spwish46.spl, spwm168.spl)
  • The various Cause Wounds spells should be touch range and not bypass magic resistance. (critical.itm, harm.itm, serious.itm, slaylive.itm, sppr599.spl, sppr699.spl)
  • Hexxat's Children of the Night ability was supposed to summon 1d4 creatures, but the percentages were all over the place. (ohhsumm.spl)
  • Enrage was using Berserk's spell icon instead of its own unique one. (spcl321.spl)
  • Shadow Twin was only lasting one turn instead of two. (spcl936.spl)
  • The damage at the end of Minsc's Berserk should occur just before the bonus HP are removed. (spin117.spl)
  • Psychic Drain was using the wrong animation (spin804.spl)
  • The fear icon that accompanies Slayer Fear lasted two turns instead of two rounds. (spin807.spl)
  • The delayed sound effect of Psionic Domination doesn't bypass magic resistance, though the rest of the spell does. (spin910.spl)
  • The Shield spell shouldn't stack.(spwi114.spl)
  • Per its description, Know Alignment should be a straight save vs. spell, but one lacked a saving throw and the other applied a penalty. (spwi208.spl, sppr209.spl)
  • Hardiness via Wish could stack with the HLA. (spwish12.spl)
  • The icon that accompanies drunkenness from Wish expired too early. (spwish33.spl)
  • Mimic Glue should not set the Grease stat. (spin914.spl)
  • Lesser Fire Spirit could cause spurious 'one of the spells has failed' messages. (bdsha12a.spl)
  • Larloch's Minor Drain and Vampiric Touch had redundant checks for spell protections. (spin104a.spl, spin106a.spl, spin997a.spl, spwi119a.spl, spwi314a.spl)
  • Non-Detection should not block Detect Evil spells. (spcl212.spl, spin120.spl, sppr101.spl, spwi202.spl)
  • Feeblemind is now properly a permanent effect. (spwi509.spl)
  • Various forms of Improved Haste were stacking with ranger Haste, and some could be blocked by magic resistance. (spin655.spl, spwi613.spl, spwish36.spl, spwish37.spl, spwish40.spl)
  • Mass Invisibility was applying the +4 save bonus from improved invisibility twice. (spwi721.spl)
  • Command had some leftover parameters that made creatures of greater than 36 HD immune. (sppr102.spl)
  • Slow Poison now actually slows poison instead of just curing it. (sppr212.spl)
  • The Poison spell lasted too long, and was coded in a way such that Slow Poison didn't work on it. (sppr411.spl)
  • Spirit Fire could be blocked by spell protections, and its double damage could be stopped by Mirror Image despite being an area-of-effect spell. (sppr450.spl, sppr450a.spl, sppr450b.spl)
  • Blade Barrier lasted two seconds too long. (sppr603.spl, sppr698.spl)
  • Dolorous Decay had the wrong duration, the portrait icon bypassed magic resistance, and some of the delayed effects had the wrong save. (sppr610.spl)
  • The blindness effect from Nature's Beauty was done in such a way that it could not be removed and didn't have normal blindness penalties. The spell is also limited to affecting humanoids. (sppr704.spl)
  • Sunray's instant death effect for undead is now blocked by Death Ward. (sppr707.spl, sppr707a.spl, sppr707b.spl, sppr707c.spl)
  • (Un)Holy Word was not affecting arcane spellcasting. (sppr710.spl, sppr715.spl)
  • Creeping Doom needed a projectile update, as well as a few fixes as to how it interacts with spell protections. (spin689.spl, sppr717.spl, flpr717a.spl)
  • Blackguard's Absorb Health should not bypass magic resistance and had some other minor issues. (spcl102.spl, spdn01a.spl)
  • When Berserk was used for non-party members, the messages about the expiration damage was still being displayed as combat feedback. (spcl321.spl, spcl321d.spl, spin117a.eff, spin117b.eff)
  • Minsc's Berserk had a custom audio cue from him that was not playing. (spin117.spl, spin117c.eff)
  • Sol's Searing Orb could be blocked by spell protections, and the spell was rebuilt in a substantially cleaner fashion. (sorb.itm, sppr614a.spl, sppr614b.spl)
  • Ice Storm should last four rounds, not three. (icestorm.pro)
  • Per its descript, Insect Plague should affect up to six creatures. (insec2.pro)
  • At its lowest level, Mazzy's strength buff was setting the exceptional strength bonus instead of incrementing it. (spin826.spl)
  • When cast at level 19 specifically, Conjure Fire Elemental would pause the caster for five rounds instead of three. (spwi620.spl)
  • Holy Smite and Unholy Blight were updated to better target by alignment. A new portrait icon for Unholy Blight's effects has been added. (sppr313.spl, sppr314.spl, sppr314d.bam, statdesc.2da)
  • Bulk Fixes:
    • Power determines how a spell interacts with protections where a creature is immune to spells of level X. (spin828.spl, spwi117a.spl)
    • Magic resistance determines whether a spell has to check against the target's magic resistance before going into effect. (spin685.spl, spwi223.spl, spwi411.spl, spwi625.spl, spwi711.spl)
    • Dispellability: Wraith Form effects should be dispellable. (spwi315.spl)
    • School: Some spells had the wrong spell school set. (balth07.spl, bhaal2a.spl, spcl212.spl, spin552.spl, spin553.spl, spin839.spl, spin920.spl, spin940.spl, spin943.spl, spin961.spl, spin962.spl, spin982.spl, spin997.spl, spin998.spl, spwi940.spl, spwm179.spl)
    • Secondary: Some spells had the wrong secondary type set. (balth07.spl, bhaal2a.spl, spcl212.spl, spcl722.spl, spin553.spl, spin558.spl, spin673.spl, spin686.spl, spin920.spl, spin940.spl, spin961.spl, spin962.spl, spin984.spl, spin997.spl, spin998.spl, spwi004.spl, spwi016.spl, spwi940.spl, spwm123.spl)

Creature Fixes Link to this section

  • Wilson's ability progression (specifically armor class and regeneration) did not match his description. Also closed an exploit where his strength gains could get repeated indefinitely. (clabbear.2da, ohrbear1.spl, ohrbear2.spl, ohrbear3.spl, ohrbear4.spl, ohrbear5.spl, ohrbear6.spl, wilson.bcs, wilson9.cre, wilson13.cre)
  • If you never speak to Firkraag before traveling to Windspear and defeating him there, he would still be hanging out at the Copper Coronet when you returned. (firkra01.bcs)
  • Several party members had the wrong values assigned to their kit field despite being unkitted. This could cause minor issues with scripting and spell learning. (anomen10.cre, anomen12.cre, anomen6.cre, anomen7.cre, anomen8.cre, imoen.cre, imoen10.cre, imoen15.cre, imoen211.cre, imoen213.cre, kivan.cre, kivan4.cre, kivan6.cre, mazzy11.cre, mazzy12.cre, mazzy15.cre, mazzy8.cre, mazzy9.cre, sarevok.cre)
  • Elemental summons shouldn't grant XP if killed. (elemchan.cre, elemsunn.cre, elemzaam.cre)
  • Bears summoned via Conjure Animals used generic bear scripting and lacked the normal scripting of summons. (bearposu.cre)
  • Creatures summoned in the Pocket Plane challenge shouldn't drop equipment. (chevil01.cre, chevil03.cre, chgood04.cre, chgood05.cre)
  • Several creatures (and the normal creature items that granted abilities) had incomplete immunities to confusion, fear, and/or hold. (gith03.cre, hslaywpn.itm, ohbbslay.itm, ohbetrai.itm, ohgith03.cre, ohhgmum.cre, ohhraffi.cre, slayerw1.itm, slayerwp.itm)
  • Ankhegs had an abnormally low HD, making them subject to sleep amongst other issues. (ankheg01.cre)
  • Poison Mists could spawn normally, but all of them used the summoned gender. This meant that they could be killed without checks by Death spell. (mistpo01.cre, mistposu.cre, sppois.eff)
  • The petrifying gaze of basilisks were forcing saves vs. spell instead of saves vs. petrification. (basigaze.itm, basilg1.itm, basill1.itm)
  • When sirines cause intelligence drain, they were using the 'feeblemind' icon instead of 'ability score drained'. (magiconf.itm, sirine1.itm)
  • Generalist mages were getting a +2 bonus to saves against dragon breath attacks because the spells providing the effects were not properly classed as schoolless. The blue dragon breath attack also needs some additional minor fixes. (drgrbrht.spl, spin535.spl, spin595.spl, spin595v.spl, spin596.spl, spin596v.spl, spin597.spl, spin691.spl, spin691v.spl, spin693.spl, spin832.spl, spin832v.spl, spin833.spl, spin833v.spl, spin893.spl, spin893v.spl, spin894.spl)
  • Nishruu and hakeashar should be destroyed by dispel magic, their attack used the wrong type, they had some basic creature errors (general, race, class, animation, resistances), and some other minor errors. (haksu.cre, nishruu.itm, nishru01.bcs, nishrusu.cre, spcl231.spl, specific.ids, spin112.spl, sppr303.spl, spwi302.spl, spwi326.spl)
  • Drizzt was updated to properly dual-wield his weapons in BGEE, and this has been done for BG2EE as well. (c6drizz.cre, c6drizz2.cre, c6drizz3.cre, drizzt.cre)
  • Shambling Mounds had their race and class set as earth elementals instead of their own custom values. (globsham.cre, hgmnd2.cre, hgmound.cre, smound01.cre, smoundsu.cre)
  • Bulk fixes:
    • Race: Three lizardmen were not set as Lizardmen race.. (ohbliz01.cre, ohbliz02.cre, ohbliz03.cre)
    • Class: Water elementals were not using their custom water elemental class. (elemhydr.cre, elwatg01.cre, ohbwat01.cre)
    • Alignment: some gnolls were chaotic neutral instead of chaotic evil (aegnoll.cre, dagnoll.cre, gnollhp1.cre)

Quest Fixes Link to this section

  • With the revamped resurrection mechanics, Vernus could not be brought back to life in Resurrection Gorge. (bhaal4a.spl, bhaal4aa.spl, rods03.itm, spja01.spl, spja01a.spl, sppr504.spl, sppr504a.spl, sppr550.spl, sppr550a.spl, sppr712.spl, sppr712a.spl)
  • Rangers can fail their stronghold quest if they arrive in Imnesvale as a Delon spawn timer expires. (ar1100.bcs, delon.dlg)
  • If you leave Brynnlaw with Saemon, you get caught by the Githyanki "on the fourth morn". However, no game time actually passes. (cut41q.bcs)
  • Despite ending the romance right before the encounter, bandits could still spawn and threaten Jaheira. (jaheira.bcs)
  • The golem fight in the Black Pits can not be completed on Legacy of Bhaal difficulty; the HD boosts to the creatures means the golems don't split properly. (ohb_t302.bcs)
  • Anomen was not always setting variables indicating the status of his romance. (banomen.dlg)
  • When the Shade Lord is defeated, all shadow doors open. (ar1401.bcs)
  • Dorn's patron Ur-gothoz is inconsistently depicted during his questline; its alignment and appearance have been standardized. (ohdugcut.cre, ohdugoth.bcs, ohdugoth.cre)
  • When speaking with the boy in Saradush who wants to resurrect his dad, the option to use the Blessed Bracers is now available. (orphan1.dlg)

Scripting/AI Fixes Link to this section

  • Two guards at the Copper Coronet had scripts that would indefinitely loop. (guard1a.bcs, guard1b.bcs)
  • Several container and region scripts used local variables, which containers and regions cannot store, causing minor errors. (ohbpot.bcs)
  • One of the generic enemy cleric scripts had a block that could force the script to loop and the character to do nothing as a result. (pries14a.bcs)
  • When fighting the slimes in Ust Natha, one of the slimes and priests spawn on top of one another. (ar2200.bcs)

Animation Fixes Link to this section

  • For larger creatures such as dragons, creature animations were typically split into four quadrants and stitched together on the game screen. Unfortunately, this could sometimes result in visible seams between the four disparate animations or, if a spell was in effect, animations cycling out of sync with one another. These larger animations have been merged into a single, monolithic animation to address these issues. (all mdem*.bam, mdr1*.bam, mdr2*.bam, mdr3*.bam, mwyv*.bam)
  • Similar to the above, large animations in areas could also be split and show the same seams where merged. (1400t001.bam, 1400t002.bam, 1400t003.bam, 1400t004.bam, 1400t005.bam, am0602c.bam, am0602d.bam, am0602k1.bam, am0602k2.bam, am0602l1.bam, am0602l2.bam, am0801b1.bam, am0801b2.bam, am0902l.bam, am0902l1.bam, am0902l2.bam, am0902l3.bam, am0902l4.bam, am2000a.bam, am2000a1.bam, am2000a2.bam, am2000a3.bam, am2000a4.bam, am2000b.bam, am2000b1.bam, am2000b2.bam, am2000b3.bam, am2000b4.bam, am2805b.bam, am2805c.bam, am414e11.bam, am414e12.bam )
  • The paperdoll for monks (the tutorial ones in Candlekeep, not the player class) were corrupted. (cmnk1inv.bam)
  • Several animations were not properly blended, resulting in black auras around the effects. (spsetsh.vvc, spnpoisi.vvc, spccmdsi.vvc)
  • The animation for Death Tyrant beholders had different spacing than regular beholders (despite being the same size) and was not being used by Death Tyrants. (7f02.ini, 7f46.ini, behund01.cre, melsum03.cre, rngbeh01.cre)
  • The animation for revenants needed some attack animation corrections and was not being used by revenants. (7701.ini, firmon04.cre, grreven.cre, reven01.cre)
  • Troll animations were inconsistently used, and have been standardized. (daspitro.cre, firamb03.cre, firamb05.cre, kptrol06.cre, mscr*.bam, mtic*.bam, mtsn*.bam, obsice01.cre, obsice11.cre, pptroll1.cre, pptroll2.cre, rogtro01.cre, rogtro02.cre, trolfr01.cre, trolfr02.cre, trolic01.cre, trolic02.cre, trolic03.cre, trolic04.cre, trolsi01.cre, trolsi02.cre, trolsn01.cre, trolsn02.cre)
  • The central eye in the Bhaal door is not actually visible, so you cannot view the animation for placing the Tear and seeing it close. (ar2900.are)
  • Helm of the Rock and Gold Horned Helm did not match their icons when equipped; coloring and style have been adjusted appropriately. (helm32.itm, helm33.itm)
  • Angurvadal (normal and upgraded) and the Sword of Flame glow when wielded. However, one part is mistargeted and could make the wielder's armor glow instead of the sword. (sw1h53.itm, sw1h60.itm, sw1h61.itm)
  • A handful of swords were using the wrong animations when wielded and are corrected: Habib's Mighty Scimitar, Flaming Long Sword from Rod of Lordly Might, Yamato +4, Usuno's Blade, and an internal copy of Spectral Brand. (misc9q.itm, rodsword.itm, sw1h66.itm, sw1h67.itm, sw1h68a.itm)

Polymorph Overhaul Link to this section

There were several ways that polymorphing--whether via a spell like Shapechange, a druid's natural abilities, or from an item like Cloak of the Wolf--could introduce numerous issues, especially when shifting directly between forms. A creature could retain stats or abilities from a previous form, or forced/voluntary/timed shapheshifts could overrun one another. As such, these abilities went through a complete overhaul designed to streamline the process, cover edge cases, and minimize issues. (bolt05.itm, brblp.itm, brbrp.itm, cdbrbrp.itm, cdbrbrp2.itm, cdgoliro.itm, cdmindfl.itm, cdwolfm.itm, clck04.itm, clck04.spl, clck27.itm, clck27a.spl, clck27b.spl, clck27c.spl, druear.itm, drufir.itm, earthrn.itm, figure01.itm, firern.itm, ohbpr608.spl, plybass.itm, plybear1.itm, plybear2.itm, plyflind.itm, plyjelly.itm, plymstar.itm, plysala.itm, plyspid.itm, plyspid2.itm, plytroll.itm, plywolf1.itm, plywyvrn.itm, polyjell.itm, polyrat.itm, slayerw1.itm, slayerw2.itm, slayerw3.itm, slayerw4.itm, spcl611.spl, spcl612.spl, spcl613.spl, spcl632.spl, spcl633.spl, spcl634.spl, spcl643.spl, spcl644.spl, spcl731.spl, spdm103.spl, spin107.spl, spin110.spl, spin111.spl, spin113.spl, spin122.spl, spin123.spl, spin124.spl, spin125.spl, spin126.spl, spin127.spl, spin150.spl, spin150r.eff, spin151.spl, spin152.spl, spin153.spl, spin154.spl, spin155.spl, spin156.spl, spin157.spl, spin160.spl, spin202.spl, spin663.spl, spin717.spl, spin717a.spl, spin783.spl, spin783a.spl, spin822.spl, spin823.spl, spin823a.spl, spin852.spl, spin852a.spl, spin868.spl, spin869.spl, spin974.spl, spinhum.spl, spinhume.eff, spinhume.spl, spinhumr.spl, spinhums.eff, spinhums.spl, spinhumw.eff, spinhumw.spl, splprot.2da, splstate.ids, sppr110.spl, sppr206.spl, sppr213.spl, sppr414.spl, sppr510.spl, sppr511.spl, sppr608.spl, sppr614.spl, sppr721.spl, sppr731.spl, sppr731a.spl, sppr732.spl, sppr732a.spl, spwi115.spl, spwi117.spl, spwi218.spl, spwi325.spl, spwi415.spl, spwi416.spl, spwi489.spl, spwi489r.eff, spwi490.spl, spwi491.spl, spwi493.spl, spwi494.spl, spwi495.spl, spwi496.spl, spwi497.spl, spwi498.spl, spwi499.spl, spwi518.spl, spwi711.spl, spwi711a.spl, spwi915.spl, spwi916.spl, spwi920.spl, spwi952.spl, spwm113.spl, spwm113a.spl, spwm183.spl, squirp.itm, trollall.itm, uddoor2.bcs, uddoor3.bcs, wand09.itm, wolfchar.cre, wolfgr.itm, wolfm.itm, wswolf.itm)

Probability Fixes Link to this section

Items and spells had systematic errors where effects that had an x% chance to occur were generally off by 1%, e.g. the Black Blade of Disaster is supposed to level drain on 10% of hits but was actually doing it on 11% of hits. This also affected spells, particularly the ones that had chances to summon different numbers of creatures. (aurstaf.itm, ax1h15.itm, balor.itm, bddart01.itm, beguile.spl, blakblad.itm, blun14.itm, blun26.itm, blun27.itm, blun29.itm, blun30.itm, blun30c.itm, blun30d.itm, bonedag.itm, bonefd.itm, cdfampsd.itm, clck07.itm, dagg13.itm, dagg17.itm, dagg20.itm, dagg21.itm, dagg22.itm, demmau01.itm, demochm.spl, deva.itm, devaevil.itm, devmon01.itm, dogwawp.itm, dwbolt01.itm, dwwhip.itm, dwwhip01.itm, finsol01.itm, finsol02.itm, gith.itm, gorcamb.itm, gorsnake.itm, gorwom1.itm, gorwom4.itm, halb09.itm, halb11.itm, hgnymph.itm, insanity.spl, marili.itm, misc2p.itm, misc9x.itm, miscbc.itm, mistho.itm, mistice.itm, mistva2.itm, mound.itm, ohbbrvgr.itm, ohbdagg1.itm, ohbdcorn.itm, ohbdem01.cre, ohbdeva.itm, ohbdli01.cre, ohbdli02.cre, ohbdpitf.itm, ohbdva01.cre, ohbgit04.cre, ohbimasc.cre, ohblittl.cre, ohbmerle.cre, ohbmnd01.cre, ohbmnd02.cre, ohbnpc01.cre, ohborc04.cre, ohbquake.spl, ohbrff01.cre, ohbsah02.cre, ohbsah03.cre, ohbvmp04.cre, ohbwat01.cre, ohbwing.itm, ohdvern.cre, ohhdag01.itm, ohhmind.cre, ohnhammx.spl, ohnvbalr.cre, ohrax1h1.itm, ohrbelt2.itm, ohrbrac1.eff, ohrclck3.itm, ohreaver.itm, ohreyeb1.spl, ohrslng1.itm, ohrwilc1.itm, ohrwilc2.itm, ohrwilc3.itm, ohrwilc4.itm, ohrwilc5.itm, ohtmps2d.spl, ohtmps2e.spl, planetar.itm, psdclaw.itm, ravag01.itm, reaver.itm, regisamu.itm, ring03.itm, ring30.itm, rods05.itm, sahzom01.itm, sareveff.spl, sendai.itm, sharswd.itm, slimed2.itm, spauru.spl, spcl132.spl, spcl311.spl, spcl641.spl, spcl918.spl, spermel.itm, spin106b.spl, spin108.spl, spin119.spl, spin534.spl, spin553.spl, spin558.spl, spin689.spl, spin787.spl, spin848.spl, spin883.spl, spin980.spl, spin985.spl, spogre01.spl, sppr102.spl, sppr204.spl, sppr250.spl, sppr450.spl, sppr512.spl, sppr605.spl, sppr702.spl, sppr720.spl, sppr982.spl, sprngb01.itm, sprngb02.itm, sprngb03.itm, sprngb04.itm, sprngl01.itm, sprngl02.itm, sprngl03.itm, sprngl04.itm, sprngs01.itm, sprngs02.itm, sprngs03.itm, sprngs04.itm, sprngw01.itm, sprngw02.itm, sprngw03.itm, sprngw04.itm, sprngz05.itm, spwi104.spl, spwi116.spl, spwi220.spl, spwi309.spl, spwi314b.spl, spwi316.spl, spwi407.spl, spwi423.spl, spwi504.spl, spwi506.spl, spwi620.spl, spwi621.spl, spwi622.spl, spwi623.spl, spwi711.spl, spwi714.spl, spwi929.spl, spwi930.spl, spwi943.spl, spwish13.spl, spwish14.spl, spwm130.spl, spwm136.spl, spwm179.spl, staf09.itm, staf13.itm, staf14.itm, staf15.itm, staf21.itm, staf22.itm, staf23.itm, sw1h51.itm, sw1h58.itm, sw1h59.itm, sw1h67.itm, sw1h99.itm, sw2h07.itm, sw2h15.itm, sw2h17.itm, sw2h18.itm, sw2hdeat.itm, talmiss2.cre, telslav.itm, trolltor.itm, urgekill.spl, wand08.itm, wand15.itm, was2h.itm, wastar.itm, zomsea.itm)

Revamp of Hold, Paralysis, and Web Link to this section

In the original Baldur's Gate, there were four internal methods to make an NPC freeze: paralysis (used in undead melee attacks), web (used by the spell of the same name and spiders), and two forms of hold (one for Hold spells and a second, special one reserved for special cases like cutscenes). As the series progressed through the BG expansion, into BG2, and concluding with Throne of Bhaal, these were used more and more freely, and muddled--you had web spells using paralysis, abilities that blocked the special hold (which nothing should) to the point where there was little distinction, if any, between these effects from a player's point of view. EEFP is re-establishing the scheme, going all the way back to the original Baldur's Gate, of trying to use these effects in a way that differentiates them and fixes a number of bugs along the way. Paralysis is, once again, the domain of undead attacks, and from which elves have some protection. Web is no longer paired by default with paralysis, meaning items which protect you from web no longer provide paralysis protection by accident, and the special hold will now always take effect. (amul17.itm, antiweb.itm, ax1h10.itm, bhaalhp1.itm, bhaalimm.itm, blun12.itm, blun25.itm, chalcy3.itm, deva.itm, dragring.itm, dwfpdeva.spl, dwfpdgcn.spl, dwfpdgfb.spl, dwfpohdv.spl, dwfpsmsl.spl, dwfpsmst.spl, dwfpwwfs.spl, dwfpwwhs.spl, enginest.2da, ghoul1.itm, ghoult.itm, gorfirg.itm, gorjelgr.itm, gormisti.itm, hamm10.itm, hamm11.itm, immchs.itm, imoenhp1.itm, insanity.spl, ipsion.itm, jwsuper.itm, kuobolt3.itm, mage05.itm, magiweb.itm, mel01.itm, minhp1.itm, objring.itm, ohbbanno.spl, ohbdeva.itm, ohdmhp1.itm, ohhexam4.itm, ohnwand1.spl, ohrrage.spl, ohsmode1.spl, ohsmode4.spl, ring94.itm, ring95.itm, ring97.itm, ring98.itm, ring99.itm, ringkora.itm, rossring.itm, sengua04.itm, spcl152.spl, spcl233b.spl, spcl242.spl, spcl321.spl, spcl742.spl, spdr201.spl, spermel.itm, spin117.spl, spin566.spl, spin648.spl, spin683.spl, spin872.spl, spin906.spl, spin988.spl, sppr208.spl, sppr305.spl, sppr508.spl, sppr728.spl, sppr989.spl, spwi215.spl, spwi306.spl, spwi324.spl, spwi507.spl, spwi818.spl, spwi818a.spl, spwi918.spl, spwi918a.spl, spwm122.spl, stalker.itm, trollimm.itm, vampreg.itm, vampreg1.itm, vampreg2.itm, wand12.itm, wand14.itm)

Immunity and Cure Fixes Link to this section

In the original Baldur's Gate II engine, something that made you 'immune to X' was actually fairly limited: you could make the character directly immune to the effect and (typically) the normal portrait icon, but many of the ancillary effects (sound effects, visuals, etc.) were hit or miss. A party member under free action would resist being paralyzed by a ghast, but the sound effect that plays when the paralysis was supposed to expire would still play. Similarly, creatures immune to confusion would resist the confusion itself but still play a spinning animation over their head for the spell's intended duration. Thankfully, the EEs provide more tools for dealing with immunities, and we can block all of these subsidiary effects. A parallel issue occurred when removing or curing effects. If you used Remove Fear on a panicking creature, the spinning animation over their head didn't always go away or the expiration sound would still play. Using a new EE feature, these subsidiary effects can be removed when the main effect is removed. (#cureber.spl, #curebld.spl, #curecon.spl, #curedef.spl, #curedis.spl, #curedrk.spl, #curefbm.spl, #curefer.spl, #curehol.spl, #cureinv.spl, #cureldr.spl, #curendt.spl, #curepse.spl, #curepsn.spl, #curesil.spl, #cureslp.spl, #curestn.spl, abazring.itm, acidooz4.itm, aldeth.itm, ammonk07.cre, ammonk08.cre, amsmith.cre, amsoul01.itm, amul17.itm, amul21.itm, amul22.itm, amul28.itm, arow03.itm, arow07.itm, aurstaf.itm, ax1h10.itm, ax1h15.itm, b1-12m4.itm, balor.itm, balth.cre, balth02.spl, balth07.spl, basigaze.itm, bazdra02.cre, bazpatrg.itm, bdbrd03.spl, bdhelm11.itm, bdsha01a.spl, bdsha01c.spl, bdsha06a.spl, bdsha06b.spl, bdsw2h01.spl, bearspir.itm, beholder.itm, bhaal1a.spl, bhaal2b.spl, bhaalhp1.itm, bhaalimm.itm, blun12.itm, blun14.itm, blun25.itm, blun30.itm, bolt07.itm, bolt08.itm, bpdispel.spl, brac16.itm, brac20.itm, brdflut1.itm, brdflute.itm, bull04.itm, carrio.itm, carsomyr.itm, cdfeeble.vvc, cdhgtrl.itm, cdhgtrl.spl, cdpr417.spl, cdrngchr.itm, cdstaf12.spl, cdstun.vvc, cdsw2h07.itm, cdtorgal.itm, cdtorgal.spl, cdtrlblz.itm, cdtrlblz.spl, chalcy3.itm, chalslay.itm, chwraith.itm, clck07.itm, clck30.itm, dart03.itm, ddguard1.cre, ddguard2.cre, ddguard3.cre, ddguard4.cre, ddguard5.cre, ddguard6.cre, ddguard7.cre, demcor01.itm, demilich.itm, demochm.spl, demogorg.itm, deva.itm, devaevil.cre, devaevil.itm, devagood.cre, devaheal.spl, devast01.cre, devmon01.cre, dogwawp.itm, dragring.itm, dwbolt02.itm, dwfpdeva.spl, dwfpdgcn.spl, dwfpdgfb.spl, dwfpohdv.spl, dwfpsmsl.spl, dwfpsmst.spl, dwfpwwfs.spl, dwfpwwhs.spl, elemchan.itm, elemcryo.itm, elemhydr.cre, elemhydr.itm, elemimix.itm, elemogre.itm, elemsunn.itm, elemyanc.itm, elemzaam.itm, eyegor01.itm, fampsdat.itm, fangel01.cre, finmel01.itm, finsol01.cre, finsol01.itm, finsol02.itm, finsol04.cre, firlch01.cre, fjbarda.spl, fjbardb.spl, fjbladeb.spl, flpr717a.spl, freering.itm, fsspir.itm, ghast1.itm, ghast1p.spl, ghoul1.itm, ghoulc.itm, ghoullop.spl, ghoullor.itm, gith.itm, globblu2.itm, globred2.itm, golbra.itm, golbra01.cre, golcla.itm, golfle.itm, golmag01.itm, golstone.itm, gorair01.cre, gorair02.cre, gorcamb6.cre, gorcamb7.cre, gorchr.itm, gorfirg.itm, gorjelfu.itm, gorjelgr.itm, gormisti.itm, gormistp.cre, gormistp.itm, gorstalk.cre, gorwom1.itm, hamm10.itm, hamm11.itm, helljon.cre, helljon2.cre, helm06.itm, helm14.itm, helm32.itm, hgber01.itm, hgfel01.cre, hgnya01.itm, hgnymph.itm, hllich.cre, hlshade.cre, holdring.itm, hslaywpn.itm, icetrl.itm, icetrlst.spl, igolem01.cre, immchs.itm, immcloud.itm, imoenhp1.itm, innoc.itm, insanity.spl, invulner.itm, ipsion.itm, irongol.itm, jellgr1.itm, jonhp1.itm, jwdeath.spl, jwglobe.spl, jwsuper.itm, jwtrue.spl, kaypal02.cre, kaypal03.cre, kaysmg01.cre, kaysmg02.cre, kaysmg03.cre, killsw01.itm, kuobolt.itm, kuobolt2.itm, kuoring.itm, kuosper.itm, lacedo.itm, lacedo02.itm, leat20.itm, lich.itm, lichel01.cre, lichel01.itm, mage05.itm, mage20.cre, mage20b.cre, mage20c.cre, magiconf.itm, magidead.itm, magiweb.itm, maharper.itm, mane01.itm, mdk2gun.itm, mdk2ring.itm, mdog1.itm, mel01.itm, melis01.spl, mepsal.itm, minhp1.itm, minhp20.itm, misc2p.itm, misc3l.itm, misc3m.itm, misc3n.itm, misc3o.itm, misc5c.itm, misc76.itm, misc9x.itm, miscbc.itm, mistho.itm, mistice.itm, mistpo01.cre, mistposu.cre, mistwa.itm, mound.itm, neired.itm, nofear.itm, npchan.itm, npplat.itm, npsw01.itm, objring.itm, ohbantim.spl, ohbbanno.spl, ohbbclt1.spl, ohbbrvgr.itm, ohbbslay.itm, ohbcel01.cre, ohbcel02.cre, ohbcel03.cre, ohbclck1.itm, ohbcsfd.spl, ohbdcorn.spl, ohbddeti.spl, ohbdemi2.spl, ohbdeva.itm, ohbdeva1.itm, ohbdfa1.spl, ohbdgelu.itm, ohbdrag2.spl, ohbdrkrg.itm, ohbdrown.spl, ohbdtrai.itm, ohbdva01.cre, ohbetrai.itm, ohbewwsl.spl, ohbgol01.itm, ohbjoke1.spl, ohbptn03.itm, ohbptn05.itm, ohbptn06.itm, ohbptn07.itm, ohbptn10.itm, ohbresto.spl, ohbsuza1.spl, ohbtgaze.spl, ohbwhirl.spl, ohbwi302.spl, ohbwing.cre, ohbwing.itm, ohbwing2.cre, ohbwing2.itm, ohdmask.itm, ohdmhp1.itm, ohdplanb.cre, ohdplanj.cre, ohdplanl.cre, ohdpotn1.spl, ohdpplan.cre, ohdsolar.cre, ohdsplan.cre, ohdxdis.spl, ohhayesh.cre, ohhdag01.itm, ohhexam1.itm, ohhexam2.itm, ohhexam3.itm, ohhexam4.itm, ohhexam5.itm, ohhghuf.cre, ohhphrey.itm, ohncoll.itm, ohnkill.spl, ohnwand1.spl, ohrboot1.itm, ohreaver.itm, ohreyeb1.spl, ohreyeb2.spl, ohreyeb3.spl, ohrfear.spl, ohrhelm1.itm, ohrmjar.spl, ohrrage.spl, ohsmode1.spl, ohsmode4.spl, ohtyr1.spl, ohwakeup.spl, palring.itm, paracarr.itm, paraghou.itm, planet01.cre, planetar.itm, planevil.cre, plangood.cre, planwish.cre, plybass.itm, plyjello.itm, plyjelly.itm, plytroll.itm, plywyvrn.itm, potn14.itm, potn17.itm, potn20.itm, potn21.itm, potn23.itm, potn32.itm, potn33.itm, potn38.itm, potn40.itm, potn45.itm, potn47.itm, potnmare.itm, ppguy01.cre, ppireni2.cre, ption41.itm, ravag01.itm, ravag03.itm, reaver.itm, regisamu.itm, ring03.itm, ring09.itm, ring27.itm, ring28.itm, ring29.itm, ring30.itm, ring39.itm, ring92.itm, ring93.itm, ring94.itm, ring95.itm, ring97.itm, ring98.itm, ring99.itm, ringdemn.itm, ringkora.itm, rodmace.itm, rods04.itm, rossring.itm, sahbolt.itm, scrl07.itm, scrl08.itm, scrl15.itm, scrl16.itm, scrl17.itm, scrlzy.itm, sendai7.cre, sengua04.itm, senspi01.itm, senspihe.spl, sewyag04.cre, shalt01.itm, shararm.itm, shld25.itm, sirine.itm, sirine1.itm, slayerw1.itm, slayerw2.itm, slayerw3.itm, slayerw4.itm, slayerwp.itm, slaylive.itm, slng06.itm, solar.cre, solar01.cre, spbatt1.itm, spbatt2.itm, spbatt3.itm, spbatt4.itm, spbatt5.itm, spbp001a.spl, spcl103.spl, spcl104.spl, spcl123.spl, spcl152.spl, spcl221.spl, spcl222.spl, spcl231.spl, spcl232.spl, spcl232d.spl, spcl233b.spl, spcl242.spl, spcl311.spl, spcl321.spl, spcl415.spl, spcl415h.spl, spcl422.spl, spcl521.spl, spcl542a.spl, spcl641.spl, spcl732.spl, spcl751a.spl, spcl814.spl, spcl817.spl, spcl908.spl, spcl917.spl, spcl920a.spl, spcl921a.spl, spcl941.spl, spctmd02.spl, spdr101.spl, spdr501.spl, spec01.itm, spec02.itm, sper07.itm, sper12.itm, spermel.itm, spidvo01.itm, spin101.spl, spin102.spl, spin105.spl, spin108.spl, spin112.spl, spin117.spl, spin119.spl, spin121.spl, spin200.spl, spin201.spl, spin203.spl, spin536.spl, spin542.spl, spin543.spl, spin550.spl, spin552.spl, spin558.spl, spin559.spl, spin572.spl, spin575.spl, spin581.spl, spin582.spl, spin584.spl, spin599.spl, spin614.spl, spin624.spl, spin627.spl, spin632.spl, spin646.spl, spin647.spl, spin648.spl, spin655.spl, spin673.spl, spin674.spl, spin675.spl, spin676.spl, spin679.spl, spin680.spl, spin681.spl, spin688.spl, spin692.spl, spin699.spl, spin703.spl, spin704.spl, spin711.spl, spin712.spl, spin723.spl, spin727.spl, spin734.spl, spin736.spl, spin746.spl, spin768.spl, spin772.spl, spin779.spl, spin780.spl, spin781.spl, spin782.spl, spin785.spl, spin789.spl, spin793.spl, spin804.spl, spin805.spl, spin813.spl, spin820.spl, spin828.spl, spin832.spl, spin836.spl, spin839.spl, spin853.spl, spin862.spl, spin865.spl, spin866.spl, spin871.spl, spin872.spl, spin873.spl, spin877.spl, spin882.spl, spin883.spl, spin888.spl, spin889.spl, spin890.spl, spin891.spl, spin891a.spl, spin892.spl, spin895.spl, spin906.spl, spin909.spl, spin910.spl, spin923.spl, spin926.spl, spin934.spl, spin944.spl, spin950.spl, spin951.spl, spin953.spl, spin958.spl, spin959.spl, spin961.spl, spin973.spl, spin974.spl, spin975.spl, spin976.spl, spin977.spl, spin978.spl, spin980.spl, spin981.spl, spin982.spl, spin983.spl, spin984.spl, spin985.spl, spin988.spl, spin990.spl, spin991.spl, spin992.spl, spin998.spl, spin999.spl, splstate.ids, sppois.eff, sppr102.spl, sppr103.spl, sppr105.spl, sppr108.spl, sppr204.spl, sppr208.spl, sppr211.spl, sppr212.spl, sppr250.spl, sppr302.spl, sppr303.spl, sppr304.spl, sppr305.spl, sppr308.spl, sppr309.spl, sppr311.spl, sppr313.spl, sppr314.spl, sppr315.spl, sppr317.spl, sppr350.spl, sppr401.spl, sppr403.spl, sppr404.spl, sppr405.spl, sppr409.spl, sppr416.spl, sppr417.spl, sppr502.spl, sppr505.spl, sppr505d.spl, sppr508.spl, sppr512.spl, sppr514.spl, sppr517.spl, sppr599.spl, sppr607.spl, sppr609.spl, sppr650.spl, sppr706.spl, sppr708.spl, sppr709.spl, sppr713.spl, sppr718.spl, sppr719.spl, sppr950.spl, sppr982.spl, sppr983.spl, sppr984.spl, sppr988.spl, sppr989.spl, spra301.spl, sprngb01.itm, sprngb02.itm, sprngb03.itm, sprngb04.itm, sprngl01.itm, sprngl02.itm, sprngl03.itm, sprngl04.itm, sprngs01.itm, sprngs02.itm, sprngs03.itm, sprngs04.itm, sprngw01.itm, sprngw02.itm, sprngw03.itm, sprngw04.itm, sprngz05.itm, spwi006.spl, spwi010.spl, spwi016.spl, spwi053.spl, spwi054.spl, spwi055.spl, spwi056.spl, spwi104.spl, spwi108.spl, spwi116.spl, spwi118.spl, spwi118a.spl, spwi118d.spl, spwi118e.spl, spwi118g.spl, spwi125.spl, spwi203.spl, spwi205.spl, spwi210.spl, spwi211.spl, spwi213.spl, spwi215.spl, spwi219.spl, spwi220.spl, spwi224.spl, spwi302.spl, spwi305.spl, spwi306.spl, spwi312.spl, spwi313.spl, spwi316.spl, spwi326.spl, spwi401.spl, spwi406.spl, spwi411.spl, spwi411b.spl, spwi502.spl, spwi506.spl, spwi507.spl, spwi508.spl, spwi509.spl, spwi515.spl, spwi602.spl, spwi604.spl, spwi609.spl, spwi609d.spl, spwi612.spl, spwi613.spl, spwi616.spl, spwi713.spl, spwi715.spl, spwi811.spl, spwi816.spl, spwi817.spl, spwi853.spl, spwi897.spl, spwi898.spl, spwi899.spl, spwi912.spl, spwi913.spl, spwi929.spl, spwi939.spl, spwi943.spl, spwi954.spl, spwi956.spl, spwi959.spl, spwi960.spl, spwi996.spl, spwi998.spl, spwish07.spl, spwish25.spl, spwish28.spl, spwish35.spl, spwish36.spl, spwish37.spl, spwish40.spl, spwish46.spl, spwm111.spl, spwm112.spl, spwm114.spl, spwm115.spl, spwm122.spl, spwm123.spl, spwm126.spl, spwm152.spl, spwm164.spl, spwm168.spl, spwm179.spl, staf09.itm, staf10.itm, staf11.itm, staf13.itm, staf14.itm, staf15.itm, staf16.itm, staf17.itm, stalker.itm, stdeath.itm, sujon.cre, sujon2.cre, suraam.cre, surehp1.itm, susuneer.cre, sw1h27.itm, sw1h32.itm, sw1h35.itm, sw1h36.itm, sw1h50.itm, sw1h54.itm, sw1h58.itm, sw1h71.itm, sw1h99.itm, sw2h06.itm, sw2h10.itm, sw2h10dm.spl, sw2h13.itm, sw2h14.itm, sw2h15.itm, sw2h19.itm, sw2h21.itm, sword01.cre, telslav.itm, telslav2.itm, trollall.itm, trollimm.itm, trollreg.itm, trollreg.spl, trolltor.itm, tstatue.itm, uddrow50.cre, udgolem.cre, udlesa.cre, umber01.itm, umber02.itm, urgekill.spl, vampreg.itm, vampreg1.itm, vampreg2.itm, wa2harp.itm, wand02.itm, wand04.itm, wand12.itm, wand13.itm, was2h.itm)

Other Fixes Link to this section

  • Battleguards starting in Throne of Bhaal would not receive a starting weapon due to a typo. (25stweap.2da)

Internal Fixes Link to this section

This is a roundup of fixes that primarily impact modders and are not visible to players.

  • The Neothelid lacked an ini file and correct animate/anisnd.ids entries. (3001.ini, animate.ids, anisnd.ids)
  • Several of the splprot.2da entries (specifically, alignment checks) were mislabeled. (splprot.2da)
  • Kit ability tables for the archer, dark moon monk, and sun soul monk had missing entries for some columns. (clabmo02.2da, clabmo03.2da, clabrn02.2da)
  • Various spells use feedback (op139) with non-permanent timing or non-zero durations. (helm32.itm, spin595.spl, spin878.spl, spin893.spl, spin929.spl, spin931.spl, spwi714.spl, spwi815.spl, spwi958.spl)
  • Misindexed items and spells were fixed. (hamm06.itm, ohbwi302.spl, ohbwi304.spl, staf01.itm)
  • Detect Evil no longer gets routed through a subspell. On the originals, only evil creatures got checked for magic resistance, which let you know that any 'magic resistance' creature was evil. On the EEs, everyone gets checked which means this is no longer a free check. (spcl212.spl, spin120.spl, sppr101.spl, spwi202.spl)
  • Sleep icons are folded into op39 directly on various sleep effects (spin940.spl, spwi004.spl, spwi213.spl, spwi411.spl, spwm187.spl)
  • 'Bypass mirror image' flags were set on a number of opcodes that don't support it (spin940.spl, spwi004.spl, spwi213.spl, spwm187.spl)
  • Spells which use improved invisibility will no longer set normal invisibility as it's redundant (ohbwi405.spl, spdr401.spl, spin544.spl, spin698.spl, spwi405.spl, spwi505.spl)
  • Removed duplicate and/or redundant effects from many items and spells (amul17.itm, bdddoorx.spl, bdsha01c.spl, bdsha06b.spl, bdspirim.itm, bdspnaim.itm, bhaalhp1.itm, bhaalimm.itm, blun30.itm, chalcy3.itm, clck04.itm, clck27.itm, dgarchon.spl, dragring.itm, gorchr.itm, gorfirg.itm, gorjelfu.itm, gorjelgr.itm, gormisti.itm, imoenhp1.itm, ipsion.itm, jwsuper.itm, lichtel.spl, mel01.itm, minhp1.itm, misc9y.itm, ohbbanno.spl, ohbdrkrg.itm, ohbjoke2.spl, ohdmhp1.itm, ohrboot1.itm, ohrfear.spl, ohtmps2d.spl, ohtmps2e.spl, potn23.itm, potn25.itm, potn32.itm, potn40.itm, potn45.itm, potn46.itm, ring09.itm, ring95.itm, rodsword.itm, rossring.itm, scrl10.itm, scrl11.itm, scrl12.itm, scrl13.itm, scrl18.itm, scrlpet.itm, sengua04.itm, shld24.itm, shld24a.itm, spcl152.spl, spcl321.spl, spcl611.spl, spcl612.spl, spcl613.spl, spcl632.spl, spcl633.spl, spcl634.spl, spcl643.spl, spcl644.spl, spcl722.spl, spcl900.spl, spcl901.spl, spdr301.spl, sper12.itm, spin107.spl, spin110.spl, spin111.spl, spin117.spl, spin121.spl, spin122.spl, spin123.spl, spin124.spl, spin125.spl, spin126.spl, spin127.spl, spin150.spl, spin151.spl, spin152.spl, spin153.spl, spin154.spl, spin155.spl, spin156.spl, spin157.spl, spin529.spl, spin632.spl, spin667.spl, spin710.spl, spin714.spl, spin717.spl, spin718.spl, spin718a.spl, spin783.spl, spin823.spl, spin852.spl, spin920.spl, spin952.spl, spinhum.spl, sppr111.spl, sppr319.spl, sppr508.spl, sppr517.spl, sppr613.spl, sppr701.spl, sppr704.spl, sppr717.spl, sppr717a.spl, sppr731.spl, sppr732.spl, spra302.spl, spra303.spl, sprngb03.itm, sprngb04.itm, sprngl03.itm, sprngl04.itm, sprngs01.itm, sprngs02.itm, sprngs03.itm, sprngs04.itm, sprngz05.itm, spwi002.spl, spwi222.spl, spwi308.spl, spwi311.spl, spwi318.spl, spwi415.spl, spwi489.spl, spwi490.spl, spwi491.spl, spwi493.spl, spwi494.spl, spwi495.spl, spwi496.spl, spwi497.spl, spwi498.spl, spwi499.spl, spwi511.spl, spwi522.spl, spwi618.spl, spwi701.spl, spwi705.spl, spwi711.spl, spwi723.spl, spwi902.spl, spwi997.spl, surehp1.itm, sw1h27.itm, sw2h21.itm, trollimm.itm, tstatue.itm, wand09.itm, wand19.itm)
  • Effects with permanent timing shouldn't have durations (sppr202.spl)
  • Various spells and items had to have effects reorganized to facilitate other fixes (ax1h10.itm, blun12.itm, blun25.itm, deva.itm, dwfpdeva.spl, dwfpdgcn.spl, dwfpdgfb.spl, dwfpohdv.spl, dwfpsmsl.spl, dwfpsmst.spl, dwfpwwfs.spl, dwfpwwhs.spl, hamm10.itm, hamm11.itm, insanity.spl, ohbdeva.itm, spermel.itm, wand12.itm)
  • Several spells that used swarms of EFFs have been recoded with cleaner implementations (sppr707.spl, sppr707a.spl, sppr707b.spl, sppr707c.spl, sppr710.spl, sppr715.spl)
  • Targeting for bhaal1a.spl was incorrect (bhaal1a.spl)
  • The duplicate, unused, and misspelled EigthNearestEnemyOfType and EigthNearestMyGroupOfType objects are removed. (object.ids)
  • Kit check in splprot.2da is useless since it's a bitwise check, which only works for kits (e.g. mages) which happen to be powers-of-two. It's changed to be a straight numerical check. (splprot.2da)