aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Entities
diff options
context:
space:
mode:
authorMichael <martin.dev.446@gmail.com>2019-12-28 16:58:18 -0500
committerGiacomo Pozzoni <giacomopoz@gmail.com>2019-12-28 22:58:18 +0100
commit6b19f4a0ab1f77ea969a080a6eea0379baf9f8df (patch)
tree29eb01729a985948375d8c02bf6f4d83f08080a7 /src/server/game/Entities
parent53fe736087341ae056713768562e0cc27de2ac19 (diff)
additional output for additem command (#24006)
* additional output for additem command when removing items with additem: if the user provides an amount too large of a negative amount, the command will now output the amount of items that could not be destroyed. * renamed sql file to hopefully avoid conflicts * added clarification to failure string * changed unneeded else if condition to else * code style; braces * Update and rename 9999_99_99_99_world.sql to 2019_12_28_01_world.sql
Diffstat (limited to 'src/server/game/Entities')
-rw-r--r--src/server/game/Entities/Player/Player.cpp27
-rw-r--r--src/server/game/Entities/Player/Player.h2
2 files changed, 15 insertions, 14 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index d0570fd0884..846b987c583 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -12462,7 +12462,7 @@ void Player::DestroyItem(uint8 bag, uint8 slot, bool update)
}
}
-void Player::DestroyItemCount(uint32 itemEntry, uint32 count, bool update, bool unequip_check)
+uint32 Player::DestroyItemCount(uint32 itemEntry, uint32 count, bool update, bool unequip_check)
{
TC_LOG_DEBUG("entities.player.items", "Player::DestroyItemCount: Player '%s' (%s), Item: %u, Count: %u",
GetName().c_str(), GetGUID().ToString().c_str(), itemEntry, count);
@@ -12482,7 +12482,7 @@ void Player::DestroyItemCount(uint32 itemEntry, uint32 count, bool update, bool
DestroyItem(INVENTORY_SLOT_BAG_0, i, update);
if (remcount >= count)
- return;
+ return remcount;
}
else
{
@@ -12491,7 +12491,7 @@ void Player::DestroyItemCount(uint32 itemEntry, uint32 count, bool update, bool
if (IsInWorld() && update)
item->SendUpdateToPlayer(this);
item->SetState(ITEM_CHANGED, this);
- return;
+ return remcount;
}
}
}
@@ -12510,7 +12510,7 @@ void Player::DestroyItemCount(uint32 itemEntry, uint32 count, bool update, bool
DestroyItem(INVENTORY_SLOT_BAG_0, i, update);
if (remcount >= count)
- return;
+ return remcount;
}
else
{
@@ -12519,7 +12519,7 @@ void Player::DestroyItemCount(uint32 itemEntry, uint32 count, bool update, bool
if (IsInWorld() && update)
item->SendUpdateToPlayer(this);
item->SetState(ITEM_CHANGED, this);
- return;
+ return remcount;
}
}
}
@@ -12543,7 +12543,7 @@ void Player::DestroyItemCount(uint32 itemEntry, uint32 count, bool update, bool
DestroyItem(i, j, update);
if (remcount >= count)
- return;
+ return remcount;
}
else
{
@@ -12552,7 +12552,7 @@ void Player::DestroyItemCount(uint32 itemEntry, uint32 count, bool update, bool
if (IsInWorld() && update)
item->SendUpdateToPlayer(this);
item->SetState(ITEM_CHANGED, this);
- return;
+ return remcount;
}
}
}
@@ -12575,7 +12575,7 @@ void Player::DestroyItemCount(uint32 itemEntry, uint32 count, bool update, bool
DestroyItem(INVENTORY_SLOT_BAG_0, i, update);
if (remcount >= count)
- return;
+ return remcount;
}
}
else
@@ -12585,7 +12585,7 @@ void Player::DestroyItemCount(uint32 itemEntry, uint32 count, bool update, bool
if (IsInWorld() && update)
item->SendUpdateToPlayer(this);
item->SetState(ITEM_CHANGED, this);
- return;
+ return remcount;
}
}
}
@@ -12603,7 +12603,7 @@ void Player::DestroyItemCount(uint32 itemEntry, uint32 count, bool update, bool
remcount += item->GetCount();
DestroyItem(INVENTORY_SLOT_BAG_0, i, update);
if (remcount >= count)
- return;
+ return remcount;
}
else
{
@@ -12612,7 +12612,7 @@ void Player::DestroyItemCount(uint32 itemEntry, uint32 count, bool update, bool
if (IsInWorld() && update)
item->SendUpdateToPlayer(this);
item->SetState(ITEM_CHANGED, this);
- return;
+ return remcount;
}
}
}
@@ -12636,7 +12636,7 @@ void Player::DestroyItemCount(uint32 itemEntry, uint32 count, bool update, bool
DestroyItem(i, j, update);
if (remcount >= count)
- return;
+ return remcount;
}
else
{
@@ -12645,13 +12645,14 @@ void Player::DestroyItemCount(uint32 itemEntry, uint32 count, bool update, bool
if (IsInWorld() && update)
item->SendUpdateToPlayer(this);
item->SetState(ITEM_CHANGED, this);
- return;
+ return remcount;
}
}
}
}
}
}
+ return remcount;
}
void Player::DestroyZoneLimitedItem(bool update, uint32 new_zone)
diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h
index 5aa9069f91a..66bf4c0cc1d 100644
--- a/src/server/game/Entities/Player/Player.h
+++ b/src/server/game/Entities/Player/Player.h
@@ -1122,7 +1122,7 @@ class TC_GAME_API Player : public Unit, public GridObject<Player>
// in trade, guild bank, mail....
void RemoveItemDependentAurasAndCasts(Item* pItem);
void DestroyItem(uint8 bag, uint8 slot, bool update);
- void DestroyItemCount(uint32 item, uint32 count, bool update, bool unequip_check = false);
+ uint32 DestroyItemCount(uint32 item, uint32 count, bool update, bool unequip_check = false);
void DestroyItemCount(Item* item, uint32& count, bool update);
void DestroyConjuredItems(bool update);
void DestroyZoneLimitedItem(bool update, uint32 new_zone);