# Randomly generates enemies def create_enemies(difficulty, mode, current_location, battles): # Clears enemies from the last battle enemies = [] # List of possible names for the enemies to use names = ["Aiden", "James", "Sam", "Aidan", "Brad", "Pavle", "Fuda", "David", "Andrew", "Harry", "Callum", "Tomasz", "Bazli", "Georgia", "Sheldon", "Legolas", "Aragorn", "Gimli", "Boromir", "Faramir", "Éomer", "Éowyn", "Treebeard", "Celeborn", "Galadrial", "Radagast", "Gandalf", "Merry", "Pippin", "Frodo", "Sam", "Bilbo", "Azog", "Gorkil", "Sharku", "Shagrat", "Gorbag", "Lurtz", "Tom Bombadil", "Goldberry"] # Randomly decides how many enemies there will be number_enemies = int(random.randint(2,5)) # 1 less enemy in Easy difficulty if difficulty == "e": number_enemies -= 1 # 1 more enemy in Hard difficulty elif difficulty == "h": number_enemies += 1 # 2 more enemies in Legendary difficulty elif difficulty == "l": number_enemies += 2 # The more battles you've had, the more enemies there will be number_enemies += int((battles/100)*30) # There will always be at least 2 enemies if not (number_enemies >= 2): number_enemies = 2 #Enemies are different at the boss battles if mode == 2 and current_location.evil_final == True: enemies = [Troll("Cave Troll"), Uruk("Uruk"), Wizard("Sauron"), Orc("Orc"), WargRider("Warg Rider"), Easterling("Easterling"), Goblin("Goblin 1"), Goblin("Goblin 2"), Goblin("Goblin 3")] elif mode == 1 and current_location.good_final == True: enemies = [Wizard("Gandalf"), Elf("Legolas"), Dwarf("Gimli"), Ranger("Aragorn"), Human("Boromir"), Hobbit("Frodo"), Hobbit("Sam"), Hobbit("Merry"), Hobbit("Pippin")] else: for z in range(number_enemies): if mode == 1: # Determines the class of the enemy # 1/4 Goblin, 1/4 Orc, 1/8 Uruk, 1/8 Easterling, 3/24 Warg Rider, 2/24, Wizard, 1/24 Troll enemy_class = random.randint(1, 24) if enemy_class in range(1,6): enemies.append(Goblin(names[random.randint(1,(len(names)-1))])) if enemy_class in range(7,12): enemies.append(Orc(names[random.randint(1,(len(names)-1))])) if enemy_class in range(13,15): enemies.append(Uruk(names[random.randint(1,(len(names)-1))])) if enemy_class in range(16,18): enemies.append(Easterling(names[random.randint(1,(len(names)-1))])) if enemy_class in range(19,21): enemies.append(WargRider(names[random.randint(1,(len(names)-1))])) if enemy_class in range(22,23): enemies.append(Wizard(names[random.randint(1,(len(names)-1))])) if enemy_class == 24: enemies.append(Troll(names[random.randint(1,(len(names)-1))])) if mode == 2: # Determines the class of the enemy # 1/4 Hobbit, 1/4 Human, 1/8 Elf, 1/8 Dwarf, 3/24 Ranger, 2/24 Wizard, 1/24 Ent enemy_class = random.randint(1, 24) if enemy_class in range(1,6): enemies.append(Hobbit(names[random.randint(1,(len(names)-1))])) if enemy_class in range(7,12): enemies.append(Human(names[random.randint(1,(len(names)-1))])) if enemy_class in range(13,15): enemies.append(Elf(names[random.randint(1,(len(names)-1))])) if enemy_class in range(16,18): enemies.append(Dwarf(names[random.randint(1,(len(names)-1))])) if enemy_class in range(19,21): enemies.append(Ranger(names[random.randint(1,(len(names)-1))])) if enemy_class in range(22,23): enemies.append(Wizard(names[random.randint(1,(len(names)-1))])) if enemy_class == 24: enemies.append(Ent(names[random.randint(1,(len(names)-1))])) return enemies