Outrunning fireballs
chimeric
Member Posts: 1,163
I distinctly remember how in the original Baldur's Gate a party member with Boots of Speed, or hasted, or if he just started off right away, could outrun the fire wave from a fireball. Get out of the 30 foot radius and remain unsinged. In the EE game the fire damage is dealt instantly within "Trap size" of the projectile file. Those who are within 30 feet die, and the spreading fire is just eye candy. The fire spreads much faster than the leisurely wave of the old game, too. "Explosion size" in the PRO seems to be for decoration in fireball's case.
Is it possible to recreate the old spread mechanic? And control the speed of the fire wave?
Edited: with some poking around I understand this file a bit better... It's possible to send an "Explosion projectile" at those who are caught within the trap. It delivers the damage, and the projectile can be fast or slow. But it still always arrives, even if it has to follow the target around towers and through gates. An interesting possibility of a self-guiding projectile, by the way. We don't have any of that kind, projectiles like the magic missile are too fast for any tactical difference. Something slower but following enemies, something along the lines of Diablo's Blood Star... But for the fireball that's no good, still not something you can avoid. Doesn't a real spreading-circle AOE mechanic exist in the Enhanced Edition games at all?
Is it possible to recreate the old spread mechanic? And control the speed of the fire wave?
Edited: with some poking around I understand this file a bit better... It's possible to send an "Explosion projectile" at those who are caught within the trap. It delivers the damage, and the projectile can be fast or slow. But it still always arrives, even if it has to follow the target around towers and through gates. An interesting possibility of a self-guiding projectile, by the way. We don't have any of that kind, projectiles like the magic missile are too fast for any tactical difference. Something slower but following enemies, something along the lines of Diablo's Blood Star... But for the fireball that's no good, still not something you can avoid. Doesn't a real spreading-circle AOE mechanic exist in the Enhanced Edition games at all?
Post edited by chimeric on
0
Comments
Speed of the effects is controlled by the explosion projectile field(0x21a), based on the speed of the specified projectile, it's current "None(None) - 1" is instant.
You cannot outrun it though, you must evacuate the explosion size before it explodes.
Ever being able to outrun it is likely due to this bug: https://support.baldursgate.com/issues/32810, which has been causing people to outrun bard songs.
"Trap Size" is AFAIK indeed decoration for any one-shot, auto-explode projectile.
It represents the projectiles Visual Range, and is capped at 448 ( = default player visual range).
It is needed for those that hit repeatedly over time, or have a proximity trigger (actual traps).
"Explosion Size" controls the radius of effect.
Speed controls both the traveling projectile and the spread rate. Compare a speed of 5 and 40, you should see a noticeable difference.
@ThacoBell , No there isn't. That's the problem. There is no shock wave - it's just instant damage within the radius. The flames are only pictures.
@kjeron , Going anywhere with Invisible Traveling shakes off the fire damage, you say? Hmm. Well, I don't remember any times in the original BG when I moved and was caught in the flames and wasn't damaged. I would remember. So, if speed controls both the ball and the spread of the flames, how can I make a fast ball with slower flames? Secondary projectile? That flies in a good second afterwards. Also how about a bouncing AEO? For my Nova I'd like the lightning wave to bounce off walls, but no luck so far. I'm thinking of using a bouncing/pass target explosion projectile, that should do the trick. But only I.T. will peter out after a while... How about this: I'll make a custom projectile for this and include in the spell effects immunity to that projectile after 2 seconds. Creatures get caught in the radius, but if they can run fast enough to put some distance between themselves and the invisible bolt, in 2 seconds they'll be safe.
Also, the spreading ring never seems to stop at walls - stone walls, cliff sides and so on, the whole circumference is painted out over the scene. Doesn't make much sense. What controls that?
As for BG1, all projectiles were hardcoded in BG1, so I have no idea what it used. The behavior may not have even started until BG2 or even EE. Secondary Projectile is the way to go.
Base projectile:
- Travel Speed
- Use Secondary projectile (2ndary projectile).
- No explosion effect(255)
- Explosion projectile "invis trav - 79" or a custom invisible projectile with desired speed.
- Impact/Fire sounds
2ndary projectile:- Spread Speed
- 0x2c flags BIT3(Hit Immediately)
- Fireball explosion effect(0)
- Explosion projectile "none - 1"
- No impact/fire sounds
Otherwise they should be the same. AoE's themselves don't bounce.Their explosion projectile is fired individually at every target within range. Normally these can only hit their intended target, once. Doing this with a pass target/bounce projectile would allow every one of those projectiles to hit anyone within their radius, multiple times, and that's before they bounce. It may have its uses, but not for a fireball. I don't think that can be achieved without altering the area's Search Map.
I'll try your secondary projection advice for sure... I should at least make the bloody Nova after I bother people for these details so much. Maybe release it separately, for penitence. Eh, no. I tested with magic missile for the projectile. One MM flies out to each target caught in range, runs through and bounces off the wall behind. It can come flying back and catch the creature again, and again if it's a tight spot, but that's how bouncing works, nothing special or multiple here. All in all, this works just as a reflecting wave would. The Nova's is going to use the bouncing to be similar to the lightning bolt and more useful than the base spell, Sunfire, if the player is clever; but I'm going to add a little fine detail - the original AOE ignores center, but there is no immunity to the bounding projectiles. Why alter it? A wall is a wall. Those fireball spreads ignore everything, possibly except buildings. Otherwise they blossom over steep cliffs, over the sea, everything. I don't think those areas can be made more solid. Also I remember the "Not covered by wall" option for VVC effects. It works, too. So it's possible to switch for VVCs, maybe for projectiles too?
Explosion projectiles ignore those that block movement(cliffs,water), but not those that block line of sight(buildings, indoor walls). Bouncing projectiles work the same.
Icewind dale often uses the wrong one for indoor walls, resulting in projectiles continuing on past the map boundary.
"Not covered by wall" just switches which animation is displayed on top, the wall never actually blocks the animation - it will show through on the other side if its big enough (which isn't often).
FIRETRV.PRO - main projectile
* Ray Count, Cone width: 30*12 = 360, fires in all directions independent of targets
FIRETRV1.PRO - Explosion projectile, Speed determines spread rate and radius).
* Radius is (Speed * #Frames / 2), Slower/smaller, faster/larger, otherwise altering the radius requires added/deleting frames from the animation, "SPFLAMES.BAM". 32 * 16 / 2 = 256
* 96 width, so no one can slip between the projectiles, larger radii may require higher width, lower radii less
* Optional - Add Bounce if you want.
* Optional - Flag BIT29 "Limited Path Count" will set the radius to 30 * #Frames. Speed would still control spread rate. Would require very few frame animation to be practical.
FIRETRV2.PRO - Visual FX only (central explosion - "SPFIREPI.VVC")
* Using ray count disables the 2ndary projectile and explosion animation functions in the main projectile, so this had to be done separately.
SPWI304.SPL - Main projectile
* Added cast visual fx subspell
* Added 1-second immunity to itself, so a single creature is only hit once.
SPWI304B.SPL - Visual FX projectile
* No effects, sound, name, etc...