diff --git a/evennia/commands/default/general.py b/evennia/commands/default/general.py index 93e35efe3e..e06d930ac3 100644 --- a/evennia/commands/default/general.py +++ b/evennia/commands/default/general.py @@ -448,10 +448,6 @@ class CmdWhisper(COMMAND_DEFAULT_CLASS): if not receiver: return - if caller == receiver: - caller.msg("You can't whisper to yourself.") - return - speech = self.rhs # Call a hook to change the speech before whispering speech = caller.at_before_say(speech, whisper=True, receiver=receiver) diff --git a/evennia/objects/objects.py b/evennia/objects/objects.py index 6db36f7299..1e7e4fad69 100644 --- a/evennia/objects/objects.py +++ b/evennia/objects/objects.py @@ -1638,13 +1638,15 @@ class DefaultObject(with_metaclass(TypeclassBase, ObjectDB)): }) if msg_self: - self_mapping = {k: v.get_display_name(self) if hasattr( - v, "get_display_name") else str(v) for k, v in mapping.items()} + self_mapping = {key: "yourself" if key == "receiver" and val is self + else val.get_display_name(self) if hasattr(val, "get_display_name") + else str(val) for key, val in mapping.items()} self.msg(msg_self.format(**self_mapping)) if receiver and msg_receiver: - receiver_mapping = {k: v.get_display_name(receiver) if hasattr( - v, "get_display_name") else str(v) for k, v in mapping.items()} + receiver_mapping = {key: val.get_display_name(receiver) + if hasattr(val, "get_display_name") + else str(val) for key, val in mapping.items()} receiver.msg(msg_receiver.format(**receiver_mapping)) if self.location and msg_location: