summaryrefslogtreecommitdiff
path: root/src/char/int_party.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/char/int_party.c')
-rw-r--r--src/char/int_party.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/char/int_party.c b/src/char/int_party.c
index 99c568a50..a16735b64 100644
--- a/src/char/int_party.c
+++ b/src/char/int_party.c
@@ -430,6 +430,22 @@ int mapif_parse_CreateParty(int fd, int account_id, int char_id, char *name, cha
mapif_party_created(fd, account_id, char_id, NULL);
return 0;
}
+
+ // Check Authorised letters/symbols in the name of the character
+ if (char_name_option == 1) { // only letters/symbols in char_name_letters are authorised
+ for (i = 0; i < NAME_LENGTH && name[i]; i++)
+ if (strchr(char_name_letters, name[i]) == NULL) {
+ mapif_party_created(fd, account_id, char_id, NULL);
+ return 0;
+ }
+ } else if (char_name_option == 2) { // letters/symbols in char_name_letters are forbidden
+ for (i = 0; i < NAME_LENGTH && name[i]; i++)
+ if (strchr(char_name_letters, name[i]) != NULL) {
+ mapif_party_created(fd, account_id, char_id, NULL);
+ return 0;
+ }
+ }
+
p = (struct party *) aCalloc(sizeof(struct party), 1);
if (p == NULL) {
ShowFatalError("int_party: out of memory !\n");