basic battle functionality complete