aboutsummaryrefslogtreecommitdiff
path: root/src/client.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/client.c')
-rw-r--r--src/client.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/client.c b/src/client.c
index 260d73d..3fab9cb 100644
--- a/src/client.c
+++ b/src/client.c
@@ -425,6 +425,17 @@ void client_look_at(char *obj)
send_master(REQ_LOOKAT, obj, strlen(obj) + 1);
}
+void client_take(char *obj)
+{
+ all_lower(obj);
+ send_master(REQ_TAKE, obj, strlen(obj) + 1);
+}
+
+void client_inventory(void)
+{
+ send_master(REQ_PRINTINVENTORY, NULL, 0);
+}
+
#define WSPACE " \t\r\n"
void client_main(int fd, struct sockaddr_in *addr, int total, int to, int from)
@@ -703,6 +714,15 @@ auth:
client_look_at(what);
}
}
+ else if(!strcmp(tok, "INVENTORY"))
+ {
+ client_inventory();
+ }
+ else if(!strcmp(tok, "TAKE"))
+ {
+ char *what = strtok_r(NULL, " ", &save);
+ client_take(what);
+ }
else if(!strcmp(tok, "WAIT"))
{
send_master(REQ_WAIT, NULL, 0);