Jump to content

So once and for all - does attack speed affect weapon based combat arts?


Recommended Posts

I've seen that only cast speed affects CA full stop, then I've seen that both attack speed and cast speed affect weapon based combat arts (WBCA), and then I've seen that only attack speed affects WBCA and then cast speed for spell based combat arts only

not sure why there's so many differing opinions

the main consensus seems to be that attack speed from either a "weapon lore" or a hidden value from "tactics lore" (in place of the aspect lore which WBCA don't have) applies to the execution speed of WBCA - then from there attack speed from anywhere else is only for left click auto attacks, while cast speed is for all right click attacks/CA

but then I've seen some people claim that attack speed affects WBCA, with cast speed for spell based CA - which makes more sense, alot more than building "cast speed" on a Shadow Warrior for increased "weapon based combat art" execution speed, so I'm back to square one

for a real world example - does the flat attack speed bonus modification on killing spree, increase Shadow Warriors WBCA like Demonic Blow execution speed?

(I'm playing a SW as a CA user only, no auto attacking so while attack speed sounds good for a Shadow Warrior in general, I guess it actually wouldn't be if most attack speed sources only apply to auto/basic attacks)

anyone know definitively how it works, and of course does CM 1.60 change that at all?

very much appreciated

Link to comment

Attack Speed will increase the execution speed of Weapon Based Combat Arts but not your casting speed for spells and vice versa. (there are 3 Hybrid CAs though)
You should keep in mind that you will reach the cap of 150% attack speed in your primary weapons lore anyway, so for me that modification would be a waste.

I don't know if there have been changes with the CM Patch though.

Link to comment

Couple of things I can add here:

If you hold leftclick with a bow, you'll notice that the time between the first and the second arrow is much larger than your attack speed with the rest of the arrows. This is because shooting arrows is basically a Combat Art defined in spells.txt.

For all weapon based CA's there's an 'initial' execution time which cannot be decreased. Battle Extension e.g. is a chain attack; you can decrease the time between all strikes with Attack Speed, but the 'initial' time will stay constant.

For spell dmg based combat arts though this 'initial' execution time doesn't exist, you can theoretically decrease their execution time down to one frame. Same for Hybrid Damage based combat arts.

Also if you're playing on console, execution speed of all CAs when placed in Combos only depends on Attack speed no matter what. If you're playing CM-Patch on pc, execution speed of CAs in Combos is the same as if it weren't in a Combo, so nothing to worry about here. Prior to game version 2.40.0, there was a bug where execution speed was only dependend on the first CA placed in the Combo IIRC.

Link to comment
  • 2 weeks later...

SEE UPDATE BELOW!!!!

 

----------------------------------------------------------------------------------------------------------------

As said, yes. Basically, the rule is:

If the Lore skill for the CA is Tactics, then it will execute faster with higher attack speed.

To see it exactly, select a weapon CA on the hotbar, open your inventory and hover over the Combat Art damage composition on the inventory screen. In the tooltip, you will see "Combat Art Execution Speed". For weapon CAs, this goes up with attack speed. For spell CAs, this goes up with Casting Speed.

 

On 4/10/2022 at 11:58 AM, Vishanka said:

You should keep in mind that you will reach the cap of 150% attack speed in your primary weapons lore anyway, so for me that modification would be a waste.

While this is true, there is also one important thing to note:

Going over the attack speed cap allows you to overcap the CAs more while still being at the attack speed cap. Going above the highest combat art level without penalty applies attack/casting speed penalties, which you can negate by being above 150%, which leaves the regeneration time as the only penalty for overcapping. It also protects you against attack speed reductions that some enemies can inflict on you.

Same for movement speed. Overcapping it above 150% basically translates into slow resistance.

One of the main reasons for picking a weapon lore skill is the attack speed bonus.

 

On 4/10/2022 at 6:48 PM, Lindor said:

If you hold leftclick with a bow, you'll notice that the time between the first and the second arrow is much larger than your attack speed with the rest of the arrows. This is because shooting arrows is basically a Combat Art defined in spells.txt.

For all weapon based CA's there's an 'initial' execution time which cannot be decreased. Battle Extension e.g. is a chain attack; you can decrease the time between all strikes with Attack Speed, but the 'initial' time will stay constant.

For spell dmg based combat arts though this 'initial' execution time doesn't exist, you can theoretically decrease their execution time down to one frame. Same for Hybrid Damage based combat arts.

I'd say that the important part here is in the animation.txt script file. There, you can see the exact timings of every animation. Here is the Shadow Warrior's bow attack for example:

["entry29"] = 
        {
            ["name"] = "ANIM_TYPE_ATTACKA_BOW",
            ["marker"] = 
            {
                ["ANIMSTART"] = 0.0000,
                ["ATTACK"] = 0.5600,
                ["ANIMEND"] = 1.0000,
            },
        },

Basically, you can think of Attack Speed as reducing these timings. These default timings are for 100% attack speed. Going to 150% would reduce them all by a third so a bow attack animation would become:

["entry29"] = 
        {
            ["name"] = "ANIM_TYPE_ATTACKA_BOW",
            ["marker"] = 
            {
                ["ANIMSTART"] = 0.0000,
                ["ATTACK"] = 0.3733,
                ["ANIMEND"] = 0.6667,
            },
        },

 

As for the Battle Exension statement, I'm not a 100% sure I understand perfectly what you mean, but Attack Speed absolutely does reduce the time it takes to land the first hit. It speeds up the overall animation.

So these original timings:

Spoiler

["entry250"] = 
        {
            ["name"] = "ANIM_TYPE_SM01_1H",
            ["marker"] = 
            {
                ["ANIMSTART"] = 0.0000,
                ["ATTACK"] = 1.7600,
                ["ATTACK1"] = 2.2400,
                ["ATTACK2"] = 3.1200,
                ["ANIMEND"] = 4.6000,
            },
        },

Would become this:

Spoiler

["entry250"] = 
        {
            ["name"] = "ANIM_TYPE_SM01_1H",
            ["marker"] = 
            {
                ["ANIMSTART"] = 0.0000,
                ["ATTACK"] = 1.1732,
                ["ATTACK1"] = 1.4932,
                ["ATTACK2"] = 2.0798,
                ["ANIMEND"] = 3.0664,
            },
        },

All things present within the animation definition will occur faster.

Edited by idbeholdME
Link to comment
1 hour ago, idbeholdME said:

I'm not a 100% sure I understand perfectly what you mean, but Attack Speed absolutely does reduce the time it takes to land the first hit. It speeds up the overall animation.

Not the time it takes to land the first hit. The time between first hit and second hit.

With CM patch enabled, it's more noticeable because of the faster animation speed introduced for that CA.

Spoiler


        {
            ["name"] = "ANIM_TYPE_SM01_1H",
            ["marker"] = 
            {
                ["ANIMSTART"] = 0.0000,
                ["SHOUT"] = 0.6000,
                ["ATTACK"] = 0.6400,
                ["ATTACK1"] = 0.7600,
                ["ATTACK2"] = 1.2800,
                ["ANIMEND"] = 2.0000,
            },
        },

Time between first and second hit should be shortest while in reality it's longest. There's a constant delay for all chain attacks which cannot be reduced with attack speed. I thik energy weapons are an exception though, I noticed the delay doesn't exist on a BFG Seraphim with Assailing Somersault.

You for sure must have noticed the same thing when holding leftclick with a bow on an enemy? Of course the enemy shouldn't die after the first or second hit so you have a chance to notice it. Or you can also just CTRL+leftclick at the ground.

If you place two weapon CAs in a Combo however, this delay time is not between the first and the second hit anymore, it's between the first and the second CA of the combo.

That's Sacred 2's version of D2's Casting Delays.

On spell dmg based CAs, this delay doesn't exist, and together with the fact that there's no casting speed cap it makes spell dmg based CAs synergize sooo much better with the Combo system than weapon dmg CAs. With Combat Discipline Mastery and enough casting speed you can become a true machine gun mage.

Link to comment
17 minutes ago, Lindor said:

You for sure must have noticed the same thing when holding leftclick with a bow on an enemy? Of course the enemy shouldn't die after the first or second hit so you have a chance to notice it. Or you can also just CTRL+leftclick at the ground.

If you place two weapon CAs in a Combo however, this delay time is not between the first and the second hit anymore, it's between the first and the second CA of the combo.

I can't really say I notice any delays honestly. MAYBE for the case with the combos, but not really sure.

I can shoot at the exact same speed by either holding left click or pressing CTRL+left repeatedly to perfectly reproduce the speed while holding it down.

But as far as Battle Extension goes, it works exactly as advertised in the animation.txt. Meaning the first 2 hits occur quickly after each other and the last one comes out after a longer delay.

Edited by idbeholdME
Link to comment
5 minutes ago, idbeholdME said:

I can't really say I notice any delays honestly. MAYBE for the case with the combos, but not really sure.

I can shoot at the exact same speed by either holding left click or pressing CTRL+left repeatedly to perfectly reproduce the speed while holding it down.

Then we play a different game. When I hold ctrl+leftclick with my dryad, she draws her bow out, shoots an arrow, puts her bow back, draws her bow again and then starts shooting arrow after arrow without ever putting her bow down until I release the mouse button. The time between first and second arrow is much larger than the one between all the other arrows. This has existed ever since for me.

Link to comment
2 hours ago, Lindor said:

Then we play a different game. When I hold ctrl+leftclick with my dryad, she draws her bow out, shoots an arrow, puts her bow back, draws her bow again and then starts shooting arrow after arrow without ever putting her bow down until I release the mouse button. The time between first and second arrow is much larger than the one between all the other arrows. This has existed ever since for me.

Well, with my Shadow Warrior, once he starts shooting, he remains in the shooting position as long as I hold the attack down.

I wonder if it has something to do with me using the vanilla animation blending speeds. Could it somehow lead to this difference in the behavior? I am using the PFP but the vanilla s2render.dll file.

EDIT:

Also just tried with a fresh Dryad and the same thing. She just remains in the shooting position after the first shot if I hold the button down.

 

EDIT 2:

Oh and also just noticed in the OP. If the OP is talking about the Gold Sway mod for Killing Spree, then yes. It increases Attack, Cast and Run speed. And it's not a flat increase (the wiki is wrong) but a percentage one. It increases the speeds with every hit you land on an enemy while Killing Spree is active. First hit by 2.5% and any other subsequent hit has diminishing returns. Here is an example from a test I did:

Movement Speed: 120.5 - 123 - 125.3 - 127.3 - 129.1 - 130.8 - 132.2 - 133.5 - 134.8 - 135.8 - 136.8 and so on
Attack Speed: 134.2 - 136.7 - 138.9 - 140.9 - 142.7 - 144.4 - 145.9 - 147.2 - 148.4 - 149.5 - 150 (MAX)

The Bronze mod for attack works the same way (per hit and diminishing returns).

I changed the info on the wiki to reflect what Killing Spree truly does.

Edited by idbeholdME
Link to comment

I think it's time we ask someone with more experience with the dlls.

Dmitriy, did you ever encounter this decrepency? E.g. when working on these:

On 4/1/2018 at 7:43 AM, dimitrius154 said:

4. Various fixes to character animations have been introduced. Unused animations have been restored.
7. Character animation blending speed has been adjusted.

 

Link to comment

Tag him with the @ sign.

For what it's worth I use the s2render.dll from CM Patch (same one from EE, D2F, PFP, etc.) and I see the same behavior as idBeholdME.  My character does not drop his/her bow between shots with CTRL+Click. This includes in combat or out of combat.  In combat there should be no dropping regardless because the fight stance should already have a raised bow.

Link to comment
3 hours ago, Lindor said:

did you ever encounter this decrepency?

Hmm, no descrepancy here: if the attack button is not released, the first strike/shot is idle->attack blended , the last is attack->idle blended, everything in between is attack.    

Edited by dimitrius154
Link to comment

If the problem is within S2render.dll, it means that reinstalling the CM-Patch does not help, therefore I'd need another S2render.dll from another source. I have swapped my S2render.dll with Addendum's version, being fully aware that it might break things, just to look wether the issue still persists. Did not fix it, I'm still seeing the delay time. Additionally it looks like the hero "dismounts" every time she's shooting. It's not an actual dismount, it's just the animation.

Conclusion is that the problem is not located in S2render.dll.

I've never done this before, but I think I'm gonna try and capture the descrepency in a video when I find the time. I think OBS has the recommendation to be user friendly?

Link to comment

@Whiskiz @Lindor @Flix @chattius

Bumping this with an update and finally shedding some hard facts on this topic. Turns out what chattius said is actually correct. Got around to testing it and turns out that weapon CAs do 2 things.

1) Appropriate weapon lore increases the execution speed through the attack speed bonus it provides. So the bonus from weapon lore acts both as attack speed and casting speed.

2) However, when it comes to bonuses from gear, the execution speed does NOT go up with attack speed, but casting speed. Attack speed on gear only increases the speed of basic attacks.

 

So the rule above that CAs which use Tactics as a Lore skill scale off of attack speed is only partially correct. The main confusion was because of the fact, that attack speed from weapon lore and attack speed from other sources behave differently.

This finding greatly increases the value of a weapon lore skill for characters that fight mostly by using weapons. Because gearing for cast speed is usually not a viable option for non-casters. And it also explains, why when enemies slow your attack speed (the little storm cloud above your head, Harpies and Olms for example cast it on you), the weapon CA execution speed remains mostly unaffected while your normal attacks slow down to a crawl.

Edited by idbeholdME
  • Like! 1
Link to comment

Hybrids can make great use of casting speed.

Actually I think that that the last of our KungFu-Dryads were among the fastest killers in the game. And the first 13 years ago was already quite good. But a voodoo kungfu hybrid: 2 spells, 4 hits and every boss in niob is dead. Furian did a video with one of the first weaponless dryads. We were wielding a shield but no weapon triggers flip kicks which do double hits. Starting combat with viperish disease speeds it up even more.

Sadly the guide didn't survive a server update/change....

 

  • Like! 1
Link to comment
16 minutes ago, chattius said:

Hybrids can make great use of casting speed.

Actually I think that that the last of our KungFu-Dryads were among the fastest killers in the game. And the first 13 years ago was already quite good. But a voodoo kungfu hybrid: 2 spells, 4 hits and every boss in niob is dead. Furian did a video with one of the first weaponless dryads.

Well, the fastest killer will be whatever character can stack the most life leech % and hit the fastest/most often. From the video, it is obvious that the main source of damage are the 1567 damage life leech procs and not the hits themselves.

A Shadow Warrior with a life leech shuriken and a Frenzied Rampage modded for double hits and throwing from point blank range with minimal regen per hit can probably melt bosses even faster, as every FR cast will result in 3-6 attacks that apply life leech, spammable every 0.6 seconds or something like that.

Life leech shuriken + Danderan set could probably reach 6% life leech. Meaning that a single FR cast could potentially chunk a boss for over a third of its health.

 

But back on topic, yeah. For weaponless characters, casting speed would be the only way to increase weapon CA execution speed.

Edited by idbeholdME
  • Like! 1
Link to comment
1 hour ago, chattius said:

Hybrids can make great use of casting speed.

Actually I think that that the last of our KungFu-Dryads were among the fastest killers in the game. And the first 13 years ago was already quite good. But a voodoo kungfu hybrid: 2 spells, 4 hits and every boss in niob is dead. Furian did a video with one of the first weaponless dryads. We were wielding a shield but no weapon triggers flip kicks which do double hits. Starting combat with viperish disease speeds it up even more.

Sadly the guide didn't survive a server update/change....

 

Alas the server upgrade … 😥

but a great visit to nostalgia !
I remember your kick fighting dry ads they were splendid!

🏋️♀️

gogo

Link to comment
13 hours ago, idbeholdME said:

Well, the fastest killer will be whatever character can stack the most life leech % and hit the fastest/most often. From the video, it is obvious that the main source of damage are the 1567 damage life leech procs and not the hits themselves.

A Shadow Warrior with a life leech shuriken and a Frenzied Rampage modded for double hits and throwing from point blank range with minimal regen per hit can probably melt bosses even faster, as every FR cast will result in 3-6 attacks that apply life leech, spammable every 0.6 seconds or something like that.

Life leech shuriken + Danderan set could probably reach 6% life leech. Meaning that a single FR cast could potentially chunk a boss for over a third of its health.

 

But back on topic, yeah. For weaponless characters, casting speed would be the only way to increase weapon CA execution speed.

Furian didn't use a shield: without shield the weaponless heavy damage CA is a punch. With a shield she does a flip kick, hitting with both feet, double hits, nearly double speed. But hybrid: viperish disease can do 70+% life leech a tick once the trigger point is reached, normally 2 LL flip kicks.

At normal mobs and a death blow of 50+: first kick hit triggers deathblow second normally kills.

And of cause, she could use any weapon, just without the lore, but she got high casting speed.

Link to comment
  • 2 weeks later...
On 5/9/2022 at 5:10 PM, Lindor said:

Finally found the time to dew it. Sry for pixelish and low res.

Hmm, seems to be caused by the massive attack speed from the looks of things. Are you using a mod that allows going past the vanilla 150% attack speed cap? It's the only thing I can think of that could cause this.

Upon closer inspection on my Shadow Warrior, I can notice the delay between the first and 2nd shot being there.

After the first shot, even if the attack button is still pressed, the character begins the transition animation back to the idle state. However, this transition back to the idle state gets quickly interrupted by the character initiating the 2nd attack. After the 2nd attack goes off, the character no longer tries to return to the idle position and remains in the fully aimed stance as long as the button is pressed and releases projectiles without pause. With the vanilla blending speeds, this is barely noticeable with Bows and Energy Weapons on my Shadow Warrior. With thrown weapons, it is a bit more obvious. Upping the attack speed seems to pronounce this effect more, meaning that the delay after the 1st shot is a set (very short) duration. Which also means that with extremely high attack speeds, it is going to start becoming more and more noticeable. But I can safely say that with a 150% attack speed, it is mostly not noticeable in normal gameplay. So this has always been the vanilla behavior.

With the behavior described above, the jerkiness of the character in your video after the first shot is most likely a combination of the very high attack speed and upped blending speeds. With the original speeds and cap of 150%, the character barely manages to move from the fully aimed position before initiating the 2nd shot. With the greatly upped speeds, the character manages to assume the full idle position in the miniscule window of idle animation time that occurs after the first shot, basically forcing the 2nd attack to play the entire attack animation again from the start instead of just a fraction of it, which results in the very "non-smooth" look and feel.

Here is a short vid of my Shadow Warrior with an Energy Weapon.

https://www.dropbox.com/s/p25nt49f3pkl22m/Sacred 2 - Ice %26 Blood 10.05.2022 18_51_04.mp4?dl=0

Can you see the very short movement after the first shot? The weapon slips up slightly from the Shadow Warrior's hand before returning to its spot and remaining there after the first shot and the left leg also moving very slightly? That is the start of the return animation to the idle state. You won't really notice it in normal gameplay. And it is in this extremely small window that your Dryad snaps all the way back into idle with the near instantaneous blending speeds and greatly overcapped attack speed.

 

 

Wonder what the reason behind this behavior is. Why only keep the character in the fully aimed position after the 2nd shot and not the 1st? Was there some technical reason for it? And could it potentially be fiddled with? But I'm 99% sure that this is baked into one of the .dll files, so probably unlikely. Nevertheless, this probably was one more thing that felt "off" to me when I played with the sped up blending speeds for a bit a couple years back.

Edited by idbeholdME
  • Appreciation 1
Link to comment

Reminds me of one thing:

There are two ways to move (until you change it in the keys settings): Leftclicking (let's call it mode 1) and holding the left mouse button (mode 2). In mode 2, the character's directional vector gets updated dynamically depending on your orthogonal mouse offset from the (thought) line the character is facing into. But the character doesn't immediately transition into mode 2 if you hold the left mouse button: He/She first moves to the position you clicked in mode 1, and only transitions into mode 2 if he/she reached the point and during the process the mouse button was not released.

It may simply be that the same function which is used to determine the character movement mode is re-used to determine the character attack mode, which causes this wierd behaviour/jerkiness.

@dimitrius154 can you confirm this guess and do you have an idea for a fix?

  • Like! 1
Link to comment
1 hour ago, Lindor said:

Reminds me of one thing:

There are two ways to move (until you change it in the keys settings): Leftclicking (let's call it mode 1) and holding the left mouse button (mode 2). In mode 2, the character's directional vector gets updated dynamically depending on your orthogonal mouse offset from the (thought) line the character is facing into. But the character doesn't immediately transition into mode 2 if you hold the left mouse button: He/She first moves to the position you clicked in mode 1, and only transitions into mode 2 if he/she reached the point and during the process the mouse button was not released.

It may simply be that the same function which is used to determine the character movement mode is re-used to determine the character attack mode, which causes this wierd behaviour/jerkiness.

Hmm, when I hold down the mouse, and then quickly move it elsewhere, the character takes one or two steps in the direction of the original click and after that, starts following the mouse. There is a very small delay too so it is probably the same thing that happens when attacking. But the character definitely does not move all the way to the position of the original click before it starts tracking the mouse, it takes like half a second at most. Here is a vid:

https://www.dropbox.com/s/7sih433e49u4bix/movement.mp4?dl=0

I click in the top left and then quickly flick the mouse in the opposite direction. Yes, it takes a moment before the character switches to the "mode 2", but I wouldn't consider it a problem honestly.

But I move mostly through WASD anyway and use mouse only for combat.


EDIT:
Also just tested that the delay after the first attack is a set duration. When I reduced my attack speed enough, the character no longer tries to assume the idle position after the first attack. So the issue arises the moment the second attack would initiate faster than the delay has run its course (roughly ~0.5 secs by observation). Assuming it is actually 0.5 seconds, this has no effect on any attack animations that have the return point at 0.75 seconds or later. If the attack speed cap is at 150%, then 0.75 becomes 0.5 at max attack speed, meaning that the state change delay will be over before the first attack finishes. Of course, going above the default attack speed cap or using a weapon with an extremely short animation (like thrown weapons) will pronounce the effect much more. Depending on the difference, it will result in attack delay/character spasms. With the upped blending speeds of the patched s2render.dll, even a very small difference will result in the character managing to assume full idle position before initiating the 2nd attack. With vanilla speeds, it will take a while before you even start noticing it with very fast weapons/animations.

Probably the very same delay that also causes the character to start following the mouse only after ~0.5 seconds.

The example in my previous post is a TGUN with attack speed at 135.2%. Dropping it to 115% completely eliminates the attempt of the character to return to the idle state (second attack comes after the delay has run its course).

 

The root cause has been identified - a delay before the game starts recognizing continuous inputs. Now the question is, was the delay between the state transitions put there intentionally to prevent the game from bugging out, or could it be safely reduced? Dropping it to like 0.4 or 0.3 would mostly eliminate the issue. I assume that removing it completely would break the game in some way.

Edited by idbeholdME
Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...
Please Sign In or Sign Up