sharing battle logic