summaryrefslogtreecommitdiff
path: root/src/mmo/ids.py
blob: a98920f013c47e371754fcf58e8de94074fd1e15 (plain) (blame)
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
for s in [
        'Species',
        'AccountId',
        'CharId',
        'PartyId',
        'ItemNameId',
        'BlockId',
        'QuestId',
]:
    class OtherId(object):
        __slots__ = ('_value')
        name = 'tmwa::%s' % s
        enabled = True

        def __init__(self, value):
            self._value = value

        def to_string(self):
            value = self._value
            fields = value.type.fields()
            field0 = fields[-1]
            if field0.is_base_class:
                w = value.cast(field0.type)
            else:
                w = value[field0.name]
            return '%s' % w

        tests = [
                ('tmwa::wrap<tmwa::%s>(123)' % s, '123'),
        ]
    globals()[s] = OtherId
    del OtherId

class GmLevel(object):
    pass