summaryrefslogtreecommitdiff
path: root/asciifarm/client/keybindings.hy
diff options
context:
space:
mode:
Diffstat (limited to 'asciifarm/client/keybindings.hy')
-rw-r--r--asciifarm/client/keybindings.hy47
1 files changed, 18 insertions, 29 deletions
diff --git a/asciifarm/client/keybindings.hy b/asciifarm/client/keybindings.hy
index d91d6f5..d2b129f 100644
--- a/asciifarm/client/keybindings.hy
+++ b/asciifarm/client/keybindings.hy
@@ -1,38 +1,27 @@
-(defmacro send [data]
- `(fn [client] (client.send ~data)))
-(defmacro input [action]
- `(send ["input" ~action]))
-
-(defmacro doall [actions]
- `(fn [client] (for [action ~actions] (action client))))
-
-(defmacro selector [name]
- `(.getSelector (.getDisplay client) ~name))
-
-(defmacro selectorvalue [name]
- `(.getValue (selector ~name)))
+(require [asciifarm.client.keymacros [*]])
(setv commands {
- "w" (input ["move" "north"])
- "s" (input ["move" "south"])
- "d" (input ["move" "east"])
- "a" (input ["move" "west"])
- "KEY_UP" (input ["move" "north"])
- "KEY_DOWN" (input ["move" "south"])
- "KEY_RIGHT" (input ["move" "east"])
- "KEY_LEFT" (input ["move" "west"])
- "e" (input ["take" (selectorvalue "ground")])
- "q" (input ["drop" (selectorvalue "inventory")])
- "E" (input ["use" (selectorvalue "inventory")])
- "r" (input ["interact" (selectorvalue "ground")])
- "f" (doall [
+ "w" (input ["move" "north"])
+ "s" (input ["move" "south"])
+ "d" (input ["move" "east"])
+ "a" (input ["move" "west"])
+ "KEY_UP" (input ["move" "north"])
+ "KEY_DOWN" (input ["move" "south"])
+ "KEY_RIGHT" (input ["move" "east"])
+ "KEY_LEFT" (input ["move" "west"])
+ "e" (input ["take" (selectorvalue "ground")])
+ "q" (input ["drop" (selectorvalue "inventory")])
+ "E" (input ["use" (selectorvalue "inventory")])
+ "r" (input ["interact" (selectorvalue "ground")])
+ "v" (fn [client] (.select (selector "inventory") 1 True True))
+ "c" (fn [client] (.select (selector "ground") 1 True True))
+;; "x" (fn [client] (.select (selector "equipment") 1 True True))
+ "f" (doall [
(input ["attack"])
(input ["attack" "north"])
(input ["attack" "south"])
(input ["attack" "east"])
(input ["attack" "west"])])
- "t" (fn [client] (client.readString))
-
-})
+ "t" (fn [client] (client.readString)) })