fight: take terrain defense into account