Make numbered_names use get_display_name; make dbref display separate method

This commit is contained in:
Griatch 2024-03-09 20:02:18 +01:00
parent d893cfd46e
commit cbe3d4c738
14 changed files with 242 additions and 122 deletions

View file

@ -77,7 +77,15 @@ from collections import defaultdict
from django.conf import settings
from evennia import DefaultCharacter, DefaultObject, default_cmds
from evennia.commands.default.muxcommand import MuxCommand
from evennia.utils import at_search_result, crop, evtable, inherits_from, int2str, iter_to_str
from evennia.utils import (
at_search_result,
crop,
evtable,
group_objects_by_key_and_desc,
inherits_from,
int2str,
iter_to_str,
)
from evennia.utils.ansi import raw as raw_ansi
# Options start here.
@ -660,11 +668,10 @@ class CmdInventory(MuxCommand):
carried = [obj for obj in items if not obj.db.worn]
carry_table = self.styled_table(border="header")
for item in carried:
singular, _ = item.get_numbered_name(1, self.caller)
for key, desc, _ in group_objects_by_key_and_desc(carried, caller=self.caller):
carry_table.add_row(
f"{singular}|n",
"{}|n".format(crop(raw_ansi(item.db.desc or ""), width=50) or ""),
f"{key}|n",
"{}|n".format(crop(raw_ansi(desc or ""), width=50) or ""),
)
message_list.extend(
["|wYou are carrying:|n", str(carry_table) if carry_table.nrows > 0 else " Nothing."]
@ -674,18 +681,17 @@ class CmdInventory(MuxCommand):
worn = [obj for obj in items if obj.db.worn]
wear_table = self.styled_table(border="header")
for item in worn:
singular, _ = item.get_numbered_name(1, self.caller)
for key, desc, _ in group_objects_by_key_and_desc(worn, caller=self.caller):
wear_table.add_row(
f"{singular}|n",
"{}|n".format(crop(raw_ansi(item.db.desc or ""), width=50) or ""),
f"{key}|n",
"{}|n".format(crop(raw_ansi(desc or ""), width=50) or ""),
)
message_list.extend(
["You are wearing:|n", str(wear_table) if wear_table.nrows > 0 else " Nothing."]
)
# return the composite message
self.caller.msg("\n".join(message_list))
self.caller.msg(text=("\n".join(message_list), {"type": "inventory"}))
class ClothedCharacterCmdSet(default_cmds.CharacterCmdSet):