diff options
-rw-r--r-- | MAFH.activity/Items.py | 70 | ||||
-rw-r--r-- | MAFH2/Dungeon.py | 30 | ||||
l--------- | MAFH2/Items.py | 1 |
3 files changed, 65 insertions, 36 deletions
diff --git a/MAFH.activity/Items.py b/MAFH.activity/Items.py index bb2061d..ca025ba 100644 --- a/MAFH.activity/Items.py +++ b/MAFH.activity/Items.py @@ -3,44 +3,44 @@ from gettext import gettext as _ class InvalidItemException(Exception): pass WEAPONS = { - '1':{'name':_("Ancient Amulet"),'power':3}, - '2':{'name':_("Rusted Blade"),'power':9}, - '3':{'name':_("Great Sword"),'power':15}, - '4':{'name':_("Crescent Sword"),'power':25}, - '5':{'name':_("Cardinal"),'power':35}, - '6':{'name':_("Sun Moon"),'power':50} + '1':{'name':_("Ancient Amulet"),'power':3,'path':'Weapon.gif'}, + '2':{'name':_("Rusted Blade"),'power':9,'path':'Weapon.gif'}, + '3':{'name':_("Great Sword"),'power':15,'path':'Weapon.gif'}, + '4':{'name':_("Crescent Sword"),'power':25,'path':'Weapon.gif'}, + '5':{'name':_("Cardinal"),'power':35,'path':'Weapon.gif'}, + '6':{'name':_("Sun Moon"),'power':50,'path':'Weapon.gif'} } ARMOR = { - '7':{'name':_("Earth Vest"),'power':8}, - '8':{'name':_("Wind Breaker"),'power':15}, - '9':{'name':_("Flame Leggings"),'power':25}, - 'a':{'name':_("Dark Cowl"),'power':35}, - 'b':{'name':_("Celestial Armor"),'power':50} + '7':{'name':_("Earth Vest"),'power':8,'path':'Armor.gif'}, + '8':{'name':_("Wind Breaker"),'power':15,'path':'Armor.gif'}, + '9':{'name':_("Flame Leggings"),'power':25,'path':'Armor.gif'}, + 'a':{'name':_("Dark Cowl"),'power':35,'path':'Armor.gif'}, + 'b':{'name':_("Celestial Armor"),'power':50,'path':'Armor.gif'} } ACCESSORY = { - 'c':{'name':_("Jewel Shard"),'power':10}, - 'd':{'name':_("Broken Hourglass"),'power':10}, - 'e':{'name':_("Radiant Vial"),'power':20}, - 'f':{'name':_("Honor Tome"),'power':.2}, - 'g':{'name':_("Valor Tome"),'power':.2} + 'c':{'name':_("Jewel Shard"),'power':10,'path':'noItem.gif'}, + 'd':{'name':_("Broken Hourglass"),'power':10,'path':'noItem.gif'}, + 'e':{'name':_("Radiant Vial"),'power':20,'path':'noItem.gif'}, + 'f':{'name':_("Honor Tome"),'power':.2,'path':'noItem.gif'}, + 'g':{'name':_("Valor Tome"),'power':.2,'path':'noItem.gif'} } USABLE = { - 'h':{'name':_("Ruby"),'sell':500}, - 'i':{'name':_("Sapphire"),'sell':500}, - 'j':{'name':_("Emerald"),'sell':500}, - 'k':{'name':_("Diamond"),'sell':500}, - 'l':{'name':_("Remedy"),'sell':6,'buy':20,'power':.30}, - 'm':{'name':_("Elixir"),'sell':15,'buy':60,'power':.5}, - 'n':{'name':_("Panacea"),'sell':50,'buy':100,'power':1.0}, - 'o':{'name':_("High Elixir"),'sell':30,'buy':300,'power':.65}, - 'p':{'name':_("Nostrum"),'sell':100,'buy':200,'power':.75}, + 'h':{'name':_("Ruby"),'sell':500,'path':'Ruby.gif'}, + 'i':{'name':_("Sapphire"),'sell':500,'path':'Sapphire.gif'}, + 'j':{'name':_("Emerald"),'sell':500,'path':'Emerald.gif'}, + 'k':{'name':_("Diamond"),'sell':500,'path':'Diamond.gif'}, + 'l':{'name':_("Remedy"),'sell':6,'buy':20,'power':.30,'path':'Remedy.gif'}, + 'm':{'name':_("Elixir"),'sell':15,'buy':60,'power':.5,'path':'Elixir.gif'}, + 'n':{'name':_("Panacea"),'sell':50,'buy':100,'power':1.0,'path':'Panacea.gif'}, + 'o':{'name':_("High Elixir"),'sell':30,'buy':300,'power':.65,'path':'High Elixir.gif'}, + 'p':{'name':_("Nostrum"),'sell':100,'buy':200,'power':.75,'path':'Nostrum.gif'}, } KEYS = { - 'q':{'name':_("Small Key")}, - 'r':{'name':_("Big Key")} + 'q':{'name':_("Small Key"),'path':'Small Key.gif'}, + 'r':{'name':_("Big Key"),'path':'Big Key.gif'} } SPECIAL = { @@ -48,33 +48,34 @@ SPECIAL = { } class Item: - def __init__(self, name, id, type): + def __init__(self, name, id, type, path='noItem.gif'): self.name = name self.id = id self.type = type self.power=0 self.buyVal=0 + self.path=path self.sellVal=1 self.hidden=False self.battle=False class Key(Item): def __init__(self, key): - Item.__init__(self, KEYS[key]['name'], key, 'key') + Item.__init__(self, KEYS[key]['name'], key, 'key', KEYS[key]['path']) class Weapon(Item): def __init__(self, key): - Item.__init__(self, WEAPONS[key]['name'], key, 'Weapon') + Item.__init__(self, WEAPONS[key]['name'], key, 'Weapon', WEAPONS[key]['path']) self.power = WEAPONS[key]['power'] class Armor(Item): def __init__(self, key): - Item.__init__(self, ARMOR[key]['name'], key, 'Armor') + Item.__init__(self, ARMOR[key]['name'], key, 'Armor', ARMOR[key]['path']) self.power = ARMOR[key]['power'] class Usable(Item): def __init__(self, key): - Item.__init__(self, USABLE[key]['name'], key, 'Usable') + Item.__init__(self, USABLE[key]['name'], key, 'Usable', USABLE[key]['path']) if USABLE[key].has_key( 'sell' ): self.sellVal = USABLE[key]['sell'] @@ -87,13 +88,12 @@ class Usable(Item): class Accessory(Item): def __init__(self, key): - Item.__init__(self, ACCESSORY[key]['name'], key, 'Accessory') + Item.__init__(self, ACCESSORY[key]['name'], key, 'Accessory', ACCESSORY[key]['path']) self.power = ACCESSORY[key]['power'] class Special(Item): def __init__(self, key): - Item.__init__(self, SPECIAL[key]['name'], key, 'Special') - + Item.__init__(self, SPECIAL[key]['name'], key, 'Special', SPECIAL[key]['path']) def get_item(key): if key in WEAPONS: diff --git a/MAFH2/Dungeon.py b/MAFH2/Dungeon.py index 41126e7..546afa3 100644 --- a/MAFH2/Dungeon.py +++ b/MAFH2/Dungeon.py @@ -5,6 +5,7 @@ from gettext import gettext as _ from GameEngine import GameEngineElement from Room import Room +from Items import get_item from constants import ( MAP_PATH, ENV_PATH, RIGHT, LEFT, NORTH, SOUTH, EAST, WEST, UNLOCKED_DOOR, LOCKED_DOOR, PUZZLE_DOOR, LOCKED_PUZZLE_DOOR, @@ -165,6 +166,33 @@ class Dungeon(GameEngineElement): def draw(self, screen): profile = self.game_engine.get_object('profile') dir = profile.playerFacing - door_cfg = self.rooms[profile.position].door_str( dir ) + current_room = self.rooms[profile.position] + # Draw background + door_cfg = current_room.door_str( dir ) screen.blit(self.__images[door_cfg],(0,0,1200,700)) + + # Draw Items + img_list = [] + + for i in range( dir, (dir + 4) ): + + #imod for room rotation + imod = i % 4 + + item_key = current_room.get_item( imod ) + + if item_key[0] == '0': + path = "noItem.gif" + else: + path = get_item( item_key[0] ).path + + if not self.__images.has_key( path ): + self.__images[path] = pygame.image.load(ENV_PATH + path) + + img_list.append( self.__images[path] ) + + screen.blit(img_list[0],(270,330,50,50)) + screen.blit(img_list[1],(100,600,50,50)) + screen.blit(img_list[2],(1100,600,50,50)) + screen.blit(img_list[3],(900,330,50,50)) diff --git a/MAFH2/Items.py b/MAFH2/Items.py new file mode 120000 index 0000000..aedca8d --- /dev/null +++ b/MAFH2/Items.py @@ -0,0 +1 @@ +../MAFH.activity/Items.py
\ No newline at end of file |