For fun and awesomeness, add a mutator that allows players in duels to enter bullet time mode upon
- Player movement speed.
- Player special actions: Double jumping, wall running, etc.
- Jump height - to allow for airborne fights.
- Bullet flight speed.
- Reload time.
- Firing speed.
2. Long version:
List of proposed variables:
2.1. Distance variables:
- bullettime_playerdist = 0 - 500 (50) - in decimeters, distance between players at which bullettime triggers automatically
- bullettime_playerdistslow = 0 - 95 (15) - in percent points, how much distance based on a slowdown contributes to bullettime
- bullettime_los = 0 - 1 (1) - require line of sight between players to trigger bullettime based on distance?
- bullettime_bulletdist = 0 - 500 (35) - in decimeters, distance between player and a bullet, grenade or at which bullettime triggers automatically
- bullettime_bulletdistslow = 0 - 95 (20) - in percent points, how much distance based on a slowdown contributes to bullettime
- bullettime_distwearmode = 0 - 3 (1) - slowdown wear interpolation with distance, from source and scaled to 0-100%, in order: none, linear, logarithmic, with square
- bullettime_playerdistmax = 10 - 1000 (150) - in percents, distance between players at which slowdown equals 0% of bullettime_playerdistslow
- bullettime_playerdistmin = 0 - 1000 (20) - in percents, distance between players at which slowdown equals 100% of bullettime_playerdistslow
- bullettime_damageslow = 0 - 900 (5) - in 1/10ths of percent points, conversion of damage into slowdown.
- bullettime_damageslowmax = 0 - 100 (50) - in percent points, maximum slowdown resulting from damage.
- bullettime_wear = 0 - 60 (5) - in seconds, time after which damage-induced slowdown starts to wear down.
- bullettime_wearspeed = 0 - 1000 (5) - in 1/10ths of percent points, speed at which damage-induced slowdown wears down.
- bullettime_maxslow = 0 - 95 (66) - in percents, cap for combined level of slowdown caused by distances and damage
- bullettime_slowmove = -500 - 500 (100) - in percents, effect of slowdown on player motion speed
- bullettime_slowmovelimit = 0 - 100 (20) - limit to how much player motion can slow.
- bullettime_slowbullets = -500 - 500 (130) - in percents, effect of slowdown on player motion speed
- bullettime_slowbulletslimit = 0 - 100 (20) - limit to how much bullet motion can slow.
- bullettime_specialmult = -500 - 500 (-50) - in percents, multiplier for special actions
- bullettime_reloadmult = -500 - 500 (-50) - in percents, multiplier for reloading
- bullettime_fireratemult = -500 - 500 (-50) - in percents, multiplier for firing
- bullettime_jumpmult = -500 - 500 (-25) - in percents, multiplier for jump power
- bullettime_airmult = -500 - 500 (200) - In percents, increase/decrease in maneuverability while airborne, to prevent easy targeting
- bullettime_bulletbounce = 0 - 99 (70) - in percents. Game speed below which bullets start bouncing off each other, for epic fights
- bullettime_detonation = 0 - 1 (1) - instead of bouncing them, bullets detonate grenades and rockets
- bullettime_swordblock = 0 - 100 (60) - in percents. Game speed below which it becomes possible to block bullets with swords. 100% allows this even without slowdown.
3.1. Non-duel bullettime:
When two players start fighting, they enter bullettime mode. More than two players can exist in one "bullettime field" if they join the fight within specified interval. Other players can't fire at them(like with teammates) and if they do(grenades for example), they only deal a fraction of normal damage. Visually they are displayed to other players in tinted color with energy rays between them. Players in bullettime see others in greyscale and dimmed.
Additional variables for this sub-suggestion:
- bullettime_join = 0 - 60 (5) - in seconds. How long after bullettime initiation between two players more can join the fight
- bullettime_externaldmg = 0 - 100 (1) - multiplier of external(people from outside current "field") damage received.
- bullettime_capture = 0 - 1 (0) - Allow players in bullettime mode to capture flags/pick up bombs?
This would probably require some serious changes to code responsible for movement, but the work would be more on the "tedious" than "difficult" side, so I think it's worth it. Your opinions?