Jump to content

Removing that dang spinny-head animation


Recommended Posts

Cheers, Luke, IWD is next.

BG is committed.

Crosschecking with BG2 allowed me to find and fix some bugs in the BG2 code, and then I found some game bugs along the way. Of interest:

  • The green slime fix has been removed as a standalone, since this now covers it.
  • Some disease cures already had standalone 321s for some resources, which have been incorporated into the 'cure disease' spell.
  • Nalmarissa's attack can charm on 50% of hits, but showed the charm icon 100%. Elven charm immunity could also block unrelated effects such as level drain.
  • The poison block on Viper's Edge blocked unrelated effects. The item is unused, but fixed anyway.
  • Expiry sound for bdsleep.spl was too early. Icon for bdfear.spl also expires early.
  • Fixed several spells with permanent timings with non-zero durations, as well as some non-permanent 139s.
  • Piercing Shriek had to be broken into three subspells for its deaf, stun, and and confusion effects.
  • Elixirs of Health were setting the intoxication levels to 0 instead of 'curing' intoxication.
  • Dragon Fear also incorporated a thac0 penalty.
  • Misordered poison immunity effects were blocking Belhifet's dispel-on-hit, choking noise/CON penalty from drinking the ore poison, and the *gulp* string from Viper's Venom. 

Otherwise a lot of the same issues as noted above for BG2 (some of these assets are unused in BGEE, but fixed anyway):

  • Moondog Howl's fear effects have been shunted into a subspell. Same with Emotion's sleep effects.
  • The hold effect from the bounty hunter special snare is moved to a subspell.
  • Paralyze effects from undead attacks were shunted to subspells when the attack also caused other effects (nausea or disease)
  • Stun effects from blizzard trolls were also moved to a subspell to separate them from the DEX drain.
  • F Chromatic Orb. No less than four subspells to get this to work. Since Chromatic Orb is going to keep on Chromatic Orbing, I've reserved the namespace for when I inevitably have to make the other five headers into subspells, too. This GD spell.
  • Some sirine attacks set the feeblemind icon while setting INT to 3. However, it's not formally a feeblemind attack so I've changed the icon to the more generic 'ability score drained' since stuff that cures/blocks feeblemind won't actually fix this.
  • A different sirine attack was causing feeblemind and setting INT to 3. Given that feeblemind already sets INT to 3, the INT effect is deleted as redundant.
Edited by CamDawg
Link to comment
On 6/22/2022 at 4:29 PM, CamDawg said:

Cheers, Luke, IWD is next.

Another FYI:

as you can see, my work is largely based on two functions (which in turn are based on DavidW's code) that automatically make subspells (including dealing with `power`, `primary_type`, `secondary_type`, dice values, etc...) / reorder effects... They are launched relatively early so that I can just open NearInfinity and look at unmodded effect indices to determine the files that need to be patched... Any further patch (if needed) is done later on in the main file (i.e., "iwdee.tph"...)

In so doing, it should be easier to patch the relevant files...

Link to comment

IWDEE is close--I need to integrate Luke's changes and make sure they're getting along before I commit. I've also made some structural changes I'm going to backport to the BG/BG2 stuff as well. Some misc bug fixes from IWDEE:

  • Revenants blocked the spmindat animation via cwreve,itm, but shouldn't, as they are not actually immune to hold.
  • Elixir of Health sets intoxication to 0 instead of curing it (same issue in BG, BG2)
  • The usual batch of items and spells with permanent timings with non-zero durations, as well as some non-permanent 139s.
  • The durations of the disease effect and icon of Chaos Dagger +3 didn't match.
  • The Siren's Yearning bard song used spmindat for a stun effect, but spmindat is used exclusively on IWDEE for holds. It's been swapped to the same color glow used by other spells and weapons for stuns.
  • The Retribution spell that 'kills' the Seer had mismatching durations. It's a cutscene spell so it didn't really affect anything material, but it's fixed anyway.
  • The icon for the divine Poison spell had the wrong duration.
  • Same with the feeblemind and petrification icons for Prismatic Spray.
  • The intoxication icon for the wish spell expired too early.

General issues with immunities blocking unrelated effects:

  • Poison immunity was blocking slow on mustard jelly attacks
  • Feeblemind immunity blocked the 'gulp' string on the cursed Oil of Speed
  • Symbol and Emotion Hopelessness had stun immunity set, but after the 'stun' string could play
  • Items/spells missing the relevant immunity checks: carrion crawler attacks, Ghoul Touch, ghoul attacks, Hammer Arrows +1, Mournful Wail,  Great Roar, Deathsong, Retribution, and Jackalwere Gaze. There are a few others that got sorted when I made subspells.

Subspells:

  • Ghast attacks get routed into two subspells, one for nausea and one for paralyze
  • Stun effects from blizzard trolls and confusion from Insanity Gaze (unused, fixed anyway)
  • Stun effects from cornugon attacks
  • Hold from Bounty Hunter's special snares
  • Two blind, one stun, and one hold from Chromatic Orb (f this spell again)
  • Two dart traps had their hold and confusion spells farmed out
  • Great Shout's existing subspells needed to be touched up a bit
Link to comment
3 hours ago, CamDawg said:
  • Poison immunity was blocking slow on mustard jelly attacks

I do think that's intended...from their PnP entry:

Quote

...Those near the jelly must roll a saving throw vs. poison each round. Those who fail the saving throw become lethargic and move at half-speed, due to the effects of the vapor...

 

Link to comment

That may be the case for PnP, but they're implemented as unrelated effects in the game. The poison is a 30-second effect with a save vs. poison at +2 to avoid. The slow effect is 200 seconds with a save vs. breath at -2 to avoid.

Link to comment
Guest
This topic is now closed to further replies.
×
×
  • Create New...