summaryrefslogtreecommitdiff
path: root/src/being/playerinfo.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/being/playerinfo.cpp')
-rw-r--r--src/being/playerinfo.cpp20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/being/playerinfo.cpp b/src/being/playerinfo.cpp
index 3d311dd91..169ee5be3 100644
--- a/src/being/playerinfo.cpp
+++ b/src/being/playerinfo.cpp
@@ -24,6 +24,7 @@
#include "client.h"
#include "configuration.h"
#include "depricatedevent.h"
+#include "flooritem.h"
#include "inventory.h"
#include "itemsoundmanager.h"
@@ -321,14 +322,31 @@ void useEquipItem2(const Item *const item, bool sfx)
{
if (mProtectedItems.find(item->getId()) == mProtectedItems.end())
{
- Net::getInventoryHandler()->useItem(item);
if (sfx)
ItemSoundManager::playSfx(item, SOUND_EVENT_USE);
+ Net::getInventoryHandler()->useItem(item);
}
}
}
}
+void dropItem(const Item *const item, const int amount, bool sfx)
+{
+ if (item && mProtectedItems.find(item->getId()) == mProtectedItems.end())
+ {
+ if (sfx)
+ ItemSoundManager::playSfx(item, SOUND_EVENT_DROP);
+ Net::getInventoryHandler()->dropItem(item, amount);
+ }
+}
+
+void pickUpItem(const FloorItem *const item, bool sfx)
+{
+ if (sfx)
+ ItemSoundManager::playSfx(item, SOUND_EVENT_PICKUP);
+ Net::getPlayerHandler()->pickUp(item);
+}
+
// --- Misc -------------------------------------------------------------------
void setBackend(const PlayerInfoBackend &backend)