def add_ignore(self, player_guid): if player_guid not in self.friends: self.friends[player_guid] = self._create_friend(player_guid, ignored=True) RealmDatabaseManager.character_add_friend(self.friends[player_guid]) else: self.friends[player_guid].ignore = True RealmDatabaseManager.character_update_social([self.friends[player_guid]]) data = pack('<BQ', FriendResults.FRIEND_IGNORE_ADDED, player_guid) packet = PacketWriter.get_packet(OpCode.SMSG_FRIEND_STATUS, data) self.owner.session.enqueue_packet(packet) self.send_ignores()
def add_friend(self, player_guid): if player_guid not in self.friends: self.friends[player_guid] = self._create_friend(player_guid) player_mgr = WorldSessionStateHandler.find_player_by_guid(player_guid) RealmDatabaseManager.character_add_friend(self.friends[player_guid]) status = FriendResults.FRIEND_ADDED_ONLINE if player_mgr else FriendResults.FRIEND_ADDED_OFFLINE data = pack('<BQ', status, player_guid) if player_mgr and player_mgr.online: # Player is online. data += pack('<B3I', 1, player_mgr.zone, player_mgr.level, player_mgr.player.class_) self.owner.session.enqueue_packet(PacketWriter.get_packet(OpCode.SMSG_FRIEND_STATUS, data)) self.send_friends()