summaryrefslogtreecommitdiff
path: root/src/map/atcommand.c
diff options
context:
space:
mode:
authorKenpachi Developer <Kenpachi.Developer@gmx.de>2020-02-21 05:26:50 +0100
committerKenpachi Developer <Kenpachi.Developer@gmx.de>2020-03-13 09:51:01 +0100
commitf86c32c9d61ca46135dd536635a3750681d1b6e5 (patch)
tree47b410bb7e653b93bd4fdc4e06db6adb3c1bf8c2 /src/map/atcommand.c
parentd65ebbe6b29af6223e588303bc4898a673c1c545 (diff)
downloadhercules-f86c32c9d61ca46135dd536635a3750681d1b6e5.tar.gz
hercules-f86c32c9d61ca46135dd536635a3750681d1b6e5.tar.bz2
hercules-f86c32c9d61ca46135dd536635a3750681d1b6e5.tar.xz
hercules-f86c32c9d61ca46135dd536635a3750681d1b6e5.zip
Implement display options in ACMD(fakename) function
Diffstat (limited to 'src/map/atcommand.c')
-rw-r--r--src/map/atcommand.c20
1 files changed, 18 insertions, 2 deletions
diff --git a/src/map/atcommand.c b/src/map/atcommand.c
index 707522423..cafe3e39f 100644
--- a/src/map/atcommand.c
+++ b/src/map/atcommand.c
@@ -7856,6 +7856,7 @@ ACMD(fakename)
if (sd->fakename[0])
{
sd->fakename[0] = '\0';
+ sd->fakename_options = FAKENAME_OPTION_NONE;
clif->blname_ack(0, &sd->bl);
if( sd->disguise )
clif->blname_ack(sd->fd, &sd->bl);
@@ -7867,13 +7868,28 @@ ACMD(fakename)
return false;
}
- if (strlen(message) < 2)
+ int options = FAKENAME_OPTION_NONE;
+ char buf[NAME_LENGTH] = {'\0'};
+ const char *fake_name = NULL;
+
+ if (sscanf(message, "%d %23[^\n]", &options, buf) == 2) {
+ fake_name = buf;
+ } else {
+ options = FAKENAME_OPTION_NONE;
+ fake_name = message;
+ }
+
+ if (strlen(fake_name) < 2)
{
clif->message(sd->fd, msg_fd(fd,1309)); // Fake name must be at least two characters.
return false;
}
- safestrncpy(sd->fakename, message, sizeof(sd->fakename));
+ if (options < FAKENAME_OPTION_NONE)
+ options = FAKENAME_OPTION_NONE;
+
+ safestrncpy(sd->fakename, fake_name, sizeof(sd->fakename));
+ sd->fakename_options = options;
clif->blname_ack(0, &sd->bl);
if (sd->disguise) // Another packet should be sent so the client updates the name for sd
clif->blname_ack(sd->fd, &sd->bl);