[Battle] Initial implementation