From b51e174bdc158187fc110dc4a947946d3dc329c1 Mon Sep 17 00:00:00 2001 From: Kae <80987908+Novaenia@users.noreply.github.com> Date: Fri, 18 Aug 2023 20:03:06 +1000 Subject: Item drops inherit player velocity, other stuff --- source/game/StarItemDrop.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'source/game/StarItemDrop.cpp') diff --git a/source/game/StarItemDrop.cpp b/source/game/StarItemDrop.cpp index 895e4bb..8114de4 100644 --- a/source/game/StarItemDrop.cpp +++ b/source/game/StarItemDrop.cpp @@ -38,7 +38,7 @@ ItemDropPtr ItemDrop::createRandomizedDrop(ItemDescriptor const& descriptor, Vec return itemDrop; } -ItemDropPtr ItemDrop::throwDrop(ItemPtr const& item, Vec2F const& position, Vec2F const& direction, bool eternal) { +ItemDropPtr ItemDrop::throwDrop(ItemPtr const& item, Vec2F const& position, Vec2F const& velocity, Vec2F const& direction, bool eternal) { if (!item) return {}; @@ -47,7 +47,7 @@ ItemDropPtr ItemDrop::throwDrop(ItemPtr const& item, Vec2F const& position, Vec2 ItemDropPtr itemDrop = make_shared(item); itemDrop->setPosition(position); if (direction != Vec2F()) - itemDrop->setVelocity(vnorm(direction) * idconfig.getFloat("throwSpeed")); + itemDrop->setVelocity(velocity + vnorm(direction) * idconfig.getFloat("throwSpeed")); itemDrop->setEternal(eternal); itemDrop->setIntangibleTime(idconfig.getFloat("throwIntangibleTime")); @@ -55,12 +55,12 @@ ItemDropPtr ItemDrop::throwDrop(ItemPtr const& item, Vec2F const& position, Vec2 return itemDrop; } -ItemDropPtr ItemDrop::throwDrop(ItemDescriptor const& itemDescriptor, Vec2F const& position, Vec2F const& direction, bool eternal) { +ItemDropPtr ItemDrop::throwDrop(ItemDescriptor const& itemDescriptor, Vec2F const& position, Vec2F const& velocity, Vec2F const& direction, bool eternal) { if (!itemDescriptor || itemDescriptor.isEmpty()) return {}; auto itemDatabase = Root::singleton().itemDatabase(); - auto itemDrop = throwDrop(itemDatabase->item(itemDescriptor), position, direction); + auto itemDrop = throwDrop(itemDatabase->item(itemDescriptor), position, velocity, direction); itemDrop->setEternal(eternal); return itemDrop; -- cgit v1.2.3