summaryrefslogtreecommitdiffstats
path: root/source/Items
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--source/Items/ItemBow.h1
-rw-r--r--source/Items/ItemThrowable.h6
2 files changed, 7 insertions, 0 deletions
diff --git a/source/Items/ItemBow.h b/source/Items/ItemBow.h
index 845192ef7..1add0dc6d 100644
--- a/source/Items/ItemBow.h
+++ b/source/Items/ItemBow.h
@@ -71,6 +71,7 @@ public:
return;
}
a_Player->GetWorld()->BroadcastSpawnEntity(*Arrow);
+ a_Player->UseEquippedItem();
}
} ;
diff --git a/source/Items/ItemThrowable.h b/source/Items/ItemThrowable.h
index dacdb6157..85579daf2 100644
--- a/source/Items/ItemThrowable.h
+++ b/source/Items/ItemThrowable.h
@@ -28,9 +28,15 @@ public:
virtual bool OnItemUse(cWorld * a_World, cPlayer * a_Player, const cItem & a_Item, int a_BlockX, int a_BlockY, int a_BlockZ, char a_Dir) override
{
+ if (!a_Player->IsGameModeCreative())
+ {
+ a_Player->GetInventory().RemoveOneEquippedItem();
+ }
+
Vector3d Pos = a_Player->GetThrowStartPos();
Vector3d Speed = a_Player->GetLookVector() * m_SpeedCoeff;
a_World->CreateProjectile(Pos.x, Pos.y, Pos.z, m_ProjectileKind, a_Player, &Speed);
+
return true;
}