Jump to content

Initial comments on the bug list


devSin

Recommended Posts

Initial reports:

 

Thief in Samia's group disappears

This happens because he's using Yoshimo's combat script (which basically says "disappear and run away")

 

Statue in Shade Lord dungeon has a container that it covered by the statue avatar creature

There's no way around this (I have the statue die with SPHOLY and enable the container after the Shade Lord is dead)

 

Player can get Riejik quest before the player is officially the Hero of Trademeet

Change "geniesgone" check in her spawn block to "Global("loganjob2","GLOBAL",2)" in AR2000.BCS

 

Spells cast from items as well as some innates and abilities should get names

Can't be done (items just apply the effects; there isn't any way to make the name sensible)

 

Problems with Neb's Nasty Cutter

Find a patchier solution:

COPY_EXISTING ~NEBDAG.ITM~ ~OVERRIDE/DAGGNEB.ITM~
 DELETE_BYTES 0x013a 0x90 // make it a plain +2 dagger
 WRITE_SHORT 0x90 0x00
 WRITE_SHORT 0x94 0x00
BUT_ONLY_IF_IT_CHANGES

COPY_EXISTING ~NEBDAG.ITM~ ~OVERRIDE~
 DELETE_BYTES 0x019a 0x30
 WRITE_ASCII 0x10 ~DAGGNEB~ // decay to new dagger
 WRITE_BYTE 0x17 0x00
 WRITE_BYTE 0x96 0x02
 WRITE_BYTE 0x99 0x01
 WRITE_SHORT 0x90 0x02
 WRITE_SHORT 0x94 0x19
BUT_ONLY_IF_IT_CHANGES

 

Imp and Quasit poison damage is screwy

There is no way to do 100% hp poison, doing 999 poison damage seems too ghetto (I gave 2d4 poison damage)

 

My own bugfix for Haer'Dalis removes his damage resistances; a must-do

Haer'Dalis has a bunch of funky resistances, unless Baldurdash is applied, it shouldn't be a problem

 

Level 20 and beyond rogue THAC0 is wrong, and kit bonuses for kits as well

After checking to make sure it's valid

COPY_EXISTING ~THAC0.2DA~ ~OVERRIDE~
 SET_2DA_ENTRY 3 21 41 ~10~
 SET_2DA_ENTRY 4 21 41 ~10~
 SET_2DA_ENTRY 12 21 41 ~10~
BUT_ONLY_IF_IT_CHANGES

Kit bonuses look fine, though.

 

Flasher Master Bruiser Mates hover in one place perm. if enemy dies before they explode

This would be too annoying to fix, as they use the skull trap projectile

 

* If the third question of the guardian bridge in the Unseeing Eye quest was answered incorrectly, the scripting failed and the bridge could not be activated again, which broke the Unseeing Eye quest

In RIFTG01.BCS (I think), change the three "!Exists("") !Dead("")" to "OR(2) !Exists("") Dead("")" (or maybe !Exists() Dead(); I think there was a reason for the OR(), but I really have to check this)

 

* If Cernd joined the party at level 13, he had no AI and his quest would never start

COPY_EXISTING_REGEXP GLOB ~^CERND13B?\.CRE$~ ~OVERRIDE~
 WRITE_ASCII 0x0248 ~CERND~
BUT_ONLY_IF_IT_CHANGES

COPY_EXISTING ~CERND14.CRE~ ~OVERRIDE~
 WRITE_ASCII 0x0248 ~CERN25~
 WRITE_LONG 0x0250 0x00
 WRITE_LONG 0x0254 0x00
BUT_ONLY_IF_IT_CHANGES

 

* Greater Wolfwere regeneration rate would be reapplied and "stack" to unkillable levels from saving/loading (esp. noticed in Firkraag's dungeon)

COPY_EXISTING ~RINGWOLF.ITM~ ~OVERRIDE~
 WRITE_BYTE 0x7e 0x02 // while equipped (from perm)
BUT_ONLY_IF_IT_CHANGES

 

* Script bounce would occur if Jaheira was blinded (usu. from nearby Smoke Mephits) when approaching Khalid in Irenicus' dungeon

Changing "See("")" to "Range()" seems to work (I think in Jaheira BCS and DLG)

 

* Carsomyr's (both +5 in SoA and upgradable to +6 in ToB) Dispel Magic ability on hitting a target in melee was broken; barely worked at all

I stole the dispel stuff from Tougher Illasera for this and the Staff of the Magi; it kicks buttocks ;)

 

* The Wave halberd did not slay Salamanders as it was supposed to do

There is no salamander race/class, so the Wave will only affect those flagged as ELEMENTAL_FIRE

 

Staff Of the Magi's Spell Trap couldn't be removed by any means (Pierce Shield, Ruby Ray or Spell Strike) by enemy mages

I fixed this by removing the effect, and creating a new spell to cast; I'm not particularly satisfied with the solution, but there is no other way

 

18 stores sold unlimited copies of various magical or non-consumable items; most noted was unlimited Harbinger two-handed swords from one of the Ust Natha merchants

My store section should take care of *all* of this, and it should be fairly compatible; ask for the criteria I used if you're curious

 

Containers that summon guards if neutrals present when they are opened were "persistent" and neutrals coming into the area hours/days after container opened would sometimes go hostile/summon guards

This is a really tough one, because there's only so much you can do before you end up breaking the script; simply removing the Wait() in ENFORAM and ENFOR25 would improve this enough (and still keep the script working)

 

Container in Docks house (safehouse in Paladin's quest) would report guards being summoned if opened (even if the only neutral in the area was a cat) but no guards would appear

Just remove the trap (unless you're one of the 5 people who play a paladin, you'll only ever see the dumb cat here)

COPY_EXISTING ~AR0415.ARE~ ~OVERRIDE~
 WRITE_BYTE 0x028c 0x04 // fix the transition flag while we're here
 WRITE_BYTE 0x04b0 0x00 // then, disable all the dumb traps
 WRITE_BYTE 0x04b4 0x00
 WRITE_LONG 0x04cc 0x00
 WRITE_LONG 0x04d0 0x00
BUT_ONLY_IF_IT_CHANGES

As an aside, this was using BG1 scripts (call in the Flaming Fist!)

 

Club of Detonation's +3 fire damage only occurred 20% of hits, instead of on every hit (only the extra 10 points occurs 20% of hits)

Find something patchier to do

COPY_EXISTING ~BLUN26.ITM~ ~OVERRIDE~
 WRITE_BYTE 0x014c 0x64 // 100% probability (check the other probs)
BUT_ONLY_IF_IT_CHANGES

 

All battle music did not loop properly; ended and looped to "intro" sequence instead of set looping point

My MUS section should take care of all this (although probably won't want to use SET_2DA_ENTRY)

 

Underdark main area's "night" music was erroneously set as Trademeet's theme

COPY_EXISTING ~AR2100.ARE~ ~OVERRIDE~
 WRITE_BYTE 0x5f38 0x1f // night music = day music
BUT_ONLY_IF_IT_CHANGES

 

Catti Brie would attack protagonist mages with arrows in the encounter with Drizzt though no one was hostile

~C6CATTI.CRE~ ~OVERRIDE~
 WRITE_LONG 0x0250 0x00 // delete MAGESLY.BCS
 WRITE_LONG 0x0254 0x00
BUT_ONLY_IF_IT_CHANGES

 

Terrece (Jaheira/Ployer plot) would appear outside the Council building while the PC was inside and start dialog through the transition, which left the player talking to a shaded-out exterior wall

I hate, Hate, HATE this bug. TERRECE.BCS to

IF
 Global("TerreceSpawn","GLOBAL",2)
 InMyArea([PC]) // Because AR1002 is party-required, we can check for PC and not Player1
 !Dead("Ployer")
THEN
 RESPONSE #100
   Wait(1)
   SetGlobal("TerreceSpawn","GLOBAL",3)
   StartDialogueNoSet([PC])
END

 

* Two Copper Coronet based quests (Nalia/Isaea Roenall and Mazzy/Gorf) could break if player sided with Bodhi and did not have Yoshimo in the group

AR0406 to

IF
 Global("WorkingForBodhi","GLOBAL",1)
 Exists("Yoshimo") // Make sure Yoshimo is here
 !InParty("Yoshimo")
THEN
 RESPONSE #100
   ActionOverride("Yoshimo",DestroySelf())
END

 

If the player bought the Umar Hills kids both the ale and bastard swords they wanted, they would only take one of the three swords

Whatever... UHKID01.DLG, state 16: one of the TakePartyItemNum()s was wrong.

 

Mind Flayer "Devour brain" battletext appeared 300 seconds after an INT-drain attack instead of immediately

Find patchier equivalent to

COPY_EXISTING ~MINDFLAY.ITM~ ~OVERRIDE~
 WRITE_BYTE 0x0116 0x01 // instant/perm
 WRITE_LONG 0x0118 0x00 // no duration
BUT_ONLY_IF_IT_CHANGES

 

Valygar's Corthala Family Blade katana was not giving a STR bonus to its damage

I think this is intentional

 

Maze effect was using the wrong animation (same as Imprisonment's); new animation effect will be seen

This IS NOT a bug. The Maze animation is weak. That said, I changed it... (you have to create a new VVC, otherwise it's just plain crappy)

 

The "spell" effects causing the "good path" losses in the Abyssal test were incorrectly flagged as of the Divination school instead of schoolless, so Spell Immunity:Divination would block them

Not that I could see

 

Jerrod's Mace was also not giving the THAC0/damage bonuses vs. Demons indicated (effect definition was completely missing)

No, friend, the effect definition was there, it was just wrong. Make this patchier:

COPY_EXISTING ~WAMACE.ITM~ ~OVERRIDE~
 WRITE_ASCII 0x014e ~DAMACEA~
 WRITE_ASCII 0x017e ~DAMACEB~
BUT_ONLY_IF_IT_CHANGES

 

Gnoll on top level of Watcher's Keep was supposed to be an Umber Hulk, and had no melee attack as its default melee weapon reference was invalid

I think icelus or someone already figured out you can't do this, because umber hulks, wyverns, and elementals don't get the stoneskin skin color (same reason you can't "fix" Elminster and Sarevok in the first dream sequence)

 

Redid previous fix for "Habib's Mighty Scimitar" so that it works exactly as originally intended, without the bug of scimitars being stuck in a character's Quick Weapon Slots

Add ActionOverride(PlayerN,ApplySpell(Myself,FORCE_DISPEL_MAGIC)) before the DropItem() calls in BALDUR.BCS

 

Short Bow +1's proficiency was incorrectly set to Long Bows (was also not flagged as enchanted, but this would not have affected function)

Make sure you also get the range (the range was 100, whereas all other short bows get range 75)

 

Normal darts were giving a STR bonus when thrown and doing slashing instead of missile/piercing damage

It's really funny when you chunk 'em with a dart :D

 

Three kinds of magical darts had an enchantment level of 0

There are only three magical darts in the game: dart +1, dart +5 (the cloak), and the stupid ToB dart

 

* The 2nd level cleric spell "Chant" was not providing its THAC0/damage bonuses

I think this may have been another case where the bonus was implicit

 

The Unseeing Eye could be fought twice by first attacking Gaal after opening the path downward, then again after assembling the Rift Device

This required major changes to AR020n scripts (basically, making sure the UnseeingEye global was never 0 if the eye appeared)

 

Guardian Bridge 'punishment' monsters dropped unlimited sellable scrolls, gems and +1 two-handed swords

This is a legitimate exploit

 

Redid previous fix for Watcher's Keep exterior door to lowest level as there was still a pixel or two with the trigger sticking out

My AR3000 took several hours, but it is perfect (down to the pixel)

COPY_EXISTING ~AR3000.ARE~ ~OVERRIDE~
 WRITE_BYTE 0x0928 0x96
 WRITE_BYTE 0x0c38 0x21
 WRITE_BYTE 0x0dbe 0xad
 WRITE_BYTE 0x0dc0 0x6b
 WRITE_BYTE 0x0dc2 0xe9
 WRITE_BYTE 0x1670 0xfc
 WRITE_BYTE 0x1a4c 0x10
 WRITE_BYTE 0x1a4e 0x96
 WRITE_BYTE 0x1a92 0xee
 WRITE_BYTE 0x1a9e 0x21
 WRITE_BYTE 0x1ab8 0xad
 WRITE_BYTE 0x1aba 0xd3
 WRITE_BYTE 0x1abc 0xc0
 WRITE_BYTE 0x1abe 0x6b
 WRITE_BYTE 0x1ac0 0xe9
 WRITE_BYTE 0x1ac2 0x8b
 WRITE_BYTE 0x1ac4 0xe3
 WRITE_BYTE 0x1b64 0xbd
 WRITE_BYTE 0x1b68 0xfc
 WRITE_BYTE 0x1b6c 0xef
 WRITE_SHORT 0x0dc4 0x07f7
 WRITE_SHORT 0x1ac6 0x07f7
 WRITE_SHORT 0x1b66 0x0768
 WRITE_SHORT 0x1b6e 0x0800
BUT_ONLY_IF_IT_CHANGES

 

The animation for the Five Flagons Planar Portal was misplaced by three pixels/units to the left

This happens in a lot of places with open/close day/night doors. Anyway:

COPY_EXISTING ~AR0510.ARE~ ~OVERRIDE~
 WRITE_BYTE 0x2628 0x47
BUT_ONLY_IF_IT_CHANGES

 

Three trapped containers in various areas couldn't be disarmed even if Find Traps & Pick Locks were both 100 or greater

I wish I could remember; there's the one in Neb's house; the one's in the Saradush castle cellars/jails/whatevers are supposed to be un-disarmable (as you can see from the trap script)

 

Pocket Plane challenge(s) would sometimes not complete properly, so the game could not be finished

I think I finally decided that this, as well as the "Melissan never shows up when Gromnir's dead" bug, are due to the sticky combat counter (for whatever reason, the combat counter doesn't always fall back to 0); there's no easy fix

 

Hendak's cellmate would remain after all other slave gladiators had been freed and not recognize this due to a missing script reference

GLAD2782.BCS:

IF
 OR(2)
   Dead("Hendak")
   Allegiance("Hendak",255)
 !Allegiance(Myself,255)
THEN
 RESPONSE #100
   Enemy() // don't be messin' with my punk
END

IF
 Global("HendakReleased","AR0406",2)
 !Dead("Hendak")
THEN
 RESPONSE #100
   EscapeArea() // try doing it the nice way first
END

IF
 GlobalGT("HendakReleased","AR0406",2)
 Dead("Lehtinan")
 !Dead("Hendak")
THEN
 RESPONSE #100
   DestroySelf() // otherwise, just die already
END

 

Cernd would do nothing and could not be spoken to again if the Grove was poisoned when he was out of the party

I made him Enemy() so I could kill nature boy

 

The Ring Of Earth Control could also charm golems and other classes, though it is only supposed to charm Earth Elementals

This was fixed by Extremist by adding new EFFs to only charm the right elemental

 

Several dragon breath weapons did far too much damage (effect was applied two or more times) due to an incorrect spell projectile definition

This is a tough one, but the spells were using the wrong projectile; there's no breathing spells, however, so you have to create new ones and change all the dragon scripts (see my SPIN595, SPIN596, SPIN691, SPIN832, SPIN833, and SPIN893 patches)

 

Sendai's Harm affected player character(s) at range and without the required successful hit in combat (Demogorgon's also worked the same way, but he is a Prince of Demons after all)

CLERIC_ENEMY_HARM is supposed to do this; I'm sure BioWare wanted her to be tough and use the ranged harm, uh, 'cause that's the way they wrote it

 

All other enemy clerics' Harm and Slay Living failed to work as the targeting was incorrect, and they would not attack afterwards so the spell expired

I had to trudge through every AI script fixing this (and Melf's Acid Arrow, and Ghoul Touch, and...) It's also worthwhile to change enemies' summoning to target the PC (especially demons, since they're GOODBUTEVIL, and the enemy caster will start attacking them as soon as they're summoned in)

 

Overlay on the second weapon rack in the Brynnlaw blacksmith's equipment shop did not fit the rack "container"

Updating overlays is so freaking tedious

COPY_EXISTING ~AR1603.ARE~ ~OVERRIDE~
 WRITE_LONG 0x0750 0x01ba0124
 WRITE_LONG 0x0754 0x019e011e
 WRITE_LONG 0x0758 0x01ca00f3
 WRITE_LONG 0x075c 0x01e900fc
 WRITE_SHORT 0x0510 0xf3
 WRITE_SHORT 0x0512 0x019e
 WRITE_SHORT 0x0514 0x0124
BUT_ONLY_IF_IT_CHANGES

 

The troll closest to the entrance of the Druid Grove mound was placed on an impassable area and thus unable to move

COPY_EXISTING ~AR1904.ARE~ ~OVERRIDE~
 WRITE_SHORT 0x08ac 0x04f9 // start pos
 WRITE_SHORT 0x08ae 0x049c
 WRITE_SHORT 0x08b0 0x04f9 // dest pos
 WRITE_SHORT 0x08b2 0x049c
BUT_ONLY_IF_IT_CHANGES

 

The wizard spell Limited Wish's "I wish to be rich" wish failed to give the two thousand gold pieces that it was supposed to due to incorrect embedded scripting

WISH.DLG, state 3 -> GiveGoldForce(2000)

 

When the Lanthorn was returned to elven general Elhan, he would award the 74,500 quest experience points twice

I left this in; it could be a bug, or left over from the lens quest (once for getting the lantern, and then after getting all the lenses), but it seems legitimate to give XP for killing Bodhi, and then XP for getting into Suldanessellar

 

After completing the Planar Sphere quest to imprison Lord Ketlaar Argrim, he (and his two bodyguards) would still be present in the Council building

See AR1002.BCS for my use of the super-secret actor flag

COPY_EXISTING ~AR1002.ARE~ ~OVERRIDE~
 WRITE_ASCII 0x022c ~ketlbg01~ // actor names
 WRITE_ASCII 0x033c ~ketlbg02~
 WRITE_BYTE 0x0254 0x09 // magic numbers
 WRITE_BYTE 0x0364 0x09
 WRITE_LONG 0x0234 0x00 /* check the last four patches */
 WRITE_LONG 0x0238 0x00 /* 'cause I don't remember */
 WRITE_LONG 0x0344 0x00 /* what I'm doing here */
 WRITE_LONG 0x0348 0x00 /* or not, since it works */
BUT_ONLY_IF_IT_CHANGES

 

The Staff Of Power's Globe Of Invulnerability could not be removed by spell attacks from enemy mages (similar to the Staff of the Magi's Spell Trap)

Same as the Staff of the Magi above.

 

Saemon Havarian could be killed by the player in the ship battle, and the transition text/narration afterwards inevitably said he was alive and leaving the scene (as well, he reappears in ToB)

I gave him and Desharik MINHP1; there's just not any point in being able to kill him at this stage of the game

 

There were two Sir Donalus characters, both in the Athkatla Temple District simultaneously (Temple of Helm and Radiant Heart)

Say hello to Sir Lothtyran, Helm's newest initiate and defender of the limitless supply of antidote potions

COPY_EXISTING ~HELMPR.CRE~ ~OVERRIDE~
 SAY 0x08 #17221
 SAY 0x0c #17221
BUT_ONLY_IF_IT_CHANGES

(See my AR0902 to get rid of Festule's dumb potion, too)

 

Commoners in the Copper Coronet (especially the three in the hidden area halfway to the back) would often go hostile after the battle to free the enslaved gladiators there

They need to die - I seriously doubt Hendak's going to let them sit back there tokin' it and gabbing about how wonderful Lehtinan is (this required changing something in the area file, I think)

 

In the first Copper Coronet battle, one of the enemy guards would appear in the secret entrance to the sewers even if it had not been discovered/opened

Something like this for AR0406.BCS

IF
 Global("HendakReleased","AR0406",2)
 Global("SpawnFreedGladiators","AR0406",0)
THEN
 RESPONSE #100
   CreateCreature("copamb01",[2216.920],3) // One of these is different
   CreateCreature("copamb02",[2132.980],10) // Created in the slave pen room
   CreateCreature("copamb03",[1401.1360],0) // to the left (northwest?)
   CreateCreature("copamb04",[1337.1360],0) // of Hendak's cell
   CreateCreature("copamb05",[1425.1449],9)
   SetGlobal("SpawnFreedGladiators","AR0406",1)
END

 

A few mages if "chunked" on the final hit while casting Mislead would turn into a spinning chunk that cast spells

There's no easy way around this. That said, I've *never* seen this, and Misleads don't cast spells (only VISUALS_ONLY) - this happens because "spinning chunks" is a legitimate creature model that can be cloned by the illusionary spells

 

The Arcana Archives store dialog displayed the name "Pen And Parchment"

COPY_EXISTING ~25SPELL.STO~ ~OVERRIDE~
 SAY 0x0c #70882 // Arcana Archives
BUT_ONLY_IF_IT_CHANGES

COPY_EXISTING ~25SPELL2.STO~ ~OVERRIDE~
 SAY 0x0c #73982 // duh
BUT_ONLY_IF_IT_CHANGES

 

Enough for now.

Link to comment
Player can get Riejik quest before the player is officially the Hero of Trademeet
Change "geniesgone" check in her spawn block to "Global("loganjob2","GLOBAL",2)" in AR2000.BCS

Do we know that that's a bug, that they're not supposed to come to the party for help just because of the party getting rid of the genies?

* Carsomyr's (both +5 in SoA and upgradable to +6 in ToB) Dispel Magic ability on hitting a target in melee was broken; barely worked at all
I stole the dispel stuff from Tougher Illasera for this and the Staff of the Magi; it kicks buttocks ;)

Why did the Staff of the Magi need to be changed, now?

Container in Docks house (safehouse in Paladin's quest) would report guards being summoned if opened (even if the only neutral in the area was a cat) but no guards would appear
Just remove the trap (unless you're one of the 5 people who play a paladin, you'll only ever see the dumb cat here)
COPY_EXISTING ~AR0415.ARE~ ~OVERRIDE~
 WRITE_BYTE 0x028c 0x04 // fix the transition flag while we're here
 WRITE_BYTE 0x04b0 0x00 // then, disable all the dumb traps
 WRITE_BYTE 0x04b4 0x00
 WRITE_LONG 0x04cc 0x00
 WRITE_LONG 0x04d0 0x00
BUT_ONLY_IF_IT_CHANGES

As an aside, this was using BG1 scripts (call in the Flaming Fist!)

Er, how about no? We're not Microsoft and introducing a worse bug which "doesn't matter because only people who play paladins will be affected by it" is not a bugfix by any stretch.

Valygar's Corthala Family Blade katana was not giving a STR bonus to its damage
I think this is intentional

Uh...why?

Maze effect was using the wrong animation (same as Imprisonment's); new animation effect will be seen
This IS NOT a bug. The Maze animation is weak.

Perhaps we should have a definition check on "bug."

Guardian Bridge 'punishment' monsters dropped unlimited sellable scrolls, gems and +1 two-handed swords
This is a legitimate exploit

I agree it's not a bug, but "legitimate exploit" is kind of oxymoronic.

Sendai's Harm affected player character(s) at range and without the required successful hit in combat (Demogorgon's also worked the same way, but he is a Prince of Demons after all)
CLERIC_ENEMY_HARM is supposed to do this; I'm sure BioWare wanted her to be tough and use the ranged harm, uh, 'cause that's the way they wrote it

What? That would be an argument for not fixing any bugs, at all, ever.

Saemon Havarian could be killed by the player in the ship battle, and the transition text/narration afterwards inevitably said he was alive and leaving the scene (as well, he reappears in ToB)
I gave him and Desharik MINHP1; there's just not any point in being able to kill him at this stage of the game

Making characters who can be killed and are spoken of later as being dead (you can tell Aran Saemon is dead) unkillable is, again, stretching the definition of "bugfix" far beyond its limits. I have code to delete Saemon's ToB appearance, but I'm reluctant to post it here as I don't really think either Saemon's killability in SoA or his reappearance in ToB is a bug in the sense of being unintended by Bioware--just an indication of how much Bioware values consistency.

Link to comment
Do we know that that's a bug, that they're not supposed to come to the party for help just because of the party getting rid of the genies?
I changed it locally, but it doesn't actually break anything, so it's up in the air whether anyone wants to even bother.

 

Why did the Staff of the Magi need to be changed, now?
Who knows? Unless somebody can point out what he was talking about ("lacking many of the dispel resources"), I'm not sure if there's even a reason. I think Carsomyr was "broken" because its dispel type and/or flags were different than that used by the Staff of the Magi (so it was failing in some cases), but I don't know that there was anything actually wrong with the staff (I'm not advocating that you use my staff fix, I'm simply pointing out one possible avenue). I just wanted something that works consistently without making it the largest item in the game.

 

Er, how about no?  We're not Microsoft and introducing a worse bug which "doesn't matter because only people who play paladins will be affected by it" is not a bugfix by any stretch.
Huh? How is removing the traps "introducing a worse bug"? That said, it will be easy enough to replace the references to the Baldur's Gate trap script (ACT02.BCS) with something more appropriate. (The paladin part was a joke; I didn't suggest faking it because nobody will ever experience it, I simply don't think the trap was necessary.)

 

Uh...why?
All katanas in the game have the strength bonus byte set to 0x03 (this includes Valygar's katana). I don't know what 0x03 does (0x00 = no, 0x01 = yes, 0x03 = ?), but since it's used for all katanas, I don't think it's a bug.

 

Perhaps we should have a definition check on "bug."
Go ahead and change it if you want (I do, because it's better to provide some visual distinction between Maze and Imprisonment). That said, the current animation is extremely superior to SPSPMAZE, and I can't imagine BioWare choosing to use the good animation over the crappy one by mistake. If people think it's a bug, however, go for it. I have one solution under the VVC section (I had to increase the depth, and I enabled the transparency flag; everything else should be standard from SPMAZE2); it looks OK, but it's no SPMAZE.

 

What? That would be an argument for not fixing any bugs, at all, ever.
Perhaps, but her script specifically uses CLERIC_ENEMY_HARM, which is the ranged variant. Not once do they ever use CLERIC_HARM, and there's nothing I've seen to make me think it's a bug. If people disagree, however, then it should be changed.

 

Making characters who can be killed and are spoken of later as being dead (you can tell Aran Saemon is dead) unkillable is, again, stretching the definition of "bugfix" far beyond its limits.
I was just providing my "solution" (imperfect though it is). I fully expect somebody to provide something better (I just don't think that this aspect is important enough to have to do too much work to make sure all eventualities are handled), or to just leave it as-is (which would be perfectly fine).

 

I'm working off the list here, and I fully expect not everything will be satisfactory, and not everything will be accepted as an actual bug.

Link to comment
Redid previous fix for "Habib's Mighty Scimitar" so that it works exactly as originally intended, without the bug of scimitars being stuck in a character's Quick Weapon Slots
Add ActionOverride(PlayerN,ApplySpell(Myself,FORCE_DISPEL_MAGIC)) before the DropItem() calls in BALDUR.BCS

Do we really want to be dispelling magic on the player? If there's another solution, that'd be way better.

 

Pocket Plane challenge(s) would sometimes not complete properly, so the game could not be finished
I think I finally decided that this, as well as the "Melissan never shows up when Gromnir's dead" bug, are due to the sticky combat counter (for whatever reason, the combat counter doesn't always fall back to 0); there's no easy fix

Suggest we change it to use stuff like !Exists, Dead, etc. Maybe with a slight delay. There's also ActuallyInCombat, although I dunno what that does.

 

The Ring Of Earth Control could also charm golems and other classes, though it is only supposed to charm Earth Elementals
This was fixed by Extremist by adding new EFFs to only charm the right elemental

Extremist's fix sounded pretty pants last time I read about it. Suggest we add a new RACE.IDS entry for elementals. Same for Salamanders, if necessary.

 

Sendai's Harm affected player character(s) at range and without the required successful hit in combat (Demogorgon's also worked the same way, but he is a Prince of Demons after all)
CLERIC_ENEMY_HARM is supposed to do this; I'm sure BioWare wanted her to be tough and use the ranged harm, uh, 'cause that's the way they wrote it

Sensible use of CLERIC_HARM would be very hard to script, which is, I imagine, why they do it that way.

 

All other enemy clerics' Harm and Slay Living failed to work as the targeting was incorrect, and they would not attack afterwards so the spell expired
I had to trudge through every AI script fixing this (and Melf's Acid Arrow, and Ghoul Touch, and...) It's also worthwhile to change enemies' summoning to target the PC (especially demons, since they're GOODBUTEVIL, and the enemy caster will start attacking them as soon as they're summoned in)

I think enemy summoning targetting the PC means that it can be bounced by protections. Suggest we use the invisible rat hack or something.

 

Er, how about no?  We're not Microsoft and introducing a worse bug which "doesn't matter because only people who play paladins will be affected by it" is not a bugfix by any stretch.

Yeh, uh, I don't really see how removing the trap is worse than a cat in Athkatla summoning the Flaming Fist.

 

Making characters who can be killed and are spoken of later as being dead (you can tell Aran Saemon is dead) unkillable is, again, stretching the definition of "bugfix" far beyond its limits.  I have code to delete Saemon's ToB appearance, but I'm reluctant to post it here as I don't really think either Saemon's killability in SoA or his reappearance in ToB is a bug in the sense of being unintended by Bioware--just an indication of how much Bioware values consistency.

With Saemon, the bug is the voiced chapter screen telling you he's alive and well. I've modified the sound, albeit messily, and the solution should be an alternative chapter screen if he's dead. Desharik should be easier to handle if you kill him, since there's no chapter screen to deal with.

Link to comment
Er, how about no?  We're not Microsoft and introducing a worse bug which "doesn't matter because only people who play paladins will be affected by it" is not a bugfix by any stretch.

Yeh, uh, I don't really see how removing the trap is worse than a cat in Athkatla summoning the Flaming Fist.

You don't see how making a house able to be robbed with impunity right in front of Tyrianna, when Bioware clearly meant for the guards to be called in that situation, doesn't deserve to be called a bugfix?

Link to comment

Both Carsomyr and SotM are supposed to dispel magic on a hit, correct? Rather than attaching a grip of effects, I'd suggest a C_E dispel magic and make it a one-creature effect rather than area and then add a casting effect to both Carsomyr and SotM. That way their dispel works exactly as the spell (though cast at a fixed level).

 

As for Imp and Quasit poison, BD takes the approach that this is a bug and not intended (and that's what I recoded). Do we have something definitive on this?

 

Pocket Plane challenges and Melissan not spawning after Gromnir's defeat were issues of creatures escaping. Tomoko, IIRC, has a block in her script that forces her to EscapeArea() if she gets too much damage. If she does, then the triggers to complete the challenge would never be true. I believe the issues at Gromnir's area also reveolve around a similar issue, because the times I've encountered this it's inevitably that one of the goons had fled down the stairs.

 

As for Tyrianna's area, I agree we should not remove the trap script. Have it call Amnish guards when a non-cat is present would be the optimal solution IMO.

Link to comment
Do we really want to be dispelling magic on the player? If there's another solution, that'd be way better.
I hate it too, but I don't know of any other way to instantly kill a magically created weapon. I'm hoping someone can come up with something better (that still works).

 

Suggest we change it to use stuff like !Exists, Dead, etc. Maybe with a slight delay. There's also ActuallyInCombat, although I dunno what that does.
I think ActuallyInCombat() can only be used in creature AI scripts (and even then, I have no idea if it works). One of the biggest mistakes I ever made was adding the trigger to Lilarcor's blocks (trying to get it to shut up with its combat lines when the party is just walking around). Anyway, they all already check for !Exists, Dead(), etc.; the CombatCounter(0) is used to make sure that NPC X doesn't swoosh in and interrupt you while you're cracking skulls.

 

Extremist's fix sounded pretty pants last time I read about it. Suggest we add a new RACE.IDS entry for elementals. Same for Salamanders, if necessary.
IIRC, this is the way he first tried to fix it. Make sure somebody nabs the SP fixpack to see where it went wrong (I think the read me says why they changed the behavior).

 

Sensible use of CLERIC_HARM would be very hard to script, which is, I imagine, why they do it that way.
They have not-so-sensible special considerations for using normal Harm (SetGlobal("lastSpell","LOCALS",1)... IF Global("lastSpell","LOCALS",1) THEN Attack!) with normal casters. ENEMY_HARM is *only* ever used for Sendai and Demogorgon. I think they just wanted Sendai to have a chance.

 

I think enemy summoning targetting the PC means that it can be bounced by protections. Suggest we use the invisible rat hack or something.
I'm not sure... All of the effects are target-self (which is why you can't cast Monster Summoning with (Minor) Globe of Invulnerability on)), so it may not fail.

 

Yeh, uh, I don't really see how removing the trap is worse than a cat in Athkatla summoning the Flaming Fist.
Actually, the ENFORAM script (for the invisible creature summoned by the CTALARM trap) should be checking for [128.1] so, unless the cat is flagged as humanoid, it shouldn't trigger the badness. So Kish was probably right that it should just be changed. Also, the snippet I posted sets the exit transition flag to party-required (every other transition here is party-required except the exit); since this is a paladin stronghold quest, it's probably better to make everything party-required (vs. removing the auto-save flags).

 

I'm likely missing something, but can't you remove the script reference from the trap itself? Or create a new, more appropriate script and assign it to the trap?
If you remove the script, you also have to blast the trap (otherwise, you end up with a disarmable, triggerable trap that does absolutely nothing). But yeah, changing this to the standard CTALARM trap is the right solution.
COPY_EXISTING ~ar0415.are~ ~override~
 WRITE_ASCII 0x04cc ~CTALARM~ // Cam can come up with a better ReadByte/StrCmp solution
 READ_BYTE 0x028c ~tranFlags~// Tran0400 curr flags
 WRITE_BYTE 0x028c ~%tranFlags%~ BOR 0b00100000 // toggle party-required on
BUT_ONLY_IF_IT_CHANGES // or something

 

As for Imp and Quasit poison, BD takes the approach that this is a bug and not intended (and that's what I recoded). Do we have something definitive on this?
The original intent was to have a save vs. death or die of poison (I think that's some rule from D&D). That said, it doesn't work, so it's better just to kill the effect (unless someone can figure out how to make it work without cheesing it).

 

Pocket Plane challenges and Melissan not spawning after Gromnir's defeat were issues of creatures escaping.
Perhaps making the combat counter stick? It's the only thing I can think of that would fail in Mel's spawn block, and I know the counter sometimes doesn't reset (which is why you sometimes get Lilarcor's battle cries when not in combat).
Dead("gromnir") // Gromnir Il-Khan
Global("DeathOfGromnir","GLOBAL",0)
CombatCounter(0) // this is the only thing that could be false after Gromnir dies?
!AreaCheck("AR4500")

Link to comment
Both Carsomyr and SotM are supposed to dispel magic on a hit, correct?

Yes, and the Staff does. Carsomyr needs fixing (perhaps by altering it to use the same effects as the Staff)--the Staff's dispel effect already works and doesn't need fixing.

Link to comment
Yes, and the Staff does.  Carsomyr needs fixing (perhaps by altering it to use the same effects as the Staff)--the Staff's dispel effect already works and doesn't need fixing.

They both already use the same effects (the staff doesn't have all of them, but it seems to work OK). I think the problem is the power (currently at 0x0235) and ignore level (currently 0x023a) values in Carsomyr (for the staff, it's 0/1, but for the sword it's 15/0). So the sword is dispelling at level 15, but the staff is dispelling no matter what.

 

I'm not sure what the best way to fix this is, as everybody under the sun probably has a modified version of Carsomyr somewhere.

Link to comment

OK, finally I've finished working through this. I'm not going to quote blow by blow. I'll describe the fixes then post the big cod block at the bottom.

 

Already fixed/dealt with:

  • Neb's Nasty Cutter
  • imp/quasit poison attack
  • H'D resistances
  • rogue THAC0
  • Cernd scripts
  • wolfwere regeneration
  • Carsomyr/SotM dispel on hit
  • SotM Spell Trap disspellability
  • Maze spell animation
  • Habib's scimitar
  • short bow +1
  • Unseeing Eye appearing multiple times
  • WK door overlay
  • FF portal overlay
  • un-disarmable traps
  • Earth Control ring
  • Bynnlaw blacksmith container overlay
  • druid grove troll on impassable terrain
  • Argrim and bodyguards disappearing from the Council building

Non-action items (stuff that';s not a bugfix or can't be fixed):

  • spells cast from items missing names
  • hovering Flasher Masters
  • Valygar's katana and strength bonus
  • Selfish spell in hell trials is not divination
  • Guardian bridge monsters dropping items
  • Mislead chunks

Pending:

  • stores selling infinite items
  • guard summoning containers (except ar0415, already fixed)
  • gnoll/umber hulk from Watcher's Keep
  • Chant and THAC0 bonuses (needs investigation)
  • Pocket Plane challenges (removed Tamoko's EscapeArea at least; some of Gromnir's troops have RunAways we may want to alter)
  • dragon breath weapons
  • enemy clerics and Harm
  • staff of power and dispelling globe
  • Saemon
  • CC black lotus folks (would Hendak really mind?)
  • CC guard spawns (I'd rather have the guard remain in place and open the door)

New fixes:

  • Samia's thief is fixed; I assigned thief14t instead of yoshx.
  • Used devSin's fix of enabling the container in Shade Lord dungeon after Shade Lord's defeat.
  • The Riejek fix has been added to the optional but cool pack. I do think this should wait until the official ceremony, personally, but there's not enough evidence to make this a clearly defined bugfix.
  • Unseeing Eye bridge guardian fixed; OR(2) !Exists Dead is the magic combo. If it exists, it needs to be dead. :undecided:
  • Jaheira's stutter when blinded and encountering Khalid's body is fixed.
  • For the Wave Halberd, every salamander (except the one from Polymorph spells, PLYSALA) is already flagged as ELEMENTAL_FIRE and subject to the Slay effect from the Wave.
  • Club of detonation fixed.
  • Music fixes from devSin properly stolen and implemented.
  • Underdark night music reference corrected.
  • Catti Brie's script for attacking non-hostile PC mages removed.
  • Terrece's ability to speak through walls removed. (And I hate this bug as well.)
  • Yoshimo's DestroySelf no longer breaks CC scripts.
  • Umar Hills punks now always take three bastard swords.
  • Mind Flayer 'Devour Brain' string displayed properly.
  • Jerrod's mace fixed.
  • Dart issues (strength bonus, enchantments) fixed.
  • Hendak's cellmate now does something.
  • Cernd goes hostile if not in party and the Grove is poisoned.
  • Limited Wish money option gives 2000 gold.
  • Elhan no longer gives 2x 74,5000 quest experience.
  • Sir Donalus is no longer cloned.

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...