Jump to content

[Bug report] EE content bugs


jmerry

Recommended Posts

 

1 hour ago, Luke said:

In BG1 Bassilus is flagged as CLASS=CLERIC.

As a result, he should not be able to cast Entangle...

And the druids in the Cloakwood regularly cast Hold Person. Enemies sometimes ignoring the rules that player characters have to follow is just part of the game.

Some other clerics in BG1 with Entangle memorized: Drakar, the Flaming Fist Mercenary who menaces Viconia, the Flaming Fist Enforcer who leads a party after you if your rep is too low in BG city, Gellana Mirrorshade, Lamalha, Laryssa, Mulahey, Neira, Peter, Wudei. That's not an exhaustive list.

There are more than 50 CREs in the campaign with both Entangle and Hold Person memorized. There are zero ranger/clerics.

Edited by jmerry
Added quote due to page transition
Link to comment

The Siege of Dragonspear romances are mainly based on regions - go there, have a romance talk with the character. The scripts are all set up to require multiple passes - set variables on the first pass, initiate conversation on the second. Unfortunately, a majority of those regions lack the "trap resets" flag. The variables get set, and then the scripts never activate again so you don't get the conversation unless you force-talk to those NPCs.

[Edit - on further review and asking an expert, the "trapped" state and resetting is irrelevant for these scripts as written. Their scripts contain no event-based triggers, and thus will run regardless of the region's status as trapped or not trapped. No action needed.]

Spoiler

Regions with this problem:

- "Rasaad and Safana Romance 1" in bd1000.ARE

- "Dorn Romance 1" in bd2000.ARE

- "Neera/voghiln Romance 1" in bd2000.ARE

- "Rasaad/safana Romance 3" in bd3000.ARE

- "Viconia Romance 2" in bd3000.ARE

- "Neera Rom 2" in bd5000.ARE

- "Neera/voghiln Romance 2" in bd5000.ARE. Same script as "Neera Rom 2", so they'll actually talk to you if you hit both regions.

- "Corwin Rom 4 / Glint Rom 3" in bd5200.ARE.

- "Corwin Romance 2" in bd7100.ARE

- "Glint Romance 1" in bd7100.ARE

- "Rasaad/safana Romance 2" in bd7100.ARE

- "Viconia Romance 1" in bd7100.ARE

- "Corwin Romance 3" in bd7300.ARE

- "Dorn Romance 2" in bd7300.ARE

- "Glint Romance 1/2" in bd7300.ARE. This one's particularly troublesome, as it would have to run multiple times in order to get Glint's second romance talk. Fortunately, another region that does have the reset flag provides a backup for Glint.

These mostly aren't unrecoverable problems; you can usually get the romance talks by force-talking to the character in question once you've entered the region to set the variables. But they're all supposed to activate automatically. All of these regions should have the "Trap resets" flag so that their scripts can run multiple times as intended.

(Details moved to spoiler, since this isn't a real problem due to engine arcana)

Edited by jmerry
Nothing to see here...
Link to comment

[BGEE, BG2EE] Dorn's personal weapon 'Rancor +1' should grant a +1 THAC0 bonus for 24 hours after killing a creature with the weapon

There are actually two issues with the weapon which prevent this effect from working properly.

1) The effect is currently non-functional because of an incorrect order of equipped effects. The THAC0 effect consists of two spells that are triggered by opcode 232, "Killed([ANYONE])" condition. Spell 1 (OHDSW1.SPL) applies the THAC0 bonus. Spell 2 (OHDSW2.SPL) applies immunity to the spell to prevent applying the first spell multiple times. However, the weapon applies spell 2 before spell 1, which renders spell 1 effects completely ineffective.

2) The second spell (OHDSW2.SPL) uses a permanent timing mode (mode 1) to apply immunity to the THAC0 effect, which means that Dorn is unable to receive another THAC0 bonus ever again, unless he died in the meantime.

Link to comment
4 hours ago, argent77 said:

[BGEE, BG2EE] Dorn's personal weapon 'Rancor +1' should grant a +1 THAC0 bonus for 24 hours after killing a creature with the weapon

There are actually two issues with the weapon which prevent this effect from working properly.

It's a complicated scheme, but it actually does work fully as intended. You see, there are four spells, not two. The other two spells are applied by Dorn's script:

IF
	!HasItemEquipedReal("sw2hd1",Myself)  // Rancor +1
	!Global("ohdornsw","LOCALS",0)
THEN
	RESPONSE #100
		ApplySpellRES("ohdsw0",Myself)  // No such index
		SetGlobal("ohdornsw","LOCALS",0)
END

IF
	Global("ohdsw3","LOCALS",0)
THEN
	RESPONSE #100
		ApplySpellRES("ohdsw3",Myself)  // No such index
		SetGlobal("ohdsw3","LOCALS",1)
END

What do these additional spells do?

First, ohdsw0 removes the effects of all spells with the DORNS_SWORD secondary type. Which is ohdsw1; if Dorn switches away from the sword, he loses any THAC0 bonus from recent kills.

Second, ohdsw3 grants permanent immunity to ohdsw2. This block will always run before Dorn has the chance to enter combat and kill anything.

So, if Dorn kills something with Rancor, it will cast ohdsw2 on him (no effect, because he's immune by the ohdsw3 effect) and then cast ohdsw1 on him (granting +1 to hit for a day, non-stacking).

If anyone else kills something with Rancor, they get ohdsw2 cast on them (immunity to ohdsw1) and then ohdsw1 (no effect). In the hands of anyone but Dorn, Rancor is just a +1 sword.

Working as intended. No action needed.

Link to comment
32 minutes ago, jmerry said:

What do these additional spells do?

First, ohdsw0 removes the effects of all spells with the DORNS_SWORD secondary type. Which is ohdsw1; if Dorn switches away from the sword, he loses any THAC0 bonus from recent kills.

Second, ohdsw3 grants permanent immunity to ohdsw2. This block will always run before Dorn has the chance to enter combat and kill anything.

So, if Dorn kills something with Rancor, it will cast ohdsw2 on him (no effect, because he's immune by the ohdsw3 effect) and then cast ohdsw1 on him (granting +1 to hit for a day, non-stacking).

If anyone else kills something with Rancor, they get ohdsw2 cast on them (immunity to ohdsw1) and then ohdsw1 (no effect). In the hands of anyone but Dorn, Rancor is just a +1 sword.

Working as intended. No action needed.

You're right, it seems to work as intended specifically for Dorn. In that case the item description is somewhat misleading...

Quote

THAC0: +1, +2 if it has slain someone within the past 24 hours

...and should be updated. Alternatively, restrict the weapon to be usable only by Dorn.

Edited by argent77
Link to comment
1 hour ago, CamDawg said:

The line right above that reads "When Dorn holds this blade, any death that it causes has a chance to grant Dorn an increase of +1 to his to-hit rolls for 24 hours".

Hmm, okay. I thought that Dorn in the item description was just a stand in for any wielder of the weapon, since it is his personal weapon in the first place. But it looks like I have to take it literally.

I think the item description should better emphasize that the special ability works exclusively for Dorn and nobody else, though. (And maybe also mention the fact that the bonus will be forfeit as soon as he switches to another weapon.)

Link to comment
Guest Righto

Sorry for the intrusion but I downloaded the master.zip file of the EE fixpack from github but I don't see any executable or way to install it.  Could someone one point me in the right direction please?

Link to comment

[PSTEE] TTO/Companion cutscenes should clear actions to prevent Shadows from attacking TNO during the cutscenes in the Fortress of Regrets

Files DMACH1.DLG, DMACH3.DLG, DMACH4.DLG trigger cutscenes without clearing actions beforehand. In some cases it doesn't matter, but in the case of the TTO/Nordom cutscene this will most likely cause TNO's death if there are Shadows nearby. (DMACH2.DLG already includes ClearAllActions().)

[PSTEE] TTO's first voiced line (TRA011.WAV) in 1201CSG8.BCS is cut off since the delay to his second line is too short.

Delay is currently 1 second. It should be increased to 3 seconds. This issue is only noticeable in English and Polish. French and German use a shorter sound clip.

Link to comment

1) This happened to me in my last playthrough (2.6): https://forums.beamdog.com/discussion/12671/bug-aldeth-sashenstar-doppelganger-quest#latest
If someone else could confirm this happening, it would be cool.

 

2) This one should be investigated too: https://www.reddit.com/r/baldursgate/comments/nv50ea/taerom_fuirim_and_the_vial_of_mysterious_liquid/
Issue: Taerom Fuirim and the vial of mysterious liquid - I have the quest in my log but when i meet him i get no dialogue options or similar

Solution: you have to drop any Ankegh shells in your inventory for the dialogue option to show up.

 

 

Edited by Morgoth
Link to comment

A new oversight, spotted over here at the Beamdog forums: https://forums.beamdog.com/discussion/comment/1199095/#Comment_1199095

The fear ability of the "Eye of the Beholder" helm (from Rasaad's SoA quest) should work to cure Viekang's problem. As things are in the base game, if he saves against the ability it'll just turn him hostile.

Viekang's script has a big OR statement that enumerates a bunch of fear spells. The helm does its stuff through "cast spell" abilities, so we just need to extend that list.

Original:

Spoiler
IF
	OR(12)
		SpellCastPriest([ANYONE],CLERIC_CLOAK_OF_FEAR)  // SPPR416.SPL (Cloak of Fear)
		SpellCastPriest([ANYONE],CLERIC_SYMBOL_FEAR)  // SPPR706.SPL (Symbol, Fear)
		SpellCastPriest([ANYONE],CLERIC_INSECT_PLAGUE)  // SPPR517.SPL (Insect Plague)
		SpellCast([ANYONE],WIZARD_HORROR)  // SPWI205.SPL (Horror)
		SpellCast([ANYONE],WIZARD_SYMBOL_FEAR)  // SPWI811.SPL (Symbol, Fear)
		SpellCastOnMe([ANYONE],CLERIC_SYMBOL_FEAR)  // SPPR706.SPL (Symbol, Fear)
		SpellCastOnMe([ANYONE],WIZARD_SPOOK)  // SPWI125.SPL (Spook)
		SpellCastOnMe([ANYONE],WIZARD_HORROR)  // SPWI205.SPL (Horror)
		SpellCastOnMe([ANYONE],WIZARD_SYMBOL_FEAR)  // SPWI811.SPL (Symbol, Fear)
		SpellCastInnate([ANYONE],AURA_OF_DESPAIR)  // SPCL103.SPL (Aura of Despair)
		SpellCastInnate([ANYONE],WARRIOR_WAR_CRY)  // SPCL908.SPL (War Cry)
		StateCheck(Myself,STATE_PANIC)
	Global("ViekangBye","LOCALS",0)
THEN
	RESPONSE #100
		SetGlobal("ViekangBye","LOCALS",1)
		StartDialogueNoSet([PC])
END

 

Fixed:

Spoiler
IF
	OR(13)
		SpellCastPriest([ANYONE],CLERIC_CLOAK_OF_FEAR)  // SPPR416.SPL (Cloak of Fear)
		SpellCastPriest([ANYONE],CLERIC_SYMBOL_FEAR)  // SPPR706.SPL (Symbol, Fear)
		SpellCastPriest([ANYONE],CLERIC_INSECT_PLAGUE)  // SPPR517.SPL (Insect Plague)
		SpellCast([ANYONE],WIZARD_HORROR)  // SPWI205.SPL (Horror)
		SpellCast([ANYONE],WIZARD_SYMBOL_FEAR)  // SPWI811.SPL (Symbol, Fear)
		SpellCastOnMe([ANYONE],CLERIC_SYMBOL_FEAR)  // SPPR706.SPL (Symbol, Fear)
		SpellCastOnMe([ANYONE],WIZARD_SPOOK)  // SPWI125.SPL (Spook)
		SpellCastOnMe([ANYONE],WIZARD_HORROR)  // SPWI205.SPL (Horror)
		SpellCastOnMe([ANYONE],WIZARD_SYMBOL_FEAR)  // SPWI811.SPL (Symbol, Fear)
		SpellCastInnate([ANYONE],AURA_OF_DESPAIR)  // SPCL103.SPL (Aura of Despair)
		SpellCastInnate([ANYONE],WARRIOR_WAR_CRY)  // SPCL908.SPL (War Cry)
		SpellCastOnMeRES("OHREYEB3",[ANYONE])
		StateCheck(Myself,STATE_PANIC)
	Global("ViekangBye","LOCALS",0)
THEN
	RESPONSE #100
		SetGlobal("ViekangBye","LOCALS",1)
		StartDialogueNoSet([PC])
END

 

Apply this edit to SARVIE01.BCS. Not perfect, but better.

Link to comment
On 6/6/2022 at 6:02 PM, CamDawg said:

Heh. A mod to cleanup all of the BG quests in this fashion would be substantial.

Also, this. I was hoping my scan would turn up a couple of egregious cases that I could go "look what I found", fix it, and move on. Let's stay the course and cherry-pick the obvious/egregious cases and leave the rest to the inevitable Creature Revisions mod, and its even more inevitable rival/successor, Creature Revisions Revised.

#8 is already done, the Enrage icon from #7 is done and Runehammer change is intended, #5 and #6 are some of those hardcoded things we can't fix. #4 is already working well--the conditional check is hardcoded to once/round.

Camdawg, I saw now that you had answered me. Thanks a lot. I admit that if you were to ask me about all these things, the better troll handling is the one I care about the most.

It's sad that it can't be improved.

There are a lot of mods around that touch the troll falling into the ground, so I think it's not an "issue" felt only by me that the system is far from perfect.

 

 

Link to comment

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...