diff options
-rw-r--r-- | Changelog-Trunk.txt | 2 | ||||
-rw-r--r-- | conf/battle/guild.conf | 4 | ||||
-rw-r--r-- | src/map/battle.c | 1 | ||||
-rw-r--r-- | src/map/battle.h | 1 | ||||
-rw-r--r-- | src/map/guild.c | 6 | ||||
-rw-r--r-- | src/map/pc.c | 4 |
6 files changed, 12 insertions, 6 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index c4794189f..370a7e456 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -22,6 +22,8 @@ IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. - small correction to the help text of --with-mysql and --with-pcre - added the -Wno-switch compiler option to suppress the "enumeration value '%s' not handled in switch" warnings + * Added a new setting 'guild_skill_relog_delay' to activate the guild skills delay + on Guild Master relog. [Zephyrus] 2007/11/07 * Some updates on the mail system packets [Zephyrus] - Corrected the mail database structure on main.sql diff --git a/conf/battle/guild.conf b/conf/battle/guild.conf index 2c474552e..9fa3fb424 100644 --- a/conf/battle/guild.conf +++ b/conf/battle/guild.conf @@ -28,6 +28,10 @@ guild_exp_limit: 50 // Maximum castles one guild can own (0 = unlimited) guild_max_castles: 0 +// Activate guild skills delay by relog? (Note 1) +// Oficial setting is "no" but this prevent the abuse of skiping the 5 minutes delay on guild master relog. +guild_skill_relog_delay: no + // Damage adjustments for WOE battles against defending Guild monsters (Note 2) castle_defense_rate: 100 diff --git a/src/map/battle.c b/src/map/battle.c index 1d283e6a1..f8fbd5a68 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -3370,6 +3370,7 @@ static const struct _battle_data { { "chase_range_rate", &battle_config.chase_range_rate, 100, 0, INT_MAX, }, { "gtb_sc_immunity", &battle_config.gtb_sc_immunity, 50, 0, INT_MAX, }, { "guild_max_castles", &battle_config.guild_max_castles, 0, 0, INT_MAX, }, + { "guild_skill_relog_delay", &battle_config.guild_skill_relog_delay 0, 0, 1, }, { "emergency_call", &battle_config.emergency_call, 11, 0, 31, }, { "atcommand_gm_only", &battle_config.atc_gmonly, 0, 0, 1, }, { "atcommand_spawn_quantity_limit", &battle_config.atc_spawn_quantity_limit, 100, 0, INT_MAX, }, diff --git a/src/map/battle.h b/src/map/battle.h index 3ee7d24e5..c2e4af72c 100644 --- a/src/map/battle.h +++ b/src/map/battle.h @@ -173,6 +173,7 @@ extern struct Battle_Config int guild_emperium_check; int guild_exp_limit; int guild_max_castles; + int guild_skill_relog_delay; int emergency_call; int guild_aura; int pc_invincible_time; diff --git a/src/map/guild.c b/src/map/guild.c index 40449baf0..e111a91c3 100644 --- a/src/map/guild.c +++ b/src/map/guild.c @@ -553,10 +553,8 @@ int guild_recv_info(struct guild *sg) guild_check_member(sg); if ((sd = map_nick2sd(sg->master)) != NULL) { - //If the guild master is online the first time the guild_info is received, that means he was the first to join, - //and as such, his guild skills should be blocked to avoid login/logout abuse [Skotlex] - //(optionally) - //guild_block_skill(sd, 300000); + if( battle_config.guild_skill_relog_delay ) + guild_block_skill(sd, 300000); //Also set the guild master flag. sd->state.gmaster_flag = g; diff --git a/src/map/pc.c b/src/map/pc.c index 448a82a4e..0163c21e7 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -885,8 +885,8 @@ int pc_reg_received(struct map_session_data *sd) { // set the Guild Master flag sd->state.gmaster_flag = g; - // (optionally) block Guild Skills to prevent logout/login reuse - //guild_block_skill(sd, 300000); + if( battle_config.guild_skill_relog_delay ) + guild_block_skill(sd, 300000); } status_calc_pc(sd,1); |