Changes - Diablo Wiki
Open main menu

Diablo Wiki β

Changes

Movement Scaler

3,092 bytes added, 16:02, 26 March 2012
Created page with "==What is Movement Scaler?== Movement Scalar is the base stat used in Diablo III which is used to judged your walking rate amongst other things. ==Calculating the Heroes Movem..."
==What is Movement Scaler?==

Movement Scalar is the base stat used in Diablo III which is used to judged your walking rate amongst other things.


==Calculating the Heroes Movement Rates==

The forumulae used in Diablo III are as follows:

* MovementScalar (Fixed per Hero class)
* WalkingRate (Fixed per Hero class)
* StrafingRate (Fixed per Hero class)
* SprintingRate (Fixed per Hero class)
* RunningRate (Fixed per Hero class)
* MovementBonusTotal (Starts at 0)
* MovementScalarReductionPercent
* MovementScalarReductionResistance
* MovementScalarUncappedBonus


First step is to calculate the Movement Scalar Total which is done by the following formula:

MovementScalarTotal = MovementScalarCappedTotal + MovementScalarUncappedBonus

This basicly means you can have a capped value which cannot go above a certain amount and a bonus which is totally uncapped. Lets look at the capped total:

MovementScalarCappedTotal = Min(1.25, MovementScalarSubtotal)

Basicly this means you take whatever is lowest, 1.25 or the MovementScalarSubTotal.

Working out the MovementScalarSubtotal:

MovementScalarSubtotal = Max(0.1, MovementScalar) * (1 + MovementBonusTotal) * (1 - MovementScalarReductionPercent * (1 - Min(1, MovementScalarReductionResistance)))

Breaking that down:

Calc1 = 1 - Min(1, MovementScalarReductionResistance)

This makes sure the worst you can get here is a 0, best 1. So even if you set the ReductionResistance to 9999 it'll end up being 0. Although in theory you can have a negative value but Blizzard will no doubt prevent that somewhere else in their code if it matters.

Calc2 = (1 - MovementScalarReductionPercent * Calc1 )

A percent will be a value between 0.00 and 1.00 so all this does is take whatever the resistance is and take the percentage (as the name gives away). So if your ReductionResistance was 50% and your ReductionPercentage was 50% you'll end up with 25%.

Calc3 = (1 + MovementBonusTotal)

This just gives you a minimum of 1.

Calc4 = Max(0.1, MovementScalar)

Now this is the one we've been waiting for, just how does the MovementScalar change the speed of our character? 0.1 is the default, so anything above that is a perk!

* Default: 0.1 * 1 * 1 * 1 = 0.1; This would be full speed.
* Full Resistance: 0.1 * 1 * 0 * 0 = 0; You would be unable to move.
* Some buff: 0.1 * 1.25 * 1 * 1 = 1.125; 25% increase (easy to show with 10 * 125% = 12.5);

Now back to the original formula:

MovementScalarCappedTotal = Min(1.25, MovementScalarSubtotal)

So we now know the best bonus is 1.25 which is the same as 250% in game bonus to run speed! No point going above that then guys and girls, 250% is your limit!

MovementScalarTotal = MovementScalarCappedTotal + MovementScalarUncappedBonus

This is then used for the following Formulae:

* WalkingRateTotal = WalkingRate * MovementScalarTotal
* StrafingRateTotal = StrafingRate * MovementScalarTotal
* SprintingRateTotal = SprintingRate * MovementScalarTotal
* RunningRateTotal = RunningRate * MovementScalarTotal


So as you can see the MovementScalar is just a percentage speed increase!