From 8b37bd7acf6fb8d6a08fe8f99a641ba98fe3f1ac Mon Sep 17 00:00:00 2001 From: mike Date: Sun, 4 Feb 2024 09:27:40 -0800 Subject: [PATCH] Added stacking to clothing contrib's inventory command. --- evennia/contrib/game_systems/clothing/clothing.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/evennia/contrib/game_systems/clothing/clothing.py b/evennia/contrib/game_systems/clothing/clothing.py index bbadc36386..a0f57c5398 100644 --- a/evennia/contrib/game_systems/clothing/clothing.py +++ b/evennia/contrib/game_systems/clothing/clothing.py @@ -658,12 +658,17 @@ class CmdInventory(MuxCommand): wear_table = evtable.EvTable(border="header") carried = [obj for obj in items if not obj.db.worn] + # Build and populate a dict for tallying items + carried_sums = {obj.get_display_name(): 0 for obj in set(carried)} + for obj in carried: + carried_sums[obj.get_display_name()] += 1 + worn = [obj for obj in items if obj.db.worn] message_list.append("|wYou are carrying:|n") - for item in carried: + for key, value in carried_sums.items(): carry_table.add_row( - item.get_display_name(self.caller), item.get_display_desc(self.caller) + f"({value})" if value > 1 else "", key ) if carry_table.nrows == 0: carry_table.add_row("Nothing.", "")