diff options
-rw-r--r-- | MAFH2/Dungeon.py | 3 | ||||
-rw-r--r-- | MAFH2/Profile.py | 22 |
2 files changed, 22 insertions, 3 deletions
diff --git a/MAFH2/Dungeon.py b/MAFH2/Dungeon.py index 858febc..8322107 100644 --- a/MAFH2/Dungeon.py +++ b/MAFH2/Dungeon.py @@ -170,8 +170,7 @@ class Dungeon(GameEngineElement): door_flag = self.rooms[profile.position].get_door( dc ) if door_flag == EXIT_DOOR or door_flag == ENTRANCE_DOOR: if self.move_permissions( door_flag ): - # TODO: Next Dungeon - pass + self.game_engine.get_object('profile').next_dungeon() def check_for_enemies(self): current_room = self.get_current_room() diff --git a/MAFH2/Profile.py b/MAFH2/Profile.py index ad9abab..10ed89c 100644 --- a/MAFH2/Profile.py +++ b/MAFH2/Profile.py @@ -3,7 +3,8 @@ import pygame from fortuneengine.GameEngineElement import GameEngineElement from constants import MENU_PATH, NORTH, RIGHT, LEFT from Hero import Hero - +from Dungeon import Dungeon +from Items import Key from gettext import gettext as _ class Profile(GameEngineElement): @@ -37,6 +38,17 @@ class Profile(GameEngineElement): self.name_cb = name_entry_cb self.add_to_engine() + def next_dungeon(self): + self.position = (-1, -1) + self.playerFacin = NORTH + + d = self.game_engine.get_object('dungeon') + self.dungeon_id = d.next + d.remove_from_engine() + self.game_engine.remove_object('dungeon') + self.game_engine.add_object('dungeon', Dungeon( self.dungeon_id )) + self.remove_keys() + def load_from_json_string( self, recall_string ): print "TO BE IMPLEMENTED" @@ -66,6 +78,14 @@ class Profile(GameEngineElement): def give_item(self, item): self.inventory.append(item) + def remove_keys(self): + i = 0 + new_inv = [] + for item in self.inventory: + if not isinstance(item, Key): + new_inv.append(item) + self.inventory = new_inv + def add_to_engine(self): bg = pygame.image.load(MENU_PATH+"mafh_splash.gif").convert() self.background_img = pygame.transform.scale(bg, (self.game_engine.width, self.game_engine.height)) |