You are printing the message to 0, everyone, so that is why it says you got hit even though you did not get hit.
But why isn't the bot getting damaged? I'm shooting in the dark, but I'm guessing the forward would be called as many times as there are players in the radius, so just ignore the one time its called for you.
Shouldn't you be able to extract the id of the player that is supposed to be hit without this line?
Code:
new hit = engfunc(EngFunc_FindEntityInSphere,start,origin,radius)