summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJedzkie <jedzkie13@rocketmail.com>2017-04-19 10:00:46 +0800
committerHaru <haru@dotalux.com>2017-05-01 02:36:59 +0200
commit27e2e06ad3acfa7a43e781d3a7963897b82f16df (patch)
tree27b17f824800cc6738239edfe10aaffa678ee3ca
parent5802b22439441be1914ae9024d6ce06d51c0210f (diff)
downloadhercules-27e2e06ad3acfa7a43e781d3a7963897b82f16df.tar.gz
hercules-27e2e06ad3acfa7a43e781d3a7963897b82f16df.tar.bz2
hercules-27e2e06ad3acfa7a43e781d3a7963897b82f16df.tar.xz
hercules-27e2e06ad3acfa7a43e781d3a7963897b82f16df.zip
Added job checks for @bodystyle command
Signed-off-by: Haru <haru@dotalux.com>
-rw-r--r--conf/messages.conf2
-rw-r--r--src/map/atcommand.c20
2 files changed, 18 insertions, 4 deletions
diff --git a/conf/messages.conf b/conf/messages.conf
index efc8d8a36..1df45ec3f 100644
--- a/conf/messages.conf
+++ b/conf/messages.conf
@@ -59,7 +59,7 @@
32: PvP: On.
33: GvG: Off.
34: GvG: On.
-//35 FREE
+35: This job has no alternate body styles.
36: Appearance changed.
37: An invalid number was specified.
38: Invalid location number, or name.
diff --git a/src/map/atcommand.c b/src/map/atcommand.c
index 881e50497..05c0c3327 100644
--- a/src/map/atcommand.c
+++ b/src/map/atcommand.c
@@ -1714,7 +1714,21 @@ ACMD(bodystyle)
memset(atcmd_output, '\0', sizeof(atcmd_output));
- if (!*message || sscanf(message, "%d", &body_style) < 1) {
+ if ((sd->job & MAPID_THIRDMASK) != MAPID_GUILLOTINE_CROSS
+ && (sd->job & MAPID_THIRDMASK) != MAPID_GENETIC
+ && (sd->job & MAPID_THIRDMASK) != MAPID_MECHANIC
+ && (sd->job & MAPID_THIRDMASK) != MAPID_ROYAL_GUARD
+ && (sd->job & MAPID_THIRDMASK) != MAPID_ARCH_BISHOP
+ && (sd->job & MAPID_THIRDMASK) != MAPID_RANGER
+ && (sd->job & MAPID_THIRDMASK) != MAPID_WARLOCK
+ && (sd->job & MAPID_THIRDMASK) != MAPID_SHADOW_CHASER
+ && (sd->job & MAPID_THIRDMASK) != MAPID_MINSTRELWANDERER
+ ) {
+ clif->message(fd, msg_fd(fd, 35)); // This job has no alternate body styles.
+ return false;
+ }
+
+ if (*message == '\0' || sscanf(message, "%d", &body_style) < 1) {
sprintf(atcmd_output, "Please, enter a body style (usage: @bodystyle <body ID: %d-%d>).", MIN_BODY_STYLE, MAX_BODY_STYLE);
clif->message(fd, atcmd_output);
return false;
@@ -1722,9 +1736,9 @@ ACMD(bodystyle)
if (body_style >= MIN_BODY_STYLE && body_style <= MAX_BODY_STYLE) {
pc->changelook(sd, LOOK_BODY2, body_style);
- clif->message(fd, msg_txt(36)); // Appearence changed.
+ clif->message(fd, msg_fd(fd, 36)); // Appearence changed.
} else {
- clif->message(fd, msg_txt(37)); // An invalid number was specified.
+ clif->message(fd, msg_fd(fd, 37)); // An invalid number was specified.
return false;
}