From d414dc2df4a867554f85cbf5c88cb7e96b4b1016 Mon Sep 17 00:00:00 2001 From: skotlex Date: Fri, 24 Feb 2006 16:03:05 +0000 Subject: - 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 --- Changelog-Trunk.txt | 3 +++ src/map/atcommand.c | 8 ++++++++ 2 files changed, 11 insertions(+) diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index 5610fd0d4..b80338cba 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -6,6 +6,9 @@ GOES INTO TRUNK AND WILL BE MERGED INTO STABLE BY VALARIS AND WIZPUTER. -- VALAR 2006/02/24 + * Prevented guild/party recall to work on GMs of greater level than + yourself. [Skotlex] + * Prevent muting players with higher GM level than yourself. [Skotlex] * Fixed Lady Tanee's spawns. [Skotlex] 2006/02/23 * Fixed the CL_WHITE define, thanks to FlavioJS [Skotlex] 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) -- cgit v1.2.3-70-g09d2