diff options
author | Andrei Karas <akaras@inbox.ru> | 2016-07-10 16:27:17 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2016-07-10 16:27:17 +0300 |
commit | 26881acaf4aa3bcc0296d382f333bce57fda82a7 (patch) | |
tree | 2d5c9fc2b553c28a95335917e2c3ab45eb3e0a21 | |
parent | 5bdf402cff0d71b3791ee7782280b8889a51e10e (diff) | |
download | hercules-26881acaf4aa3bcc0296d382f333bce57fda82a7.tar.gz hercules-26881acaf4aa3bcc0296d382f333bce57fda82a7.tar.bz2 hercules-26881acaf4aa3bcc0296d382f333bce57fda82a7.tar.xz hercules-26881acaf4aa3bcc0296d382f333bce57fda82a7.zip |
Use different interface members for start sc effects and show started effect to other.
Added interface member clif->sc_continue for already started effects.
-rw-r--r-- | src/map/clif.c | 5 | ||||
-rw-r--r-- | src/map/clif.h | 1 |
2 files changed, 4 insertions, 2 deletions
diff --git a/src/map/clif.c b/src/map/clif.c index 0f6e985fd..9619a7201 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -1455,7 +1455,7 @@ bool clif_spawn(struct block_list *bl) if (sd->bg_id != 0 && map->list[sd->bl.m].flag.battleground) clif->sendbgemblem_area(sd); for (i = 0; i < sd->sc_display_count; i++) { - clif->sc_load(&sd->bl, sd->bl.id,AREA,status->dbs->IconChangeTable[sd->sc_display[i]->type],sd->sc_display[i]->val1,sd->sc_display[i]->val2,sd->sc_display[i]->val3); + clif->sc_continue(&sd->bl, sd->bl.id,AREA,status->dbs->IconChangeTable[sd->sc_display[i]->type],sd->sc_display[i]->val1,sd->sc_display[i]->val2,sd->sc_display[i]->val3); } if (sd->charm_type != CHARM_TYPE_NONE && sd->charm_count > 0) clif->spiritcharm(sd); @@ -4186,7 +4186,7 @@ void clif_getareachar_pc(struct map_session_data* sd,struct map_session_data* ds clif->charm_single(sd->fd, dstsd); for( i = 0; i < dstsd->sc_display_count; i++ ) { - clif->sc_load(&sd->bl,dstsd->bl.id,SELF,status->dbs->IconChangeTable[dstsd->sc_display[i]->type],dstsd->sc_display[i]->val1,dstsd->sc_display[i]->val2,dstsd->sc_display[i]->val3); + clif->sc_continue(&sd->bl,dstsd->bl.id,SELF,status->dbs->IconChangeTable[dstsd->sc_display[i]->type],dstsd->sc_display[i]->val1,dstsd->sc_display[i]->val2,dstsd->sc_display[i]->val3); } if( (sd->status.party_id && dstsd->status.party_id == sd->status.party_id) || //Party-mate, or hpdisp setting. (sd->bg_id && sd->bg_id == dstsd->bg_id) || //BattleGround @@ -19319,6 +19319,7 @@ void clif_defaults(void) { clif->autoshadowspell_list = clif_autoshadowspell_list; clif->skill_itemlistwindow = clif_skill_itemlistwindow; clif->sc_load = clif_status_change2; + clif->sc_continue = clif_status_change2; clif->sc_end = clif_status_change_end; clif->initialstatus = clif_initialstatus; clif->cooldown_list = clif_skill_cooldown_list; diff --git a/src/map/clif.h b/src/map/clif.h index df8b8f59c..2e324d28c 100644 --- a/src/map/clif.h +++ b/src/map/clif.h @@ -791,6 +791,7 @@ struct clif_interface { int (*autoshadowspell_list) (struct map_session_data *sd); int (*skill_itemlistwindow) ( struct map_session_data *sd, uint16 skill_id, uint16 skill_lv ); void (*sc_load) (struct block_list *bl, int tid, enum send_target target, int type, int val1, int val2, int val3); + void (*sc_continue) (struct block_list *bl, int tid, enum send_target target, int type, int val1, int val2, int val3); void (*sc_end) (struct block_list *bl, int tid, enum send_target target, int type); void (*initialstatus) (struct map_session_data *sd); void (*cooldown_list) (int fd, struct skill_cd* cd); |