summaryrefslogtreecommitdiff
path: root/src/map/atcommand.c
diff options
context:
space:
mode:
authorshennetsind <shennetsind@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-09-06 19:46:25 +0000
committershennetsind <shennetsind@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-09-06 19:46:25 +0000
commitbd62cbc13d98a977008f42ea6583a33c99516c6b (patch)
tree616f88d262f84ab26bc811b30c6cf44782b0331c /src/map/atcommand.c
parentea58a7cf0ed8f34fd75dbaa11d3c3d7dd2d9012c (diff)
downloadhercules-bd62cbc13d98a977008f42ea6583a33c99516c6b.tar.gz
hercules-bd62cbc13d98a977008f42ea6583a33c99516c6b.tar.bz2
hercules-bd62cbc13d98a977008f42ea6583a33c99516c6b.tar.xz
hercules-bd62cbc13d98a977008f42ea6583a33c99516c6b.zip
Added @cart as per discussion in tid:70389 (mostly greatly helpful for debugging), after some developer discussion we've decided to make @newmount a permanent command, we however decided to rename it so that if newer mounts are available it doesn't confuse anyone: @mount2.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16749 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/atcommand.c')
-rw-r--r--src/map/atcommand.c50
1 files changed, 44 insertions, 6 deletions
diff --git a/src/map/atcommand.c b/src/map/atcommand.c
index 4227013f5..cceb3093e 100644
--- a/src/map/atcommand.c
+++ b/src/map/atcommand.c
@@ -8559,8 +8559,8 @@ ACMD_FUNC(charcommands)
atcommand_commands_sub(sd, fd, COMMAND_CHARCOMMAND);
return 0;
}
-
-ACMD_FUNC(new_mount) {
+/* for new mounts */
+ACMD_FUNC(mount2) {
clif_displaymessage(sd->fd,msg_txt(1362)); // NOTICE: If you crash with mount your LUA is outdated.
if( !(sd->sc.option&OPTION_MOUNTING) ) {
@@ -8779,6 +8779,46 @@ ACMD_FUNC(unloadnpcfile) {
}
return 0;
}
+ACMD_FUNC(cart) {
+#define MC_CART_MDFY(x) \
+ sd->status.skill[MC_PUSHCART].id = x?MC_PUSHCART:0; \
+ sd->status.skill[MC_PUSHCART].lv = x?1:0; \
+ sd->status.skill[MC_PUSHCART].flag = x?1:0;
+
+ int val = atoi(message);
+ bool need_skill = pc_checkskill(sd, MC_PUSHCART) ? false : true;
+
+ if( !message || !*message || val < 0 || val > MAX_CARTS ) {
+ sprintf(atcmd_output, msg_txt(1390),command,MAX_CARTS); // Unknown Cart (usage: %s <0-%d>).
+ clif_displaymessage(fd, atcmd_output);
+ return -1;
+ }
+
+ if( val == 0 && !pc_iscarton(sd) ) {
+ clif_displaymessage(fd, msg_txt(1391)); // You do not possess a cart to be removed
+ return -1;
+ }
+
+ if( need_skill ) {
+ MC_CART_MDFY(1);
+ }
+
+ if( pc_setcart(sd, val) ) {
+ if( need_skill ) {
+ MC_CART_MDFY(0);
+ }
+ return -1;/* @cart failed */
+ }
+
+ if( need_skill ) {
+ MC_CART_MDFY(0);
+ }
+
+ clif_displaymessage(fd, msg_txt(1392)); // Cart Added
+
+ return 0;
+ #undef MC_CART_MDFY
+}
/**
* Fills the reference of available commands in atcommand DBMap
**/
@@ -9032,10 +9072,8 @@ void atcommand_basecommands(void) {
ACMD_DEF(addperm),
ACMD_DEF2("rmvperm", addperm),
ACMD_DEF(unloadnpcfile),
- /**
- * For Testing Purposes, not going to be here after we're done.
- **/
- ACMD_DEF2("newmount", new_mount),
+ ACMD_DEF(cart),
+ ACMD_DEF(mount2)
};
AtCommandInfo* atcommand;
int i;