Bomb Radius (CSNades.app)

This tool was developed to provide detailed bomb damage information for CS players, visualizing how explosive damage distributes across maps for both armored and unarmored scenarios.
How I get info for calculations
With a good habit of Valve, you can find zero official information how this works, and vauge comments here and there (like this) that formula is straightforward. Detailed info provided by some guy that make cheats, doesnt sound like "simple formula":
so I only had to translate this to typescript and make inverted function to calculate radius for 0 damage and lethal 100 damage for armored and non-armored targets.
Things that was missing from current csnades.app setup
- translating mouse screen positions to ingame positions to display damage for current point (doesnt work for firefox because idk)
- tooltip for displaying damage near mouse
How I translate 2D mouse position on 2D image to 3D position on non-flat maps
Thankfully there is no so steep map in CS that taking into account height differences between points on same level, would make noticable difference.
There are maps with levels (overpass, nuke) where you have to select level to plant bomb on and then select level to see damage on.
Ideally I would:
- make 2D maps per map level for mapping 2D points to heights on map (still there are planes that overlays each other so what? make as many layers as max overlays are and display damage for each one at once).
- use 3D models of maps to raycast from mouse position to get 3D position.