def boss_battle(self): enemy = Boss() print( "\nBefore you stands a creature of unknown origin. \nYou struggle to make out its composition \nbut by the stench alone you know that it must be dealt with.\n\n" ) if enemy.level < self.level: level_diff = (self.level - enemy.level) enemy.level = self.level enemy.health += round((enemy.health * .45) * level_diff) enemy.power += round((enemy.power * .55) * level_diff) while enemy.is_alive() and self.is_alive(): print("\n") self.status() enemy.status() print() print("What do you want to do?") print(f"1. fight {enemy}") print("2. do nothing") print("3. flee") user_input = input("> ") if user_input == "1": # Hero attacks goblin self.attack(enemy) enemy.attack(self) print('\n') if enemy.is_alive() != True: enemy.death_message() self.get_exp() self.status() if self.is_alive() != True: self.death_message() quit() enemy.is_alive() elif user_input == "2": enemy.attack(self) if enemy.is_alive() != True: enemy.death_message() if self.is_alive() != True: self.death_message() quit() elif user_input == "3": print("Goodbye.") break else: print("Invalid input %r" % user_input)