Slows application is incoherent

All new ideas for the upcoming releases of ToME 4.x.x should be discussed here

Moderator: Moderator

Message
Author
ghostbuster
Uruivellas
Posts: 617
Joined: Mon Oct 09, 2006 7:47 pm

Slows application is incoherent

#1 Post by ghostbuster »

if you have an item (say a sword or a dagger) with:
on weapon hit:
* slow global speed by 30%
(ie, that applies "ITEM_NATURE_SLOW" in the melee_project field), on hit the foe is slowed by 30%

If you have an item (say a ring, cloak or even a weapon) with a global slow action:
Effects on melee hit:
* slow global speed by 15%
(ie that has ITEM_NATURE_SLOW in the "melee_project" subfield of the "wielder" field), on hit the char is slowed by 15%

Now, if you have both items.... 15%, 30% 45% ?

15%!!!!! The first slow (30%) is applied, then the second (15%) that supersedes the first one.
This means that if you improve your ability to apply a slow by wearing a global slow item, this degrades the slows that you apply!
Totally incoherent IMHO.

I think that slows should stack (45%). But I can understand that i could be OP, maybe. Or that for some technical reasons it could be complex to have this behavior.

But the current behavior is pure nonsense. And fixing it is easy. It would be sufficient to had a "on_merge" in the slow application that checks before applying a slow if the new one is stronger and longer than the previous one, and otherwise do not apply it. At least, it would be 30%.

Number43
Wyrmic
Posts: 239
Joined: Tue Dec 20, 2016 7:46 pm

Re: Slows application is incoherent

#2 Post by Number43 »

Yeah, I've also noticed problems where I have multiple gear that inflicts slow, where a weaker version overrides a stronger slow effect.

Frumple
Sher'Tul Godslayer
Posts: 1517
Joined: Sat May 15, 2010 9:17 pm

Re: Slows application is incoherent

#3 Post by Frumple »

Haven't bothered to pay attention to the exact mechanics of it, tbh, but there's a relatively simple heuristic. If it's on-hit, ala randarts (i.e. the slow % is below the "When wielded/worn:" line), then it'll stack additively up to 60%* (note that it doesn't apply that way -- a 100% global speed monster hit with a 60% slow will not be moving at 40% global). More or less everything else doesn't stack, and will generally overwrite with whatever's lowest (including that potentially beefy on-hit, which can suck for anything that has that on-hit stacked up... or the reverse, heh.) This is broadly why randart on-hit global slow is by and large the best slow in the game and all the other sorts kinda' sorta' suck, unless they've got serious magnitude behind 'em or you're not melee (or warden, or psyshot, or oozemancer, or...).

Other than that, I don't bother to pay attention, heh. I'd call the application fairly coherent, really -- it's not terribly difficult to idly puzzle it out enough to get by just by playing -- but what it isn't is consistent. Different sorts of slows act differently, for whatever reason(s). Which probably could stand fixin', but eh. You usually only really have to care about it in a few situations.

Incidentally, I'm like 80% sure there's a thread or three addressing speed and how slow works littered throughout the forum. If you're interested in more details, give the forum a search.

*It didn't have that limit just a few versions ago, though. You could cheerfully nail something with a 200+% slow if you could stack up enough on-hit (which considering 60% slow ones occasionally show/showed up, wasn't exactly impossible.). First the way speed/slows worked was changed, so that wasn't as crippling as it was, then a cap was added in, iirc.

Number43
Wyrmic
Posts: 239
Joined: Tue Dec 20, 2016 7:46 pm

Re: Slows application is incoherent

#4 Post by Number43 »

No, I mean like I'll have a weapon with a 40% slow effect, plus a ring or something that gives 13% or something slow on melee hit, I'll attack an enemy, hit inspect creature, and the tooltip on their slow effect will say 13%.

ghostbuster
Uruivellas
Posts: 617
Joined: Mon Oct 09, 2006 7:47 pm

Re: Slows application is incoherent

#5 Post by ghostbuster »

It *IS* incoherent. Wearing a +slow item can *decrease* the power of the slows that you apply by your weapons.
You can have the same problem with dual weapons.
It your main hand weapon has +30% slow and the off-hand +10% slow, the final slow will be 10%.
But, if you swap your weapons, it will be 30%. And if the off hand does not apply any slow affect, it is also 30%.
This is absurd.

The weaker slow effects should not override the most powerful ones.

Frumple
Sher'Tul Godslayer
Posts: 1517
Joined: Sat May 15, 2010 9:17 pm

Re: Slows application is incoherent

#6 Post by Frumple »

*waggles hand* It can, but it's different slows, and fairly easy to tell. There's a handful of different sorts of slowing items. On weapon hit and on melee hit are not the same thing, and act differently. This is true with the effects in general, but it's primarily with slow (where the lowest usually supersedes) that it's noticeable.

Basically, if it's on weapon hit, think of that as a specific instance. It's tied to the weapon in particular. If you have two 20% on weapon daze weapons and attack, you'll make two 20% attempts to daze, each weapon making their own. On melee hit, is tied to the character, and adds to a character's particular statistics. If you have two 20% on melee daze weapons and attack, then you'll make make two 40% attempts to daze, inflicting your character's chance to daze once per weapon. If by some happenstance those two scenarios are on the same weapon, you'd end up with four separate checks -- one for one weapon, one for the other, and then twice for your character's % chance.

If you want to change the numbers up a bit, say 15/30 on-weapon, 45 on-melee, you'd end up with a 15 and 30 check in the weapon hit scenario, two 45s in the melee, and a 15, a 30, and two 45s if they happen to be the same weapons. Where the on weapon hit is matters and the only way those'll stack is if they're somehow on the same weapon (which'd take someone modding in tinkers or demon seeds, so far as I can recall), but where the on melee hit is doesn't; rings will stack with weapons will stack with boots will stack with talents (if and only if the talent is actually incrementing the character's on melee hit property, mind), and they all stack additively. If your character has 20% on melee daze on a glove and 30% on melee daze on your hat, you'll be making melee attacks with a 50% chance to daze.

Slows operate the same way so far as stacking goes. The big difference is when you have a 15, 30, and two 45% chances to daze, you have four procs of varying likelihood. When you apply a 15, a 30, and two 45% global slows, you end up with a 15% slow. Yes, this is kinda' wonky. Until someone gets around to doing something about it, just remember it's happening and make sure you're not applying that 15% or 30% slow.

There's a few exceptions, though. Gloom slow operates differently and'll stack regardless ("Slowed by the gloom" is not "Slow".). Any sort of speed penalty that's bundled into an effect that's not specifically the Slow debuff, will stack with the slow debuff (just don't ask me the particulars of how; it's not additively and I forget/never bothered to pay attention to how it works because how it works doesn't matter all that much, just how to make the effect more intense). Similarly, any sort of effect that does use the Slow debuff -- slime damage is probably the most relevant when it comes to understanding how items are going to react -- will not stack. They're a separate attempt to apply the debuff rather than something that also happens to reduce the target's global speed. When hit slows, damage retaliation (ala slimy robes) or melee projection (that bit in the weapon that says Damage (Melee): +X), are also separate things. When hit'll sorta' stack* (again depending on how it's going about it), but it's still a separate slow attempt from on melee or whatev'.

Now, insofar as changing the behavior... eh. It could probably stand it. It's not particularly incomprehensible or a major/difficult to work around gameplay issue, though, so your best bet for anything timely would probably be to tinker out an addon making things how you want 'em to work, heh. I'm wordy and rambly because of a headache, but the behavior itself is pretty easy to see and catch on to just doing normal stuff, if you pay a bit of attention.

* Theoretically just about anything that's actually attempting to apply the same effect to the same thing will stack, it's just very rare you actually have a weapon with two separate instances of Damage (Melee): +10 slime so that they can combine, heh. Far more likely is you have a weapon that has Damage (Melee) +10 slime, and then an item that gives your character an extra +10 slime damage, which would be two instances instead of one. Weapon has +10, character has +10, which isn't 20 but instead 10 and 10. Damage (Melee) is actually a bit harder to tell apart, though, to be fair. There you mostly have to pay attention to whether it's above or below the "When wielded/worn" line -- above is the weapon, below is the character, and never the twain shall meet.

... that's actually the easy way to tell regardless, tbh, but it's an arguably less overt tell than different wording ala on weapon vs on melee, ehehe.

ghostbuster
Uruivellas
Posts: 617
Joined: Mon Oct 09, 2006 7:47 pm

Re: Slows application is incoherent

#7 Post by ghostbuster »

Thanks for your explanation. I understand the mechanism.
But I think it is unintuitive and somehow broken for slows.

While I play tome since beta10, 4 or 5 years ago, I only recently discovered this problem with slows and I think most players are completely unaware of it.
And reducing you slow power by wearing another weapon/item applying slows is definitely unintuitive.

Players should not have to ask what will be the last effect applied and decide which weapon is main or off hand according to that. They should not have to do source mining to know if the TK weapon strikes before or after regular weapons. (and maybe it changes according to the weapon attack speed...). They should not have to decide not to wear this great ring with 50% stun resist because is has a 10% slow that will ruin the 40% slows on their weapon.
No other effect has such a broken behavior.

What I suggest is to keep the tome mechanism that Frumple described. It is efficient and easy to understand. You have different effects applied sequentially. But to do for slows what is done for poison, burning, wounds, shields, disruption, etc. Simply do some merging at the application time to keep the best slow value. It is simple and would lead to a comprehensible behavior. Wearing another +slow item will not necessarily improve your +slow power, but at least, it will not reduce it which is insane.

Frumple
Sher'Tul Godslayer
Posts: 1517
Joined: Sat May 15, 2010 9:17 pm

Re: Slows application is incoherent

#8 Post by Frumple »

Eh, I've been around since like beta 2, heh, and found it pretty noticeable when it first started really showing up (i.e. shortly after on-melee slow actually showed up. Can't recall when that was, but it's been a while).* Very easy to spot if you play much in the way of dedicated low-effort (i.e. mostly bump) melee builds, at least in my experience.

Might be that I'm too used to D&D style games for the mechanic to throw me off too much, I'unno. Things not really stacking with other discrete effects isn't terribly confusin'. Fairly inconsistent, but odd vaguely buggy interactions between stuff's half of what makes T4 T4, ehehe.

In any case, as always, friendly reminder that about the quickest and most sure way to get a change like this in is to make an addon adjusting the behavior to your preference.

... also, only some of those mentioned things combine, heh. Some shields stack, some don't, most poisons in fact stack discretely from other poisons, iirc insidious has some odd stuff going on, don't believe wound intensity stacks (though the damage usually does, I think) either, etc., etc., etc. Personally, I'd just like it to be left alone save taking the highest applied. No merging rigmarole (it'd be a slow nerf, tbh), just check at the end of the turn or somethin' and reapply appropriately. It'd fix the problem, really.

Which is probably vaguely amusing considering I didn't notice beyond the flesh adjusted your non-focus stat modifiers sometime in the last year or so.

Number43
Wyrmic
Posts: 239
Joined: Tue Dec 20, 2016 7:46 pm

Re: Slows application is incoherent

#9 Post by Number43 »

Similar effects not standing is quite understandable, what's frustrating is that a weaker effect can take priority, which is rare in games, so having an item that gives a small slow effect can be actively detrimental to have equipped.

nsrr
Sher'Tul
Posts: 1126
Joined: Mon Sep 21, 2015 8:45 pm
Location: Middle of Nowhere

Re: Slows application is incoherent

#10 Post by nsrr »

I'm ready to run with this idea. This has bothered me for a while, too, mostly do to the inconsistencey versus other on-hit behavior. It would be one thing if everything worked that way, but I can't think of a single other effect that does. Players should not have to do this kind of mental juggling to determine whether or where to equip that slow-on-hit gear.

Should be a very simple add on to code. Maybe from there we can see about getting a change made to the main game. I think we can agree that stacking slows could quickly get out of hand without any other limiting factor. On-hit slows will always apply with the same duration (discounting reduction from saves), so one option would be to have the value stack but not refresh the duration. I'm disinclined to do it that way, however, as on-hit effects are not the only source of slow, and other sources may specify a certain duration. Also, even if they stacked without increasing duration, with a couple sources of 30-40% slow it would be pretty easy to stack that up to 100% or more before the duration ran out, which would be very overpowered and I'm not sure how the engine would even handle that. Ruling that out leaves the option of taking the highest power and duration each time a new slow is applied, which is what I will do, unless I hear a very compelling reason to do it differently.

Effigy
Uruivellas
Posts: 970
Joined: Fri Oct 10, 2014 4:00 pm

Re: Slows application is incoherent

#11 Post by Effigy »

A lesser value slow should just be ignored I would say. Only refresh the duration if the magnitude of the new effect is greater or equal, and overwrite lesser effects.

jenx
Sher'Tul Godslayer
Posts: 2263
Joined: Mon Feb 14, 2011 11:16 pm

Re: Slows application is incoherent

#12 Post by jenx »

I think there is currently a cap, which is required. Otherwise we'll also suffer impossible slows.

So any code change need to respect the cap.
MADNESS rocks

Frumple
Sher'Tul Godslayer
Posts: 1517
Joined: Sat May 15, 2010 9:17 pm

Re: Slows application is incoherent

#13 Post by Frumple »

I'm like 80% sure there's not a hard cap on maximum magnitude for slows in general. There is a cap on how high you can stack on-melee now (60%), but so far as hard caps go that is, I believe, about all that's implemented.*

That said, whatever the function is that defines how slows work is very very much diminishing. That 60% in practice puts global at... somewhere in the 60s, iirc? Or 54-ish, somewhere between low 50s and low to mid 60s. A 200% (so roughly quintuple intensity, there's not terribly much difference between a 200% and 240% slow) global slow will drop global speed into maybe the 40s, if that, and a 300% will do only so much better. Getting someone's global below 30% via the slow debuff takes shenanigans from hell, even if you're also stacking disparate global slow effects (i.e. gloom slow, probably something or another I'm forgetting). There's other ways in the engine to do that (see the turtle mod, ferex), but the slow debuffs in the game isn't really it.

*And a quick check with the aid of the wonders of find in file seem to support this. Item_nature_slow (i.e. the on-melee stuff, probably other junk as well but that's the big one) has a minimum, but as near as I noticed absolutely no other slow in the game has that sort of limit (which is probably reasonable considering 60%+ on-melee slow can show up in every equipment slot except the quiver, for a hypothetical max of 840%, assuming all 60s and psi-wielding. And that is an assumption, because I'm pretty sure I've seen randart on-melee slows higher than 60%.). Totes possible I missed something but I'm pretty sure there's not a general case limit in the game.

Mordy
Archmage
Posts: 300
Joined: Tue Feb 10, 2015 1:41 pm

Re: Slows application is incoherent

#14 Post by Mordy »

If I'm not wrong, the way slow% work, they give you similar advantage than the same value in global speed boost.

Aka, getting from 100 to 150% global speed means you can act 50% more often. Then slowing a target by 50% also means you get to act 50% more often than them (provided you both were at 100% all speeds of course)

It'd be plain madness if a 100% slow reduced someone's global speed from 100 to 0 since it'd prevent all actions :D It's similar to how the game caps resists so that you cannot really go above 75%, because the linear nature on how resists work makes them scale a LOT better when you get close to 100% than they should.

Frumple
Sher'Tul Godslayer
Posts: 1517
Joined: Sat May 15, 2010 9:17 pm

Re: Slows application is incoherent

#15 Post by Frumple »

'Course, resist cap increase stuff isn't exactly unknown, heh.

Though yeah, global speed differences work more or less like that. The actual slow debuffs work a bit differently -- a 50% slow does not end up being a 50% global reduction, etc., etc. Though as mentioned, there's threads floating around laying out the detailed mechanics. I personally haven't bothered to really pay attention to more than the broad strokes, since anything else doesn't really matter. Practical difference between getting 2 extra turns every 6 relative to some monster and 2 every 6.03157 ones is... not. One worth paying attention to.

Also if you're doing something where it is, you probably screwed up and should make sure to not do that again, ahaha. If you need more than "fast makes you go fast, slow makes them go slower" you're usually cutting things a lot closer than is particularly prudent.

Post Reply