<!-- Keep the title short & concise so anyone non-technical can
understand it,
the title appears in PTB changelogs -->
#### Brief overview of PR changes/additions
MXP text effects (incl. all aliases) are now rendered.
Colour and text effects in open mode auto-close at end of line
#### Motivation for adding to Mudlet
Improve MXP compliance
#### Other info (issues closed, discussion etc)
[MXP enhancements, was PR
#4200](https://forums.mudlet.org/viewtopic.php?f=7&t=23206)
<!-- Keep the title short & concise so anyone non-technical can
understand it,
the title appears in PTB changelogs -->
#### Brief overview of PR changes/additions
Custom Element Definition and Handler are changed to handle default
values by ATT="EntityName=DefaultValue" as specified in the MXP protocol
definition.
#### Motivation for adding to Mudlet
Improve MXP compliance.
#### Other info (issues closed, discussion etc)
To see this issue (in addition to reviewing the test code coming with
this PR):
connect to aldebaran-mud.de port 2000
login as guest
y (confirm you want to login as a guest)
Now do:
who
Notice the mouse-over hint on your (or another players) name in the who
output.
Right click and try some commands. Admittedly guest has no finger info,
and the game does not allow you to tell to yourself (and you have to
wait for a few minutes for your mana to build up for tell), so you can't
really do much.
Alternatively, you can just login with another guest character (but
mudlet needs a second game profile for this) and "look". The issue is
the same with the short description of the other guest character. But
here you can also select "whisper" from the menu, which will work
nicely.
BTW, all commands are just copied in the input line, even for "finger
guest" you have to hit enter. This is by design / limitation of the MXP
SEND command (you cannot choose 'PROMPT' per menu entry, only globally).
With the current mudlet version this does not work. This is due to the
definition:
<!EL PL '<SEND "tell &NAME; |finger &NAME; " HINT="tell
&NAME;|finger &NAME;" PROMPT>' ATT='NAME=someone'>
Mudlet misinterpretes 'NAME=someone' as the whole name of the entity,
not just NAME.
The effect of the default value 'someone' is not easy to demonstrate,
except when you can find an invisible wizard and convince him to to
interact with you. However, you can do:
say ^<PL player_id>Test1</PL>
and
say ^<PL>Test2</PL>
and see/use the menus created by/in Mudlet for the echo of Test1 and
Test2. You'll see how it refers to player_id or someone.
Note that Mudlet should actually not evaluate the PL tag in the say
command, as it is a secure MXP tag and the session is in open mode at
this time. However, Mudlet does not honor this security measure as of
now, which is another, unrelated, issue.