mirror of
https://github.com/evennia/evennia.git
synced 2026-03-16 21:06:30 +01:00
Keep GMCP case if outputfunc is capitalized. Resolve #2300.
This commit is contained in:
parent
fbb17585c1
commit
f650533614
2 changed files with 16 additions and 6 deletions
|
|
@ -82,6 +82,8 @@ Up requirements to Django 3.2+
|
|||
obj (avoids mistakenly assigning an AccountDB-typeclass to a Character etc).
|
||||
- Merged `script` and `scripts` commands into one, for both managing global- and
|
||||
on-object Scripts. Moved `CmdScripts` and `CmdObjects` to `commands/default/building.py`.
|
||||
- Keep GMCP function case if outputfunc starts with capital letter (so `cmd_name` -> `Cmd.Name`
|
||||
but `Cmd_nAmE` -> `Cmd.nAmE`). This helps e.g Mudlet's legacy `Client_GUI` implementation)
|
||||
|
||||
### Evennia 0.9.5 (2019-2020)
|
||||
|
||||
|
|
|
|||
|
|
@ -230,12 +230,16 @@ class TelnetOOB:
|
|||
be stripped on the Evennia side.
|
||||
::
|
||||
|
||||
[cmd.name, [], {}] -> Cmd.Name
|
||||
[cmd.name, [arg], {}] -> Cmd.Name arg
|
||||
[cmd.name, [args],{}] -> Cmd.Name [args]
|
||||
[cmd.name, [], {kwargs}] -> Cmd.Name {kwargs}
|
||||
[cmd_name, [], {}] -> Cmd.Name
|
||||
[cmd_name, [arg], {}] -> Cmd.Name arg
|
||||
[cmd_name, [args],{}] -> Cmd.Name [args]
|
||||
[cmd_name, [], {kwargs}] -> Cmd.Name {kwargs}
|
||||
[cmdname, [args, {kwargs}] -> Core.Cmdname [[args],{kwargs}]
|
||||
|
||||
For more flexibility with certain clients, if `cmd_name` is capitalized,
|
||||
Evennia will leave its current capitalization (So CMD_nAmE would be sent
|
||||
as CMD.nAmE but cMD_Name would be Cmd.Name)
|
||||
|
||||
Notes:
|
||||
There are also a few default mappings between evennia outputcmds and GMCP:
|
||||
::
|
||||
|
|
@ -251,9 +255,13 @@ class TelnetOOB:
|
|||
if cmdname in EVENNIA_TO_GMCP:
|
||||
gmcp_cmdname = EVENNIA_TO_GMCP[cmdname]
|
||||
elif "_" in cmdname:
|
||||
gmcp_cmdname = ".".join(word.capitalize() for word in cmdname.split("_"))
|
||||
if cmdname.istitle():
|
||||
# leave without capitalization
|
||||
gmcp_cmdname = ".".join(word for word in cmdname.split("_"))
|
||||
else:
|
||||
gmcp_cmdname = ".".join(word.capitalize() for word in cmdname.split("_"))
|
||||
else:
|
||||
gmcp_cmdname = "Core.%s" % cmdname.capitalize()
|
||||
gmcp_cmdname = "Core.%s" % (cmdname if cmdname.istitle() else cmdname.capitalize())
|
||||
|
||||
if not (args or kwargs):
|
||||
gmcp_string = gmcp_cmdname
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue