|
|
(5 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
− | == Aliases ==
| |
| | | |
− | === Blorples ===
| |
− |
| |
− | [[User:Juliette#Laos]] provides a nice setup.
| |
− |
| |
− | === "with": Klein bottle, tool, money, etc ===
| |
− |
| |
− | I find these kinds of aliases to be rather handy:
| |
− |
| |
− | <pre>alias with-tool get $1$ from backpack; hold $1$ in right hand; $2*$; put $1$ into backpack
| |
− | alias with-money get money from backpack; $*$; put money into backpack
| |
− | alias tactics-hands tactics parry $1$; tactics attack $1$
| |
− | alias with-klein-bottle tactics-hands left; get klein bottle from backpack into right hand; $*$; put klein bottle into backpack; tactics-hands both</pre>
| |
− |
| |
− | === Mind space ===
| |
− |
| |
− | Both Quow's plugins and his website provide a way to check the mind space taken by spells, it's trivial and better to set in the client, but here's an alias as well:
| |
− |
| |
− | <pre>> mindspace-sum mmm nes ccc tpa grg ahsb fnp boa jpct ftf otf ffm wms
| |
− | mmm:25 nes:45 ccc:25 tpa:25 grg:40 ahsb:25 fnp:35 boa:10 jpct:20 ftf:20 otf:15 ffm:15 wms:25
| |
− | Queued command: mindspace-sum-brief mmm nes ccc tpa grg ahsb fnp boa jpct ftf otf ffm wms
| |
− | > 325.000000</pre>
| |
− |
| |
− | <pre>alias mindspace-spell-alias alias mindspace-$1$ \$*\$ + $2$; alias mindspace-print-$1$ \$*\$ $1$:$2$
| |
− |
| |
− | mindspace-spell-alias cts 15
| |
− | mindspace-spell-alias ahsb 25
| |
− | mindspace-spell-alias asb 5
| |
− | mindspace-spell-alias aiw 25
| |
− | mindspace-spell-alias baf 15
| |
− | mindspace-spell-alias bep 50
| |
− | mindspace-spell-alias bfp 10
| |
− | mindspace-spell-alias boa 10
| |
− | mindspace-spell-alias bhee 5
| |
− | mindspace-spell-alias ceib 25
| |
− | mindspace-spell-alias cbb 10
| |
− | mindspace-spell-alias ccc 25
| |
− | mindspace-spell-alias cips 10
| |
− | mindspace-spell-alias cfd 10
| |
− | mindspace-spell-alias cmseq 60
| |
− | mindspace-spell-alias cms2 60
| |
− | mindspace-spell-alias cms 40
| |
− | mindspace-spell-alias ddd 10
| |
− | mindspace-spell-alias dkdd 60
| |
− | mindspace-spell-alias dwfpp 25
| |
− | mindspace-spell-alias dtid 20
| |
− | mindspace-spell-alias eha 30
| |
− | mindspace-spell-alias ehai 10
| |
− | mindspace-spell-alias eham 10
| |
− | mindspace-spell-alias eha2 10
| |
− | mindspace-spell-alias eff 20
| |
− | mindspace-spell-alias esb 10
| |
− | mindspace-spell-alias fci 15
| |
− | mindspace-spell-alias fae 20
| |
− | mindspace-spell-alias ftf 20
| |
− | mindspace-spell-alias ffm 15
| |
− | mindspace-spell-alias fhe 10
| |
− | mindspace-spell-alias ffod 15
| |
− | mindspace-spell-alias fnp 35
| |
− | mindspace-spell-alias gon 30
| |
− | mindspace-spell-alias grtw 25
| |
− | mindspace-spell-alias gct 5
| |
− | mindspace-spell-alias grg 40
| |
− | mindspace-spell-alias gfr 25
| |
− | mindspace-spell-alias heb 30
| |
− | mindspace-spell-alias irv 5
| |
− | mindspace-spell-alias jpct 20
| |
− | mindspace-spell-alias jmc 20
| |
− | mindspace-spell-alias jhsd 75
| |
− | mindspace-spell-alias kof 30
| |
− | mindspace-spell-alias kid 20
| |
− | mindspace-spell-alias kpp 15
| |
− | mindspace-spell-alias mac 10
| |
− | mindspace-spell-alias masi 60
| |
− | mindspace-spell-alias mpol 5
| |
− | mindspace-spell-alias mgagt 30
| |
− | mindspace-spell-alias mwic 10
| |
− | mindspace-spell-alias mvc 5
| |
− | mindspace-spell-alias mmm 25
| |
− | mindspace-spell-alias mmd 10
| |
− | mindspace-spell-alias mvs 30
| |
− | mindspace-spell-alias nes 45
| |
− | mindspace-spell-alias nha 30
| |
− | mindspace-spell-alias nmd 15
| |
− | mindspace-spell-alias otf 15
| |
− | mindspace-spell-alias obbk 25
| |
− | mindspace-spell-alias ptqwb 50
| |
− | mindspace-spell-alias ppp 10
| |
− | mindspace-spell-alias pfg 30
| |
− | mindspace-spell-alias plg 30
| |
− | mindspace-spell-alias pmg 10
| |
− | mindspace-spell-alias pfga 50
| |
− | mindspace-spell-alias reap 20
| |
− | mindspace-spell-alias rpd 5
| |
− | mindspace-spell-alias rps 30
| |
− | mindspace-spell-alias rvrv 10
| |
− | mindspace-spell-alias sssu 30
| |
− | mindspace-spell-alias sss2 30
| |
− | mindspace-spell-alias sss 10
| |
− | mindspace-spell-alias sfper 20
| |
− | mindspace-spell-alias sfp2 20
| |
− | mindspace-spell-alias sfp 10
| |
− | mindspace-spell-alias smr 40
| |
− | mindspace-spell-alias tdcf 20
| |
− | mindspace-spell-alias tig 50
| |
− | mindspace-spell-alias tmc 10
| |
− | mindspace-spell-alias tpa 25
| |
− | mindspace-spell-alias tea 10
| |
− | mindspace-spell-alias updd 25
| |
− | mindspace-spell-alias vhsc 35
| |
− | mindspace-spell-alias www 45
| |
− | mindspace-spell-alias wamg 15
| |
− | mindspace-spell-alias wbps 30
| |
− | mindspace-spell-alias wgs 35
| |
− | mindspace-spell-alias wms 25
| |
− | mindspace-spell-alias yee 35
| |
− |
| |
− | alias mindspace-base math 0
| |
− |
| |
− | alias expand-with-prefix-and-base $ifarg3:$1$-$3$$endif$ $ifarg4:$1$-$4$$endif$ $ifarg5:$1$-$5$$endif$ $ifarg6:$1$-$6$$endif$ $ifarg7:$1$-$7$$endif$ $ifarg8:$1$-$8$$endif$ $ifarg9:$1$-$9$$endif$ $ifarg10:$1$-$10$$endif$ $ifarg11:$1$-$11$$endif$ $ifarg12:$1$-$12$$endif$ $ifarg13:$1$-$13$$endif$ $ifarg14:$1$-$14$$endif$ $ifarg15:$1$-$15$$endif$ $ifarg16:$1$-$16$$endif$ $ifarg17:$1$-$17$$endif$ $ifarg18:$1$-$18$$endif$ $ifarg19:$1$-$19$$endif$ $ifarg20:$1$-$20$$endif$ $ifarg21:$1$-$21$$endif$ $ifarg22:$1$-$22$$endif$ $ifarg23:$1$-$23$$endif$ $ifarg24:$1$-$24$$endif$ $ifarg25:$1$-$25$$endif$ $ifarg26:$1$-$26$$endif$ $ifarg27:$1$-$27$$endif$ $ifarg28:$1$-$28$$endif$ $ifarg29:$1$-$29$$endif$ $ifarg30:$1$-$30$$endif$ $ifarg31:$1$-$31$$endif$ $ifarg32:$1$-$32$$endif$ $ifarg33:$1$-$33$$endif$ $ifarg34:$1$-$34$$endif$ $ifarg35:$1$-$35$$endif$ $ifarg36:$1$-$36$$endif$ $ifarg37:$1$-$37$$endif$ $ifarg38:$1$-$38$$endif$ $ifarg39:$1$-$39$$endif$ $ifarg40:$1$-$40$$endif$ $ifarg41:$1$-$41$$endif$ $ifarg42:$1$-$42$$endif$ $ifarg43:$1$-$43$$endif$ $ifarg44:$1$-$44$$endif$ $ifarg45:$1$-$45$$endif$ $ifarg46:$1$-$46$$endif$ $ifarg47:$1$-$47$$endif$ $ifarg48:$1$-$48$$endif$ $ifarg49:$1$-$49$$endif$ $ifarg50:$1$-$50$$endif$ $2$
| |
− |
| |
− | alias mindspace-sum expand-with-prefix-and-base mindspace-print frimble $*$; mindspace-sum-brief $*$
| |
− | alias mindspace-sum-brief expand-with-prefix-and-base mindspace mindspace-base $*$
| |
− | </pre>
| |
− |
| |
− | === More tricks/problems to investigate ===
| |
− |
| |
− | The aliases are very limited in their capabilities for gathering information from the environment. They can be made to fail or succeed depending on presence of given objects in the inventory (using containers and items needed for aliases to succeed), and maybe with higher covert skills that would also allow to check which NPCs are around by planting items on them (though if they can give some items to players, and/or accept items from them, it could be used for checking as well). Decaying objects may allow to measure time that way (aliases themselves could, but not if there's branching involved). Similarly, alias branching can depend on what's written on a paper, but only using predefined messages: by reading the papers aloud in front of NPCs that react by giving or taking objects in response.
| |
− |
| |
− | Probably it won't be of much use, but it's potentially fun to play with.
| |
− |
| |
− |
| |
− | === Library navigation ===
| |
− |
| |
− | This is awkward/slow and better to set client-side (as I did, see below), but here are aliases that help to keep track of the direction:
| |
− |
| |
− | <pre>alias alias-swap alias rename $1$ to _tmp; alias rename $2$ to $1$; alias rename _tmp to $2$
| |
− | alias alias-rotate alias rename $1$ to _tmp; alias rename $2$ to $1$; alias rename $3$ to $2$; alias rename $4$ to $3$; alias rename _tmp to $4$
| |
− |
| |
− | alias compass-init alias compass-north forward; alias compass-west left; alias compass-east right; alias compass-south backward
| |
− |
| |
− | alias lib-backward alias-swap compass-south compass-north; alias-swap compass-west compass-east
| |
− | alias lib-left alias-rotate compass-north compass-east compass-south compass-west
| |
− | alias lib-right alias-rotate compass-north compass-west compass-south compass-east
| |
− |
| |
− | alias lbw lib-backward; bw; alias compass-north
| |
− | alias lfw fw; alias compass-north
| |
− | alias llt lib-left; left; alias compass-north
| |
− | alias lrt lib-right; right; alias compass-north</pre>
| |
− |
| |
− |
| |
− | == Client-side setup ==
| |
− |
| |
− | Quow's database (comes with Quow's MUSHclient plugins, available from http://quow.co.uk/) is handy to look up items and to read map data for speedwalking. Here is an SQLite view I use for item lookup:
| |
− |
| |
− | <pre>create view shops_and_npcs as
| |
− | select item_name, type, npc_name, sale_price, room_short from
| |
− | (select item_name, 'shop' as type, null as 'npc_name', sale_price, room_id
| |
− | from shop_items
| |
− | union
| |
− | select item_name, 'npc' as type, npc_name, null, room_id
| |
− | from npc_items natural inner join npc_info)
| |
− | natural inner join rooms;</pre>
| |
− |
| |
− | As a client, I use telnet running inside Emacs (shell-mode), via a proxy for speedwalking, with hi-lock-mode for highlighting, and the following minor mode for hunting, walking, library navigation:
| |
− |
| |
− | <pre>;; -*- lexical-binding: t; -*-
| |
− |
| |
− | (defun discworld-issue-command (cmd)
| |
− | (lambda ()
| |
− | (interactive)
| |
− | (comint-simple-send (get-buffer-process (current-buffer))
| |
− | cmd)))
| |
− |
| |
− | (defun discworld-library-enter ()
| |
− | (interactive)
| |
− | (setq discworld-north 'forward)
| |
− | (setq discworld-north-prev 'forward)
| |
− | (funcall (discworld-issue-command "verbose look"))
| |
− | (funcall (discworld-issue-command "north"))
| |
− | (discworld-keys-mode 1))
| |
− |
| |
− | (defun discworld-library-revert ()
| |
− | (interactive)
| |
− | (setq discworld-north discworld-north-prev))
| |
− |
| |
− | (defun discworld-library-move (where)
| |
− | (lambda ()
| |
− | (interactive)
| |
− | (setq discworld-north-prev discworld-north)
| |
− | (setq discworld-north
| |
− | (case where
| |
− | ('forward discworld-north)
| |
− | ('left (case discworld-north
| |
− | ('forward 'right)
| |
− | ('right 'backward)
| |
− | ('backward 'left)
| |
− | ('left 'forward)))
| |
− | ('right (case discworld-north
| |
− | ('forward 'left)
| |
− | ('right 'forward)
| |
− | ('backward 'right)
| |
− | ('left 'backward)))
| |
− | ('backward (case discworld-north
| |
− | ('forward 'backward)
| |
− | ('right 'left)
| |
− | ('backward 'forward)
| |
− | ('left 'right)))))
| |
− | (message "North: %s" (symbol-name discworld-north))
| |
− | (funcall (discworld-issue-command (symbol-name where)))))
| |
− |
| |
− | (setq discworld-keys-mode-map
| |
− | (let ((map (make-sparse-keymap "Discworld keys")))
| |
− | ;; movement
| |
− | (define-key map "f" (discworld-issue-command "n"))
| |
− | (define-key map "p" (discworld-issue-command "ne"))
| |
− | (define-key map "w" (discworld-issue-command "nw"))
| |
− | (define-key map "t" (discworld-issue-command "e"))
| |
− | (define-key map "r" (discworld-issue-command "w"))
| |
− | (define-key map "c" (discworld-issue-command "s"))
| |
− | (define-key map "v" (discworld-issue-command "se"))
| |
− | (define-key map "x" (discworld-issue-command "sw"))
| |
− | ;; other
| |
− | (define-key map "s" (discworld-issue-command "ka"))
| |
− | (define-key map "z" (discworld-issue-command "loot"))
| |
− | (define-key map "a" (discworld-issue-command "lot"))
| |
− | (define-key map "g" (discworld-issue-command "g"))
| |
− | (define-key map "b" (discworld-issue-command "bc"))
| |
− | (define-key map "1" (discworld-issue-command "kl 1"))
| |
− | (define-key map "2" (discworld-issue-command "kl 2"))
| |
− | (define-key map "3" (discworld-issue-command "kl 3"))
| |
− | (define-key map "4" (discworld-issue-command "kl 4"))
| |
− | (define-key map "5" (discworld-issue-command "kl 5"))
| |
− | (define-key map "q" 'discworld-keys-mode)
| |
− |
| |
− | ;; right hand
| |
− | (define-key map "h" (discworld-issue-command "h"))
| |
− | (define-key map "n" (discworld-issue-command "con"))
| |
− | (define-key map "e" (discworld-issue-command "ctpa"))
| |
− | (define-key map [up] (discworld-library-move 'forward))
| |
− | (define-key map [down] (discworld-library-move 'backward))
| |
− | (define-key map [left] (discworld-library-move 'left))
| |
− | (define-key map [right] (discworld-library-move 'right))
| |
− | map))
| |
− |
| |
− |
| |
− | (define-minor-mode discworld-keys-mode
| |
− | "Movement keys"
| |
− | :lighter " DWK"
| |
− | :keymap discworld-keys-mode-map
| |
− | )</pre>
| |