mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2024-11-14 12:18:22 +00:00
96 lines
2.6 KiB
C++
96 lines
2.6 KiB
C++
#pragma once
|
|
#include "BitStream.h"
|
|
#include "RakNetTypes.h"
|
|
#include "dCommonVars.h"
|
|
|
|
class Entity;
|
|
|
|
namespace Mail {
|
|
enum class MailMessageID {
|
|
Send = 0x00,
|
|
SendResponse = 0x01,
|
|
DataRequest = 0x03,
|
|
MailData = 0x04,
|
|
AttachmentCollect = 0x05,
|
|
AttachmentCollectConfirm = 0x06,
|
|
MailDelete = 0x07,
|
|
MailDeleteConfirm = 0x08,
|
|
MailRead = 0x09,
|
|
MailReadConfirm = 0x0a,
|
|
NotificationRequest = 0x0b
|
|
};
|
|
|
|
enum class MailSendResponse {
|
|
Success = 0,
|
|
NotEnoughCoins,
|
|
AttachmentNotFound,
|
|
ItemCannotBeMailed,
|
|
CannotMailSelf,
|
|
RecipientNotFound,
|
|
DifferentFaction,
|
|
Unknown,
|
|
ModerationFailure,
|
|
AccountIsMuted,
|
|
UnknownFailure,
|
|
RecipientIsIgnored,
|
|
UnknownFailure3,
|
|
RecipientIsFTP
|
|
};
|
|
|
|
const std::string ServerName = "Darkflame Universe";
|
|
|
|
void SendMail(
|
|
const Entity* recipient,
|
|
const std::string& subject,
|
|
const std::string& body,
|
|
LOT attachment,
|
|
uint16_t attachmentCount
|
|
);
|
|
|
|
void SendMail(
|
|
LWOOBJID recipient,
|
|
const std::string& recipientName,
|
|
const std::string& subject,
|
|
const std::string& body,
|
|
LOT attachment,
|
|
uint16_t attachmentCount,
|
|
const SystemAddress& sysAddr
|
|
);
|
|
|
|
void SendMail(
|
|
LWOOBJID sender,
|
|
const std::string& senderName,
|
|
const Entity* recipient,
|
|
const std::string& subject,
|
|
const std::string& body,
|
|
LOT attachment,
|
|
uint16_t attachmentCount
|
|
);
|
|
|
|
void SendMail(
|
|
LWOOBJID sender,
|
|
const std::string& senderName,
|
|
LWOOBJID recipient,
|
|
const std::string& recipientName,
|
|
const std::string& subject,
|
|
const std::string& body,
|
|
LOT attachment,
|
|
uint16_t attachmentCount,
|
|
const SystemAddress& sysAddr
|
|
);
|
|
|
|
void HandleMailStuff(RakNet::BitStream& packet, const SystemAddress& sysAddr, Entity* entity);
|
|
void HandleSendMail(RakNet::BitStream& packet, const SystemAddress& sysAddr, Entity* entity);
|
|
void HandleDataRequest(RakNet::BitStream& packet, const SystemAddress& sysAddr, Entity* player);
|
|
void HandleAttachmentCollect(RakNet::BitStream& packet, const SystemAddress& sysAddr, Entity* player);
|
|
void HandleMailDelete(RakNet::BitStream& packet, const SystemAddress& sysAddr);
|
|
void HandleMailRead(RakNet::BitStream& packet, const SystemAddress& sysAddr);
|
|
void HandleNotificationRequest(const SystemAddress& sysAddr, uint32_t objectID);
|
|
|
|
void SendSendResponse(const SystemAddress& sysAddr, MailSendResponse response);
|
|
void SendNotification(const SystemAddress& sysAddr, int mailCount);
|
|
void SendAttachmentRemoveConfirm(const SystemAddress& sysAddr, uint64_t mailID);
|
|
void SendDeleteConfirm(const SystemAddress& sysAddr, uint64_t mailID, LWOOBJID playerID);
|
|
void SendReadConfirm(const SystemAddress& sysAddr, uint64_t mailID);
|
|
};
|