Added visitor and attack visitor class to handle combat