diff options
-rw-r--r-- | Changelog-Trunk.txt | 3 | ||||
-rw-r--r-- | src/map/atcommand.c | 17 | ||||
-rw-r--r-- | src/map/skill.c | 2 |
3 files changed, 20 insertions, 2 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index af50d2014..7554c9a80 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -3,6 +3,9 @@ Date Added AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK. IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. +09/11/02 + * Quick fix to char command checking gm level of the target player instead of the command user (bugreport:3255). [Inkfish] + * Disalbed @jump/@jumpto usage when dead. [Inkfish] 09/11/01 * Rev. 14115 Implemented the fix for Slim Pitcher working on WoESE objects (bugreport:3618). [L0ne_W0lf] * Added SC_SPIRIT to the list of buffs that are dispelled when the player logs out. diff --git a/src/map/atcommand.c b/src/map/atcommand.c index e638d6513..d9b66a2a3 100644 --- a/src/map/atcommand.c +++ b/src/map/atcommand.c @@ -528,7 +528,13 @@ int atcommand_jumpto(const int fd, struct map_session_data* sd, const char* comm clif_displaymessage(fd, msg_txt(248)); // You are not authorized to warp from your current map. return -1; } - + + if( pc_isdead(sd) ) + { + clif_displaymessage(fd, "You cannot use this command when dead."); + return -1; + } + pc_setpos(sd, pl_sd->mapindex, pl_sd->bl.x, pl_sd->bl.y, 3); sprintf(atcmd_output, msg_txt(4), pl_sd->status.name); // Jumped to %s clif_displaymessage(fd, atcmd_output); @@ -554,6 +560,12 @@ int atcommand_jump(const int fd, struct map_session_data* sd, const char* comman return -1; } + if( pc_isdead(sd) ) + { + clif_displaymessage(fd, "You cannot use this command when dead."); + 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)); @@ -8894,6 +8906,7 @@ bool is_atcommand(const int fd, struct map_session_data* sd, const char* message char command[100]; char output[200]; int x, y, z; + int lv = 0; //Reconstructed message char atcmd_msg[200]; @@ -8999,11 +9012,13 @@ bool is_atcommand(const int fd, struct map_session_data* sd, const char* message } //Attempt to use the command + if( strcmpi("adjgmlvl",command+1) && ssd ) { lv = ssd->gmlevel; ssd->gmlevel = sd->gmlevel; } if ( (info->func(fd, (*atcmd_msg == atcommand_symbol) ? sd : ssd, command, params) != 0) ) { sprintf(output,msg_txt(154), command); // %s failed. clif_displaymessage(fd, output); } + if( strcmpi("adjgmlvl",command+1) && ssd ) ssd->gmlevel = lv; //Log atcommands if( log_config.gm && info->level >= log_config.gm && *atcmd_msg == atcommand_symbol ) diff --git a/src/map/skill.c b/src/map/skill.c index 7b995399d..020f8dc27 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -5256,7 +5256,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in // Slim Pitcher case CR_SLIMPITCHER: // Updated to block Slim Pitcher from working on barricades and guardian stones. - if( ( dstmd && dstmd->class_ == MOBID_EMPERIUM ) || ( dstmd && dstmd->class_ >= MOBID_BARRICADE1 && dstmd && dstmd->class_ <= MOBID_GUARIDAN_STONE2 ) ) + if( dstmd && (dstmd->class_ == MOBID_EMPERIUM || (dstmd->class_ >= MOBID_BARRICADE1 && dstmd->class_ <= MOBID_GUARIDAN_STONE2)) ) break; if (potion_hp || potion_sp) { int hp = potion_hp, sp = potion_sp; |