summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog-Trunk.txt1
-rw-r--r--src/map/clif.c9
-rw-r--r--src/map/pc.c2
-rw-r--r--src/map/unit.c1
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) {