diff options
Diffstat (limited to 'MAFH2/Items.py')
-rw-r--r--[l---------] | MAFH2/Items.py | 113 |
1 files changed, 112 insertions, 1 deletions
diff --git a/MAFH2/Items.py b/MAFH2/Items.py index aedca8d..3c4cb20 120000..100644 --- a/MAFH2/Items.py +++ b/MAFH2/Items.py @@ -1 +1,112 @@ -../MAFH.activity/Items.py
\ No newline at end of file +from gettext import gettext as _ + +class InvalidItemException(Exception): pass + +WEAPONS = { + '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,'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,'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,'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"),'path':'Small Key.gif'}, + 'r':{'name':_("Big Key"),'path':'Big Key.gif'} +} + +SPECIAL = { + 's':{'name':_("Calculator"),'path':'noItem.gif'} +} + +class Item: + 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', KEYS[key]['path']) + +class Weapon(Item): + def __init__(self, key): + 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', ARMOR[key]['path']) + self.power = ARMOR[key]['power'] + +class Usable(Item): + def __init__(self, key): + Item.__init__(self, USABLE[key]['name'], key, 'Usable', USABLE[key]['path']) + + if USABLE[key].has_key( 'sell' ): + self.sellVal = USABLE[key]['sell'] + + if USABLE[key].has_key( 'buy' ): + self.buyVal = USABLE[key]['buy'] + + if USABLE[key].has_key( 'power' ): + self.power = USABLE[key]['power'] + +class Accessory(Item): + def __init__(self, key): + 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', SPECIAL[key]['path']) + +def get_item(key): + if key in WEAPONS: + return Weapon( key ) + elif key in ARMOR: + return Armor( key ) + elif key in ACCESSORY: + return Accessory( key ) + elif key in USABLE: + return Usable( key ) + elif key in KEYS: + return Key( key ) + elif key in SPECIAL: + return Special( key ) + else: + raise InvalidItemException() |