summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Entities/Player.cpp62
-rw-r--r--src/UI/Window.cpp30
2 files changed, 46 insertions, 46 deletions
diff --git a/src/Entities/Player.cpp b/src/Entities/Player.cpp
index 54de4dee9..b2574c433 100644
--- a/src/Entities/Player.cpp
+++ b/src/Entities/Player.cpp
@@ -1345,20 +1345,20 @@ AString cPlayer::GetColor(void) const
void cPlayer::TossEquippedItem(char a_Amount)
{
cItems Drops;
- cItem DroppedItem(GetInventory().GetEquippedItem());
- if (!DroppedItem.IsEmpty())
- {
- char NewAmount = a_Amount;
- if (NewAmount > GetInventory().GetEquippedItem().m_ItemCount)
- {
- NewAmount = GetInventory().GetEquippedItem().m_ItemCount; // Drop only what's there
- }
+ cItem DroppedItem(GetInventory().GetEquippedItem());
+ if (!DroppedItem.IsEmpty())
+ {
+ char NewAmount = a_Amount;
+ if (NewAmount > GetInventory().GetEquippedItem().m_ItemCount)
+ {
+ NewAmount = GetInventory().GetEquippedItem().m_ItemCount; // Drop only what's there
+ }
- GetInventory().GetHotbarGrid().ChangeSlotCount(GetInventory().GetEquippedSlotNum() /* Returns hotbar subslot, which HotbarGrid takes */, -a_Amount);
+ GetInventory().GetHotbarGrid().ChangeSlotCount(GetInventory().GetEquippedSlotNum() /* Returns hotbar subslot, which HotbarGrid takes */, -a_Amount);
- DroppedItem.m_ItemCount = NewAmount;
- Drops.push_back(DroppedItem);
- }
+ DroppedItem.m_ItemCount = NewAmount;
+ Drops.push_back(DroppedItem);
+ }
double vX = 0, vY = 0, vZ = 0;
EulerToVector(-GetYaw(), GetPitch(), vZ, vX, vY);
@@ -1373,24 +1373,24 @@ void cPlayer::TossEquippedItem(char a_Amount)
void cPlayer::TossHeldItem(char a_Amount)
{
cItems Drops;
- cItem & Item = GetDraggingItem();
- if (!Item.IsEmpty())
- {
- char OriginalItemAmount = Item.m_ItemCount;
- Item.m_ItemCount = std::min(OriginalItemAmount, a_Amount);
- Drops.push_back(Item);
- if (OriginalItemAmount > a_Amount)
- {
- Item.m_ItemCount = OriginalItemAmount - a_Amount;
- }
- else
- {
- Item.Empty();
- }
- }
-
- double vX = 0, vY = 0, vZ = 0;
- EulerToVector(-GetYaw(), GetPitch(), vZ, vX, vY);
+ cItem & Item = GetDraggingItem();
+ if (!Item.IsEmpty())
+ {
+ char OriginalItemAmount = Item.m_ItemCount;
+ Item.m_ItemCount = std::min(OriginalItemAmount, a_Amount);
+ Drops.push_back(Item);
+ if (OriginalItemAmount > a_Amount)
+ {
+ Item.m_ItemCount = OriginalItemAmount - a_Amount;
+ }
+ else
+ {
+ Item.Empty();
+ }
+ }
+
+ double vX = 0, vY = 0, vZ = 0;
+ EulerToVector(-GetYaw(), GetPitch(), vZ, vX, vY);
vY = -vY * 2 + 1.f;
m_World->SpawnItemPickups(Drops, GetPosX(), GetEyeHeight(), GetPosZ(), vX * 3, vY * 3, vZ * 3, true); // 'true' because created by player
}
@@ -1402,7 +1402,7 @@ void cPlayer::TossHeldItem(char a_Amount)
void cPlayer::TossPickup(const cItem & a_Item)
{
cItems Drops;
- Drops.push_back(a_Item);
+ Drops.push_back(a_Item);
double vX = 0, vY = 0, vZ = 0;
EulerToVector(-GetYaw(), GetPitch(), vZ, vX, vY);
diff --git a/src/UI/Window.cpp b/src/UI/Window.cpp
index dd058b304..1a8456f70 100644
--- a/src/UI/Window.cpp
+++ b/src/UI/Window.cpp
@@ -181,15 +181,15 @@ void cWindow::Clicked(
{
case caRightClickOutside:
{
- if (PlgMgr->CallHookPlayerTossingItem(a_Player))
+ if (PlgMgr->CallHookPlayerTossingItem(a_Player))
+ {
+ // A plugin doesn't agree with the tossing. The plugin itself is responsible for handling the consequences (possible inventory mismatch)
+ return;
+ }
+ if (a_Player.IsGameModeCreative())
{
- // A plugin doesn't agree with the tossing. The plugin itself is responsible for handling the consequences (possible inventory mismatch)
- return;
+ a_Player.TossPickup(a_ClickedItem);
}
- if (a_Player.IsGameModeCreative())
- {
- a_Player.TossPickup(a_ClickedItem);
- }
// Toss one of the dragged items:
a_Player.TossHeldItem();
@@ -199,14 +199,14 @@ void cWindow::Clicked(
{
if (PlgMgr->CallHookPlayerTossingItem(a_Player))
{
- // A plugin doesn't agree with the tossing. The plugin itself is responsible for handling the consequences (possible inventory mismatch)
- return;
+ // A plugin doesn't agree with the tossing. The plugin itself is responsible for handling the consequences (possible inventory mismatch)
+ return;
}
- if (a_Player.IsGameModeCreative())
- {
- a_Player.TossPickup(a_ClickedItem);
- }
+ if (a_Player.IsGameModeCreative())
+ {
+ a_Player.TossPickup(a_ClickedItem);
+ }
// Toss all dragged items:
a_Player.TossHeldItem(a_Player.GetDraggingItem().m_ItemCount);
@@ -285,8 +285,8 @@ bool cWindow::ClosedByPlayer(cPlayer & a_Player, bool a_CanRefuse)
// Checks whether the player is still holding an item
if (a_Player.IsDraggingItem())
{
- LOGD("Player holds item! Dropping it...");
- a_Player.TossHeldItem(a_Player.GetDraggingItem().m_ItemCount);
+ LOGD("Player holds item! Dropping it...");
+ a_Player.TossHeldItem(a_Player.GetDraggingItem().m_ItemCount);
}
cClientHandle * ClientHandle = a_Player.GetClientHandle();