I liked your previous version better, with the "So-and-so wins" part after the loop. In that version you needed to change the || to an &&. But there was/is another problem. In general you shouldn't test floating point values for equality. It's better to test them for <= 0 instead of == 0. Since you're subtracting random values from 0 to 0.25 it's unlikely to become exactly zero.
Also note that your output strings both say "humans win".
And you can set the initial random seed using random_device instead of time if you want:
Thank you I will remember not to use equality to compare floating point value to exactly 0. I followed suggestions and the program does indeed work.
The reason I was using || is because in my head I wanted it to break out of the loop as soon as either one reaches 0 health. it sounded good in my head but didn't work code wise.
Nevermind I'm an idiot I thought about it again and see exactly why or operator wouldn't work. I was thinking about English phrase "If either one reaches 0 health, break out of loop" either one means to use "or" in my brain.