diff options
Diffstat (limited to 'src/map/clif.c')
-rw-r--r-- | src/map/clif.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/map/clif.c b/src/map/clif.c index 30903872d..d08bb3868 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -11172,6 +11172,13 @@ void clif_parse_ChangeCart(int fd,struct map_session_data *sd) if( sd && pc->checkskill(sd, MC_CHANGECART) < 1 ) return; +#ifdef RENEWAL + if( sd->npc_id || sd->state.workinprogress&1 ){ + clif->msg(sd, 0x783); + return; + } +#endif + type = (int)RFIFOW(fd,2); #ifdef NEW_CARTS if( (type == 9 && sd->status.base_level > 131) || @@ -11425,6 +11432,13 @@ void clif_parse_UseSkillToPosSub(int fd, struct map_session_data *sd, uint16 ski clif->pUseSkillToPos_mercenary(sd->md, sd, tick, skill_id, skill_lv, x, y, skillmoreinfo); return; } + +#ifdef RENEWAL + if( sd->state.workinprogress&1 ){ + clif->msg(sd, 0x783); // TODO look for the client date that has this message. + return; + } +#endif //Whether skill fails or not is irrelevant, the char ain't idle. [Skotlex] sd->idletime = last_tick; @@ -11529,7 +11543,9 @@ void clif_parse_UseSkillMap(int fd, struct map_session_data* sd) { uint16 skill_id = RFIFOW(fd,2); char map_name[MAP_NAME_LENGTH]; + mapindex_getmapname((char*)RFIFOP(fd,4), map_name); + sd->state.workinprogress = 0; if(skill_id != sd->menuskill_id) return; @@ -11782,6 +11798,7 @@ void clif_parse_AutoSpell(int fd,struct map_session_data *sd) return; skill->autospell(sd,RFIFOL(fd,2)); clif_menuskill_clear(sd); + sd->state.workinprogress = 0; } |