summaryrefslogtreecommitdiff
path: root/src/map/atcommand.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/atcommand.c')
-rw-r--r--src/map/atcommand.c36
1 files changed, 22 insertions, 14 deletions
diff --git a/src/map/atcommand.c b/src/map/atcommand.c
index 2538f797c..236975b32 100644
--- a/src/map/atcommand.c
+++ b/src/map/atcommand.c
@@ -1776,18 +1776,7 @@ ACMD(bodystyle)
memset(atcmd_output, '\0', sizeof(atcmd_output));
- 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
- && (sd->job & MAPID_THIRDMASK) != MAPID_SORCERER
- && (sd->job & MAPID_THIRDMASK) != MAPID_SURA
- ) {
+ if (!pc->has_second_costume(sd)) {
clif->message(fd, msg_fd(fd, 35)); // This job has no alternate body styles.
return false;
}
@@ -9398,8 +9387,8 @@ ACMD(channel)
} else {
int v = atoi(sub3);
if (k == HCS_OPT_MSG_DELAY) {
- if (v < 0 || v > 10) {
- safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,1451), v, opt_str[k]);// value '%d' for option '%s' is out of range (limit is 0-10)
+ if (v < 0 || v > channel->config->channel_opt_msg_delay) {
+ safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd, 1451), v, opt_str[k], channel->config->channel_opt_msg_delay);// value '%d' for option '%s' is out of range (limit is 0-%d)
clif->message(fd, atcmd_output);
return false;
}
@@ -9810,6 +9799,24 @@ ACMD(reloadclans)
return true;
}
+// show camera window or change camera parameters
+ACMD(camerainfo)
+{
+ if (*message == '\0') {
+ clif->camera_showWindow(sd);
+ return true;
+ }
+ float range = 0;
+ float rotation = 0;
+ float latitude = 0;
+ if (sscanf(message, "%15f %15f %15f", &range, &rotation, &latitude) < 3) {
+ clif->message(fd, msg_fd(fd, 452)); // usage @camerainfo range rotation latitude
+ return false;
+ }
+ clif->camera_change(sd, range, rotation, latitude, SELF);
+ return true;
+}
+
/**
* Fills the reference of available commands in atcommand DBMap
**/
@@ -10092,6 +10099,7 @@ static void atcommand_basecommands(void)
ACMD_DEF(leaveclan),
ACMD_DEF(reloadclans),
ACMD_DEF(setzone),
+ ACMD_DEF(camerainfo),
};
int i;