Skip to content

BG2:EE Bug List of my Play-through May/June 2022

hsenparhsenpar Member Posts: 54
edited August 9 in Troubleshooting
Here I'm listing bugs I've encountered and those that are yet to manifest over the play-through. This is not a request for an immediate fix and only serves an informative purpose.

- It is a normal play-through experience -- completing the main campaign and every side quest where a companion isn't required; not deliberately looking for bugs
- Playing v2.6.6, solo Barbarian, LoB difficulty. Steam/Linux

---Bugs encountered---

Irenicus' Dungeon
1. Imported Character has incorrect Hit Points.
- Notes: Details at Didn't find a viable workaround; kept importing until the Hit Points rolled were correct. Refused to use EEKeeper.
2. Quest doesn't mark as Completed: "Find a key to release Frennedan"
- Quest is completed (NPC released and dead) but it hangs as incomplete at sub-task "Find the key to release Frennedan."

Mae'Var's Guildhall (stage @ "Find proof of Mae'Var's treachery" quest-line)
1. When the entire guild turns hostile during the conclusion phase, a NPC "Anishai" (2nd floor) walks up to the brawl, but never attacks or fights back.

De'Arnise Keep (stage @ Warrior Stronghold quest-line)
1. 4th task, one week after task #3 (Bolumir, the Priest of Tempus) concludes, the messenger that triggers task #4 may or may not appear; it is a casino.
- Notes: Had to reload several times and tried sleeping in various areas, until I finally had success while waking up in Umar Hills exactly one week after concluding task #3, on the day new taxes were deposited. This is not a constant outcome, not even in Umar Hills.
2. 8th task, During the conclusion phase when Roenall makes an attack, 4 of his companions completely stop fighting after they kill their initial target (one of De'Arnise Guards). Roenall and his other comrades properly switch over to other targets.

Temple Ruins (Umar Hills)
1. The lava ground in the middle of temple only has capability to damage 1 player or 1 opponent at a time.
- While protagonist is taking damage from standing on lava, no opponents can take damage. While one opponent is receiving damage, other opponents nor the protagonist can receive damage from standing on lava. I recall the same issue from BG:EE (Durlag's Tower acid springs) and I suspect the bug applies to all damage-inflicting floors.

Cult Compound (Temple District Sewers)
1. "Shade Lich"
- Mislead spell spawns a decoy with incorrect hit points, its status is marked "Dead" (not "Near Death") but requires 1 or more inflicted damage to "formalize" its death.
- Notes: Identical issue with the 1st form of "Kangaxx the Lich" in the Docks District, "Shangalar" in the Twisted Rune, and "Jon Irenicus" in Tree of Life.

Bridge District
1. NPCs "Camitis" and "Reti" (During quest "Find the kidnappers who buried Tirdir" from Graveyard District)
- After the cutscene, these NPCs may or may not turn hostile when giving a chase.
- Notes: They do not seem to detect the presence of a protagonist reliably and continue their escape in five phases until they're completely gone. By "phase" i mean a check-point where they make a brief stop before moving to a next check-point.

Planar Prison
1. NPC "Thrall" (multiple in area)
- Combat delay: It takes a full round of staying inside their visual range before thralls initiate any combat activity, i.e. spell-casting or attacking.
- Notes: Perhaps something to do with the collar mechanics; unverified, but I suspect the combat delay is a result of them contemplating their friendly/unfriendly status between the protagonist and the warden.
2. NPC "Warden"
- His damage and Thac0 are broken to a point that he can't kill anything with his melee attacks. More details here:

Windspear Hills
1. NPC "Ogre Mage" (The initial encounter involving a band of ogres)
- Is a mage; does not cast any spells.
(Firkraag's visual illusion over a warrior-type character and not intended to cast spells)
2. Connected quests don't mark as Completed: "Rescue Garren's Child From Firkraag" and "Journey to the Windspear Hills"
- Quest completed (or failed) with the sinister route---Garren Windspear and his child are no more; title deed to Windspear Hills has been delivered to Firkraag.
- Notes: New quest derived from sinister dialogue with the red dragon: "Firkraag's Task Completed" --- has a title error which reads as "Firkraag's Task Completed (Finished)" upon completion, but most importantly---it closes upon completion. The two original quests, however, hang as incomplete.

1. The tavern cutscene featuring Sanik getting assassinated lasts for a minute longer due to LoB stat boosts; the assassin is really struggling.

Spellhold Level 2
1. When combat against Irenicus ensues, Aphril (one of the friendly captives), eventually casts her lightning spell, and turns all friendly captives hostile against the protagonist on a condition of friendly fire. The "perceived origin" of that friendly fire is bugged; should not impact hostile/friendly status with the protagonist.

City of Caverns
1. NPC "Sahuagin", the mage from a fixed confrontational pack (3 Sag vs 3 Rebel), a little south of the Rebel ambush area where Cloak of Mirroring is dropped, casts some of his damage-inflicting spells like Chromatic Orb and Magic Missile on a team mate instead of a Rebel.
2. NPC "Rebel" in a random-spawn pack does not attack or fight back.
- a. North of the undead area
- b. North-West of the Prince compound
- Notes: In every random-spawn Rebel pack at the mentioned two locations, there are 1 or 2 Rebels that have a broken script, and 2 or 3 Rebels that seem to behave as intended.
3. NPC "Rebel" has a Spear (Piercing Damage) but inflicts crushing-type damage with melee attacks.
4. NPCs "Royal High Priestess Senityili" and "Captain Feerlattiys" automatically die when siding with the Rebels. Those NPCs instantly die even if siding with the King; they are hard-coded to die right after Prince Villynaty falls, and hard-coded to die when protagonist agrees to Villynaty's plan. Details here:
5. NPC "King Ixilthetocal"
- After accepting Rebel's Orb from Senityili, siding with the Rebels, and then returning to King to tell him: "No, I don't. And I refuse to do your bidding any longer, fish-man." triggers hostility with the king and his affiliates.... and all the Rebels the protagonist sided with.

1. NPC "Mind Flayer" from a fixed confrontational pack (3 Mind Flayer vs 3 Gauth), at the south-west area of Beholder Tunnels.
All three Mind Flayers cast "Psionic Blast" against Gauths, and they never do anything but cast Psionic Blast against Gauths, even after Gauths come under their control.

Ust Natha
1. Deirex's Tower
- Base floor: The cupboard containing 'Armor of the Viper +5' is trapped, but the trap does nothing. When opened, the game log says "Trap Sprung", and nothing follows. Reproduces with a naked protagonist under no protections and no resistances.
2. NPC "Overseer Handmaiden"
- As the drow city quest-line wraps up, the handmaiden buffs up the protagonist with a Death Ward spell. Thanks for the hostility! Screenshot and the location details here: Remarks and commentary: (and 2 posts that follow)

Drizzt /w. Motley Band Encounter (Ch6. Leaving "Underdark Exit")
1. NPC "Bruenor" has an anomalous Oil of Speed which doesn't run out but neither does it function more than once.
- Notes: The anomalous potion can be tested by picking a fight with Drizzt and using the "Staff of Command" 's Domination ability on Bruenor.

Bodhi Encounter (Ch6. Graveyard District)
1. Quest "Allies recruited for the struggle against Bodhi" registers as a new quest. (Talk to Prelate Wessalen about Bodhi)
- It is not a quest in itself but a part of "The Final Battle with Bodhi" quest.

Tree of Life
1. "Jon Irenicus"
- Mislead spell from the spell trigger produces a decoy with 1 HP---marked as "Dead". Details here: Bug also applies to Jon Irenicus (Slayer form) in Hell.

1. Test of Fear
- Accepting Cloak of Bravery from NPC "Fear" automatically removes/disarms all ground traps from the room.
- Notes: Accepting the new toy---Cloak of Bravery---which should merely assist with the challenge, should not remove the challenge itself.

--- Throne of Bhaal ---

Forest of Tethir
1. Protagonist arrives unrested, abilities drained
- During the cutscene concluding the SoA campaign, Queen Ellesime gave protagonist time to rest. That rest does not restore item charges or High-Level Abilities.

1. Completing quest "Tazit's Dead Father" with Rod of Resurrection does not deplete a charge from Rod of Resurrection.

1. Protection From Undead:
- According to description: "...It does not offer any protection from magical attacks, however..." holds false.
- Notes: It negates absolutely all spell casting and damage originating from an undead, magical or otherwise. Further, the spells that were cast before the scroll, i.e. Fireshield (Red) by a Lich will stop inflicting the expected retaliatory fire damage to melee attacks if a Protection From Undead scroll is used.
- Notes: Either the description is a bug (easier to fix), or the real effect is a bug, which would equate to opening a can of worms for a fix.
2. Ilbratha:
- Mirror Image, a self-buff ability from the sword can be resisted by Magic Resistance. Details here:
3. Cloak of the Sewers:
- "Shapeshift: Natural Form" triggers 2 turns after using any built-in ability of the cloak, whether "Shapeshift: Natural Form" was already used or not. In effect, there are 2 shape-shifts to natural form when user exits an ability before 2 turns have elapsed.
4. Ring of Air Control:
- Using the "Improved Invisibility" ability from the ring while in Athkatla triggers Cowled Wizards.

1. Saving Throws
- Elemental Lich and Shade Lich (probably many other enemies with great Saving Throws) have their ST scores weakened to 20 when instead they should be going negative with the LoB bonus.
- Notes: For example, spell Sunray cast from Daystar consistently kills Elemental Lich and Shade Lich. More details here: and
2. Knockback (Smite HLA, Ring of Ram, and Staff of Ram)
- The knockback motion (where enemy lands) is not tied to from where the strike was made, but re-routes according to current position of the strike maker. With one strike followed by a movement command, the enemy will x. Re-route to a different landing spot, y. Reverse-fly in an arc and not a straight line.
- Knocks enemies through closed doors, and many hard walls/objects.
3. Stun (Tested sources: Power Strike HLA, Smite HLA)
- If stunned successfully, double damage from critical strikes is reduced to regular damage until the stun period ends. The hard-coded 1st round critical strikes from the Smite ability work as intended, however, if a protagonist follows up with a Critical Strike HLA, or rolls natural 20's against the stunned opponent, the critical strikes do not work.
- Untested sources of stun: Monk's innate stun ability, the Stun spell, and the stun munitions. (possibly missing something)

to be continued over 2-3 weeks...
Post edited by hsenpar on


  • jmerryjmerry Member Posts: 2,813
    Having not gotten that keep messenger myself, I can say a bit about what's going on there.

    In my case, that triggered as I was exiting the Windspear Hills dungeon. How do I know that? Because in the save file, that area has an instance of the creature "bdoffscr". Which is created in the script block, and later destroyed in the same block after a small wait. The inescapable conclusion here is that the script block involved was only partially executed - the part after the wait didn't happen.

    This, I suspect, is extremely common in "missing messenger" bugs. The script blocks that summon them have waits in them, and that makes those blocks highly prone to glitchy partial execution. Especially if some other script tries to do something at the same time, like companion scripts offering romance talks in my case.

    On some of the others ...

    There is one damaging floor that can hit multiple targets - the spiked section in Hexxat's second tombwalk dungeon. And it can do that because the script is specifically written for it, with the downside that it can't hit anybody but actual party members. This is running into fundamental design issues of the game; a "trap" can only trigger at a certain rate, and so whatever effect it has will hit once per interval. If that's a single-target damage effect on whoever's standing there, then only one of the potential victims will suffer the consequence.

    In the standard game, those Roenall soldiers have an override script that makes them hostile when they hear their lord's shout, and makes them fight a few specific keep soldiers. They then have generic combat scripts as backup. But if that shout didn't go through, they won't go hostile and that generic combat script won't be relevant. I recall SCS breaking the scripting here.
    In a similar vein, Anishai has one script to control hostility and a generic combat script after that. Maybe that first script broke, maybe something else glitched. Oh, and Anishai is also a monk with an oil of speed in a quickslot and a script that uses potions. Which isn't smart enough to realize that monks can't use or benefit from oils of speed.
  • hsenparhsenpar Member Posts: 54
    Mad game knowledge @jmerry, you know it as if it were your own baby!

    Thanks for the remarks.
  • hsenparhsenpar Member Posts: 54
    edited May 28
    @jmerry Care to share your insight what's going on here? I was hoping to yolo with the Daystar sword a little, but it's a buggy no go. Going back to an older save.

    The Sunray spell cast from Daystar:

    1. a6mfbauk2r3r.png
    2. jjlu4o2empsk.png
    3. 0h6850k7rb3m.png


    Elemental Lich and Shade Lich always and instantly die to Sunray.
    They never MR-resist any components of the spell nor do they succeed a Saving Throw, which is weird because they got excellent ST against Spell, especially with the Legacy of Bhaal bonus. Simple math says that neither of those liches should receive the 1K damage component from the Sunray spell on LoB difficulty, unless de-buffs like Greater Malison are applied to soften up the Saving Throws. As of now, its 100% success for all four components of the spell (reloaded several times to verify).
    A mundane Skeleton Warrior does not receive the 1K damage component.
    There's a single MR-resist log and no Saving Throw logs. According to image #3, I'd expect 3 separate MR-resist / Saving Throw messages to reflect that only one of four components of the spell worked. Or does the Sunray spell work like "a chain of light bulbs" that necessitates a prior effect to pass for the final effect (1K damage) to be rolled?

    (All bugs I'm listing reproduce with a clean official install -- SCS fully removed)
    Post edited by hsenpar on
  • jmerryjmerry Member Posts: 2,813
    hsenpar wrote: »
    ...they got excellent ST against Spell, especially with the Legacy of Bhaal bonus.

    That's your problem. The LoB save bonus is bugged. While 2.6 fixed the global issue about the bonus being countered by another effect, it either introduced or exposed a new bug. Saving throws that would be reduced to less than zero by it are instead set to 20. Maybe not always, maybe not forever, but pretty consistently when you first face an enemy.
  • hsenparhsenpar Member Posts: 54
    Seems plausible. Thx as always.
  • hsenparhsenpar Member Posts: 54
    Magic Resistance can block a self-buff like Mirror Image (cast from 'Ilbratha')


  • jmerryjmerry Member Posts: 2,813
    Not a problem with the spell; that ignores MR like most buff spells. The Ilbratha ability, though, is incorrectly set to be affected by MR.

    ... Though I'm not sure how you got that particular log result. Both the mirror image effect and the "Mirror Imaged" string are set to be affected by MR, so either both should have worked or both should have been resisted. Not one of each.

    Reported to the EE Fixpack mod currently under development.
  • hsenparhsenpar Member Posts: 54
    edited May 30
    Spells aside, Warden in Planar Prison is a threat somewhere in between a Candlekeep rodent and a goblin (un-modded EE game on LoB difficulty). His Thac0 and damage are completely broken.

    With SCS added, he is a serious threat with his melee and his spells.

  • jmerryjmerry Member Posts: 2,813
    Base THAC0 15, 10 strength, no proficiency in the weapon he's wielding. Yeah, that's a mess.

    In the standard game, the Warden is listed as a fighter/mage, but his class levels are 18/1/1. It looks like the creature was originally built as a level 18 pure mage (conjurer, but ignoring the excluded school), including proficiencies BG1 style (1 dot each in small swords, blunt, and missile). Throw in a 5-point boost to spell saves (1 instead of 6). Then he was given a unique long sword to wield and changed to a fighter/mage without updating anything. Which means now he's a level 18 fighter with a 12-point THAC0 deficit and far too few weapon proficiencies, and a level 1 mage with level 18 specialist spell memorization but not the caster level to match.
    SCS changes him to a level 18/18 fighter/mage with solid physical stats including 18/76 strength, THAC0 and saves to match including that 5-point spell save bonus, and specialization in his weapon and style.

    Honestly, there are a lot of creatures with messed up stats. For example, I took a look at the sahuagin you fight in the City-of-Caverns. There are two main stat blocks that each get repeated a few times. One of those is 19 HP, 9 strength, 175 XP, and the THAC0 and saves of a level 2 fighter. The other is 81 HP, 21 strength, 3000 XP, and the THAC0 and saves of a levev 10 fighter. Both of those, however, are still only level 2. You'd think they could just update the latter's level to 10, but no.

    Hey, at least the Warden is in better shape than Revanek (the fighter in the Twisted Rune). He actually has a weapon, after all.
  • hsenparhsenpar Member Posts: 54
    edited June 15
    Edit: mystery solved.
  • hsenparhsenpar Member Posts: 54
    edited June 29
    NPCs "Royal High Priestess Senityili" and "Captain Feerlattiys" automatically die when siding with the Rebels in the City of Caverns.


    There is only one acceptable and story-consistent route for these NPCs to die like they do: If the protagonist rats out Senityili's plot against King Ixilthetocal with the dialogue option: "No... but I wanted to tell you that your high priestress, Senityili, is plotting with the rebels to overthrow you." In all other cases, those NPCs are to stay alive if there's no combat against the protagonist.
    Post edited by hsenpar on
  • JuliusBorisovJuliusBorisov Member, Administrator, Moderator, Developer Posts: 22,419
    Thanks for this thread! I don't know when the next patch happens, but I'll make sure to inform the dev team about all the bugs you've found, when the time comes!
  • jasteyjastey Member Posts: 2,301
    There is also a fan project for an EE Fixpack here where bugs can be reported. The plan is to come up with the fixes, offer an inofficial fixpack, and hope that BeamDog might incorporate them into the official games.
  • JuliusBorisovJuliusBorisov Member, Administrator, Moderator, Developer Posts: 22,419
    Yeah, that EE Fixpack idea is just <3<3<3
  • hsenparhsenpar Member Posts: 54
    edited July 13
    As the drow city quest-line wraps up, the handmaiden buffs up the protagonist with a Death Ward spell. All this target practice against the tortured Djinni didn't help. Thanks for the hostility, madame!

    Post edited by hsenpar on
  • jmerryjmerry Member Posts: 2,813
    I've seen githyanki targeting party members with their Haste spells too. And a low-level priest targeting an ally with Draw Upon Holy Might. It's pretty easy to mess up spell targeting.

    Anyway, here's the relevant block of the Overseer Handmaiden's spellcasting script (PRIES14T):
    	HaveSpell(CLERIC_DEATH_WARD)  // SPPR409.SPL (Death Ward)
    	RESPONSE #100
    		Spell(LastSeenBy(Myself),CLERIC_DEATH_WARD)  // SPPR409.SPL (Death Ward)
    By my understanding of these things, the "LastSeenBy(Myself)" object is whatever the last See() condition returned - namely, the allied fighter. This shouldn't be targeting an enemy.
  • hsenparhsenpar Member Posts: 54
    edited July 14
    jmerry wrote: »
    ...By my understanding of these things, the "LastSeenBy(Myself)" object is whatever the last See() condition returned - namely, the allied fighter. This shouldn't be targeting an enemy.

    Being unfamiliar with IE engine scripting, I can only drop in a little bit of further testing. Still got a relevant save; it reproduces reliably without SCS -- could pass on to anyone who wants to investigate.

    One note: Chat log of that screenshot is scrolled back to the relevant part. The moment she casted the Death Ward spell, the protagonist was closer than any of her allies who were late to the party. But the question remains: why does the unallied target qualify for the buff?

    - could it have anything to do with Adalon's disguise... does the protagonist pass as "an allied drow fighter" through the IF conditions?

    - or does
    just unleash the spell on the last-seen fellow, whether friend or foe? There are 3 conditions to the IF-clause, but the Spell() function quoted above seems rather relaxed. What (if anything at all) disqualifies an unallied recipient?
  • jmerryjmerry Member Posts: 2,813
    edited July 14
    Nothing. Spell(LastSeenBy(Myself),whatever) just casts the spell on whoever was last seen, whether friend or foe.

    But of course, the caster normally sees lots of things. The three conditions here mean that the priest will only cast the spell if (a) she sees an enemy, (b) she sees an allied fighter, and (c) she has the spell available.

    The tricky part is that having those See() conditions doesn't just return TRUE or FALSE. Each such condition also sets the LastSeenBy object. In a block like this, the most recent See() condition is the one that the LastSeenBy() target in the block's action uses. Which is the allied fighter, not the enemy (you).

    For another example, I mentioned githyanki casting Haste on party members. Specifically, the "Gish" type, using script GITH04.BCS. Here's the relevant block.
    	RESPONSE #100
    		ReallyForceSpell(LastSeenBy(Myself),WIZARD_HASTE)  // SPWI305.SPL (Haste)
    This script checks to see if the nearest ally isn't hasted, and that an enemy is present. Then it force-casts Haste on that enemy, because that extra See() condition reset the LastSeenBy() object.
    And the very same logic that caused me to see this Haste cast on a party member every time means that your example should have the spell cast on some fighter that's on the drow side, every time.
  • hsenparhsenpar Member Posts: 54
    edited July 30
    Mislead spell trigger of Jon Irenicus ("Tree of Life" area) produces a "Dead" decoy which dies after 1 or more damage is inflicted.


    Others impacted by the same bug: Shade Lich, 1st form of "Kangaxx the Lich" in the Docks District, Shangalar in the Twisted Rune. Jon Irenicus is the first encounter of that bug impacting a non-Lich enemy.

    Update: Also applies to Jon Irenicus (Slayer form) in Hell.
    - One way to avoid unfairly benefiting from this bug: Run around (or fight something else) until the Mislead decoy un-summons itself.

    Post edited by hsenpar on
Sign In or Register to comment.