def __init__(self, name, description, greetings): """ Initialize Tower of Cirith Ungol. @param name: The name of the UniquePlace. @param description: A description of the UniquePlace. @param greetings: The greetings the user gets as he enters. """ #Call parent class init function UniquePlace.__init__(self, name, description, greetings) self._wave = [] self._wave2 = [] #Create monster wave #1 monster = Shelob(constants.MONSTER_STATS[Shelob]) self._wave.append(monster) #Create monster wave #2 for monster in range(15): monster = Orc_II(constants.MONSTER_STATS[Orc_II]) self._wave2.append(monster) for monster in range(6): monster = OrcArcher_II(constants.MONSTER_STATS[OrcArcher_II]) self._wave2.append(monster)
def __init__(self, name, description, greetings): """ Initializes Minas Morgul. @param name: The name of the UniquePlace. @param description: A description of the UniquePlace. @param greetings: The greetings the user gets as he enters. """ #Call parent class init function UniquePlace.__init__(self, name, description, greetings) self._wave = [] self._wave2 = [] self._wave3 = [] #Create monster wave #1 for monster in range(13): monster = Orc_II(constants.MONSTER_STATS[Orc_II]) self._wave.append(monster) for monster in range(8): monster = OrcArcher_II(constants.MONSTER_STATS[OrcArcher_II]) self._wave.append(monster) for monster in range(7): monster = Troll_II(constants.MONSTER_STATS[Troll_II]) self._wave.append(monster) #Create monster wave #2 for monster in range(8): monster = Nazgul_III(constants.MONSTER_STATS[Nazgul_III]) self._wave2.append(monster) monster = WitchKing(constants.MONSTER_STATS[WitchKing]) self._wave2.append(monster) #Create monster wave #3 for monster in range(7): monster = Orc_II(constants.MONSTER_STATS[Orc_II]) self._wave3.append(monster) for monster in range(3): monster = OrcArcher_II(constants.MONSTER_STATS[OrcArcher_II]) self._wave3.append(monster) for monster in range(4): monster = Nazgul_III(constants.MONSTER_STATS[Nazgul_III]) self._wave3.append(monster) #Create loot description = "Seems to have a mind of its own" weapon = Weapon("Morgul Blade", description, 6, 32, 18) description = "Rusted over" weapon2 = Weapon("Morgul Blade", description, 6, 18 ,16) description = "Completely useless" armor = Armor("Rotting Shield", description, 4, 6, 12) description = "Too small for a human" armor2 = Armor("Travel Boots", description, 4, 4, 1) description = "Strange ingredients" potion = Potion("Orcish Tea", description, 2, 0, -15) description = "Questionable health value" potion2 = Potion("Orcish Tea", description, 2, 0, -20) description = "Potential resale value" item = Item("Orcish Banister", description, 5, 42) self._loot = [weapon, weapon2, armor, armor2, potion, potion2, item]
def __init__(self, name, description, greetings): """ Initializes Tharbad. @param name: The name of the UniquePlace. @param description: A description of the UniquePlace. @param greetings: The greetings the user gets as he enters. """ #Call parent class init function UniquePlace.__init__(self, name, description, greetings) #Generates list of Nazgul that user may fight self._monsters = [] numberNazgul = random.randrange(1, 5) for monster in range(numberNazgul): nazgul = Nazgul_II(constants.MONSTER_STATS[Nazgul_II]) self._monsters.append(nazgul) #Generate loot description = "Ancient runes and symbols" scroll = Item("Ancient Scroll", description, 1, 32) description = "Looks like it can break at any second" weapon = Weapon("Rotting Staff", description, 6, 3, 4) description = "Maybe one or two hits and it's through" armor = Armor("Rotting Shield", description, 4, 2, 1) self._loot = [scroll, weapon, armor]
def __init__(self, name, description, greetings): """ Initializes Dol Guldur. @param name: The name of the UniquePlace. @param description: A description of the UniquePlace. @param greetings: The greetings the user gets as he enters. """ #Call parent class init function UniquePlace.__init__(self, name, description, greetings) self._wave = [] self._wave2 = [] self._wave3 = [] #Create monster wave #1 for monster in range(11): monster = Orc(constants.MONSTER_STATS[Orc]) self._wave.append(monster) for monster in range(10): monster = OrcArcher(constants.MONSTER_STATS[OrcArcher]) self._wave.append(monster) for monster in range(7): monster = Troll(constants.MONSTER_STATS[Troll]) self._wave.append(monster) #Create monster wave #2 numberNazgul = random.randrange(0, 8) for monster in range(numberNazgul): nazgul = Nazgul_II(constants.MONSTER_STATS[Nazgul_II]) self._wave2.append(nazgul) if random.random() < constants.DOL_GULDUR_WITCH_KING_PROB: witchKing = WitchKing(constants.MONSTER_STATS[WitchKing]) self._wave2.append(witchKing) for monster in range(8): monster = BlackNumernorian(constants.MONSTER_STATS[BlackNumernorian]) self._wave2.append(monster) #Create monster wave #3 numberNazgul = random.randrange(0, 8) for monster in range(numberNazgul): nazgul = Nazgul_II(constants.MONSTER_STATS[Nazgul_II]) self._wave3.append(nazgul) for monster in range(6): monster = BlackNumernorian(constants.MONSTER_STATS[BlackNumernorian]) self._wave3.append(monster) self._wave3.append(monster) #Create loot weapon = Weapon("Cursed Sword", "Fills you with fear", 5, 18, 18) weapon2 = Weapon("Cursed Axe", "You lose confidence holding this", 5, 22, 16) armor = Armor("Cursed Shield", "Gaping holes", 5, 12, 1) potion = Potion("Cursed Elixir", "An unknown substance", 2, 0, -10) item = Item("Cursed Mirror", "Odd distortions and shadows", 6, 18) item2 = Item("Cursed Books", "Grimoires", 4, 72) self._loot = [weapon, weapon2, armor, potion, item, item2]
def __init__(self, name, description, greetings): """ Initializes Argonath. @param name: The name of the UniquePlace. @param description: A description of the UniquePlace. @param greetings: The greetings the user gets as he enters. """ #Call parent class init function UniquePlace.__init__(self, name, description, greetings)
def __init__(self, name, description, greetings): """ Initializes Isenmouthe. @param name: The name of the UniquePlace. @param description: A description of the UniquePlace. @param greetings: The greetings the user gets as he enters. """ #Call parent class init function UniquePlace.__init__(self, name, description, greetings) self._wave = [] self._wave2 = [] #Create monster wave #1 for monster in range(14): monster = Orc_II(constants.MONSTER_STATS[Orc_II]) self._wave.append(monster) for monster in range(7): monster = OrcArcher_II(constants.MONSTER_STATS[OrcArcher_II]) self._wave.append(monster) for monster in range(6): monster = Troll_II(constants.MONSTER_STATS[Troll_II]) self._wave.append(monster) for monster in range(3): monster = BlackNumernorian_II(constants.MONSTER_STATS[BlackNumernorian_II]) self._wave.append(monster) #Create monster wave #2 for monster in range(5): monster = Orc_II(constants.MONSTER_STATS[Orc_II]) self._wave2.append(monster) for monster in range(4): monster = OrcArcher_II(constants.MONSTER_STATS[OrcArcher_II]) self._wave2.append(monster) for monster in range(2): monster = Troll_II(constants.MONSTER_STATS[Troll_II]) self._wave2.append(monster) for monster in range(5): monster = BlackNumernorian_II(constants.MONSTER_STATS[BlackNumernorian_II]) self._wave2.append(monster) for monster in range(4): monster = Nazgul_III(constants.MONSTER_STATS[Nazgul_III]) self._wave2.append(monster) monster = MouthOfSauron(constants.MONSTER_STATS[MouthOfSauron]) self._wave2.append(monster) #Create loot weapon = Weapon("Troll Hammer", "Enormous and unwieldy", 18, 42, 20) armor = Armor("Troll Shield", "Enormous and unwieldy", 14, 36, 2) potion = Potion("Orc Draught", "Disgusting", 2, 0, -15) potion2 = Potion("Orc Draught", "Potentially toxic", 2, 0, -20) item = Item("Orcish Banister", "Potential resale value", 5, 14) item2 = Item("Screw and bolts", "Useless", 2, 4) self._loot = [weapon, armor, potion, potion2, item, item2]
def __init__(self, name, description, greetings): """ Initializes Isenguard. @param name: The name of the UniquePlace. @param description: A description of the UniquePlace. @param greetings: The greetings the user gets as he enters. """ #Call parent class init function UniquePlace.__init__(self, name, description, greetings) #Create three waves of monsters self._wave = [] self._wave2 = [] self._wave3 = [] #Create monster wave #1 for monster in range(6): urukHai = UrukHai(constants.MONSTER_STATS[UrukHai]) self._wave.append(urukHai) for monster in range(3): urukHaiArcher = UrukHaiArcher(constants.MONSTER_STATS[UrukHaiArcher]) self._wave.append(urukHaiArcher) #Create monster wave #2 for monster in range(10): eliteUrukHai = EliteUrukHai(constants.MONSTER_STATS[EliteUrukHai]) self._wave2.append(eliteUrukHai) for monster in range(4): urukHaiArcher = UrukHaiArcher(constants.MONSTER_STATS[UrukHaiArcher]) self._wave2.append(urukHaiArcher) #Create monster wave #3 - elite Uruk Hai have increased stats BONUS = 3 increasedStats = [] for stat in constants.MONSTER_STATS[EliteUrukHai]: increasedStats.append(stat * BONUS) for monster in range(2): eliteUrukHai = EliteUrukHai(increasedStats) self._wave3.append(eliteUrukHai) #Create Sauroman sauroman = Sauroman(constants.MONSTER_STATS[Sauroman]) self._wave3.append(sauroman) #Spawn loot description = ("Two gigantic black keys needed to gain entry to the" " Tower of Orthanc") keysOfOrthanc = Item("Keys to Orthanc", description, 1, 104) palatir = Item("Palatir", "Stones of Seeing", 6, 112) self._loot = [keysOfOrthanc, palatir]
def __init__(self, name, description, greetings): """ Initializes Tom Bombadil's House. @param name: The name of the UniquePlace. @param description: A description of the UniquePlace. @param greetings: The greetings the user gets as he enters. """ #Call parent class init function UniquePlace.__init__(self, name, description, greetings) #Spawn loot description = "Has a secret, sharpened edge" weapon = Weapon("Walking Cane", description, 4, 2, 2) description = "Contains rare herbs" potion = Potion("Forest Tonic", description, 1, 4, 6) self._gift = [weapon, potion]
def __init__(self, name, description, greetings): """ Initializes Weathertop. @param name: The name of the UniquePlace. @param description: A description of the UniquePlace. @param greetings: The greetings the user gets as he enters. """ # Call parent class init function UniquePlace.__init__(self, name, description, greetings) # Generates Nazgul wave self._monsters = [] numberNazgul = random.randrange(1, 8) for monster in range(numberNazgul): nazgul = Nazgul(constants.MONSTER_STATS[Nazgul]) self._monsters.append(nazgul)
def __init__(self, name, description, greetings): """ Initializes Derningle. @param name: The name of the UniquePlace. @param description: A description of the UniquePlace. @param greetings: The greetings the user gets as he enters. """ #Call parent class init function UniquePlace.__init__(self, name, description, greetings) #Create gift self._gift = [] description = ("A mysterious elixir with extremely powerful" " nourishing properties") for potion in range(3): potion = Potion("Ent Draught", description, 2, 42, 100) self._gift.append(potion)
def __init__(self, name, description, greetings): """ Initializes GoblinTown. @param name: The name of the UniquePlace. @param description: A description of the UniquePlace. @param greetings: The greetings the user gets as he enters. """ #Call parent class init function UniquePlace.__init__(self, name, description, greetings) #Spawn loot description = "Good for goblins, terrible for humans" weapon = Weapon("Goblin Blade", description, 3, 5, 6) description = "Stolen from Erebor" weapon2 = Weapon("Dwarven Axe", description, 4, 8, 12) description = "Looks Gondorian... represents stolen goods" weapon3 = Weapon("Poleaxe", description, 6, 12, 14) self._loot = [weapon, weapon2, weapon3] #Create three monster waves self._wave = [] self._wave2 = [] self._wave3 = [] #Create monster wave #1 for monster in range(2): monster = Goblin(constants.MONSTER_STATS[Goblin]) self._wave.append(monster) #Create monster wave #2 for monster in range(8): monster = Goblin(constants.MONSTER_STATS[Goblin]) self._wave2.append(monster) #Create monster wave #3 for monster in range(4): monster = Goblin(constants.MONSTER_STATS[Goblin]) self._wave3.append(monster) monster = GreatGoblin(constants.MONSTER_STATS[GreatGoblin]) self._wave3.append(monster) #Create monster wave #4 self._wave4 = self._wave + self._wave2 + self._wave3
def __init__(self, name, description, greetings): """ Initializes Moria. @param name: The name of the UniquePlace. @param description: A description of the UniquePlace. @param greetings: The greetings the user gets as he enters. """ #Call parent class init function UniquePlace.__init__(self, name, description, greetings) #Initializing danger tracker self._danger = 0 #Strings for low-risk activity self._sneakString = [("You continue through narrow halls," " seeking to avoid detection...."), "You creep by an rotting library....", "You creep down a mine shaft....", "You sneak through some ancient tunnels....", "You creep through a maze of machinery....", "You sneak past a series of corpses....", "You sneak past some strange glyphs...."] #Strings for neutral activity self._neutralString = [("You find the staircase littered with the" " corpses of dwarven warriors."), "You pass an enormous mine shaft.", "You appear to be lost and turn back around.", "You find yourself in an enormous hall, ending an a winding staircase.", "You pass by what used to be a meeting place.", "You trust your gut in making a series of turns.", "You find yourself trapped and needing to turn around."] #Strings for battle encounter self._encounterString = ["You hear some footsteps....", "You think you see some shadows moving....", "You hear a series of agitated grunting....", "You see shadows darting along in the distance....", "You hear whispers in the darkness...."] #Strings if player is running from monsters self._runString = ["You run over some rotting corpses!", "You run past an spiral staircase!", "You dart along some minecarts!", "You dash along a hall of columns!", "You dash along a large mine shaft!", "You dart past some ancient tombs!", "You climb over a pile of rubble!"] #Spawn loot description = "Taken from a slain dwarven warrior" weapon = Weapon("Rusty Axe", description, 6, 8, 12) description = "Worker's mallet" weapon2 = Weapon("Dwarven Hammer", description, 10, 12, 16) description = "Steeped in history" weapon3 = Weapon("Aeowyln", description, 8, 22, 18) description = "Historical significance" weapon4 = Weapon("Durnhelm", description, 4, 18, 3) description = "Old but still effective" armor = Armor("Iron Cap", description, 3, 4, 1) description = "May increase magic find" armor2 = Armor("Boots of Travel", description, 2, 8, 2) description = "One of Middle Earth's rarest metals" item = Item("Mithril", description, 0, 84) description = "Magical properties?" item2 = Item("Ancient Runes", description, 2, 42) self._loot = [weapon, weapon2, weapon3, weapon4, armor, armor2, item, item2]
def __init__(self, name, description, greetings): """ Initialize Barad Dur. @param name: The name of the UniquePlace. @param description: A description of the UniquePlace. @param greetings: The greetings the user gets as he enters. """ #Call parent class init function UniquePlace.__init__(self, name, description, greetings) self._wave = [] self._wave2 = [] self._wave3 = [] self._wave4 = [] self._wave5 = [] #Create monster wave #1 for monster in range(12): monster = Orc_II(constants.MONSTER_STATS[Orc_II]) self._wave.append(monster) for monster in range(7): monster = OrcArcher_II(constants.MONSTER_STATS[OrcArcher_II]) self._wave.append(monster) for monster in range(5): monster = Troll_II(constants.MONSTER_STATS[Troll_II]) self._wave.append(monster) for monster in range(3): monster = BlackNumernorian_II(constants.MONSTER_STATS[BlackNumernorian_II]) self._wave.append(monster) #Create monster wave #2 for monster in range(15): monster = Orc_II(constants.MONSTER_STATS[Orc_II]) self._wave2.append(monster) for monster in range(6): monster = OrcArcher_II(constants.MONSTER_STATS[OrcArcher_II]) self._wave2.append(monster) for monster in range(10): monster = Troll_II(constants.MONSTER_STATS[Troll_II]) self._wave2.append(monster) for monster in range(4): monster = BlackNumernorian_II(constants.MONSTER_STATS[BlackNumernorian_II]) self._wave2.append(monster) #Create monster wave #3 for monster in range(5): monster = BlackNumernorian_II(constants.MONSTER_STATS[BlackNumernorian_II]) self._wave3.append(monster) monster = MouthOfSauron(constants.MONSTER_STATS[MouthOfSauron]) self._wave3.append(monster) #Create monster wave #4 for monster in range(8): monster = Nazgul_III(constants.MONSTER_STATS[Nazgul_III]) self._wave4.append(monster) monster = WitchKing(constants.MONSTER_STATS[WitchKing]) self._wave4.append(monster) #Create monster wave #5 for monster in range(14): monster = DragonOfMordor(constants.MONSTER_STATS[DragonOfMordor]) self._wave5.append(monster) #Create loot potion = Potion("Hyper Potion", "Extreme healing qualities", 2, 112, 500) potion2 = Potion("Super Potion", "Medium healing qualities", 2, 76, 350) potion3 = Potion("Dragon Milk", "Healing qualities", 2, 142, 1000) item = Item("Masterball", "Can catch any Pokemon", 4, 272) item2 = Item("Moonstone", "Evolves normal Pokemon", 6, 196) item3 = Item("Nugget", "High resale value", 12, 5000) self._loot = [potion, potion2, potion3, item, item2, item3]
def __init__(self, name, description, greetings): """ Initialize UniquePlace object. @param name: The name of the UniquePlace. @param description: A description of the UniquePlace. @param greetings: The greetings the user gets as he enters. """ #Call parent class init function UniquePlace.__init__(self, name, description, greetings) self._wave = [] self._wave2 = [] self._wave3 = [] self._wave4 = [] #Create monster wave #1 for monster in range(11): monster = Orc_II(constants.MONSTER_STATS[Orc_II]) self._wave.append(monster) for monster in range(6): monster = OrcArcher_II(constants.MONSTER_STATS[OrcArcher_II]) self._wave.append(monster) for monster in range(6): monster = Troll_II(constants.MONSTER_STATS[Troll_II]) self._wave.append(monster) for monster in range(2): monster = BlackNumernorian_II(constants.MONSTER_STATS[BlackNumernorian_II]) self._wave.append(monster) #Create monster wave #2 for monster in range(12): monster = Orc_II(constants.MONSTER_STATS[Orc_II]) self._wave2.append(monster) for monster in range(6): monster = OrcArcher_II(constants.MONSTER_STATS[OrcArcher_II]) self._wave2.append(monster) for monster in range(8): monster = Troll_II(constants.MONSTER_STATS[Troll_II]) self._wave2.append(monster) for monster in range(4): monster = BlackNumernorian_II(constants.MONSTER_STATS[BlackNumernorian_II]) self._wave2.append(monster) for monster in range(9): monster = Nazgul_III(constants.MONSTER_STATS[Nazgul_III]) self._wave2.append(monster) #Create monster wave #3 for monster in range(6): monster = BlackNumernorian_II(constants.MONSTER_STATS[BlackNumernorian_II]) self._wave3.append(monster) monster = MouthOfSauron(constants.MONSTER_STATS[MouthOfSauron]) self._wave3.append(monster) #Create monster wave #4 for monster in range(8): monster = Orc_II(constants.MONSTER_STATS[Orc_II]) self._wave4.append(monster) for monster in range(5): monster = OrcArcher_II(constants.MONSTER_STATS[OrcArcher_II]) self._wave4.append(monster) for monster in range(3): monster = Troll_II(constants.MONSTER_STATS[Troll_II]) self._wave4.append(monster) for monster in range(4): monster = BlackNumernorian_II(constants.MONSTER_STATS[BlackNumernorian_II]) self._wave4.append(monster) #Create loot weapon = Weapon("Orcish Knife", "Jagged and old", 4, 12, 8) armor = Armor("Rotting Boots", "Completely useless", 4, 0, 0) potion = Potion("Orc Draught", "May contain human flesh", 2, 0, -15) potion2 = Potion("Orc Draught", "Basically the orcish version of Gatorade", 2, 0, -10) item = Item("Orcish Pillow", "Basically, a rock", 3, 0) item2 = Item("Orcish Blankets", "For slumber parties", 4, 2) self._loot = [weapon, armor, potion, potion2, item, item2]