Gibberlings3 / BG2-Fixpack

The BG2 Fixpack is an ongoing project to finally fix the last remaining bugs and errors left after numerous official patches and unofficial fixpacks in Baldur's Gate 2 and Throne of Bhaal.
https://www.gibberlings3.net/mods/fixes/bg2fixpack/
24 stars 7 forks source link

Burning Hands - optional but cool #19

Open TotoR115 opened 10 months ago

TotoR115 commented 10 months ago

2 issues:

TotoR115 commented 10 months ago

I have checked further:

The modifications done to the spell make it unusable; the range in the spell ability tab is too big (5), the spell never hit. It should be 2 (as vanilla) or max 3.

from lib core_spell_bulk.tph: https://github.com/Gibberlings3/BG2-Fixpack/blob/6679746f7ee53ec5a4f094c0fcb4292c4fe4bd91/bg2fixpack/lib/core_spell_bulk.tph#L144 As the vanilla spell is mod by fixpack to 5, the new projectil should be bigger https://github.com/Gibberlings3/BG2-Fixpack/blob/6679746f7ee53ec5a4f094c0fcb4292c4fe4bd91/bg2fixpack/setup-bg2fixpack.tp2#L255 Could be between 70 and 75, 64 is too small; for the record, the vanilla projectile is not long enough and the spell does not always touch the target at range = 5...

In addition, the animation is not like the original.

there is a typo in setup-bg2fixpack.tp2 as 0 is Fireball - 0: https://github.com/Gibberlings3/BG2-Fixpack/blob/6679746f7ee53ec5a4f094c0fcb4292c4fe4bd91/bg2fixpack/setup-bg2fixpack.tp2#L256

should be WRITE_BYTE 0x217 255 // no explosion

Lastly a shell spell should be created to include the original spell and keep the original projectile:

// make burning hands AoE instead of single target
COPY_EXISTING ~cspray.pro~   ~override/burnhand.pro~
  WRITE_SHORT 0x206 75  // range (5')
  WRITE_BYTE  0x217  255 // no explosion

ADD_PROJECTILE ~override/burnhand.pro~

COPY_EXISTING ~spwi103.spl~  ~override/spwi103a.spl~
  READ_ASCII 0x08 "spwi103_name"
  WRITE_LONG 0x08 ~-1~
  LPF ALTER_SPELL_HEADER INT_VAR target = 4 projectile = burnhand END // use new projectile, target any point

COPY ~bg2fixpack/spl/spwi103.spl~  ~override~
  WRITE_ASCIIE 0x08 ~%spwi103_name%~
  LPF ALTER_SPELL_HEADER INT_VAR target = 4 range = 4 projectile = 22 END // use Burning Hand Projectile, target any point, range = 4 because the graphics of the vanilla projectile is not long enough, the spell does not always touch the target at 5...