Movement Game Settings

From the Oblivion ConstructionSet Wiki
Revision as of 14:30, 14 February 2013 by imported>QQuix (Reverted edits by BertaVasquez1941 (talk) to last revision by JRoush)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

The following settings control Movement Speeds:

Setting Default Value Description
fMoveCharWalkMin 90.0 Minimum base walking speed
fMoveCharWalkMax 130.0 Maximum base walking speed
fMoveCreatureWalkMin 5.0 Minimum base walking speed for creatures
fMoveCreatureWalkMax 300.0 Maximum base walking speed for creatures
fMoveEncumEffect 0.4 Worn armor/weapons encuberence affect with weapon ready
fMoveEncumEffectNoWea 0.3 Worn armor/weapons encuberence affect without weapon ready
fMoveWeightMin 0.0 Movement encumberance minimum worn weight
fMoveWeightMax 150.0 Movement encumberance maximum worn weight
fMoveNoWeaponMult 1.1 Speed multiplier without weapon ready
fMoveRunMult 3.0 Speed multiplier for being in run mode
fMoveRunAthleticsMult 1.0 Speed multiplier for athletics when in run mode
fMoveSneakMult 0.6 Speed multiplier for being in sneak mode
fPerkHeavyArmorExpertSpeedMult 0.5 Perk worn heavy armor weight multiplier??? (Initial value of 0.5 reduces worn armor weight by half)
fPerkHeavyArmorMasterSpeedMult 0.0 Perk worn heavy armor weight multiplier, replacing above??? (Initial value of 0 reduces worn armor weight to 0)
fPerkHeavyArmorSinkGravityMult 15.0 Unknown impact perk
fPerkLightArmorExpertSpeedMult 0.0 Perk worn light armor weight multiplier??? (Initial value of 0 reduces worn armor weight to 0)
fArmorWeightLightMaxMod 0.6 Unknown impact setting
fMoveSwimWalkBase 0.5 Unknown impact setting
fMoveSwimWalkAthleticsMult 0.02 Unknown impact setting
fMoveSwimRunBase 0.5 Unknown impact setting
fMoveSwimRunAthleticsMult 0.1 Unknown impact setting
fSubmergedMaxSpeed 2.0 Unknown impact setting
fMoveMinFlySpeed 5.0 Minimum flying speed
fMoveMaxFlySpeed 300.0 Maximum flying speed

Walking

The basic walking speed is different depending on whether or not you have a weapon drawn. Note having fists ready counts as having a weapon drawn. Without a weapon drawn it is:

WalkSpeed = (fMoveCharWalkMin + (fMoveCharWalkMax - fMoveCharWalkMin)* speed/100) *
  EncumbranceMultiplier * HeightScale * fMoveNoWeaponMult

EncumbranceMultiplier = 1 - fMoveEncumEffectNoWea *
  (fMoveWeightMin + WornWeight)/(fMoveWeightMax - fMoveWeightMin)

With a weapon drawn it is:

WalkSpeed = (fMoveCharWalkMin + (fMoveCharWalkMax - fMoveCharWalkMin)* speed/100) *
  EncumbranceMultiplier * HeightScale

EncumbranceMultiplier = 1 - fMoveEncumEffect *
  (fMoveWeightMin + WornWeight)/(fMoveWeightMax - fMoveWeightMin)

For Creatures, the formula is:

WalkSpeed = (fMoveCreatureWalkMin + (fMoveCreatureWalkMax - fMoveCreatureWalkMin)* speed/100) *
  EncumbranceMultiplier * HeightScale

EncumbranceMultiplier = 1 - fMoveEncumEffect *
  (fMoveWeightMin + WornWeight)/(fMoveWeightMax - fMoveWeightMin)

Two notes: (1) 'WornWeight' is capped so it can't be greater than fMoveWeightMax, and (2) the default fMoveWeightMin is 0.0. This reduces the formula to something sensible looking.

HeightScale is the product of the character's race/gender Height value, and any SetScale values which may be affecting the character. See UESP: Races for Height values for each race/gender combination.

WornWeight is the sum of equipped weapons/armor, possibly modified by skill levels and Perks. Exactly what contributes to WornWeight is uncertain. Equipped arrows do not count, but armor, shields and weapons do.

Running

Movement speed when in running mode is calculated from WalkSpeed:

RunSpeed = WalkSpeed * (fMoveRunMult + fMoveRunAthleticsMult * athletics/100)

The current value of Speed and Athletics is used, including any modifiers from magic, enchantments, etc. Luck and fatigue have no effect. Unlike most skills/attributes, the value of Speed and Athletics is not capped at 100. However, note that the base value cannot be greater than 255 - to raise your Speed or Athletics beyond 255 you must use some kind of magical bonus.

Encumbrance also does not appear to have any affect. The EncumbranceMultiplier is only affected by worn armor and carried weapons, and strength does not help compensate in any way for equipped heavy armor and weapons. The default values of fMoveEncumEffectNoWea and fMoveEncumEffect mean that there is a slight extra speed penalty for having a weapon drawn when you have heavy armor and weapons equipped.

The bad news is there doesn't seem to be a way to easily introduce fatigue and/or encumbrance based movement penalties by just tweaking game settings values. This means that it is not possible to have NPC and creatures "slow down when puffed or burdened" without adding scripting to every single NPC/creature. This makes burden based poisons pretty much useless unless they are strong enough to overburden and pin them down. Anything less than 100% encumbrance doesn't slow them down at all, but the final straw that overburdens them suddenly pins them to the spot. Draining fatigue does help reduce the damage they deal, but it doesn't slow them down when they are chasing you.

Sneaking

Movement speed when in sneak mode is a simple modification to the run or walk speed:

SneakWalkSpeed = WalkSpeed * fMoveSneakMult
SneakRunSpeed = RunSpeed * fMoveSneakMult

Swimming

Swim speed is calculated much like Running speed, but also includes the SwimSpeedMultiplier of the character or creature:

SwimSpeed = WalkSpeed * (fMoveRunMult + fMoveRunAthleticsMult * athletics/100) * (1 + SwimSpeedMultiplier / 100)

When 'running' (holding down the Run button or have Always Run enabled):

SwimSpeed = (fMoveSwimRunBase + fMoveSwimRunAthleticsMult * WalkSpeed * Athletics) * (1/100) * (fMoveRunMult + fMoveRunAthleticsMult * athletics/100) * (1 + SwimSpeedMultiplier / 100)

The second formula looks a bit strange, and may need confirmation.

As with running speed, the current values of Speed and Athletics are used, and are not capped at 100.

Flying

Exact formula is unkown, but suspected to be;

Flying Speed = fMoveMinFlySpeed + (fMoveMaxFlySpeed - fMoveMinFlySpeed) * Speed/100