diff options
| author | Franklin Wei <git@fwei.tk> | 2016-03-29 16:03:47 -0400 |
|---|---|---|
| committer | Franklin Wei <git@fwei.tk> | 2016-03-29 16:03:47 -0400 |
| commit | 281bb06f483f571bdbb8e314a5bd951ed671e6d8 (patch) | |
| tree | cfc7e2a4027574da7266ed61a1d55007d975518c /src/server_reqs.c | |
| parent | 8426162eb0a463118e77e3fe32b96552565584a1 (diff) | |
| download | netcosm-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.c | 45 |
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 |