From e0867967a8956e5e27251ad47c68fb59d7e1b3ee Mon Sep 17 00:00:00 2001 From: davewiththenicehat <54369722+davewiththenicehat@users.noreply.github.com> Date: Tue, 20 Apr 2021 16:31:30 -0400 Subject: [PATCH] rpsystem.send_emote passes kwargs, uses sender as from_obj rpsystem.send_emote now passes kwargs to obj.msg. rpsystem.send_emote uses sender as from_obj when calling obj.msg All evennia unit tests pass. --- evennia/contrib/rpsystem.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/evennia/contrib/rpsystem.py b/evennia/contrib/rpsystem.py index 107d6c9c06..b5ebed2df7 100644 --- a/evennia/contrib/rpsystem.py +++ b/evennia/contrib/rpsystem.py @@ -480,7 +480,7 @@ def parse_sdescs_and_recogs(sender, candidates, string, search_mode=False): return string, mapping -def send_emote(sender, receivers, emote, anonymous_add="first"): +def send_emote(sender, receivers, emote, anonymous_add="first", **kwargs): """ Main access function for distribute an emote. @@ -508,7 +508,9 @@ def send_emote(sender, receivers, emote, anonymous_add="first"): # we escape the object mappings since we'll do the language ones first # (the text could have nested object mappings). emote = _RE_REF.sub(r"{{#\1}}", emote) - + # if anonymous_add is passed as a kwarg, collect and remove it from kwargs + if 'anonymous_add' in kwargs: + anonymous_add = kwargs.pop('anonymous_add') if anonymous_add and not "#%i" % sender.id in obj_mapping: # no self-reference in the emote - add to the end key = "#%i" % sender.id @@ -566,7 +568,7 @@ def send_emote(sender, receivers, emote, anonymous_add="first"): receiver_sdesc_mapping[rkey] = process_sdesc(receiver.key, receiver) # do the template replacement of the sdesc/recog {#num} markers - receiver.msg(sendemote.format(**receiver_sdesc_mapping)) + receiver.msg(sendemote.format(**receiver_sdesc_mapping), from_obj=sender, **kwargs) # ------------------------------------------------------------