* Miracle should only be dispelled on map change.

* The "party invite" and "view equip" state messages are ought to be sent on every map change instead of login.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13793 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
Inkfish 2009-05-19 10:06:05 +00:00
parent dbb4774882
commit 2b1109483f
4 changed files with 7 additions and 6 deletions

View File

@ -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]

View File

@ -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

View File

@ -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)

View File

@ -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) {