diff options
author | skyleo <skyleo@skyleo.de> | 2019-10-05 16:04:21 +0200 |
---|---|---|
committer | skyleo <skyleo@skyleo.de> | 2019-10-05 16:04:21 +0200 |
commit | cf7ae9dc524231c41bbdc806451c928a24e146fa (patch) | |
tree | 3875c67d854d62eb8f80cd3fca260e2b68f60948 /src/map/status.c | |
parent | d026e28fd78f60dfa21da381f17f2a8cc9ae3d11 (diff) | |
download | hercules-cf7ae9dc524231c41bbdc806451c928a24e146fa.tar.gz hercules-cf7ae9dc524231c41bbdc806451c928a24e146fa.tar.bz2 hercules-cf7ae9dc524231c41bbdc806451c928a24e146fa.tar.xz hercules-cf7ae9dc524231c41bbdc806451c928a24e146fa.zip |
Fix HP bar not showing when unhiding in a party
Diffstat (limited to 'src/map/status.c')
-rw-r--r-- | src/map/status.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/map/status.c b/src/map/status.c index 71cce28c5..6d37032c0 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -10189,7 +10189,7 @@ static void status_change_start_stop_action(struct block_list *bl, enum sc_type switch (type) { case SC_VACUUM_EXTREME: if (!map_flag_gvg(bl->m)) - unit->stop_walking(bl,1); + unit->stop_walking(bl, STOPWALKING_FLAG_FIXPOS); break; case SC_FREEZE: case SC_STUN: @@ -10742,9 +10742,7 @@ static int status_change_end_(struct block_list *bl, enum sc_type type, int tid, struct status_data *st; struct view_data *vd; int opt_flag=0, calc_flag; -#ifdef ANTI_MAYAP_CHEAT bool invisible = false; -#endif nullpo_ret(bl); @@ -10799,10 +10797,8 @@ static int status_change_end_(struct block_list *bl, enum sc_type type, int tid, status->display_remove(sd,type); } -#ifdef ANTI_MAYAP_CHEAT - if (sc->option&(OPTION_HIDE|OPTION_CLOAK|OPTION_INVISIBLE)) + if ((sc->option & (OPTION_HIDE | OPTION_CLOAK | OPTION_INVISIBLE)) != 0) invisible = true; -#endif vd = status->get_viewdata(bl); calc_flag = status->dbs->ChangeFlagTable[type]; @@ -11429,6 +11425,12 @@ static int status_change_end_(struct block_list *bl, enum sc_type type, int tid, } #endif + // update HP bar when becoming visible again + if (invisible && (sc->option & (OPTION_HIDE | OPTION_CLOAK | OPTION_INVISIBLE)) == 0) { + if (sd != NULL && battle_config.party_hp_mode == 0 && sd->status.party_id != 0) + clif->party_hp(sd); + } + if (calc_flag&SCB_DYE) { //Restore DYE color if (vd && !vd->cloth_color && sce->val4) clif->changelook(bl,LOOK_CLOTHES_COLOR,sce->val4); |