Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--MAFH2/Dungeon.py3
-rw-r--r--MAFH2/Profile.py22
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))