From a03aeb6f59b12de6712541b452845c723db87aca Mon Sep 17 00:00:00 2001 From: Sylvia Date: Sun, 4 Feb 2024 18:01:14 -0500 Subject: [PATCH] Don't re-throw windrider if it didn't make it back. --- src/dothrow.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/dothrow.c b/src/dothrow.c index bf1ced39f..4837ffdff 100644 --- a/src/dothrow.c +++ b/src/dothrow.c @@ -318,6 +318,14 @@ int shotlimit; remove_worn_item(otmp, FALSE); oldslot = obj->nobj; } + + // If was_thrown flag is set, the item is not in inventory + // and thus can't be thrown again. This largely matters + // for multishot, returnable projectiles like Windrider. + if (otmp->was_thrown) { + break; + } + freeinv(otmp); throwit(otmp, wep_mask, twoweap, oldslot); }