Use exponential squaring in kill_defenders()

Also prevent kill_defenders() from being called if
hp_remaining != hp, since this is invalid.