diff options
-rw-r--r-- | Changelog-Trunk.txt | 3 | ||||
-rw-r--r-- | src/map/atcommand.c | 16 |
2 files changed, 17 insertions, 2 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index 99ce42486..ada2aa1ee 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -4,6 +4,9 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. +2008/06/11 + * Added partylock/guildlock checking for @changeleader/@changegm + (bugreport:72) [ultramage] 2008/06/10 * Fixed double attack working with unarmed attacks, as reported by Lone Wolf. [Brainstorm] * Added experimental code to set the socket limit at runtime. [FlavioJS] diff --git a/src/map/atcommand.c b/src/map/atcommand.c index 9bf6b710f..2c80db37c 100644 --- a/src/map/atcommand.c +++ b/src/map/atcommand.c @@ -5894,6 +5894,13 @@ int atcommand_changegm(const int fd, struct map_session_data* sd, const char* co clif_displaymessage(fd, "You need to be a Guild Master to use this command."); return -1; } + + if( map[sd->bl.m].flag.guildlock ) + { + clif_displaymessage(fd, "You cannot change guild leaders on this map."); + return -1; + } + if (strlen(message)==0) { clif_displaymessage(fd, "Command usage: @changegm <guildmember name>"); @@ -5926,8 +5933,13 @@ int atcommand_changeleader(const int fd, struct map_session_data* sd, const char return -1; } - for (mi = 0; mi < MAX_PARTY && p->data[mi].sd != sd; mi++); - + if( map[sd->bl.m].flag.partylock ) + { + clif_displaymessage(fd, "You cannot change party leaders on this map."); + return -1; + } + + ARR_FIND( 0, MAX_PARTY, mi, p->data[mi].sd == sd ); if (mi == MAX_PARTY) return -1; //Shouldn't happen |