Oblivion
0 of 0

File information

Last updated

Original upload

Created by

prsnk

Uploaded by

Gazareth2000

Virus scan

Some manually verified files

About this mod

With this mod, attack speed for all characters is dynamic - based on character and weapon attributes. Strength, speed, weapon weight, type, current fatigue levels, and more, are used to determine the character's attack speed. In-game items and characters are not permanently modified; save games are not affected.

Requirements
Permissions and credits
Changelogs
Features

Attack speeds for all characters are dynamic. NPCs are also affected, and creatures can be optionally excluded. 

The attack speed value is based on: how heavy the weapon is, how proficient the character is with that weapon type (blade, blunt hand-to-hand, etc.), how much strength and speed they have, how encumbered they are (more importantly what armour they are wearing on their upper-body and hands), and their current fatigue levels.

The influence on attack speed by each of the stat categories can be modified with the included .ini file. You can set how much you want each component to contribute to attack speed, including defining the influence of gauntlet encumbrance vs total encumbrance, as well as a few other settings.

Generally you will find that at the beginning of the game or with low stat values, attacks are slower than Vanilla (Unmodded) Oblivion. As your attributes become very high you will be able to reach a higher potential and swing weapons faster than the standard speeds that shipped with the game.



Attack Speed Calculation

Source code:
https://github.com/gazareth/CBAS

There is a fair bit of maths behind the calculation, and personally I think the result feels natural and realistic. That said, I am happy to suggestions in updating/changing the formula(s). I don't want to get right down to the equations here. I am providing the source code if you are interested in that. I will give a brief overview here:

The calculation can be broken down into five parts:
  • Attribute(s) -- Wielding a melee weapon requires strength, Staff requires Intelligence & Will.
  • Skill -- Higher skill in blade allows you to swing swords faster, Blunt allows you to swing maces faster, etc.
  •  Alacrity -- Higher speed or agility (whichever one is higher is chosen) means faster attacks.
  • Encumbrance -- How much the character is carrying (with a focus on which gauntlets and cuirass the character is wearing). Carrying more weight reduces attack speed. Strength and armour skill (Light/Heavy) are taken into account.
  • Fatigue -- The current % of fatigue the character has. Low fatigue will result in slower attacks.

There is then a final formula applied to provide diminishing returns at extreme values, so that there are lower and upper areas of speed that cannot feasibly be reached.



Motivation

Oblivion has a decent variety of progressable stats and you can grow your character in all different ways: move speed, jump height and weapon damage can be improved as your character develops by running, jumping and swinging weapons at foes. But no matter how many times you've swung your Iron Longsword, you still swing it at exactly the same pace. This is because in Oblivion, attack speed is determined through the speed of the weapon equipped. Not only that, but all weapons of the same type (e.g. one-handed swords), have the same speed. (see:  https://en.uesp.net/wiki/Oblivion:Weapons) 

CBAS– Character Based Attack Speed –Is able to set the attack speed for all characters dynamically based on their attributes and the attributes of their weapon.



Credits

Several modders have made attempts to correct the attack speed issue. When I first begun making this mod I was basing it entirely upon Reworked Dynamic Weapon Speeds by sandone. This was based on Weight Based Dynamic Weapon Speeds by Offkorn, which was based on ANB Dynamic Weapon Speed. Unfortunately, I found that if you modify weapon speeds dynamically via scripts using OBSE, the game won't pick up the speed and put it into the attack process until the weapon has been re-equipped.

For this reason I set out to create an OBSE DLL which injects the desired attack speed directly into the attack process code for each actor directly. It was a difficult process and I'm glad I managed to achieve it!

_____

A very special thank you to the wonderful team behind OBSE. I hope this to be another example of how anything is possible with the Elder Scrolls games thanks to their amazing work.