Chaosforge Forum

DoomRL => Bug Reports => Topic started by: JoeB on March 27, 2010, 17:38

Title: [0.9.9.1] Moving speed not calculated right?
Post by: JoeB on March 27, 2010, 17:38
I'm playing the Linux version of DoomRL 0.9.9.1. When I equip an armor with -10% move speed, and a pair of boots with +10% move speed, my total speed is 0.99 second/move instead of 1.00.

Screenshots:
Without armor/boots (http://i.imgur.com/flLPn.png)
With armor/boots (http://i.imgur.com/EUmNn.png)
Title: Re: [0.9.9.1] Moving speed not calculated right?
Post by: Shoop da Whoop on March 27, 2010, 17:51
Such a weird result appears because of ordered (not parallel) modificators counting:
1.00 +10% = +0.10 1.10 -10% = -0.11 0.99
or
1.00 -10% = -0.10 0.90 +10% = -0.09 0.99.

Must be: 1.00 -10% + 10% = 0 1.00.
Title: Re: [0.9.9.1] Moving speed not calculated right?
Post by: Kejardon on March 27, 2010, 18:26
There's pretty good reason to use ordered modifications instead.
Let's say you have phaseshift boots and phaseshift armor both with agility mods, and Hellrunner 2. That gives +40, +25, and +30 speed (Note: Hellrunner gives +15 speed now!). If you add them together, that results in +95 speed. Movement would take only 0.05 seconds per move. That's a tad bit broken. Running would put it at -0.25 seconds per move which raises several obvious problems.
If you use ordered, however, the result is +68.5, for 0.315 seconds per move, or with running, +77.95 or 0.22 seconds/move. 4 moves per enemy move in total, which is fair for a fully kitted, specialized character. It will never be able to reach 0, but each speed boost is still significant.
Title: Re: [0.9.9.1] Moving speed not calculated right?
Post by: Kornel Kisielewicz on March 27, 2010, 18:53
It's by design. There are ways to accumulate +100 speed or more, especially at firing time, hence that would break the system. This way it works, and each + still gives more speed.