diff options
-rw-r--r-- | Changelog-Trunk.txt | 1 | ||||
-rw-r--r-- | src/map/clif.c | 9 | ||||
-rw-r--r-- | src/map/pc.c | 2 | ||||
-rw-r--r-- | src/map/unit.c | 1 |
4 files changed, 7 insertions, 6 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index 2fbfc2b94..5430166a1 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -6,6 +6,7 @@ IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. 09/05/19 * Added missing packet 0x2c9 and fixed 0x2da's length error. [Inkfish] * Fiberlock now can trap multiple enemies on the same cell and its triggering area was reduced to 1x1. [Inkfish] + * Miracle should only be dispelled on map change. [Inkfish] 09/05/18 * Item-bonuses now use the official default durations for status changes [Playtester] * status calc code cleanup [ultramage] diff --git a/src/map/clif.c b/src/map/clif.c index 13014d7f0..d24007de9 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -8117,11 +8117,6 @@ void clif_parse_LoadEndAck(int fd,struct map_session_data *sd) clif_status_load(&sd->bl, SI_NIGHT, 1); } -#if PACKETVER >= 20070918 - clif_partyinvitationstate(sd); - clif_equipcheckbox(sd); -#endif - // Notify everyone that this char logged in [Skotlex]. map_foreachpc(clif_friendslist_toggle_sub, sd->status.account_id, sd->status.char_id, 1); @@ -8147,6 +8142,10 @@ void clif_parse_LoadEndAck(int fd,struct map_session_data *sd) if( sd->state.changemap ) {// restore information that gets lost on map-change +#if PACKETVER >= 20070918 + clif_partyinvitationstate(sd); + clif_equipcheckbox(sd); +#endif if( (battle_config.bg_flee_penalty != 100 || battle_config.gvg_flee_penalty != 100) && (map_flag_gvg(sd->state.pmap) || map_flag_gvg(sd->bl.m) || map[sd->state.pmap].flag.battleground || map[sd->bl.m].flag.battleground) ) status_calc_bl(&sd->bl, SCB_FLEE); //Refresh flee penalty diff --git a/src/map/pc.c b/src/map/pc.c index 35eb6cd4b..890cbd0bd 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -3838,6 +3838,8 @@ int pc_setpos(struct map_session_data* sd, unsigned short mapindex, int x, int y status_change_end(&sd->bl,SC_MOON_COMFORT,-1); if (sd->sc.data[SC_STAR_COMFORT]) status_change_end(&sd->bl,SC_STAR_COMFORT,-1); + if (sd->sc.data[SC_MIRACLE]) + status_change_end(&sd->bl,SC_MIRACLE,-1); if (sd->sc.data[SC_KNOWLEDGE]) { struct status_change_entry *sce = sd->sc.data[SC_KNOWLEDGE]; if (sce->timer != -1) diff --git a/src/map/unit.c b/src/map/unit.c index dd24c6d16..edb6bca03 100644 --- a/src/map/unit.c +++ b/src/map/unit.c @@ -1769,7 +1769,6 @@ int unit_remove_map_(struct block_list *bl, int clrtype, const char* file, int l if (sc->data[SC_GOSPEL] && sc->data[SC_GOSPEL]->val4 == BCT_SELF) status_change_end(bl,SC_GOSPEL,-1); status_change_end(bl,SC_CHANGE,-1); - status_change_end(bl,SC_MIRACLE,-1); } if (bl->type&BL_CHAR) { |