def initialize(self): self.tutorial = False self.game_over = False self.battle = False self.story = False self.can_lose = False self.next_turn = True self.in_dungeon = False self.in_tower = False self.turn = 0 self.win_condition = "Death" self.tower = [] self.current_floor = "" self.loop = False player = Player(1, "Magicko") player.Inventory["Potion"] += 2 Narrator = Scene(player, self) Controller = Command(player, Narrator, self) self.Controller = Controller Narrator.Game_State = self Controller.screen = Narrator.screen Controller.line = Narrator.line player.screen = Narrator.screen player.line = Narrator.line #---------------------------------------------------------------------------------------------------------------------------------------- # Init Rooms #---------------------------------------------------------------------------------------------------------------------------------------- #Ground Floor ground_floor_candle = Interactable(["Candle", "Fire"]) ground_floor_candle.Commands = ["Fire", "Burn", "Light"] ground_floor_candle.Keys = [{ "Name": "Fire", "Value": False, "Type": "Spell", "Terms": ground_floor_candle.Commands }] ground_floor = Room("Tower Entrance", 5, [ground_floor_candle]) ground_floor.Solved = True ground_floor.Floor = 0 #Tower 1 Ice = Interactable(["Ice", "Door", "Fire"]) Ice.Commands = ["Fire", "Melt", "Burn"] Ice.Keys = [{ "Name": "Fire", "Value": False, "Type": "Spell", "Terms": Ice.Commands }] tower1 = Room("Cold Room", 8, [Ice]) tower1.Floor = 1 #Tower 2 Cauldron = Interactable(["Cauldron", "Water"]) Cauldron.Commands = ["Pour", "Water", "Fill"] Cauldron.Keys = [{ "Name": "Water", "Value": False, "Type": "Spell", "Terms": Cauldron.Commands }] tower2 = Room("Cauldron Room", 15, [Cauldron]) tower2.Floor = 2 #Tower 3 poison = Interactable(["Poison", "Gas", "Wind", "Air"]) poison.Commands = ["Wind", "Blow", "Clear"] poison.Keys = [{ "Name": "Wind", "Value": False, "Type": "Spell", "Terms": poison.Commands }] torch = Interactable(["Torch", "Fire"]) torch.Commands = ["Fire", "Light", "Burn", "Melt"] torch.Keys = [{ "Name": "Fire", "Value": False, "Type": "Spell", "Terms": torch.Commands }] tower3 = Room("Death Room", 26, [poison, torch]) tower3.Floor = 3 #Tower 4 circuit_board = Interactable( ["Circuit Board", "Lightning", "Board", "Circuits"]) circuit_board.Commands = [ "Lightning", "Shock", "Electricute", "Jump Start", "Kick Start", "Bolt", "Jolt" ] circuit_board.Keys = [{ "Name": "Lightning", "Value": False, "Type": "Spell", "Terms": circuit_board.Commands }] tower4 = Room("Generator Room", 31, [circuit_board]) tower4.Floor = 4 #Tower 5 tower5 = Room("Top of the Tower", 40, []) tower5.Floor = 5 #Dungeon 1 dungeon1 = Dungeon("Fire Dungeon", 7, [], 1, ["Fire", "Normal"], 5) #Dungeon 2 dungeon2 = Dungeon("Ice Dungeon", 41, [], 2, ["Ice", "Normal"], 6) #Dungeon 3 dungeon3 = Dungeon("Water Dungeon", 42, [], 3, ["Water", "Normal"], 7) #Dungeon 4 dungeon4 = Dungeon("Wind Dungeon", 43, [], 4, ["Wind", "Normal"], 8) #Dungeon 5 dungeon5 = Dungeon("Lightning Dungeon", 44, [], 5, ["Lightning", "Normal"], 9) dungeon5.bottom_floor = True self.tower = [ dungeon5, dungeon4, dungeon3, dungeon2, dungeon1, ground_floor, tower1, tower2, tower3, tower4, tower5 ] self.main_menu(player, Controller, Narrator)