Jump to content

RFC: Haste


Recommended Posts

7 hours ago, Endarire said:

Haste is a great early game force multiplier.  Yes, you may be able to win a fight with a single fireball or skull trap using that same level 3 slot, but haste as it is has the benefit of being useful outside of combat for running more quickly across maps.  (Haste spam was how I got through much of point-to-point exploration, like in towns.)  Haste is a spell that can make the entire party feel important, and it's something that's just assumed to be always on at a certain point.

This thread wasn't asking our opinions on the value of Haste relative to other 3rd level spells, as all experienced players know that it particularly shines. The discussion was about how Haste could be reasonably nerfed as part of SR purview of balancing the spell system without breaking AI scripts or worsening the existing imbalance. Please avoid making GPT-like responses that only address keywords rather than anyone's arguments.

Link to comment

I'm with Bartimaeus (and subtledoctor) on this.

About the Boots of Speed: I don't think kreso's idea was so insane if we were talking of a unique item, but if I am not mistaken, it is possible to acquire several copies in SoA/ToB. If I remember correctly there is a way to get two of them in BG1 as well. 

 

Link to comment
On 8/25/2023 at 1:16 AM, subtledoctor said:

 Apart from dumb scripts like Melissan’s who can spam it endlessly… but even there, if an enemy is going to cheese it endlessly, making them repeat it every 30 rounds doesn’t offend me. If that would be disruptive, the mod can just selectively apply permanent Haste to her, like Karhk.

Original Melissan is immune to Haste, like a monk, although she'll cast it on her gated demons, Ascension Melissan is already perma-Hasted, doesn't caste Haste (the alu-fiends she may gate in do, they won't appear in the original game).

3 hours ago, Salk said:

I'm with Bartimaeus (and subtledoctor) on this.

About the Boots of Speed: I don't think kreso's idea was so insane if we were talking of a unique item, but if I am not mistaken, it is possible to acquire several copies in SoA/ToB. If I remember correctly there is a way to get two of them in BG1 as well.

The boots are balanced if and only if they don't stack with Haste, the number of boots isn't the real issue. From early-mid game unless soloing or playing in a party with no arcane casters your characters will usually be hasted in any noteworthy battle, but if movement rate from Haste stacks with the boots some (and eventually probably all) of them will have not only Haste (which they'd have anyway) but the additional advantage of quadruple speed. Trust me on this.

It should also be noted that in SCS the werewolf and greater werewolf "tokens" of the shapeshifter kit likewise grant permanent haste, as do the forms of fire elemental, salamander and spider.

Edited by polytope
Link to comment
13 minutes ago, Salk said:

I'd make the Boots only modify the movement rate and nothing else.

Question is, how to prevent stacking with the Haste spell? If Haste uses opcode 16 and the boots use opcode 126/176, then it is difficult to prevent. 

The current SR/IR situation handles this well: the boots increase movement by about 50%, and the spell increases movement by 50% and APR by +1/2. So even when stacked they only amount to about what the original Haste spell did. 

Kreso wanted to apple the Haste spell to the Boots, and prevent stacking with the spell, which is easy and solves all these problems, except then you have these monstrously overpowered boots. That, and the fact that APR handling by the Haste opcode is imperfect. So the idea solves some problems but creates others .

Honestly current SR/IR is better in so many ways, with the exception of the STATE_HASTE scripting issue. Again, solves some problems but creates others. 

It’s like whack-a-mole. 

Link to comment

Well, originally the Boots of Speed (if I am not mistaken) double the movement rate.

Couldn't they be made so that they triple the movement rate but use opcode 206 so that Haste / Improved Haste would not work when wearing them?

It's just an ignorant guess.

Edited by Salk
Link to comment
3 hours ago, subtledoctor said:

Question is, how to prevent stacking with the Haste spell? If Haste uses opcode 16 and the boots use opcode 126/176, then it is difficult to prevent. 

You could give Haste a 126 to set movement speed to a fixed (normal) amount before applying opcode 16.

Link to comment
9 hours ago, DavidW said:

You could give Haste a 126 to set movement speed to a fixed (normal) amount before applying opcode 16.

That should work quite robustly for PCs because of durational effects taking precedence over equipping effects.

However:

  • Need to make sure all boot-equivalents in game actually set to a value rather than increment.
  • Need to make sure it applies to all player usable sources of Haste, oils of speed, Mazzy innate etc.
  • Monsters subject to Haste spells will move at hasted PC speed rather than double their natural speed, when some are quite a bit faster or slower normally (a filter for the movement rate modification to affect only PC races is easy enough to add, including vampires I guess for EE, vampires are fast anyway).

So this fix requires editing more files than just the boots, but is probably a safer option overall.

Link to comment

In my opinion, irrespective of any and all balance, SR Haste should be using a custom spellstate anyway, simply because it's impossible to decouple STATE_HASTED from the hardcoded effects. You might as well set a standard which will work no matter what balance decisions are ultimately made.

Link to comment
On 8/28/2023 at 9:44 AM, Person said:

irrespective of any and all balance, SR Haste should be using a custom spellstate anyway, simply because it's impossible to decouple STATE_HASTED from the hardcoded effects. You might as well set a standard which will work no matter what balance decisions are ultimately made.

Doesn’t work in pre-EE games. 

Having slept on this, it seems there are a few hard rules for this to work best with SCS and other scripts:

1) Should actually use opcode 16

2) Should be AoE

That leaves some rather annoying problems:

1) Opcode 16 has annoying variability in its APR handling

2) The 3rd-level spell is too powerful

3) Boots of Speed using opcode 16 are too powerful in terms of APR; Boots of Speed using opcode 126 and stacking with opcode 16 are too powerful in terms of movement speed. 

4) This is minor, but it makes it difficult to have other mods conform to the movement speed bonus, to prevent different party members from having different walking speeds and getting separated on the map. 

I have an idea to address this. Because,

On 8/26/2023 at 3:25 PM, DavidW said:

You could give Haste a 126 to set movement speed to a fixed (normal) amount before applying opcode 16.

…we could also give Haste a 126 to set movement speed to a fixed (lower) amount before applying opcode 16. 

So, with the starting assumption that the base PC walking speed is either 9 or 10 (I always forget), here is a proposal:

— Boots of Speed set base movement speed to 8, then apply “weak haste” via opcode 16. Resulting in a hasted appearance and a movement speed of 16. Yes, this means the boots will be superior and give a 0 or 0.5 APR bonus. So be it. It won’t make or break anyone’s game. 

— The Haste spell will be AoE and set base movement speed to 8 and either 1) apply full opcode 16 Haste, or 2) apply “weak haste” and also apply a subspell with an extra 0.5 APR bonus. This results in a 0.5 or 1 APR bonus party-wide, and in case #2 the extra 0.5 APR would apply even to those wearing Boots of Speed, which is nice. This is as powerful as the vanilla spell, which is to say very powerful; to balance it I would simply reduce its duration to 5 rounds. You get a noticeable boost for 5 rounds, potentially an extra 15-30 attacks, not even counting summons. And honestly I’m not even sure whether it would need a fatigue effect in this case. Just let it be a 5-round boost and no penalty. Balanced for its spell level and reduces the chance AI scripts will be hampered by poor timing. 

— Improved Haste can be something like  what it is now. Say: single target; full doubled movement (don’t set speed to 8 first); multiple extra APR (maybe, apply “weak haste” plus a bonus 2 APR on top of it); and let it last for 10 or more rounds. 

— Oil of Speed can just apply a single- target version of the 3rd-level spell: set speed to 8 + “weak haste” + an extra 0.5 APR, for 5 rounds.

For compatibility with Klatu's Free Action mod, I would use opcode 176 to set movement speed at 8, rather than opcode 126. 

Depending on people’s appetite for fast movement, those values could be [set at 7, doubled to 14] instead of [set at 8, doubled to 16]. 

Edited by subtledoctor
Link to comment
10 hours ago, subtledoctor said:

Doesn’t work in pre-EE games. 

Having slept on this, it seems there are a few hard rules for this to work best with SCS and other scripts:

1) Should actually use opcode 16

2) Should be AoE

Definitely the first, but less so the second. If Haste is single target it should occupy a lower priority slot in the scripting block, alongside the other 3rd level spells, probably. I believe the consensus is that some SCS script conditions really do need a rewrite as of the current version, for instance Lia's game breaking tendency to injure herself and turn hostile in the Ducal palace.

In any case the AI doesn't - and can't - really evaluate the utility of single target vs AoE spells even with SCS, it's just too complex to keep track of where other actors are in comparison to your main target on the Infinity Engine, whereas a player can eye the situation up and make that decision in a second, it's the same reason enemy thieves can "backstab" you from any direction.

Link to comment
1 hour ago, polytope said:

the AI doesn't - and can't - really evaluate the utility of single target vs AoE spells even with SCS, it's just too complex to keep track of where other actors are in comparison to your main target on the Infinity Engine

Well, that's why I lean toward keeping it AoE - even if the AI is dumb enough to cast Haste on a tiny goblin, as long as it is AoE then it will also effect the three nearby ogres. It means the AI doesn't have to be selective in its targeting.

By contrast, having it be AoE is comparatively less useful for the player, since some of the player's party is more likely to be casters who will derive little benefit from it.

Link to comment
2 hours ago, subtledoctor said:

Well, that's why I lean toward keeping it AoE - even if the AI is dumb enough to cast Haste on a tiny goblin, as long as it is AoE then it will also effect the three nearby ogres. It means the AI doesn't have to be selective in its targeting.

I disagree, if the AI can't find a single worthwhile target for Haste it shouldn't cast it. In your example one of those ogres (which anyway is barely worth Hasting, as I said I'd put the limit at about ghasts) would register as a Haste target, either in order or reverse order of proximity, but the script still couldn't evaluate the arrangement of monsters on the battlefield and how many are likely to be caught in an AoE spell, so it would be down largely to chance whether an AoE rather than a single target is more beneficial to the enemy AI. And yes, it will be immersion breaking for the enemy mage to cast AoE haste on a random goblin or whatever when there's a high level fighter in LoS but still outside the AoE, so the scripts will still need to be a bit selective even with an AoE.

2 hours ago, subtledoctor said:

By contrast, having it be AoE is comparatively less useful for the player, since some of the player's party is more likely to be casters who will derive little benefit from it.

The player always makes better use of AoE magic (beneficial or damaging) than the AI. It's useful for a mage to be hasted if only to be harder to catch (and to have six attacks per round with Melf's Minute Meteors rather than five). Single class priests actually benefit more from Haste, relatively speaking, than warriors, as they can buff themselves to high strength and low THAC0 values, and use decent weapons, but lag sorely behind fighters in APR; a Hasted fighter might go from 3-4 (if dual wielding) to 4-5, an increase of between 25 and 33.33...% for a priest Haste will most likely double their APR (except for priests of Lathander where it's more like a 50% increase) and help them land more attacks (highly damaging, once priest strength enhancing spells are factored in) before their buffs run out.

Edited by polytope
Link to comment

My two cents here about Haste being AoE or not is that unless there is compelling reason to make it single target, I think we should stick to the canon AD&D 2nd Ed. version of the spell and keep it AoE. Even if it may be in some circumstances less convenient for the AI than it is for the player.

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