summaryrefslogtreecommitdiff
path: root/src/map/clif.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/clif.c')
-rw-r--r--src/map/clif.c17
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;
}