mirror of
https://github.com/mangosfour/server.git
synced 2025-12-16 13:37:00 +00:00
[7899] Implement binding for account items support.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
This commit is contained in:
parent
d2e25491a2
commit
ba1d0684da
4 changed files with 19 additions and 12 deletions
|
|
@ -172,6 +172,12 @@ void WorldSession::HandleSendMail(WorldPacket & recv_data )
|
|||
return;
|
||||
}
|
||||
|
||||
uint32 rc_account = 0;
|
||||
if(receive)
|
||||
rc_account = receive->GetSession()->GetAccountId();
|
||||
else
|
||||
rc_account = objmgr.GetPlayerAccountIdByGUID(rc);
|
||||
|
||||
if (items_count)
|
||||
{
|
||||
for(MailItemMap::iterator mailItemIter = mi.begin(); mailItemIter != mi.end(); ++mailItemIter)
|
||||
|
|
@ -192,12 +198,18 @@ void WorldSession::HandleSendMail(WorldPacket & recv_data )
|
|||
return;
|
||||
}
|
||||
|
||||
if(!mailItem.item->CanBeTraded())
|
||||
if(!mailItem.item->CanBeTraded(true))
|
||||
{
|
||||
pl->SendMailResult(0, MAIL_SEND, MAIL_ERR_EQUIP_ERROR, EQUIP_ERR_MAIL_BOUND_ITEM);
|
||||
return;
|
||||
}
|
||||
|
||||
if(mailItem.item->IsBoundAccountWide() && mailItem.item->IsSoulBound() && pl->GetSession()->GetAccountId() != rc_account)
|
||||
{
|
||||
pl->SendMailResult(0, MAIL_SEND, MAIL_ERR_EQUIP_ERROR, EQUIP_ERR_ARTEFACTS_ONLY_FOR_OWN_CHARACTERS);
|
||||
return;
|
||||
}
|
||||
|
||||
if (mailItem.item->HasFlag(ITEM_FIELD_FLAGS, ITEM_FLAGS_CONJURED) || mailItem.item->GetUInt32Value(ITEM_FIELD_DURATION))
|
||||
{
|
||||
pl->SendMailResult(0, MAIL_SEND, MAIL_ERR_EQUIP_ERROR, EQUIP_ERR_MAIL_BOUND_ITEM);
|
||||
|
|
@ -226,12 +238,6 @@ void WorldSession::HandleSendMail(WorldPacket & recv_data )
|
|||
|
||||
if(items_count > 0 || money > 0)
|
||||
{
|
||||
uint32 rc_account = 0;
|
||||
if(receive)
|
||||
rc_account = receive->GetSession()->GetAccountId();
|
||||
else
|
||||
rc_account = objmgr.GetPlayerAccountIdByGUID(rc);
|
||||
|
||||
if (items_count > 0)
|
||||
{
|
||||
for(MailItemMap::iterator mailItemIter = mi.begin(); mailItemIter != mi.end(); ++mailItemIter)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue