Jump to content

Issues with Spell Casting Sound Effects

Recommended Posts



I've found a bunch of minor issues that have probably never been addressed by any of the available community fixpacks. These typically involve incorrect casting animations, schools and effect parameters. I don't think it would be a good idea to spread these fixes across multiple mods; BG2 Fixpack is their right place.


I've double-checked everything to make sure the issues haven't already been covered by the new version of the fixpack, but naturally I may have missed something. Apologies for any false alarms and your wasted time.


Here we go.


1. Incorrect spell casting animation & associated hardcoded sound effect


- Holy Power (SPPR412) should be Invocation.


- Farsight (SPPR415) should be Divination.


- Lesser Restoration (SPPR417) should be Necromancy.


- Repulse Undead (SPPR515) should be Abjuration.


- Insect Plague (SPPR517) should be Conjuration.


- Creeping Doom (SPPR717) should be Conjuration.


- NPC Symbol, Death (SPWI897) should be Conjuration.


- NPC Symbol, Stun (SPWI898) should be Conjuration.


- NPC Symbol, Fear (SPWI899) should be Conjuration.


- Wild Surge Repulse Undead (SPWM101) should be Abjuration.


- Wild Surge Symbol, Fear (SPWM123) should be Conjuration.


2. Incorrect spell primary casting school


- Restore Full Health (SPIN746) should be Necromancer.


- Cutscene Flesh to Stone (SPIN950) should be Transmuter.


- Cutscene Power Word, Kill (SPIN951) should be Conjurer.


- Negative Plane Protection (SPPR413) should be Abjurer.


- Lesser Restoration (SPPR417) should be Necromancer.


- Conjure Animals (SPPR604) should be Conjurer.

3. Incorrect spell sound effect parameters


- Innate Larloch's Minor Drain (SPIN104) plays EFF_M07 with wrong target type (should be 2), timing mode (should be 1) and duration (should be 0). Compare with the Mage variant (SPWI119).


- Innate Horror (SPIN105) plays EFF_E05 with wrong duration (should be 18) or horror effect duration should be 60 like in the fixed Mage variant (SPWI205). There also seems to be a morale break effect which isn't present in the Mage variant; its parameters should be adjusted accordingly.


- Innate Protection from Evil (SPIN121) plays EFF_E04 with wrong target type (should be 2), timing mode (should be 4) and duration (should be 60).


- Grease (SPWI101) shouldn't have the hostile flag on. This causes the unfortunate battle music loop. No other AoE-stopping spells have this flag on.


- Mage Remove Curse (SPWI410) plays wrong visual effect (should be SPRMCURS). Compare with the Priest variant (SPPR307).


- Time Stop (SPWI909, SPWISH17) plays EFF_M91 with wrong duration (should be set to half of the Time Stop effect duration due to the quirks of opcode 231).


And that's it! (That is, at least when it comes to the non-arbitrary stuff.) Thanks ;)

Edited by skellytz
Link to comment

Looks solid, thanks for this. A few initial thoughts:


- [unused?] Repulse Undead (SPWM101) should be Abjuration.


- [unused?] Symbol Fear (SPWM123) should be Conjuration.

SPWM spells are wild surges. However, I'm pretty sure that when a wild surge occurs it still uses the original spell's casting animation, but I'll double check.


- Cutscene Flesh to Stone (SPIN950) should be Transmuter.


- Cutscene Power Word, Kill (SPIN951) should be Conjurer.

I'll take a look, but cutscene spells are often deliberately different from their underlying spells to make sure they always work. I don't think that's the case here, though.

Link to comment

SPWM spells are wild surges. However, I'm pretty sure that when a wild surge occurs it still uses the original spell's casting animation, but I'll double check.

Yeah, but it looks like SPWM101 really isn't used in-game due to a bug. If you take a look inside the exe, the hardcoded wild surge table lists SPWM102 twice in a row:

SPWM102 SPWM102 SPWM103 SPWM104 SPWM105 (...)

This initially even carried over to the externalized table in BGEE:

           SPELL      STRREF
1          SPWM102    31718
2          SPWM102    31718
3          SPWM103    31719
4          SPWM104    31720
5          SPWM105    31721

You know, when it comes to Nahal's Reckless Dweomer, Chaos Shield, Improved Chaos Shield along with all the Wild Surges, the intention might have been to mess up the casting animation and sound effect on purpose. It's wild magic after all. It's hard to tell, what with all the other spells that have incorrect schools.


Still, I'd go for consistency here, even if it only applies to what Near Infinity displays in the fields.

Link to comment

I think there's place in the fixpack for these two as well:

1. Priest variants of hold spells should use EFF_P11.wav instead of EFF_M15.wav.

EFF_M15.wav is only the wizard variant. This is how hold spells were originally designed in BG1; however, the sound was moved from SPL effects to a single VVC in BG2. They simply never created a separate VVC for the priest variant.

// create separate priest vvc based on wizard variant
COPY_EXISTING ~spmindat.vvc~ ~override/cdmindap.vvc~
  WRITE_ASCII 0x78 ~eff_p11~ #8 // starting sound

// create separate priest eff based on wizard variant
COPY_EXISTING ~cdhdb60.eff~ ~override/cdhpb60.eff~
  WRITE_ASCII 0x30 ~cdmindap~ #8 // vvc

COPY_EXISTING ~sppr208.spl~ ~override~ // Hold Person (priest)
              ~sppr305.spl~ ~override~ // Hold Animal (priest)
  LPF ALTER_EFFECT INT_VAR silent = 1 STR_VAR match_resource = ~cdhdb60~ resource = ~cdhpb60~ END

// remove duplicate sound from wild magic variant
COPY_EXISTING ~spwm122.spl~ ~override~ // Hold Person (wild)
  LPF DELETE_EFFECT STR_VAR match_resource = ~eff_p11~ END

The same applies to BGEE. (The EFF filename is different: cdhd60b.eff)

2. Web should have a disentanglement sound.

There's no sound when the target untangles. EFF_M22A.wav should be played -- just like Entangle.

// Web: add disentanglement sound
COPY_EXISTING ~spdr201.spl~ ~override~ // Web (druid)
              ~spin566.spl~ ~override~ // Mimic Web
              ~spin683.spl~ ~override~ // Web Tangle
              ~spwi215.spl~ ~override~ // Web (wizard)
              ~wand14.itm~  ~override~ // Web Sack
  LPF CLONE_EFFECT INT_VAR silent = 1 match_opcode = 157 opcode = 174 timing = 4 STR_VAR resource = ~eff_m22a~ END


Edit: added Mimic Web, Web Tangle and Web Sack to the disentanglement sound patch.

Edited by skellytz
Link to comment

Cam, are you interested in reports like the ones in the previous post at all? I could probably have more, but I'm not sure if you consider them fixes.

For example:

Psionic Domination (SPIN975) has a wrong expiration sound (EFF_M16 -- duplicates the target-hit sound); should be EFF_E05 (enchantment expiration sound).

Link to comment

1. Charm spells (opcode #5) have inconsistent target-hit sounds.

Some spells carry over EFF_M16 from BG1 as an effect, some use SPNWCHRM.vvc (with EFF_P73), and others use both playback methods stacking the two sounds.

- EFF_M16 is different in BG2 and matches confusion-based spells only (SPCONFUS.vvc).

- For consistency, all charm spells should play SPNWCHRM.vvc and, if present, have the redundant target-hit sound effects removed.

- Most of these spells have missing expiration sounds. Should be EFF_E05 (enchantment expiration sound).

- BG2 Fixpack is a bit inconsistent in putting the VVC in EFFs, e.g., BEGUILE.spl (Beguiling Gaze).

I'm not listing spells, because it'll probably be easier to filter through them in Near Infinity using your preferred approach.

Charm items affected by the same issues:

- REGISAMU (Ruby Pendant)

- RING03 (Ring of Animal Friendship)

- RING30 (Ring of Human Influence)

- STAF09 (Staff of Command)

Charm items with both SPNWCHRM.vvc and expiration sound (EFF_E05) missing:

- CLCK07 (Nymph Cloak)

- MISC9X (Control Circlet)

2. Some confusion spells (opcode #128) play redundant and stacking target-hit sounds.

EFF_M05 got carried over from BG1 as an effect, but the devs forgot to remove it after adding SPCONFUS.vvc (with EFF_M16).

Confusion spells playing double target-hit sounds:





Confusion items with missing expiration sound (EFF_E05):

- WAS2H.ITM (Joril's Dagger +3)

3. Some invisibility spells (opcode #20) have missing or mismatched expiration sounds.

EFF_M10 is reserved for Dispel Magic. EFF_E01 is the proper illusion expiration sound.

Invisibility spells with mismatched expiration sound (EFF_M10, should be EFF_E01):

- SPDR401 (Improved Invisibility)


- SPIN687 (Create Shadows)

- SPWI307 (Invisibility 10' Radius)

- SPWI405 (Improved Invisibility)

- SPWI721 (Mass Invisibility)

Invisibility spells with missing expiration sound (EFF_E01):

- SPIN118 (Invisibility)

- SPPR516 (Pixie Dust)

- SPWI206 (Invisibility)

- SPWI607 (Mislead)

Invisibility items with missing expiration sound (EFF_E01):

- POTN10 (Potion of Invisibility)

Invisibility items with missing on-use sound (CAS_M01) and expiration sound (EFF_E01):

- DAGG21 (Dagger of the Star +4)

- DAGG22 (Dagger of the Star +5)

- RING39 (Ring of Gaxx)

- RING42 (Ring of Improved Invisibility)

- ROSSLAND (Ring of Invisibility)

Edited by skellytz
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.

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...