Add/Remove Friends

Add/Remove Ignores
This commit is contained in:
HikikoMarmy
2025-07-17 22:03:56 +01:00
2 changed files with 87 additions and 56 deletions

View File

@@ -3,6 +3,9 @@
#include <map>
#include <functional>
/* 0001 */ #include "Event/RequestAddFriend.h"
/* 0002 */ #include "Event/RequestAddIgnore.h"
/* 0005 */ #include "Event/RequestCancelGame.h"
/* 0006 */ #include "Event/RequestCreateAccount.h"
@@ -22,6 +25,10 @@
/* 0017 */ #include "Event/RequestLogout.h"
/* 0018 */ #include "Event/RequestMatchGame.h"
/* 001C */ #include "Event/RequestRemoveFriend.h"
/* 001D */ #include "Event/RequestRemoveIgnore.h"
/* 0021 */ #include "Event/RequestSendInstantMessage.h"
/* 0022 */ #include "Event/RequestSendRoomMessage.h"
/* 0023 */ #include "Event/RequestStartGame.h"
/* 0024 */ #include "Event/RequestTouchSession.h"
@@ -46,13 +53,24 @@
/* 005E */ #include "Event/RequestSaveCharacter_RTA.h"
/* 005F */ #include "Event/RequestUserJoinSuccess.h"
/* 0060 */ #include "Event/RequestCancelGame_RTA.h"
/* 0061 */ #include "Event/RequestGetFriendList.h"
/* 0061 */ #include "Event/RequestGetSocialListInitial.h"
/* 0062 */ #include "Event/RequestGetSocialListUpdate.h"
/* 0066 */ #include "Event/RequestDoClientDiscovery_RTA.h"
const std::map< int16_t, std::function< std::unique_ptr< GenericRequest >() > > REQUEST_EVENT =
{
{ 0x0001, []() -> std::unique_ptr< GenericRequest >
{
return std::make_unique< RequestAddFriend >();
}
},
{ 0x0002, []() -> std::unique_ptr< GenericRequest >
{
return std::make_unique< RequestAddIgnore >();
}
},
{ 0x0005, []() -> std::unique_ptr< GenericRequest >
{
return std::make_unique< RequestCancelGame >();
@@ -123,6 +141,21 @@ const std::map< int16_t, std::function< std::unique_ptr< GenericRequest >() > >
return std::make_unique< RequestMatchGame >();
}
},
{ 0x001C, []() -> std::unique_ptr< GenericRequest >
{
return std::make_unique< RequestRemoveFriend >();
}
},
{ 0x001D, []() -> std::unique_ptr< GenericRequest >
{
return std::make_unique< RequestRemoveIgnore >();
}
},
{ 0x0021, []() -> std::unique_ptr< GenericRequest >
{
return std::make_unique< RequestSendInstantMessage >();
}
},
{ 0x0022, []() -> std::unique_ptr< GenericRequest >
{
return std::make_unique< RequestSendRoomMessage >();
@@ -135,97 +168,102 @@ const std::map< int16_t, std::function< std::unique_ptr< GenericRequest >() > >
},
{ 0x0024, []() -> std::unique_ptr< GenericRequest >
{
return std::make_unique< RequestTouchSession >();
return std::make_unique< RequestTouchSession >();
}
},
{ 0x0025, []() -> std::unique_ptr< GenericRequest >
{
return std::make_unique< RequestDoClientDiscovery >();
return std::make_unique< RequestDoClientDiscovery >();
}
},
{ 0x0027, []() -> std::unique_ptr< GenericRequest >
{
return std::make_unique< RequestGetEncryptionKey >();
return std::make_unique< RequestGetEncryptionKey >();
}
},
{ 0x0042, []() -> std::unique_ptr< GenericRequest >
{
return std::make_unique< RequestGetRules >();
return std::make_unique< RequestGetRules >();
}
},
{ 0x0043, []() -> std::unique_ptr< GenericRequest >
{
return std::make_unique< RequestGetServerAddress >();
return std::make_unique< RequestGetServerAddress >();
}
},
{ 0x0044, []() -> std::unique_ptr< GenericRequest >
{
return std::make_unique< RequestUpdateGameData >();
}
{
return std::make_unique< RequestUpdateGameData >();
}
},
{ 0x0054, []() -> std::unique_ptr< GenericRequest >
{
return std::make_unique< RequestCreatePublicGame_RTA >();
}
{
return std::make_unique< RequestCreatePublicGame_RTA >();
}
},
{ 0x0055, []() -> std::unique_ptr< GenericRequest >
{
return std::make_unique< RequestMatchGame_RTA >();
}
{
return std::make_unique< RequestMatchGame_RTA >();
}
},
{ 0x0056, []() -> std::unique_ptr< GenericRequest >
{
return std::make_unique< RequestCreatePrivateGame_RTA >();
}
{
return std::make_unique< RequestCreatePrivateGame_RTA >();
}
},
{ 0x0057, []() -> std::unique_ptr< GenericRequest >
{
return std::make_unique< RequestGetGame_RTA >();
}
{
return std::make_unique< RequestGetGame_RTA >();
}
},
{ 0x0058, []() -> std::unique_ptr< GenericRequest >
{
return std::make_unique< RequestCreateNewCharacter_RTA >();
}
{
return std::make_unique< RequestCreateNewCharacter_RTA >();
}
},
{ 0x005B, []() -> std::unique_ptr< GenericRequest >
{
return std::make_unique< RequestGetNetCharacterList_RTA >();
}
{
return std::make_unique< RequestGetNetCharacterList_RTA >();
}
},
{ 0x005C, []() -> std::unique_ptr< GenericRequest >
{
return std::make_unique< RequestGetNetCharacterData_RTA >();
}
{
return std::make_unique< RequestGetNetCharacterData_RTA >();
}
},
{ 0x005D, []() -> std::unique_ptr< GenericRequest >
{
return std::make_unique< RequestAppendCharacterData >();
}
{
return std::make_unique< RequestAppendCharacterData >();
}
},
{ 0x005E, []() -> std::unique_ptr< GenericRequest >
{
return std::make_unique< RequestSaveCharacter_RTA >();
}
{
return std::make_unique< RequestSaveCharacter_RTA >();
}
},
{ 0x005F, []() -> std::unique_ptr< GenericRequest >
{
return std::make_unique< RequestUserJoinSuccess >();
}
{
return std::make_unique< RequestUserJoinSuccess >();
}
},
{ 0x0060, []() -> std::unique_ptr< GenericRequest >
{
return std::make_unique< RequestCancelGame_RTA >();
}
{
return std::make_unique< RequestCancelGame_RTA >();
}
},
{ 0x0061, []() -> std::unique_ptr< GenericRequest >
{
return std::make_unique< RequestGetFriendList >();
}
{
return std::make_unique< RequestGetSocialListInitial >();
}
},
{ 0x0062, []() -> std::unique_ptr< GenericRequest >
{
return std::make_unique< RequestGetSocialListUpdate >();
}
},
{ 0x0066, []() -> std::unique_ptr< GenericRequest >
{
return std::make_unique< RequestDoClientDiscovery_RTA >();
}
{
return std::make_unique< RequestDoClientDiscovery_RTA >();
}
},
};

View File

@@ -7,14 +7,7 @@ The server is currently a work in progress.
| Game | Status |
|-------------------------------|--------------------|
| Champions of Norrath | ✅ Supported |
| Champions: Return To Arms | ⚠️ ~90% Supported |
---
Return To Arms TODO:
- ~Online Character Saves~
- ~Chat Room~
- Friends List
- Ignore List
| Champions: Return To Arms | Supported |
---