Core/Items: Attempt to fix crash in Player::SplitItem caused by 6a44399852.
And some random cleanup
This commit is contained in:
@@ -483,7 +483,7 @@ void LFGMgr::InitializeLockedDungeons(Player* player)
|
||||
void LFGMgr::Join(Player* player, uint8 roles, const LfgDungeonSet& selectedDungeons, const std::string& comment)
|
||||
{
|
||||
if (!player || !player->GetSession() || selectedDungeons.empty())
|
||||
return;
|
||||
return;
|
||||
|
||||
Group* grp = player->GetGroup();
|
||||
uint64 guid = player->GetGUID();
|
||||
|
||||
@@ -12842,7 +12842,7 @@ void Player::SplitItem(uint16 src, uint16 dst, uint32 count)
|
||||
pSrcItem->SetState(ITEM_CHANGED, this);
|
||||
StoreItem(dest, pNewItem, true);
|
||||
}
|
||||
else if (IsBankPos (dst))
|
||||
else if (IsBankPos(dst))
|
||||
{
|
||||
// change item amount before check (for unique max count check)
|
||||
pSrcItem->SetCount(pSrcItem->GetCount() - count);
|
||||
@@ -12862,7 +12862,7 @@ void Player::SplitItem(uint16 src, uint16 dst, uint32 count)
|
||||
pSrcItem->SetState(ITEM_CHANGED, this);
|
||||
BankItem(dest, pNewItem, true);
|
||||
}
|
||||
else if (IsEquipmentPos (dst))
|
||||
else if (IsEquipmentPos(dst))
|
||||
{
|
||||
// change item amount before check (for unique max count check), provide space for splitted items
|
||||
pSrcItem->SetCount(pSrcItem->GetCount() - count);
|
||||
@@ -12884,6 +12884,10 @@ void Player::SplitItem(uint16 src, uint16 dst, uint32 count)
|
||||
AutoUnequipOffhandIfNeed();
|
||||
}
|
||||
|
||||
//! Make sure that code below only is executed when trading
|
||||
if (!GetTradeData())
|
||||
return;
|
||||
|
||||
//! Update item count in trade window, prevent spoofing
|
||||
//! Since pSrcItem has its count updated (see above), Item::GetCount() will return the new count
|
||||
//! in the underlying packet builder function
|
||||
|
||||
@@ -2114,12 +2114,12 @@ void Unit::SendMeleeAttackStart(Unit* victim)
|
||||
|
||||
void Unit::SendMeleeAttackStop(Unit* victim)
|
||||
{
|
||||
WorldPacket data(SMSG_ATTACKSTOP, (8+8+4)); // we guess size
|
||||
WorldPacket data(SMSG_ATTACKSTOP, (8+8+4));
|
||||
data.append(GetPackGUID());
|
||||
data.append(victim ? victim->GetPackGUID() : 0); // can be 0x00...
|
||||
data << uint32(0); // can be 0x1
|
||||
SendMessageToSet(&data, true);
|
||||
sLog->outStaticDebug("WORLD: Sent SMSG_ATTACKSTART");
|
||||
sLog->outStaticDebug("WORLD: Sent SMSG_ATTACKSTOP");
|
||||
|
||||
if (victim)
|
||||
sLog->outDetail("%s %u stopped attacking %s %u", (GetTypeId() == TYPEID_PLAYER ? "Player" : "Creature"), GetGUIDLow(), (victim->GetTypeId() == TYPEID_PLAYER ? "player" : "creature"), victim->GetGUIDLow());
|
||||
|
||||
Reference in New Issue
Block a user