diff options
Diffstat (limited to 'src/map/clif.c')
-rw-r--r-- | src/map/clif.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/map/clif.c b/src/map/clif.c index 03432c9e4..01f116cc7 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -10945,6 +10945,8 @@ static void clif_parse_LoadEndAck(int fd, struct map_session_data *sd) } } + bool change_map = (sd->state.changemap != 0); + if (sd->state.changemap != 0) { // Restore information that gets lost on map-change. #if PACKETVER >= 20070918 clif->partyinvitationstate(sd); @@ -10958,8 +10960,6 @@ static void clif_parse_LoadEndAck(int fd, struct map_session_data *sd) clif->zc_config(sd, CZ_CONFIG_HOMUNCULUS_AUTOFEEDING, false); #endif - clif->show_modifiers(sd); - bool flee_penalty = (battle_config.bg_flee_penalty != 100 || battle_config.gvg_flee_penalty != 100); bool is_gvg = (map_flag_gvg2(sd->state.pmap) || map_flag_gvg2(sd->bl.m)); bool is_bg = (map->list[sd->state.pmap].flag.battleground != 0 || map->list[sd->bl.m].flag.battleground != 0); @@ -11008,6 +11008,12 @@ static void clif_parse_LoadEndAck(int fd, struct map_session_data *sd) mail->clear(sd); clif->maptypeproperty2(&sd->bl, SELF); + if (((battle_config.display_rate_messages & 0x1) != 0 && first_time) + || ((battle_config.display_rate_messages & 0x2) != 0 && !first_time && change_map) + || (battle_config.display_rate_messages & 0x4) != 0) { + clif->show_modifiers(sd); + } + // Init guild aura. if (sd->state.gmaster_flag != 0) { guild->aura_refresh(sd, GD_LEADERSHIP, guild->checkskill(sd->guild, GD_LEADERSHIP)); |