summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog-Trunk.txt3
-rw-r--r--src/map/atcommand.c16
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