Add toggleable numpad movement (Alt+Enter)

Ports the zMUD/CMUD numpad.set convention: plain numpad for normal
movement, Ctrl+numpad for moving up a level in that direction, and
Ctrl+Alt+numpad for moving down a level, all sent as literal MUD
commands via Accelerator. Alt+Enter toggles the whole set on/off (with
a sound + spoken confirmation) by clearing/restoring the accelerators,
so a disabled numpad types normally instead of doing nothing.

Cleared the numbers/*/-/+ entries in the world's native <keypad> block
since they'd otherwise double-send alongside the new Accelerator-based
bindings - left "." and "/" (hide/inventory) alone since those aren't
part of this feature. Documented the full three-layer key list and the
toggle in the readme.
This commit is contained in:
OlegTheSnowman
2026-07-11 00:14:52 +03:00
parent c3d85360c1
commit 5f43e111be
3 changed files with 157 additions and 13 deletions

View File

@@ -312,44 +312,38 @@
date_saved="2026-07-10 23:31:00"
>
<!-- Numbers, *, -, and + are handled by NumpadMovement.xml (Accelerator-
based, toggleable with Alt+Enter) rather than here, so the two
systems can't double-send. Left blank rather than removed so the
keypad dialog still shows the full grid. -->
<key name="0" >
<send>exits</send>
</key>
<key name="1" >
<send>sw</send>
</key>
<key name="2" >
<send>south</send>
</key>
<key name="3" >
<send>se</send>
</key>
<key name="4" >
<send>west</send>
</key>
<key name="5" >
<send>look</send>
</key>
<key name="6" >
<send>east</send>
</key>
<key name="7" >
<send>nw</send>
</key>
<key name="8" >
<send>north</send>
</key>
<key name="9" >
<send>ne</send>
</key>
<key name="." >
@@ -361,15 +355,12 @@
</key>
<key name="*" >
<send>score</send>
</key>
<key name="-" >
<send>up</send>
</key>
<key name="+" >
<send>down</send>
</key>
<key name="Ctrl+0" >
@@ -457,6 +448,7 @@
<include name="Reconnecter.xml" plugin="y" />
<include name="Repeat_Command.xml" plugin="y" />
<include name="GagManager.xml" plugin="y" />
<include name="NumpadMovement.xml" plugin="y" />
<include name="LuaAudio.xml" plugin="y" />
<include name="CosmicRage.xml" plugin="y" />
</muclient>