mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2025-10-11 09:58:05 +00:00

* feat: convert character ids to 64 bits remove all usages of the PERSISTENT bit with regards to storing of playerIDs on the server. the bit does not exist and was a phantom in the first place. Tested that a full playthrough of ag, ns and gf was still doable. slash commands work, ugc works, friends works, ignore list works, properties work and have names, teaming works. migrating an old mysql database works . need to test an old sqlite database * fix sqlite migration * remove nd specific column migration
33 lines
1.1 KiB
C++
33 lines
1.1 KiB
C++
#ifndef __IFRIENDS__H__
|
|
#define __IFRIENDS__H__
|
|
|
|
#include <cstdint>
|
|
#include <optional>
|
|
#include <vector>
|
|
|
|
class IFriends {
|
|
public:
|
|
struct BestFriendStatus {
|
|
LWOOBJID playerCharacterId{};
|
|
LWOOBJID friendCharacterId{};
|
|
uint32_t bestFriendStatus{};
|
|
};
|
|
|
|
// Get the friends list for the given character id.
|
|
virtual std::vector<FriendData> GetFriendsList(const LWOOBJID charId) = 0;
|
|
|
|
// Get the best friend status for the given player and friend character ids.
|
|
virtual std::optional<IFriends::BestFriendStatus> GetBestFriendStatus(const LWOOBJID playerCharacterId, const LWOOBJID friendCharacterId) = 0;
|
|
|
|
// Set the best friend status for the given player and friend character ids.
|
|
virtual void SetBestFriendStatus(const LWOOBJID playerCharacterId, const LWOOBJID friendCharacterId, const uint32_t bestFriendStatus) = 0;
|
|
|
|
// Add a friend to the given character id.
|
|
virtual void AddFriend(const LWOOBJID playerCharacterId, const LWOOBJID friendCharacterId) = 0;
|
|
|
|
// Remove a friend from the given character id.
|
|
virtual void RemoveFriend(const LWOOBJID playerCharacterId, const LWOOBJID friendCharacterId) = 0;
|
|
};
|
|
|
|
#endif //!__IFRIENDS__H__
|