
The way the game calculates the addition speed is to take the absolute value of the product of mv->m_flForwardMove and flSpeedBoostPercįloat flSpeedAddition = fabs( mv->m_flForwardMove * flSpeedBoostPerc )
Calculate the initial flSpeedAddition which is the amount of speed to add onto the player's existing speed. The game calculates flSpeedBoostPerc based on the state of the player when they jump, so when we are crouched or we are sprinting, it chooses 0.1 for other states like running or walking, it chooses 0.5.įloat flSpeedBoostPerc = ( !pMoveData->m_bIsSprinting & !player->m_Local.m_bDucked ) ? 0.5f : 0.1f Calculate flSpeedBoostPerc to figure out the multiplier for calculating the additional speed and maximum speed for bounding it. The game goes through a few steps to decide how much to add to player speed and whether to subtract instead. How the game calculates and bounds your speed when bunnyhopping Substitute flMaxSpeed with the Speed limits from the table above and you will have your new speed. Note that some conditions will not give you speed because of how the speed is calculated.ĭucking while doing ABH is recommended since it has the lowest speedcap of all states at 209 UPS.Ĭompounding all the flaws shown below, we can calculate our next speed after an ABH (given that the jump is perfect and there is no angle change) with the equation below: The table below will show those thresholds and first ABH speeds if you sprint jump then enter the conditions listed and frame-perfectly do ABH's. The speed threshold is based on the state of the player when you jump. However if you are moving backwards when the game bounds your speed, the game will try to slow you down by adding backward speed, consequently accelerating you.Īs mentioned above, the amount of backward speed the game applies on you is based on your speed when you jump, so the faster you go, the more speed you'll get.īecause of this, you can accelerate extremely fast, much faster than bunnyhopping.ĪBHing and Bunnyhopping comparison chart, shows the speed gain on each jump (no sprint). When your speed is over the limit, by default the game assumes you are always moving forward so the game accelerate you backwards to reduce your speed down to the threshold. Binding +jump to mouse wheel or using a jumping script is recommended as it makes timing jumps a lot easier.ĪBH works due to Valve not accounting for the direction of the player's speed when capping it, thus leading to the directly opposite result of accelerating the player even further.īunnyhopping is capped if your speed on your jump exceeds a certain threshold. It's recommended not to hold S or W (or your respective keys for moving forwards and back) while ABHing. Jump forward, turn around in the air and jump right as you land. 2.2 How the game calculates and bounds your speed when bunnyhopping.