diff options
-rw-r--r-- | Changelog.txt | 5 | ||||
-rw-r--r-- | conf-tmpl/battle_athena.conf | 3 | ||||
-rw-r--r-- | db/Changelog.txt | 3 | ||||
-rw-r--r-- | db/skill_nocast_db.txt | 16 | ||||
-rw-r--r-- | src/map/atcommand.c | 5 | ||||
-rw-r--r-- | src/map/battle.c | 8 | ||||
-rw-r--r-- | src/map/battle.h | 3 | ||||
-rw-r--r-- | src/map/guild.c | 16 |
8 files changed, 42 insertions, 17 deletions
diff --git a/Changelog.txt b/Changelog.txt index d355302f0..f26946cd1 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -1,5 +1,10 @@ Date Added 12/5 + * Added allow_atcommand_when_mute - Change this to set whether muted players + can use gm commands [celest] + * Temporarily leaving the changing guild emblems requiring Glory of Guild + feature only for TXT until the SQL char-server supports guild skills fully[celest] + * Modified battle_range again to check if src's type is a player first [celest] * Corrected typo in battle_range [celest] * Fixed a crash where party chats can be sent to a partially disconnected player [MouseJstr] diff --git a/conf-tmpl/battle_athena.conf b/conf-tmpl/battle_athena.conf index 4a338b256..a950720d3 100644 --- a/conf-tmpl/battle_athena.conf +++ b/conf-tmpl/battle_athena.conf @@ -723,6 +723,9 @@ packet_ver_flag: 511 // Allow GMs to mute players or not? muting_players: no +// Allow GM commands to be used when muted? +allow_atcommand_when_mute: yes + // Mail system - Only function in sql version mail_system: no diff --git a/db/Changelog.txt b/db/Changelog.txt index 46945588a..dc6e134f3 100644 --- a/db/Changelog.txt +++ b/db/Changelog.txt @@ -5,6 +5,9 @@ Ayathoya items == Added but no effect ( all are "ect" itens) Skill databases == celest working on them i believe. +12/5 * Edited skill_nocast_db - the skills should be useable outside GvG maps even + if woe is on [celest] + 12/3 * corrected Spider Web's maximum level [celest] * Removed Soul Drain from Professor's skill tree [celest] * Updated Stunner's job - Acolytes and monks should be able to use it too! [celest] diff --git a/db/skill_nocast_db.txt b/db/skill_nocast_db.txt index 158cfbe3b..5669d9235 100644 --- a/db/skill_nocast_db.txt +++ b/db/skill_nocast_db.txt @@ -7,11 +7,11 @@ // 8 - Cannot be used when WoE is on // 16 - Cannot be used in PK Mode maps // Example: 8,6 = Endure cannot be used in PvP and GvG maps (2+4) -8,12 -26,12 -27,12 -87,12 -150,12 -214,12 -361,12 -362,12
\ No newline at end of file +8,4 //SM_ENDURE +26,4 //AL_TELEPORT +27,4 //AL_WARP +87,4 //WZ_ICEWALL +150,4 //TF_BACKSLIDING +214,4 //RG_RAID +361,4 //HP_ASSUMPTIO +362,4 //HP_BASILICA
\ No newline at end of file diff --git a/src/map/atcommand.c b/src/map/atcommand.c index 7accfa639..da3faa97f 100644 --- a/src/map/atcommand.c +++ b/src/map/atcommand.c @@ -670,6 +670,11 @@ is_atcommand(const int fd, struct map_session_data* sd, const char* message, int nullpo_retr(AtCommand_None, sd); + if (!battle_config.allow_atcommand_when_mute && + sd->sc_count && sd->sc_data[SC_NOCHAT].timer != -1) { + return AtCommand_Unknown; + } + if (!message || !*message) return AtCommand_None; diff --git a/src/map/battle.c b/src/map/battle.c index 6b1d68625..df8b583cf 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -4962,14 +4962,13 @@ int battle_check_range(struct block_list *src,struct block_list *bl,int range) if( range>0 && range < arange ) {// 遠すぎる // be lenient if the skill was cast before we have moved to the correct position [Celest] - if (src->type != BL_PC) - return 0; - else if (src->type == BL_PC) { + if (src->type == BL_PC) { struct map_session_data *sd; nullpo_retr(0, (sd=(struct map_session_data *)bl)); if (sd->walktimer != -1 && !((arange-=battle_config.skill_range_leniency)<=range)) return 0; } + else return 0; } if( arange<2 ) // 同じマスか隣接 @@ -5224,6 +5223,7 @@ static const struct { { "night_darkness_level", &battle_config.night_darkness_level}, // [celest] { "skill_range_leniency", &battle_config.skill_range_leniency}, // [celest] { "motd_type", &battle_config.motd_type}, // [celest] + { "allow_atcommand_when_mute", &battle_config.allow_atcommand_when_mute}, // [celest] //SQL-only options start #ifndef TXT_ONLY @@ -5455,6 +5455,8 @@ void battle_set_defaults() { battle_config.night_darkness_level = 9; battle_config.skill_range_leniency = 1; battle_config.motd_type = 0; + battle_config.allow_atcommand_when_mute = 0; + battle_config.castrate_dex_scale = 150; diff --git a/src/map/battle.h b/src/map/battle.h index 32dabb53e..2b901410f 100644 --- a/src/map/battle.h +++ b/src/map/battle.h @@ -323,7 +323,7 @@ extern struct Battle_Config { int any_warp_GM_min_level; // added by [Yor] int packet_ver_flag; // added by [Yor] int muting_players; // added by [Apple] - + int min_hair_style; // added by [MouseJstr] int max_hair_style; // added by [MouseJstr] int min_hair_color; // added by [MouseJstr] @@ -342,6 +342,7 @@ extern struct Battle_Config { int night_darkness_level; // [celest] int skill_range_leniency; // [celest] int motd_type; // [celest] + int allow_atcommand_when_mute; // [celest] #ifndef TXT_ONLY /* SQL-only options */ int mail_system; // [Valaris] diff --git a/src/map/guild.c b/src/map/guild.c index 0943b4b6d..32aa2434c 100644 --- a/src/map/guild.c +++ b/src/map/guild.c @@ -874,11 +874,17 @@ int guild_change_emblem(struct map_session_data *sd,int len,const char *data) nullpo_retr(0, sd); - if ((g = guild_search(sd->status.guild_id)) && guild_checkskill(g, GD_GLORYGUILD)>0) - return intif_guild_emblem(sd->status.guild_id,len,data); - - clif_skill_fail(sd,GD_GLORYGUILD,0,0); - return 0; + /* Temporarily only for TXT until there's proper char server support [Celest] */ + #ifdef TXT_ONLY + if ((g = guild_search(sd->status.guild_id)) && guild_checkskill(g, GD_GLORYGUILD)>0) + return intif_guild_emblem(sd->status.guild_id,len,data); + + clif_skill_fail(sd,GD_GLORYGUILD,0,0); + #else + if ((g = guild_search(sd->status.guild_id))) + return intif_guild_emblem(sd->status.guild_id,len,data); + #endif + return 0; } // ギルドエンブレム変更通知 int guild_emblem_changed(int len,int guild_id,int emblem_id,const char *data) |