def read(self, df): """ Given a file descriptor, read in the tilecontent. """ # We throw an exception because there seems to be an arbitrary # number of tilecontents at the end of the map file, and no # 'tilecontent count' anywhere. So we have to just keep loading # tilecontents until EOF, if (df.eof()): raise FirstItemLoadException('Reached EOF') # I'd just like to say "wtf" at this coordinate-storing system intcoords = df.readint() self.x = (intcoords % 100) self.y = int(intcoords / 100) # ... everything else self.description = df.readstr() self.extratext = df.readstr() self.cur_condition = df.readint() self.max_condition = df.readint() self.on_empty = df.readuchar() self.lock = df.readuchar() self.trap = df.readuchar() self.slider_loot = df.readshort() self.state = df.readuchar() self.script = df.readstr() # Items for num in range(8): self.items.append(Item.new(self.book)) if (self.savegame): self.items[num].read(df) else: self.items[num].item_name = df.readstr()
def read(self, df): """ Given a file descriptor, read in the tilecontent. """ # We throw an exception because there seems to be an arbitrary # number of tilecontents at the end of the map file, and no # 'tilecontent count' anywhere. So we have to just keep loading # tilecontents until EOF, if (df.eof()): raise FirstItemLoadException('Reached EOF') # I'd just like to say "wtf" at this coordinate-storing system intcoords = df.readint() self.x = (intcoords % 100) self.y = int(intcoords / 100) # ... everything else self.description = df.readstr().decode('UTF-8') self.extratext = df.readstr().decode('UTF-8') self.cur_condition = df.readint() self.max_condition = df.readint() self.on_empty = df.readuchar() self.lock = df.readuchar() self.trap = df.readuchar() self.slider_loot = df.readshort() self.state = df.readuchar() self.script = df.readstr().decode('UTF-8') # Items for num in range(8): self.items.append(Item.new(self.book)) if (self.savegame): self.items[num].read(df) else: self.items[num].item_name = df.readstr().decode('UTF-8')
def __init__(self, df): self.set_inv_size(10, 7, 2, 4) super(B1Character, self).__init__(df) # Book 1 specific vars self.origin = "" self.axiom = "" self.classname = "" self.weap_alt = Item.new(1) self.disease = -1 self.unknown = B1Unknowns()
def __init__(self, df): self.set_inv_size(10, 7, 2, 4) super(B1Character, self).__init__(df) # Book 1 specific vars self.origin = '' self.axiom = '' self.classname = '' self.weap_alt = Item.new(1) self.disease = -1 self.unknown = B1Unknowns()
def tozero(self, x, y): """ Zeroes out the object. """ self.x = x self.y = y self.description = '' self.extratext = '' self.lock = 0 self.trap = 0 self.state = 0 self.script = '' # Populate Items as well for num in range(8): self.items.append(Item.new(c.book)) self.items[num].tozero() # Call out to superclass zeroing self._sub_tozero()
def read(self, df): """ Read our data. """ df.open_r() self.day_stocked = df.readint() item_count = df.readint() self.gold = df.readint() for i in range(item_count): item = Item.new(c.book) item.read(df) self.items.append(item) extradata = df.read() if len(extradata) > 0: raise LoadException('Extra data at end of merchant file') df.close()
def read(self, df): """ Given a file descriptor, read in the tilecontent. """ # We throw an exception because there seems to be an arbitrary # number of tilecontents at the end of the map file, and no # 'tilecontent count' anywhere. So we have to just keep loading # tilecontents until EOF, if df.eof(): raise FirstItemLoadException("Reached EOF") # I'd just like to say "wtf" at this coordinate-storing system intcoords = df.readint() self.x = intcoords % 100 self.y = int(intcoords / 100) # ... everything else self.description = df.readstr() self.extratext = df.readstr() self.zeroi1 = df.readint() self.zeroh1 = df.readshort() self.sturdiness = df.readuchar() self.flags = df.readuchar() self.zeroi2 = df.readint() self.zeroi3 = df.readint() self.lock = df.readuchar() self.trap = df.readuchar() self.other = df.readuchar() self.state = df.readuchar() self.unknownh3 = df.readshort() self.script = df.readstr() # Items for num in range(8): self.items.append(Item.new(c.book)) if self.savegame: self.items[num].read(df) else: self.items[num].item_name = df.readstr()
def __init__(self, df): """ A fresh object. """ # self.book = c.book self.name = "" self.strength = -1 self.dexterity = -1 self.endurance = -1 self.speed = -1 self.intelligence = -1 self.wisdom = -1 self.perception = -1 self.concentration = -1 self.skills = {} self.maxhp = -1 self.maxmana = -1 self.curhp = -1 self.curmana = -1 self.experience = -1 self.level = -1 self.gold = -1 self.torches = -1 self.torchused = -1 self.readyslots = [] self.inventory = [] for i in range(self.inv_rows): self.inventory.append([]) for j in range(self.inv_cols): self.inventory[i].append(Item.new(c.book)) self.readyitems = [] for i in range(self.ready_rows * self.ready_cols): self.readyitems.append(Item.new(c.book)) self.curinvcol = 0 self.curinvrow = 0 self.quiver = Item.new(c.book) self.helm = Item.new(c.book) self.cloak = Item.new(c.book) self.amulet = Item.new(c.book) self.torso = Item.new(c.book) self.weap_prim = Item.new(c.book) self.belt = Item.new(c.book) self.gauntlet = Item.new(c.book) self.legs = Item.new(c.book) self.ring1 = Item.new(c.book) self.ring2 = Item.new(c.book) self.shield = Item.new(c.book) self.feet = Item.new(c.book) self.spells = [] self.orientation = -1 self.xpos = -1 self.ypos = -1 self.fxblock = [] self.picid = -1 self.statuses = [] self.extra_att_points = -1 self.extra_skill_points = -1 self.df = df
def __init__(self, df): """ A fresh object. """ #self.book = c.book self.name = '' self.strength = -1 self.dexterity = -1 self.endurance = -1 self.speed = -1 self.intelligence = -1 self.wisdom = -1 self.perception = -1 self.concentration = -1 self.skills = {} self.maxhp = -1 self.maxmana = -1 self.curhp = -1 self.curmana = -1 self.experience = -1 self.level = -1 self.gold = -1 self.torches = -1 self.torchused = -1 self.readyslots = [] self.inventory = [] for i in range(self.inv_rows): self.inventory.append([]) for j in range(self.inv_cols): self.inventory[i].append(Item.new(c.book)) self.readyitems = [] for i in range(self.ready_rows * self.ready_cols): self.readyitems.append(Item.new(c.book)) self.curinvcol = 0 self.curinvrow = 0 self.quiver = Item.new(c.book) self.helm = Item.new(c.book) self.cloak = Item.new(c.book) self.amulet = Item.new(c.book) self.torso = Item.new(c.book) self.weap_prim = Item.new(c.book) self.belt = Item.new(c.book) self.gauntlet = Item.new(c.book) self.legs = Item.new(c.book) self.ring1 = Item.new(c.book) self.ring2 = Item.new(c.book) self.shield = Item.new(c.book) self.feet = Item.new(c.book) self.spells = [] self.orientation = -1 self.xpos = -1 self.ypos = -1 self.fxblock = [] self.picid = -1 self.statuses = [] self.extra_att_points = -1 self.extra_skill_points = -1 self.df = df