Files
Bubberstation/modular_zubbers/code/modules/movespeed/_movespeed_modifier.dm
BurgerLUA 0111eca2a9 Limits movement speed to about x2 the base movespeed (#1828)
## About The Pull Request

As a living creature, it is no longer possible to go 2 times faster than
base movement speed. Base movement speed is the default running speed of
mobs, without any buffs.


## Technical Information

Note that a slowdown value of 1 means that every 0.1 seconds, you can
move a tile. A slowdown value of 0.75 means that every 0.075 seconds,
you can move.

Thus, the lower the slowdown value is, the faster you are. Someone with
a slowdown value of 0.5 is twice as fast as someone with a slowdown
value of 1.

The game's default slowdown value for humans is 1.5. This means that
every 0.15 seconds, you can move a tile.

This PR makes it so the capped slowdown value is 0.7. I came up with
this number because changeling adrenaline removes 0.8 from your slowdown
value (1.5 - 0.8 = 0.7), and it's the strongest source of increasing
movement speed in the game.

Some thing can "ignore" this cap, such as bluespace tiles and other
sources of movement manipulation. I tested everything obvious (camera
movement, xenomorphs, humans, monkeys, etc) but there might be some
things that missed testing that are affected by this.

## Why It's Good For The Game

Having an insane amount of speed is generally not fun for several
reasons.
- Melee as a system is underdeveloped and falls apart during fights
where an opponent runs at mach 10.
- Projectiles are balanced around not being hitscan or instant, and are
slow as to balance out ranged. However, it is generally not reasonable
to move faster than a bullet.
- A good majority of people are connected from North America (sever is
hosted in Germany), where they'd usually get 80-100 ping on a relay
server. While this seems small, 100ms delay is quite a bit.

A legitimate question is why not just apply this to humans. I think
applying this to just humans kind of defeats the purpose of the PR, and
that generally high movement speed in general is not good for the game.

## Proof Of Testing

It just werks.

## Changelog

🆑 BurgerBB
balance: As a living creature, it is no longer possible to go 2 times
faster than base movement speed. Base movement speed is the default
running speed of mobs, without any buffs.
/🆑

---------

Co-authored-by: Waterpig <49160555+Majkl-J@users.noreply.github.com>
2024-08-24 12:12:22 +00:00

14 lines
583 B
Plaintext

//EXPLAINATION
//The code is weird and multiplies movespeed by 1.5, so that is what the default is. This means by default, you are 50% slower than what the config is.
//This is fucking weird, but whatever. We'll work with it.
//Changeling haste, which is the fastest movespeed modifier in the game, subtracts 0.8
//Thus the value here is 0.7
#define MOVEMENT_DELAY_MULTIPLIER_LIMIT 0.7
/mob/living/update_movespeed()
. = ..()
cached_multiplicative_slowdown = max(.,MOVEMENT_DELAY_MULTIPLIER_LIMIT) //Max means get the largest of this two.
#undef MOVEMENT_DELAY_MULTIPLIER_LIMIT