Core/Mail: Define new mail flags
This commit is contained in:
@@ -0,0 +1 @@
|
||||
ALTER TABLE `mail` MODIFY COLUMN `checked` int UNSIGNED NOT NULL DEFAULT 0 AFTER `cod`;
|
||||
@@ -20143,7 +20143,7 @@ void Player::_LoadMail(PreparedQueryResult mailsResult, PreparedQueryResult mail
|
||||
m->deliver_time = fields[7].GetInt64();
|
||||
m->money = fields[8].GetUInt64();
|
||||
m->COD = fields[9].GetUInt64();
|
||||
m->checked = fields[10].GetUInt8();
|
||||
m->checked = fields[10].GetUInt32();
|
||||
m->stationery = fields[11].GetUInt8();
|
||||
m->mailTemplateId = fields[12].GetInt16();
|
||||
|
||||
@@ -21775,7 +21775,7 @@ void Player::_SaveMail(CharacterDatabaseTransaction trans)
|
||||
stmt->setInt64(2, m->deliver_time);
|
||||
stmt->setUInt64(3, m->money);
|
||||
stmt->setUInt64(4, m->COD);
|
||||
stmt->setUInt8(5, uint8(m->checked));
|
||||
stmt->setUInt32(5, uint8(m->checked));
|
||||
stmt->setUInt64(6, m->messageID);
|
||||
|
||||
trans->Append(stmt);
|
||||
|
||||
@@ -47,14 +47,26 @@ enum MailMessageType
|
||||
MAIL_ARTISANS_CONSORTIUM = 9 // crafting orders
|
||||
};
|
||||
|
||||
enum MailCheckMask
|
||||
enum MailCheckMask : uint32
|
||||
{
|
||||
MAIL_CHECK_MASK_NONE = 0x00,
|
||||
MAIL_CHECK_MASK_READ = 0x01,
|
||||
MAIL_CHECK_MASK_RETURNED = 0x02, /// This mail was returned. Do not allow returning mail back again.
|
||||
MAIL_CHECK_MASK_COPIED = 0x04, /// This mail was copied. Do not allow making a copy of items in mail.
|
||||
MAIL_CHECK_MASK_COD_PAYMENT = 0x08,
|
||||
MAIL_CHECK_MASK_HAS_BODY = 0x10 /// This mail has body text.
|
||||
MAIL_CHECK_MASK_NONE = 0x00000,
|
||||
MAIL_CHECK_MASK_READ = 0x00001, ///< This mail was read.
|
||||
MAIL_CHECK_MASK_RETURNED = 0x00002, ///< This mail was returned. Do not allow returning mail back again.
|
||||
MAIL_CHECK_MASK_COPIED = 0x00004, ///< This mail was copied. Do not allow making a copy of items in mail.
|
||||
MAIL_CHECK_MASK_COD_PAYMENT = 0x00008, ///< This mail is payable on delivery
|
||||
MAIL_CHECK_MASK_HAS_BODY = 0x00010, ///< This mail has body text.
|
||||
MAIL_CHECK_MASK_UNK_5 = 0x00020,
|
||||
MAIL_CHECK_MASK_AUCTION_WON = 0x00040, ///< This mail is delivering won auction items.
|
||||
MAIL_CHECK_MASK_UNK_7 = 0x00080,
|
||||
MAIL_CHECK_MASK_CALENDAR_INVITE = 0x00100, ///< This mail is related to calendar invite.
|
||||
MAIL_CHECK_MASK_NOT_RETURNABLE = 0x00200, ///< This mail cannot be returned even if mail was not returned before.
|
||||
MAIL_CHECK_MASK_AUCTION = 0x00400, ///< This mail came from auction house.
|
||||
MAIL_CHECK_MASK_NOT_DELETABLE_WITH_ATTACHMENTS = 0x00800, ///< This mail cannot be deleted without taking attachments first.
|
||||
MAIL_CHECK_MASK_UNK_12 = 0x01000,
|
||||
MAIL_CHECK_MASK_UNK_13 = 0x02000,
|
||||
MAIL_CHECK_MASK_RESTORED_ITEM = 0x04000, ///< This mail contains recovered items.
|
||||
MAIL_CHECK_MASK_NOT_COPYABLE = 0x08000, ///< This mail cannot be copied.
|
||||
MAIL_CHECK_MASK_COMMERCE = 0x10000, ///< WoW Token mail.
|
||||
};
|
||||
|
||||
// gathered from Stationery.dbc
|
||||
@@ -76,15 +88,6 @@ enum MailState
|
||||
MAIL_STATE_DELETED = 3
|
||||
};
|
||||
|
||||
enum MailShowFlags
|
||||
{
|
||||
MAIL_SHOW_UNK0 = 0x0001,
|
||||
MAIL_SHOW_DELETE = 0x0002, // forced show delete button instead return button
|
||||
MAIL_SHOW_AUCTION = 0x0004, // from old comment
|
||||
MAIL_SHOW_UNK2 = 0x0008, // unknown, COD will be shown even without that flag
|
||||
MAIL_SHOW_RETURN = 0x0010
|
||||
};
|
||||
|
||||
class TC_GAME_API MailSender
|
||||
{
|
||||
public: // Constructors
|
||||
|
||||
Reference in New Issue
Block a user