summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsketchyphoenix <sketchyphoenix@54d463be-8e91-2dee-dedb-b68131a5f0ec>2008-08-07 21:07:31 +0000
committersketchyphoenix <sketchyphoenix@54d463be-8e91-2dee-dedb-b68131a5f0ec>2008-08-07 21:07:31 +0000
commit75e25456f77add4d6b38980f43fa1d0fca060d50 (patch)
tree3e14fe99f8ac51e2be510dede70c42b11bd0adab
parent67402d4edc42f520f50ecd87f4d34073e465251c (diff)
downloadhercules-75e25456f77add4d6b38980f43fa1d0fca060d50.tar.gz
hercules-75e25456f77add4d6b38980f43fa1d0fca060d50.tar.bz2
hercules-75e25456f77add4d6b38980f43fa1d0fca060d50.tar.xz
hercules-75e25456f77add4d6b38980f43fa1d0fca060d50.zip
* Added another GM trust config for party invitations (bugreport:2004)
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13051 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r--Changelog-Trunk.txt2
-rw-r--r--conf/battle/gm.conf10
-rw-r--r--src/map/battle.c2
-rw-r--r--src/map/battle.h2
-rw-r--r--src/map/party.c11
5 files changed, 26 insertions, 1 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt
index da68356b9..84a8528af 100644
--- a/Changelog-Trunk.txt
+++ b/Changelog-Trunk.txt
@@ -3,6 +3,8 @@ 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.
+2008/08/07
+ * Added another GM trust config for party invitations (bugreport:2004) [SketchyPhoenix]
2008/08/04
* Added configs for quest table name adjustment (bugreport:1778)
2008/08/02
diff --git a/conf/battle/gm.conf b/conf/battle/gm.conf
index ff0b1126a..0443875fa 100644
--- a/conf/battle/gm.conf
+++ b/conf/battle/gm.conf
@@ -96,6 +96,16 @@ disp_hpmeter: 0
// (Default: 0 = Disabled).
gm_viewequip_min_lv: 0
+// Can GMs invite non GMs to a party? (Note 1)
+// set to 'No', GMs under the party invite trust level may not invite non GMs to a party.
+// set to 'Yes', All GMs can invite any player to a party.
+// Also, as long as this is off, players cannot invite GMs to a party as well.
+gm_can_party: no
+
+//The trust level for GMs to invite to a party. Any GMs ABOVE this level will be able to invite normal
+//players into their party in addittion to other GMs. (regardless of gm_can_party)
+gm_cant_party_max_lv: 80
+
// Players Titles (check msg_athena.conf for title strings)
// You may assign different titles for your Players and GMs
title_lvl1: 1
diff --git a/src/map/battle.c b/src/map/battle.c
index cf7a64c0f..69b4d2dd9 100644
--- a/src/map/battle.c
+++ b/src/map/battle.c
@@ -3403,6 +3403,8 @@ static const struct _battle_data {
{ "gm_skill_unconditional", &battle_config.gm_skilluncond, 0, 0, 100, },
{ "gm_join_chat", &battle_config.gm_join_chat, 0, 0, 100, },
{ "gm_kick_chat", &battle_config.gm_kick_chat, 0, 0, 100, },
+ { "gm_can_party", &battle_config.gm_can_party, 0, 0, 1, },
+ { "gm_cant_party_max_lv", &battle_config.gm_cant_party_max_lv, 80, 0, 100, },
{ "player_skillfree", &battle_config.skillfree, 0, 0, 1, },
{ "player_skillup_limit", &battle_config.skillup_limit, 1, 0, 1, },
{ "weapon_produce_rate", &battle_config.wp_rate, 100, 0, INT_MAX, },
diff --git a/src/map/battle.h b/src/map/battle.h
index cb3b0f265..921d5f81d 100644
--- a/src/map/battle.h
+++ b/src/map/battle.h
@@ -328,6 +328,8 @@ extern struct Battle_Config
int disp_hpmeter;
int bone_drop;
int buyer_name;
+ int gm_cant_party_max_lv;
+ int gm_can_party; // [SketchyPhoenix]
// eAthena additions
int night_at_start; // added by [Yor]
diff --git a/src/map/party.c b/src/map/party.c
index 82cecc3ff..0de52d5c8 100644
--- a/src/map/party.c
+++ b/src/map/party.c
@@ -287,7 +287,16 @@ int party_invite(struct map_session_data *sd,struct map_session_data *tsd)
nullpo_retr(0, sd);
if (p==NULL)
return 0;
-
+
+ if ( (pc_isGM(sd) && !pc_isGM(tsd) && !battle_config.gm_can_party && pc_isGM(sd) < battle_config.gm_cant_party_max_lv)
+ || ( !pc_isGM(sd) && pc_isGM(tsd) && !battle_config.gm_can_party ) )
+ {
+ //GMs can't invite non GMs to the party if not above the invite trust level
+ //Likewise, as long as gm_can_party is off, players can't invite GMs.
+ clif_displaymessage(sd->fd, msg_txt(81));
+ return 0;
+ }
+
if(tsd==NULL) { //TODO: Find the correct reply packet.
clif_displaymessage(sd->fd, msg_txt(3));
return 0;