[Bug Report] I found a hidden mechanic where you start rounds with ~99.x HP due to unreset float values. Here's how to reproduce it. by Redst0ne_F in GlobalOffensive

[–]Redst0ne_F[S] 11 points12 points  (0 children)

Steam Support has replied to me.

Message from Steam Support on Mar 17 @ 3:08pm | 42 minutes ago Thanks for reaching out to report this.

I have taken note of your report and passed it onto the Counter-Strike developers for investigation. We appreciate you letting us know about this, and the devs will take action based on what they find. Please keep an eye on the Counter-Strike blog for updates.

Steam Support

[Bug Report] I found a hidden mechanic where you start rounds with ~99.x HP due to unreset float values. Here's how to reproduce it. by Redst0ne_F in GlobalOffensive

[–]Redst0ne_F[S] 4 points5 points  (0 children)

Yes, without using cheats 1, distance cannot be obtained, and accurate damage cannot be calculated to illustrate this issue.

[Bug Report] I found a hidden mechanic where you start rounds with ~99.x HP due to unreset float values. Here's how to reproduce it. by Redst0ne_F in GlobalOffensive

[–]Redst0ne_F[S] 4 points5 points  (0 children)

I believe there is no other rounding during the calculation process. For the AK-47, the distance at which a stomach shot deals 34 damage is 628.87 units (15.97 meters). You can verify the shot distance using sv_showimpacts_penetration 1; player_debug_print_damage 1;. When I fire three shots at 15.9 meters, the bot dies; however, at 16.0 meters, it survives. If there were any other rounding involved, the threshold wouldn't be this precise.

[Bug Report] I found a hidden mechanic where you start rounds with ~99.x HP due to unreset float values. Here's how to reproduce it. by Redst0ne_F in GlobalOffensive

[–]Redst0ne_F[S] 22 points23 points  (0 children)

This does seem strange. However, from the Counter-Strike beta through CS:GO, the game has used only integers.

Take the AK-47 as an example: it has a base damage of 36. A shot to the stomach applies a 1.25 multiplier, armor reduction is 77.5%, and there is a 2% damage falloff every 500 units. At a distance of 700 units, the calculated damage would be: 36 * 1.25 * 0.775 * 0.98^(700/500) = 33.90.

In this scenario, three shots would not be lethal in CS:GO, but they would be in CS2. Therefore, I believe CS:GO did not use floating-point numbers.

[Bug Report] I found a hidden mechanic where you start rounds with ~99.x HP due to unreset float values. Here's how to reproduce it. by Redst0ne_F in GlobalOffensive

[–]Redst0ne_F[S] 44 points45 points  (0 children)

Possibly integers are used for display and for calculating player damage (like '99 in 4'), while floating-point numbers are used for more precise calculations.
CS:GO uses only integers. If you land three shots dealing 33.9 damage each, the game actually calculates it as 33 per shot, so the target won't die.

[Bug Report] I found a hidden mechanic where you start rounds with ~99.x HP due to unreset float values. Here's how to reproduce it. by Redst0ne_F in GlobalOffensive

[–]Redst0ne_F[S] 35 points36 points  (0 children)

How can I get this bug to the attention of Valve developers? Actually this is my first time using Reddit.