summaryrefslogtreecommitdiff
path: root/asciifarm/client
diff options
context:
space:
mode:
Diffstat (limited to 'asciifarm/client')
-rw-r--r--asciifarm/client/commandhandler.py15
-rw-r--r--asciifarm/client/gameclient.py3
-rw-r--r--asciifarm/client/inputhandler.py2
3 files changed, 8 insertions, 12 deletions
diff --git a/asciifarm/client/commandhandler.py b/asciifarm/client/commandhandler.py
index 0c3027f..ec5baa3 100644
--- a/asciifarm/client/commandhandler.py
+++ b/asciifarm/client/commandhandler.py
@@ -29,7 +29,7 @@ class CommandHandler:
"selectitem": self.selectItem,
"inputwithselected": self.actWithSelected,
"use": self.useSelected,
- "unuse": self.unUseSelected,
+ "drop": self.dropSelected,
"take": self.takeSelected,
"eval": self.eval,
"exec": self.exec,
@@ -74,7 +74,7 @@ class CommandHandler:
self.input(["say", text])
def pick(self, option):
- self.input(["pick", option])
+ self.input(["interact", [None, "north", "south", "east", "west"], option])
def chat(self, text):
self.client.sendChat( text)
@@ -103,20 +103,15 @@ class CommandHandler:
menu = self.client.display.getSelectedMenu()
selected = self.client.display.getSelectedItem(menu)
if menu in ("inventory", "equipment"):
- action = "use"
+ self.input(["use", menu, selected])
elif menu == "ground":
- action = "interact",
- else:
- return
- self.input([action, selected])
+ self.input(["interact", selected])
- def unUseSelected(self):
+ def dropSelected(self):
menu = self.client.display.getSelectedMenu()
selected = self.client.display.getSelectedItem(menu)
if menu == "inventory":
action = "drop"
- elif menu == "equipment":
- action = "unequip"
else:
return
self.input([action, selected])
diff --git a/asciifarm/client/gameclient.py b/asciifarm/client/gameclient.py
index 4013505..c0f702c 100644
--- a/asciifarm/client/gameclient.py
+++ b/asciifarm/client/gameclient.py
@@ -129,7 +129,8 @@ class Client:
if msgType == "ground":
self.display.setGround(msg[1])
if msgType == "message":
- self.log(*msg[1:])
+ type, text = msg[1][:2]
+ self.log(text, type)
if msgType == "options":
if msg[1] != None:
description, options = msg[1]
diff --git a/asciifarm/client/inputhandler.py b/asciifarm/client/inputhandler.py
index 0657749..4281c01 100644
--- a/asciifarm/client/inputhandler.py
+++ b/asciifarm/client/inputhandler.py
@@ -87,7 +87,7 @@ class InputHandler:
elif key == "^I": # tab
# return to game but keep entered string
self.typing = False
- elif key.isprintable():
+ elif key.isprintable() and len(key) == 1:
self.string = self.string[:self.cursor] + key + self.string[self.cursor:]
self.cursor += len(key)