summaryrefslogtreecommitdiff
path: root/src/map/atcommand.c
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-02-24 16:03:05 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-02-24 16:03:05 +0000
commitd414dc2df4a867554f85cbf5c88cb7e96b4b1016 (patch)
tree2a4fdf6ca5bef2a033c226a34092284f18d0bd8e /src/map/atcommand.c
parent1fdea80c52244115b2d37c8fccbe9d52e6583cfb (diff)
downloadhercules-d414dc2df4a867554f85cbf5c88cb7e96b4b1016.tar.gz
hercules-d414dc2df4a867554f85cbf5c88cb7e96b4b1016.tar.bz2
hercules-d414dc2df4a867554f85cbf5c88cb7e96b4b1016.tar.xz
hercules-d414dc2df4a867554f85cbf5c88cb7e96b4b1016.zip
- Prevented guild/party recall to work on GMs of greater level than yourself.
- Prevent muting players with higher GM level than yourself. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5388 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/atcommand.c')
-rw-r--r--src/map/atcommand.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/map/atcommand.c b/src/map/atcommand.c
index eb849fb1c..782c822ad 100644
--- a/src/map/atcommand.c
+++ b/src/map/atcommand.c
@@ -5283,6 +5283,8 @@ int atcommand_guildrecall(
for (i = 0; i < users; i++) {
if ((pl_sd = pl_allsd[i]) && sd->status.account_id != pl_sd->status.account_id &&
pl_sd->status.guild_id == g->guild_id) {
+ if (pc_isGM(pl_sd) > pc_isGM(sd))
+ continue; //Skip GMs greater than you.
if (pl_sd->bl.m >= 0 && map[pl_sd->bl.m].flag.nowarp && battle_config.any_warp_GM_min_level > pc_isGM(sd))
count++;
else
@@ -5339,6 +5341,8 @@ int atcommand_partyrecall(
for (i = 0; i < users; i++) {
if ((pl_sd = pl_allsd[i]) && sd->status.account_id != pl_sd->status.account_id &&
pl_sd->status.party_id == p->party_id) {
+ if (pc_isGM(pl_sd) > pc_isGM(sd))
+ continue; //Skip GMs greater than you.
if (pl_sd->bl.m >= 0 && map[pl_sd->bl.m].flag.nowarp && battle_config.any_warp_GM_min_level > pc_isGM(sd))
count++;
else
@@ -8362,6 +8366,10 @@ int atcommand_mute(
}
if ((pl_sd = map_nick2sd(atcmd_player_name)) != NULL) {
+ if (pc_isGM(pl_sd) > pc_isGM(sd)) {
+ clif_displaymessage(fd, msg_table[81]); // Your GM level don't authorise you to do this action on this player.
+ return -1;
+ }
clif_GM_silence(sd, pl_sd, 0);
pl_sd->status.manner -= manner;
if(pl_sd->status.manner < 0)