I've been trying to figure out how attack speed is handled. Specifically, what the base speed is, how weapon type modifies this figure, how talents modify THAT figure, and finally how various talents interact (stack, best-one-wins, whatever).
I have failed quite miserably. In fact, the only useful information I can find is a comment in properties.xls from Georg saying AttackSpeedModifier can range from 50%(faster)-150%(slower). However even in this the values are 0 for min and 1.5 for max, so I don't know what to make of the comment.
Any help would be appreciated!
AttackSpeedModifier
Débuté par
Matthew Young CT
, déc. 08 2009 06:39
#1
Posté 08 décembre 2009 - 06:39
#2
Posté 13 décembre 2009 - 01:26
Not sure if you found the answer for this, and this isn't a complete answer, just what I've discovered myself. core_h however has a check for attack speed. CalculateAttackTiming. This check seems to deal with most of the big issues with timing. From what I can tell the AttackSpeedModifier can really only range from 0.5f - 1.5f, it gets capped by the script, which is then multiplied against the base Attack Speed of the weapons and style.
However, they seem to have a bit of code for 'Older Saves', (I guess they did their values differently) that also does a check on whether the Modifier is below 0.5f, which seems superfluous considering their capping it just a line above, that automatically sets it to 1.0f.
My best guess, (and this is more an answer to the Haste + Momentum issue), is that due to it being below 0.5f, -0.25f plus -0.3f being -.0.55, it caps it due to the old save game compatibility check to 1.0f where instead it should have been capped to 0.5f by the line before it.
Which by the way probably means the default value is 1.0 for AttackSpeedModifier, but not entirely sure where that is set, I haven't looked. I was trying to find an answer to the Haste + Momentum issue.
Either way, if this doesn't answer what you need to know, I hope it at least helps you towards the right direction.
However, they seem to have a bit of code for 'Older Saves', (I guess they did their values differently) that also does a check on whether the Modifier is below 0.5f, which seems superfluous considering their capping it just a line above, that automatically sets it to 1.0f.
My best guess, (and this is more an answer to the Haste + Momentum issue), is that due to it being below 0.5f, -0.25f plus -0.3f being -.0.55, it caps it due to the old save game compatibility check to 1.0f where instead it should have been capped to 0.5f by the line before it.
Which by the way probably means the default value is 1.0 for AttackSpeedModifier, but not entirely sure where that is set, I haven't looked. I was trying to find an answer to the Haste + Momentum issue.
Either way, if this doesn't answer what you need to know, I hope it at least helps you towards the right direction.
Modifié par F. Fawkes, 13 décembre 2009 - 01:26 .
#3
Posté 13 décembre 2009 - 01:38
I'm not sure what the formulas etc. are, but I do no attack speed is separate for melee and ranged. For ranged you want to use PROPERTY_ATTRIBUTE_RANGED_AIM_SPEED. (had me confused for a while when my custom ranged attack speed increasing spell wasn't working)
I'm not sure what the correct property for melee speed is though sorry.
Also, a useful tool for searching through the code is DAToolchest, it lets you search through the scripts (either in your own module, biowares modules or in core-game resources)
I'm not sure what the correct property for melee speed is though sorry.
Also, a useful tool for searching through the code is DAToolchest, it lets you search through the scripts (either in your own module, biowares modules or in core-game resources)





Retour en haut






