BG2 Fixpack Documentation

This documentation is complete as of Version 12 and will contain game spoilers. Fixes included in the BETA Core Fixes are listed in red.

Spell Fixes

Common Spell Fix Roundup

Many spells had discrepancies between their descriptions and their actual abilities.

  • Name/Description/Icon - Some spells were using the wrong icon in the quick bar or the wrong description. Moon Dog Sight (spin696.spl), Animate Dead (priest) (sppr301.spl), Grease (spwi101.spl), Detect Evil (spwi202.spl), Psionic Blast (spin775.spl), Moon Dog Healing Lick (strref #40634)
  • Duration - Several spells had durations that did not match their description. Sometimes these durations only affected some of the effects of the spell, or only when cast at certain levels. Spells fixed are Symbol, Fear (strref #14320); Maze (intmod.2da), Horror (spwi205.spl), Luck (spwi209.spl), Invisibility 10' Radius (spwi307.spl), Hold Monster (spwi507.spl), Resist Fire/Cold (sppr210.spl), Hold Animal (sppr305.spl), Holy Smite (sppr313.spl), Righteous Magic (dgright.spl, sppr513.spl), Gate (spwi905.spl), Grease (spwi101.spl), Armor (spwi102.spl), Black Blade of Disaster (SoA-only) (spwi915.spl), Burning Hands (spwi103.spl), Friends (spwi107.spl), Farsight (spwi424.spl), Invisible Stalker (spwi601.spl), Cacofiend (spwi707.spl), Sphere of Chaos (spwi711.spl), Power Word: Blind (spwi815.spl), Absolute Immunity (spwi907.spl), Meteor Swarm (metswarm.pro), Improved Alacrity via Wish (spwish17.spl), Spell Shield (spwi519.spl), Chromatic Orb (spdr101.spl, spwi118.spl), Champion's Strength (sppr507.spl), Protection from Evil (spwi113.spl), Monster Summoning I (spwi309.spl), Monster Summoning II (spwi407.spl), Animal Summoning II (spra305.spl), Minsc's Berserk (spin117.spl), Ice Storm (icestorm.pro), beast master version of Animal Summoning I (spr304.spl), Kilthix's web tangle (spin683.spl), innate Protection from Evil (spin121.spl), Contingency (strref #25943), False Dawn (strref #38570), Called Shot (spcl121.spl), Improved Chaos Shield (strref #64326)
  • Range - Several spells have ranges at odds with their descriptions. Note that maximum range for spells in BG2 is visual range (30 feet). Spells fixed are Chant (sppr203.spl), Chromatic Orb (spdr101.spl, spwi118.spl) Detect Evil (projectl.ids, spcl212.spl, spin120.spl, sppr104.spl, spwi202.spl), Gate (sppr703.spl, spwi905.spl), Grease (spwi101.spl), Color Spray (cspray.pro, spin937.spl, spwi105.spl), Magic Missile (spin685.spl, spin962.spl, spwi003.spl, spwi112.spl), Cone of Cold (spwi503.spl), Larloch's Minor Drain (spin104.spl, spwi119.spl), Blindness (spwi106.spl), Infravision (spwi111.spl), Sleep (spwi116.spl), Spook (spwi125.spl), Skull Trap (spwi313.spl), Burning Hands (spwi103.spl), Contagion (spwi409.spl), charm via the Ring of Animal Friendhsip (ring03.itm), beam from Ring of Energy (ring20.itm), fireball via Necklace of Missiles (amul01.itm)
  • Magic Resistance - In several cases, spell effects would be a mixed bag of bypassing or being blocked by magic resistance, resulting in incorrect feedback in the battle window. For example, Spook can be resisted by magic resistance, but the message 'panic' would always play as if the spell worked. Spells fixed are Detect Evil (cddetevl.pro, cddetevl.spl, spin696.spl), Spook (spwi125.spl), Melf's Acid Arrow (spwi211.spl), Dispel Magic (deva.itm, devaevil.itm, elemchan.itm, elemcryo.itm, elemhydr.itm, elemimix.itm, elemogre.itm, elemsunn.itm, elemyanc.itm, elemzaam.itm, planetar.itm, ravag01.itm, spin866.spl, sppr303.spl, spwi326.spl, sw2h10dm.spl), Remove Magic (spwi302.spl), Edwin's Nether Scroll bonuses (spin664.spl), heal before ettin fight at CoC (spin923.spl), mind flayer heal (spin958.spl), beholder Death Ray (spin991.spl), Death via Skull of Death (helm17.itm), Energy Drain (spwi914.spl), Larloch's Minor Drain via Foebane (sw1h63.itm), Simulacrum via Vhailor's Helm (wa2helm.itm), Sunray via Helm of Brilliance (helm16.itm), Cloudkill via Wand of Cloudkill (wand13.itm), Chromatic Orb (spdr101.spl, spwi118.spl), Sphere of Chaos (spwi711.spl), stalker version of Haste (spra301.spl)
  • Damage - Several spells had deviations from their listed damage. Spells affected are Magic Missile (spin685.spl, spin962.spl, spwi003.spl, spwi112.spl), Cone of Cold (spwi503.spl), Delayed Blast Fireball (spwi712.spl), Holy Smite/Unholy Blight (sp313l02.eff, sp313l03.eff, sp313l04.eff, sp313l05.eff, sp313l06.eff, sp313l07.eff, sp313l08.eff, sp313l09.eff, sp313l10.eff, sppr313.spl, sppr314.spl)
  • Saves - Several spells had discrepancies in their saves, i.e. penalties/bonuses that were wrong, saving throws of the wrong type, missing saves, etc. In some cases multiple saves were allowed. Spells fixed are Teleport Field (strref #25894), Sol's Searing Orb (udead66.eff), Control/Hold Undead (undchstr.eff, undchvis.eff), Edwin's Nether Scroll bonuses (spin664.spl), Entangle (sppr105.spl), Hold Animal (sppr305.spl), Death via Skull of Death (helm17.itm), Color Spray (spin937.spl, spwi105.spl), Confusion (spwi401.spl), Flesh to Stone (cut scene) (spin950.spl), Polymorph Other (spwi415.spl, spwm183.spl), Bigby's Crushing Hand (spwi918.spl), Dragon's Breath (spwi922.spl), Horror (spin105.spl, spwi205.spl), Spook (spwi125.spl), Ray of Enfeeblement (spwi221.spl), Cloudkill via Wand (strref #17709), Ray of Enfeeblement (spwi221.spl), Miscast Magic (divine and trap) (sppr310.spl, spr986.spl), innate charm abilities of Erinyes and Nalmissra (spin553.spl, spin558.spl), Demilich Howl (spin789.spl), Charm Person or Mammal (unused) (spcl641.spl)
  • Headers - Every spell has headers, which determine what effects occur when cast at a particular level. In many cases, spells were missing headers, generally meaning they were cast at a lower level than the actual caster. Spells are also capped at level 20. Spells fixed are Silence (dragon innate could fail if level-drained) (spin692.spl), Spell Shield (spwi519.spl), Animate Dead (priest) (sppr301.spl), Holy Smite/Unholy Blight (sppr313.spl, sppr314.spl), Free Action (sppr403.spl), Grease (spwi101.spl), Black Blade of Disaster (SoA-only) (spwi915.spl), Friends (spwi107.spl), Protection from Fire (spwi319.spl), Protection from Cold (swi320.spl), Cone of Cold (spwi503.spl), Conjure Air Elemental (spwi621.spl), Conjure Earth Elemental (spwi622.spl), Summon Hakeashar (spwi719.spl), Champion's Strength (sppr507.spl), Holy Power (sppr412.spl)
  • Portrait Icons - Spells are supposed to set and remove portrait icons as feedback for active effects on party members. In many cases they were failing to set or remove these properly. Spells fixed are Remove Paralysis (sppr308.spl), Holy and Unholy Word (icondeaf.eff, sppr710.spl, sppr715.spl), Hold Monster (spwi507.spl), Chromatic Orb (spdr101.spl, spwi118.spl), Holy Smite (sppr313.spl, cdblind.eff), Dragon's Breath (spwi922.spl), Spell Shield (hardcoded to use wrong icon; BAMs switched in states.bam and other spells adjusted) (spwi606.spl, statdesc.2da, states.bam, states2.bam), Entangle (enemy) (spin688.spl, spwm111.spl), Abazigal's Shockwave (spin531.spl), Anti-Magic Ray (spin550.spl, spin992.spl), Dead Magic Area (spin646.spl), Insect Plague (spin689.spl, sppr517.spl), spell failure via Wish (spin731.spl), Miscast Magic (sppr310.spl, sppr986.spl, spwish30.spl), Summon Insects (sppr319.spl), Creeping Doom (sppr717.spl), Wild Surge: Repulsion (spwm128.spl), Storm of Vengeance (sppr722.spl), stalker version of Minor Spell Deflection (spra302.spl), Kilthix's web tangle (spin683.spl), unused (spcl132.spl), Anti-Magic (multiplayer) (spin712.spl)
  • Casting Animations - Spells play a set graphic on the caster, depending on the school of the spell. Several spells were using the wrong animation. Spells fixed are Bigby's Clenched Fist (spwi818.spl), Bigby's Crushing Hand (spwi918.spl), Shield (spwi114.spl), Chaos Shield (spwi222.spl), Improved Chaos Shield (spwi723.spl), Contagion (spwi409.spl), Farsight (spwi424.spl), Nahal's Reckless Dweomer (spwi124.spl), Oracle (spwi515.spl), Shadow Door (spwi505.spl), Holy Power (sppr412.spl), Farsight (sppr415.spl), Lesser Restoration (sppr417.spl), Repulse Undead (sppr515.spl, spwm101.spl), Insect Plague (sppr517.spl), Creeping Doom (sppr717.spl), Symbol, Death (NPC) (spwi897.spl), Symbol, Stun (NPC) (spwi898.spl), Symbol, Fear (NPC, wild surge) (spwi899.spl, spwm123.spl)
  • Cosmetic Effects - Spells use a number of animations and sound effects, and in some cases these weren't showing up or being played properly. Spells fixed are Regeneration (sppr711.spl), Flame Strike (before-and-after comparison) (spin799.spl, sppr985.spl, spwi979.spl, spwm186.spl), psionic blast (spin974.spl), psionic maze (spin774.spl), Armor (spwi102.spl), Protection from Evil (spwi113.spl), several subspells of Wish (spwish01.spl, spwish02.spl, spwish03.spl, spwish04.spl, spwish05.spl, spwish06.spl, spwish08.spl), Remove Curse (arcane) (spwi410.spl), Sunfire (spwi523.spl), Cocfiend via wild surge (spwm154.spl), Maze via special snare (spcl415.spl)
  • Targeting - Several spells had targeting errors, i.e. Neutralize Poison would always cure disease on the caster instead of its intended target. Spells fixed are Protection From Normal Missiles (spra303.spl, spwi311.spl), Geas from ToB Spectator Beholder (senbehkd.spl), Holy Smite (sppr313.spl), Free Action (sppr403.spl), Neutralize Poison (sppr404.spl), Death Ward (sppr409.spl), Abazigal's dragon transformation (abzaway.spl), Power Word: Blind (holdsumm.pro), Wild Surge: Destroy Gold (spwm117.spl), Chromatic Orb (spdr101.spl, spwi118.spl), Invisibility 10' Radius (spwi307.spl)
  • Casting Time - Several spells had an incorrect casting speed per their description. Several innate abilities are set to casting time zero to make them uninterruptable. Spells affected are Nahal's Reckless Dweomer (strref #8212, spwi124.spl), Enchanted Weapon (spwi417.spl, spwi485.spl, spwi486.spl, spwi487.spl, spwi488.spl), Kai (spcl144.spl), Rage (spcl152.spl), Enrage (spcl321.spl), Larloch's Minor Drain (spin104.spl), Minsc's Berserk (spin107.spl), Detect Evil (sppr104.spl), Doom (sppr113.spl), Draw Upon Holy Might (sppr214.spl), Animate Dead (divine) (sppr301.spl), Call Lightning (sppr302.spl), Hold Animal (sppr305.spl), Invisibility Purge (sppr309.spl), Miscast Magic (sppr310.spl), Rigid Thinking (sppr311.spl), Free Action (sppr403.spl), Cure Critical Wounds (sppr502.spl), Harm (sppr608.spl), Regenerate (sppr711.spl), Creeping Doom (sppr717.spl), Earthquake (sppr720.spl), Elemental Summoning (sppr723.spl), Greater Elemental Summoning (sppr724.spl), Grease (spwi101.spl), Armor (spwi102.spl), Find Familiar (spwi123.spl), Nahal's Reckless Dweomer (spwi124.spl), Know Alignment (spwi208.spl), Melf's Acid Arrow (spwi211.spl), Strength (spwi214.spl), Agannazar's Scorcher (spwi217.spl), Monster Summoning I (spwi309.spl), Dimension Door (spwi402.spl), Stoneskin (spwi408.spl), Minor Sequencer (spwi420.spl), Animate Dead (mage) (spwi501.spl), Monster Summoning III (spwi504.spl), Shadow Door (spwi505.spl), Protection from Normal Weapons (spwi511.spl), Protection from Acid (spwi517.spl), Minor Spell Turning (spwi522.spl), Pierce Magic (spwi608.spl), True Sight (spwi609.spl), Contingency (spwi617.spl), Spell Sequencer (spwi710.spl), Improved Chaos Shield (spwi723.spl), Protection from Energy (spwi802.spl), Spell Trigger (spwi809.spl), Symbol, Fear (spwi811.spl, spwi899.spl, spwm123.spl), Symbol, Stun (spwi816.spl, spwi898.spl), Symbol, Death (spwi817.spl, spwi897.spl)
  • Combat Feedback Messages - Spells are generally accompanied by messages such as 'held' or 'blind'. Several of these errors are corrected. Spells fixed are Hold Monster (spwi507.spl), Protection From Normal Weapons (spwi511.spl), Sol's Searing Orb (sorb.itm), Chromatic Orb (spdr101.spl, spwi118.spl), Holy Smite (sppr313.spl, cdblind1.eff), Pierce Shield (spwi805.spl)
  • Area of Effect - Most descriptions that provide an area of effect for a spell is wrong, as they generally used 'diameter' when they should have used radius. In other places they used AoE descriptions copied form Pen and Paper that referenced impossible AoE shapes (in the BG2 engine at least) such as cubes. None of the actual AoEs are changed, Fixpack merely updates the spell and item descriptions to be accurate. Spells affected are Cloudkill (spell and via wand) (strref #17709, #12175), Mass Cure (strref #7469), Ice Storm (strref #12178), Haste (strref #12193), Strength of One (strref #12213), Bless (strref #12216), Sunray (spell and via Daystar) (strref #14285 and #39453), Skull Trap (strref #17647), Sleep (via wand) (strref #17657), Emotion (strref #22174), Defensive Harmony (strref #22830), True Seeing (spell and via Book of Infinite Spells) (strref #25623 and #39430), Holy Word (strref #25764), Detect Illusion (strref #25872), Oracle (strref #25922), True Sight (strref #25936), Unholy Word (strref #35658), Pixie Dust (strref #45007), Holy Smite (strref #3963), Unholy Blight (strref #4350), Greater Command (strref #6939), Necklace of Missiles (strref #7371), Death Fog (strref #7622), Incendiary Cloud (strref #7664), Horrid Wilting (strref #7680), Wail of the Banshee (strref #7712), Death Spell (spell and via Skull of Death) (strref #7918 and #39568), Confusion (strref #10985), Remove Magic (strref #12145), Resist Fear (strref #12151), Grease (strref #12154), Detect Invisible (strref #12163), Fireball (strref #12177), Stinking Cloud (spell and via Book of Infinite Spells) (strref #12181 and #39436), Horror (strref #12188), Slow (strref #12196), Dispel Magic (strref #12199), Glyph of Warding (strref #12200), Remove Fear (strref #12204), Remove Paralysis (strref #12205), Entangle (strref #12208), Chant (strref #12217), Invisibility Purge (strref #12221), Wand of Fear (strref #17287), Symbol, Fear (strref #17362), Potion of Explosions (strref #20579), Greater Malison (strref #22186), Chaos (strref #22611), Fire Storm (strref #25755), Sphere of Chaos (strref #25954), Delayed Blast Fireball (spell and via Book of Infinite Spells) (strref #25959 and #39427), Meteor Swarm (strref #26347), Mass Invisibility (strref #32428), Glitterdust (#38595), Sonic Boom via Sling of Arvoreen (strref #39520), Sunray and Fireball via the Helm of Brilliance (strref #39567), Dispel Fear via Azlaer's Harp (strref #39671), Symbol, Stun (strref #39957 and #45059), Sunfire (strref #39965), Symbol, Death (strref #39967 and #45058), Nature's Beauty (strref #44946), Earthquake (strref #45055), Dispel Magic (strref #45821), Dispel Magic (strref #45821), False Dawn (strref #38570), Dragon's Breath (strref #63220), Comet (strref #63584), Storm of Vengeance (strref #63743), Symbol, Fear (strref #14320), Teleport Field (strref #25894),
  • Timing Cleanup - Several opcodes should only be used as permanent effects, and some permanent effects had durations. These are cleaned up. (spcl906b.eff, spin935d.eff, stunstrg.eff)

Spells vs. Spell Protections

There were many errors in the ways that spell protections--combat protections such as Mantle or anti-spells such as Spell Immunity or Globe of Invulnerability--interacted with regular spells, innate abilities, and their counter spells. Every spell has a school (divination, transmutation, etc.), a secondary type (a rough description of what a spell does, used internally by the engine), and every individual effect of a spell has a power level (power is essentially the spell level applied individually to each effect; item effects are generally zero). Spell schools matter to spells like Spell Immunity, secondary types matter to spells such as Breach, and power levels matter to spells that protect against spells of level X such as Globe of Invulnerability.

  • Schools/Secondaries - Every spell has a primary school and a secondary classification, which are fixed for a number of spells and abilities. Both are used in determing how spell protections and anti-magic effects interact. In a few cases, such as dragon wing buffet, schools are removed so that they bypass Spell Immunity and Spell Trap. Spells affected are Nahal's Reckless Dweomer (spwi124.spl), Mass Invisibility (spwi721.spl), Energy Blades (spwi920.spl), Improved Alacrity (spwi921.spl), Dragon's Breath (arcane) (spwi922.spl), Summon Planetar (spwi923.spl, spwi924.spl), Comet (spwi925.spl), hell door buffet (spin658.spl), dragon wing buffet (spin695.spl), Hallowed Redeemer's retribution ability (keldorn.spl), drow transformation (spin825.spl), Conjure Animals (sppr604.spl), Flesh to Stone (cutscene) (spin950.spl, spin951.spl), Lesser Restoration (sppr417.spl), Negative Plane Protection (sppr413.spl), special tutorial restoration (spin746.spl), Stoneskin (dragon) (spin964.spl), slayer change (spin823.spl)
  • Clarifications - The descriptions of Minor Globe of Invulnerability, Globe of Invulnerability, Shield of the Archons, and Spellstrike were updated to better reflect their interaction with other spells and protections. (strrefs #8064, #11015, #12164, and #26315)
  • Power levels - For the most part, power level errors resulted in mainly cosmetic bugs with a few notable exceptions, i.e. the Short Sword of Mask is supposed to entangle its target on a hit, but it would be blocked by spell protections. (arow06.itm, arow08.itm, arow09.itm, aurstaf.itm, ax1h07.itm, blakblad.itm, blun20.itm, bolt03.itm, bolt05.itm, bonedag.itm, brac20.itm, brdflute.itm, chalcy2.itm, dart03.itm, dart04.itm, dart05.itm, dartmel.itm, eneblade.itm, globblu1.itm, globred1.itm, globred2.itm, gorcamb.itm, halb06.itm, hamm03.itm, hamm05.itm, helm16.itm, helm17.itm, hgber01.itm, hgnya01.itm, icetrl.itm, killsw01.itm, kuobolt3.itm, misc5c.itm, mistcd.itm, mistho.itm, mistice.itm, mistva.itm, mistva2.itm, mistwa.itm, mound.itm, nebdag.itm, potn13.itm, potn26.itm, potn27.itm, quasclaw.itm, ravag01.itm, ravag02.itm, revent1.itm, ring20.itm, rods03.itm, scrl03.itm, scrl04.itm, scrl05.itm, scrl06.itm, scrl08.itm, scrl09.itm, scrl15.itm, secret02.itm, sendai.itm, shille.itm, slaylive.itm, spermel.itm, spin658.spl, spin695.spl, spin866.spl, spin923.spl, spin958.spl, sppr105.spl, sppr210.spl, sppr303.spl, sppr306.spl, sppr315.spl, sppr401.spl, sppr502.spl, sppr512.spl, sppr609.spl, sppr712.spl, sppr721.spl, sppr729.spl, spwi106.spl, spwi111.spl, spwi113.spl, spwi210.spl, spwi223.spl, spwi224.spl, spwi302.spl, spwi326.spl, spwi410.spl, spwi414.spl, spwi523.spl, spwi613.spl, spwi711.spl, spwi721.spl, spwi803.spl, spwi910.spl, spwi918.spl, spwi920.spl, spwi922.spl, spwi925.spl, staf10.itm, staf11.itm, staf12.itm, staf13.itm, staf14.itm, sw1h06.itm, sw1h31.itm, sw1h51.itm, sw1h58.itm, sw1h59.itm, sw2h10dm.spl, telslav.itm, trolltor.itm, ttwand.itm, wa2helm.itm, wand11.itm, wand12.itm, wolfwi1.itm, wolfwi2.itm, xbow15.itm, xbow16.itm)
  • Spells From Items - Various spells and abilities from items are now properly classed so that they interact with other spells. For example, a thief's detect illusion ability could see through a mage using the Mirror Image spell, but not Mirror Image cast from Ilbratha. These are set to the same spell school and secondary type as the spell.
    • Invisibility from the Ring of Air Control (ring28.itm) and Mirror Image from Ilbratha +1 (sw1h26.itm) are set as illusions: illusionary protections
    • Spell Trap from the Staff of the Magi (staf11.itm) is set as abjuration: spell protection
    • Breach and Pierce Magic from a Wand of Spell Striking (wand18.itm) are set as abjuration: magic attack
    • Shield from the Shield Amulet (amul15.itm) is set as invocation: combat protection.
    • Lightning and Call Lightning from the Staff of Thunder and Lightning (staf13.itm), Magic Missiles from a Wand of Magic Missiles (wand03.itm), Fireball and Aganazzar's Scorcher from a Wand of Fire (wand05.itm), Column of Ice from a Wand of Frost (wand06.itm), Lightning from a Wand of Lightning (wand07.itm), and Flame Strike from a Wand of the Heavens (ttwand.itm, wand11.itm) are set as invocation: offensive damage.
    • Improved Haste from the Bracers of Blinding Strike (brac16.itm) and the Ring of Gaxx (ring39.itm), Stone to Flesh from the Ring of Earth Control and Staff of Earth (staf16.itm), Haste from Arbane's Sword (sw1h27.itm) are set as transmutation: non-combat.
    • Stoneskin from Gargoyle Boots (boot12.itm) is set as transmutation: combat protection.
    • Silence 15' Radius from Namarra +2 (sw1h36.itm) is set as transmutation: disabling.
    • Detect Invisible from Dragonslayer (sw1h32.itm) and Albruin +1 (sw1h34.itm) are set as divination: divination attack.
    • Resist Fear via Magic Flute (brdflute.itm) is set as abjuration: specific protections
    • The Wand of Lightning (misc7n.itm) had a primary school set and we add a secondary type of offensive damage
    • The Wands of Fear (wand02.itm), Paralyzation (wand04.itm), and Sleep (wand08.itm) had primary schools set correctly and we add a secondary type of disabling
    • The Wand of Monster Summoning (wand10.itm) had a primary school set and we add a secondary type of conjuration
    • Blind from Celestial Fury is now illusion: disabling. (sw1h51.itm)
  • Summoning Spells - Since many summoning spells are technically targeted at the caster, they could fail due to the caster's spell protections. They are changed to bypass spell protections. (melis03.spl, senspisu.spl, spcl621.spl, spcl923.spl, spin615.spl, spin616.spl, spin622.spl, sppr301.spl, sppr402.spl, sppr410.spl, sppr501.spl, sppr601.spl, sppr602.spl, sppr604.spl, sppr605.spl, sppr702.spl, sppr703.spl, sppr723.spl, sppr724.spl, sppr726.spl, sppr727.spl, spra305.spl, spra306.spl, spwi309.spl, spwi407.spl, spwi423.spl, spwi501.spl, spwi504.spl, spwi516.spl, spwi520.spl, spwi521.spl, spwi601.spl, spwi619.spl, spwi620.spl, spwi621.spl, spwi622.spl, spwi623.spl, spwi624.spl, spwi707.spl, spwi716.spl, spwi717.spl, spwi718.spl, spwi719.spl, spwi807.spl, spwi905.spl, spwi923.spl, spwi924.spl, spwish18.spl, spwm154.spl, sumslay.spl)

Errors with Hold, Charm, and Paralyzation Effects

Items and spells that cause paralyzation, hold, or charm can be targeted against specific targets, i.e. limited to a certain race or class. Unfortunately, when the effects were bound this way often times the other effects (portrait icons, visuals, etc.) were not, meaning creatures not affected by paralyzation/hold/charm would nonetheless get the graphics and combat feedback as if they were. Errors with undead paralyzation were also addressed: some were playing their un-paralyze sound effect too late, the ghoul lord's nauseated icon lasts too long, and some were using the old BG-stystem and therefore missing half-orcs. (cdca30.eff, cdca60.eff, cdca100.eff, cdca120.eff, cdca300.eff, cdca7200.eff, cdcb30.eff, cdcb48.eff, cdcb60.eff, cdcc60.eff, cdcc120.eff, cdcc7200.eff, cdcd30.eff, cdcd100.eff, cdhda108.eff, cdhda120.eff, cdhda132.eff, cdhda144.eff, cdhda156.eff, cdhda168.eff, cdhda180.eff, cdhda192.eff, cdhda204.eff, cdhda216.eff, cdhda228.eff, cdhda240.eff, cdhda30.eff, cdhda60.eff, cdhda72.eff, cdhda84.eff, cdhda96.eff, cdhdb108.eff, cdhdb120.eff, cdhdb132.eff, cdhdb144.eff, cdhdb156.eff, cdhdb168.eff, cdhdb180.eff, cdhdb192.eff, cdhdb204.eff, cdhdb216.eff, cdhdb228.eff, cdhdb240.eff, cdhdb30.eff, cdhdb60.eff, cdhdb72.eff, cdhdb84.eff, cdhdb96.eff, cdheld.eff, demmau01.itm, ghoul1.itm, ghoullor.itm, lacedo.itm, lacedo2.itm, lich02.itm, regisamu.itm, ring03.itm, spcl311.spl, spcl415.spl, spcl641.spl, spin648.spl, spin108.spl, spin119.spl, spin980.spl, spin988.spl, sppr204.spl, sppr208.spl, sppr305.spl, sppr982.spl, sppr989.spl, spwi104.spl, spwi306.spl, spwi316.spl, spwi943.spl, spwm122.spl, staf14.itm)

Enemy Mage Prebuffs Should be Dispellable

Enemy mages have special items that simulate prebuffing spells, e.g. one item provides the mage with Stoneskin. Unfortunately, these items were coded in such a way that the normal counters to these protections didn't work, e.g. Breach would not remove the aforementioned Stoneskin. (cdwi212.spl, cdwi311.spl, cdwi408.spl, mage03.itm, magebrac.itm, stonskin.itm)

Dragon's Breath Attacks Strikes Multiple Times

The breath attacks of dragons can strike multiple times instead of just once per use. (cddrblck.pro, cddrsilv.pro, dragblac.bcs, dragbrow.bcs, draghell.bcs, dragsilv.bcs, dragyell.bcs, shadra01.bcs, spin595.spl, spin595v.spl, spin596.spl, spin596v.spl, spin691.spl, spin691v.spl, spin832.spl, spin832v.spl, spin833.spl, spin833v.spl, spin893.spl, spin893v.spl, test99.bcs)

Chill Touch Should Not Affect Undead or Constructs

Per its description, Chill Touch\s energy 'attacks the life force of any living creature'. As such, it should not be affecting undead or constructs such as golems. (chillt.itm, spwi117a.eff, spwi117a.spl)

Bolt of Glory Damage Type Fixes

Bolt of Glory did different types of damage to different creatures; it now does magic damage to all. (boltdem.eff, boltelem.eff, boltprim.eff, boltund.eff)

Polymorph Other Attacks Per Round

Polymorph Other was setting the target's attacks per round to zero, despite giving them a squirrel paw weapon. (plyrate.eff)

Conjured Earth Elemental Always Hostile

When summoned via the divine Conjure Earth Elemental spell, the elemental is always hostile. The elemental should match the allegiance of the caster. (speart3p.eff)

Errors in Spell Animations

A few spell projectiles had minor errors, as did animations that play for spell effects. Errors in projectiles were typically missing shadows, whereas the animations were typically not playing intro sequences or misordered frames. (iceglyp.pro, spattck1.vvc, spattck2.pro, spauraff.vvc, spbldbtm.vvc, spbldtop.vvc, spcloud1.vvc, spgreorb.pro, spwood.vvc)

Secret Word Fixes

Secret Word was unable to take down a Globe of Invulnerability despite its description saying it works against protections of eighth level or below. (spwi419.spl)

Minor Spell Turning Behaves as Spell Turning

The fifth level spell Minor Spell Turning is supposed to reflect spells of up to level four and not affect spells of fifth level or higher. However, it was affecting spells of up to level seven. (spwi522.spl)

Chromatic Orb Fixes

Chromatic Orb already has a number of issues addressed in the Common Spell Fix Roundup. At level one, the spell is supposed to cause blindness but was instead imposing penalties to THAC0, AC, and saves. (spdr101.spl, spwi118.spl)

Casting Mordenkainen's Sword Should Break Invisibility

Casting Mordenkainen's Sword should break invisibility. (spwi716.spl)

Prismatic Spray Fixes

Prismatic Spray was blinding targets up to level seven instead of five per its description. (spwi714.spl)

Simulacrums, Projected Images, and Mislead Issues

Projected Images and Simulacrums, when created, are now stripped of their Slayer Change and Pocket Plane abilities. Creatures who are not the protagonist can cause a lot of wonk if they use these abilities. Mislead clones could attack if the caster was equipped with an item that boosts attacks per round. Simulacrums are basically level-drained copies of the caster and, as such, an exploit existed where the party could cast restoration on simulacrums to make them as powerful as the original caster. Project Image could be exploited by equipping a weapon that granted APR bonuses, allowing it to attack. (mislead.spl, projimag.spl, simulacr.spl)

Monster Summoning III Fixes

When cast at level 9, there was a 99% chance of one monster being summoned and 1% chance of two, instead of the listed 60/40% split. (spwi504.spl)

Conjure Fire Elemental Was Not Restricted from Diviners

Conjure Fire Elemental was lacking its exclusion flag to prevent it from being learned by diviners. (spwi620.spl)

Life Draining Spell Fixes

Larloch's Minor Drain, Vampiric Touch, and psionic Life Drain were healing the caster even if the target was not affected due to magic resistance. Both spells now only heal the caster if the target is affected. This also fixes an additional bug of Vampiric Touch being able to boost the caster's hit points multiple times through multiple castings, though the description explicitly states this shouldn't happen. This also fixes a damage bug with the innate version of this spell (the one added as a Bhaalspawn ability and used by Foebane on hit) where it did 1d4 damage instead of 4 points, per its description. (spin104.spl, spin104a.spl, spin106.spl, spin106a.spl, spin106b.spl, spin545.spl, spin545a.spl, spin997.spl, spin997a.spl, spin997b.spl, spwi119.spl, spwi119a.spl, spwi314.spl, spwi314a.spl, spwi314b.spl)

Animate Dead Errors

When the divine version was cast at level 5 it had a 25% chance of three summons instead of two; when cast at level 11 there was a 10% chance of no summons at all. (sppr301.spl)

Greater Command Affects Allies

Greater Command would affect allies, or not, depending on the level of the caster. The spell has been standardized to be a party-friendly spell and not affect allies. (sppr512.spl)

Chaotic Commands Not Fully Protecting Against Maze

Chaotic Commands is supposed to protect against being Mazed, but it was not protecting against the psionic version of Maze. (sppr508.spl)

Barkskin Granting Incorrect AC Bonus

Barkskin was not setting AC to the correct value, particularly when cast at higher levels. (sppr202.spl)

Black Blade of Disaster Errors

In SoA, the Black Blade of Disaster does not grant grandmastery in long swords per its description. In ToB, the blade was supposed to disintegrate targets instead of simply killing them. (blakblad.itm)

Free Action Errors

Free Action was protecting against charm and the special, only-use-this-for-dream-cutscenes version of hold. (sppr403.spl)

Sol's Searing Orb Fixes

Undead hit by Sol's Searing Orb were not getting the proper duration on their blindness (should be six rounds, 12 on a failed save). Non-undead were getting blinded for a fixed six rounds instead of 1d6 rounds. (cdsorb1.eff, cdsorb2.eff, sorb.itm, udeadbli.eff)

Miscast Magic Effects not Applying to All Magic

Abizigal's Shockwave, Unholy Word, and the Anti-Magic Ray of hive mothers cause miscast magic effects. Unholy Word was not causing arcane spell failure due to an error in the file. In the other two cases, they were removing any divine spellcasting miscast effects instead of setting them. (casfailm.eff, spin531.spl, spin550.spl)

Improved Invisibility Fixes

Of the many forms of Improved Invisibility, most do not provide the +4 save bonuses that it is supposed to confer. Improved Invisibility is also not supposed to be able to stack with itself. Cerebus' improved invisibility also erroneously provided non-detection, and lacked sound at some levels. (balth10.spl, balth10a.spl, spdr401.spl, spdr401a.spl, spin544.spl, spin544a.spl, spin687.spl, spin687a.spl, spin698.spl, spin698a.spl, spwi405.spl, spwi405a.spl, spwi505.spl, spwi505a.spl, spwi607.spl, spwi607a.spl, spwi721.spl, spwi721a.spl)

Armor of Faith Issues

Armor of Faith was applying its reduction from missile damage twice and lacked damage reduction against electrical and acid damage. (dgfaith.spl, sppr111.spl)

References to Non-Existent and Dropped Spells

Several creatures and items refer to spells that do not exist, either because the spells were dropped prior to the release of the game or typos. Where appropriate, the spells are either corrected or removed. (bhaal4a.spl, spellh01.itm, spinhum.spl, spja01.spl, sppr504.spl, sppr712.spl, sppr729.spl, spwish10.spl)

Many Spells Should Not Be Able To Stack With Themselves

Many spells should not be able to stack with themselves, i.e. casting multiple Slows would allow a creature to add up AC and THAC0 penalties despite not getting any slower. Due to engine limitations, they only way to effectively eliminate this problem is to prevent another casting of the same spell until the duration ends, as trying to target the illegal effects that are stacking blocks way too many legitimate uses. Spells affected are Armor of Faith (dgfaith.spl, sppr111.spl), Righteous Magic (dgright.spl, sppr513.spl), Assassin's Poison Weapon (spcl423.spl), Hardiness (spcl907.spl), Evasion (spcl913.spl), Greater Evasion (spcl914.spl), Avoid Death (spcl917.spl), Blur (spin943.spl, spwi201.spl), Doom (sppr113.spl), Resist Fire (sppr210.spl), Protection from Fire (sppr306.spl, spwi319.spl), Defensive Harmony (sppr406.spl), Holy Power (sppr412.spl), Friends (spwi107.spl), Luck (spwi209.spl), Strength (spwi214.spl), Protection from Cold (spwi320.spl), Tenser's Transformation (spwi603.spl), Protection from the Elements (spwi702.spl), Project Image (spwi703.spl), Slow (spin575.spl, spin977.spl, spin983.spl, spwi312.spl, spwish25.spl, spwm164.spl)

Luck Fixes

Luck was not providing saving throw or thieving bonuses, per its description. (spwi209.spl)

Flame Blade Errors

Flame blades, per the description, do 1d4 slashing damage and an additional 1d2 +4 fire damage. The damage actually being done was swapped: 1d4 fire damage and 1d2 + 4 slashing. Flame blades were also supposed to strike as unenchanted weapons, and were adding an undocumented +4 THAC0 bonus. (fblade.itm)

Physical Mirror and Shield of Reflection Not Very Reflective

The Shield of Reflection and the Physical Mirror spell were not accounting for all forms of missile weapons. Notably, Arrows of Ice would get through both and Physical Mirror failed to also reflect many other projectiles. (shld24.itm, sppr613.spl)

Wish Bugs

If you cast Wish and select "Cast a double-length 'Time Stop' and 'Improved Alacrity' on the caster" option, the Improved Alacrity was not working as it was using the wrong opcode. The breach spell cast via wish was affecting friendly summons and turning them hostile. The "I wish to be rich" option would also do nothing as it was giving the party 2000 gold from the genie, but the genie actually had no gold. If the player mashed through the dialogue fast enough, Wish could fail outright (No Valid Links or Replies) in ToB. (spwish17.spl, spwish38.spl, wish.dlg, wish01.bcs, wish25.dlg)

Casting Spells from Scroll Fixes

Several issues were identified with casting spells from scrolls and the Book of Infinite Spells. The common issues identified and addressed:

  • Spells that could be cast at points were requiring a creature for a target (and vice-versa);
  • Effects were also targeted differently than the underlying spell
  • Scrolls were casting spells at an incorrect power level, causing incorrect interactions with spell protections
  • Casting range between the scroll and spell disagreed, i.e. a spell that could be cast from sight range required the caster to be in touch distance when used from a scroll
  • Ray of Enfeeblement lacked an icon due to a typo
  • Glitterdust and Improved Invisibility used redundant, double projectiles.

(misc3a.itm, misc3a1.itm, misc3a2.itm, misc3a3.itm, misc3a4.itm, misc3a5.itm, misc3a6.itm, misc3a7.itm, misc3a8.itm, misc3a9.itm, misc3aa.itm, scrl1j.itm, scrl1o.itm, scrl1u.itm, scrl2f.itm, scrl56.itm, scrl58.itm, scrl59.itm, scrl5b.itm, scrl5c.itm, scrl5d.itm, scrl5f.itm, scrl5i.itm, scrl5k.itm, scrl61.itm, scrl62.itm, scrl63.itm, scrl6j.itm, scrl6v.itm, scrl70.itm, scrl76.itm, scrl7i.itm, scrl7m.itm, scrl80.itm, scrl8c.itm, scrl8h.itm, scrl8p.itm, scrl8y.itm, scrl94.itm, scrl9h.itm, scrla1.itm, scrla3.itm, scrla6.itm, scrla7.itm, scrla8.itm, scrlai.itm, scrlaj.itm, scrlak.itm, scrlb4.itm)

Transformation Spells Not Cleaning Up Spells

The various spells and abilities that allow party members to transform are a bit of a mess. They're pretty good about cleaning up leftover abilities if you shift to a form and then back to human, but if you start going directly between forms without returning to human and/or mixing in transformations from items (i.e. Cloak of the Sewers) you can be left with a lot of spell cruft by the time you're back to human. We patch many of the transformation spells to be more thorough in cleaning out leftover spells and abilities. This patch also corrects an oversight where the Cloak of the Wolf had no way for the wearer to return to human form prior to the expiration of the spell. (cdwolfm.itm, clck04.itm,spcl612.spl, spcl613.spl, spcl632.spl, spcl633.spl, spcl634.spl, spcl643.spl, spcl644.spl, spin123.spl, spin124.spl, spin823.spl, spin852.spl, spinhum.spl, sppr731.spl, sppr732.spl, spwi491.spl)

Protection From Normal Missiles Protecting Against Some Magical Weapons

Some magical throwing items, primarily axes and hammers, were using the same projectile as their non-magical kin. This was causing them to be erroneously blocked by the Protection from Normal Missiles spell. The projectiles for these items have been changed to magical projectiles which correctly bypass this spell. (aegis.itm, arow02.itm, ax1h05.itm, ax1h06.itm, ax1h08.itm, ax1h09.itm, ax1h16.itm, hamm06.itm, wasling.itm)

Faldorn's Summon Dread Wolf Can Crash Game

Faldorn's Summon Dread Wolf ability can crash the game as it is trying to use an old BG resource that is no longer present. The spell is updated to use the BG2 dread wolf, though the spell is not scripted to be used. (spin114.spl)

Shield Does Not Completely Protect Against Magic Missile

Per its description, the Shield Amulet is supposed to protect the user per the mage spell Shield. However, the amulet was not protecting against the Magic Missile spell. The Shield spell itself was not protecting against Magic Missiles from traps. (amul15.itm, spwi114.spl)

Harper's Call Not Draining Stats

Harper's Call was not draining the stats of the person resurrected, per the description. (cdspja00.eff, cdspja01.eff, cdspja02.eff, cdspja03.eff, cdspja04.eff, cdspja05.eff, spja01.spl)

Otiluke's Resilient Sphere Fixes

Otiluke's Resilient Sphere was not working, pretty much at all. Because of misordered effects, it blocked most of its own effects and was missing quite a few anyway. The sphere should now behave pretty close to how the developers intended--because of engine limitations this is probably the closest we can get. The Sphere caused by a bounty hunter's special snares is also fixed. (spcl415.spl, spcl415a.spl, spcl415b.spl, spcl415c.spl, spwi413.spl, spwi413a.spl, spwi413b.spl, spwi413c.spl)

Chant Not Affecting Enemies

Chant is supposed to confer save, attack, and damage bonuses to the party but penalize enemies. However, chant was not affecting enemies. (sppr203.spl, sppr203d.spl, sppr203e.spl)

Creeping Doom Fixes

Creeping Doom's panic effect was not working because of how the engine handles staggered, repeating effects. The fear effect is now farmed out to a secondary spell to fix it. (flpr717a.spl, sppr717.spl)

Spells Lacking Sounds and Animations

Several spells had typos in calls to external resources, such as sound effects and animations, when cast; these typos are corrected. In a few cases, the spells referred to old BG resources that are not present in BG2 and the resources were imported from BG. (amb_e09b.wav, amb_m09a.wav, amb_m09b.wav, drgrbrht.spl, spin783.spl, spin852.spl, spwi995.spl)

Summoned Elemental Bugs

The Conjure Air Elemental spell didn't actually have a 24 HD elemental that could be summoned. The various elementals themselves (from both the divine and arcane spells) were not consistent across types, e.g. strength scores could be higher in the lesser elementals amonst other errors. (elearpr.cre, elairsu1.cre, elairsu2.cre, elairsu3.cre, elairsu4.cre, elearsu1.cre, elearsu2.cre, elearsu4.cre, elfirpr2.cre, elfirsu1.cre, elfirsu3.cre, spair1.eff, spair2.eff, spair3.eff, splesfir.eff, splesear.eff, swair01.cre, swair02.cre, swear01.cre, swear02.cre, swfir01.cre, swfir02.cre)

Stoneskins Fixes

When cast at level 7, Stoneskin provided five stoneskins instead of the expected three. The stoneskin effect on the Trademeet statues could be dispelled. (spin694.spl, spin776.spl, spwi408.spl)

Shield of the Archons Fixes

One effect, at one level, could be dispellable. (sppr701.spl)

Spell Icon Fixes

The Charm Animal ability of rangers was using the Charm Person or Mammal icon, but it had its own icon available. Armor of Faith and avenger Chain Lightning were using the wrong icons for the spellbook. The stalker version of Minor Spell Deflection was using the icons for Minor Spell Turning. (spcl311.spl, spdr601.spl, sppr111.spl, spra302.spl)

Spook Should Require Line of Sight

Due to a missing flag, Spook does not require line of sight. (spwi125.spl)

Spells With Submenus Can Be Lost

For spells with submenus, such as Enchanted Weapon or Spell Immunity, pausing can break the casting process. This is fixed by making the main spell instant and pushing the casting time onto the subspells. (spwi417, spwi510.spl)

Tenser's Transformation Lacks Last THAC0 Bonuses

When cast at level 19 or higher, Tenser's Transformation is not setting the THAC0 correctly. (spwi603.spl)

Improved Haste Should Block Haste from Avengers

Improved Haste prevents regular Haste, since a creature under Improved Haste would receive no bonuses from Haste and only get fatigued. While arcane Haste was properly blocked, the special version available to avengers was not. (spwi613.spl)

Spell Audio Fixes

Several versions of the enemy mage Symbol spells lacked casting sounds due to typos in the resource references. Regular player versions of Symbol, Fear and Symbol, Stun were using different sound effects when cast at level 17 than at any other level. The innate Larloch's Minor Drain had mistargeted sound effects. The innate Horror was playing its expiry sound too late and had an extraneous effect. The expiry sound for Time Stop and Improved Alacrity played too late. Grease is flagged as hostile, unlike other area of effect spells, which cause battle music to loop.. (spin104a.spl, spin105.spl, spwi101.spl, spwi811.spl, spwi816.spl, spwi897.spl, spwi898.spl, spwi899.spl, spwi919.spl, spwi921.spl, spwm123.spl)

Hold via Wild Surge Uses Wrong Hold

The hold wild surge is using a special, unblockable type of hold that's reserved for cutscenes and dreams. It now uses the regular type of hold. (spwi114.spl)

"Trap" Spells Should Have More Reliable Triggers

Spells such as Skull Trap and Warding Glyph create an object that goes off when a creature draws near, but they were not very sensitive. They now go off more reliably when creatures approach. (iceglyp.pro, trapglpn.pro, trapglyp.pro, trapskul.pro, tskullnp.pro)