summaryrefslogtreecommitdiff
path: root/src/map/atcommand.c
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2008-03-04 18:04:04 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2008-03-04 18:04:04 +0000
commitb0c94b71b90c7ed4d3199e0ad019073c3f75f800 (patch)
treec1bb56b010b1573a812002d0c8c60e5996997512 /src/map/atcommand.c
parent073d27498e3c63b64e9926c0ada83e3868aadc8f (diff)
downloadhercules-b0c94b71b90c7ed4d3199e0ad019073c3f75f800.tar.gz
hercules-b0c94b71b90c7ed4d3199e0ad019073c3f75f800.tar.bz2
hercules-b0c94b71b90c7ed4d3199e0ad019073c3f75f800.tar.xz
hercules-b0c94b71b90c7ed4d3199e0ad019073c3f75f800.zip
- Updated firepillar so it cannot be placed on top of others.
- Updated the firepillar code so it behaves like the other traps. - Changed the default format for @me and @main to avoid crashes on the newer clients. - Fixed the char-sql server so it returns a valid 'not found' packet when attempting to load a non-existing homunculus. - Fixed jump to use 0,0 for random coordinates rather than -1,-1 - Added missing \n to error reporting in getmonsterinfo - Additional status changes now only get triggered if the attack did damage, not if they get absorbed. - Fixed a logical comparison in unit_free to properly remove pets/homuncs when their intimacy is reduced to 0. - Properly set the opt3 value for Moonlight, Changeundead and Soul Link - Fixed the "no equip" flag of cards not being properly applied when attemting to equip items. - Added a check to avoid invoking pet menu entries when the pet is incuvated. - Fixed the session_data de-association in chrif_auth_delete - Cleaned chrif_auth_ok so that the latest received char info is kept when previous char login data was already in there. - Corrected docs mentioning non-existing flag 'mf_nopvp' git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@12293 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/atcommand.c')
-rw-r--r--src/map/atcommand.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/map/atcommand.c b/src/map/atcommand.c
index 7b1e4c483..dbb9c1aed 100644
--- a/src/map/atcommand.c
+++ b/src/map/atcommand.c
@@ -545,14 +545,17 @@ int atcommand_jump(const int fd, struct map_session_data* sd, const char* comman
sscanf(message, "%d %d", &x, &y);
- if (x <= 0) //If coordinates are 'wrong', random jump.
- x = -1;
- if (y <= 0)
- y = -1;
- if (sd->bl.m >= 0 && map[sd->bl.m].flag.noteleport && battle_config.any_warp_GM_min_level > pc_isGM(sd)) {
+ if (map[sd->bl.m].flag.noteleport && battle_config.any_warp_GM_min_level > pc_isGM(sd)) {
clif_displaymessage(fd, msg_txt(248)); // You are not authorized to warp from your current map.
return -1;
}
+
+ if ((x || y) && map_getcell(sd->bl.m, x, y, CELL_CHKNOPASS))
+ { //This is to prevent the pc_setpos call from printing an error.
+ clif_displaymessage(fd, msg_txt(2));
+ x = y = 0; //Invalid cell, use random spot.
+ }
+
pc_setpos(sd, sd->mapindex, x, y, 3);
sprintf(atcmd_output, msg_txt(5), sd->bl.x, sd->bl.y); // Jumped to %d %d
clif_displaymessage(fd, atcmd_output);