Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/MAFH2/Items.py
blob: 3c4cb2070fd96bc7d6405f6ba0adf32048b7f023 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
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()