aboutsummaryrefslogtreecommitdiff
path: root/src/server_reqs.c
diff options
context:
space:
mode:
authorFranklin Wei <git@fwei.tk>2016-03-29 16:03:47 -0400
committerFranklin Wei <git@fwei.tk>2016-03-29 16:03:47 -0400
commit281bb06f483f571bdbb8e314a5bd951ed671e6d8 (patch)
treecfc7e2a4027574da7266ed61a1d55007d975518c /src/server_reqs.c
parent8426162eb0a463118e77e3fe32b96552565584a1 (diff)
downloadnetcosm-281bb06f483f571bdbb8e314a5bd951ed671e6d8.zip
netcosm-281bb06f483f571bdbb8e314a5bd951ed671e6d8.tar.gz
netcosm-281bb06f483f571bdbb8e314a5bd951ed671e6d8.tar.bz2
netcosm-281bb06f483f571bdbb8e314a5bd951ed671e6d8.tar.xz
fix things
Diffstat (limited to 'src/server_reqs.c')
-rw-r--r--src/server_reqs.c45
1 files changed, 28 insertions, 17 deletions
diff --git a/src/server_reqs.c b/src/server_reqs.c
index eadae9f..676403d 100644
--- a/src/server_reqs.c
+++ b/src/server_reqs.c
@@ -238,24 +238,27 @@ static void req_move_room(unsigned char *data, size_t datalen, struct child_data
/* TODO: bounds checking on `dir' */
room_id new = current->adjacent[dir];
- struct room_t *new_room = room_get(new);
-
- if((!new_room->data.hook_enter ||
- (new_room->data.hook_enter && new_room->data.hook_enter(new, sender))) &&
- (!current->data.hook_leave ||
- (current->data.hook_leave && current->data.hook_leave(sender->room, sender))))
+
+ if(new == ROOM_NONE)
{
- room_user_del(sender->room, sender);
-
- if(new != ROOM_NONE)
- {
-
- child_set_room(sender, new);
- status = 1;
- }
- else
- send_msg(sender, "You cannot go that way.\n");
+ send_msg(sender, "You cannot go that way.\n");
}
+ else
+ {
+ struct room_t *new_room = room_get(new);
+
+ if((!new_room->data.hook_enter ||
+ (new_room->data.hook_enter && new_room->data.hook_enter(new, sender))) &&
+ (!current->data.hook_leave ||
+ (current->data.hook_leave && current->data.hook_leave(sender->room, sender))))
+ {
+ room_user_del(sender->room, sender);
+
+ child_set_room(sender, new);
+ status = 1;
+ }
+ }
+
send_packet(sender, REQ_MOVE, &status, sizeof(status));
}
@@ -423,8 +426,16 @@ static void req_inventory(unsigned char *data, size_t datalen, struct child_data
char *article = (is_vowel(name[0])?"An":"A");
strlcat(buf, article, sizeof(buf));
strlcat(buf, " ", sizeof(buf));
+ strlcat(buf, name, sizeof(buf));
}
- strlcat(buf, name, sizeof(buf));
+ else
+ {
+ char tmp[2];
+ tmp[0] = toupper(name[0]);
+ tmp[1] = '\0';
+ strlcat(buf, tmp, sizeof(buf));
+ strlcat(buf, name + 1, sizeof(buf));
+ }
strlcat(buf, "\n", sizeof(buf));
}
else