I finally forced myself to sit down and write docs for the Fixpack this week and finally have something coherent to post. I'm still in the process of writing up docs for the new stuff in beta core, but I can at least get a partial changelog for the core and OBC components.
General Changes
- Massive recode. The Fixpack was essentially rewritten from the ground up, with an emphasis on code that is easier to maintain, easier for players to understand and edit, and with an emphasis on forcing common patches into macros and arrays for easier handling.
- All of the Beta Core fixes (from the never-officially-released v10.01) were moved into the core fixes. BWS has been using this version unofficially for years (I believe they designated it as v11 Alpha 1), so these fixes have seen field testing. Unfortunately, the official documentation of these were never uploaded, so they will be included in the docs writeup.
- Fixpack is now a lot more flexible for language-specific fixes; e.g. string fixes and sound files fixes can now be language-specific
- Fixpack no longer uses dummy files for third-party detection. Use MOD_IN_INSTALLED instead.
- GTU Light/GTU Classic continue to get minor updates and improvements as they get reported.
Changes to Core Fixes
- Haer'Dalis had no pickpocketing skill, which Fixpack corrected (courtesy of an old Baldurdash fix). However, Fixpack also implements a fix to give blades their proper one-half penalty to pickpockets, rendering the previous fix incorrect.
- Ice Trolls were switched to generic troll soundsets; Fixpack now imports their soundset from Icewind Dale. Similarly, one of Ilyich's scripted sounds is now imported from BG (one sound from Montaron's soundset) instead of removing the script reference to it.
- The fix for SoA characters having no interjections in Watcher's Keep was redone. The previous code could result in NO VALID LINKS errors, e.g. if you had Aerie speak to Yakman, promise to heal him, and then speak to him again.
- Load hints were being fixed in such a way as to leave duplicate load hints in the table.
- Thanks to previous fixes, Otiluke's Resilient Sphere works. As a result, though, it was subject to saves and resistance if it was self-cast. It will now bypass saves and protections when self-cast, and have to penetrate same when cast at enemies.
- At various points, Fixpack tries to copy-and-patch files which don't need changing and/or are already correct:
- forcef.bcs, keyscrip.bcs, npc.bcs, and ppshad01-ppchad06.bcs are dropped from the Miscellaneous Script Resource Reference Fixes
- One monk in Amketheran (ammonk03.cre) was missing her fist, which Fixpack restored. This change is being dropped, as the engine automatically assigns monk fists to creatures on load, so the change was unnecessary.
- telicesa.cre does not need to be patched as part of the summoned creatures fix
- Kiel's Helmet (helm14.itm) does not need to be patched under the Item Effects Failing Due to Bad Timing Modes fix
- Staff of Air (staf15) no longer patched as part of Elven Sleep/Charm Resistance
- Black and Shadow Dragon Breath (spin691.spl, spin893.spl) removed from Spells Lacking Sounds and Animations as the resources were fine
- The entire Anti-Magic Ray Not Destroying All Magically Created Weapons is dropped outright, as dispel magic effects already nuke these resources
- sp313l20.eff no longer created for Holy Smite fixes, as it's not needed
- Vampire regeneration (vampreg, vamreg2, vampreg3) items were being patched to add 100% poison damage immunity, but they already have it
- Several scrolls already had 0 power in their casting opcodes, making their patch unnecessary (scrl1o.itm, scrl1u.itm, scrl2f.itm, scrl5i.itm, scrl70.itm, scrl7i.itm, scrl8p.itm, scrl94.itm)
- In addition, the contagion scroll already had the correct target (scrla8.itm)
- Ellisime's clone got her combat AI fixed to cast spells, but could now get stuck in a loop of casting Mirror Image
- The fix to keep Saerk's Estate in the Bridge district inaccessible was not getting all of the doors
- The scripts fix to clear out the rubble-gawkers in Waukeen's Promenade is now more reliable
- The better fix to uncharm/dispel Glaicus at the de'Arnise Keep from Beta Core fixes has been mainlined
- The fix to keep Baron Ployer from killing Jaheira in a cutscene is now simpler and more reliable
- The fix to prevent multiple copies of unique items from the City of Caverns has been expanded to cover a few more scenarios.
- The fix to prevent enemy celestials from healing the party has been expanded to cover other beneficial spell casting such as Cure DIsease or Remove Fear
- The Tree of Life has now been flagged as an outdoor area
- Entering and leaving Coran's cabin now requires the party in both directions
- Spore Colonies were supposed to be set as gender: neither, but Fixpack was copying one spore colony twice and missing the second creature file
- As part of creature inventory fixes, Imoen was getting her healing potions restored. Instead of three individual potions, they now come as a single stack of three.
- Summoned creatures had a handful of items restored to their inventories and then made undroppable; Fixpack now just deletes these items
- Abazigal's head was protected from pickpocketing in his dragon form; similar protection is added to his human form. In addition, the giant troll's head in Spellhold is no longer pickpocketable
- Two drow in Sendai's enclave had typos in their inventories fixed, dwbolt01 (drow bolts) for the bad reference bwbolt01. However, since they were in outdoor areas (and hence sunlight) Fixpack now replaces these bad references with Bolts of Lightning instead.
- The SoA and ToB wish genies were inconsistent and Fixpack simply cloned the ToB genie to replace the buggy SoA genie. However, for SoA-only games where this is not done, the SoA wish genie needed different patches to address some errors.
- Troll Fixes has expanded to include the troll cook in the de'Arnise Keep, as she lost her name and vocation during her dead/revive cycles.
- The familiar fixes, specifically to the SoA cat, were removing her movement rate bonus.
- Fixes were made which really won't affect the player:
- Several familiars had Blur as a known spell even though it was not one of their castable spells; this is removed. Other familiars which should actually know Blur had its level set incorrectly
- One of the E3 demo creatures (e32.cre) gets better inventory fixes
- Three effs being patched as part of a timing cleanup failed due to a bad SOURCE_SIZE check
- It was confirmed by the devs that Jaheira knowing the class-restricted Zone of Sweet Air and Viconia knowing the alignment-restricted Holy Smite are intentional. Fixpack no longer removes these spells from their spellbooks.
- The fix for the inconsistent ice mephit coloring missed one area
- Bone Fiend's attack lacked a magical flag
- Spectral Brand +5 was being patched to a weapon speed of one to match its description; however in this case the item was correct and its weapon speed is now set to zero
- Most of the weapon speed and weight fixes found by Ardanis (old link, but fairly accurate) have been confirmed and included
- A couple of item weights have been corrected from previous versions, notably throwing daggers going back to zero weight and Fortress Shield being 10 lbs
- More usability fixes, mostly from the discussion over here (note that the changes here are in comparison to Fixpack v10):
- Drow scimitars are now usable by thieves and mage-thieves
- Ashen Scales and Shield of the Lost are now available to druids. Description for Ashen Scales is updated, too, but the shield was missed in beta 1.
- Rings of Wizardry and the Silver Sword are disallowed from monks
- Ashen Scales, Red Dragon Scale, Blue Dragon Plate forbidden from avengers
- Three variants of the Flail of Ages +1, drow halberds, drow lance, drow long swords, and the Silver Sword are forbidden from beastmasters
- White Dragon Scale is usable by stalkers
- Ankheg Plate, Red Dragon Scale, and Blue Dragon Plate forbidden from archers
- Amulet of the Seldarine, Amulet of the Master Harper, and Heartwood Ring are forbidden from wizard slayers
- Storm Ring and Dawn Ring now usable by wizard slayers
- Shield Amulets (Shield) and Ring of Earth Control (Flesh to Stone) now just cast their underlying spells directly
- The patches to address bad APR stacking when Melf's Minute Meteors, Boon of Lathander and Offensive Spin combine is now skipped is TobEx is installed, as TobEx fixes this at an engine level
- Spells from Items now covers the tutorial Wand of the Heavens
- Arbane's Sword should protect against the spinny head animations used for hold, but these protections were being removed
- Spell schools could still interfere with the HP gain effects of Larloch's Minor Drain and Vampiric Touch
- Hardiness via wish or via HLA no longer stack with one another (they already couldn't stack with themselves)
- Iron Skins is back to its instant casting speed
- Blindness, Infravision, and Spook were having their ranges corrected to the wrong value--visual range is 30', not 60'
- The Detect Evil part of Moon Dog Sight now respects MR
- The spell to paralyze a party member as part of the hell selfish trial should stand up better to dispel magic
- Maze via psionics now has the same visuals as mage via the arcane spell
- Spell Shield duration was still incorrect when cast at level 10 or below
- Bigby's Crushing Hand needed even more fixes, as its sounds were playing at the wrong time
- Bolt of Glory is now changed to do magic damage to everyone instead of missile, as undead are very resistant to missile damage
- The fix to the BM2 music file (used as battle music in a handful of areas) was pointing to a music track that didn't exist
- Changes to the immunity batches:
- The charm protection as part of the Elven Sleep/Charm immunity could still show the string 'dominated' even if the charm was resisted
- Similarly, the sleep part of Elven Sleep/Charm immunity provided no resistance to power word: sleep effects, but did block two unrelated animations
- Free action no longer blocks defensive spin explicitly, as its no longer needed
- Immunity to level three spells now blocks the Slow spell explicitly
- Immunity to Kill Target now blocks the 'Undead Destroyed' string
- Remove Magic Not Dispelling Feeblemind is now a broader dispel magic fix; specifically anything that dispels magic will now properly cure feeblemind and deafness as well as destroy illusionary creatures. Numerous calls to destroy magically created items are removed, as they are not needed
- The fixes for the shapeshifting spells (both from-human and to-human) are now done as batch patches
- New batches for remove fear (not fear immunity), full stun, immunity to feeblemind, immunity to psionics,and immunity to individual spell schools have been added.
- The fix for Peony's dialogue to correctly check Maria's DV was, in turn, breaking a variable check
- A romance fix for one of Aerie's lovetalk was overriding a fix for dialogues checking the wrong romance variable
- The dialogue branch created to fix the Captain Arat infinite fire arrow exploit was setting the journal entry to the wrong category
- Vittorio will now open the door to Delosar's Inn when he goes there
- The fix to the XP exploit with Ellie the Festhall Cook has been tightened further
- The XP exploit in Spellhold (bringing the Hand of Dace and Crystal Shard) now also explicitly opens and unlocks the door as a failsafe. While Fixpack had no reports of issues here, the same fix in EE would get an occasional report of flakiness.
- The kids in Umar Hills Kids Only Take One Bastard Sword missed a few actions
- The Anomen/Mazzy/Kiser Jhaeri fix is being withdrawn, as it's working as expected.
- In Anomen's Knighthood not being checked, one of the interjection checks has been changed to exclude LN and CN Anomen (was excluding just CN in v10), as the interjection only makes sense for LG Anomen.
- Another orientation when entering area fix was not being executed due to some bad code, in this case, the Jansen home from the Slums
- Spell power fixes have been extended to a few more spells
- Casting speeds of innate abilities such as rage, kai, and berserk are now instant
- The NO VALID LINKS OR REPLIES issue for Cernd is a little more thorough
- More planar sphere fixes, as one of the apprentices was checking a bad value
The following were fixed in the 10.01 beta core fixes and moved to the v11 Beta 1 core fixes, but were never documented previously.
- TorGal's hit dice were increased to 16 to better reflect her abilities.
- During the thief stronghold quests, the map note indicating you've taken over Mae'Var's guild simply covers the old map note. ToB has an action to remove map notes, so now the old map note is removed in ToB games when the new one is added.
- Using the Mask of King Strohm to detect the invisible guardian is a little more reliable
- Hannah, the mother trapped in the circus illusion, could be exploited for multiple XP rewards
- One mind flayer in the Underdark mind flayer lair was supposed to continually respawn to give the player a steady supply of flayers to open doors, but a flaky Die() trigger could prevent respawn
- One of the generic combat AI scripts for healers could cast bless way, way before combat
- If the player mashed through the wish genie's dialogue fast enough, they could end up with a NO VALID LINKS OR REPLIES
- Another orientation when entering area fix, this one in Cayia's house in Brynnlaw
- Several items had equipping effects which could be dispelled
- Eagle Bow had an extraneous APR bonus
- Catti-Brie's bow was doing too much damage
- Robes of the Archmagi now provide a magic resistance icon when worn; Frostbrand provides a fire resistance icon
- Various items had incorrect ground icons.
- Ruby Pendant lacked an icon for its ability
- Rod of Terror used the wrong icon for the quickbar
- Duration fix for the avenger version of Animal Summoning II
- Ray of Enfeeblement has the wrong save penalty for its combat feedback
- The active romance variables are now only set if the PC is a match; these caused problems for scripts and dialogues down the line
- The player could take control in a dream sequence
- Gaelan has checks for the wrong amount of gold in a couple of places in his dialogue
- Several dialogues had missing journal entries; one of these (for JAHEIRAJ) was setting a journal entry in the wrong state in v10
- One of Jaheira's dialogue should branch depending on whether the PC is a jerk
- One of Vincenzo's dialogues was cutting out early, missing the last couple of lines
- If you asked about gold storage in your first dialogue with the de'Arnise majordomo, Lady Delcia would never leave. Also the majordomo wasn't recognizing Nalia in some dialogues.
- Lavok was missing XP rewards in some of his closing dialogue branches
- If you didn't grab the tree nuts before heading to the penultimate Irenicus encounter at the Tree of Life, you were trapped and unable to continue
The following are new and in the core fixes:
- Psionic Blast was assigned a name so that it would show up in the combat log.
- CD_STATE_NOTVALID has been added as a state.
- The Small Teeth Pass was also using a leftover BG area script; this is now blanked
- The fighter2, thief1 and thief2 player AI scripts no longer try to hide in shadows with classes that lack the ability
- The thief3 and thief4 player AI scripts no longer try to detect traps with classes that lack the ability
- The player was not their XP reward for re-assembling the illithid rod in Watcher's Keep due to a typo
- If Delon was spawned later for the ogron attack/Umar events, he could leave prematurely or spam his original offer stringheads
- Wand of Fire in ar0065 was undercharged
- Another orientation when entering area fix, the thief guild hall (Mae'Var and PC) third floor entrance from the outside
- A peasant woman was using the peasant man animation
- One of the rebels in Saradush gets hi spear moved to an available weapon slot
- The invisible creature that controlled the Ust Natha tavern combat music is set to neutral to prevent save silliness
- The Eagle Bow and some arrows were erroneously applying strength bonuses
- The fix to add feedback and portrait icons to the stun effects of Darts of Stunning has been extended to several other items that stun
- The Silver Sword now displays combat feedback of 'Vorpal Hit' on vorpal hits
- The Unholy Reaver (undroppable weapon of a Githyanki anti-paladin) was dispelling magic on its wielder instead of its target and had no visuals due to a typo
- Spell failure for good mages from Unholy Word didn't work at all
- The Helmite ghost at Watcher's Keep can fail to set some variables if party members are mazed
- If you decide to kill the countess in Saradush, your good party members more or less abandon you on the spot. LG Anomen objects if he's a member of the NORH, but not LN, and he's omitted from many of the mass exodus commands in the subsequent dialogues.
Optional But Cool Changes
- Improved Spell Animations now adjusts maze animations for maze via special snare or psionic maze, whereas previously it only did so for the arcane version. Enemy symbol spells now use the same animations as player symbol spells.
- Cromwell's Forging Actually Takes a Day now has the option to designate a day as 8 or 24 hours.
- Mixed-Use Dagger Fixes now removes the melee tooltips from tooltip.2da.
- Ghreyfain's Holy Symbol Fixes now directly grant Aerie/Anomen/Viconia the correct holy symbols instead of swapping them after being granted the old, incorrect one
- Additional Alignment Fixes outsources to separate file for easier player editing, like the main component alignment changes
- Remove Thieving Start Bonuses from Bard and Ranger Skills no longer adjusts stealth score in joinable ranger creature files (e.g. Minsc), as the engine pulls the correct value from the table upon them joining the party