1)
Means do you use floatsub() to take life from the damaged player ?
You can't substract floats with a simple -.
Unless you meddled in float.inc and deleted some stuff, using the standard operators works perfectly fine. The operators are overloaded to call their respective functions.