def to_bytes(player: Player): name_bytes = player.name.encode('utf-8') + b'\x00' data = pack( '<Q{name_len}s3B5BB2I3f2IB3I'.format(name_len=len(name_bytes)), player.guid, # guid 0 player.name.encode('utf-8') + b'\x00', # name 1 player.race, # race 2 player.char_class, # class 3 player.gender, # gender 4 player.skin, # skin 5 player.face, # face 5 player.hair_style, # hair style 5 player.hair_color, # hair color 5 player.facial_hair, # facial hair 6 player.level, # level 7 player.region.identifier, # zone id 8 player.map_id, # map id 9 player.x, # x 10 player.y, # y 11 player.z, # z 12 0, # guild 13 0, # char flags ? 14 0, # first login 15 0, # pet display id 16 0, # pet level 17 0 # pet family 18 ) # Equipment: display_id - item_type - enchant with EquipmentManager() as equipment_mgr: equipment = equipment_mgr.get_equipment(player).to_bytes() return data + equipment
def prepare(self): super(PlayerManager, self).prepare() with EquipmentManager() as equipment_mgr: self.equipment = equipment_mgr.get_equipment(player=self.player).get_items() self.add_player_fields() return self
def set_default_equipment(self): self.session.expunge(self.player.region) self.session.expunge(self.player.account) self.session.expunge(self.player) with EquipmentManager() as equipment_mgr: self.equipment = equipment_mgr.set_default_equipment( player=self.player).get_items() return self
def set_default_equipment(self): self.session.expunge(self.player.region) self.session.expunge(self.player.account) self.session.expunge(self.player) with EquipmentManager() as equipment_mgr: try: self.equipment = equipment_mgr.set_default_equipment( player=self.player).get_items() except Exception as e: Logger.error('[PlayerMgr]: equipment error = {}'.format(e))
def prepare(self): super(PlayerManager, self).prepare() self.equipment = EquipmentManager(session=self.session).get_equipment( player=self.player).get_items() self.add_player_fields() return self
def _set_default_equipment(self): self.equipment = EquipmentManager( session=self.session).set_default_equipment( player=self.player).get_items()