def write(self, reader: ByteIO): new_reader = ByteIO(mode='wb') new_reader.write_int16(self.object_type) new_reader.write_int16(self.num) new_reader.write_uint16(self.object_info) new_reader.write_int16(self.object_info_list) new_reader.write_uint8(self.flags.getFlags()) new_reader.write_uint8(self.other_flags.getFlags()) new_reader.write_int8(len(self.items)) new_reader.write_int8(self.def_type) for item in self.items: item.write(new_reader) reader.write_uint16(len(new_reader) + 2) reader.write_bytes(new_reader.read_bytes())
def write(self, reader: ByteIO): new_reader = ByteIO() new_reader.write_uint8(len(self.conditions)) new_reader.write_uint8(len(self.actions)) new_reader.write_uint16(self.flags.getFlags()) new_reader.write_int16(self.is_restricted) new_reader.write_int16(self.restrictCpt) new_reader.write_int16(self.identifier) new_reader.write_int16(self.undo) for condition in self.conditions: condition.write(new_reader) for action in self.actions: action.write(new_reader) reader.write_int16((len(new_reader) + 2) * -1) reader.write_bytes(new_reader.read_bytes())