From 0373e06c02d16a30e1cc39da9962618c066d14e7 Mon Sep 17 00:00:00 2001 From: Griffin Smith Date: Tue, 31 Dec 2019 11:23:54 -0500 Subject: Replace previously-wielded items when wielding When wielding a new item, put any previously-wielded items back in the character's backpack. --- src/Xanthous/App.hs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/Xanthous/App.hs b/src/Xanthous/App.hs index 808654e1abe3..1db75bb58565 100644 --- a/src/Xanthous/App.hs +++ b/src/Xanthous/App.hs @@ -250,7 +250,9 @@ handleCommand Wield = do selectItemFromInventory_ ["wield", "menu"] Cancellable asWieldedItem (say_ ["wield", "nothing"]) $ \(MenuResult item) -> do - character . inventory . wielded .= inRightHand item + prevItems <- character . inventory . wielded <<.= inRightHand item + character . inventory . backpack + <>= fromList (prevItems ^.. wieldedItems . wieldedItem) say ["wield", "wielded"] item continue -- cgit 1.4.1