Веб-сайт самохостера Lotigara

summaryrefslogtreecommitdiff
path: root/source/game/StarPlayer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/game/StarPlayer.cpp')
-rw-r--r--source/game/StarPlayer.cpp19
1 files changed, 11 insertions, 8 deletions
diff --git a/source/game/StarPlayer.cpp b/source/game/StarPlayer.cpp
index 8ce809f..e57400a 100644
--- a/source/game/StarPlayer.cpp
+++ b/source/game/StarPlayer.cpp
@@ -1153,20 +1153,23 @@ uint64_t Player::itemsCanHold(ItemPtr const& items) const {
return m_inventory->itemsCanFit(items);
}
-ItemPtr Player::pickupItems(ItemPtr const& items) {
+ItemPtr Player::pickupItems(ItemPtr const& items, bool silent) {
if (isDead() || !items || m_inventory->itemsCanFit(items) == 0)
return items;
triggerPickupEvents(items);
- if (items->pickupSound().size()) {
- m_effectsAnimator->setSoundPool("pickup", {items->pickupSound()});
- float pitch = 1.f - ((float)items->count() / (float)items->maxStack()) * 0.5f;
- m_effectsAnimator->setSoundPitchMultiplier("pickup", clamp(pitch * Random::randf(0.8f, 1.2f), 0.f, 2.f));
- m_effectsAnimator->playSound("pickup");
+ if (!silent) {
+ if (items->pickupSound().size()) {
+ m_effectsAnimator->setSoundPool("pickup", {items->pickupSound()});
+ float pitch = 1.f - ((float)items->count() / (float)items->maxStack()) * 0.5f;
+ m_effectsAnimator->setSoundPitchMultiplier("pickup", clamp(pitch * Random::randf(0.8f, 1.2f), 0.f, 2.f));
+ m_effectsAnimator->playSound("pickup");
+ }
+ auto itemDb = Root::singleton().itemDatabase();
+ queueItemPickupMessage(itemDb->itemShared(items->descriptor()));
}
- auto itemDb = Root::singleton().itemDatabase();
- queueItemPickupMessage(itemDb->itemShared(items->descriptor()));
+
return m_inventory->addItems(items);
}