Вы путаете классы с функциями.
Мне кажется, стоит сделать так:
class Person с методом hit(self, enemy, limb), где enemy - экземпляр Person, а дальше вы можете в методе описывать всю логику удара.
Соответственно Hero и Monster наследуются от Person, и в Hero определить метод fight, который спрашивал бы у пользователя куда и кого ударить, и испольовал бы self.hit(кого, куда).
В целом, не плодите много классов и наследований, а также пишите имена классов CamelCase'ом.