You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm using Python 3.7.2 and trying to use the file parser (I am porting from a C++ version of the same game and already have data files written in that format). I have defined my custom listener:
class CreatureParser:
def __init__(self):
self.temp = CreatureTemplate()
def new_struct(self, struct, name):
if tcod.struct_get_name(struct) == 'creature':
print(f'New creature: {name}')
self.temp = CreatureTemplate()
return True
def new_flag(self, name):
return True
def new_property(self, name, typ, value):
stat_names = ['str', 'stam', 'spd', 'skl', 'sag', 'smt']
if name == 'name':
self.temp.name = value
elif name == 'type':
self.temp.type = value
elif name == 'desc':
self.temp.desc = value
elif name == 'unarmed':
self.temp.unarmed = value
elif name == 'glyph':
self.temp.glyph = value
elif name in stat_names:
self.temp.stats[name] = value
elif name == 'col':
self.temp.color = value
elif name == 'tags':
self.temp.tags = value
elif name == 'startItems':
self.temp.start_tems = value
return True
def end_struct(self, struct, name):
CREATURE_TEMPLATES[name] = self.temp
return True
def error(self, msg):
print(f'Error parsing creature file: {msg}')
return False
Indeed - like I said, I've got data files from a C++ version of the game and it's about as much effort writing the parsers as it is to convert the data files to something suitable in Python.
I'm using Python 3.7.2 and trying to use the file parser (I am porting from a C++ version of the same game and already have data files written in that format). I have defined my custom listener:
My data file looks like this:
The new_struct function is not getting called, though everything else is.
The text was updated successfully, but these errors were encountered: